АННОТАЦИЯ 3
ВВЕДЕНИЕ 5
1 Цифровое представление изображения 7
I. I Растровое изображение 7
1.2 Векторные изображения 9
1.3 Цветовые модели 10
2 Принципы распознавания образов 15
2.1 Контурный анализ 15
2.2 Template matching (сравнение по шаблону) 17
2.3 Обучение классификатора 23
3 Используемые инструменты 29
4 Программная реализация: метод SURF 30
4.1 Подготовка изображений 30
4.2 Распознавание 31
4.2 Отображение результатов 32
5 Программная реализация: метод AKAZE 35
6 Программная реализация: алгоритм Виолы-Джонса 37
6.1 Подготовка базы данных 37
6.2 Обучение 39
6.3 Распознавание 42
7 Тестирование методов 43
7.1 Масштабирование 43
7.2 Угол съемки 46
7.3 Посторонние объекты 48
7.4 Более сложные сцены 51
8 Анализ результатов 53
ЗАКЛЮЧЕНИЕ 56
ЛИТЕРАТУРА 57
Жизнь современного человека уже не обходится без различных персональных, бытовых и промышленных технических устройств. И чем совершеннее технологии, тем очевиднее становится тот факт, что человеческий ресурс недостаточно эффективен. Особенно это видно на примерах опасных производств, исследованиях космоса или морского дна, в медицине и т.д. Заменить человека не так просто, поэтому в данном направлении работают одновременно несколько дисциплин, одна из которых - компьютерного зрение.
Компьютерное зрение - теория и технология создания машин, которые могут производить обнаружение, отслеживание и классификацию объектов.
В последние годы компьютерное зрение стало активно использоваться в промышленности, в т.ч. в таких отраслях, как автомобилестроение, пищевая промышленность, фармацевтика, производство микроэлектронных изделий и многих других.
Например, в автомобилестроении применяют системы технического зрения, чтобы считывать маркировку компонентов при сборке на конвейере. Компьютерное зрение также используется для повышения качества, в частности, для осмотра, калибровки, проверки размеров, зазоров, расстояний, а также для выравнивания деталей на линиях сборки.
Задачи компьютерного зрения заключаются, главным образом, в получении полезной информации из фото- или видеоизображений. Наиболее популярными являются:
1. Задачи калибровки камер и оптических систем, как состоящих из одной камеры, так и из набора камер.
2. Задачи определения движения по изображениям
3. Задачи определения препятствий по ходу движения:
3.1. В 3В-облаке по стереокамере или набору камер.
3.2. По одной камере за счёт движения.
4. Задачи распознавания объектов на сцене.
5. Задачи пространственной реконструкции сцены.
6. Задачи локализации изображения в заранее известной сцене.
7. Задачи анализа отличия в наборе изображений.
Таким образом, компьютерное зрение во многих системах автоматического управления, а особенно в такой отрасли промышленности, как робототехника, получила большое распространение в качестве основного источника информации об исследуемом объекте, и чем дальше движется развитие техники, тем острее будет ощущаться потребность в новых алгоритмах данной отрасли.
Итак, целью данной работы стало изучение методов распознавания образов, реализуемых с помощью библиотеки OpenCV.
В данной работе были рассмотрены методы распознавания объектов, представленных в библиотеке компьютерного зрения OpenCV. Был проведен ряд тестирований, которые позволили сравнить алгоритмы в различных условиях и выявить среди них лучший - метод Виолы и Джонса. Метод отлично справился с распознаванием и при масштабировании объекта, и при его поворотах, и при съемке под разными углами к сцене, и с присутствием посторонних объектов на сцене. В купе со своими преимуществами, данный метод оказался наиболее подходящим для распознавания объектов в реальных условиях.
Практическая ценность исследования метода Виолы и Джонса подтверждается его использованием при решении ряда задач в индустриальных системах распознавания. Несмотря на то, что метод был разработан в 2001 году, он до сих пор является основополагающим при решении задач поиска объектов в реальном времени: обнаружение лиц, дорожных знаков, гос. номеров автомобилей, детектирование эмоций, жестов рук и многих других.