Введение
1 Анализ предметной области 5
1.1 Методы обучения машинному зрению 5
1.2 Методы обработки изображений 6
1.3 Методы распознавания изображений 8
1.4 Анализ существующего программного обеспечения 10
1.4.1 Самообучаемая программа IDE-LME от Disney Research для
распознавания образов 10
1.4.2 Система распознавания объектов на фотографии Google Lens 11
1.4.3 Распознавание текста 13
1.4.4 Распознавание лиц 15
1.5 Выводы 17
2 Проектирование программного обеспечения 19
2.1 Постановка задачи 19
2.2 Инструментальные средства разработки 19
2.3 Логическая структура 20
2.4 Архитектура программного обеспечения 22
3 Описание работы программного обеспечения 23
3.1 Используемые классы и методы 23
3.2 Функционал программного обеспечения 30
3.3 Алгоритм работы программы 30
3.4 Работа с программным обеспечением 36
ЗАКЛЮЧЕНИЕ 41
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 42
С развитием вычислительной техники всё большая часть задач стремится быть автоматизированной, упрощенной. Стремление к повышению быстроты, точности, качества решения проблем и является основным толчком к развитию информационных технологий и вычислительной техники. Автоматизировать механический труд человека (упаковка, сборка деталей, рассылка e-mail и т.д.) уже удалось в большой мере, сейчас становится всё более востребованным разработка различных аналитических, обучающихся, принимающих решение систем. И один из больших разделов этой области: распознавание объектов и машинное зрение. Это очень объемный и интересный раздел, реализация которого может быть применена в разных областях.
Исходя из этого была поставлена цель выпускной квалификационной работы: разработка программного обеспечения для распознавания объектов на изображении.
Требуется создание программного обеспечения, использование которого позволит обучать распознаванию и классифицировать объекты, считанные с изображения.
Для достижения цели ставятся следующие задачи:
- исследовать методы обучения машинному зрению, обработки и распознавания изображений;
- определить используемые алгоритмы;
- исследовать существующие аналоги;
- определить требования к разрабатываемому программному обеспечению;
- определить инструментальные средства разработки;
- разработать основные сущности программного обеспечения;
- разработать программное обеспечение.
В результате выпускной квалификационной работы было реализовано программное обеспечение для распознавания объектов на изображении, изучены методы обработки и распознавания изображений, алгоритмы обучения системы, изучения языка программирования C# и использование библиотеки OpenCvSharp. Все задачи ВКР выполнены. Приложение соответствует требованиям и готово для установки на устройства пользователей.
В дальнейшем возможно расширить функционал программного обеспечения следующими функциями:
- Организация базы данных для хранения классов объектов, обученных компонентов RTrees, тренировочных данных и реакций;
- Возможность выбора алгоритмов обучения, распознавания, классификации объекта и сравнения их точности;
- Алгоритм и визуализация распознавания положения объекта на изображении;
- Ввод пользователем положения объекта на изображении.
В ходе выполнения получены знания о методах распознавания объектов, способах обучения машинному зрению, алгоритмах классификации и принятия решений. Также получен опыт работы с подключением сторонних библиотек в среду Visual Studio 2017, в частности взаимодействие с библиотекой OpenCvSharp, классы и методы которой активно использовались при разработке программного обеспечения.
1. Draw.io - Онлайн-сервис для создания диаграмм. [Электронный ресурс] : Create New Diagram - Режим доступа: https://www.draw.io/
2. Блог об информационных технологиях [Электронный ресурс] :
Системы распознавания образов (идентификации) - Режим доступа:
http: //www.codenet.ru/progr/alg/ai/htm/gl3_1 .php
3. Веб-сервис для хостинга IT-проектов и их совместной разработки GitHub [Электронный ресурс] : .NET Framework wrapper for OpenCV - Режим доступа:https: //github .com/shimat/opencvsharp
4. Гонсалес, P. Мир цифровой обработки: цифровая обработка изображений // Р. Гонсалес, Р. Вудс; перевод с английского под редакцией П. А. Чочиа - Москва: Техносфера, 2005. - 1072 с.
5. Дружков, П. Н. Разработка мультимедийных приложений с использованием библиотек OpenCV и IPP : учебный курс / П. Н. Дружков. - Нижний Новгород : Нижегородский государственный университет им. Н.И. Лобачевского, 2013. - 41 с.
6. Козинов, Е. А. Подходы к оптимизации и распараллеливанию вычислений в задаче детектирования объектов разных классов на изображении / Е. А. Козинов, В. Д. Кустикова, И. Б. Мееров, Половинкин А. Н., Сиднев А. А. // Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика, - 2012. - 15 с.
7. Красильников, Н. Н. Цифровая обработка 2D- и ЗЭ-нзображений: учеб. пособие // Н. Н. Красильников; - Санкт-Петербург: БХВ-Петербург, 2011. - 608 с.
8. Официальный сайт библиотеки OpenCV [Электронный ресурс] : OpenCVTutorials - Режим доступа:https://docs.opencv.org/master/d9/df8/ tutorial_root.html
9. Распознавание образов для программистов [Электронный ресурс] : Детектирование объектов с помощью особенностей в OpenCV: FREAK. Детектирование множества объектов - Режим доступа: http: //recog.ru/blog/opencv/200.html
10. Распознавание образов для программистов [Электронный ресурс] : Основы работы с матрицами в OpenCV - Режим доступа: http: //recog.ru/blog/opencv/206.html
11. РобоКрафт - сообщество любителей робототехники, электроники и программирования. [Электронный ресурс] : OpenCV шаг за шагом - Режим доступа:http://robocraft.ru/blog/computervision/264.html
12. Свободная энциклопедия Википедия [Электронный ресурс] :
Random forest - Режим доступа:https://ru.wikipedia.org/wiki/Random_forest
13. Свободная энциклопедия Википедия [Электронный ресурс] : Метод Виолы-Джонса - Режим доступа:https://ru.wikipedia.org/wiki/MeTOA__Виолы_— _Джонса
14. СТО 4.2-07-2014 Система менеджмента качества. Общие требования к построению, изложению и оформлению документов учебной деятельности. - Введ. 9.01.2014. - Красноярск : ИПК СФУ, 2014. - 60 с.
15. Хабрахабр - крупнейший ресурс для IT-специалистов. [Электронный
ресурс] : Классификатор изображений - Режим доступа:
https://habr.com/company/dmlabs/blog/205842/
16. Хабрахабр - крупнейший ресурс для IT-специалистов. [Электронный ресурс] : Самообучаемая программа от Disney Research для распознавания образов - Режим доступа:https://habr.com/post/380363/
17. Хабрахабр - крупнейший ресурс для IT-специалистов. [Электронный
ресурс] : Пару слов о распознавании образов - Режим доступа:
https://habr.com/post/208090/
18. Шапиро, Л. Компьютерное зрение // Л. Шапиро, Дж. Стокман; перевод с английского А. А. Богуславского под редакцией С. М. Соколовой - Москва: БИНОМ. Лаборатория знаний, 2006. - 752 с.
19. Шепелев, К. В. Комбинированный метод детектирования и классификации движущихся объектов в видеопоследовательности : дис. ... канд. техн. наук : 05.13.17 / Шепелев Кирилл Валерьевич. - Пенза, 2017. - 130 с.