Смекни!
smekni.com

Тема 18. Распознавание объектов изображений любое человеческое знание начинается с интуиции, переходит к понятиям и завершается идеями (стр. 3 из 5)

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

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

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

Рис. 18.2.3.

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

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

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

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

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

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

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

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

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

Рис. 18.2.3.

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

18.3. ВЫДЕЛЕНИЕ ОБЪЕКТОВ НА ИЗОБРАЖЕНИИ [1i]

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

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

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

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

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

Рис. 18.3.1.

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

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

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

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

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

(l/L) exp(-s r(C2, C2)),

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

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