Введение 3
Глава I. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1 Область применения компьютерного зрения 5
1.2 Анализ аналогов систем содействия водителю - ADAS 6
1.2.1 Система содействия водителю компании Nissan 7
1.2.2 Функция полуавтоматического вождения компании Tesla 8
1.2.3 Беспилотный автомобиль компании Google 9
1.3 Постановка задачи 10
1.4 Задача распознания дорожной сцены в компьютерном зрении 12
1.5 Ошибки детектирования 14
Глава II. РАЗРАБОТКА АЛГОРИТМОВ РАСПОЗНАВАНИЯ ДОРОЖНОЙ СЦЕНЫ 22
2.1 Выбор библиотек разработки 22
2.2 Нейронные сети для детектирования окружающих объектов 24
2.3 Приемы, применяемые при построении нейронной сети 30
2.3.1 Оптимизаторы сети 30
2.3.2 Батч-нормализация (batch normalization) 31
2.3.3 Ранняя остановка 32
2.4 Архитектуры сверточных нейронных сетей 37
2.4.1 Google Inception v3 43
2.4.2 ResNet101 46
2.4.3 Inception-ResNet-v2 49
2.5 Виртуальные среды в глубоком обучении 52
Глава III. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММНОГО СРЕДСТВА 56
3.1 Требования, предъявляемые к программному средству 56
3.2 Детектор дорожной полосы 57
3.3 Обучающая выборка 67
3.4 Детектор объектов 68
3.5 Структура программного средства 71
3.6 Интерфейс пользователя 77
Глава IV. ПРОВЕДЕНИЕ ТЕСТОВЫХ ИСПЫТАНИЙ 81
4.1 План тестирования 81
4.2 Программа и методика испытаний 81
4.3 Результаты работы приложения 83
ЗАКЛЮЧЕНИЕ 86
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 88
ПРИЛОЖЕНИЕ 91
Сегодня системы фотонаблюдения и видеонаблюдения встречаются повсеместно, они активно используются для решения задач, как повседневной жизни, так и военного назначения. В связи с этим встает задача хранения и обработки, полученной от таких систем информации, которая может быть представлена в виде изображений или видеоданных. Эту задачу решает новая технология - компьютерное зрение.
Компьютерное зрение - это теория и технология, с помощью которой возможно получать информацию из изображений или видеоданных. Одна из задач, решаемых этой предметной областью - обнаружение объектов на изображении. На данную тему написано множество работ, однако до сих пор нет универсального аналитического решения, каждая из работ отталкивается от определенных условий: освещенность, класс объекта, область применения и другое. На сегодняшний день компьютерное зрение как наука находится на начальном этапе своего становления, машины еще не способны анализировать изображения и извлекать из них ту же информацию, что и человек: детектировать все объекты и определять класс объекта. Однако, несмотря на это компьютерное зрение уже востребовано в различных областях, таких как контроль производственных процессов, робототехника, исследование Земли из космоса, медицина. Компьютерное зрение также активно применяется в системах, встраиваемых в автотранспортные средства с целью анализа дорожного движения. Задача таких систем - помогать водителю автотранспорта своевременно реагировать на возникшее на пути препятствие, и таким образом, снизить число аварий.
Подобные системы называются Advanced Driver Assistance Systems (далее - ADAS), что переводится как современные системы содействия водителю. Системы содействия водителю можно разделить на два типа. Первые выполняют функции, помогающие водителю избежать аварии, то есть предоставляют активную безопасность. Вторые системы помогают только уменьшить последствия аварии, то есть обеспечивают пассивную безопасность. Все больше автопроизводителей встраивают такие системы в новые модели, чтобы сделать вождение более удобным и безопасным.
Разработка высокотехнологичных средств для предотвращения дорожно-транспортных происшествий является одной из самых перспективных и эффективных мер по сокращению количества автомобильных аварий, что доказывает актуальность данной задачи.
Цель исследования - разработка и реализация современной системы содействия водителю автомобиля, распознающую дорожную сцену, её имплементация и исследование применительно к задаче детектирования объектов на кадре видеоряда, полученного с движущегося автотранспортного средства в реальном времени.
Объектом исследования являются изображения, полученные из видеоряда с бортовой камеры автотранспорта в процессе его движения.
Предметом исследования являются алгоритмы и инструменты детектирования объектов на изображении.
Задачи исследования:
• Изучение литературы по глубокому обучению, сверточным нейронным сетям, машинному обучению, обработке изображений, обработке видео, методам поиска объектов на видео и изображении;
• Исследование алгоритмов для детектирования объектов;
• Разработка модели системы содействия водителю автомобиля;
• Реализация компьютерной программы по разработанной модели;
• Проведение экспериментального исследования влияния параметров модели на её точность и время отклика.
Цель данной работы - на основе исследования методов и алгоритмов нахождения объектов на видеопоследовательностях осуществить разработку современной системы содействия водителю автомобиля и реализующего её программного средства детектирования окружающих объектов с движущегося автотранспортного средства в реальном времени.
В первом разделе работы были рассмотрены история развития предметной области - компьютерное зрение, аналоги решаемой задачи - это системы содействия водителю (ADAS), поставлена задача исследования, а также было определено понятие ошибки детектирования.
Во втором разделе было проведено исследование существующих нейросетевых алгоритмов обнаружения окружающих объектов. Были выбраны библиотеки разработки, изучены приемы, применяемые при построении нейронных сетей, а также рассмотрены лучшие современные архитектуры сверточных нейронных сетей Google Inception v3, ResNet101 и Inception-ResNet- v2. Также была раскрыта тема применения виртуальных сред для обучения и тестирования моделей компьютерного зрения.
В третьем разделе были выдвинуты требования, предъявляемые к программному средству. С помощью методов компьютерного зрения был разработан детектор дорожной полосы, а благодаря библиотеки TensorFlow Object API был реализован детектор объектов обеспечивающий правильный баланс скорости и точности. Проведен сравнительный анализ глубоких сетей. По итогам исследования было выявлено, что наилучшие результаты достигаются на сверхглубоких сетях архитектуры ResNet. Детектор основанный на структуре Faster R-CNN + ResNet101 занял 18 место в рейтинге COCO Detection Challenge
2017. Также в разделе описана компьютерная модель программного средства, реализующего разработанный алгоритм, в него входит описание структуры и пользовательского интерфейса.
Четвертый раздел содержит описание тестовых испытаний. В нем приведены примеры результатов работы программного средства на множестве видеорядов. Во-первых, это видеоролики из реального мира (видео из интернета, видеозаписи с видеорегистратора), а во-вторых - это видеопоследовательности, полученные из виртуального мира GTA V. Были подсчитаны количественные метрики оценки качества работы разработанной системы содействия водителю автомобиля: общая производительность и частная производительность.
Тестирование показало, что программное средство более успешно работает на видеопоследовательностях с видеорегистратора, этот результат является верным, так как обучающая выборка, на которой обучена сверточная нейронная сеть, включает в себя изображения сложных повседневных сцен, содержащих объекты в естественной среде. Полученные значения метрик для видеоряда с видеорегистратора 91 % точности и 166 мс на обработку одного кадра, что является отличным результатом.
Существует несколько подходов, которые позволили бы достичь ещё лучших результатов. Для обнаружения съезда с дорожной полосы - применение сверточных нейронных сетей для сегментации дорожного полотна и дальней обработки. Применение сенсорных систем (LIDAR, RADAR и т.д.) для обнаружения возможных столкновений.
Также из направлений возможных дальнейших исследований можно выделить улучшение качества детектирования алгоритма, то есть увеличение значений метрик; добавление в алгоритм возможности параллельной обработки нескольких видеопоследовательностей, например, с камер, расположенных на разных сторонах автомобиля, что даст возможность контролировать большую площадь вокруг автотранспортного средства.
1. Потапов А. Системы компьютерного зрения: современные задачи и методы //Control Engineering Россия. - 2015. - №. 1. - С. 24-25.
2. NISSAN motor corporation [Электронный ресурс]: Moving Object Detection (MOD). - Режим доступа: http://www.nissan-
global.com/EN/TECHNOLOGY/OVERVIEW/mod.html (дата обращения: 21.02.2018) - На англ. яз.
3. GAI [Электронный ресурс]: Автопилот Теслы: 5 особенностей новой технологии. - Режим доступа: http://www.1 gai.ru/publ/515588-avtopilot- tesly- 5-osobennostey-novoy-tehnologii.html (дата обращения: 03.03.2018).
4. Extremetech [Электронный ресурс]: How Google's self-driving cars detect and avoid obstacles. - Режим доступа:
https://www.extremetech.com/extreme/189486-how-googles-self-driving- cars- detect-and-avoid-obstacles (дата обращения: 05.02.2018) - На англ. яз.
5. Geiger A. et al. 3d traffic scene understanding from movable platforms //IEEE transactions on pattern analysis and machine intelligence. - 2015. - Т. 36. - №. 5. - С. 1012-1025.
6. Szegedy C. et al. Going deeper with convolutions. - Cvpr, 2015.
7. Krizhevsky A., Sutskever I., Hinton G. E. Imagenet classification with deep convolutional neural networks //Advances in neural information processing systems. - 2016. - С. 1097-1105.
8. Girshick R. et al. Rich feature hierarchies for accurate object detection and semantic segmentation //Proceedings of the IEEE conference on computer vision and pattern recognition. - 2014. - С. 580-587.
9. Ren S. et al. Faster R-CNN: towards real-time object detection with region proposal networks //IEEE transactions on pattern analysis and machine intelligence. - 2017. - Т. 39. - №. 6. - С. 1137-1149.
10. GITHUB [Электронный ресурс]: Detectron - Режим доступа: https://github.com/rbgirshick/py-faster-rcnn (дата обращения: 04.12.2017)
11. Huang J. et al. Speed/accuracy trade-offs for modem convolutional object detectors //IEEE CVPR. - 2017.
12. PYIMAGESEARCH [Электронный ресурс]: Intersection over Union (IoU) for object detection - Режим доступа:
https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for- object-detection/ (дата обращения: 24.03.2018) - На англ. яз.
13. ROBOTS [Электронный ресурс]: The PASCAL Visual Object Classes Homepage - Режим доступа: http://host.robots.ox.ac.uk/pascal/VOC/ (дата обращения: 28.09.2017) - На англ. яз.
14. MEDIUM [Электронный ресурс]: mAP (mean Average Precision) for Object Detection - Режим доступа: https://medium.com/@jonathan_hui/map-mean- average-precision-for-object-detection-45c121a31173 (дата обращения: 15.04.2018) - На англ. яз.
15. Everingham M. et al. The pascal visual object classes (voc) challenge //International journal of computer vision. - 2013. - Т. 88. - №. 2. - С. 303-338.
16. Lin T. Y. et al. Microsoft coco: Common objects in context //European conference on computer vision. - Springer, Cham, 2014. - С. 740-755.
17. Abadi M. et al. TensorFlow: A System for Large-Scale Machine Learning //OSDI. - 2016. - Т. 16. - С. 265-283.
18. Gulli A., Pal S. Deep Learning with Keras. - Packt Publishing Ltd, 2017.
19.Ioffe S., Szegedy C. Batch normalization: Accelerating deep network training by
reducing internal covariate shift //arXiv preprint arXiv:1502.03167. - 2015. 20.Гудфеллоу Я., Иошуа Б., Курвилль А. Глубокое обучение. - Litres, 2017. 21.Simonyan K., Zisserman A. Very deep convolutional networks for large-scale image recognition //arXiv preprint arXiv:1409.1556. - 2014.
22.Szegedy C. et al. Rethinking the inception architecture for computer vision //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. - 2016. - С. 2818-2826.
23. He K. et al. Deep residual learning for image recognition //Proceedings of the IEEE conference on computer vision and pattern recognition. - 2016. - С. 770778.
24. Круглов В. В., Борисов В. В. Искусственные нейронные сети. Теория и практика. - М. : Горячая линия-Телеком, 2013.
25.Szegedy C. et al. Inception-v4, inception-resnet and the impact of residual connections on learning //AAAI. - 2017. - Т. 4. - С. 12.
26.Nguyen A., Yosinski J., Clune J. Deep neural networks are easily fooled: High confidence predictions for unrecognizable images //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. - 2015. - С. 427-436.
27.Shafaei A., Little J. J., Schmidt M. Play and learn: Using video games to train computer vision models //arXiv preprint arXiv:1608.01745. - 2016.
28. Richter S. R. et al. Playing for data: Ground truth from computer games //European Conference on Computer Vision. - Springer, Cham, 2016. - С. 102118.
29. Johnson-Roberson M. et al. Driving in the matrix: Can virtual worlds replace human-generated annotations for real world tasks? //Robotics and Automation (ICRA), 2017 IEEE International Conference on. - IEEE, 2017. - С. 746-753.
30. GITHUB [Электронный ресурс]: Driving in the Matrix - Режим доступа: https://github.com/umautobots/driving-in-the-matrix (дата обращения: 17.11.2017) - На англ. яз.
31.OPENCV [Электронный ресурс]: [1] OpenCV API Reference - Режим доступа: https://opencv.org/opencv-3-4-1.html (дата обращения: 09.02.2018) - На англ. яз.