Филиппов А.К. ДЕРЕВЬЯ С ИЗМЕНЯЕМОЙ СТРУКТУРОЙ И ИХ ИСПОЛЬЗОВАНИЕ В ЗАДАЧАХ СЕГМЕНТАЦИИ ИЗОБРАЖЕНИЙ
Введение
В настоящее время все большее значения приобретают методы визуального неразрушающего контроля, базирующиеся на принципах теории распознавания образов и позволяющие проверять качество всех изделий [1-3]. Использование подобных методов позволяет
- полностью исключить влияние человеческого фактора (а, следовательно, и субъективность оценки) на процесс контроля качества изделий;
- отказаться от выборочного контроля и перейти к проверке 10 0% изделий;
- сократить время контроля, повысив тем самым производительность предприятия.
Одним из основных алгоритмических элементов технологии визуальной проверки качества изделий является сегментация [1,4-5], то есть процесс разделения изображения на составляющие его области и объекты [6]. В настоящее время существует большое число различных методов сегментации изображений [4-6]. Однако во многих случаях требуются такие алгоритмы, которые позволяют на последующих этапах применять к областям, полученным после сегментации, различного рода интегральные преобразования (например, быстрое преобразование Фурье, дискретное косинусное преобразование или дискретное вейвлетное преобразование). Таким образом, исходное изображение должно быть разделено не на области произвольных размеров и форм, а на
квадратные блоки с длиной стороны 2k , где kgK .
Одним из подходов к решению указанной задачи является применение квадродерева (кватернарное дерево, quad-tree, рис. 1) [7]. Оно, как и бинарное дерево (binary tree), представляет собой древовидную струк-
туру (рис. 2). Главное отличие между ними состоит в том, что каждый узел-родитель квадродерева имеет не более четырех узлов-детей [8]. Известно, что древовидные структуры и алгоритмы их обхода хорошо изучены, достаточно просты и эффективны для многих приложений [9] - все это и является их главными достоин-
ствами . Недостатки кватернарного дерева при его использовании в задачах сегментации изображений поясняются на рис. 3. Как видно, при декомпозиции изображения по алгоритму квадродерева единые области с одинаковой текстурой могут оказаться разделенными, несмотря на то, что их целесообразно было бы объединить в один блок (например, центральная часть изображения на рис. 3). В связи с этим возникает необходимость разработки новых алгоритмических решений, объединяющих в себе достоинства кватернарного дерева и лишенных его недостатков.
Рисунок 2. Использование квадродерева для сегментации изображений
1. Деревья с изменяемой структурой
Пусть исходное изображение имеет размеры 2т х 2т . При декомпозиции изображения по алгоритму квадродерева исходное изображение соответствует 0-ому уровню разложения, блок размером 2(т ^ х 2(т - 1-ому уровню и так далее, пока размеры блока не будут равны 2(т г) х2(т г) , что соответствует блоку минимально допустимого размера и г-ому уровню разложения (табл. 1) . Общее количество уровней разложения равно г +1 , включая исходное изображение.
Таблица 1. - Взаимосвязь уровней разложения и размеров блока
Уровень разложения Размер блока
0 2m х 2m (размер исходного изображения)
1 2(m-1) х 2(m-1)
2 2(m-2) х 2(m-2)
r — 2 2(m-(r-2)) х 2(m-(r-2)) _ 2(m-r+ 2) х 2(m-r+ 2)
r — 1 2(m-(r-1)) х 2(m-(r-1)) _ 2(m-r+1) х 2(m-r+1)
r 2(m-r) х 2(m-r) (блок минимально допустимого размера)
Одним из возможных подходов к решению описанной задачи является анализ граничных блоков к -ого уровня с целью определения возможности их объединения в блок большего размера (блок (к — 1) -ого уровня), как это показано на рис. 4. Этот процесс анализа можно представить в виде движения окна размером
2(тк+1) х 2(т к+1) (что соответствует блоку (к — 1) -ого уровня) по границам блоков размера 2(т к) х 2(т к) (см.
рис. 5 для блоков 2-ого уровня и окна, соответствующего блоку 1-го уровня). Решение об объединении блоков принимается аналогично тому, как это происходит и для обычного квадродерева: выбирается некоторый
критерий С , если его значение для данного блока меньше или равно некоторому пороговому значению Стн :
С < Сн , то четыре блока к -ого уровня объединяются в один блок (к — 1) -ого уровня. В противоположном
случае ( С >Стн ) блоки остаются разделенными. Таким образом, сущность предлагаемого подхода состоит в
том, что анализ производится окном, равным блоку (к — 1)-ого уровня, и по границам между блоками (к — 1)-
ого уровня, но с шагом движения, равным стороне блока к -ого уровня.
Рисунок 3. Пример сегментации изображения с применением кватернарного дерева
Очевидно, что описанная процедура не может быть представлена в виде кватернарного дерева. Для этого могут быть применяться деревья с изменяемой структурой. Пример такого дерева изображен на рис. 6, что соответствует случаю декомпозиции изображения, показанному на рис. 4. Первоначально изображение представляется в виде квадродерева (рис. 1-2), затем производится анализ граничных блоков, как это описано выше, и принимается решение об объединении блоков k -ого уровня в один, который при переходе к древовидным структурам можно рассматривать в качестве нового узла (k — 1)-ого уровня (в данном случае, возникает новый узел 1-ого уровня) . При этом другие узлы-родители (k — 1)-ого уровня лишаются узлов-детей,
участвовавших в создании нового узла. Однако вновь образовавшиеся узлы в отличие от других узлов (k — 1)
-ого уровня, которые были получены в процессе формирования кватернарного дерева, является концевым узлом (листом). Именно поэтому узлы-дети, из которых был сформирован новый узел, показаны серым цветом -
узлы k -ого уровня, участвовавшие в создании нового узла (k — 1)-ого уровня, вообще исключаются из дальнейшего рассмотрения, что позволяет минимизировать дополнительные временные затраты, обусловленные анализом граничных блоков.
Как следует из приведенного описания, разница между исходным изображением и блоком минимально допустимого размера должна составлять, по крайней мере, два уровня. Таким образом, первоначальное изображение должно быть как минимум в 16 раз больше самого малого блока. Рассмотренный выше подход может быть распространен на любое t-арное дерево (t-ary tree).
Рисунок 5. Использование квадродерева с изменяемой структурой для сегментации изображений
Рисунок 6. Анализ граничных блоков с применением окна
2. Оценка сложности построения квадродерева с изменяемой структурой
Одним из наиболее важных достоинств древовидных структур является простота их построения, что очень важно при обработке изображений в режиме реального времени. В этой связи необходимо оценить дополнительные вычислительные затраты, которые возникают при переходе от традиционных (бинарных, кватернарных и т.д.) деревьев к деревьям с изменяемой структурой. В настоящей работе приводится оценка сложности построения квадродерева с изменяемой структурой. Для этого необходимо подсчитать максимальное количество дополнительных граничных блоков. Очевидно, что их количество для некоторого уровня / еК может быть рассчитано по формуле:
Н (/ ) = «Ы (/)— «01 (/) , (1)
где «Ь1 (/) - общее число блоков (/ — 1) -ого уровня вдоль горизонтальных и вертикальных границ блоков / -ого уровня; (/) - количество дублируемых блоков (1—1) -ого уровня, которые возникают при пересечении
горизонтальных и вертикальных границ. «Ь1 (/) вычисляется как
«Ы (/) = «Ъу (/) * НЪу (/) + «Ыг (/) * (/) , (2)
где «Ъу (/) , «ъг (/) - количество вертикальных и горизонтальных границ между блоками (/ — 1) -ого уровня
соответственно; Нъу (/), ^ (/) - количество блоков (/ —1) -ого уровня вдоль вертикальных и горизонтальных
границ соответственно. Так как изображение принято квадратным и в виду особенностей построения кватер-
нарных деревьев, то «у (/) = «Ыг (/ ) = «Ъ (/) и Нъу (/) = (/) = Нъ (/) , следовательно, (2) примет вид:
% (/)= «ъ (/)* Нъ (/)+ «ъ (/)* Нъ (/) = 2 * «ъ (/)* Нъ (/) . (3)
Число границ вдоль одной стороны «(/) равно количеству блоков (/ — 1)-ого уровня, уменьшенному на
единицу, то есть
«Ъ (/) = 21—1 — 1 . (4)
Количество блоков (/ — 1)-ого уровня вдоль границы при шаге движения окна, равном стороне блока / -ого уровня, рассчитывается по формуле:
Нъ (/) = 21 — 1 . (5)
Подставляя (4) и (5) в (3), получаем
«Ъ1 (/) = 2*(21—1 —1)*(21 — 1) . (6)
Величина (/) численно равна количеству пересечений вертикальных и горизонтальных границ между бло-
ками (I — 1) -ого уровн^ то есть квадрату «ъ (/) :
«01 (/) = « (/) = (21—1 —1)2 . (7)
Подставляя (6) и (7) в (1) и упрощая выражение, приходим к формуле:
М (/) = 2 *(21—1 —1)*(21 —1) —(21—1 — 1)2 = 3 * 221—2 — 21+1 +1 . (8)
График функции (8) представлен на рис. 7.
Количество дополнительных граничных блоков может быть задано в виде числовой последовательности: {Н1}11 ={3*221—2 — 21+1 +1^ . (9)
Так как N (1) = 0 (на 1-ом уровне декомпозиции анализ не производится), то выражение (9) примет вид:
{Ы^ ={3 * 221—2 — 21+1 +1}^ . (10)
Для определения объема дополнительных вычислительных затрат, которые возникают при переходе от традиционного кватернарного дерева к квадродереву с изменяемой структурой, необходимо рассмотреть отноше-
ние
м (/)
*(/)=^Л, (11)
Мqt (/)
где ^ (/) - количество блоков / -ого уровня в изображении, которое определяется по формуле:
( Т V М„(0 = ^ , 42)
где Т - длина стороны исходного изображения; Ь(/) - длина стороны блока / -ого уровня. Как следует
из табл. 1, Ь = 2т Ь (/ ) = ^ . Следовательно, (12) можно переписать как
ч2
г) _(2)2 _221 . (13)
С учетом (13), (11) примет вид
3 • 221—2 — 21+1 +1 R(l) =----------¿2------ . (14)
Из теории математического анализа известно: если некоторая функция f(х) определена, непрерывна и
строго возрастает на отрезке B_ [а,b], то для нее справедливы следующее равенство:
1im /(Д ) _ sup /(В) . (15)
Pi i р^ еВ
Из теории дифференциального исчисления известно: если всюду на интервале производная функции положительна, то эта функция строго возрастает на рассматриваемом интервале. Продифференцируем функцию R (l) по переменной l :
dR (l) (з • 221—2 — 21+1 +1^ 221 — (3 • 221—2 — 21+1 +1)-(221)'
~ir= щ . (16)
Учитывая, что
(з• 221—2 — 21+1 +1) _3• 221—1 • 1n2 — 21+1 • 1n2 , (17)
(221)_2• 221 • 1n2 , (18)
получаем
dR (l) (3 • 221—1 • 1n 2 — 21+1 • 1n 2) • 221 — (3 • 221—2 — 21+1 +1) • (2 • 221 • 1n 2)
dl ~ (221 )2 _
(3 • 221—1 — 21+1) • 1n 2 — (3 • 221—1 — 2 • 21+1 + 2) • 1n 2 _ 2s _
(3 • 221—1 - 21+1 - 3 • 221—1 + 2 • 21+1 - 2) • 1n 2 (21+1 - 2) • 1n 2
_ 221 _ 221
Следовательно, функция R (l) строго возрастает на отрезке, удовлетворяющему следующему неравенству:
dR (l) (21+1 — 2) • 1n2
---—_------------^----> 0 . (20)
dl 221
2i dR (l) r
Так как 2 > 0 и 1n2 > 0 , тогда ———> 0 при l > 0 . Таким образом, для отрезка B _ [2,rJ
(19)
limf(Д) = supf(В) . (21)
Pi^r Pi еВ
Рассмотрим предел функции R(/) при / = r :
3 22l—2 — 2l+1 +1 3
lim R (/) = lim—--------------------------------*-= - = 0,75 . (22)
i^+« i^+« 221 4
Таким образом, объем дополнительных вычислений при построении квадродерева с изменяемой структурой всегда будет меньше затрат на основные расчеты, связанных с построением кватернарного дерева (рис. 8).
Рисунок 8. Отношение числа дополнительных блоков к количеству основных блоков в зависимости от уровня разложения Заключение
Применение квадродеревьев с изменяемой структурой для сегментации изображений позволяет устранить недостатки, которые оказываются неизбежными при использовании традиционного кватернарного дерева (рис. 3). При этом, как видно из приведенных расчетов (например, рис. 8), общий объем вычислений при построении квадродерева с изменяемой структурой по сравнению с традиционным кватернарным деревом не возрастет даже в два раза. На практике, если имеется априорная информация о размере искомых объектов, для сокращения объема расчетов можно не проводить анализ граничных блоков на некоторых уровнях разложения в том случае, когда заведомо размеры объекта значительно меньше размера окна. Кроме того, для упрощения вычислений при анализе граничных блоков можно использовать данные, полученные при построении традиционного квадродерева. Так, в большинстве случаев значение критерия С для блока (к — 1)-ого уровня может быть
вычислено как сумма или произведение его значений для блоков к -ого уровня:
3 3
С (k—1)=2Ci (к) или С(k—1)=ПС1 (к) •
i=0 i=0
ЛИТЕРАТУРА
1. Шпиннлер К., Кулешов А., Фляхман М., Хельмрайх Г., Шмидт Р., Виттенберг Т. Система автоматического контроля качества поверхностей // Проектирование и технология электронных средств, №1, 2001. - С.
35-37.
2. Filippov A.K. The efficient implementation of specialized systems for optical quality control // Proceedings of the 6th International Conference "Perspective technology in the mass media - PTMM„2005".
- Vladimir: Vladimir University, 2005. - pp. 97-100.
3. Filippov A.K., Rufitskiy M.V., Rufitskiy V.A. A Specialized Adaptive Computing System for Optical
Quality Control // Proceedings of the 10th International Conference "Actual Problems of Solid-State
Electronics and Microelectronics". - Taganrog-Divnomorskoye: Taganrog State University of Radio Engi-
neering, 2006. - pp. 96-99.
4. Kuleschow A., Flachmann M., Spinnler K., et al. Automatisches Lokalisieren, Lesen und Verifizieren von Beschriftungen auf Frachtcontainern in Farbbildern // Proceedings of the 7th Workshop "Bildverarbeitung", Erlangen, Germany, 2001. - S. 21-28.
5. Kuleschow A., Spinnler K. New methods for segmentation of images considering the human vision
principles // Proceedings of the International Conference "Computer Vision and Graphics", vol. 32. -
Warsaw, Poland, 2004. - pp. 1037-1042.
6. Гонсалес Р., Вудс Р. Цифровая обработка изображений. - М.: Техносфера, 2005. - 1072 с.
7. Smith J.R., Chang S.-F. Quad-tree Segmentation for Texture-based Image Query // Proceedings of
the ACM 2nd International Conference on Multimedia, San Franciso, USA, 1994. - pp. 279-286.
8. Golchin F., Paliwal K.K. Quadtree-based Classification in Subband Image Coding // Digital Signal
Processing, vol. 13, 2003. - pp. 656-668.
9. Кнут Д.Э. Искусство программирования. В 3-х т. Т. 1: Основные алгоритмы. - 3-е изд.: Пер. с англ.
- М.: Издательский дом «Вильямс», 2004. - 720 с.