Разработка системы предупреждения о столкновении с применением искусственных нейронных сетей
|
ВВЕДЕНИЕ 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
ПРИЛОЖЕНИЕ В
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 годах. Работа выполнялась в соответствии с планами НИОКР НТЦ ПАО КАМАЗ. Основные результаты исследований были внедрены в программный комплекс распознавания дорожной ситуации беспилотного транспортного средства КАМАЗ. Программное обеспечение было протестировано в ходе многочисленных практических испытаний и успешно продемонстрировано во время показов.
Актуальность работы.
По мере увеличения количества транспортных средств обеспечение безопасности транспортного движения стала важной проблемой. Значительное количество дорожно-транспортных происшествий вызвано невниманием водителя. Поэтому, все ведущие компании производителей автомобилей занимаются разработкой систем помощи водителю, которые обнаруживают неизбежное столкновение и своевременно предупреждают водителей, помогая значительно уменьшить количество и тяжесть аварий. Также система предупреждения о столкновении является одним из элементов беспилотных транспортных средств.
Особенностью системы предупреждения о столкновении, разрабатываемой в рамках данной диссертационной работы, является применение самых последних знаний о структуре и функционировании человеческого мозга, современных открытий в области искусственного интеллекта и искусственных нейронных сетей. В процессе разработки использовались данные и характеристики таких моделей нейронных сетей, как Deep Dream, SegNet, YOLO, AlexNet, среды разработки нейронных сетей Caffe2, базы данных аннотированных изображений ImageNet. Именно нейронные сети обладают большим потенциалом в области распознавания, в некоторых случаях даже превосходя человеческие возможности (приложение А).
На сегодняшний день все существующие системы предупреждения о столкновении не являются совершенными. Актуальность имеет задача совершенствования моделей и алгоритмов распознавания. Важными являются два параметра распознающих систем: скорость работы и качество распознавания. Исходя из этого, вытекает два направления исследований: построение новых моделей нейронных сетей, а также модификация существующих алгоритмов с помощью применения различных технологий и нестандартных архитектур процессоров компьютеров с целью повышения скорости.
Данная тема является актуальной не только для автомобилей с системой помощи водителю, но и для беспилотных транспортных средств.
Объект исследования - программно-аппаратные комплексы распознавания объектов на видеоизображениях.
Предмет исследования - методы и алгоритмы распознавания объектов с применением сверточных нейронных сетей.
Методы исследования. При решении поставленных задач в работе использовались: теория системного анализа; методы построения систем с использованием искусственного интеллекта.
Научная новизна работы обоснована следующим:
1) Разработана методика повышения скорости работы сверточной нейронной сети, без потери качества распознавания, основанная на изменении структуры нейронной сети.
2) Разработана методика распознавания объектов на видеоизображении в реальном режиме времени, основанная на модели нейронной сети YOLO.
Апробация работы.
Основные положения и результаты диссертационной работы были использованы при участии в международном хакатоне «VisionHack» по компьютерному зрению в городе Москва в 2017 году и отмечена дипломом участника.
Внедрение результатов работы.
В диссертационной работе изложены результаты исследований, выполненных в 2016 - 2018 годах. Работа выполнялась в соответствии с планами НИОКР НТЦ ПАО КАМАЗ. Основные результаты исследований были внедрены в программный комплекс распознавания дорожной ситуации беспилотного транспортного средства КАМАЗ. Программное обеспечение было протестировано в ходе многочисленных практических испытаний и успешно продемонстрировано во время показов.
В ходе выполнения магистерской диссертации была разработана функция предупреждения о столкновении системы помощи водителю с применением искусственных нейронных сетей.
В ходе анализа моделей нейронных сетей, сравнивались такие показатели, как скорость работы (учитывается количество кадров в секунду FPS) и средняя точность (mAP). Лучше всех себя показала модель нейронной сети YOLO.
Так же был произведен анализ сред разработки нейронных сетей. Наиболее подходящей является среда разработки Caffe2. За счет того, что Caffe2 написан на низкоуровневом языке программирования Си, с поддержкой Python API, он обладает удобством проектирования и высокой скоростью работы.
В ходе работы были решены следующие задачи:
- Произведен анализ современного состояния систем помощи водителю;
- Произведен анализ и выбор моделей нейронных сетей;
- Произведен анализ и выбор сред разработки нейронных сетей;
- Произведен анализ и выбор сенсоров;
- Разработана методика формирования обучающих выборок;
- Разработана методика оптимизации скорости работы нейронной сети;
- Разработана методика распознавания объектов на видеоизображении;
- Разработано программное обеспечение, реализующее
разработанные алгоритмы выделения и распознавания объектов на видеоизображениях;
- Разработан алгоритм предупреждения о столкновении системы помощи водителю.
Разработанная система непрерывно распознает препятствия на пути движения ТС, определяет тип объекта и расстояние до него. В случае выявления высокого риска столкновения с препятствием, подает набор сигналов для оповещения водителя.
В ходе анализа моделей нейронных сетей, сравнивались такие показатели, как скорость работы (учитывается количество кадров в секунду FPS) и средняя точность (mAP). Лучше всех себя показала модель нейронной сети YOLO.
Так же был произведен анализ сред разработки нейронных сетей. Наиболее подходящей является среда разработки Caffe2. За счет того, что Caffe2 написан на низкоуровневом языке программирования Си, с поддержкой Python API, он обладает удобством проектирования и высокой скоростью работы.
В ходе работы были решены следующие задачи:
- Произведен анализ современного состояния систем помощи водителю;
- Произведен анализ и выбор моделей нейронных сетей;
- Произведен анализ и выбор сред разработки нейронных сетей;
- Произведен анализ и выбор сенсоров;
- Разработана методика формирования обучающих выборок;
- Разработана методика оптимизации скорости работы нейронной сети;
- Разработана методика распознавания объектов на видеоизображении;
- Разработано программное обеспечение, реализующее
разработанные алгоритмы выделения и распознавания объектов на видеоизображениях;
- Разработан алгоритм предупреждения о столкновении системы помощи водителю.
Разработанная система непрерывно распознает препятствия на пути движения ТС, определяет тип объекта и расстояние до него. В случае выявления высокого риска столкновения с препятствием, подает набор сигналов для оповещения водителя.



