Обработка и распознавание изображений (курс лекций, Л.М. Местецкий). Распознавание объектов

ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ

Тема 18. РАСПОЗНАВАНИЕ ОБЪЕКТОВ ИЗОБРАЖЕНИЙ

Любое человеческое знание начинается с интуиции, переходит к понятиям и завершается идеями.

Иммануил Кант. Немецкий философ. XVIII в.

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

Георгий Коргуль, Уральский геофизик. ХХ в.

Введение.

1. Предварительная обработка изображений. Коррекция яркости и контрастности изображений. Гистограммы яркости. Выравнивание освещенности изображений. Улучшение пространственного разрешения.

2. Определение границ объектов на изображении. Поиск границ на основе градиента. Поиск границ на основе лапласиана.

3. Выделение объектов на изображении. Алгоритм "волшебная палочка". Алгоритм "умные ножницы". Сегментация при помощи разрезов на графах.

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

5. Обнаружение и распознавание объектов изображений. Обнаружение объектов. Способ прямого сравнения объекта с эталонным изображением. Корреляционный метод. Методы распознавания на основе системы признаков.

ВВЕДЕНИЕ

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

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

^ 18.1. предварительная обработка ИЗОБРАЖЕНИй

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

Коррекция яркости и контрастности изображений .

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

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

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

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

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

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

Гистограммы яркости. Инструментом для оценки уровней интенсивности пикселей является гистограмма - графическое отображение количественной характеристики вероятностного распределения интенсивности (яркости) пикселей в выделенном участке изображения. Максимальному значению интенсивности пикселей присваивается уровень градации интенсивности 255 (белый цвет), самому темному - значение 0 (черный цвет). Интенсивности в диапазоне от 0 до 255 имеют линейную шкалу изменения, либо устанавливаемую в соответствии с принятой функцией изменения, например, усиливающей слабые сигналы (градации серого) и ослабляющей сильные сигналы (в области белого цвета), чем повышается пространственное и контрастное разрешение изображения или определенной зоны интереса.

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

Многие изображения характеризуются гистограммами с высокой концентрацией линий в определенных зонах распределения интенсивности. Часто гистограмма распределения яркостей изображения имеет перекос в сторону малых уровней (яркость большинства элементов ниже средней). Одним из методов улучшения качества таких изображений является видоизменение их гистограммы. Выравнивание гистограммы может быть осуществлено на основе возведения в степень модуля спектральных коэффициентов Фурье-преобразования изображения, при этом знак и фаза коэффициентов сохраняется. Если обозначить показатель степени α, то при α<1 операция извлечения корня степени α уменьшает большие спектральные коэффициенты и увеличивает малые. Такое перераспределение энергии в частотной плоскости изображения приводит к более эффективному использованию динамического диапазона интенсивностей пикселей изображения в пространственной области.

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

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

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

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

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

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

Обычно для размытия изображения применяется двумерный гауссовский фильтр, имеющий вид h(x, y) = A exp(-(x 2 +y 2) /2 2). Здесь A – нормирующая константа (сумма всех коэффициентов фильтра должна быть равна 1), σ – «ширина» фильтра, регулирующая степень размытия.

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

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

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

А) «величины» - степени влияния воздействия на резкость изображения;

Б) «радиуса» - толщины контура резкости;

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

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

При обработке изображений важную роль играют алгоритмы ранговой фильтрации, позволяющие устранять «размытость» деталей (улучшить их фокусировку) за счет выбора двумерной n×n маски пикселей, выполнения операции ранжирования значений интенсивности пикселей в пределах задаваемой маски и присвоения центральному пикселю значения, равного максимальному значению по ранжиру. К виду ранговой относится также процедура медианной фильтрации, устраняющая в изображении некоррелированные случайные сигналы и импульсные помехи без "размытия" резких перепадов яркости на границах объектов.

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

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

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

^ 18.2. ОПРЕДЕЛЕНИЕ ГРАНИЦ ОБЪЕКТОВ НА ИЗОБРАЖЕНИИ

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

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

Будем называть контуром изображения совокупность его пикселов, в окрестности которых наблюдается скачкообразное изменение функции яркости. Так как при цифровой обработке изображение представлено как функция целочисленных аргументов, то контуры представляются линиями шириной, как минимум, в один пиксел. Если исходное изображение, кроме областей постоянной яркости, содержит участки с плавно меняющейся яркостью, то непрерывность контурных линий не гарантируется. С другой стороны, если на “кусочно-постоянном” изображении присутствует шум, то могут быть обнаружены “лишние” контуры в точках, которые не являются границами областей.

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

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

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

Поиск границ на основе градиента. Одним из наиболее простых способов выделения границ является пространственное дифференцирование функции яркости. Для двумерной функции яркости A(x, y) перепады в направлениях x и y регистрируются частными производными A(x, y)/x и A(x, y)/y, которые пропорциональны скоростям изменения яркости в соответствующих направлениях.

Рис. 18.2.1.


Выделение перепадов яркости иллюстрирует рис. 18.2.1. На нем можно видеть, что подчеркивание контуров, перпендикулярных к оси x, обеспечивает производная A(x, y)/x (рис. б), а подчеркивание контуров, перпендикулярных к оси y, – A(x, y)/y (рис. в).

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

|A(x, y)| = ,

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

Для цифровых изображений аналогами частных производных и модуля градиента являются разностные функции.

Практический пример выделения границ на фотоизображении приведен на рис. 18.2.2. Исходное изображение (1) является однотонным. На изображении (2) представлен результат вычисления вектора градиента яркости Аx, y) = (A/x, A/y). Как видно на рисунке, в точках большого перепада яркости градиент имеет большую длину. Отфильтровав пиксели с длиной градиента, большей определенного порога , мы получим изображение границ (3).



Рис. 18.2.2.
Недостаток алгоритма - пропуск границы с малыми перепадами яркости и включение в число границ деталей изображения с большими изменениями яркости (шкурка бурундука). При зашумлении изображения карту граничных точек будут загрязнять и просто шум, поскольку не учитывается, что граничные точки соответствуют не просто перепадам яркости, а перепадам яркости между относительно монотонными областями.

Для снижения влияния данного недостатка изображение сначала подвергают сглаживающей гауссовской фильтрации. При сглаживающей фильтрации мелкие несущественные детали размываются быстрее перепадов между областями. Результат операции можно видеть на изображении (4). Однако при этом четко выраженные границы расплываются в жирные линии.

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

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


Рис. 18.2.3.
При проведении гистерезисной фильтрации вводят не одно, а два пороговых значения. Меньшее () соответствует минимальной длине градиента, при которой пиксель может быть признан граничным. Большее (), соответствует минимальной длине градиента, при которой пиксель может инициализировать контур. После того как контур инициализируется в максимальном пикселе P с длиной градиента, большей , рассматриваются каждый соседний с ним максимальный пиксель Q . Если пиксель Q имеет длину градиента, большую , и угол между векторами PQ и (P ) близок к 90 o , то P добавляется к контуру, и процесс рекурсивно переходит к Q. Его результат для исходного изображения на рис. 18.2.2 показан на рис. 18.2.3.

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

Гауссовская сглаживающая фильтрация;

Нахождение градиента яркости в каждом пикселе;

Нахождение максимальных пикселей;

Гистерезисная фильтрация максимальных пикселей.

Этот алгоритм носит названия алгоритма Кэнни и наиболее часто применяется для нахождения границ.

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

В двумерном варианте аналогом второй производной является лапласиан - скалярный оператор   f) = (2 f/x + 2 f/y).


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

^ 18.3. ВЫДЕЛЕНИЕ ОБЪЕКТОВ НА ИЗОБРАЖЕНИИ

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

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

Алгоритм "Волшебная палочка" (Magic wand) был одним из первых алгоритмов интерактивной сегментации. Пользователь последовательно указывает точки объекта, а алгоритм выделяет окрестные пиксели с похожим цветом и (по решению пользователя) добавляет выделенную область к объекту. Для оценки "похожести" пользователем задается матрица порогов чувствительности расстояния между цветами. Чем он больше, тем больше пикселей выделится на одном шаге. При этом в область "похожих" цветов выделяются только связные пиксели.

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

Алгоритм "умные ножницы" используется с 1996 году, завоевал популярность и был встроен в распространенный редактор фотоизображений Adobe Photoshop. При использовании алгоритма пользователь обводит границу между объектом и фоном, указывая точки на границе с некоторым промежутком, а "умные ножницы" проводят граничную линию между последовательно указанными точками.


Рис. 18.3.1.
Представим себе растр изображения в виде графа (рис. 18.3.1) с ребрами, образованными сторонами пикселей. При указании пользователем двух последовательных точек P и Q алгоритм "ножниц" вычисляет минимальное расстояние между точками P и Q по ребрам графа, при этом условная геометрическая длина каждого ребра на этом пути имеет обратную зависимость от величины цветового перепада пикселей по его сторонам. Поскольку ребра, соответствующие резким цветовым перепадам, будут иметь меньшую условную длину, "умные ножницы" стремятся провести границу именно по таким ребрам.

"Умные ножницы" существенно ускоряют процесс выделения объекта. Однако и они работают не очень хорошо при наличии пестрого фона и/или пестрого объекта. В таких случаях требуется указывать большее количество граничных точек.

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

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

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

(/L) exp(- (C 2 , C 2)),

Где L - геометрическая длина ребра, C 1 и C 2 - цвета вершин, соединяемых ребром, λ и σ - некоторые (положительные) параметры, (..) – матрица чувствительности по перепаду цвета. Данный вес тем меньше, чем больше разница между цветами вершин.

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

Рассмотрим распределение цветов вершин множества A (например, как гистограмму). Для всех пиксельных вершин не из множества A, припишем ребрам, соединяющим их с истоком, вес, пропорциональный согласованности их цвета с этим распределением цветов, при этом вес ребра будет тем больше, чем больше "похож" цвет вершины на цвета вершин множества A. Аналогичную процедуру проделаем для множества B и ребер, соединяющих пиксельные вершины со стоком.

Все ребра графа "разрежем" на два непересекающихся множества - истоковое и стоковое, и будем считать, что вершины, попавшие в истоковое множество, соответствуют пикселям объекта, а остальные, попавшие в стоковое множество соответствуют пикселям фона. Число возможных вариантов разрезов равно 2 P , где P - число пикселей, так как каждую пиксельную вершину можно отнести либо в истоковое, либо в стоковое множестве.


Рис. 18.3.2.
Весом разреза назовем сумму весов всех разрезанных ребер, за исключением ребер с бесконечным весом. Минимальным разрезом назовем разрез с минимальным весом, при этом истоковые пиксели этого разреза будут соответственно отнесены к пикселям объекта, а стоковые – к фону. Граница между объектом и фоном будет проведена по возможности между пикселями с сильно отличающимися цветами.

Идеального разделения, естественно, быть не может. Например, участок изображения может быть похож по цвету на фон (пиксели множества B), но окружен пикселями множества A и не отделен от них резкой границей. В таких случаях выбор параметра λ в формуле веса ребер устанавливает баланс между последними двумя пунктами. При увеличении значения λ, увеличивается важность того, чтобы граница между фоном и объектом проходила между пикселями с разными цветами, а при уменьшении - увеличивается важность того, чтобы пиксели, похожие по цвету на пиксели множества A (или B), были отнесены к объекту (фону). Пример выделения объекта приведен на рис. 18.3.2.

^ 18.4. Выделение признаков объектов

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

При обработке предпочтительными являются следующие признаки объектов:

– площадь и периметр изображения объекта;

– размеры вписанных простейших геометрических фигур (окружностей, прямоугольников, треугольников и др.);

– число и взаимное расположение углов;

– моменты инерции изображений объектов.

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

Определение площади и периметра. Площадь изображения объекта вычисляется путём подсчёта числа элементов, относящихся к объекту:

A=S(x, y), S(x, y) = ,

Где L - множество координат массива S(x, y), принадлежащих выделенному объекту.

Периметр изображения объекта Р вычисляется после выделения границ объекта путем суммирования множество контурных точек изображения объекта.

На основе выделенных признаков нормированный признак, инвариантный к масштабу изображения U = A/P 2 или V = P/.

Определение радиусов вписанных и описанных окружностей (рис. 18.4.1) складывается из двух этапов.


Рис. 18.4.1.
1. Определение координат геометрического центра изображения объекта:

Х ц = xS(x, y) /S(x, y), Y ц = yS(x, y) /S(x, y),

Где x и y – номера строк и столбцов всех пикселей S(x, y), входящих в объект.

2. Вычисление минимального и максимального расстояний от центра до границ изображения объекта.

R(x, y) = .

R max = r (x , y max); R min = r (x , y min), где x , y  P (точки периметра).

Нормированный признак R′ = R max ⁄ R min инвариантен к масштабу изображения объекта.


Рис. 18.4.2.
Определение сторон описанного прямоугольника (рис. 18.4.2) выполняется следующим образом. Определяются максимальные и минимальные значения абсцисс и ординат изображения объекта x max и x min , y max и y min , после чего определяются высота и основание прямоугольника:

L = x max - x min , H = y max - y min .

Данный признак не инвариантен к развороту изображения объекта.

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


Рис. 18.4.3.
С практической точки зрения предпочтительным представляется более простой алгоритм. Он заключается в оценке расстояний между начальной и конечной точками фрагмента контура, например, между элементами контура с порядковыми номерами k – 2 и k + 2 на рис. 18.4.3.

Пусть x(k) и y(k) абсцисса и ордината контурных элементов соответственно. Тогда решающее правило может выглядеть следующим образом:

{|x(k-2)−x(k+2)|+|y(k−2)−y(k+2)| ≤H}.

Если условие выполняется, тогда данная точка контура принадлежит множеству угловых точек L. Здесь H – пороговое значение, выбираемое с учётом свойств объектов.

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



Рис. 18.4.4.
Обозначим главные искомые моменты инерции изображения объекта через J 1 и J 2 . Чтобы найти J 1 и J 2 , необходимо предварительно определить так называемые промежуточные моменты J x и J y , т.е. моменты инерции относительно вертикальной и горизонтальной осей системы координат, а также смешанный момент J x,y (рис. 18.4.4а).

Порядок вычислений:

1. Определяются координаты центра "тяжести" (энергетического центра) изображения объекта.

Х цэ = xA(x, y) /A(x, y), Y цэ = yA(x, y) /A(x, y),

2. Определяются промежуточные моменты J x , J y , J x , y .

J x = [(x- Х цэ) 2 A(x, y)], Y x = [(y- Y цэ) 2 A(x, y)],

J xy = [(x- Х цэ) (y- Y цэ) A(x, y)].

3. Вычисляются главные моменты.

J 1,2 = .

^ 18.5. обнаружение и распознавание объектов ИЗОБРАЖЕНИЙ

Обнаружение объектов. Обнаружение (выявление) образов объектов в искажённом шумами и помехами изображении может быть определено в виде процедуры проверки определенного условия сравнения двух чисел - результата преобразования анализируемого изображения и определенного порогового значения:

L ≥ П. (18.5.1)

Здесь L[.] – оператор преобразования исходного изображения, П[.] – оператор формирования порогового значения. Решение о наличии объекта принимается в случае выполнения условия. Качество обнаружения характеризуется вероятностью выполнения условия при наличии объекта в анализируемом изображении.

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

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

Способ прямого сравнения объекта с эталонным изображением. Пусть S(x, y) – исходное изображение объекта, F(x, y) – эталонное изображение. Алгоритм прямого сравнения имеет вид:

T = (S(x, y) - F(x, y)) 2 ≤ D, (18.5.2)

Где D – порог различия.

Способ прост и может быть легко реализован. Однако, при наличии в реальных условиях дестабилизирующих факторов надёжность способа невелика. При большем значении порога D условию (18.5.2), могут удовлетворять различные объекты и могут возникнуть ошибки, связанные с неправильной идентификацией объекта (ошибки первого рода). При уменьшении D могут возникнуть ошибки типа пропуска объекта (ошибки второго рода). Регулируя величину D, можно лишь менять соотношение между вероятностями возникновения ошибок первого и второго рода в соответствии с заданным критерием оптимальности.

Корреляционный метод основан на вычислении взаимной корреляции между объектами и эталонами. Из множества k альтернативных вариантов выбирается тот объект (или эталон), при котором получается максимальная сумма взаимной корреляции:

K(k) = S k (x, y) F k (x, y). (18.5.3)

При идентификации объектов удобно пользоваться коэффициентами корреляции, которые в первом приближении дают и оценку вероятности отнесения объекта к данному эталону:

R(k) = K(k)/K max (k), K max (k) = F k 2 (x, y), (18.5.3)

Где K max (k) – значения автокорреляции эталонов.

Корреляционный метод более надёжен, но требует значительно большего объёма вычислений. Но при обработке бинарных изображений это не столь существенно, поскольку перемножение однобитовых чисел сводится к простой логической операции «И».

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

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

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

А.В.Давыдов.

литература

46. Хуанг Т.С. и др. Быстрые алгоритмы в цифровой обработке изображений. – М.: Радио и связь, 1984. – 224 с.

47. Сойфер В.А. Компьютерная обработка изображений. Часть 2. Методы и алгоритмы. – Соросовский образовательный журнал №3, 1996.

48. Апальков И.В., Хрящев В.В. Удаление шума из изображений на основе нелинейных алгоритмов с использованием ранговой статистики. - Ярославский государственный университет, 2007.

49. Андреев А.Л. Автоматизированные телевизионные системы наблюдения. Часть II. Арифметико -логические основы и алгоритмы. Учебное пособие. - СПб: СПб, ГУИТМО, 2005. – 88с.

50. Розенфельд Л.Г. и др. Возможности постобработки диагностических КТ и МРТ-изображений на персональном компьютере. - Український медичний часопис – № 6 (56) – XI/XII, 2006.

51. Лукин А. Введение в цифровую обработку сигналов (Математические основы).- М.: МГУ, Лаборатория

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

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

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

В общем случае процесс распознавания изображений с помощью компьютера заключается в следующем.

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

2. Предварительная обработка. Удаление шумов, нормализация для сравнения с эталоном, сегментация (выделение локальной информации, необходимой для распознавания) и т. п.

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

4. Понимание и оценка. Процессом понимания изображения

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

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

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

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

элементов изображения с помощью нечеткой кластеризации. Однако, поскольку абсолютно идентичные элементы встречаются редко, необходима «размытая» кластеризация. Аналогичные методы применяются и при классификации образов, имеющих разброс относительно эталонного образа (распознавание рукописных знаков, речи и т. п.).

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

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

Аннотация: В лекции рассматриваются характеристики задач распознавания образов и их типы, основы теории анализа и распознавания изображений (признаковый метод), распознавание по методу аналогий. Среди множества интересных задач по распознаванию рассмотрены принципы и подход к распознаванию в задачах машинного чтения печатных и рукописных текстов.

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

Общая характеристика задач распознавания образов и их типы.

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


Рис. 4.1.

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

Задачи распознавания имеют следующие характерные черты .

  1. Это информационные задачи , состоящие из двух этапов: а) приведение исходных данных к виду, удобному для распознавания ; б) собственно распознавание (указание принадлежности объекта определенному классу).
  2. В этих задачах можно вводить понятие аналогии или подобия объектов и формулировать понятие близости объектов в качестве основания для зачисления объектов в один и тот же класс или разные классы.
  3. В этих задачах можно оперировать набором прецедентов-примеров , классификация которых известна и которые в виде формализованных описаний могут быть предъявлены алгоритму распознавания для настройки на задачу в процессе обучения.
  4. Для этих задач трудно строить формальные теории и применять классические математические методы (часто недоступна информация для точной математической модели или выигрыш от использования модели и математических методов не соизмерим с затратами).
  5. В этих задачах возможна "плохая" информация (информация с пропусками, разнородная, косвенная, нечеткая, неоднозначная, вероятностная).

Целесообразно выделить следующие типы задач распознавания .

  1. Задача распознавания - отнесение предъявленного объекта по его описанию к одному из заданных классов ( обучение с учителем ).
  2. Задача автоматической классификации - разбиение множества объектов (ситуаций) по их описаниям на систему непересекающихся классов ( таксономия , кластерный анализ , обучение без учителя).
  3. Задача выбора информативного набора признаков при распознавании .
  4. Задача приведения исходных данных к виду, удобному для распознавания .
  5. Динамическое распознавание и динамическая классификация - задачи 1 и 2 для динамических объектов.
  6. Задача прогнозирования - это задачи 5, в которых решение должно относиться к некоторому моменту в будущем.

Основы теории анализа и распознавания изображений.

Пусть дано множество M объектов ; на этом множестве существует разбиение на конечное число подмножеств (классов) i = {1,m} , Объекты задаются значениями некоторых признаков x j , j= {1,N}. Описание объекта называют стандартным, если принимает значение из множества допустимых значений.

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

где i= {1,m}, - неизвестно.

Таблица 4.1. Таблица обучения
Объект Признаки и их значения Класс
x 1 x j x n
...
r11
...
...

Рассмотрим алгоритмы распознавания , основанные на вычислении оценок. В их основе лежит принцип прецедентности (в аналогичных ситуациях следует действовать аналогично).

Пусть задан полный набор признаков x 1 , ..., x N . Выделим систему подмножеств множества признаков S 1 , ..., S k . Удалим произвольный набор признаков из строк , , ..., и обозначим полученные строки через , , ..., , .

Правило близости, позволяющее оценить похожесть строк и состоит в следующем. Пусть "усеченные" строки содержат q первых символов, то есть и Заданы пороги ... , Строки и считаются похожими, если выполняется не менее чем неравенств вида

Величины ... , входят в качестве параметров в модель класса алгоритмов на основе оценок.

Пусть - оценка объекта по классу .

Описания объектов , предъявленные для распознавания , переводятся в числовую матрицу оценок. Решение о том, к какому классу отнести объект , выносится на основе вычисления степени сходства распознавания объекта (строки) со строками, принадлежность которых к заданным классам известна.

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

x 1 - количество вертикальных линий минимального размера;

  • Обязательный курс для студентов 3 курса каф. ММП , читается в 6 семестре
  • Обязательный курс для студентов 1 курса магистратуры каф. АСВК , читается в 2 семестре
  • Лекции - 32 часа
  • Форма контроля - экзамен
  • Автор программы: профессор Местецкий Л.М.
  • Лектор: профессор Местецкий Л.М.

Аннотация

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

В первую часть курса (18 часов) входят вопросы преобразования изображений различного типа с целью генерации признаковых описаний. Вначале изучаются методы точечной, пространственной геометрической, алгебраической и межкадровой обработки изображений. Далее рассматриваются методы генерации признаков на основе разложения изображений по базисным функциям (преобразование Карунена-Лоева, дискретное преобразование Фурье, вейвлет-разложение), статистического анализа текстуры изображений, а также анализа формы изображений (построение границ, скелетов, преобразование Хафа).

Во второй части курса (8 часов) рассматриваются методы построения метрик для сравнения изображений (сравнение спектральных разложений, наложение и выравнивание образов).

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

Предмет и задачи обработки и распознавания цифровых изображений

Растровые устройства получения и воспроизведения изображений (камеры, сканеры, дисплеи, принтеры), оцифровка изображений. Модели изображений. Задачи обработки, анализа и классификации изображений. Прикладные системы, программное обеспечение.

Точечные методы обработки изображений

Гистограммы интенсивности. Преобразования на основе анализа гистограмм интенсивности. Точечные преобразования (просветление, негативное изображение, бинаризация, псевдораскрашивание).

Пространственные методы обработки изображений

Пространственная частота изображения. Свертка изображения. Построение фильтров: низкочастотные, полосные и высокочастотные фильтры. Усиление края, методы Лапласа, Робертса, Кирша и Собеля, методы сдвига и разности, метод направленного градиента.

Геометрические и алгебраические методы обработки изображений

Алгебраические преобразования (сложение, вычитание изображений). Геометрические преобразования (монохромная интерполяция, аффинные и нелинейные преобразования).

Методы межкадровой обработки изображений

Геометрия нескольких проекций. Стереозрение. Определение движения объекта.

Анализ изображений на основе разложения по базисным функциям

Базисные вектора и базисные матрицы. Разложение Карунена-Лоева. Дискретное преобразование Фурье. Косинусное преобразование. Непрерывное и дискретное вейвлетные преобразования. Вейвлетное разложение. Вейвлетная селекция.

Статистические методы анализа текстур

Региональные признаки. Методы измерения текстур, основанные на статистиках первого порядка. Методы измерения текстур, основанные на статистиках второго порядка.

Методы анализа формы изображений

Концепции формы. Сегментация, выделение формы. Представление формы. Характеристики формы и их измерение. Скелетизация. Преобразование Хафа. Бинарная математическая морфология. Эрозия и дилатация. Морфологические алгоритмы на дискретных бинарных изображениях.

Метрики для измерения сходства изображений

Сравнение спектральных разложений. Классификация методом сравнения с эталоном. Сходство, основанное на поиске оптимального пути. Принцип оптимальности Беллмана и динамическое программирование. «Беспризнаковое» распознавание.

Распознавание текстов по изображениям документов

Сегментация документов и текстов. Выравнивание текстов. Распознавание печатных символов. Распознавание рукописных текстов.

Биометрическая идентификация на основе распознавания изображений

Классификацияи радужных оболочек глаза методом Даугмана. Классификация силуэтов ладоней методом сравнеия гибких объектов. Метод выделения особых точек в папиллярном узоре.

Распознавание динамических сцен

Распознавание жестов. Распознавание мимики. Распознавание поз.

Самостоятельная работа студента

Вычислительный практикум по обработке и классификации изображений

Задание 1. Тема: Изучение и освоение методов обработки и сегментации изображений. Разработать и реализовать программу для работы с изображений фишек игрового набора Тантрикс.

Задание 1, PDF

Задание 2. Тема: Изучение и освоение методов классификации формы изображений. Разработать и реализовать программу для классификации изображений ладоней. »

  • Tutorial

Давно хотел написать общую статью, содержащую в себе самые основы 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. Традиционным методом в радиолокации, который почти не используется в изображениях в чистом виде, является преобразование Фурье (конкретнее - БПФ). Одно из немногих исключение, при которых используется одномерное преобразование Фурье, - компрессия изображений . Для анализа изображений одномерного преобразования обычно не хватает, нужно использовать куда более ресурсоёмкое двумерное преобразование .

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


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



Вейвлеты
Но что если использовать для свёртки с сигналом некую произвольную характеристическую функцию? Тогда это будет называться "Вейвлет-преобразование ". Это определение вейвлетов не является корректным, но традиционно сложилось, что во многих командах вейвлет-анализом называется поиск произвольного паттерна на изображении при помощи свёртки с моделью этого паттерна. Существует набор классических функций, используемых в вейвлет-анализе. К ним относятся вейвлет Хаара , вейвлет Морле , вейвлет мексиканская шляпа , и.т.д. Примитивы Хаара, про которые было несколько моих прошлых статей ( , ), относятся к таким функциям для двумерного пространства.


Выше приведено 4 примера классических вейвлетов. 3х-мерный вейвлет Хаара, 2х-мерные вейвлет Мейера, вейвлет Мексиканская Шляпа, вейвлет Добеши. Хорошим примером использования расширеной трактовки вейвлетов является задачка поиска блика в глазу, для которой вейвлетом является сам блик:

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

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


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

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



Прочие фильтры
Сверху приведены фильтры, модификации которых помогают решить 80-90% задач. Но кроме них есть более редкие фильтры, используемые в локальных задачах. Таких фильтров десятки, я не буду приводить их все. Интересными являются итерационные фильтры (например активная модель внешнего вида), а так же риджлет и курвлет преобразования, являющиеся сплавом классической вейвлет фильтрации и анализом в поле радон-преобразования. Бимлет-преобразование красиво работает на границе вейвлет преобразования и логического анализа, позволяя выделить контуры:

Но эти преобразования весьма специфичны и заточены под редкие задачи.

Часть 2. Логическая обработка результатов фильтрации

Фильтрация даёт набор пригодных для обработки данных. Но зачастую нельзя просто взять и использовать эти данные без их обработки. В этом разделе будет несколько классических методов, позволяющих перейти от изображения к свойствам объектов, или к самим объектам.
Морфология
Переходом от фильтрации к логике, на мой взгляд, являются методы математической морфологии ( , , ). По сути, это простейшие операции наращивания и эрозии бинарных изображений. Эти методы позволяют убрать шумы из бинарного изображения, увеличив или уменьшив имеющиеся элементы. На базе математической морфологии существуют алгоритмы оконтуривания, но обычно пользуются какими-то гибридными алгоритмами или алгоритмами в связке.
Контурный анализ
В разделе по фильтрации уже упоминались алгоритмы получения границ. Полученные границы достаточно просто преобразуются в контуры. Для алгоритма Кэнни это происходит автоматически, для остальных алгоритмов требуется дополнительная бинаризация. Получить контур для бинарного алгоритма можно например алгоритмом жука .
Контур является уникальной характеристикой объекта. Часто это позволяет идентифицировать объект по контуру. Существует мощный математический аппарат, позволяющий это сделать. Аппарат называется контурным анализом ( , ).

Если честно, то у меня ни разу ни получилось применить контурный анализ в реальных задачах. Уж слишком идеальные условия требуются. То граница не найдётся, то шумов слишком много. Но, если нужно что-то распознавать в идеальных условиях - то контурный анализ замечательный вариант. Очень быстро работает, красивая математика и понятная логика.
Особые точки
Особые точки это уникальные характеристики объекта, которые позволяют сопоставлять объект сам с собой или с похожими классами объектов. Существует несколько десятков способов позволяющих выделить такие точки. Некоторые способы выделяют особые точки в соседних кадрах, некоторые через большой промежуток времени и при смене освещения, некоторые позволяют найти особые точки, которые остаются таковыми даже при поворотах объекта. Начнём с методов, позволяющих найти особые точки, которые не такие стабильные, зато быстро рассчитываются, а потом пойдём по возрастанию сложности:
Первый класс. Особые точки, являющиеся стабильными на протяжении секунд. Такие точки служат для того, чтобы вести объект между соседними кадрами видео, или для сведения изображения с соседних камер. К таким точкам можно отнести локальные максимумы изображения, углы на изображении (лучший из детекторов, пожалуй, детектор Хариса), точки в которых достигается максимумы дисперсии, определённые градиенты и.т.д.
Второй класс. Особые точки, являющиеся стабильными при смене освещения и небольших движениях объекта. Такие точки служат в первую очередь для обучения и последующей классификации типов объектов. Например, классификатор пешехода или классификатор лица - это продукт системы, построенной именно на таких точках. Некоторые из ранее упомянутых вейвлетов могут являются базой для таких точек. Например, примитивы Хаара, поиск бликов, поиск прочих специфических функций. К таким точкам относятся точки, найденные методом гистограмм направленных градиентов (HOG).
Третий класс. Стабильные точки. Мне известно лишь про два метода, которые дают полную стабильность и про их модификации. Это SURF и SIFT . Они позволяют находить особые точки даже при повороте изображения. Расчёт таких точек осуществляется дольше по сравнению с остальными методами, но достаточно ограниченное время. К сожалению эти методы запатентованы. Хотя, в России патентовать алгоритмы низя, так что для внутреннего рынка пользуйтесь.

Часть 3. Обучение

ретья часть рассказа будет посвящена методам, которые не работают непосредственно с изображением, но которые позволяют принимать решения. В основном это различные методы машинного обучения и принятия решений. Недавно Яндыкс выложил на Хабр курс по этой тематике, там очень хорошая подборка. Вот оно есть в текстовой версии. Для серьёзного занятия тематикой настоятельно рекомендую посмотреть именно их. Тут я попробую обозначить несколько основных методов используемых именно в распознавании образов.
В 80% ситуаций суть обучения в задаче распознавания в следующем:
Имеется тестовая выборка, на которой есть несколько классов объектов. Пусть это будет наличие/отсутствие человека на фотографии. Для каждого изображения есть набор признаков, которые были выделены каким-нибудь признаком, будь то Хаар, HOG, SURF или какой-нибудь вейвлет. Алгоритм обучения должен построить такую модель, по которой он сумеет проанализировать новое изображение и принять решение, какой из объектов имеется на изображении.
Как это делается? Каждое из тестовых изображений - это точка в пространстве признаков. Её координаты это вес каждого из признаков на изображении. Пусть нашими признаками будут: «Наличие глаз», «Наличие носа», «Наличие двух рук», «Наличие ушей», и.т.д… Все эти признаки мы выделим существующими у нас детекторами, которые обучены на части тела, похожие на людские. Для человека в таком пространстве будет корректной точка . Для обезьяны точка для лошади . Классификатор обучается по выборке примеров. Но не на всех фотографиях выделились руки, на других нет глаз, а на третьей у обезьяны из-за ошибки классификатора появился человеческий нос. Обучаемый классификатор человека автоматически разбивает пространство признаков таким образом, чтобы сказать: если первый признак лежит в диапазоне 0.5 По существу цель классификатора - отрисовать в пространстве признаков области, характеристические для объектов классификации. Вот так будет выглядеть последовательное приближение к ответу для одного из классификаторов (AdaBoost) в двумерном пространстве:


Существует очень много классификаторов. Каждый из них лучше работает в какой-то своей задачке. Задача подбора классификатора к конкретной задаче это во многом искусство. Вот немножко красивых картинок на тему.
Простой случай, одномерное разделение
Разберём на примере самый простой случай классификации, когда пространство признака одномерное, а нам нужно разделить 2 класса. Ситуация встречается чаще, чем может представиться: например, когда нужно отличить два сигнала, или сравнить паттерн с образцом. Пусть у нас есть обучающая выборка. При этом получается изображение, где по оси X будет мера похожести, а по оси Y -количество событий с такой мерой. Когда искомый объект похож на себя - получается левая гауссиана. Когда не похож - правая. Значение X=0.4 разделяет выборки так, что ошибочное решение минимизирует вероятность принятия любого неправильного решения. Именно поиском такого разделителя и является задача классификации.


Маленькая ремарка. Далеко не всегда оптимальным будет тот критерий, который минимизирует ошибку. Следующий график - это график реальной системы распознавания по радужной оболочке. Для такой системы критерий выбирается такой, чтобы минимизировать вероятность ложного пропуска постороннего человека на объект. Такая вероятность называется «ошибка первого рода», «вероятность ложной тревоги», «ложное срабатывание». В англоязычной литературе «False Access Rate ».
) АдаБуста - один из самых распространённых классификаторов. Например каскад Хаара построен именно на нём. Обычно используют когда нужна бинарная классификация, но ничего не мешает обучить на большее количество классов.
SVM ( , , , ) Один из самых мощных классификаторов, имеющий множество реализаций. В принципе, на задачах обучения, с которыми я сталкивался, он работал аналогично адабусте. Считается достаточно быстрым, но его обучение сложнее, чем у Адабусты и требуется выбор правильного ядра.

Ещё есть нейронные сети и регрессия. Но чтобы кратко их классифицировать и показать, чем они отличаются, нужна статья куда больше, чем эта.
________________________________________________
Надеюсь, у меня получилось сделать беглый обзор используемых методов без погружения в математику и описание. Может, кому-то это поможет. Хотя, конечно, статья неполна и нет ни слова ни о работе со стереоизображениями, ни о МНК с фильтром Калмана, ни об адаптивном байесовом подходе.
Если статья понравится, то попробую сделать вторую часть с подборкой примеров того, как решаются существующие задачки ImageRecognition.

И напоследок

Что почитать?
1) Когда-то мне очень понравилась книга «Цифровая обработка изображений» Б. Яне, которая написана просто и понятно, но в то же время приведена почти вся математика. Хороша для того, чтобы ознакомиться с существующими методами.
2) Классикой жанра является Р Гонсалес, Р. Вудс " Цифровая обработка изображений ". Почему-то она мне далась сложнее, чем первая. Сильно меньше математики, зато больше методов и картинок.
3) «Обработка и анализ изображений в задачах машинного зрения» - написана на базе курса, читаемого на одной из кафедр ФизТеха. Очень много методов и их подробного описания. Но на мой взгляд в книге есть два больших минуса: книга сильно ориентирована на пакет софта, который к ней прилагается, в книге слишком часто описание простого метода превращается в математические дебри, из которых сложно вынести структурную схему метода. Зато авторы сделали удобный сайт, где представлено почти всё содержание - wiki.technicalvision.ru Добавить метки