СРАВНЕНИЕ ОБЪЕКТА И ЭТАЛОНА ПО ОТКЛОНЕНИЮ КОНТУРОВ
Н.Л. Казанский, Р. В. Хмелев Институт систем обработки изображений РАН
Введение
Известно, что форму объектов определяют их контура, и что многие объекты могут быть узнаны только по их контурам, без использования исходных полутоновых изображений. К настоящему моменту известно много алгоритмов распознавания объектов по их контурам. Часть из них основана на анализе формы замкнутых областей, образуемых контуром [1]. Главной трудностью в реализации таких алгоритмов является то, что контура часто получаются разрывными, а задача соединения разрывных контуров является весьма нетривиальной. К другой группе алгоритмов относятся алгоритмы поточечного сравнения эталонного и объектного изображений (например, простейший корреляционный метод [1,2]). Данные алгоритмы хорошо работают при сравнении широких полутоновых областей (при условии, что объектная картинка слабо зашумлена, и яркость и контраст эталона и объекта слабо отличаются), контура же, как правило, являются узкими, и даже если с точки зрения человека формы контуров эталона и объекта похожи, из-за неточного совпадения пикселов объекта и эталона с точки зрения алгоритма они будут считаться непохожими. К третьей группе относятся алгоритмы, использующие мо-ментные инварианты [3]. Достоинством данных алгоритмов является возможность быстрого рекурсивного расчета числовых характеристик; недостатком является то, что сложные объекты представляются небольшим набором чисел, и совершенно не похожие с точки зрения человека объекты могут иметь одинаковые значения инвариантов. В данной статье представлен подход, для которого, во-первых, точное совпадение пикселов при наложении эталона на объект и разрывность контуров не являются существенными, во-вторых, рассчитываемые числовые характеристики непосредственно и однозначно связаны с формой объектов.
Основная идея
Пусть имеются картинка с неизвестным объектом (для простоты предполагаем, что он один и ничего постороннего на картинке нет) и картинка эталона (рис. 1). И объектная, и эталонная картинки -бинарные (значения из множеств {0,1}). Будем считать, что формы объекта и эталона задаются точками со значением 1, а точки со значением 0 назовем фоном. Представим, что плоскости картинок - это двумерные евклидовы пространства, и в дальнейшем будем задавать точки со значением 1 координатами в двумерном евклидовом пространстве. Исходя из этого, введем следующие обозначения для множеств точек со значением 1: объект - А = {{}=01, эта-
лон
Z = {z~ j^-1. Задача
состоит в том, чтобы найти
геометрическую меру сходства эталона и объекта, которая бы согласовывалась с субъективным человеческим пониманием сходства. Введем предварительно некоторые понятия.
Рис. 1. Эталон (слева) и объект (справа) Расстоянием р(х,у) от точки х е К2 до некото-
К-1_ ___
рого множества точек у = у у., у; е К2, 1 = 0,К -1
1=0
будем называть минимум из евклидовых расстояний от точки х до всех точек множества У:
p(x,Y)= min p(x,y1)
(1)
Это расстояние в дальнейшем будем называть абсолютным отклонением точки x от множества Y.
Пусть эталон Z обладает известными свойствами, а свойства объекта A неизвестны, в частности, пусть для эталона известна его некая размерная характеристика D (для краткости в дальнейшем называемая просто размером), которая может вычисляться разными способами. Такой характеристикой могут являться, например:
• расстояние между наиболее удаленными точками:
D1 = max p(zi;zj);
i=0,M-2 j=i,M-1
• удвоенное среднеквадратическое отклонение точек эталона от среднего по их координатам:
= 2JiZP2(E(4 E(Z) = ¿мЙ;
D2
большая из сторон минимального объемлющего эталон прямоугольника:
Dx = max (zx)- min (zf),
i=0,M-1 i=0,M-1
°х = тах (гу)- тт (гу)
1=0,М-1 1=0,М-1
где гХ, гУ - координаты точки по осям абсцисс и ординат соответственно, Бх,Бу - размеры прямоугольника по осям абсцисс и ординат соответственно,
Бз
*(Ох,Ву),
(2)
а также любая другая характеристика, связанная с разбросом точек.
Совместим начала координат плоскостей эталона и объекта и найдем расстояния от точек до множеств в соответствии с формулой (1) (рис. 2).
Рис. 2. Совмещение объекта и эталона (совпадающие точки черные). Слева: каждой точке объекта поставлена в соответствие ближайшая к
ней точка эталона (отношения соответствия обозначены линиями, кроме совпадающих точек).
Справа: каждой точке эталона поставлена в соответствие ближайшая к ней точка объекта Будем считать, что объект близок к эталону (не похож, а именно близок), если отклонения большей части точек объекта от эталона малы по сравнению с размером эталона Б. Аналогично, будем считать, что эталон близок к объекту, если отклонения большей части точек эталона от объекта малы по сравнению не с размером объекта, который считается неизвестным, а также по сравнению с размером эталона Б. Исходя из этих предложений, введем два критерия близости одного множества к другому.
1. Относительные среднеквадратические (в дальнейшем с.к.) отклонения множеств друг от друга: объекта от эталона:
1 1М-1
5ок р2 (,г) =
"о
Б
(3)
где оок - введенное таким образом абсолютное с.к.
отклонение объекта от эталона; эталона от объекта:
8? = -,|-У>2 (,А) =
Б \ М 1=0 ^ '
"э
Б
(4)
где оэк - введенное таким образом абсолютное с.к.
отклонение эталона от объекта.
Будем считать, что объект и эталон тем более похожи, чем ближе оба относительные с.к. отклонения к нулю.
2. Вероятности превышения допустимых относительных отклонений точек одного множества от другого (зональный критерий): точек объекта от эталона:
1
Р оых = —V> 8тах
N 1=0 I Б о
точек эталона от объекта:
-±уг1 Р' м 1=0
Б
> 8т
(5)
(6)
где 1{х} =
1, если х истинно 0, если х лх ло
индикаторная функция.
Будем считать, что объект и эталон тем более похожи, чем ближе обе вероятности выхода к нулю. При этом допустимые относительные отклонения 8тах и 8тах определяются путем обучения на различных классах изображений.
Дальнейшие объяснения будем проводить для с.к. отклонений (кроме случаев, оговариваемых специально). Поясним прежде всего, почему для сходства эталона и объекта требуется близость к нулю обоих с.к. отклонений, а не одного. На рис. 3 показаны эталон (крест) и объект (точка), не похожие с точки зрения человека.
Рис. 3. Пример непохожих множеств. Слева: эталон (крест). В центре: объект (точка). Справа: совмещение эталона и объекта
Пусть размером эталона считается длина большей из сторон минимального объемлющего прямоугольника (формула (2)). При совмещении точки с крестом абсолютное (и, следовательно, относительное) с. к. отклонение точки от креста будет равно нулю, поскольку она точно совпадает с одной из точек креста, а абсолютное с.к. отклонение креста от точки будет, очевидно, сравнимо с размерами самого креста, и, следовательно, относительное с.к. отклонение будет существенно отлично от нуля. Этот пример показывает, что даже если два множества точек явно не похожи, одно из них может быть близко к другому по с.к. критерию (аналогичный пример можно привести и для зонального критерия), поэтому будем считать множества точек похожими, только если они взаимно близки. В связи с этим
N-1
вых
Р
э
введем среднеквадратическую и зональную меры сходства, которые будут включать в себя все отклонения точек от множеств:
- относительное среднеквадратическое отклонение множеств друг от друга
5ск = —
1
D V N + M
N-1 / ч M-1 / ч
X р2 (,Z)+ Е Р2 м)
а D
(7)
- вероятность превышения допустимого относительного отклонения
1
N + M
=0
D
Z:
> sn
if рfcz)
I D
> Sn
(8)
Будем считать, что объект и эталон похожи, если выбранные меры сходства не превышают некоторых пороговых значений. При этом нужно задать два порога, если используются пары формул (3),(4) или (5),(6), или один порог, если используется формула (7) или (8).
Введение значимой области эталона и согласование ее с допустимыми отклонениями До сих пор считалось, что на объектной картинке присутствует только распознаваемый объект. Допустим теперь, что кроме него на картинке присутствует некоторый шум, который визуально отделяется от объекта, но при подсчете отклонений или вероятностей выхода делает их большими и не позволяет принять правильное решение о сходстве объекта и эталона (рис. 4).
Рис. 4. Сравнение эталона и зашумленного объекта. Слева: эталон; в центре: зашумленный объект; справа: выделенная область объекта (светлая), близкая к эталону Чтобы исключить влияние шума, будем считать отклонения объекта от эталона не по всей объектной картинке, а только в некоторой окрестности эталона (рис. 4, справа), которую в дальнейшем будем называть значимой областью эталона.
Значимую область следует выбирать таким образом, чтобы отсечь как можно больше шума и при этом не сделать ее настолько узкой, что даже при полном несходстве объекта и эталона выбранная мера близости объекта к эталону внутри нее может оказаться допустимой (рис. 5) (мера близости этало-
на к объекту будет допустимой, если на всем объектном изображении имеется большая плотность контуров, и, следовательно, для любой точки эталона существует близкая точка на объектной картинке).
Очевидно, что и для среднеквадратического, и для зонального критериев ширина значимой области должна быть больше, чем допустимое отклонение. Чтобы решить, насколько именно больше, проанализируем гипотезу о статистической модели неидеального объектного контура.
Рис. 5. На картинке слева креста нет, однако можно подобрать допустимое с. к. отклонение
таким, что в значимой области (справа) с. к. отклонение объекта от эталона в виде креста будет допустимым
Предположим, что отклонения контуров объекта от идеального контура эталона распределены по нормальному закону с нулевым средним и неизвестной дисперсией:
f (x ) = -
1
>->/2л
exp
,2 ^
2а 2
Пусть задано допустимое отклонение omax (и для среднеквадратического, и для зонального критериев). Для нормального распределения с дисперсией
2
а max и нулевым средним известно, что вероятность того, что точка окажется вне области [-3amax,3amax ],
у l max' max j у
меньше 0,003, поэтому при условии, что а < аmax, по этой окрестности можно оценить неизвестный параметр а, что равносильно вычислению среднеквадратического отклонения объекта от эталона. Если окажется, что оценка о больше omax, будем считать, что объект недопустимо сильно отклоняется от эталона (оценка а , тем не менее, при этом окажется заниженной). Кроме того, для нормального распре-2
деления с дисперсией а и нулевым средним известно, что вероятность того, что точка окажется вне области [- аmax,а^] равна 0.317, это значение можно задать в качестве допустимой вероятности выхода pmax и посчитать реальную вероятность p выхода за пределы области [- а max, Gmax ].
Таким образом, в случае нормального распределении отклонений точек объектного контура относительно идеального получены значения для ширины значимой области и допустимой вероятности выхода (в зональном критерии) при заданном допустимом отклонении. Если отказаться от гипотезы
0
0
вых
+
Р
0
нормального распределения, эти значения все равно можно использовать в качестве ориентира. В самом деле, если после расчета среднеквадратического отклонения о внутри области [-3атах,3атах] оно не превышает отах, это означает, что большая часть контурных точек лежит внутри области [- атах, атах ], и это локальное уплотнение контуров может быть выделено человеческим глазом. Если при использовании зонального критерия вероятность выхода за пределы области [- атах,атах] не превышает 0.317, это также означает, что внутри этой области плотность контуров выше, чем в остальной части значимой области ([- 3"тах ,-"тах^("шах^тах ]) , и это локальное уплотнение также может быть выделено человеческим глазом. Таким образом, используя эти ориентировочные значения ширины значимой области (для обоих критериев) и вероятности выхода (для зонального критерия) можно добиться согласования с субъективным человеческим восприятием, а именно эта цель и преследовалась с самого начала.
а) Эталон
б) Объект
9 4 1 0 1 4 9 0 0 1 1 1 0 0
4 4 1 0 1 4 4 0 0 1 1 1 0 0
1 1 1 0 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1 1 1 1
4 4 1 0 1 4 4 0 0 1 1 1 0 0
9 4 1 0 1 4 9 0 0 1 1 1 0 0
д) Квадраты расстояний до точек эталона
е) Значимая область эталона (белая)
Вычисление среднеквадратических отклонений и вероятностей выхода с помощью свертки Следующий пример приведен для того, чтобы показать, как характеристики близости объекта и эталона можно посчитать с помощью сверток после некоторой предварительной обработки. Рассмотрим объект и эталон на рисунке 7. Сначала проведем расчет с.к. отклонений для них. Размер эталона вычислим по формуле (2): Б = 7.
Рис. 6. Слева: идеальный контур. Справа: объектный контур
в) Квадраты расстояний до точек объекта
г) Наложение эталона на картинку в)
0 0 1 0 1 0 0 0 0 1 0 1 0 0
0 0 1 0 1 0 0 0 0 1 0 1 0 0
1 1 1 0 1 1 1 1 1 1 0 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 1 1 1 1 1 0 1 1 1
0 0 1 0 1 0 0 0 0 1 0 1 0 0
0 0 1 0 1 0 0 0 0 1 0 1 0 0
ж) Обнуление квадратов и) Наложение объекта
расстояний до точек эталона вне значимой области
на картинку ж)
Рис. 7. Пример расчета среднеквадратических отклонений эталона и объекта
Найдем отклонение эталона от объекта. Для этого сначала найдем в каждой точке объектной картинки (рис. 7б) квадраты расстояния до ближайших точек со значением 1 (рис. 7в) (назовем эти расстояния расстояниями привязки, алгоритмы для нахождения расстояний привязки рассматриваются в статье [4]). Затем наложим эталон на картинку 7в и просуммируем все числа, на которые попали единичные точки эталона. Это равносильно свертке картинки 7в с бинарной импульсной характеристикой (ИХ), соответствующей эталону (рис. 7а), повернутому на п (в данном случае эталон симметричный). Сумма квадратов отклонений равна трем, число точек эталона 13, отсюда по формуле (4) а^ = 0.480, 8эк = 0.068 (6.8% размера эталона).
Найдем теперь с.к. отклонения объекта от эталона. Аналогично, найдем расстояния привязки фоновых пикселов на картинке эталона (рис. 7д). Выберем значимую область эталона, как показано на рис. 7е, и обнулим все квадраты расстояний вне значимой области, для того, чтобы отсечь заведомо далекий от эталона шум (рис. 7ж). Как и для эталона, с помощью свертки посчитаем сумму квадратов отклонений (она равна 2), но делить ее будем не просто на число точек объекта, а на число точек, попавших в значимую область (12 штук). Подсчет числа точек, попавших в значимую область, равно -силен свертке бинарной картинки объекта с бинарной ИХ значимой области, повернутой на п. По формуле (3) аок = 0.408, 8ок = 0.058 (5.8% размера
эталона). Общее отклонение множеств друг от друга
.= 0.447, 8ск = 0.064.
3 + 2
по формуле (7):
"13 +12
Разберем теперь, как теми же методами, но с некоторой модификацией, принимать решения с помощью зонального критерия.
Зададим допустимые абсолютные отклонения эталона от объекта и объекта от эталона равными нулю. Значимую область эталона оставим той же. Подвергнем картинки 7в и 7ж пороговой обработке: все квадраты расстояний, большие допустимого, назначим единицами, остальные нулями (рис. 8). Как и раньше, посчитаем свертки, как показано на рис. 7г, 7и, но получим не суммы квадратов отклонений, а число точек, превысивших допустимое отклонение (в эталоне три, в объекте две). Посчитаем вероятности выхода: для эталона (формула (6)) рвьк = 3/13 = 0.23, для объекта (формула (5)) рвых = 2/12 = 0.17, общая вероятность выхода (фор-
мула (8)) Рв
3 + 2 12 +13
= 0.2.
Рис. 8. Пороговая обработка картинок в) (слева) и ж) (справа) рисунка 7 с порогом, равным нулю
Поиск эталона путем полного сканирования с заданными шагами по размеру и углу ориентации эталона
В предыдущем пункте уже показывалось, как используются свертки, для расчета с.к. отклонений и зонального критерия для картинок, имеющих одинаковый размер (свертки производились в центральной точке). Покажем, как распознается эталон на объектной картинке произвольного размера, если заранее неизвестны ни расположение, ни размер, ни угол поворота распознаваемого объекта.
Каждая точка объектной картинки совмещается с центром эталона (некая точка, которая выбирается произвольно, и которая не обязательно должна совпадать с геометрическим центром), который поворачивается на небольшие углы в пределах [а15 а 2] и растягивается (или сжимается) с небольшими мультипликативными шагами в пределах [т15т2]. Вместе с эталоном растягивается (или сжимается) бинарный образ его значимой области. Поворот и сжатие/растяжение осуществляются легко, если эталон и значимая область представлены в векторном виде (пункт 0), при этом для каждой точки эталона выполняется преобразование:
(~хДу )= гоим|(х,гу )
тсо8а т8та - т8та тсо8а
где
- исходные координаты точки,
, г? - измененные координаты точки,
т - мультипликативный коэффициент, а - угол поворота эталона, гоипё() - операция округления до ближайшего целого.
При использовании мультипликативных коэффициентов, больших единицы, нарушается связность эталона и значимой области (появляются разрывы между точками). Для самого эталона это не очень важно, но для значимой области это может привести к нежелательному отсечению точек на объектной картинке, и отклонения объекта от эталона окажутся искаженными, поэтому лучше всего задать заведомо большие эталон и значимую область, чтобы использовать мультипликативные коэффициенты, не превышающие единицы.
Для каждого значения мультипликативного коэффициента и угла поворота считаются выбранные характеристики (с.к. отклонения или вероятности выхода), и если они удовлетворяют допустимым значениям, то данная точка помечается как центр эталона.
В одной и той же точке характеристики могут удовлетворять допустимым значениям при нескольких углах поворота и мультипликативных коэффициентах, в этом случае выбирается лучшие. Кроме того характеристики могут оказаться допустимыми в нескольких соседних точках, тогда ищутся локальные минимумы и все точки, которые не являются локальными минимумами, исключаются из списка точек, в которых найден эталон (рис.9).
Заключение Главный недостаток алгоритма поиска в том виде, как он описан в предыдущем пункте - большая вычислительная сложность. Для поиска одного фиксированного эталона требуется вычислить три свертки импульсных характеристик с анализируемым изображение. В таком виде алгоритм может применяться только для распознавания объектов, относительно которых известен их угол ориентации и размер (например, машинописные тексты). Один из путей повышения производительности - распараллеливание вычислений в многопроцессорных системах, однако предпочтительнее предварительно выделять перспективные для сканирования области сравнительно простыми вычислительными методами. Например, если производится распознавание движущихся объектов, то следует применять простые детекторы движения. Перспективным представляется применение поиска небольшого набора простых эталонов в сочетании с анализом их взаимного расположения (структурный анализ). Например, контура большей части объектов, созданных человеком (домов, машин, дорог), состоят из пря-
мых (рис. 10). На рис. 10 (размер 256 х 256) сканирование проводилось только в контурных точках (их приблизительно 15% от общего числа точек на картинке) с помощью 16 эталонов прямых, с углами поворота в диапазоне [0, п), каждый эталон длиной 11 пикселов; время сканирования на машине Р11-400
(частота системной шина 100МГц) при максимальной аппаратной оптимизации составило 0.09 секунды. В принципе, поиск отрезков прямых может служить одним из методов предварительного выделения областей, перспективных для поиска искусственных объектов.
а)
№
б)
в)
Ж 1 1
г)
д)
е)
ж)
Рис. 9. Распознавание эталона с помощью алгоритма полного сканирования с использованием с. к. отклонения (допустимое относительное с.к. отклонение 7%). а) Эталон. б) Значимая область эталона. в) Сканируемая картинка. г) Квадраты расстояний привязки фоновых пикселов (градации яркости от нуля до максимума). д) Точки допустимого относительного с. к. отклонения. е) Точки локальных минимумов относительного с. к. отклонения. ж) Объекты, признанные похожими на эталон
Рис. 10. Поиск отрезков прямых на снимке местности. Слева: исходное изображение. В центре: контурное изображение. Справа: белым нарисованы найденные отрезки
К достоинствам изложенного подхода можно отнести отсутствие ограничений на форму эталона, а также то, что эталон и объект сравниваются по геометрической близости наиболее информативных с точки зрения формы точек - контурных. За счет использования значимой области достигается устойчивость к появлению помех вблизи распознаваемых объектов (пункт 0), что является преимуществом по сравнению с алгоритмами, использующими прямоугольное скользящее окно. В отличие от статистического подхода, который требует априорной информации о конкретном изображении для построения классификатора (например, байесовского), изложенный подход имитирует известные (по крайней мере, поддающиеся изучению) субъективные
свойства человеческого восприятия, которые являются универсальными для разных изображений.
Литература
1. Дуда Р., Харт П. Распознавание образов и анализ сцен. - М.. : Мир, 1976
2. Ту Дж., Гонсалес Р. Принципы распознавания образов. - М.: Мир, 1978. - 412 с.
3. Глумов Н.И. Построение и применение мо-ментных инвариантов для обработки изображений в скользящем окне // Компьютерная оптика, № 14-15, ч. 1, 1995, с. 46-54
4. Казанский Н.Л., Мясников В.В., Хмелев Р.В. Алгоритмы поиска расстояний до объектных пикселов на бинарных изображениях // Компьютерная оптика № 20, 2000