Введение 4
Цель и задачи работы 8
Обзор литературы 9
Глава 1. Набора данных 10
1.1. Набор данных для задачи детектирования 10
1.2. Набор данных для задачи классификации 11
Глава 2. Модели 14
2.1. Двухуровневые детекторы 14
2.2. YOLO 14
2.2.1 Архитектура YOLOv5 18
2.2.2 Функция потерь YOLO 19
2.3. Оценка качества модели 21
2.4. Метрика LIoU и ее производные 25
2.5. Классификатор MobileNetV2 28
2.5.1 Эффективные сверточные блоки 28
2.5.2 Архитектура 30
2.6. Аугментация 31
2.7. Перенос обучения 32
Глава 3. Эксперименты и результаты 33
3.1. Параметры обучения 33
3.2. Решение на базе YOLOv5 33
3.2.1 Результаты и валидация 33
3.2.2 Параметры аугментации 34
3.2.3 Модификации функции потерь 36
3.2.4 Анализ результатов YOLOv5 37
3.3. Классификатор 39
3.3.1 Обучение MobileNetV2 41
3.4. Объединение YOLO и MobileNetV2 41
3.4.1 Принцип работы 43
3.4.2 Выводы 44
Заключение 46
Список литературы 47
Курение — социальная проблема: важной задачей общества сегодня является не допустить того, чтобы число курильщиков росло, особенно среди детей и подростков. Согласно исследованиям ученых из Калифорнийского университета в Сан-Франциско (UCSF) [23], несмотря на существующие ограничения, количество сцен с курящими людьми в кино постепенно увеличивается, что действует как пропаганда курения и провоцирует рост числа курящих среди молодой аудитории. По соображениям учёных, чем чаще подростки видят курящих персонажей на экране, тем выше вероятность того, что они сами начнут курить.
Одной из мер по борьбе с ростом числа курильщиков, в том числе среди несовершеннолетних, является цензурирование визуального контента в интернете и на ТВ: фильмы со сценами курения как в России, так и в мире имеют более высокие возрастные ограничения, содержат специальные текстовые предупреждения о демонстрации курения и о его вреде. Некоторые прокатчики пошли дальше: они используют инструменты для закрашивания той небольшой части кадра, которая содержит сигарету или другое устройство для потребления никотина. Поиск и закрашивание таких областей обычно выполняется вручную покадрово, что сильно усложняет задачу ввиду потенциально большого объема работы.
Другим местом, где несовершеннолетние могут столкнуться с демонстрацией курения, являются социальные сети. В таких соцсетях, как Facebook, уже существует механизм автоматического распознавания потенциально неприемлемого контента — сцен насилия, жестокого обращения с животными и так далее. Изображения, содержащие сигареты или другие курительные предметы, также могут быть отнесены к категории потенциально неприемлемого контента.
Данная работа посвящена автоматизации поиска сигарет на изображениях (или кадрах). Детектирование объектов — задача, в рамках которой необходимо найти и выделить все объекты на изображении из множества заранее известных классов посредством нахождения координат их ограничивающих рамок и классификации контента внутри них. Детектирование — второй по популярности тип задач компьютерного зрения после классификации. Его отличает относительная простота, так как обучение проходит с учителем, а самые современные модели позволяют достигнуть высокой точности даже в системах реального времени.
Научных работ, связанных с детектированием на изображениях именно сигарет, в ходе работы обнаружено не было, однако существуют работы, посвященные более широкой области — курению. Некоторые подходы пытаются найти дым и определить цвет его источника. В рамках другого подхода для детектирования курения используется дополнительная нейронная сеть для поиска на изображении областей интереса — лиц и кистей рук, — после чего стоит задача обнаружить сигарету или нечто подобное внутри каждой области. Такой подход ведет к уменьшению ошибок первого рода (то есть помогает не пропускать сигареты на изображениях), но при работе с сигаретами могут возникнуть две основные сложности:
1. наличие предметов, похожих на сигарету — ручек, трубочек, белых полосок и пр., которые может быть трудно отличить даже человеку;
2. хотя сигареты, как правило, одной формы, может использоваться не только белая, но и цветная бумага.
В рамках работы для решения задачи детектирования сигарет используются общие подходы решения такого класса задач — обучение модели (YOLOv5), которая будет предсказывать ограничивающие рамки. А для того, чтобы сигареты и посторонние предметы внутри предсказанных рамок были правильно классифицированы, предлагается использование дополнительной модели для классификации контента внутри предсказанных ограничивающих рамок. Классификатор не помогает найти другие объекты на изображении, однако способствует отсеиванию заведомо неверно классифицированных объектов — ручек, трубочек, белых полосок и пр. Таким образом, модель уменьшает количество ошибок второго рода, что может быть актуально при затратных операциях по закрашиванию обнаруженных областей. Предложенный подход имеет ряд преимуществ:
• дополнительные данные проще собрать;
• сигареты на дополнительных данных более разнообразны;
• изображения не требуют выделения объектов на них, для них необходима лишь метка класса;
• при обучении бинарного классификатора используются также данные класса «не сигарета», в который входят ручки, белые полоски и прочие объекты, похожие на сигареты.....
В выпускной квалификационной работе:
1. Проведен поиск и разметка изображений, содержащих сигареты, а также из них составлен набор для обучения, валидации и проверки решения;
2. Выбрана и обучена модель детектирования на собранных данных;
3. Протестированы современные подходы искусственного дополнения исходного набора данных;
4. Произведены сравнения несколько подходов к определению функции потерь при обучении модели детектирования;
5. В модель детектирования встроен модуль классификации для уменьшения ошибок второго рода.
[1] J. Yu, Y. Jiang, Z. Wang, Z. Cao, T. Huang «UnitBox: An Advanced Object Detection Network». arXiv:1608.01471v1, 2016.
[2] S. Kosub «A note on the triangle inequality for the jaccard distance». arXiv preprint arXiv:1612.02696, 2016.
[3] H. Rezatofighi, N. Tsoi, J. Gwak, A. Sadeghian, I. Reid, S. Savarese «Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression ». arXiv:1902.09630, 2019.
[4] Z. Zheng, P. Wang, W. Liu, J. Li, R. Ye, D. Ren «Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression». The AAAI Conference on Artificial Intelligence, 2020.
[5] Z. Zheng, P. Wang, D. Ren, W. Liu, R. Ye, Q. Hu, W. Zuo «Enhancing Geometric Factors in Model Learning and Inference for Object Detection and Instance Segmentation». IEEE Transactions on Cybernetics, doi: 10.1109/TCYB.2021.3095305, 2021.
[6] Ali Khan «Dataset Containing Smoking and Not-Smoking Images (Smoker vs Non-Smoker)». https://data.mendeley.com/datasets/7b52hhzs3r71, 2020.
[7] M. Everingham, L. V. Gool, Ch. K. I. Williams, J. Winn, A. Zisserman, «The PASCAL Visual Object Classes (VOC) Challenge». International Journal of Computer Vision, 2010.
[8] S. Ioffe, C. Szegedy «Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift», eprint arXiv:1502.03167
2015.
[9] K. He, X. Zhang, S. Ren, J. Sun «Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition», eprint arXiv:1406.4729, 2015.
[10] B. Alexey, W. Chien-Yao, L. Hong-Yuan Mark «YOLOv4: Optimal Speed and Accuracy of Object Detection», eprint arXiv:2004.10934, 2019.
[11] Shorten, C., Khoshgoftaar, T.M. «A survey on Image Data Augmentation for Deep Learning» J Big Data https://doi.org/10.1186/s40537-019-0197-0, 2019.
[12] Jia D, Wei D, Richard S, Li-Jia L, Kai L, Li F-F. «ImageNet: a large-scale hierarchical image database», In: CVPR09, 2009.
[13] Karl W, Taghi MK, DingDing W. «A survey of transfer learning», J Big Data,
2016.
[14] Shao L. «Transfer learning for visual categorization: a survey», IEEE Trans Neural Netw Learn Syst, 2015.
[15] https://pytorch.org/vision/stable/transforms.html....25