Главная страница
Навигация по странице:

  • Постановка задачи

  • Программа для подготовки данных

  • Поисковые мероприятия БЛА. Диплом.Ворд. А. В. Сытин Р. Н. Поляков Орёл, 2020 г


    Скачать 1.19 Mb.
    НазваниеА. В. Сытин Р. Н. Поляков Орёл, 2020 г
    АнкорПоисковые мероприятия БЛА
    Дата02.03.2023
    Размер1.19 Mb.
    Формат файлаdocx
    Имя файлаДиплом.Ворд.docx
    ТипДокументы
    #965645
    страница11 из 19
    1   ...   7   8   9   10   11   12   13   14   ...   19

    4 Интеллектуальная программа распознавания объектов для беспилотного летательного аппарата

      1. Постановка задачи

    Для выполнения задачи используется dataset «sdd lacmus version» с изображениями, которые были получены с БПЛА. Совместно со снимками в dataset присутствует файл с разметкой для обучения, который указывает на положение людей на снимках. Данный dataset представлен разработчиками кроссплатформенного приложения Lacmus, которое помогает найти потерявшихся людей с помощью компьютерного зрения и нейронных сетей. Для макета программного обеспечения было взято 1133 изображений для обучения и 48 изображений для тестирования. На рисунке 4.1 представлен пример такого снимка.



    Рисунок 4.1 - Пример снимка из dataset «sdd lacmus version»

    Обучение нейросети будет осуществляться на фрагментах изображений размером 66х83. Пример фрагмента изображения представлен на рисунке 4.2.



    Рисунок 4.2 - Пример фрагмента изображения для обучения ИНС

    Обучение искусственной нейронной сети (ИНС) будет производиться с помощью модуля nnstart программного комплекса Matlab (временная лицензия для студентов).

      1. Программа для подготовки данных

    Программа для подготовки данных на основе dataset фотографий и файла с разметкой местоположения людей на фото осуществляет подготовку данных для обучения ИНС. На выходе программа сохраняет mat файл с матрицами inputs (входные данные для обучения) и targets (данные разметки). Каждое изображение dataset разбивается на сэмплы (sample) размером 50x50 пикселей и разворачиваются в вектор-строку. Для каждого сэмпла определяется наличие или отсутствие на нем людей. На рисунке 4.3 представлены примеры сэплов из фрагмента изображения и соответствующая для них разметка. Листинг кода представлен в приложении В.


    Рисунок 4.3 - Примеры сэмплов для обучения






    • prepare_data.m

    • 2 303 байт

    -

    • prepare_data.m

    • English (United States)



    Программа для подготовки данных «prepare_data» имеет следующие атрибуты:

    Наименование исполняемого файла Размер исполняемого файла

    «Иконка» исполняемого файла

    Исходное имя файла

    Язык































    Изм.

    Лист

    докум.

    Подпись

    Дата

    Системные программные средства, используемые программой step.m, должны быть представлены локализованной версией операционной системы Windows 7/8/8.1/10.

    Также для функционирования программы prepare_data.m на ПК необходимо предустановленное программное обеспечение MatLab (версии не ниже 2013b). Программа MatLab должна быть установлена в каталог C:\Program Files\MATLAB\. Для установки данной программы необходимо скачать пробную версию и временную лицензию для студентов с сайта https://matlab.ru/education/student-trial, запустить установочный файл и следовать указаниям установщика.

    Исходным языком программирования для «prepare_data.m» является язык программирования среды MatLab.

    Программа «prepare_data.m» работает под управлением ОС Windows 7/8/8.1/10. Основной функцией программы «prepare_data.m» является вызов из каталога C:\Program Files\MATLAB\...\bin\ программы matlab.exe. Дополнительно программа step.m проверяет наличие по указанному пути (C:\Program Files\MATLAB\...\bin\) исполняемого модуля программы matlab.exe, в случае его отсутствия, выдается сообщение «Файл matlab.exe не найден, переустановите программу».

    Основная задача программы prepare_data - подготовка данных на основе файлов изображений для обучения ИНС. Программа «prepare_data.m» не имеет функциональных ограничений на применение.

    Программа «prepare_data.m» состоит из одной запускаемой формы и не имеет других составных частей.

    Программа «prepare_data.m» в ходе своей работы запускает программу «MatLab», поэтому для ее функционирования необходимо предустановленная в каталог «C:\Program Files\MATLAB\» программа matlab.exe (версии не ниже 2013b).

    Описание работы программы по блок-схеме, представленной на рисунках 4.4 и 4.5:
















    ВКР.20.15.04.06.о. 11.00.000 РПЗ

    Лист
















    62

    Изм.

    Лист

    докум.

    Подпись

    Дата



















    Начало

    к + 50<=1322

    Цикл i_dir от 1 до кол-во директорий

    4

    Цикл i от 1 до кол-во изображений

    7

    нет

    нет

    Создание матриц inputs, targets, inputs_neg, targets_neg 2

    Указание директорий с изображениями

    загрузка списка файлов в ЦсНг-ой

    5 директории

    загрузка разметки изображений в

    6 директории

    19 j = j + 50;

    8 Загрузка i-ro изображения

    Поиск разметки для i-ro изображения

    к = 1

    Рисунок 4.4 - Блок-схема программы «prepare_data»






















    Конец

    Фрагмент содержит людей

    /Случайное число от 0 до 100 х. меньше 5 /

    нет

    нет

    i dir = i dir + 1

    Рисунок 4.5 - Блок-схема программы «prepare_data» (продолжение)

    добавить в конец inputs_neg fragment добавить в конец targets_neg [1 ;0]

    inputs = [inputs; inputs_neg];

    targets = [targets;

    24 targets_neg];

    Сохранение данных 25

    15 flag = true; флаг класса фрагмента

    изначально пустой

    добавить в конец _ inputs fragment

    добавить в конец

    17 targets [0;1]

    fragment = часть изображения с координатами (j;k):

    I3 (j+49,k
    + 49)

    преобразование фрагмента и вектор- 14 строку

    k = к + 50

    18

































    Изм.

    Лист

    докум.

    Подпись

    Дата

    Блок №1. Начало программы.

    Блок №2. Создание матриц inputs, targets, inputs_neg_ targets_neg.

    Блок №3. Объявление названия папок с изображениями для обучения.

    Блок №4. Цикл для перебора всех папок.

    Блок №5. Занесение имен файлов в указанной папке в массив.

    Блок №6. Для соответствующей папки с изображениями загружается файл с разметкой, в котором указано положение людей на снимках.

    Блок №7. Цикл для перебора всех изображений в папке.

    Блок №8. Загрузка изображения в матрицу и поиск координат людей на изображении.

    Блок №9. Сброс положения сэмпла по координате у.

    Блок №10. Проверка условия достижения крайней координаты у.

    Блок №11. Сброс положения сэмпла по координате х.

    Блок №12. Проверка условия достижения крайней координаты х.

    Блок №13. Выделение сэмпла.

    Блок №14. Преобразование сэмпла в обучающий пример.

    Блок №15. Сброс флага наличия людей на фрагменте снимка.

    Блок №16. Проверка условия наличия людей на фрагменте снимка.

    Блок №17. Обновление матриц inputs и targets.

    Блок №18. Обновление положения координаты х.

    Блок №19. Обновление положения координаты у.

    Блок №20. Проверка случайного числа для отсечения части негативных примеров.

    Блок №21. Обновление матриц inputs_neg и targets_neg.

    Блок №22. Инкрементация для перебора изображений.

    Блок №23. Инкрементация для перебора папок.

    Блок №24. Слияние матриц негативных и положительных примеров.

    Блок №25. Сохранение матриц inputs и targets в mat файл.

    Блок №26. Конец программы.
















    ВКР.20.15.04.06.о. 11.00.000 РПЗ

    Лист
















    65

    Изм.

    Лист

    докум.

    Подпись

    Дата

      1. 1   ...   7   8   9   10   11   12   13   14   ...   19


    написать администратору сайта