5В УДК 004932+621.396 В.В. Вишневский, В.Г. Калмыков Институт проблем математических машин и систем, г. Киев, Украина kvg@immsp.kiev.ua Структурный анализ цифровых контуров изображений как последовательностей отрезков прямых и дуг кривых Рассмотрена задача структурного анализа контуров изображений с использованием предложенного определения дуги цифровой кривой, следствием которого является алгоритм, позволяющий представить контур как естественную последовательность отрезков прямых и дуг кривых. Введение Структурный анализ контуров изображений как последовательностей отрезков прямых и дуг кривых является одной из задач обработки изображений с целью их интерпретации в системах искусственного интеллекта. В большинстве случаев изображение можно рассматривать как часть плоскости, разделенную на области с постоянными или меняющимися по некоторому закону параметрами, например, оптической плотностью, цветом, текстурой. Неотъемлемым свойством каждой из этих областей является ее граница, то есть контур – односвязная последовательность, состоящая из отрезков прямых и дуг кривых. В процессе структурного анализа растровых изображений контуры обычно описываются в виде последовательности особых точек или отрезков прямых. Известно также, что в большом количестве приложений криволинейные элементы изображений представлены в виде сплайнов, кривых Безье и т.п. Однако дуги произвольных кривых как элементы описания контуров не часто используются при распознавании контуров изображений. По крайней мере одной из причин этого является отсутствие общего определения дуги произвольной цифровой кривой. В то же время использование дуг кривых как структурных элементов описания изображений приблизило бы описание к интуитивному, естественному представлению изображений человеком, существенно сократило бы затраты памяти для хранения изображения и времени его обработки. В качестве примера приведем описание контуров бинарных изображений, полученных в распространенном графическом редакторе Corel Draw для бинарного изображения. На рис.1 представлены контуры трех одинаковых объектов без помех, содержащих дугу эллипса, отличающихся положением в пространстве и углом поворота относительно центра О. Квадратиками обозначены граничные точки, которые разделяют контуры на дуги кривых и отрезки прямых. Одинаковые дуги представлены последовательностями, содержащими неодинаковое количество различных дуг кривых, то есть каждый из одинаковых объектов представлен различными элементами. Такое описание объектов не может быть непосредственно использовано в системах искусственного интеллекта для интерпретации изображений, поскольку предполагает еще достаточно сложную обработку. Приведенный пример показывает существование проблемы даже при обработке изображений, не искаженных помехами и актуальность ее решения. «Штучний інтелект» 3’2004 445 Вишневский В.В., Калмыков В.Г. 5В O a O O b c Рисунок 1 В работе [1] отмечается: «Понятие непрерывной кривой на плоскости (в пространстве) является одним из понятий, интуитивно кажущихся простыми, но фактически очень сложно определяемых. В разные периоды развития математики крупнейшие представители этой области человеческих знаний по-разному определяли непрерывную кривую. Каждое новое определение исходило из потребностей практической деятельности человека, а также уровня знаний соответствующей эпохи». Потребности настоящего времени тесно связаны с необходимостью создания и массового использования средств обработки визуальной информации, представленной в дискретном виде. Одной из основных проблем обработки визуальной информации является искусственная идентификация или интерпретация изображений. Однако решение этих задач невозможно без автоматического обнаружения и идентификации общепринятых основных элементов изображения, к которым относится дуга кривой. Предварительная информация – контур как последовательность отрезков прямых В данном разделе кратко рассматривается структурный анализ контуров изображений как последовательности отрезков цифровых прямых, которые являются исходными данными для сегментации контура на дуги цифровых кривых и отрезки цифровых прямых. Ограничимся рассмотрением бинарных изображений, объекты которых полностью определяются ограничивающими их контурами. Дуги цифровых кривых, как и отрезки цифровых прямых, образуются при дискретизации изображений, содержащих контуры, образованные отрезками прямых и дугами кривых. Характерные признаки отрезков прямых и дуг кривых в процессе преобразования утрачиваются. Рассматривая дискретизованное изображение при достаточном увеличении, часто трудно бывает узнать отдельные отрезки прямых и дуги кривых в последовательности вертикальных и горизонтальных отрезков. Дополнительные трудности возникают при обработке из-за того, что линии контуров – математические линии без толщины отображаются на экране монитора связными последовательностями пикселов, то есть визуальными линиями, имеющими толщину. 446 «Искусственный интеллект» 3’2004 Структурный анализ цифровых контуров изображений… 5В Чтобы исключить возникающие из-за этого проблемы, будем рассматривать изображение, полученное из исходного в результате дискре-тизации, так же как в работе В.А. Ковалевского [2], как двумерный клеточный комплекс. Вообще D-мерный клеточный комплекс – это структура, состоящая из абстрактных элементов, называемых клетками. Каждой клетке присвоена целочисленная величина от 0 до D, называемая измерением. Определены граничные отношения клеток: клетка более низкого измерения может ограничивать клетки более высокого измерения. В данном случае двумерные элементы – это пикселы. Помимо пикселов имеются креки (crac) и точки. Креки – это стороны пикселов, являющиеся одномерными элементами. Точки являются конечными точками креков и угловыми точками пикселов. Точки являются нольмерными элементами. На рис. 2 представлен пример бинарного объекта. Контур объекта в таком случае – это связная замкнутая последовательность контурных креков, граничных между пикселами объекта и фоном. Контур может быть описан как последовательность целочисленных координат точек, ограничивающих контурные креки. Как показано в [2], представление плоскости как клеточного комплекса дает много преиму-ществ, в частности граница области становится тонкой кривой с нулевой площадью. Рисунок 2 На рис. 3 приведен пример исходного контура объекта, образованного дугой кривой и отрезком прямой, а также его цифровой эквивалент как последовательность креков. Перенумерованы точки, принадлежащие крекам разных направлений. Как и работах [3], [4], под L-элементом будем понимать связную последовательность креков одного и того же направления, выходящую из некоторой точки и заканчивающуюся креком того же или перпендикуляр-ного направления. В данном случае L-элементами являются последователь-ности креков между точками: (0-2), (2-4), (4-6), (6-8), (8-9), (9-11), (11-13), (13-15), (15-17), (17-19), (20-21), (21-23), (23-25), (25-27), (27-0). Каждый L-элемент характеризуется такими параметрами: направлением относительно начальной его точки g (принято g = 0 – для направления вверх, 1 – вправо, 2 – вниз, 3 – влево); l – количеством креков направления g (l = 1,2,…); направлением последнего крека q относительно направления g предыдущих креков (q = –1 – последний крек направлен влево относительно направления g, +1 – вправо, 0 – совпадает с направлением g). Для L-элемента (0-2) g = 0, l = 3, q = +1. Для L-элемента (27-0) g = 3, l = 1, q = 0. В работах [3], [4] предложены метод и алгоритм выделения отрезков цифровых прямых в контуре как последовательности L-элементов с одинаковыми значениями g, q. Значения l L-элементов, образующих отрезок, и их чередование «Штучний інтелект» 3’2004 447 Вишневский В.В., Калмыков В.Г. 5В может определяться цепной дробью, получаемой при делении целых чисел n= x=|х1-х2| и m=y=|у1-у2|, где (х1, у1), (х2, у2) – координаты начальной и конечной точек отрезка: [l; k1, k2,…, kt] или n r 1 r1 1 1 l l ... l m m k1 r k1 k 2 1 1 1 1 r2 ... l k 1 k 2 k 3 ... k t r1 (1) 11 12 8 9 10 7 6 4 5 3 2 1 0 Рис. 4 Положим для определенности, что n > m. Как следует из формулы (1), l – целая часть от деления n на m – соответствует в отрезке цифровой прямой, количеству из l подряд идущих креков одного направления. Вместе с примыкающим перпендикулярным креком они образуют L-элемент длины l. k1 подряд идущих L-элементов длины l и один Lэлемент длины l+1, если он имеется в последователь-ности, образуют К1-элемент длины k1. Аналогично k2 подряд идущих К1-элемен-тов длины k1 и один К1-элемент длины k1+1, если он имеется в последователь-ности, образуют К2элемент длины k2, и так далее до 10 9 исчерпания членов цепной дроби. На 12 рис. 4 показана структура отрезка 7 8 11 14 прямой. L-элементы соединяют узлы 0, 5 13 6 16 1, . . . , 12. Из L-элементов между узлами 15 3 4 3* 17 0-2, 2-5, 5-7, 7-9, 9-12 составлены К118 элементы. Из К1-элементов между 20 19 узлами 0-5, 5-12 составлены К222 1 2 21 элементы, которые образуют К324 23 26 элемент (узлы 0-12). 25 0 27 Рисунок 3 448 «Искусственный интеллект» 3’2004 Структурный анализ цифровых контуров изображений… 5В 11 12 8 9 10 7 6 4 5 3 2 1 0 Рис. 4 Рисунок 4 Алгоритм выделения отрезков цифровых прямых в контуре заключается в определении L-элементов и Кt-элементов по последовательности креков в контуре. Первый крек в последовательности является К0-элементом по определению. Один за другим присоединяют к уже образованному Кt-элементу следующие в последовательности контура креки. Если вместе с вновь добавляемым уже построенный Кt-элемент образует снова Кt-элемент или Кt+1-элемент, отрезок цифровой прямой продолжается. В противном случае – конец текущего и начало следующего отрезка. В контуре на рис. 3 могут быть выделены следующие отрезки цифровых прямых: 03, 3-9, 9-10, 10-17, 17-0. Отметим следующие особенности алгоритма: 1. Всякий выделенный отрезок прямой может содержать на краях неполные Кtэлементы и/или L-элементы, содержащие количество креков, меньшее чем определенное для данного отрезка значение l (отрезок 17-0, рис. 3). Это происходит, например, при произвольном делении уже построенного отрезка на две части, либо при его увеличении при сохранении структуры и не нарушает уже распознанной структуры отрезка. 2. Отрезки цифровых прямых, соответствующие дугам кривых исходного изображения, не имеют четких границ. Их границы могут быть изменены без нарушения структуры отрезков. Например, вместо отрезков (0-3), (3-9) могут быть выбраны отрезки (0-3*), (3*-9). Соответственно и дуга кривой может быть представлена различными наборами отрезков цифровых прямых. Рассмотренный алгоритм, так же как и алгоритм, предложенный в работе [2], позволяет представить произвольный контур как последовательность отрезков цифровых прямых. Последовательности отрезков цифровых прямых могут отображать как ломаные линии, так и дуги цифровых прямых. Условия идентификации последовательности сегментов ломаной линии контура как дуги цифровой кривой «Штучний інтелект» 3’2004 449 Вишневский В.В., Калмыков В.Г. 5В Визуально отрезки прямых и дуги кривых относятся к основным структурным элементам контуров на графических изображениях. В дискретном представлении изображений отрезкам прямых и дугам кривых соответствуют отрезки цифровых прямых и дуги цифровых кривых. Дискретный характер визуальной информации не позволяет напрямую применять традиционные определения непрерывных кривых при обработке изображений с целью их интерпретации. Для того, чтобы использовать дуги кривых как элемент изображения, необходимо определить понятие дуги кривой в дискретном представлении. Найти такой алгоритм, который позволяет среди последовательности отрезков цифровых прямых контура выделить части этой последовательности, которые были образованы дугами кривых, в доступных источниках не удалось. В данном разделе предполагается сформулировать определение дуги цифровой кривой, из которого следовал бы алгоритм, позволяющий определить принадлежность отрезков цифровых прямых контура дуге кривой. Будем полагать, что исходные дуги кривых, используемых в графических изображениях, являются дугами непрерывных кривых линий с непрерывными первыми и вторыми производными. Под непрерывными кривыми линиями [1], заданными уравнениями x = (t), y = (t), будем понимать кривые Жордана без кратных точек или простые дуги, то есть такие, что для любых двух различных значений t и t соответствующие им точки на плоскости M [ (t), (t)] и M [(t), (t)] различны. Так как множество точек замкнутой кривой, например, всей окружности или всего эллипса, простой дугой не является, при необходимости замкнутые кривые всегда можно представить как замкнутые последовательности простых дуг, например дуг окружностей, эллипсов и т.д. Рассматриваемые в данной работе дуги кривых являются выпуклыми. Пусть x = (t), y = (t), где (t), (t) – непрерывные функции параметра t, определенные на сегменте [a, b]. При возрастании t от a до b точка с координатами х, у описывает дугу АВ. Рассмотрим разбиение сегмента [a, b] точками деления a = t0 < t1 < … < ts-1 < ts = b, (2) и пусть этим точкам деления соответствуют точки кривой А, T1, …, Ts-1, В. Соединив последовательно отрезками прямых точку А с точкой T1, точку T1 с точкой T2, …, точку Ts-1 с точкой В, построим ломаную линию, которую будем называть ломаной, вписанной в дугу АВ. С учетом приведенных положений введем некоторые ограничения и допущения. В предыдущем разделе контур представлен как последовательность отрезков цифровых прямых. Последовательности отрезков цифровых прямых, которые соответствуют исходным дугам кривых, могут рассматриваться как ломаные линии, вписанные в исходные дуги кривых. Координаты точек излома вписанных ломаных линий могут быть использованы для определения и анализа конечных разностей тех функций, которые соответствуют исходным дугам кривых. Конечная разность первого порядка приближенно характеризует касательную соответствующей части дуги кривой. Конечная разность второго порядка приближенно характеризует кривизну соответствующей части дуги кривой. 450 «Искусственный интеллект» 3’2004 Структурный анализ цифровых контуров изображений… 5В Кривизну плоской кривой обычно отождествляют с кривизной соприкасающейся окружности [4]. Соприкасающейся окружностью плоской кривой в точке T1 называют предельное положение окружности, проходящей через две соседние точки T2 и T3 при стремлении T2 и T3 к T1. В соответствии с широко распространенными представлениями о механизмах зрительного восприятия полагают, что в процессе зрительного восприятия различаются градиенты яркостей и кривые первого и второго порядков. В практической деятельности получили широкое распространение кривые Безье, которые являются кривыми третьего порядка и используются при решении многих практических задач. Поэтому будем полагать, что исходные кривые удовлетворительно описываются кривыми не выше третьего порядка. Отметим, что расстояние точек исходной дуги кривой от соответствующих точек отрезков цифровых прямых будет меньше или равно величине дискретности d по построению. Положим также, что отрезки цифровой прямой, которые характеризуют дугу кривой, выбраны такими, что их длины отличаются друг от друга не более чем на d. Рассмотрим условия, при которых некоторая последовательность сегментов ломаной линии контура может быть определена как дуга цифровой кривой. Будем рассматривать пары соседних отрезков цифровых прямых в последовательности, которая соответствует дуге кривой. Пара соседних отрезков определяет конечную разность второго порядка. Две пары, имеющие общий отрезок, будем называть соседними парами. Соседние пары определяют конечную разность третьего порядка. Каждая пара отрезков образует некоторый угол, величина которого вместе с длинами образующих его отрезков характеризует кривизну кривой в вершине этого угла. Рассмотрим более подробно свойства пар соседних цифровых отрезков дуги цифровой кривой, учитывая, что она является отображением в дискретном пространстве некоторой дуги непрерывной кривой. Длины этих отрезков отличаются на величину, меньшую d, по определению. Тогда Tn-1OTn Tn OTn+1 обозначим как . Обычно кривизну кривой в точке оценивают по кривизне касательной окружности [4]. Построив такую окружность по точкам Tn-1Tn Tn+1, произведем оценку величины отклонения каждого следующего отрезка от направления линии предыдущего отрезка (рис. 5). Величиной отклонения может служить длина отрезка Tn+1T' при условии, что l(TnT'')l(Tn,Tn+1). Определим вначале длину отрезка TnR2 – высоты треугольника Tn-1Tn Tn+1. Как уже было отмечено, максимальное расстояние между точками линий дуги кривой и соответствующего отрезка цифровой прямой SR1= d. В то же время SR1= OTn-1 OTn-1 cos = r – r cos = r(1 cos ). «Штучний інтелект» 3’2004 451 Вишневский В.В., Калмыков В.Г. 5В Рисунок 5 Длина высоты (Tn-1Tn Tn+1) TnR2 = OTn OTn cos 2 = r – r cos = r(1 cos 2) = 2(1 cos2 ). TnR2 / SR1 = 2(1 + cos ); или TnR2 = 2(1 + cos ) SR1. Если SR1 d и 30, то высота треугольника (Tn-1Tn Tn+1) TnR2 3,85d. Нетрудно видеть, что максимальное отклонение Tn+1T' = 2 TnR2 = 7,7d. (3) Это означает, что для того, чтобы рассматриваемая пара отрезков могла быть отнесена к дуге цифровой кривой, необходимо, чтобы величина максимального отклонения TnT' не превышала бы 7,7d. Минимальная величина отклонения Tn+1T' > d, поскольку при меньшем значении отклонения направления отрезков Tn-1Tn и Tn Tn+1 неразличимы, и пара отрезков разных направлений превращается в отрезок прямой. Величина отклонения d < gn = Tn+1T' < 7,7d также является значением второй конечной разности на сегменте контура Tn-1Tn Tn+1 в точке Tn при условии, что данный сегмент является частью дуги кривой. На основании приведенных соображений можно сформулировать следующее определение. Под дугой цифровой кривой в дискретном пространстве дискретности d будем понимать такую последовательность отрезков цифровых прямых, что через конечные три точки каждой пары соседних отрезков можно провести такую окружность, что высота сегментов этой окружности, соответствующих соседним отрезкам, не превышает d. 452 «Искусственный интеллект» 3’2004 Структурный анализ цифровых контуров изображений… 5В Это определение справедливо в той мере, насколько правомерно отождествлять сегмент дуги произвольной кривой, соответствующий паре соседних отрезков дугой касательной окружности. Легко проверить, например, что описание дуги кривой (0-17) отрезками цифровых прямых (0-3*), (3*-9), (9-10), (10-17) на рис. 3 соответствует предлагаемому определению. Выполнение требования непрерывности исходной дуги кривой и ее производных в условиях дискретного пространства можно рассматривать, вводя ограничения на величины конечных разностей. Прежде всего величина отклонения d< gn = Tn+1T' < 7,7d является второй конечной разностью на сегменте контура Tn-1Tn Tn+1 в точке Tn при условии, что данный сегмент является частью дуги кривой. Необходимо также, чтобы выполнялось условие |gn gn+1|d, что соответствует постоянству второй конечной разности, или |gn gn+1|=const, что соответствует постоянству третьей конечной разности. Итак, всякий контур может быть представлен ломаной линией. Некоторые отрезки прямых являются самостоятельными структурными элементами контура. Некоторые же части последовательности отрезков прямых отображают дуги кривых линий. Как следует из сказанного выше, для того чтобы можно было считать, что последовательность из отрезков прямых отображает дугу кривой, необходимо выполнение следующих условий. 1. Количество отрезков в последовательности, отображающих одну дугу кривой, должно быть три или более, то есть не менее двух соседних пар, чтобы можно было вычислить конечные разности до третьего порядка. 2. Для каждой пары отрезков Tn-1Tn и Tn Tn+1 выполняется условие d<gn<7,7d – ограничение на конечную разность второго порядка. 3. Для каждых двух соседних пар выполняется условие |gn gn+1|d или |gn – gn+1|= const – ограничение на конечную разность третьего порядка. Алгоритм распознавания контуров изображений как последовательности отрезков цифровых прямых и дуг цифровых кривых, использующий предлагаемые условия, был реализован в составе лабораторного программного комплекса обработки изображений коллективом авторов в составе В.В. Вишневский, Т.М. Власова, В.Г. Калмыков, Д.И. Масол, М.В. Чубун, В.М. Шарыпанов, что является предметом отдельных публикаций. Лабораторным программным комплексом обработаны массивы, содержащие несколько тысяч различных изображений. Пример работы программы распознавания контура как последовательности отрезков цифровых прямых и дуг цифровых кривых приведен на рис. 6. Программой обработано то же изображение, что было ранее обработано программой Corel Draw (рис. 1). Как видно из рис. 6, дуги цифровых кривых и отрезки прямых в контурах восстановлены в соответствии с естественным представлением человека, независимо от аффинных преобразований, в данном случае от поворота. Выводы 1. Сформулировано определение, в соответствии с которым односвязная последовательность отрезков цифровых прямых может рассматриваться как «Штучний інтелект» 3’2004 453 Вишневский В.В., Калмыков В.Г. 5В дуга цифровой кривой, полученной в результате дискретизации произвольной непрерывной кривой. 2. Полученные условия идентификации последовательности сегментов ломаной линии контура как дуги цифровой кривой позволили создать алгоритм и программу для распознавания контура в виде последовательности отрезков цифровых прямых и дуг цифровых кривых. Рисунок 6 3. Предлагаемый способ описания контуров изображений позволяет не только уменьшить объемы памяти при хранении изображений, но и существенно уменьшить время обработки за счет естественного представления контуров. 4. Разработанные на основе достигнутых результатов алгоритмы и программы позволяют, в отличие от известных, производить сегментацию контуров естественным образом на отрезки прямых и дуги кривых. 5. Полученные результаты будут использованы при разработке систем интерпретации не только бинарных, но и полутоновых и цветных изображений, как без потери информации, так и при наличии помех. Литература 1. 2. 3. Макаров И.П. Допо4лнительные главы математического анализа. – Москва: Просвещение, 1968. Kovalevsky V.A.: Applications of Digital Straight Segments to Economical Image Encoding, In Proceedings of the 7th International Workshop, DGCI’97, Montpellier, France, December 35, 1997, Springer 1997. P. 51-62. Калмыков В.Г. Структурный метод описания и распознавания отрезков цифровых прямых в контурах бинарных изображений.// Искусственный интеллект. 2002. № 4. С. 450-457. Калмыков В.Г. Вишневский В.В. Анализ контуров объектов в бинарных изображениях // Математические машины и системы. 1997. № 2. с. 68-71. Корн Г. и Корн Т. Справочник по математике для научных работников и инженеров. – Москва: Наука, 1974 4. 5. The Structural Analysis of Digital Contours of Images as Sequences of Straight Segments and Curve Arches 454 «Искусственный интеллект» 3’2004 Структурный анализ цифровых контуров изображений… 5В The recognition of the digital curve arches in the structural analysis of images is one of the tasks of the visual information processing in the systems of artificial intellect. The use of curve arches as the structural elements of images will approach their description to intuitive, human understanding, essentially reduce memory expenses for a visual information storage and processing time. In the article the definition of a digital curve arch is considered, from which the algorithm is developed to define if a part of a contour is really a smooth curve arch or not. В.В. Вишневський, В.Г. Калміков Структурній аналіз цифрових контурів зображень як послідовність відрізків прямих та дуг кривих Розглянута задача структурного аналізу контурів зображень з використанням запропонованого визначення дуги цифрової кривої, висновком якого є алгоритм, що дозволяє зобразити контур як природну послідовність відрізків прямих та дуг кривих. Статья поступила в редакцию 12.07.2004. «Штучний інтелект» 3’2004 455