Детальная информация

Название: Разработка программной системы реального времени для распознавания мультикоптеров: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Авторы: Котов Иван Валентинович
Научный руководитель: Молодяков Сергей Александрович
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2022
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: глубокое обучение; распознавание в реальном времени; изображение; алгоритмы обработки изображений; компьютерное зрение; deep learning; real-time recognition; image; image processing algorithms; computer vision
Тип документа: Выпускная квалификационная работа бакалавра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Бакалавриат
Код специальности ФГОС: 09.03.04
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2022/vr/vr22-2711
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Дополнительно: Новинка
Ключ записи: ru\spstu\vkr\19646

Разрешенные действия:

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа: Анонимные пользователи

Сеть: Интернет

Аннотация

Данная работа посвящена разработке программной системы реального времени для распознавания мультикоптеров. Для решения данной задачи было решено создать систему компьютерного зрения с использованием технологии 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.

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все Прочитать Печать Загрузить
Внешние организации №2 Все Прочитать
Внешние организации №1 Все
Интернет Авторизованные пользователи СПбПУ Прочитать Печать Загрузить
Интернет Авторизованные пользователи (не СПбПУ, №2) Прочитать
Интернет Авторизованные пользователи (не СПбПУ, №1)
-> Интернет Анонимные пользователи

Оглавление

  • Содержание
  • Введение
    • ГЛАВА 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. Отслеживание объекта. Трекер
    • ГЛАВА 2. Анализ построения систем распознавания видео, работающих в реальном времени
      • 2.1. Свойства систем распознавания в реальном времени
        • 2.1.1. Частота кадров
        • 2.1.2. Точность обнаружения
      • 2.2. Построение систем распознавания в реальном времени
        • 2.2.1. Принцип «Реального времени».
        • 2.2.2. Описание структуры системы распознавания в реальном времени
      • 2.3. Постановка задачи работы
    • ГЛАВА 3. Рассмотрение системного и архитектурного уровней разработки, выбор метода распознавания
      • 3.1. Выбор архитектуры системы распознавания в реальном времени
        • 3.1.1. Входные данные
        • 3.1.2. Библиотека компьютерного зрения OpenCV
        • 3.1.3. Выходные данные
      • 3.2. Выбор метода распознавания
        • 3.2.1. Выбор метода распознавания в условиях решаемой задачи
        • 3.2.1. Выбор архитектуры нейронной сети
      • 3.3. Выбор фрэймворка для обучения
    • ГЛАВА 4. Программная реализация. Создание обучающей выборки
      • 4.1. Программная реализация.
        • 4.1.1. Написание программного кода.
      • 4.2. Создание обучающей выборки
    • ГЛАВА 5. Отладка, тестирование, анализ полученных результатов.
      • 5.1. Отладка
        • 5.1.1. Запуск обучения
        • 5.1.2. Изучение зависимости точности от количества итераций
      • 5.2. Тестирование
        • 5.2.1. Валидация на тестовой выборке
      • 5.3. Анализ полученных результатов
        • 5.3.1. Проверка результатов обучения на отдельных изображения
        • 5.3.2. Запуск распознавания в реальном времени
  • Заключение
  • Список использованных источников

Статистика использования

stat Количество обращений: 0
За последние 30 дней: 0
Подробная статистика