ВВЕДЕНИЕ 4
1 Анализ предметной области 7
1.1 Анализ современного состояния систем помощи водителю 7
1.2 Анализ методов искусственного интеллекта 13
1.2.1 Генетический алгоритм 13
1.2.2 Нейронные сети 15
1.2.3 Многоагентные системы 16
1.3 Анализ нейронных сетей как метода искусственного интеллекта 18
1.4 Анализ моделей нейронных сетей 21
1.4.1 R-CNN - Regional Convolutional Neural Network 21
1.4.2 SSD 25
1.4.3 YOLO 25
1.5 Анализ сред разработки нейронных сетей 26
1.6 Анализ платформы разработки системы 30
1.6.1 MathWorks MATLAB 30
1.6.2 Robot Operating System 32
1.7 Требования к системе предупреждения о столкновениях 33
1.8 Постановка цели и задач к проекту 33
2 Выбор инструментальных средств разработки 35
2.1 Выбор программных средств разработки 35
2.1.1 Выбор модели нейронной сети 36
2.1.2 Выбор среды разработки нейронной сети 37
2.1.3 Выбор платформы разработки системы 38
2.2 Выбор оборудования 38
2.2.1 Выбор камеры 41
2.2.2 Выбор лидара 46
2.3 Выбор вычислителя 49
2.4 Выбор преобразователя напряжения 51
3 Разработка системы предупреждения о столкновении с применением искусственной нейронной сети 53
3.1 Разработка блок схемы системы предупреждения о столкновении 53
3.2 Разработка структурной схемы программного обеспечения 57
3.4 Калибровка камеры 58
3.5 Создание сверточной нейронной сети 60
3.6 Совершенствование нейронной сети 62
3.6.1 Разработка методики повышения скорости работы сверточной
нейронной сети 62
3.6.2 Распараллеливание вычислительных потоков на центральном и
графическом процессоре с использованием средств разработки CUDA 65
3.6.3 Параметры обучения нейронной сети 67
3.6.4 Методика формирования обучающей выборки 69
3.7 Обучение нейронной сети 70
3.8 Тестирование и оценка обученной нейронной сети 72
3.9 Калибровка камеры и лидара 73
3.10 Оценка рисков столкновения 76
3.11 Общее описание человеко-машинного интерфейса системы 82
3.12 Описание входных и выходных сигналов 84
ЗАКЛЮЧЕНИЕ 87
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 89
ПРИЛОЖЕНИЕ А 93
ПРИЛОЖЕНИЕ Б 94
ПРИЛОЖЕНИЕ В
Научно-технический прогресс - это поступательное движение науки и техники, эволюционное развитие всех элементов производительных сил общественного производства на основе широкого познания и освоения внешних сил природы; это объективная, постоянно действующая закономерность развития материального производства, результатом которой является последовательное совершенствование техники, технологии и организации производства, повышение их эффективности. Одним из направлений научно-технического прогресса является интеллектуальные и беспилотные транспортные средства.
Актуальность работы.
По мере увеличения количества транспортных средств обеспечение безопасности транспортного движения стала важной проблемой. Значительное количество дорожно-транспортных происшествий вызвано невниманием водителя. Поэтому, все ведущие компании производителей автомобилей занимаются разработкой систем помощи водителю, которые обнаруживают неизбежное столкновение и своевременно предупреждают водителей, помогая значительно уменьшить количество и тяжесть аварий. Также система предупреждения о столкновении является одним из элементов беспилотных транспортных средств.
Особенностью системы предупреждения о столкновении, разрабатываемой в рамках данной диссертационной работы, является применение самых последних знаний о структуре и функционировании человеческого мозга, современных открытий в области искусственного интеллекта и искусственных нейронных сетей. В процессе разработки использовались данные и характеристики таких моделей нейронных сетей, как Deep Dream, SegNet, YOLO, AlexNet, среды разработки нейронных сетей Caffe2, базы данных аннотированных изображений ImageNet. Именно нейронные сети обладают большим потенциалом в области распознавания, в некоторых случаях даже превосходя человеческие возможности (приложение А).
На сегодняшний день все существующие системы предупреждения о столкновении не являются совершенными. Актуальность имеет задача совершенствования моделей и алгоритмов распознавания. Важными являются два параметра распознающих систем: скорость работы и качество распознавания. Исходя из этого, вытекает два направления исследований: построение новых моделей нейронных сетей, а также модификация существующих алгоритмов с помощью применения различных технологий и нестандартных архитектур процессоров компьютеров с целью повышения скорости.
Данная тема является актуальной не только для автомобилей с системой помощи водителю, но и для беспилотных транспортных средств.
Объект исследования - программно-аппаратные комплексы распознавания объектов на видеоизображениях.
Предмет исследования - методы и алгоритмы распознавания объектов с применением сверточных нейронных сетей.
Методы исследования. При решении поставленных задач в работе использовались: теория системного анализа; методы построения систем с использованием искусственного интеллекта.
Научная новизна работы обоснована следующим:
1) Разработана методика повышения скорости работы сверточной нейронной сети, без потери качества распознавания, основанная на изменении структуры нейронной сети.
2) Разработана методика распознавания объектов на видеоизображении в реальном режиме времени, основанная на модели нейронной сети YOLO.
Апробация работы.
Основные положения и результаты диссертационной работы были использованы при участии в международном хакатоне «VisionHack» по компьютерному зрению в городе Москва в 2017 году и отмечена дипломом участника.
Внедрение результатов работы.
В диссертационной работе изложены результаты исследований, выполненных в 2016 - 2018 годах. Работа выполнялась в соответствии с планами НИОКР НТЦ ПАО КАМАЗ. Основные результаты исследований были внедрены в программный комплекс распознавания дорожной ситуации беспилотного транспортного средства КАМАЗ. Программное обеспечение было протестировано в ходе многочисленных практических испытаний и успешно продемонстрировано во время показов.
В ходе выполнения магистерской диссертации была разработана функция предупреждения о столкновении системы помощи водителю с применением искусственных нейронных сетей.
В ходе анализа моделей нейронных сетей, сравнивались такие показатели, как скорость работы (учитывается количество кадров в секунду FPS) и средняя точность (mAP). Лучше всех себя показала модель нейронной сети YOLO.
Так же был произведен анализ сред разработки нейронных сетей. Наиболее подходящей является среда разработки Caffe2. За счет того, что Caffe2 написан на низкоуровневом языке программирования Си, с поддержкой Python API, он обладает удобством проектирования и высокой скоростью работы.
В ходе работы были решены следующие задачи:
- Произведен анализ современного состояния систем помощи водителю;
- Произведен анализ и выбор моделей нейронных сетей;
- Произведен анализ и выбор сред разработки нейронных сетей;
- Произведен анализ и выбор сенсоров;
- Разработана методика формирования обучающих выборок;
- Разработана методика оптимизации скорости работы нейронной сети;
- Разработана методика распознавания объектов на видеоизображении;
- Разработано программное обеспечение, реализующее
разработанные алгоритмы выделения и распознавания объектов на видеоизображениях;
- Разработан алгоритм предупреждения о столкновении системы помощи водителю.
Разработанная система непрерывно распознает препятствия на пути движения ТС, определяет тип объекта и расстояние до него. В случае выявления высокого риска столкновения с препятствием, подает набор сигналов для оповещения водителя.
1. Caffe. [Электронный ресурс] - Режим доступа: https: //ru.wikipedia. org/wiki/Caffe
2. Заметки про роботов. [Электронный ресурс] - Режим доступа: http://cv-blog.ru/?p=162
3. Caffe2. [Электронный ресурс] - Режим доступа:https://caffe2.ai/
4. Caffe. [Электронный ресурс] - Режим доступа: http://caffe.berkeleyvision.org/
5. Быстрый старт: обзор основных Deep Learning фреймворков. [Электронный ресурс] - Режим доступа: https://habrahabr.ru/company/newprolab/blog/325818/
6. Object Localization and Detection. [Электронный ресурс] - Режим доступа:https://leonardoarauj osantos. gitbooks.io/artificial-inteligence/content/obj ect localization and detection. html
7. Comparing Top Deep Learning Frameworks: Deeplearning4j, Torch, Theano, TensorFlow, Caffe, Paddle, MxNet, Keras & CNTK. [Электронный ресурс] - Режим доступа:https ://deeplearning4j. org/compare-dl4j -torch7 -pylearn.html
8. Hello, TensorFlow. Библиотека машинного обучения от Google. [Электронный ресурс] - Режим доступа:https://habrahabr.ru/post/305578/
9. Robust Range Estimation with a Monocular Camera for Vision-Based Forward Collision Warning System. [Электронный ресурс] - Режим доступа: https://www. hindawi.com/j ournals/tswj/2014/923632/
10. Object Localization and Detection. [Электронный ресурс] - Режим доступа:https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/obj ect localization and detection.html
11. Применение нейросетей в распознавании изображений. [Электронный ресурс] - Режим доступа:https://habr.com/post/74326/
12. Comparing Top Deep Learning Frameworks: Deeplearning4j, PyTorch, TensorFlow, Caffe, Keras, MxNet, Gluon & CNTK. [Электронный ресурс] - Режим доступа:https://deeplearning4j.org/compare-dl4j-tensorflow-pytorch
13. NVIDIA cuDNN. GPU Accelerated Deep Learning. [Электронный ресурс] - Режим доступа:https ://developer. nvidia. com/cudnn
14. A Brief History of CNNs in Image Segmentation: From R-CNN to Mask R-CNN. [Электронный ресурс] - Режим доступа: https://blog.athelas.com/a-brief-history-of-cnns-in-image-segmentation-from-r-cnn-to-mask-r-cnn-34ea83205de4
15. ImageNet classification with Python and Keras. [Электронный ресурс] - Режим доступа:https://www.pyimagesearch. com/2016/08/10/imagenet-classification-with-python-and-keras/
16. How convolutional neural networks see the world. [Электронный ресурс] - Режим доступа:https: //blog.keras. io/category/demo. html
17. Activation function - Wikipedia. [Электронный ресурс] - Режим доступа:
https://en. wikipedia. org/wiki/Activation function#Comparison of activation functions
18. COCO - Common Objects in Context. [Электронный ресурс] - Режим доступа:http://cocodataset.org/#download
19. ImageNet. [Электронный ресурс] - Режим доступа: http://www. image-net.org/synset?wnid=n04467665
20. Как работает нейронная сеть: Deep Dream. [Электронный ресурс] - Режим доступа:https://www.popmech.ru/technologies/212091 -kak-rabotaet-neyronnaya-set-deep-dream/
21. ComputerVision (Ruby && OpenCV) . [Электронный ресурс] - Режим доступа:https://dataart.ru/news/computervision-ruby-opencv/
22. Глубокое обучение для новичков: тонкая настройка нейронной сети. [Электронный ресурс] - Режим доступа: https://m.habr.com/company/wunderfund/blog/315476/
23. Классификатор изображений на основе сверточной сети. [Электронный ресурс] - Режим доступа:http: //mechanoid.kiev.ua/ml-lenet.html
24. Основные недостатки использования искусственных нейронных сетей и пути их решения. [Электронный ресурс] - Режим доступа: http://neuronus.com/theory/242-osnovnye-nedostatki-ispolzovaniya-iskusstvennykh-nejronnykh-setej-i-puti-ikh-resheniya.html
25. Walkthrough: Training AlexNet on ImageNet using Minerva's owl.net Package. [Электронный ресурс] - Режим доступа:
https://github. com/dmlc/minerva/wiki/Walkthrough: -AlexNet
26. Calibrating a Monocular Camera with ROS. [Электронный ресурс] - Режим доступа:http://ros-developer.com/2017/04/23/camera-calibration-with-ros/
27. Теория систем и системный анализ. Курс лекций: учебное пособие/ Д.Е. Чикрин, И.Г. Созутов. Казань: Казанский университет, 2017.
28. ВКР (магистерская диссертация) Талипова Д. Н. на тему «Автоматизированная система управления экстренным торможением» Набережные Челны: Казанский федеральный университет, 2017.
29. Rich feature hierarchies for accurate object detection and semantic segmentation [Электронный ресурс] - Режим доступа: https://arxiv.org/abs/1311.2524
30. Fast R-CNN_[Электронный ресурс] - Режим доступа: https://arxiv.org/abs/1504.08083
31. Squeezenet: alexnet-level accuracy with 50x fewer parameters and <0.5mb model size. [Электронный ресурс] - Режим доступа: https://arxiv.org/pdf/1602.07360.pdf
32. Image Acquisition Toolbox - захват изображений и видео для MATLAB [Электронный ресурс] - Апрель 2017 г. - Режим доступа: http://matlab.ru/products/image-acquisition-toolbox
33. MATLAB: инструмент будущего или дорогая игрушка. [Электронный ресурс] - Режим доступа:
https://geekbrains.ru/posts/how to matlab
34. ROS Wiki. [Электронный ресурс] - Режим доступа: http://wiki.ros.org/ru
35. Обзор свободного фреймворка ROS - операционной системы для роботов. [Электронный ресурс] - Режим доступа:https://lvee.Org/ru/abstracts/116
36. Механизм ДТП. [Электронный ресурс] - Режим доступа: http://advokat-po-dtp.odessa.ua/index.php/mekhanizm-dtp