Введение 3
Постановка задачи 5
Обзор литературы 6
Термины 7
Глава 1. Оценки производительности и точности 8
1.1. Точность и полнота 8
1.2. Пересечение по объединению 9
1.3. Mean Average Precision 10
Глава 2. Подходы к решению задачи 11
2.1. Алгоритмы на основе предположений регионов 11
2.2. Алгоритмы обрабатывающие изображение целиком 11
Глава 3. Алгоритмы, основанные на предположении регионов 13
3.1. Сверточная нейронная сеть 13
3.2. R-CNN 13
3.3. Fast R-CNN 15
3.4. Faster R-CNN 17
Глава 4. YOLO 19
4.1. Описание алгоритма 19
4.2. Описание архитектуры нейросети 21
4.3. YOLOv2 21
Глава 5. Модификация YOLO для задачи автопилота 23
Заключение 29
Приложения 30
Список литературы 34
На сегодняшний день человечество шагнуло далеко вперед - появляется все больше сфер, где работа человека заменяется искусственным интеллектом.
Причин на то много: монотонность труда, человеческий фактор, неспособность конкурировать по скорости реакции, а в некоторых случаях неприспособленность нашего организма, наших органов чувств для работы в нестандартных ситуациях.
Например, управление автомобилем в условиях недостаточной видимости (тумана, снегопада, сумерек) может привести к дорожно-транспортным происшествиям, автопилот же может использовать лидары и различные датчики, чтобы «видеть сквозь осадки», при этом также не может быть ослеплен ярким солнцем. Уже сейчас существуют автомобили, способные управлять автомобилем на шоссе, с хорошей разметкой и видимостью дороги. В скором будущем автопилот будет управлять автомобилем безопаснее и лучше, чем человек. К тому же, автопилот может связываться с облачными сервисами и использовать данные для прокладки маршрута, избегая заторов на дорогах, поиска парковочного места и многое другое.
Одной из важнейших задач для реализации автопилота, является анализ изображения, а точнее - онлайн обработка видеопотока с камеры.
На сегодняшний день актуальной задачей в области цифровой обработки изображений является обнаружение и классификация объектов, которая подразумевает собой заключение объектов в обрамляющие окна и присвоение класса. При достижении высокой скорости работы алгоритма можно приблизиться к обработке видеопотока, представленного в виде набора последовательных изображений.
Результаты достижений в этой сфере широко применяются в разработке программного обеспечения для автопилотируемых технических средств, летательных аппаратов, всевозможных «ассистентов водителя», систем фиксации нарушения ПДД и во многих других направлениях.
Например, в дипломной работе Кулинкина А. Б. «Нейросетевое детектирование объектов в условиях ограниченного времени.» рассмотрена задача обнаружения предметов гардероба на изображении [1].
На мой взгляд, наиболее интересными и востребованными направлениями являются автопилот, «ассистент водителя» и анализ изображения с камер видеонаблюдения, которые требуют нахождения различных объектов с такими классами, как пешеход, автомобиль, мотоцикл, велосипед, светофор, дорожные и номерные знаки.
В ходе работы были изучены алгоритмы обнаружения и классификации объектов на изображении. Алгоритм YOLO обучен для новых классов, полезных для задачи автопилота. Алгоритм показывает хорошие результаты работы онлайн, оставаясь точным, что дает возможность обрабатывать видеофрагменты. Выполнена обработка видеофрагмента и видеопотока с веб-камеры. Больше примеров работы обученного на наших классах алгоритма YOLO можно увидеть в Приложении 3. Промежуточные результаты работы оформлены в виде научной статьи и будут опубликованы в одном из периодических изданий, входящих в Российский индекс научного цитирования.
1. Кулинкин А. Б., Смирнов Е. А. Нейросетевое детектирование объектов в условиях ограниченного времени // Процессы управления и устойчивость. 2016. Т 3.1. С. 419-424.
2. Girshick R. Fast R-CNN. https://arxiv.org/pdf/1504.08083
3. Shaoqing Ren S., He K., Girshick R., Sun J. Faster R-CNN. https://arxiv.org/pdf/1506.01497
4. The PASCAL VOC Challenge. http://www.frontiersincomputervision.com/slides/ FCV_Dataset_Zisserman_2.pdf
5. The PASCAL VOC Challenge. http://arkitus.com/files/ijcv-14-everingham-pascal.pdf
6. Microsoft COCO: Common Objects in Context . http://arxiv.org/abs/1405.0312
7. Redmon J., Divvala S., Girshick R., Farhadi A. You Only Look Once: Unified, Real-Time Object Detection. https://arxiv.org/pdf/1506.02640
8. Redmon J., Farhadi A. YOLO9000: Better, Faster, Stronger. https://arxiv.org/pdf/1612.08242
9. Yolo Convolutional Neural Networks. https://github.com/AlexeyAB/darknet
10. Using 3D Graphics to Train Object Detection Systems. https://brage.bibsys.no/xmlui/bitstream/handle/11250/2418432/14189 _FULLTEXT.pdf
11. YOLO: Real-Time Object Detection. https://pjreddie.com/darknet/yolo/
12. Uijlings J., K. van de Sande, Gevers T., Smeulders A. Selective Search for Object Recognition. https://ivi.fnwi. uva.nl/isis/publications/2013/ UijlingsIJCV2013/UijlingsIJCV2013.pdf
13. Szegedy C., Reed S., Erhan D., Anguelov D., Ioffe S. Scalable, High-Quality Object Detection. https://arxiv.org/pdf/1412.1441
14. Ioffe S., Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. https://arxiv.org/pdf/1502.03167
15. Darknet. https://pjreddie.com/darknet/
...