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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Катрич С.А. Разработка и исследование схем программного моделирования устойчивости решений нелинейных дифференциальных уравнений на основе разностных методов: дис. ... канд. техн. наук. Таганрог: Изд-во ТРТУ, 2006. 217 с.

2. Демидович Б.П. Лекции по математической теории устойчивости. М.: Изд-во Моск. ун-та, 1998. 480 с.

3. Ромм Я.Е. Мультипликативные критерии устойчивости на основе разностных решений обыкновенных дифференциальных уравнений // Кибернетика и системный анализ. Киев, 2006. № 1. С. 128-144.

4. Синергетика: процессы самоорганизации и управления: учеб. пособие / под общей редакцией А.А. Колесникова. В 2-х частях. Таганрог: Изд-во ТРТУ, 2004. 360 с. Ч. I.

5. Зубов И.В. Методы анализа динамики управляемых систем. М.: Физматлит, 2003. 224 с.

Я.Е. Ромм, О.И. Деева

ИДЕНТИФИКАЦИЯ КОНТУРНО ПРЕДСТАВЛЕННЫХ ИЗОБРАЖЕНИЙ НА

ОСНОВЕ СОРТИРОВКИ И МАТРИЧНО-АЛГЕБРАИЧЕСКИХ ПРЕОБРАЗОВАНИЙ

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

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

Данная часть работы непосредственно заимствуется из [3, 4]. Задача выделения контуров состоит в построении границ объектов и очертаний связных областей. Контур отдельного объекта на бинарном изображении может быть получен при помощи следящей пары точек [1]: граничной точки объекта и смежной с ней точки фона. Суть данного способа заключается в следующем. Для следящей пары задается направление от точки объекта к точке фона. Процесс прослеживания состоит в последовательном перемещении одного конца следящей пары в новую точку, лежащую от пары слева. Это обеспечивает обход контуров таким образом, что объект оказывается слева от границы, а фон - справа. На каждом шаге прослеживания анализируется одна новая пробная точка, смежная с обеими точками пары. Пробная точка замещает соответствующую точку следящей пары. Пусть К/),С/ - следящая пара точек, р= 4рх,ру - граничная точка объекта, а

q = С/,,Чу ~ точка фона. Пробная точка г = 4х,гу ищется следующим образом: если точки следящей пары лежат в одном столбце или в одной строке матрицы /, то новая пробная точка выбирается с координатами гх = qx + ру — qy. ¡\. = qy + qx — рх: в противном случае пробная точка имеет координаты гх = 4рх+qx+ р - q 12, г = ip + q - рх+qx J2.

Рис. 1

Последовательные положения следящей пары

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

Для формирования признаков фигуры выполняется переход от ортогональной декартовой

системы координат (СК) У к полярной С, ф с предварительным выбором начального положения радиуса. Данный переход будет выполняться в четыре этапа с помощью соотношений [4]:

Х = Г СОБф, у = Г БШф,

:л/х2+ у2, *§Ф=у

г=\ „ , ^.

V „ , ^ , Х

В порядке очередности точек при прослеживании формируется массив значений абсцисс X — (х0, Л',,..., Хп_]) и массив значений ординат У = (у0, у},..., уп ,) точек контура в

декартовой СК ХОУ.

С целью формирования признаков выполняется радиально -круговая развертка контура изображения в полярной СК ф' . Формируется массив

*'=

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

ф'=

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

фигуры, ру - среднее арифметическое значение ординат в декартовой СК, получается в про-

цессе обхода контура при помощи следящей пары точек:

77 -1 1 п -1

]х,

7=0 14 7=0

^ 77 -1 ^ 11 ~ 1

где N - количество точек, принадлежащих контуру [4].

2. Нумерация точек контура связывается с точкой, которая имеет устойчивый относительно ротации признак, - она наиболее удалена от выбранного центра полярной СК:

К,аКс=

0<7<77-1

В формируемых массивах (1), (2) точке (3) соответствует последняя позиция. Номер /' для / -й точки контура определяется по формуле

7'=<+И-1-сЗпосШ,

где С - индекс Гмакс из (3).

3. Элементы (2) подвергаются преобразованию поворота координат, при котором угол ф'7_1 ста-

новится равным нулю: ф', = ф;-ф '„_! 1 = 0,1,...,п-1.

4. Элементы (1) нормируются делением на среднее значение

, г!

п-1

Г --

сред

' срео j = 0 /

Представленные преобразования «приводят» фигуру к базовому положению в декартовой СК X'O'Y'. Радиус-вектор точки контура, наиболее удаленной от центра полярной СК, выходит при этом из начала координат и располагается согласно (5) вдоль положительного направления оси абсцисс [3, 4]. Результат преобразования иллюстрирует рис. 2.

Рис. 2

Базовое положение «Е»

2. Описание схемы сортировки посредством подсчета

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

sign

-a, =i

-1, если aj<ai 0, если a,.= a.

+ 1, если a, >a,

где

А = 0, ü1, an_1 - входной массив, j - номер столбца, i - номер строки МС,

7, у = 0,1, ..., п — 1. Схема заполнения МС поясняется приводимой ниже таблицей.

Матрица сравнений для сортировки подсчетом

Таблица 1

A ao ai as an-1

a0 0 sign a0_ sign 1a j sign 1 - a0 „

a1 sign ia0- a^ 0 sign a -a sign 4gn_x -ax^

a sign 4a0- a^ sign a _ 0 sign iin_x - at ^

an-1 sign <?0 - an_x sign igx-an_x^ sign ii] 0

Теперь, чтобы произвести вставку j -го элемента входного массива (элемента j -го столбца МС) в выходной массив, достаточно подсчитать количество неотрицательных элементов в j -ом столбце над диагональю матрицы (включая диагональный элемент) и сложить его с количеством только положительных элементов ниже диагонали [2]. Последнее обеспечивает устойчивость сортировки: элементы, равные текущему, но расположенные во входном массиве после него, не влияют на положение текущего элемента в отсортированном массиве. 3. Применение сортировки для идентификации изображений

Программная реализация данной сортировки представлена ниже (TInitialArray - тип элементов входного массива).

procedure sortst(tt11: integer; var ttt_,cs:TInitialArray; var e1: TIndexArray);

var i,j,k: integer;

begin

for j:=0 to tt11-1 do

begin

k:= -1;

for i: = 0 to j do if ttt_[j]>=tttji] then k:=k+1; for i:=j+1 to tt11-1 do if tttjj]>tttji] then k:=k+1; csjk]:=tttjj]; e1[k]:=j end end.

Результатом сортировки является упорядоченный по нестрогому возрастанию массив cs и дополнительный массив e1 перемещенных в порядке отсортированных элементов исходных индексов элементов массива значений полярных радиусов точек контура фигуры, обозначенного в программе ttt_. Именно массив e1 обеспечивает свойство обратной адресности: к -му элементу отсортированного массива соответствует элемент входного массива с индексом, записанным по адресу ек . Иными словами, массив e1 обеспечивает взаимно однозначное соответствие входных и

выходных индексов сортируемого массива.

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

К полученному массиву e1 применяется сортировка подсчетом по МС аналогично тому, как рассмотрено выше. На данном шаге формируется матрица по табл. 1, состоящая из элементов -1, 0, 1. Для дальнейшей работы из этой матрицы оставляется нижняя треугольная матрица с нулевой диагональю, верхняя часть матрицы заменяется нулями. Основанием для такого подхода является антисимметрия матрицы (табл. 1) относительно главной диагонали. Ниже приведена процедура, реализующая выполнение указанных действий. procedure TForm1.Button1Click(Sender: TObject); var

i,j,k,ll: integer; summa: Extended;

sl, lini, lini1, sl1 :string;

begin

for j:=0 to tt11-1 do begin k:= 0;

for i:=0 to j do if e1[j]-e1[i] >= 0 then begin k:=k+1; end;

for i:=j+1 to tt11-1 do if e1[j]-e1[i] > 0 then begin k:=k+1; bool[i,j]:=1 end else

if e1[j]-e1[i] = 0 then bool[i,j]:=0 else bool[i,j]:=-1; end;

Итак, получена нижняя треугольная матрица с нулевой диагональю, элемент i-й строки и /го столбца которой записан как элемент массива Ьоо1р/], а сама матрица как Ьоо1. Идентификаторы фигуры будут строиться следующим образом. Матрица Ьоо1 возводится в степень путем умножения текущей матрицы на себя, при каждом умножении нулевая поддиагональ будет опускаться на одну позицию вниз. При возведении Ьоо1 в степень Ш1-3 (#11 - количество отсортированных значений полярных радиусов точек (пикселей) контура фигуры) останется три ненулевых поддиа-гонали матрицы, следующее умножение текущей степени на матрицу Ьоо1 оставит две ненулевых поддиагонали, наконец, на последнем шаге умножения на матрицу Ьоо1 останется только одна ненулевая поддиагональ, состоящая из одного, возможно, ненулевого элемента.

Этот факт используется в известном алгебраическом разложении

где A - нижняя треугольная матрица с нулевой диагональю. Роль такой матрицы в программе играет матрица под именем bool.

При возведении матрицы bool в степень tt11-1 получается матрица, обозначаемая в программе как c_v, у которой на позиции c_v[tt11-1,0] остается единственный, возможно, ненулевой элемент.

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

Поэтому в качестве идентификаторов требуется учитывать предшествующие степени данной матрицы.

С этой целью первоначально рассматривается матрица c_v, полученная возведением bool в степень tt11-2. Матрица c_v содержит две нижних, возможно, ненулевых поддиагонали. В качестве числовых идентификаторов фигуры берутся элементы, стоящие на позиции c_v[tt11-1,0]. В случае совпадения данных элементов для различных латинских букв, в качестве дополнительных идентификаторов для отобранной группы изображений берутся элементы матрицы, стоящие на позициях c_v[tt11-2,0] и c_v[tt11-1,1]. Для идентификации изображений всех латинских букв потребуется, однако, учитывать предшествующую степень матрицы bool, поскольку для четырех изображений символов совпадают элементы матрицы, стоящие на позициях c_v[tt11-1,0], c_v[tt11-2,0], c_v[tt11-1,1]. Именно, элементы матрицы bool в степени tt11-2 полностью совпадают для символов латинского алфавита «А» и «Т», а также для пары символов «I» и «О».

При возведении матрицы bool в степень tt11-3 на конечном этапе можно четко выделить целочисленные идентификаторы изображения для латинских букв.

Элемент матрицы c_v, стоящий на позиции c_v[tt11-1,0], является целочисленным идентификатором рассматриваемых изображений всех букв латинского алфавита. На данном множестве изображений такие идентификаторы находятся с ними во взаимно однозначном соответствии.

Ниже представлена часть программы, где каждому целочисленному идентификатору ставится в соответствие соответственное имя изображения. if c_v[tt11-1,0]=147 then Memo5.Lines.Add('6yKea A'); if c_v[tt11-1,0]=-42 then Memo5.Lines.Add('буква B'); if c_v[tt11-1,0]=-70 then Memo5.Lines.Add(буква C');

if c_v[tt11-1,0]=-1414 then Memo5.Lines.Add(букваX'); if c_v[tt11-1,0]=-34 then Memo5.Lines.Add('буква Y'); if c_v[tt11-1,0]=177 then Memo5.Lines.Add(буква Z');

В качестве примера результата работы программы по идентификации изображения буквы латинского алфавита можно рассмотреть изображение «F» (рис. 2). В окне Memo выводится матрица bool размерностью 63x63, возведенная в степень ttII-3, в которой элементы трех нижних поддиагоналей в общем случае не равны нулю.

0 0 0 0 ... 0

0 0 0 0 ... 0

1 0 0 0 ... 0

30 1 0 0 ... 0

420 32 1 0 ... 0

При этом оказывается, что 420 - целочисленное значение элемента с_у[й11-1,0] - является уникальным идентификатором символа <^».

Аналогично, программа работает для идентификации других рассматриваемых изображений букв, при этом значение элемента с_у[П11-1,0] - единственный целочисленный идентификатор фигуры.

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Местецкий Л.М. Скелетизация многоугольной фигуры на основе обобщенной триангуляции Делоне // Программирование, 1999. № 3. С. 16-31.

2. Ромм Я.Е. Параллельная сортировка слиянием по матрицам сравнений. Ч. II // Кибернетика и системный анализ, 1995. № 4. С. 13-37.

3. Рюмин О.Г. Разработка и исследование алгоритмов распознавания изображений на основе определения экстремальных признаков замкнутых контуров с помощью: автореф. дис. ... канд. тех. наук. Таганрог: Изд-во ТТИ ЮФУ, 2008. С. 8-9.

4. Рюмин О.Г. Разработка и исследование алгоритмов распознавания изображений на основе определения экстремальных признаков замкнутых контуров с помощью: дис. ... канд. тех. наук. Таганрог: Изд-во ТТИ ЮФУ, 2008. С. 19, 22-23, 43-44, 81, 83-84, 85, 87.