Table | Card | RUSMARC | |
Allowed Actions: –
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
Group: Anonymous Network: Internet |
Annotation
Данная работа посвящена разработке программной системы реального времени для распознавания мультикоптеров. Для решения данной задачи было решено создать систему компьютерного зрения с использованием технологии CUDA, CUDNN; библиотек OPENCV, OPENMP, darknet; нейросети с архитектурой YOLO и обучающей выборки с более 2000 изображений. В системе компьютерного зрения выполняются предобработка изображения - над входным изображением выполняются преобразование повышения контрастности (выравнивание гистограмм). После этого нейронная сеть выполняет обработку получившегося изображения, результатом является матрица, состоящая из координат прямоугольников и вероятностей нахождения в соответствующей области искомого объекта. Далее выполняется постобработка — отбрасываются результаты с вероятностью ниже пороговой, выводятся результаты. Весь код написан на C, C++. По ходе работы удалось создать систему компьютерного зрения, которая после 4000 итераций на обучающей выборке (одна итерация = 64 изображения) смогла достигнуть точности обнаружения более 80 %. Результаты данной работы, а именно архитектуру и файл весов можно использовать для создания систем обнаружения мультикоптеров в реальном времени в виде декстопного или мобильного приложения, облачного сервиса или встраиваемой система, а также эти веса можно использовать для дальнейшего обучения этой нейросети на другой выборке.
This work is devoted to the development of a real-time software system for recognizing multicopters. To solve this problem, it was decided to create a computer vision system using CUDA, CUDNN technology; OPENCV, OPENMP, darknet libraries; neural networks with YOLO architecture and training dataset with more than 2000 images. In the computer vision system, image preprocessing is performed - a contrast enhancement transformation (histogram equalization) is performed over the input image. After that, the neural network processes the resulting image, the result is a matrix consisting of the coordinates of the rectangles and the probabilities of finding the desired object in the corresponding area. Next, post-processing is performed - results with a probability below the threshold are discarded, the results are output. All the code is written in C, C++. In the course of the work, it was possible to create a computer vision system that, after 4,000 iterations on a training sample (one iteration = 64 images), was able to achieve detection accuracy of more than 80%. The results of this work, namely the architecture and the weights file, can be used to create multicopter detection systems in real time in the form of a desktop or mobile application, cloud service or embedded system, and these weights can also be used for further training of this neural network on another dataset.
Document access rights
Network | User group | Action | ||||
---|---|---|---|---|---|---|
ILC SPbPU Local Network | All | |||||
Internet | Authorized users SPbPU | |||||
Internet | Anonymous |
Table of Contents
- Содержание
- Введение
- ГЛАВА 1. Анализ алгоритмов предобработки и методов распознавания
- 1.1. Методы предобработки изображений
- 1.1.1. Изменение размера изображения
- 1.1.2. Выравнивание гистограмм
- 1.1.2. Пространственный фильтр повышения резкости. Фильтр Лапласа
- 1.1.3. Сглаживание и повышение резкости
- 1.1.4. Выбор методов предобработки
- 1.2. Алгоритмы высокоуровневой обработки изображений
- 1.2.1. Стабилизация видео
- 1.2.2. Отслеживание объекта. Трекер
- 1.1. Методы предобработки изображений
- ГЛАВА 2. Анализ построения систем распознавания видео, работающих в реальном времени
- 2.1. Свойства систем распознавания в реальном времени
- 2.1.1. Частота кадров
- 2.1.2. Точность обнаружения
- 2.2. Построение систем распознавания в реальном времени
- 2.2.1. Принцип «Реального времени».
- 2.2.2. Описание структуры системы распознавания в реальном времени
- 2.3. Постановка задачи работы
- 2.1. Свойства систем распознавания в реальном времени
- ГЛАВА 3. Рассмотрение системного и архитектурного уровней разработки, выбор метода распознавания
- 3.1. Выбор архитектуры системы распознавания в реальном времени
- 3.1.1. Входные данные
- 3.1.2. Библиотека компьютерного зрения OpenCV
- 3.1.3. Выходные данные
- 3.2. Выбор метода распознавания
- 3.2.1. Выбор метода распознавания в условиях решаемой задачи
- 3.2.1. Выбор архитектуры нейронной сети
- 3.3. Выбор фрэймворка для обучения
- 3.1. Выбор архитектуры системы распознавания в реальном времени
- ГЛАВА 4. Программная реализация. Создание обучающей выборки
- 4.1. Программная реализация.
- 4.1.1. Написание программного кода.
- 4.2. Создание обучающей выборки
- 4.1. Программная реализация.
- ГЛАВА 5. Отладка, тестирование, анализ полученных результатов.
- 5.1. Отладка
- 5.1.1. Запуск обучения
- 5.1.2. Изучение зависимости точности от количества итераций
- 5.2. Тестирование
- 5.2.1. Валидация на тестовой выборке
- 5.3. Анализ полученных результатов
- 5.3.1. Проверка результатов обучения на отдельных изображения
- 5.3.2. Запуск распознавания в реальном времени
- 5.1. Отладка
- ГЛАВА 1. Анализ алгоритмов предобработки и методов распознавания
- Заключение
- Список использованных источников
Usage statistics
Access count: 1
Last 30 days: 0 Detailed usage statistics |