Аннотация 2
ВВЕДЕНИЕ 5
1 АНАЛИЗ СОСТОЯНИЯ ВОПРОСА ПРИМЕНЕНИЯ АЛГОРИТМА ВИОЛЫ-ДЖОНСА 7
1.1 Исследование предметной области 7
1.2 Описание работы алгоритма Виолы-Джонса 8
1.3 Рассмотрение модификаций алгоритма Виолы-Джонса 14
1.4 Постановка задачи 20
2 ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЯ ПО РАСПОЗНАВАНИЮ МНОЖЕСТВА ОБЪЕКТОВ НА ИЗОБРАЖЕНИИ 23
2.1 Концептуальная модель 23
2.2 Логическая модель 25
2.3 Физическая модель 32
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ 34
3.1 Программная реализация приложения 34
3.2 Тестирование приложения 41
ЗАКЛЮЧЕНИЕ 47
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 49
ПРИЛОЖЕНИЕ А КОД ПРОГРАММЫ 52
С течением времени количество информации в мире становиться всё больше. Технологии не стоят на месте и постоянно появляются всё новые методы для организации обработки данных. Даже для простого анализа трафика или нарушений на дорогах уже задействованы своеобразные алгоритмы и такую задачу не требуется выполнять человеку. Однако, даже для больших компаний такая задача является достаточно сложной. Большое количество людей работает над обучением компьютера выполнять обычную для человека работу, в повседневной жизни, и это приносит свои плоды.
Актуальность темы исследования заключается в том, что распознавание множества объектов на изображении, является достаточно популярным направлением. Существует множество областей, где приложение компьютерного зрения может найти своё применение: от распознавания номерных знаков на автомобиле, который едет по проезжей части, до распознавания эмоций человека, чтобы узнать его душевное состояние.
В данной работе пойдёт речь о методе распознавания объектов под названием «Виолы-Джонса», о его преимуществах и недостатках, а также для решения каких задач он может подходить. Алгоритм будет задействован при обнаружении разного рода объектов на изображении. Также будет разобран вопрос, насколько он является эффективным при решении проблем в своей области. Существует множество разных алгоритмов предназначенных для локализации объектов, например SIFT, детектор Харриса, бинаризация изображений, операции математической морфологии и т.д., однако каждый хорош по-своему и имеет свои подводные камни.
Решения задачи с распознаванием объектов могут быть очень полезно, например возникающие экстренной ситуацией, в процессе работы алгоритма. Предположим, возник пожар при аварии на проезжей части. Приложение компьютерного зрения может оказать быстрый вызов служб спасения для оказания помощи пострадавшим [12].
Методы компьютерного зрения в основном разрабатываются для решения конкретных задач основываясь на выявлении значимых признаков распознаваемого объекта. Идеальных методов компьютерного зрения не существует. Если взять во внимание одну область и постараться сделать всё, чтобы порог ошибки был минимальный, метод всё равно будет обладать недостатками. Например, одним из недостатков методов является то, что их обучение на локализацию определённого объекта является достаточно трудоёмким процессом по времени, хоть и возрастает порог точности. Чем больше времени затрачено на обучения модуля компьютерного зрения, тем лучше будет проходить процесс обнаружения объектов, но ошибочные результаты алгоритма никуда не делись, лишь уменьшилось их количество.
Новизна исследовательской работы заключается в использовании алгоритма Виолы-Джонса при распознавании сразу нескольких объектов разного типа на одном кадре изображения.
Объект исследования - приложение компьютерного зрения в задаче распознавания множества объектов на изображении.
Предмет исследования - использование метода Виолы-Джонса в задаче распознавания множества объектов на изображении.
Цель исследования - разработка приложения компьютерного зрения для распознавания множества объектов разного типа на изображении с применением алгоритма Виолы-Джонса.
Для достижения поставленной цели необходимо решить следующие задачи:
• изучить особенности работы алгоритма Виолы-Джонса;
• разработать программное обеспечение для демонстрации работы алгоритма при локализации разного рода объектов с применением технологий распараллеливания;
• протестировать метод Виолы-Джонса на однопоточном варианте программного модуля и многопоточном.
Выполненная работа посвящена исследованию эффективности работы алгоритма Виолы-Джонса при нагрузке. Цель работы определила её основное направление - разработка приложения по распознаванию множества объектов на изображении.
В результате исследования были выполнены следующие задачи:
• изучить особенности работы алгоритма Виолы-Джонса;
• разработать программное обеспечение для демонстрации работы алгоритма при локализации разного рода объектов с применением технологий распараллеливания;
• протестировать метод Виолы-Джонса на однопоточном варианте программного модуля и многопоточном.
К тому же были выявлены недостатки алгоритма Виолы-Джонса и приведены некоторые модификации, которые устраняют эти проблемы с описанием возможных последствий.
Разработанное приложение на языке Java (в среде IntelliJ IDEA) с использованием свободной библиотеки OpenCV позволяет распознавать объекты на входном кадре изображения путём использования спроектированных и внедрённых модулей:
• распознавание множества объектов на изображении, загруженном в приложение;
• распознавание множества объектов на входном потоке, в реальном времени с использованием веб-камеры.
Приложение увеличивает требования к вычислительным мощностям компьютера с увеличением количества каскадов-классификаторов. Так как увеличивается выполнение математических операции, в основном идёт нагрузка на процессор компьютера.
Алгоритм Виолы-Джонса был протестирован на разном количестве каскадов-классификаторов, были продемонстрированы результаты тестирования и выявлены максимально возможное количество каскадов- классификаторов для более-менее комфортной работы программы при распознавании в реальном времени.
Данная работа подтвердила, что алгоритм Виолы-Джонса подходит для распознавания объектов разного типа. Но алгоритм уже не является перспективным направлением в исследовании, в настоящий момент уже имеются более производительные алгоритмы по локализации объектов.
1. Визильтер Ю. В. Обработка и анализ изображений в задачах машинного зрения: Курс лекций и практических занятий. М.: Физматкнига, 2010. 672 с.
2. Гарсия Г. Б., Исмаэль С.Г., Ноэлия В. Э. Обработка изображений с помощью OpenCV; М.: ДМК Пресс, 2016. 210 с.
3. Гонсалес Р. С., Вудс Р.Е. Цифровая обработка изображений; М.: Техносфера, 2012. - 1104 с.
4. ГОСТ Р 2.105-2019. Национальный стандарт Российской Федерации. Единая система конструкторской документации. Общие требования к текстовым документам. Введ. 2020-02-01.- М.: Изд-во стандартов, 2020. 36 с.
5. ГОСТ 2.316-2008. Межгосударственный стандарт. Единая система конструкторской документации. Правила нанесения надписей, технических требований и таблиц на графических документах. Общие положения. Взамен ГОСТ 2.316-68; Введ. 2009-07-01.- М.: Изд-во стандартов, 2009. 12 с.
6. ГОСТ 7.9-95. Межгосударственный стандарт. Система стандартов по информации, библиотечному и издательскому делу. Реферат и аннотация. Общие требования (ИСО 214-76). Взамен ГОСТ 7.9-77; Введ. 30.06.1997.- М.: Изд-во стандартов, 2001. 28 с.
7. ГОСТ Р 54521-2011. Национальный стандарт Российской Федерации. Статистические методы. Математические символы и знаки для применения в стандартах (ИСО 80000-2:2009). Введ. 2012-12-01.- М.: Изд-во стандартов, 2011. 32 с.
8. Клейнберг Д., Тардос Е. Алгоритмы: разработка и применение. Классика Computers Science / Пер. с англ. Е. Матвеева. СПб.: Питер, 2016. 800 с.
9. Клетте Р. Компьютерное зрение. Теория и алгоритмы; М.: ДМК Пресс, 2019. 508 с.
10. Машинное зрение: понятия, задачи и области применения // Казахский национальный технический университет К.И.Сатпаева, Алматы, Казахстан [Электронный ресурс]: Электронные данные. URL: http://rusnauka.com/25_SSN_2009/Informatica/51050.doc.htm (дата обращения: 14.01.2020).
11. Носова, Л.С. Case-технологии и язык UML: учебно-методическое пособие/ Носова Л.С. Челябинск, Саратов: Южно-Уральский институт управления и экономики; Ай Пи Эр Медиа, 2019. 67 c.
12. Прохоренок Н. А. OpenCV и Java. Обработка изображений и компьютерное зрение; СПб.: БХВ-Петербург, 2018. 320 с.
13. Системы компьютерного зрения: современные задачи и методы [Электронный ресурс]: Электронные данные. URL: http://controleng.ru/innovatsii/sistemy-komp-yuternogo-zreniya-sovremenny-e- zadachi-metody/ (дата обращения: 18.01.2020).
14. Что такое машинное зрение и чем оно отличается от человеческого? [Электронный ресурс]: Электронные данные. URL: https://meduza.io/feature/2019/03/30/chto-takoe-mashinnoe-zrenie-i-chem-ono- otlichaetsya-ot-chelovecheskogo-seychas-ob-yasnim-ponyatno (дата обращения: 23.01.2020).
15. Andrew F.: Oracle Certified Professional Java SE Programmer study guide: contains around 300 practice questions with solutions; 2020, 650 pages.
...