6 Tổng kết
5.2 Các góc quay của các camera trong tập dữ liệu THD
5.1.3 Tập dữ liệu nhận dạng khuôn mặt đeo khẩu trang
Tập dữ liệu cơng khai về danh tính của những người đeo khẩu trang dùng để kiểm tra khơng nhiều để có thể áp dụng mơ hình huấn luyện và kiểm thử như phần 4.3.2 đã đề cập. Mặt khác, tập dữ liệu THD 5.1.2 cũng khơng chứa đủ hình ảnh để huấn luyện và kiểm thử vì mỗi học sinh chỉ có một bức ảnh. Do đó, nhóm đã tự quay những video về các thành viên để làm dữ liệu cho việc huấn luyện và kiểm thử.
Dữ liệu gồm có 3 video dùng để huấn luyện và 3 video dùng để đánh giá:
• 3 video huấn luyện: mỗi thành viên có một video quay các góc mặt khác nhau của mình. Chi tiết tập dữ liệu huấn luyện như bảng 5.1. Trong mỗi video, thành viên không đeo khẩu trang. Dữ liệu này dùng để huấn luyện cho mơ hình phục hồi mặt [11].
• 3 video kiểm thử: mỗi thành viên có một video quay các góc mặt khác nhau của mình. Chi tiết tập dữ liệu huấn luyện như bảng 5.2. Trong mỗi video, thành viên sẽ đeo khẩu trang. Dữ liệu này dùng để kiểm thử quá trình hoạt động của mơ hình được đề xuất ở 4.3.2.
Các video trong tập dữ liệu này sẽ được cắt ra thành các khung hình và đánh giá độ chính xác của việc nhận diện danh tính của đối tượng khi đeo khẩu trang.
Testcase Số lượng khung hình Độ dài video
Thắng 360 12 giây
Tín 184 6 giây
Tuấn 287 9 giây
Bảng 5.1: Dữ liệu không đeo khẩu trang. Testcase Số lượng khung hình Độ dài video
Thắng 374 12 giây
Tín 126 4 giây
Tuấn 256 8 giây
Bảng 5.2: Dữ liệu có đeo khẩu trang.
5.2 Phát hiện đối tượng
5.2.1 Phát hiện gương mặt có đeo khẩu trang
Có hai loại mơ hình được sử dụng để giải quyết vấn đề phát hiện gương mặt sử dụng khẩu trang. Đó là RetinaFaceMask và Scaled-YOLOv4. Mơ hình RetinaFaceMask đã được hiện thực lại gồm có hai phiên bản là mơ hình có 4 tầng FPN từ P2 đến P5 và một mơ hình chỉ gồm 3 tầng FPN từ P3 đến P5. Mơ hình Scaled-YOLOv4 chỉ gồm một mơ hình duy nhất sử dụng 3 tầng PAN.
Đầu tiên là về mơ hình RetinaFaceMask có 4 tầng FPN từ P2 đến P5. Mơ hình được học với 22 lần lặp. Hệ số học là 10e-3 và momentum là 0.9. Mơ hình được kiểm tra trên tập kiểm thử của tập dữ liệu Face Mask Dataset. Mơ hình cho giá trị lỗi trên tập dữ liệu trên là 0.5298 với Precision và Recall với đối tượng là gương mặt lần lượt là 93.48% và 90.89%. Đối với đối tượng là khuôn mặt sử dụng khẩu trang, Precision và Recall mơ hình đo được là 94.88% và 92.51%. Mỗi ảnh cho thời gian thực thi khoảng 0.16s tương đương 6 PFS.
Tiếp theo, với mơ hình RetinaFaceMask gồm 3 tầng FPN từ P3 đến P5. Mơ hình được học với 50 lần lặp. Hệ số học là 10e-3 và momentum là 0.9. Mơ hình cũng được kiểm tra trên tập kiểm thử của tập dữ liệu Face Mask Dataset. Mơ hình thu được kết quả giá trị lỗi trên tập dữ liệu là 0.5217. Precision, Recall trên đối tượng là gương mặt không sử dụng khẩu trang tương ứng là 94.46% và 90.94%. Với đối tượng là khn mặt có sử dụng khẩu trang, Precision và Recall tương ứng là 94.87% và 92.32%. Mỗi ảnh thực thi với thời gian trung bình là 0.1s, nhanh hơn so với mơ hình trên do số lượng tính tốn ít hơn. Nhưng FPS vẫn ở giá trị thấp, khoảng 10 FPS. Đây vẫn là giá trị tương đối thấp khi ta sử dụng mơ hình trong u cầu thời gian thực.
Cuối cùng, mơ hình Scaled-YOLOv4 gồm 3 tầng PAN được hiện thực. Mơ hình phát hiện này được học với tổng cộng 10000 lần lặp. Hệ số học là 10e-2 với 8000 lần lặp đầu, 10e-3 với 1000 lần học tiếp và 10e-4 với 1000 lần lặp cuối cùng. Momentum được sử dụng là 0.949. Mơ hình được kiểm tra trên cùng tập kiểm thử của Face Mask Dataset. Giá trị lỗi thu được trên tập dữ liệu kiểm thử này là 40.55. Precision, Recall trên các đối tượng là gương mặt không sử dụng khẩu trang lần lượt là 89.47% và 90.4%. Với các gương mặt sử dụng khẩu trang, Precision cùng Recall có giá trị tương ứng là 86.41% và 90.88%. FPS trung bình khi sử dụng trên một video là vào khoảng 40 FPS. Đây là một con số đáp ứng điều kiện thời gian thực rất tốt.
Kết quả so sánh các mơ hình được miêu tả tại 5.3. Ta có thể thấy, với các mơ hình RetinaFaceMask, Precision và Recall của mơ hình đạt được giá trị rất cao. Với kết quả được đề cập trong bài báo RetinaFaceMask,độ chính xác rất tốt, cịn về hiệu suất thì khơng được đề cập đến. Với hai phiên bản 3 tầng FPN và 4 tầng FPN được nhóm hiện thực và huấn luyện đều có Precision cao hơn 2-3% so với bài báo gốc nhưng lại có Recall thấp hơn (2-6%). Hai phiên bản trên cho thấy độ chính xác khơng khác nhau mấy nhưng phiên bản có 4 tầng FPN có hiệu suất kém hơn (6 FPS) so với phiên bản chỉ có 3 tầng FPN (10 FPS). Từ kết quả trên, ta có thể thấy các mơ hình thuộc nhóm RetinaFaceMask có điểm mạnh là độ chính xác rất cao nhưng hiệu suất lại thấp.
Với mơ hình Scaled-YOLOv4 được nhóm hiện thực và huấn luyện, độ chính xác kém hơn so với các mơ hình RetinaFaceMask (3-6%) nhưng vẫn có độ chính xác tương đối, phát hiện các đối tượng ở mức tốt. Về hiệu suất, Scaled-YOLOv4 vượt trội hơn nhiều so với mơ hình RetinaFaceMask (4-6 lần). Điều đó cho thấy với chi phí tính tốn ít hơn nhiều lần, Scaled-YOLOv4 vẫn cho độ chính xác tương đối, khơng kém hơn q nhiều so với RetinaFaceMask. Điều này nói lên Scaled-YOLOv4 là một mơ hình thích hợp ứng dụng vào các bài tốn địi hỏi thời gian thực, chi phí tính tốn ít.
Hệ thống nhóm xây dựng gồm nhiều module khác nhau, kết quả của module này lại là đầu vào cho module khác nên cần các module có hiệu suất cao nhưng độ chính xác phải tương đối tốt. Với nhu cầu đó, sau khi phân tích kết quả hiện thực dựa trên 2 mơ hình RetinaFaceMask và Scaled-YOLOv4, mơ hình Scaled-YOLOv4 phù hợp hơn và được lựa chọn làm bộ phát hiện gương mặt sử dụng khẩu trang trong hệ thống của nhóm.
5.2.2 Phát hiện người trong khung hình
Các mơ hình được sử dụng để phát hiện người xuất hiện trong khung hình cho việc truy vết trên nhiều camera là Faster R-CNN[3] và Mask R-CNN[4].
Với Faster R-CNN[3], đây là phương pháp được bài báo truy vết sử dụng. Mơ hình được học với 12 lần lặp. Hệ số học là 0.00797. Mơ hình được huấn luyện trên tập dữ liệu huấn luyện COCO và kiểm tra trên tập dữ kiểm thử của COCO. Giá trị lỗi trên tập dữ liệu COCO là 0.50224. mAP của Faster R-CNN[3] là 37.4. Hiệu suất của mơ hình trên là 21 FPS. Trọng số của mơ hình trên là trọng số đã được huấn luyện trước (pretrain model). Từ các thơng số trên, ta có thể thấy đây là mơ hình cho độ chính xác khi phát
hiện đối tượng tương đối tốt và hiệu suất khá cao.
Mơ hình Mask R-CNN[4] là phương pháp được nhóm đề xuất thêm để giải quyết vấn đề dữ liệu bị nhiễu bởi các phông nền của khung hình. Mơ hình được huấn luyện với 12 lần lặp. Hệ số học là 0.00797. Mơ hình được huấn luyện và kiểm tra dựa trên tập dữ liệu COCO. Lỗi của mơ hình trên tập dữ liệu COCO là 0.73906. Do đây là mơ hình thực hiện hai nhiệm vụ, gồm có phát hiện đối tượng và phân đoạn nên được đánh giá bằng hai
Model Precision Recall Precision RecallFace Face Mask FPS
RFM-3-FPN 94.46% 90.94% 94.87% 92.32% 10
RFM-4-FPN 93.48% 90.89% 94.88% 92.51% 6
RFM-3-FPN [1] 91.9% 96.3% 93.4% 94.5% None
Scaled-YOLOv4 [2] 89.5% 90.4% 86.4% 90.9% 40
Bảng 5.3: Kết quả hiện thực mơ hình RetinaFaceMask và Scaled-YOLOv4 trên tập dữ liệu Face Mask Dataset.
thông số ứng với từng chức năng. Với việc phát hiện đối tượng, mAP trên tập dữ liệu kiểm tra là 38.2. mAP là 34.7 với tác vụ phân đoạn đối tượng. Hiệu suất của mơ hình là 16 FPS. Mơ hình cho thấy độ chính xác khi phát hiện và phân đoạn đối tương cao cùng với hiệu suất tương đối.
Dựa vào kết quả từ bảng 5.4, mơ hình Mask R-CNN có độ chính xác khi phát hiện đối tượng cao hơn so với Faster R-CNN. Ngồi ra, Mask R-CNN cịn có thể phân đoạn đối tượng tốt so với Faster R-CNN chỉ có thể thực hiện duy nhất một tác vụ phát hiện đối tượng. Do mơ hình ít trọng số hơn và thực hiện ít tác vụ hơn, Faster R-CNN có hiệu suất cao hơn so với Mask R-CNN (cao hơn 5 FPS). Nhưng sự chênh lệch về hiệu suất giữa hai mơ hình lại khơng q đáng kể khi Mask R-CNN có thể thực hiện được đến hai nhiệm vụ. Từ kết quả trên, ta có thể thấy chỉ riêng Faster R-CNN đã có thể phát hiện đối tượng với độ chính xác cao cũng như hiệu suất tốt. Nhưng để giải quyết vấn đề nhiễu dữ liệu ảnh do phơng nền thì mơ hình trên khơng thể giải quyết được. Mask R-CNN với lợi thế có thể phát hiện đối tượng tốt ngang ngửa so với Faster R-CNN và cịn có thể phân đoạn đối tượng, giúp xố đi phơng nền gây nhiễu nhưng hiệu suất chỉ giảm đi một phần nhỏ sẽ rất phù hợp với hệ thống truy vết nhóm đang sử dụng. Đó là lý do nhóm sử dụng Mask R-CNN thay thế cho Faster R-CNN để có thể cải thiện độ chính xác của nhiệm vụ truy vết. Kết quả truy vết khi sử dụng hai mơ hình nói trên sẽ được đề cập tại phần 5.4.
5.3 Nhận diện danh tính đối tượng
Như đã đề cập ở những phần trước, việc nhận diện danh tính đối tượng sẽ có hai tình huống xảy ra là: đối tượng đeo khẩu trang và đối tượng khơng đeo khẩu trang. Nhìn chung, cách tiếp cận hai đối tượng này gần như giống nhau. Việc khác nhau là xây dựng dữ liệu cho đối tượng đeo khẩu trang.
Tập dữ liệu gốc được sử dụng để huấn luyện trong bài viết là MS-Celeb-1M là tập dữ liệu do Microsoft công bố bao gồm 5822653 mẫu dữ liệu khn mặt với 85742 danh tính. Sau khi huấn luyện xong, mơ hình sẽ được kiểm định với ba tập dữ liệu là:
• LFW [64]: Gồm 12000 cặp mẫu ảnh với kích thước 112ì112ì3. ã AgeDB-30 [73]: Gm 12000 cp mu nh vi kớch thc 112ì112ì3. ã CFP-FP [72]: 14000 cp mu nh vi kớch thước 112×112×3.
Hai mơ hình được huấn luyện trên GPU Nvidia GTX2060 6Gb.
5.3.1 Huấn luyện
5.3.1.1 Đối tượng không đeo khẩu trang
Mơ hình huấn luyện cho đối tượng khơng đeo khẩu trang sử dụng hàm tối ưu Stochas- tic Gradient Descent (SGD:) với tham số học khởi động là 5e-4 và momentum là 0.9. Mơ hình được huấn luyện qua 5 lần (epoch) với kích thước bó là 16. Mơ hình phân loại lúc đầu (backbone) được sử dụng là ResNet50 [15]. Kích thước mơ hình là 84,275,584 tham
Model Box mAP Mask mAP FPS
Faster R-CNN 37.4 None 21
Mask R-CNN 38.2 34.7 16
số với 84,217,344 tham số học. Tham số m trong quá trình huấn luyện được cài đặt là 0.5. Kết quả này tiệm cận kết quả được công bố trong bài báo gốc [10].
5.3.1.2 Đối tượng đeo khẩu trang
Sau khi các khuôn mặt đã được cơng cụ MaskTheFace gắn khẩu trang vào, mơ hình sẽ được cài đặt như sau: mơ hình huấn luyện cho đối tượng đeo khẩu trang sử dụng hàm tối ưu SGD: với tham số học khởi động là 5e-4 và momentum là 0.9. Mơ hình được huấn luyện qua 7 lần (epoch) với kích thước bó là 32. Mơ hình phân loại lúc đầu (backbone) được sử dụng là ResNet50 [15]. Kích thước mơ hình là 84,275,584 tham số với 84,217,344 tham số học. Tham số m trong quá trình huấn luyện được cài đặt là 0.5. Kết quả huấn luyện cho mơ hình như trong bảng 5.6. Kết quả này khơng đạt kết quả cao vì đặc trưng khn mặt đã bị che mất.
5.3.1.3 Phục hồi khn mặt
Sử dụng mơ hình của bài báo [11], huấn luyện trên tập CelebA gồm 202600 ảnh khuôn mặt. Những khuôn mặt này sẽ được xóa đi vùng bất kỳ để mơ hình học cách phục hồi chúng. Quá trình huấn luyện được diễn ra trong 40 epoch với batch size là 16 ảnh và learning rate là 2e-4, được giảm đi 5 lần với mỗi 10 epoch. Sau khi huấn luyện xong mơ hình này, sẽ lấy trọng số đã học tiếp tục đi huấn luyện cho những khuôn mặt cần được phục hồi.
5.3.2 Kiểm thử
5.3.2.1 Đối tượng không đeo khẩu trang
Khi kiểm thử với những dữ liệu đã thu thập ở 5.1.2, kết quả trả về bị nhiễu rất nhiều do việc đi xuống từ cầu thang, khuôn mặt ở những vùng này sẽ rất nhỏ, cùng với đó, việc di chuyển, cười nói, làm cho khn mặt thêm phần khác so với ảnh gốc. Mặt khác, việc thu thập dữ liệu ảnh gốc của khuôn mặt gặp nhiều vấn đề do học sinh tự chụp, nên sẽ bị thiếu sáng, chói sáng, và có thể dùng các ứng dụng chỉnh sửa hình ảnh làm cho hình ảnh khơng được rõ ràng. Do đó, nhóm đề xuất sẽ giới hạn khu vực lấy khuôn mặt với bounding box ở 5.2 đạt tiêu chuẩn về kích thước là diện tích sẽ lớn hơn hoặc bằng 4% diện tích khung hình. Điều này đảm bảo những khuôn mặt lọt vào máy quay dùng để đánh giá có chất lượng tương đối.
• Tập dữ liệu THD: kết quả kiểm thử trên tập THD thể hiện ở bảng 5.7. Kết quả của Testcase 1 gồm 1 người trong khung hình đạt kết quả khá ổn với kết quả cao nhất sẽ được đồng bộ cả quá khứ và tương lai là chính xác. Tuy nhiên, khi đến Testcase 2, kết quả ra khá tệ. Nhóm đã có tìm hiểu ngun nhân và phát hiện ra là những người xuất hiện trong trường hợp này đều cung cấp những khuôn mặt dữ liệu gốc
Tập dữ liệu Độ chính xác huấn luyện
LFW [64] 99.35%
AgeDB-30 [73] 95.03%
CFP-FP [72] 90.36%
Tập dữ liệu Độ chính xác huấn luyện
LFW [64] 80.78%
AgeDB-30 [73] 66.93%
CFP-FP [72] 65.51%
Bảng 5.6: Kết quả quá trình huấn luyện cho đối tượng đeo khẩu trang. Testcase Số lượng ảnh đánh giá Độ chính xác danh tính
Testcase 1 43 60.47%
Testcase 2 29 3.44%
Bảng 5.7: Kết quả đánh giá định danh trên tập THD. Testcase Số lượng ảnh đánh giá Độ chính xác danh tính
Thắng 360 62.78%
Tín 184 53.26%
Tuấn 255 100%
Bảng 5.8: Kết quả đánh giá định danh của nhóm. Testcase Số lượng ảnh đánh giá Độ chính xác danh tính
Thắng 374 14.17%
Tín 126 80.95%
Tuấn 184 59.78%
Bảng 5.9: Kết quả đánh giá định danh khi đeo khẩu trang của nhóm.
tiêu chuẩn kém, nên q trình nhận diện khơng đạt hiệu quả. Do đó, nhóm đã kiểm tra mơ hình lại bằng cách lấy dữ liệu khn mặt khơng đeo khẩu trang của 3 thành viên ở 5.1.3 để kiểm thử.
• Tập dữ liệu nhận dạng khn mặt đeo khẩu trang: tận dụng dữ liệu có sẵn về khn mặt khơng đeo khẩu trang của các thành viên, sử dụng dữ liệu này để kiểm thử mơ hình và đạt được kết quả như bảng 5.8. Có thể thấy, kết quả trên ổn hơn nhiều so với kết quả của tập THD. Tuy nhiên, ở hai trường hợp đầu (Thắng, Tín), kết quả khơng cao vì mơ hình học một lần và trong video, khn mặt chuyển động rất nhiều góc, do đó, số lượng góc mặt thẳng, trực diện với máy quay ít hơn so với số lượng ảnh mặt xoay.
5.3.2.2 Đối tượng đeo khẩu trang
Đối với những đối tượng đeo khẩu trang, trong tập dữ liệu thực tế chưa có dữ liệu đủ chất lượng để nhận diện vì những đối tượng này di chuyển nhanh và khơng đủ thiết bị để có thể bắt cận mặt để có kết quả tốt nhất. Do đó, việc đánh giá đối tượng đeo khẩu