Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Luciv / МКОИ_пособие

.pdf
Скачиваний:
51
Добавлен:
21.03.2016
Размер:
5.37 Mб
Скачать

3.2.3 Метод отсечения ложных ветвей

При формировании остова возникают некоторые «паразитные» отростки, которые нарушают восприятие формы. Чтобы удалить эти отростки используется метод отсечения ложных ветвей [19].

Рассмотрим выполнение алгоритма отсечения ложных ветвей на примере, показанном на рис. 3.8 а).

а) б)

Рисунок 3.8 а) Изображение скелетона с ложной ветвью, выделенной красным эллипсом; б) Результат утончения области.

Первая операция – это утончение в соответствии с (3.9) и формирование множества X1 (рис. 3.8 б). Структурирующие элементы представлены на рис. 3.9.

Формируется изображение X2a , как показано на рис. 3.10.

=-1

 

 

 

= 1

X = 0

 

 

 

 

 

 

центр

X

X

B1

B5

X X

B2

B6

X

X

B3

B7

X X

B4

B8

Рисунок 3.9 Примитивы, используемые при утончении

91

Затем производится выделение концевых точек, для чего выполняется свертка множества X1 с импульсной характеристикой вида:

1

1

1

 

 

 

1

0

1 .

1

1

1

 

 

 

Выделение концевых точек:

H=ones(3,3); H(2,2)=0;

X1g=uint8(X1);

X2a=imfilter(X1g,H)

X1

X2a

X2=X1&X2b

X2b=(X2a==1)

множество концевых точек X2

Рисунок 3.10 Выделение концевых точек

Из него формируется изображение X2b , в котором 1 присваиваются элементам, адреса которых соответствуют единичным значениям в изображении X2a . Изображение концевых точек формируется путем выполнения логической операции «И» над изображениями X1 и X2b , получается изображение концевых точек X2 .

Выполняется операция восстановления области в соответствии со схемой, показанной на рис. 3.11. Здесь k – номер итерации.

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

На рис. 3.12 приведен пример отсечения ложных ветвей при разном числе итераций.

Выводы

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

Методы выполняются как многоитерационные процедуры.

92

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

Восстановление

X33

X4

X3k = ((((X2 H)I A) H I A)... H I A)

X31 = (X2 H)I A

k=1

X32 = (X31 H)I A

 

1

 

1

1

 

 

 

H = 1

1

1

1

1

1

 

 

 

 

 

 

 

k=2

X3n

= (X3n1

H)I A

 

 

 

 

 

 

 

k = n

X4 = X1 U X3

Рисунок 3.11 Операция восстановление

а) б) в) г)

Рисунок 3.12 а) Исходное изображение; б) число итераций =1;

в) число итераций =3; г) число итераций =12.

93

4Представление данных сегментации

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

4.1Формирование цепного кода границы области

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

При формировании цепного кода необходимо учитывать вид связности, который был задан при сегментации. Если область формировалась как 4-х- связная, то и цепной код включает в себя 4 возможных направления перемещения вдоль границы, каждое из которых кодируется своим значением из диапазона [0,3]. Если область формировалась как 8-ми-связная, то цепной код включает в себя 8 возможных направлений перемещения вдоль границы, каждое из которых кодируется своим значением из диапазона [0,7]. Цепные коды впервые были введены Фриманом [1.1]. Номера направлений представлены на рис. 4.1.

Рассмотрим формирование цепного кода для 8-ми-связной области, представленной на рис. 4.2 в виде матрицы элементов изображения 6x6. Обход контура производится по часовой стрелке, начиная от элемента (1,3), обозначенного красным цветом, как показано стрелками. Переход от элемента (1,3) к элементу (1,4), в соответствии с рис. 4.1, осуществляется по направлению 0, переход от (1,4) к (2,4) – по направлению 6 и т.д. В результате сформируется цепной код 06775644341221.

а) б) в)

Рисунок 4.1 Задание направлений при формировании цепных кодов Фримана: а) при4-х-связной границе; б) при 8-ми-связной границе; в) формирование первой разности цепного кода для 4-х-связной границы.

94

Заметим, что при начале обхода от элемента (3,2) мы получим цепной код 21067756443412, который получается циклическим повторением первого кода. Для обеспечения инвариантности цепного кода к началу отсчета обхода в качестве цепного кода выбирается тот, который формирует минимальное целое значение. В приведенном примере первый код, начинающийся с 0, соответствует минимальному целому значению.

Рисунок 4.2 Пример формирования цепного кода

Полученный код не инвариантен к повороту. Обеспечение инвариантности цепного кода к повороту на углы, кратные 90° для 4-х- связной границы и 45° для 8-ми-связной границы формируется первая разность цепного кода. Каждое значение разности формируется как разность двух последовательных направлений в коде. Разность равна числу смен направлений при обходе контура против часовой стрелки, как показано на рис. 4.1в).

Рассмотрим формирование первой разности на примере, показанном на рис. 4.3.

Цепной код первой границы равен 0033333233212121101101, что соответствует min{N}. Этот код получен при обходе границы по часовой стрелке от элемента, отмеченного красной окружностью. Повернем область на 90° и составим цепной код при обходе по часовой стрелке от соответствующего стартового элемента. Этот цепной код отличается от кода, полученного для границы 4.3а) и равен 3322222122101010030030. Более того, он не соответствует минимальному целому значению, равному 0030030332222212210101. Значение первой разности цепного кода для 4.3а) равно 0300003103313130310313. Последняя цифра получена при вычислении первой разности последнего и первого направлений цепного кода. Первая разность для границы 4.3б) равна 0310313030000310331313. Минимальные целые числа, соответствующие первым разностям цепного кода границ,

95

представленных на рис. 4.3а) и 4.3б) равны друг другу и равны

0000310331313031031303.

а) б)

Рисунок 4.3 Например формирования первой разности цепного кода

В пакете MATLAB значение цепного кода и первой разности цепного кода могут быть получены с помощью P-файла функции “fchcode” [].

Основными недостатками цепного кода являются большая длина кода и неустойчивость к шумам.

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

4.2Кусочно-линейная аппроксимация границы

4.2.1Кусочно-линейная аппроксимация границы минимальной длины при увеличении интервала дискретизации.

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

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

96

полученной границы формируется цепной код при заданном направлении обхода. Пусть задан обход по часовой стрелке. В соответствии с цепным кодом отмечаются выпуклые и вогнутые вершины границы. Вогнутым вершинам соответствуют последовательности направлений: 0-1; 1-2; 2-3; 3-0.

Все выпуклые вершины соединяются отрезками прямых линий. Исключаются все вогнутые вершины вне области образованного многоугольника. Вершина называется выпуклой, если ее внутренний угол лежит в диапазоне θ (0°,180°), при θ =0° и 180° - вершины рассматриваются отдельно, иначе вершина является вогнутой.

Удаляются все выпуклые вершины многоугольника, ставшие вогнутыми.

Строится новый многоугольник через все (выпуклые и вогнутые) вершины области. Удаляются выпуклые вершины, ставшие вогнутыми. 2 последних шага повторяются до прекращения изменения выпуклости вершин.

Удаляются вершины, лежащие на одной прямой ( θ =180°).

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

4.2.2Формирование кусочно-линейной аппроксимации границы по методу слияния

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

97

при накоплении выполнение критерия останова формирования отрезка не связано с этими характеристиками границы.

4.2.3Формирование кусочно-линейной аппроксимации границы по методу разбиения

Рассмотрим этот метод на примере, приведенном на рис. 4.5.

Первоначально граница заменяется отрезком AB, соединяющим

начало

(x1, y1 ) и конец (x2 , y2 ) границы. Уравнение прямой:

 

ax + by + c = 0 .

(4.1)

 

Уравнение прямой, проходящей через 2точки:

 

 

y y1

=

x x1

.

(4.2)

 

 

 

 

y2 y1

x2 x1

 

В соответствии с (4.2)

a = y2 y1 ; b = x2 x1; c = y1(x2 x1 ) x1(y2 y1 ).

Для каждой точки границы с координатами (x0 , y0 ) оценивается расстояние d до прямой AB в соответствии с формулой:

d = (ax + by

0

+ c) a 2

+ b2 .

0

 

 

Выбирается такой отсчет (x0 , y0 ), для которого d=max. В нашем примере – точка C. Определяются 2 новых отрезка AC и CB. Для каждого из них производится новое разбиение. Критерий останова:

max(d j )dп ,

где dп - значение порога.

Рисунок 4.5 Кусочно-линейная аппроксимация границы по методу разбиения.

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

4.3Описание границы с помощью сигнатуры

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

98

данном направлении пересекает границу только 1 раз. На рис. 4.6, 4.7 представлены сигнатуры круга и квадрата. Здесь ρ - расстояние от центра тяжести объекта до границы при изменении угла θ от π до π .

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

а) б)

Рисунок 4.6 Сигнатура границы круга с радиусом 1: .а) расстояние как функция угла в полярной системе координат; б) сигнатура.

а) б)

Рисунок 4.7 Сигнатура границы квадрата со стороной a. а) расстояние как функция угла в полярной системе координат; б) сигнатура.

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

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

99

а) б) в) г) д) е) ж) з) и)

Рисунок 4.4 Кусочно-линейная аппроксимация границы по методу MPP.

100