Независимо от того, носите ли вы маску или респиратор для работы в медицине, на производстве или в качестве представителя общественности, использование и правильное расположение маски имеют важное значение для максимальной защиты.

Теперь, с распространением COVID-19, во многих местах (например, в аэропортах, на рабочих местах и ​​т. д.) требуется носить маски и правильно надевать их на нос и рот. Чтобы помочь обнаружить и обеспечить соблюдение этих требований, мы решили создать модель распознавания изображений в PerceptiLabs, которая могла бы классифицировать различные способы ношения масок людьми. Затем подобную модель можно использовать на контрольно-пропускных пунктах, входах и в других местах, чтобы помочь персоналу или властям выявлять лиц, которые не соблюдают правила ношения масок в своих организациях.

Набор данных

Для обучения нашей модели мы взяли Базу данных Ways To Wear a Mask or a Respirator Database (WWMR-DB), которая содержит изображения людей в масках, как показано на рисунке 1.

Набор данных состоит из изображений .jpg, разделенных на восемь классов, изображающих наиболее распространенные способы ношения масок или респираторов.

Исходный набор данных был разделен на ряд подкаталогов в зависимости от лиц, носящих маски. Чтобы сделать процесс более плавным и совместимым с PerceptiLabs, мы упростили это, создав восемь подкаталогов, соответствующих восьми классификациям, а затем переместили соответствующие изображения в соответствующие подкаталоги. Затем размер каждого изображения был изменен до 224x224 пикселей с помощью функции изменения размера в Мастере данных PerceptiLabs.

Чтобы сопоставить классификации с изображениями, мы создали файл .csv (mask_log.csv), который связывает каждый файл изображения с числовой меткой для использования при загрузке данных с помощью мастера данных PerceptiLabs:

0: маска над подбородком

1: маска надета правильно

2: маска свисает с уха владельца

3: маска не надевается

4: маска на лоб

5: маска на кончике носа

6: маска под подбородком

7: маска под нос

Ниже приведен частичный пример того, как выглядит файл .csv:

Обзор модели

Наша модель была построена всего из трех Компонентов:

Компонент 1: InceptionV3, include_top=no

Компонент 2: Плотный, Активация = ReLU, Нейроны = 128

Компонент 3: Плотный, Активация=Softmax, Нейроны=8

Обратите внимание, что хотя InceptionV3 требует, чтобы изображения были размером 229 x 229 пикселей, установка для параметра include_top значения no позволяет использовать изображения других размеров (например, 224 x 224 пикселя).

Обучение и результаты

Мы обучили модель с 20 эпохами партиями по 32, используя оптимизатор ADAM, скорость обучения 0,001 и функцию потери кросс-энтропии. На рис. 3 показано представление статистики PerceptiLabs во время обучения.

При времени обучения около 34 минут 28 секунд мы смогли достичь точности обучения 99,4 % и точности проверки 77,1 %. Более низкая точность проверки отражает сложность обучения моделей на лице. данные, связанные с обнаружением

На следующем снимке экрана (рис. 4) от PerceptiLabs вы можете увидеть, как точность проверки обучения увеличивалась в течение первых шести или около того эпох, после чего она оставалась довольно стабильной. Обучение в основном увеличивалось в течение первых нескольких эпох и колебалось примерно до 14-й эпохи, прежде чем стабилизироваться:

На следующем снимке экрана, показанном на рисунке 5, показаны соответствующие потери во время обучения и проверки для первых 14 эпох:

Здесь мы видим, что потери при обучении значительно снизились в течение первой эпохи перед стабилизацией, в то время как потери при проверке сначала были низкими и оставались относительно стабильными на протяжении всего периода.

Вертикальные приложения

Подобная модель может использоваться в целях безопасности или охраны здоровья и обеспечения безопасности, чтобы гарантировать, что у работников или посетителей есть маска и что они правильно надели ее перед доступом. Например, модель можно использовать для анализа фотографий или видеокадров, полученных с камер наблюдения на месте. Сама модель также может быть использована в качестве основы для переносного обучения для создания дополнительных моделей для обнаружения наличия и правильного использования других типов оборудования для обеспечения здоровья или безопасности.

Сводка

Этот вариант использования является примером того, как распознавание изображений можно использовать для обеспечения здоровья и безопасности. Если вы хотите построить подобную модель глубокого обучения, запустите PerceptiLabs и скачайте копию нашего файла .csv с GitHub.