Методы распознавания образов. Теория распознавания образов

Теория распознавания образов. Обзор существующих методов распознавания образов

Давно хотел написать общую статью, содержащую в себе самые основы Image Recognition, некий гайд по базовым методам, рассказывающий, когда их применять, какие задачи они решают, что возможно сделать вечером на коленке, а о чём лучше и не думать, не имея команды человек в 20.

Какие-то статьи по Optical Recognition я пишу давненько, так что пару раз в месяц мне пишут различные люди с вопросами по этой тематике. Иногда создаётся ощущение, что живёшь с ними в разных мирах. С одной стороны понимаешь, что человек скорее всего профессионал в смежной теме, но в методах оптического распознавания знает очень мало. И самое обидное, что он пытается применить метод из близрасположенной области знаний, который логичен, но в Image Recognition полностью не работает, но не понимает этого и сильно обижается, если ему начать рассказывать что-нибудь с самых основ. А учитывая, что рассказывать с основ — много времени, которого часто нет, становится всё ещё печальнее.

Эта статья задумана для того, чтобы человек, который никогда не занимался методами распознавания изображений, смог в течении 10-15 минут создать у себя в голове некую базовую картину мира, соответствующую тематике, и понять в какую сторону ему копать. Многие методы, которые тут описаны, применимы к радиолокации и аудио-обработке.
Начну с пары принципов, которые мы всегда начинаем рассказывать потенциальному заказчику, или человеку, который хочет начать заниматься Optical Recognition:

  • При решении задачи всегда идти от простейшего. Гораздо проще повесить на персону метку оранжевого цвета, чем следить за человеком, выделяя его каскадами. Гораздо проще взять камеру с большим разрешением, чем разрабатывать сверхразрешающий алгоритм.
  • Строгая постановка задачи в методах оптического распознавания на порядки важнее, чем в задачах системного программирования: одно лишнее слово в ТЗ может добавить 50% работы.
  • В задачах распознавания нет универсальных решений. Нельзя сделать алгоритм, который будет просто «распознавать любую надпись». Табличка на улице и лист текста — это принципиально разные объекты. Наверное, можно сделать общий алгоритм(вот хороший пример от гугла), но это будет требовать огромного труда большой команды и состоять из десятков различных подпрограмм.
  • OpenCV — это библия, в которой есть множество методов, и с помощью которой можно решить 50% от объёма почти любой задачи, но OpenCV — это лишь малая часть того, что в реальности можно сделать. В одном исследовании в выводах было написано: «Задача не решается методами OpenCV, следовательно, она неразрешима». Старайтесь избегать такого, не лениться и трезво оценивать текущую задачу каждый раз с нуля, не используя OpenCV-шаблоны.

Очень сложно давать какой-то универсальный совет, или рассказать как создать какую-то структуру, вокруг которой можно строить решение произвольных задач компьютерного зрения. Цель этой статьи в структуризации того, что можно использовать. Я попробую разбить существующие методы на три группы. Первая группа это предварительная фильтрация и подготовка изображения. Вторая группа это логическая обработка результатов фильтрации. Третья группа это алгоритмы принятия решений на основе логической обработки. Границы между группами очень условные. Для решения задачи далеко не всегда нужно применять методы из всех групп, бывает достаточно двух, а иногда даже одного.

Список приведённых тут методов не полон. Предлагаю в комментариях добавлять критические методы, которые я не написал и приписывать каждому по 2-3 сопроводительных слова.

Часть 1. Фильтрация

Бинаризация по порогу, выбор области гистограммы

Самое просто преобразование — это бинаризация изображения по порогу. Для RGB изображения и изображения в градациях серого порогом является значение цвета. Встречаются идеальные задачи, в которых такого преобразования достаточно. Предположим, нужно автоматически выделить предметы на белом листе бумаги:


Выбор порога, по которому происходит бинаризация, во многом определяет процесс самой бинаризации. В данном случае, изображение было бинаризовано по среднему цвету. Обычно бинаризация осуществляется с помощью алгоритма, который адаптивно выбирает порог. Таким алгоритмом может быть выбор матожидания или моды . А можно выбрать наибольший пик гистограммы.

Бинаризация может дать очень интересные результаты при работе с гистограммами, в том числе в ситуации, если мы рассматриваем изображение не в RGB, а в HSV . Например, сегментировать интересующие цвета. На этом принципе можно построить как детектор метки так и детектор кожи человека.

Классическая фильтрация: Фурье, ФНЧ, ФВЧ

Классические методы фильтрации из радиолокации и обработки сигналов можно с успехом применять во множестве задач Pattern Recognition. Традиционным методом в радиолокации, который почти не используется в изображениях в чистом виде, является преобразование Фурье (конкретнее — БПФ). Одно из немногих исключение, при которых используется одномерное преобразование Фурье, — компрессия изображений . Для анализа изображений одномерного преобразования обычно не хватает, нужно использовать куда более ресурсоёмкое двумерное преобразование .

Мало кто его в действительности рассчитывает, обычно, куда быстрее и проще использовать свёртку интересующей области с уже готовым фильтром, заточенным на высокие (ФВЧ) или низкие(ФНЧ) частоты. Такой метод, конечно, не позволяет сделать анализ спектра, но в конкретной задаче видеообработки обычно нужен не анализ, а результат.


Самые простые примеры фильтров, реализующих подчёркивание низких частот (фильтр Гаусса) и высоких частот (Фильтр Габора).
Для каждой точки изображения выбирается окно и перемножается с фильтром того же размера. Результатом такой свёртки является новое значение точки. При реализации ФНЧ и ФВЧ получаются изображения такого типа:

Читать еще:  Нарды длинные apk. Нарды длинные

Вейвлеты
Корреляция
Фильтрации функций

Интересным классом фильтров является фильтрация функций. Это чисто математические фильтры, которые позволяют обнаружить простую математическую функцию на изображении (прямую, параболу, круг). Строится аккумулирующее изображение, в котором для каждой точки исходного изображения отрисовывается множество функций, её порождающих. Наиболее классическим преобразованием является преобразование Хафа для прямых. В этом преобразовании для каждой точки (x;y) отрисовывается множество точек (a;b) прямой y=ax+b, для которых верно равенство. Получаются красивые картинки:


(первый плюсег тому, кто первый найдёт подвох в картинке и таком определении и объяснит его, второй плюсег тому, кто первый скажет что тут изображено)
Преобразование Хафа позволяет находить любые параметризуемые функции. Например окружности . Есть модифицированное преобразование, которое позволяет искать любые фигуры . Это преобразование ужасно любят математики. Но вот при обработке изображений, оно, к сожалению, работает далеко не всегда. Очень медленная скорость работы, очень высокая чувствительность к качеству бинаризации. Даже в идеальных ситуациях я предпочитал обходиться другими методами.
Аналогом преобразования Хафа для прямых является преобразование Радона . Оно вычисляется через БПФ, что даёт выигрыш производительности в ситуации, когда точек очень много. К тому же его возможно применять к не бинаризованному изображению.

Фильтрации контуров

Отдельный класс фильтров — фильтрация границ и контуров . Контуры очень полезны, когда мы хотим перейти от работы с изображением к работе с объектами на этом изображении. Когда объект достаточно сложный, но хорошо выделяемый, то зачастую единственным способом работы с ним является выделение его контуров. Существует целый ряд алгоритмов, решающих задачу фильтрации контуров:

Чаще всего используется именно Кэнни, который хорошо работает и реализация которого есть в OpenCV (Собель там тоже есть, но он хуже ищёт контуры).

Распознавание образов

Теория распознава́ния о́бразов — раздел кибернетики, развивающий теоретические основы и методы классификации и идентификации предметов, явлений, процессов, сигналов, ситуаций и т. п. объектов, которые характеризуются конечным набором некоторых свойств и признаков. Такие задачи решаются довольно часто, например, при переходе или проезде улицы по сигналам светофора. Распознавание цвета загоревшейся лампы светофора и знание правил дорожного движения позволяет принять правильное решение о том, можно или нельзя переходить улицу в данный момент.

В процессе биологической эволюции многие животные с помощью зрительного и слухового аппарата решили задачи распознавания образов достаточно хорошо. Создание искусственных систем распознавания образов остаётся сложной теоретической и технической проблемой. Необходимость в таком распознавании возникает в самых разных областях — от военного дела и систем безопасности до оцифровки всевозможных аналоговых сигналов.

Традиционно задачи распознавания образов включают в круг задач искусственного интеллекта.

Содержание

Направления в распознавании образов

Можно выделить два основных направления [1] :

  • Изучение способностей к распознованию, которыми обладают живые существа, объяснение и моделирование их;
  • Развитие теории и методов построения устройств, предназначенных для решения отдельных задач в прикладных задачах.

Формальная постановка задачи

Распознавание образов — это отнесение исходных данных к определенному классу с помощью выделения существенных признаков, характеризующих эти данные из общей массы несущественных данных.

При постановке задач распознования стараются пользоваться математическим языком, стараясь в отличии от теории искусственных нейронных сетей, где основой является получение результата путем эксперимента, заменить эксперимент логическими рассуждениями и математическими доказательствами [2] .

Наиболее часто в задачах распознования образов рассматриваются монохромные изображения, что дает возможность рассматривать изображение как функцию на плоскости. Если рассмотреть точечное множество на плоскости T , где функция x(x,y) выражает в каждой точке изображения его характеристику — яркость, прозрачность, оптическую плотность, то такая функция есть формальная запись изображения.

Множество же всех возможных функций x(x,y) на плоскости T — есть модель множества всех изображений X . Вводя понятие сходства между образами можно поставить задачу распознавания. Конкретный вид такой постановки сильно зависит от последующих этапов при распозновании в соответствии с тем или иным подходом.

Методы распознавания образов

Для оптического распознавания образов можно применить метод перебора вида объекта под различными углами, масштабами, смещениями и т. д. Для букв нужно перебирать шрифт, свойства шрифта и т. д.

Второй подход — найти контур объекта и исследовать его свойства (связность, наличие углов и т. д.)

Еще один подход — использовать искусственные нейронные сети. Этот метод требует либо большого количества примеров задачи распознавания (с правильными ответами), либо специальной структуры нейронной сети, учитывающей специфику данной задачи.

Перцептрон как метод распознавания образов

Ф. Розенблатт вводя понятие о модели мозга, задача которой состоит в том, чтобы показать, как в некоторой физической системе, структура и функциональные свойства которой известны, могут возникать психологические явления — описал простейшие эксперименты по различению. Данные эксперименты целиком относятся к методам распознавания образов, но отличаются тем что алгоритм решения не детерминированный.

Простейший эксперимент, на основе которого можно получить психологически значимую информацию о некоторой системе, сводится к тому, что модели предъявляются два различных стимула и требуется, чтобы она реагировала на них различным образом. Целью такого экперимента может быть исследование возможности их спонтанного различения системой при отсутствии вмешательства со стороны экспериментатора, или, наоборот, изучение принудительного различения, при котором экспериментатор стремится обучить систему проводить требуемую классификацию.

Читать еще:  Духовная сфера наука. Глава V

В опыте с обучением перцептрону обычно предъявляется некоторая последовательность образов, в которую входят представители каждого из классов, подлежащих различению. В соответствии с некоторым правилом модификации памяти правильный выбор реакции подкрепляется. Затем перцептрону предъявляется контрольный стимул и определяется вероятность получения правильной реакции для стимулов данного класса. В зависимости от того, совпадает или не совпадает выбранный контрольный стимул с одним из образов, которые использовались в обучающей последовательности, получают различные результаты:

  • 1. Если контрольный стимул не совпадает ни с одним из обучающих стимулов, то эксперимент связан не только с чистым различением, но включает в себя и элементы обобщения.
  • 2. Если контрольный стимул возбуждает некоторый набор сенсорных элементов, совершенно отличных от тех элементов, которые активизировались при воздействии ранее предъявленных стимулов того же класса, то эксперимент является исследованием чистого обобщения.

Перцептроны не обладают способностью к чистому обобщению, но они вполне удовлетворительно функционируют в экспериментах по различению, особенно если контрольный стимул достаточно близко совпадает с одним из образов, относительно которых перцептрон уже накопил определенный опыт.

Методы распознавания образов

Рубрика: Информационные технологии

Дата публикации: 17.12.2016 2016-12-17

Статья просмотрена: 5036 раз

Библиографическое описание:

Черногорова Ю. В. Методы распознавания образов // Молодой ученый. — 2016. — №28. — С. 40-43. — URL https://moluch.ru/archive/132/36964/ (дата обращения: 04.02.2020).

Распознавание образов — научная дисциплина, целью которой является выявление объектов по нескольким критериям или классам. Теория распознавания объектов представляет собой раздел информатики, который основывается на разработке основ и методов идентификации предметов, явлений и сигналов. Потребность в таком распознавании возникает во многих областях, начиная с машинного зрения, символьного распознавания, диагностики в медицине, распознавания речи и заканчивая узко специальными задачами. Несмотря на то, что некоторые из этих задач решаются человеком на подсознательном уровне с большой скоростью, до настоящего времени ещё не создано компьютерных программ, решающих их в столь же общем виде [1,2]. В связи с этим, проблема распознавания образов получила повсеместное распространение, в том числе в области искусственного интеллекта и робототехники.

Возможность распознавания базируется на схожести подобных объектов. Несмотря на то, что все явления и предметы не похожи друг на друга, между некоторыми из них всегда можно найти сходства по тому или иному признаку

Все методы распознавания объектов делятся на два вида: методы, основанные на теории решений и структурные методы. Первые основаны на вычислении с помощью количественных величин, таких как длина, текстура и т.д. Вторые ориентированы на образы, для описания которых больше подходят качественные величины, например реляционные. Также в распознавании объектов немаловажную роль играет обучение на основе известной выборки.

Под образом подразумевается некоторая упорядоченная совокупность признаков. Классом образов называется совокупность объектов с одинаковыми свойствами. Классификатором или решающим правилом называется правило отнесения образа к одному из классов на основании его вектора признаков. На практике широкое применение имеют три формы представления признаков: вектор признаков (для количественных величин), символьная строка и деревья признаков (для структурных величин) [3].

Методы, основанные на сопоставлении, представляют собой наборы векторов признаков каждого класса объектов. Новый образ будет отнесен к тому классу, который окажется наиболее близким, в пределах заранее заданной метрики. Очевидно, что самый простой подход состоит в поиске минимального расстояния, которое вычисляется при помощи евклидовых норм между векторами признаков неизвестного объекта и векторами прототипа. Вывод о принадлежности объекта к определенному классу происходит по наименьшему из этих расстояний. Минимальный классификатор расстояния хорошо работает в тех случаях, где расстояние между точками математического ожидания классов велико по сравнению с диапазоном разброса объектов каждого класса.

Не менее важными являются методы распознавания образов, основанные на вероятностных классификаторах, по причине случайностей, которые влияют на порождение классов образов. Следовательно, необходимо выработать такой оптимальный подход, при использовании которого окажется наименьшая вероятность появления ошибок.

Очень сложно однозначно ответить, как выглядит оптимальный метод описывающий компьютерное зрение. Однако, можно разделить все существующие методы на три ступени: первичная обработка и фильтрация, логическая оценка результатов фильтрации и алгоритмы принятия решений [2]. Как правило, для распознавания объектов на изображении необходимо применить все эти этапы, однако бывает достаточно двух, или даже одного.

К группе фильтрации можно отнести методы, которые позволяют определить на изображении интересующие объекты, без предварительного анализа. Основная масса таких методов использует какую-либо единую операцию ко всем точкам изображения одновременно. На данном уровне анализ как правило не проводится.

Самым простым преобразованием является бинаризация изображения по порогу. Для изображений и в градациях серого таким порогом является значение яркости. Выбор порога, определяющего бинаризацию, определяет вид самого процесса. Как правило, бинаризация происходит при алгоритме аддитивного выбора порога. Например, таким алгоритмом может стать выбор математического ожидания или моды, а также наибольшего пика гистограммы.

Существующие классические методы фильтрации могут быть применены в широком спектре задач. Наиболее распространенным классическим методом является преобразование Фурье, однако он не используется в изображениях в чистом виде [3,4]. Однако для анализа изображений часто бывает недостаточно простого одномерного преобразования, и требуется гораздо более ресурсоемкое двумерное преобразование:

Вычисление по такой формуле является достаточно трудоемким, поэтому на практике чаще пользуются сверткой интересующей области с помощью низкочастотных или высокочастотных фильтров, в зависимости от конкретной задачи. Такое упрощение конечно, не позволяет более широкого диапазона операций, таких как анализ, однако зачастую бывает достаточно только результата без последующих преобразований.

Читать еще:  Функция управления - контроль.

Вейвлет-преобразования являются более перспективным и современным методом обработки изображений, чем преобразование Фурье [5]. Они упрощают сжатие, анализ и передачу большого количества изображений. Вейвлет-преобразования основаны на разложения по малым волнам (вейвлетам) с изменяющейся частотой и ограничением по времени, в отличие от преобразования Фурье, построенного на гармонических функциях.

В 1987 году Стефан Маллат впервые продемонстрировал, что вейвлеты могут быть положены в основу принципиально нового метода обработки изображений, получившего название кратномасштабный анализ. Как очевидно из названия, кратномасштабная теория имеет дело с анализом изображений при различных разрешениях, так как многие детали, незаметные при одном масштабе, могут быть легко найдены при другом. Долгое время вейвлеты обладали весьма ограниченным распространением, однако в настоящий момент уже трудно уследить за всей информацией, имеющейся по этой теме.

При взгляде на изображение, мы видим связанные наборы объектов одинаковой яркости и структуры, которые объединяясь образуют предметы или области отображения. Когда присутствуют одновременно, как маленькие объекты, так и большие, то анализ изображения в разных разрешениях позволит значительно расширить области обработки.

С математической точки зрения изображение является двумерной матрицей значений яркости. Однако при переходе от одной его части к другой, даже такие статистики первого порядка, как гистограммы значительно меняются. Существует набор классических функций, применяемых в вейвлет преобразованиях [5]: вейвлет Хаара, вейвлет Морле, вейвлет Добеши и т.д. Хорошим примером применения вейвлет анализа является задача поиска блика в зрачке глаза, где вейвлетом является сам блик.

В основе вейвлетов лежит корреляция, которая может применяться как в совокупности с другими методами, так и самостоятельно. При распознавании образа в изображении это незаменимый инструмент.

Другим не менее интересным классом фильтрации является фильтрация функций. Она позволяет на простом изображении найти множество кусочков простейших функций (прямая, парабола и т.д.). Наиболее известным является преобразование Хафа, которое позволяет находить любые эффективно вычислимые функции. Его аналогом является преобразование Радона, которое за счет вычисления через быстрое преобразование Фурье дает выигрыш в производительности.

Отдельный раздел фильтрации — фильтрация контуров. Она очень полезна в той ситуации, когда объект достаточно сложный, но имеет четкие границы. Тогда фильтрация контуров является чуть ли не одним из основных инструментов работы с изображением и проводится с использованием операторов Кенни, Лапласа, Прюитта, Собеля и Робертса.

Рассмотренные фильтры могут решить большинство задач, однако не стоит забывать о менее распространенных, но используемых в локальных задачах [6]: итерационные фильтры, курвлет и бамблет преобразования и т.д.

Поле фильтрации на выходе получается набор данных поддающихся обработке. Но порой они все же требуют дополнительных логических преобразований. Поэтому необходимо введение методов, позволяющих перейти от целого изображения к свойствам объектов на нем.

Методы математической морфологии являются средством перехода от фильтрации к логике. Они позволяют убрать шумы на бинарном изображении, изменив размер имеющихся элементов. Также существует множество методов, которые позволяют идентифицировать объект по контуру. Такой подход называется контурным анализом. Особые точки являются уникальными характеристиками которые позволяют сопоставить разные классы объектов. Существует три вида особых точек: особые точки, являющиеся стабильными на протяжении времени; особые точки, являющиеся при смене освещения и небольших движениях объекта; и стабильные особые точки.

Методы машинного обучения и принятия решений являются финальной стадией в распознавании образов. Они находятся на стыке математической статистики, методов оптимизации и классических математических дисциплин, но имеет также и собственную специфику, связанную с проблемами вычислительной эффективности и переобучения. В большинстве случаев суть обучения заключается в следующем: на основе обучающей выборки с признаками каждого класса построить такую модель, с помощью которой машина сможет проанализировать новое изображение и решить, какой из объектов имеется на изображении. Существует два типа обучения: на основе человеческий знаний, перенесенных в компьютер в виде базы и обучение по прецедентам (индуктивное) основанное на выявлении закономерностей. В реальных прикладных задачах входные данные об объектах могут быть неполными, неточными, нечисловыми, разнородными. Эти особенности приводят к большому разнообразию методов машинного обучения.

Таким образом, мы провели краткий анализ существующих методов машинного распознавания образов. Искусственный интеллект и некоторые смежные области, такие как анализ сцен и машинное зрение, все еще пребывают на начальных стадиях развития. Однако, описанные подходы действительно крайне разнообразны и с помощью большинства из них можно решить практически любую задачу распознавания образов.

  1. Вудс Р., Гонсалес Р. Цифровая обработка изображений //М.: Техносфера. — 2005.
  2. Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде MATLAB //М.: Техносфера. — 2006. — Т. 616. — С. 6.
  3. Дж Т., Гонсалес Р. Принципы распознавания образов. — 1978.
  4. Вапник В. Н., Червоненкис А. Я. Теория распознавания образов. Статистические проблемы обучения. — 1974.
  5. Дремин И. М., Иванов О. В., Нечитайло В. А. Вейвлеты и их использование //Успехи физических наук. — 2001. — Т. 171. — № . 5. — С. 465-501.
  6. Шапиро Л., Стокман Д. Компьютерное зрение //М.: Бином. Лаборатория знаний. — 2006. — Т. 752.

Источники:

http://welena.ru/uhod/teoriya-raspoznavaniya-obrazov-obzor-sushchestvuyushchih-metodov-raspoznavaniya.html

http://dic.academic.ru/dic.nsf/ruwiki/25164

http://moluch.ru/archive/132/36964/

Ссылка на основную публикацию
Статьи на тему:

Adblock
detector