Detekce správně nasazené obličejové masky

Abstract
Tato diplomová práce se zabývá problematikou detekce korektně nasazené obličejové masky pomocí systémů umělých neuronových sítí. Cílem práce bylo vybrat vhodný model neuronových sítí pro tuto úlohu a sestavit dataset pro jeho natrénování. Konečným cílem bylo použití natrénovaného modelu v jednoduché demonstrační aplikaci, která prokazuje použitelnost metody. Objektové třídy, které model rozeznává, jsou: maska nenasazena, správně nasazená maska a nesprávně nasazená maska. Zvoleným modelem je YOLOv4-CSP, které je trénováno na spojení datasetů FMLD a Kaggle FMD. YOLOv4-CSP na testovacím datasetu dosahuje 0.866 mAP@0.5 a 0.555 mAP@0.5:0.95 podle MS COCO vyhodnocovacích metrik. Detekční schopnosti modelu jsou dostatečné pro použití v demonstrační aplikaci, ovšem detekce objektové třídy: nesprávně nasazená maska, není ideální a model ji často zaměňuje za třídu: maska nenasazena. Demonstrační aplikace je implementována jako webové rozhraní, ve kterém klient odesílá serveru snímky z webkamery, přičemž je server odpovědný za detekci a vyhodnocení výsledků. Aplikace navíc obsahuje rozhraní pro prezentaci zaznamenaných detekcí nenasazené nebo špatně nasazené masky. Pro získání těchto výsledků je aplikován další algoritmus umělých neuronových sítí pro rozpoznávání tváří tak, aby uživatel nebyl zahlcen přemírou výsledků pro stejnou osobu. V konečné formě aplikace dosahuje stabilní rychlosti 14.29 FPS na NVIDIA GeForce GTX 1060 6GB, Intel Core i5-8400 s použitím vývojového serveru Flask. Tato rychlost byla vyhodnocena jako dostatečná pro prokázání vhodnosti zvolené metody k řešení problému detekce správně nasazené obličejové masky v potenciálním produkčním prostředí. I přes to ovšem aplikace není na podobný úkol navržená a bylo by nutné její implementaci odladit na konečném prostředí.
This thesis deals with the problem of detecting a correctly worn face mask using artificial neural network systems. The aim of the thesis was to select a suitable neural network model for this task and to build a dataset to train it. The final goal was to use the trained model in a simple demonstration application to prove the applicability of the method. The object classes that the model recognizes are: correctly worn mask, incorrectly worn mask and face without mask. The chosen model is YOLOv4-CSP, which is trained on a fusion of FMLD and Kaggle FMD datasets. YOLOv4-CSP achieves 0.866 mAP@0.5 and 0.555 mAP@0.5:0.95 on the test dataset according to MS COCO evaluation metrics. The detection capabilities of the model are sufficient for use in the demonstration application, however, the detection of object class: incorrectly worn mask is not ideal and the model often confuses it with class: face without mask. The demonstration application is implemented as a web interface in which the client sends webcam images to the server, with the server being responsible for detecting and evaluating the results. In addition, the application includes an interface for presenting the recorded detections of an face without mask or incorrectly worn mask. To obtain these results, an additional artificial neural network algorithm for face recognition is applied so that the user is not overwhelmed by the overload of results for the same person. In its final form, the application achieves a stable 14.29 FPS on an NVIDIA GeForce GTX 1060 6GB, Intel Core i5-8400 using the Flask development server. This speed was evaluated as sufficient to demonstrate the suitability of the chosen method to solve the problem of detecting a correctly fitted face mask in a potential production environment. Despite this, however, the application is not designed for such a task and would need to be debugged for implementation in the final environment.
Description
Subject(s)
Umělé neuronové sítě, detekce objektů, obličejová maska, detekce obličejové masky, rozpoznávání obličejů, YOLOv4, Scaled YOLOv4, YOLOv4-CSP
Citation
ISSN
ISBN