Смекни!
smekni.com

Модели теории графов для выделения контуров по градиентному изображению (стр. 2 из 2)

.

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

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

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

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

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

4. Алгоритм выделения контурного изображения

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

4.1. Определения и обозначения

Gg - граф градиентного изображения;

Gc - граф контурного изображения;

E(V1) - окрестность вершины V1 = (i1 , j1), E(V1) =

;

) - окрестность графа контурного изображения, E(G(i)) =

.

4.2. Итерационные шаги алгоритма для связного графа

Найти вершину

, имеющую наименьшую стоимость на графе Gg. Положить Gс(0)=
, т.е. на шаге 10 граф Gс(0) состоит из одной вершины

Пусть уже построен граф G(i) для некоторого

. Тогда, если E(G(ic))
Gg = Gg , то перейти к шагу 4.

Найти вершину

графа Gg, имеющую наименьшую стоимость, причем V
E(G(ic)). Построить путь, имеющий наименьшую стоимость, от вершины
до множества (графа) G(i). (Это можно сделать с помощью волнового алгоритма). Вершины, принадлежащие этому пути, необходимо добавить к графу G(i). В результате мы получим граф контурного изображения Gс(i+1) на следующем итерационном шаге,
, перейти к шагу 2.

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

близко расположенных вершин
=
,
=
, удовлетворяющих условию:
, необходимо проверить справедливость неравенства
. Если это неравенство не выполняется, то для каждой такой пары вершин
необходимо построить путь, имеющий наименьшую стоимость и соединяющий вершины V1 и V2 , и добавить вершины, принадлежащие этому пути, к графу Gc.

Список литературы

Spacek L.A. Edge detection of contours and motion detection// Image Vision Compute, vol.4, p.43, 1986.

David L. Coping with Discontinuities in Computer Vision: Their Detection, Classification, and Measurement// IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.13, №5, 1991.

Petrov M., Kittler J. Optimal Edge Detectors for Ramp Edges// IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.13, №.5, 1991.

Дуда Р., Харт П. Распознавание образов и анализ сцен. - М.: Мир, 1976.