УДК 681.3.06: 681.323 (519.6)
О.Г. Рюмин
РАСПАРАЛЛЕЛИВАЕМАЯ ИДЕНТИФИКАЦИЯ РАСТЕРИЗОВАННОГО ИЗОБРАЖЕНИЯ НА ОСНОВЕ ЭКСТРЕМАЛЬНЫХ ПРИЗНАКОВ ЗАМКНУТОГО КОНТУРА
Постановка вопроса. В задачах идентификации изображений широко используются методы, основанные на анализе формы контуров как на наиболее стабильном признаке при яркостных искажениях. Ряд методов [1 - 3] позволяет идентифицировать объекты инвариантно к сдвигу, изменению масштаба и повороту. При этом сохраняются проблемы выбора настраиваемых параметров, имеются трудности с преодолением шума в условиях растеризации. Известные методы отличаются вычислительной сложностью, сложные информационные связи затрудняют их применение для параллельных вычислений. С целью преодоления отмеченных затруднений ниже конструируется метод идентификации плоских изображений на основе выявления экстремумов полярного радиуса с помощью сортировки при радиально-круговой развертке контура фигуры. Программная реализация метода выявляет устойчивую идентификацию растеризованных фигур, ограниченных замкнутым контуром в условиях сдвига, масштабирования и ротации на растре.
Радиально-круговая развертка контура. Выявление экстремумов полярного радиуса осуществляется в полярной СК (г' , ф'). Формируются массив
К' =(г', гД „., г„'_1), (1)
элементы которого содержат значения полярных радиусов точек контура и мас -сив
ф'=(ф;р ф^ ^, фп_1), (2)
элементы которого содержат соответствующее величины полярных углов.
При этом центр полярной СК связывается с точкой (рх, ру), координаты
которой вычисляются как средние арифметические значения абсцисс и ординат
точек контура в декартовой СК:
1 n-1 1 n-1
Px = N X x, Py = N X y .
iv i=0 iv i=0
Нумерация связывается с такой точкой, которая имеет устойчивый относительно ротации признак:
В формируемых массивах (1), (2) точке (3) соответствует последняя позиция. Номер i' для i -й точки контура определяется по формуле
i' = (i + n-1 - c) mod N, (4)
где c - индекс гМакс из (3). Элементы массива (2) подвергаются преобразованию
поворота координат:
j = j-j’n-i, i = 0,1,...,n-1. (5)
Элементы (1) нормируются делением на среднее значение:
г' /
г/ = ~ , гсред =Х Г' Ы , ' = П-1. (6)
Гред 1=0 /
Преобразования (4) - (6) «приводят» фигуру к базовому положению в декартовой СК Х'О'У', определяя очередность точек, соответствующих экстремумам полярного радиуса в (1), и нормируя их значения относительно масштаба фигуры.
Схемы сортировки. При построении метода используются параллельные разновидности сортировок слиянием [4 - 6] с временной сложностью Т (к)=О(ы 1оя2 ж) в последовательном варианте (количество процессоров К =1), при К = N - Т(ж)= О((^2 Ж)1о§21о§2 ж) в параллельном варианте. При К = N2/2 целесообразно использовать максимально параллельную разновидность сортировки подсчетом [7, 8] - Т(N2/ 2)=О(1). Использование иных сортировок, обладающих взаимно однозначным соответствием входных и выходных индексов сортируемых элементов, не изменит существа метода, но отразится на оценке его временной сложности.
С целью выявления экстремумов массив (1) сортируется, в результате массив (1) перейдет в массив вида
К ' =( г ' г ' к г ' ) (7)
V ео’ Ч’ ’ е„-1 /’ к ’
где г' < г' , / = 0,к, п - 2. Взаимно однозначное соответствие его входных и
е1 е1+1
выходных индексов образует подстановку:
( 0, 1, ..., 1, ... , П -1 ^
. (8)
у е0, е 1, ••• , , •••, еп-10
Поскольку массивы (1) и (7) на основе (8) взаимно однозначно преобразуются друг в друга, можно утверждать, что подстановка (8) хранит все универсально выраженные признаки массива (1) [7, 8]. В частности, (8) определяет количество и положение локально экстремальных элементов входного массива (1) при заданном радиусе окрестности локализации £ .
Выявление экстремумов. Принцип идентификации локального в окрестности радиуса 8 экстремума на основе (8) заключается в том, что ни один из элементов отсортированного массива, предшествующих в нем локальному минимуму входного массива (последующих в нем за локальным максимумом входного массива), не может быть элементом 8 -окрестности местоположения данного экстремального элемента во входном массиве. Под 8 -окрестностью (8 е N) экстремума в массиве понимаются границы целочисленного изменения его индекса на 8 последовательных отсчетов влево и вправо, а под экстремумом в такой окрестности - наибольший или наименьший элемент массива в данных границах индексов. Параметр £ будет варьироваться с целью программной фильтрации помех в окрестности идентифицируемых экстремумов. Поскольку в контексте метода речь идет об элементах, составляющих замкнутый контур, то в отличие от реализаций [7, 8] отсчеты индексов будут выполняться «по кругу» через конец обрабатываемого массива в его начало и наоборот. Именно окрестностью радиуса £ элемента с входным индексом ек считается окрестность:
[(^ - 8), (ek -1) ]u[(e +1), (e + є)],при(8<n-e)л(8<e +1);
[(ek- 8), (ek-!) M( ek +!), (n-1)M0, (8 - n+ek)]> пРи (8 ^ n - ek )л(8 < ek +!); [(n - 8+ek), (n-1)M0, (ek - 0M( ek +1), (ek + 8)] ,пРи (8 <n - ek )л(8 ^ ek +1),
Для к=1,2,...,п-2 локальные минимумы входного массива предлагается идентифицировать по индексу ек в случае ложности условия
при I=0,1, к,к-1; локальные максимумы предлагается идентифицировать в случае ложности условия (9) при I = к+1, к+2,...,п-1. Условие (9) не требует проверки при к=0 и при к=п -1, поскольку первый элемент отсортированного массива - всегда глобальный минимум во входном массиве, а последний - всегда глобальный максимум.
Программная реализация такого алгоритма идентификации экстремумов в последовательном варианте имеет вид
Иязык Delphi
procedure MinAndMaxLoop(const e: array of Integer; const Eps: Integer; var k, l: Integer;
begin {a[e[Low(e)]] глобальный минимум; a[e[High(e)]] глобальный максимум}; for k := Succ(Low(e)) to Pred(High(e)) do begin l := Pred(k); while l >= Low(e) do begin if (Abs(e[k] - e[l]) <= Eps) or
(Length(e) - Abs(e[k] - e[l]) <= Eps) then Break;
Dec(l) end;
if l < Low(e) then begin {a[e[k]] минимум}'; Continue; end; l := Succ(k); while l <= High(e) do begin if (Abs(e[k] - e[l]) <= Eps) or
(Length(e) - Abs(e[k] - e[l]) <= Eps) then Break;
Inc(l) end; if l > High(e) then {a[e[k]] максимум}; end;
Выявленный набор экстремумов массива (1) принимается за вектор распознавания фигуры. Основная трудность подхода состоит в том, что изначально гладкие линии контура геометрических фигур при растеризации преобразуются в ступенчатые. Как следствие в массиве (1) помимо истинных экстремумов полярного радиуса выявляется ряд ложных (рис.1,а). Путем увеличения радиуса локализации ложные экстремумы фильтруются (рис.1,б). Отсюда возникает задача программного выбора параметра є для каждого входного изображения, такого, при котором фильтрация ложных экстремумов осуществляется на практике.
а диапазон изменения £ ограничивается: 8 = 1,2,...,
(9)
Листинг 1
end;
Имеет место:
Лемма 1. Зависимость т = т ( 8 ) количества идентифицируемых в массиве (1) экстремумов имеет вид кусочно-линейной целочисленной функции, монотонно убывающей до значения т = 2 на отрезке 8 е[ 1, _N / 2J ], где N - число
элементов массива (1). При 8 >_N /2J значение функции т (8) остается неизменным.
Характерный вид зависимости т ( £) приведен на рис. 2.
Рис. 2. Характерный вид зависимости т ( 8 )
Лемма 1 положена в основу разработки и программной реализации сходящегося итерационного алгоритма определения параметра £ для каждого входного изображения. Данный алгоритм выполняет итерационное отслеживание значений функции т ( 8 ) при 8 = 1, 2, 3, ..., в ходе которого выявляются последователь ные совпадения результатов идентификации экстремумов. Если при послед овательных значениях радиусов локализации экстремумов 8=I, 8 = I +1, 8 = I + 2, ..., 8 = I + Т , где тeN , идентифицированные минимумы и максимумы корректно чередуются и при этом
т(i )=т(i +1 )= т(i + 2 )=... = т(i + т ), (10)
то есть имеет место многократный последовательный повтор значений функции т ( 8 ), то ложные экстремумы считаются отфильтрованными при 8=i (рис. 2). На практике повтор значений (10) программа определяет для произвольно заданной фигуры.
Таким образом, роль основного настраиваемого параметра при формировании векторов распознавания возлагается на параметр т, определяющий, какое количество последовательных совпадений результатов итераций считать достаточным для того, чтобы все ложные экстремумы были отфильтрованы.
Формат векторов распознавания. Множество изображений, имеющих
одинаковое значение параметра т, определяется как класс K’. Для идентификации каждого конкретного набора изображений значение параметра т должно
выбираться экспериментально, затем храниться в памяти в качестве эталонного значения. Без эксперимента этот выбор сделать затруднительно, поскольку на практике величина данного параметра зависит от вида фигур на изображениях, их размера и интенсивности шума.
Пусть при заданном Т для массива (1) подобрано значение е, при котором в массиве (1) идентифицируется k локальных минимумов
Г , r ', K , r.' , r.'
i0 ’ i1 7 7 1к - 2 7 1к-1
и к локальных максимумов
г' , г' ..., г' , г'
J<0 J1 Jk-2 у Jk-1
полярного радиуса, /0, i„ ... , ik_2, itи J j ..., J^, Jk-1 - соответствующие индексы выявленных экстремумов, при этом
i0 < J0 < i1 < J1 < ...< J k-2 < ik-1 < J k-1 ввиду чередования локальных минимумов и
локальных максимумов вдоль линии контура, Jt-1 = n-1 - индекс глобального максимума.
Тогда вектор распознавания входного изображения в общем виде будет записываться следующим образом
v = ( r' ■ r’■ ■ r' ■ r’■ ■ K ■ rf ■ r' ■ rf ■ rf ) (11)
V i 0’ J0’ i1’ J1’ ’ 1k-2’ Jk - 2’ 1k-1’ Jk-1 /' v ;
В дальнейшем для (11) используется обозначение:
vt,; =(v0”■ v”■ v”v;;”, ), (12)
т,m f т, m f т, m f т,m f т,m f r\i
где v0 = r. , и = r, , v9 = r , ..., vm 2 = r , vm 1 = r, , m = 2k.
^ 0 i^ 1 j^ 2 11 > ’ m-2 ik-i* m-i Jk-1 ’
Иерархия базы эталонов. Множество изображений класса Kт, вектор распознавания (12) которых имеет размерность m, определяется как подкласс
ту т, m ту т
K класса K .
Эталонный вектор каждого конкретного изображения формируется на основе усреднения координат векторов распознавания (12), сформированных для ряда экземпляров данного изображения. Для записи l -го эталонного вектора
подкласса Kт, m класса K т используется обозначение
r,m,l_/ ’,m,l. ,T,m,l T,m,l, , ’,m,l 1
v _V0 ■ V1 ■ 2 ■ K ■ vm - 2 ■ vm-1 /* ^ '
Однопроходные сравнения векторов распознавания (12) с эталонными векторами соответствующего подкласса выполняются с помощью евклидовой нор -
мы. Пусть (13) - один из m -мерных эталонных векторов подкласса K%m класса
Kт , а (12) - m -мерный вектор распознавания идентифицируемого изображения. Тогда изображение идентифицировано, если:
S =1 у’”1 - v’’m\ =1 У (v'’m’ l - v’’m)2 = min [ I У (v’’m’ ‘ - v’’m)2 ]< mS’, (14)
II lb -y V ' ! v’ m’‘eK’m [^ V ' !
где дт >0 - величина допустимого покоординатного отклонения, предотвращающая ошибочную идентификацию изображений класса Kт . Величина $ определяется экспериментально для каждого класса изображений.
Программный эксперимент. Эксперимент проводился на примере распознавания сканированных символов заглавных букв латинского алфавита. В эксперимент включались существенные искажения как символов, так и их положения на растровой плоскости, а также варьировался масштаб (рис. 3).
6^J B)Jp Г) JJ1 Д)
Рис. 3. Примеры рассмотренных искажений
Символы распечатывались на струйном принтере (размер символов 14 пунктов, гарнитура шрифта Times New Roman), затем сканировались с разрешением 600 dpi (рис. 3,а-г). В качестве масштабированных использовались символы размером 12 и 16 пунктов. Ряд символов (13,3%) подвергался дополнительному искажению в графическом редакторе (рис. 3,д). Всего было обработано более 1950 экземпляров символов, при этом из числа подверженных дополнительному искажению корректно идентифицировались более 93% символов, остальные символы идентифицировались с точностью более 98,5%. Идентификация осуществлялась с помощью изложенного выше метода без привлечения дополнительных средств.
Параллелизм метода. Параллелизм рассмотренного метода вытекает из параллелизма используемых сортировок и взаимной независимости обработки фрагментов изображения. В частности, параллелизм прослеживания контура достигается разбиением изображения на взаимно независимые участки.
Рассмотренный алгоритм определения экстремумов замкнутого N-элементного контура преобразуется к параллельному виду путем развертки вложенных циклов (листинг 1) с помощью матрицы сравнений индексов (МСИ):
Таблица 1
где
= ((| ек- е\ < є )v( п -| ek- e\ < Е ))=-| 1
О, есЛИ (| et - > Е ) л( п -| et - е\ > Е ), (15)
если (I ек - е\ < Е ) V ( п - | ек - е,| < Е ),
к - номер столбца, l - номер строки МСИ, к=1,2,...,п-1, l=0,1,...,к-1 (ввиду симметричности такой МСИ относительно главной диагонали).
Принцип идентификации локальных экстремумов замкнутого контура по
МСИ формулируется так: если Щ1 = 1, то в 8окрестности ек -й элемент входного массива не является локальным минимумом, а е1 -й - локальным максимумом.
Совокупность МСИ, сформированных при 8= 1,2,..., _N / 2J, представляет
собой полную развертку экстремальных признаков массива, заключенных в подстановке (8). Рационально осуществлять параллельное заполнение каждой из текущих МСИ (при текущем 8) до тех пор, пока не будет выполнено правило фильтрации. Тогда для растеризованной фигуры, ограниченной замкнутым контуром длины N и представленной массивом вида (1), ввиду взаимной независимости ячеек МСИ, на (n2-n)/2 процессорах вектор распознавания (12) без учета времени сортировки будет определяться за время
T((n! -N)/2) < (_N/2J+ * £, (16)
где Т из (10), Тт - время выполнения операции сравнения вида (15), при этом значение _N /2J + является верхней границей числа итераций, определяющих скорость сходимости алгоритма программного выбора 8. Если число процессоров постоянно, R = const, то вектор распознавания определится за время
T (R) <
N2 - N 2R
х ([_ N/2J + т )
На практике T (R) из (17) целесообразно оценивать из неравенства
T (R)
N - N
ср ср
2R
( Еср +т)
(17)
(18)
где и 8 ср - средние значения для периметра и автоматически выбираемого
радиуса окрестности локализации, определенные экспериментально. Например, для набора символов латинского алфавита Ыср » 394,104, 8ср » 19,44 - то
ср
N /2J.
есть 8 ср <<[
Некоторые возможные видоизменения метода описанні в [9].
Заключение. Рассмотрен метод распараллеливаемой идентификации растеризованного изображения по экстремальным признакам замкнутого контура, который инвариантен относительно сдвига, масштабирования и ротации в условиях растра. Метод отличается от известных по построению, устойчивостью для широкого класса фигур на плоскости, ограниченных замкнутым контуром. Метод преобразуется к максимально параллельной форме на основе параллелизма
w
X
т
используемых сортировок и операторов идентификации экстремумов, а также на основе взаимной независимости элементов обрабатываемых изображений.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Забияка Ю.И., Типикин А.П., Титов В.С. Теоретические основы быстродействующего устройства инвариантного распознавания контурных изображений // Изв. вузов. Приборостроение, 2005. №2. - С. 14 - 18.
2. Гостев И.М. О методах повышения качества идентификации графических объектов в методах геометрической корреляции // Изв. РАН. Теория и системы управления, 2005. №3. - С. 55 - 64.
3. Грузман И.С., Никитин В.Г. Алгоритмы распознавания объектов, устойчивые к геометрическим искажениям: сдвигу, масштабу, повороту // Автометрия, 2004. № 3. - С. 46 - 53.
4. Кнут Д. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск. -М.: Мир, 1978. - 844 с.
5. Ромм Я.Е. Параллельная сортировка слиянием по матрицам сравнений. I // Кибернетика и системный анализ, 1994. № 5. - С. 3 — 23.
6. Ромм Я.Е. Параллельная сортировка слиянием по матрицам сравнений. II // Кибернетика и системный анализ, 1995. № 4. - С. 13 — 37.
7. Ромм Я.Е. Метод вычисления нулей и экстремумов функций на основе сортировки с приложением к поиску и распознаванию. I // Кибернетика и системный анализ, 2001. № 4. - C. 142—159.
8. Ромм Я.Е. Метод вычисления нулей и экстремумов функций на основе сортировки с приложением к поиску и распознаванию. II // Кибернетика и системный анализ, 2001. № 5. - C. 81—101.
9. Ромм Я.Е., Рюмин О.Г. Автоматическая идентификация плоских контурных изображений на основе сортировки // ТГПИ — Таганрог, 2005. — 52 с. - Деп. в ВИНИТИ 10.11.2005. №1454 - В2005.
10. Romm Y.E. Zeros and Extremums of Functions Computation Method on the Basis of Sort with Application to Searching and Recognition. I // Cybernetics and System Analysis. 2001. No. 4. - Р. 142-159.
11. Romm Y.E. Zeros and Extremums of Functions Computation Method on the Basis of Sort with Application to Searching and Recognition. II // Cybernetics and System Analysis, 2001. No. 5. - Р. 81-101.
12. Romm Y.E., Riumin O.G. Automatic Identification of Plane Outline Images n the Basis of Sort // TSPI. — Тaganrog, 2005. 52 p. - Deposited in ARISTI 10.11.2005. — №1454. - В2005.
УДК 62-52
А.А. Кочкаров, С.П. Никищенко, А.Р. Салпагарова СТРУКТУРНОЕ РАСПОЗНАВАНИЕ СЕТЕВЫХ СИСТЕМ
Эффективность функционирования различных отраслей экономики государства зависит от пространственной распределенности и разветвленности ее коммуникационных сетей (электроэнергетических, информационных, водо- и теплоснабжающих, социальных и т.п.). Чем шире зона покрытия коммуникационных