0
Tải bản đầy đủ (.pdf) (44 trang)

Xây dựng phần phát hiện khẩu trang

Một phần của tài liệu BÁO CÁO CUỐI KỲ MÔN HỌC MACHINE LEARNING FACE VERIFICATION BY SIAMESE NETWORK AND MASK DETECTION. (Trang 36 -41 )

CHƯƠNG 4: XÂY DỰNG MODEL 4.1 Xây dựng phần xác minh gương mặt

4.2. Xây dựng phần phát hiện khẩu trang

4.2.1. Khái quát phương pháp

Sau khi xây dựng model trên tập train và nó đã thực thi tốt trên tập test, thì ta sẽ lấy phần mạng của model ra với ngõ vào là 1 ảnh có kích thước (112,92,1) và ngõ ra là một vector nhúng có chiều là 1000, từ mạng này tôi sẽ ghép nối với một vài hidden layer với ngõ ra bây giờ sẽ là lớp sigma nếu các bạn muốn binary classification, còn nếu ta có nhiều class thì ngõ ra của ta sẽ dùng hàm softmax. Tổng quan toàn bộ model như hình vẽ bên dưới đây:

Sau khi đã có được vector nhúng ở ngõ ra của mạng CNN, tôi sẽ đưa qua một vài lớp hidden layer ở ngõ ra tôi sẽ sử dụng lớp sigma cho việc phát hiện khẩu trang hay không, nếu có mang khẩu trang thì tương ứng với ngõ ra là 1 ta sẽ không làm gì cả và sẽ đưa thông báo để bỏ khẩu trang xuống. Nếu ngõ ra của ta là 0 tương ứng với việc không mang khẩu trang thì ta sẽ quay ngược lại ngõ ra của mạng CNN của ta lấy vector nhúng để đem đi tính toán cho mục đich xác minh gương mặt.

4.2.2. Dataset

Dữ liệu dành cho việc xây dựng phần phát hiện khẩu trang tôi thu thập tổng cộng gồm có 3833 ảnh, bởi vì kích thước của các bức ảnh khác với kích thước ngõ vào của mạng tôi đã xây dựng, nên tôi sẽ resize ảnh về kích thước (112,92,1) phù hợp với mạng. Trong 3833 ảnh đó tôi lấy 60% cho tập train, 20% cho tập validation, và 20% cho tập test. Ngoài ra tôi còn sử dụng tăng cường ảnh bằng hàm ImageDataGeneration của thư viện tensorflow để cho tập dữ liệu của tôi trở nên phong phú hơn.

4.2.3. Xây dựng mạng

Tiếp theo tôi sẽ ghép ngõ ra với một lớp hidden layer có 500 neural, ở ngõ ra để mang tính tổng quát tôi sử dụng hàm softmax cho việc phát hiện có khẩu trang hay không.

Sau khi việc xây dựng hoàn thành, model tổng quát của tôi sẽ gồm mạng CNN lúc đầu và những lớp mà tôi mới xây dựng:

4.2.4. Train model và đánh giá

Với model đã xây dựng, tôi sẽ đóng băng những trọng số của mạng CNN ban đầu cho phần xác minh, nên tổng các tham số cho phần phát hiện khẩu trang gồm 501,502. Tôi train mạng với epoch =100, learning-rate = 0.001, batch-size =32 và có sử dụng ImageDataGeneration để tăng cường ảnh.

Thời gian cho mỗi epoch rơi vào khoảng 9-10s. Dưới đây là biểu đồ về loss giữa tập train và validation:

số có giá trị tốt. Tiếp theo tôi đánh giá model của mình trên tập test để xem model có hoạt động tốt không, giá trị loss và accuracy được biểu hiện như hình bên dưới:

Giá trị accuracy = 72%, giá trị này tạm có thể chấp nhận được đối với quá trình nghiên cứu xây dựng model của tôi, bởi vì có nhiều thao tác như đóng băng tham số lẫn mạng CNN lúc đầu vẫn chưa phải là cách giải quyết tốt nhất nên nó sẽ làm cho phần phát hiện ở phía sau có độ chính xác không cao.

Một phần của tài liệu BÁO CÁO CUỐI KỲ MÔN HỌC MACHINE LEARNING FACE VERIFICATION BY SIAMESE NETWORK AND MASK DETECTION. (Trang 36 -41 )

×