Введение 3
Глава 1. Автоматическое распознавание объектов на изображениях 5
1.1 История возникновения систем автоматического распознавания 5
1.2 Что такое компьютерное зрение? 7
1.3 Типичные задачи 9
1.4 Сложности при распознавании объектов 12
1.4.1 Освещение 12
1.4.2 Позиционирование 13
1.4.3 Вращение 13
1.4.4 Зеркальность 14
1.4.5 Окклюзия 14
1.5 Основные методы распознавания объекта 15
1.5.1 Подбор шаблонов 15
1.5.2 Цветовой 15
1.5.3 Активный и пассивный 15
Глава 2. Анализ методов распознавания логотипов 17
2.1 Библиотека OpenCV? 17
2.2 Методы, используемые в работе 19
2.2.1. Шаблонный поиск 19
2.2.2 Контурный метод 23
2.3 Язык программирования 30
Глава 3. Программная реализация и результаты 31
Вывод 43
Список литературы 44
Приложение 1 47
Приложение 2
Современный мир не стоит на месте, развивается. А вместе с ним развиваются технологии. И компьютерные науки не являются исключением. Всё больше и больше аспектов нашей жизни становятся автоматизированными, например, производство, обучение, общение. Человек также старается запрограммировать и такие важные вещи, как мозг, мышление или зрение. Именно последнее пытается осуществить такое научное направление, как машинное или компьютерное зрение.
Актуальность данной выпускной квалификационной работы состоит в том, что в тема распознавания текстов, объектов, изображений стала интересна не только в двадцать первом веке, однако именно в последние годы она стала максимально популярной и значимой ввиду появления более мощных современных компьютеров, камер со сверхточным разрешением и прочих технических устройств высокого уровня. И сейчас сложно представить какую-либо область, в которой никак нельзя применить распознавание образов. Оно используется и в медицине, и в охране, и в технике, и даже в сфере медиа и развлечений. И чем больше распространяется, изучается эта сфера деятельности, тем больше она развивается, тем обширнее становится ее возможности в том или ином направлении. Однако на сегодняшний день обеспечение высоких точных результатов обработки - это сложный технический процесс. Таким образом, практическая и теоретическая часть этой работы направлены на выявление наиболее подходящих методик достижения поставленной цели.
Целью этой работы является анализ различных методов распознавания заданных символов, а в конкретном случае - логотипов на изображениях, и выявление наиболее оптимального.
Для достижения поставленной цели необходимо решить конкретные задачи:
• изучить теоретический материал по основам компьютерного и машинного зрения, алгоритмов распознавания и обработки цифровой информации;
• выделить тезисы и обработать полученную информацию;
• выделить несколько основных методов;
• написать код для обработки изображений и поиска совпадений;
• провести эксперименты с использованием различных данных и условий;
• сделать выводы, основанные на практических результатах.
Объектом исследования данной выпускной квалификационной работы является компьютерное зрение и теория распознавания образов.
Предметом исследования являются разработанные программы, использующие методы контурного и шаблонного анализа для распознавания заданных символов, а именно логотипов на растровых и векторных изображениях.
В данной выпускной квалификационной работе были изучены такие научные сферы, как компьютерное и машинное зрение, распознавание образов и символов, также была написана программа, реализующая два метода распознавания образов на растровых и векторных изображениях: метод контурного анализа и метод шаблонного сопоставления. В процессе было выявлено, что контурный метод анализа, по сравнению с шаблонным, наилучшим образом подходит для распознавания логотипов, потому что логотипы чаще всего имеют простую и цельную структуру, четкие границы и изображаются на контрастном фоне. Также контурный метод быстрее и легче в реализации, дает более точные результаты, учитывая специфику входных данных и имеющиеся ресурсы.
В ходе работы над были решены следующие задачи:
• проанализирована предметная область, касающаяся распознавания образов;
• проведён анализ существующих методов и решений
• спроектирована программная реализация кода для каждого метода
• реализовано два программных кода
• проведены эксперименты с различными входными данными и условиями
• выбран наиболее оптимальный метод решения поставленной задачи