Научная статья на тему 'Алгоритм скелетизации объектов на трехмерных растровых изображениях'

Алгоритм скелетизации объектов на трехмерных растровых изображениях Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
521
74
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СКЕЛЕТИЗАЦИЯ / ДИСТАНЦИОННЫЕ КАРТЫ / ВЫСОКОЕ РАЗРЕШЕНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гончаров Д. А., Недзьведь А. М., Абламейко С. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Skeletonization algorithm FOR OBJECTS ON THREE-DIMENSIONAL RASTER IMAGES

A skeleton building algorithm in case of lack of memory is presented. Built skeleton is topologically equivalent to the original object. Despite the fact that data are processed locally, this algorithm preserves a skeleton global attribute centeredness. It is parallel and divided into independent stages, each of which can be substituted with alternatives. The method is based on pseudo-distance maps and constructed skeleton can be used to calculate topological as well as morphological characteristics of the object.

Текст научной работы на тему «Алгоритм скелетизации объектов на трехмерных растровых изображениях»

Доклады БГУИР

2015 № 8 (94)

УДК 004.93'1;004.932

АЛГОРИТМ СКЕЛЕТИЗАЦИИ ОБЪЕКТОВ НА ТРЕХМЕРНЫХ РАСТРОВЫХ ИЗОБРАЖЕНИЯХ

Д А. ГОНЧАРОВ, А.М. НЕДЗЬВЕДЬ, С В. АБЛАМЕЙКО

Белорусский государственный университет Независимости, 4, Минск, 220030, Беларусь

Поступила в редакцию 7 мая 2015

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

Ключевые слова: скелетизация, дистанционные карты, высокое разрешение.

Введение

В настоящее время существует много алгоритмов построения скелета [1], но в абсолютном большинстве из них входное изображение должно быть обработано полностью. Наряду с этим, современные медицинские приборы позволяют получить изображения высокой точности, что ведет к увеличению обрабатываемых данных. Например, анализируемые изображения сосудистых структур могут занимать несколько гигабайт. Такие изображения не всегда могут быть загружены в память компьютера, и для таких изображений должны быть предложены специальные методы обработки и анализа.

Современная задача утоньшения полутоновых объектов состоит в быстрой и качественной обработке трехмерных изображений. Результатом решения задачи должны быть бинарные скелеты объектов, сохраняющие их топологические особенности. Топологическое описание объектов на изображении соответствует описанию формы. Основными особенностями являются термины из этих областей. Так, для области анализа изображений это пики, плато, хребет, локальные минимумы и максимумы, которые соответствуют впадине и холму. На основе этих понятий разработано несколько алгоритмов распознавания объектов [1-3]. Например, алгоритм водораздела определяет хребты и впадины. В данном случае наиболее важным понятием являются хребты, так как соответствуют средней линии объектов на изображении и сохраняют все топологические свойства. В результате для составления топологического описания объектов, как правило, используются оценки, вычисляемые на основе свойств средней линии объекта и его границ [4]. Наиболее эффективные алгоритмы выделения средней линии (скелета) и границ основаны на операциях математической морфологии [5].

Скелет играет важную роль при описании топологических характеристик, но операция утоньшения бинарного изображения приводит к неполному скелету и потере многих топологических особенностей. В то же время алгоритмов для утоньшения полутоновых и цветных изображений немного и качество большинства их них зависит от топологических особенностей объектов.

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

Обобщенная схема построения скелета

Общая схема предложенных алгоритма представлена на рис. 1.

На первом этапе мы получаем изображения высокого разрешения с сосудами. Это мозаика со 100 изображениями, каждое из которых содержит 2000 на 1000 вокселей.

Захват Сшивка

изображений

2С обработка и скелетизация

Коррекция границ

ЗЕ)

реконструкция

Рис. 1. Общая схема алгоритма

Полученные изображения имеют наложение примерно в 50 вокселей на каждой границе. Для пересчета позиций подизображений мозаики может быть использован алгоритм сшивки, основанный на нормализированном статистическом моменте [6].

На третьем этапе для каждого подизображения применяется алгоритм выделения скелета на гистологических изображениях, описанный в [7].

Алгоритм утоньшения полутонового слоя изображения на основе псевдодистанционной карты

Для решения проблем, связанных со скоростью и качеством построения скелета, был использован алгоритм, основанный на псевдодистанционной карте (ПДК), которая является упрощенной картой расстояний полутонового изображения и использует только особенности изображения, необходимые для построения скелета. ПДК не является дистанционной картой, она отражает топологические характеристики полутона, отображает и производит высококачественный скелет. Более того, алгоритм утоньшения, основанный на ПДК, быстрее обычных полутоновых алгоритмов утоньшения на растровой основе [7].

Для решения задачи утоньшения полутонового изображения с сохранением топологических особенностей использован алгоритм, включающий следующие шаги: построение псевдодистанцинной карты расстояний; определение основных топологических особенностей; построение полутонового скелета; бинаризацию скелета.

Построение псевдодистанционной карты. Построение карты расстояний для полутоновых изображений достаточно сложная задача. Это связано с тем, что увеличивается размерность: полутоновое изображение трехмерное, а карта расстояний для него является четырехмерной. Для построения скелета не нужны дистанционные свойства [7]. Скелет отражает топологические свойства объекта, т. е. должен проходить через точки хребта. Это означает, скелет должен проходить через точки локальных максимумов или пиковые точки (не имеющие соседей, превышающих их по величине); точки седла (через которые в их окрестности пролегает единственно возможный путь между их максимальными соседями); узловые точки седла (единственным образом соединяющие более трех соседей, равных или превышающих их по величине) и не должен проходить через точки локальных минимумов (не имеющие соседей с меньшей величиной). Основные топологические свойства изображения должны быть верно отражены в карте, по которой будет строиться скелет, а также включать локальные максимумы и минимумы, узловые точки и точки седла [8].

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

Для оптимизации процесса построения ПДК используется метрика Чамфера, которая является простой в вычислениях и позволяет получить оптимальное соотношение скорости и качества [1, 9, 10]. За основу построения карты принят модернизированный двухпроходной алгоритм, использующий локальные минимумы. Первый проход выполняется в двух направлениях - сверху вниз и слева направо. Во время прохода каждый пиксель меняется по следующим условиям:

(Рг + f X если(рг + f < Р) и (P- + / > i = 0,..., и

Р = j L(PX если(Рг + ./г < Др)Хг = ^^n >

p, вдругомслучае

где p - значение пикселя; L(p) - значение бинарного слоя в картинке; p - значение пикселей окружения; / - значения векторов в таблице-маске для метрики; г - индекс элемента в таблице-маске для метрики; n - число элементов в таблице.

Второй проход выполняется при тех же условиях в направлениях снизу вверх и справа налево. В результате имеем псевдодистанционную карту расстояний, на которой отображены основные топологические особенности изображения. Таким образом, ПДК соответствуют слоям наборов карт расстояния. Каждый слой ПДК начинается с уровня яркости кратного 256, и яркость каждого пикселя отражает расстояние до ближайшего слоя с более низким уровнем (рис. 2).

а б

Рис. 2. Построение псевдодистанционной карты полутонового объекта: а - объект, б - карта

Определение основных топологических особенностей. При построении скелета на основе ПДК используется определение основных топологических особенностей: точки конца; точки седла; точки двойного седла; локальные максимумы; определение оставшихся элементов хребтов. Вышеописанные топологические особенности являются ключевыми особенностями скелета и определяются согласно таблице, где р - текущий пиксель, р - соседний пиксель, с. - условие

(р > Р), СгвМвгСоиШ(х) - функция подсчета больших по величине областей в окружении пикселя х; && - логическая операция конъюнкции; ! - логическая операция отрицания.

Определение ключевых особенностей скелета

Тип Условие

Точка конца 6 I (Р- > Р ) i=0 = 1

(с4&&с0&&!c2&&!c6)

Точка седла (lc4&&!с&&С&&с) (с & & &!(с & &С & &С) & &!(с0 & &С & &С))

(с &&с && (с & &c & &С) & &!(c & &c & &С))

Точка двойного седла (с & &n == (c1&&nJ == (сз&&П ==; (с7&&П ==; (c4&&n, == (со&&П == (c6&&n2 == (c2&&n6 == ?&&!c0 & ?&&!c6 & p&&!c & p&&!c2 & p&&!c & p&&!c & p&&!c & p&&!c & &! С) & &GreaterCount (p) > 0 &! С) & &GreaterCount (p) > 0 &! С) & &GreaterCount (p7) > 0 &! С) & &GreaterCount (p) > 0 &! С) & &GreaterCount (p) > 0 &! С) & &GreaterCount (p) > 0 &! С) & &GreaterCount (p) > 0 &! С) & &GreaterCount (p) > 0

Локальный максимум 6 II (Pi > p) i=0 = 0

Построение полутонового скелета. Все эти точки отмечаются максимальным уровнем на псевдокарте расстояний и являются стартовыми точками для роста скелета.

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

Бинаризация скелета. Результатом подобных преобразований является полутоновой скелет объекта, пригодный для анализа образов, но не очень удобный для автоматических измерений, которые часто приходится выполнять на изображениях. С этой целью предлагается выполнить бинаризацию полученного изображения.

Бинаризация проводится за один проход изображения по условию для каждого пикселя: If ((P > p01| P > p2 || P > p41| P > p6) || (P > p&&P > p3&&P > p5&&P > p7)) Then Bp = 1 Else BP = 0

Если обрабатываемый пиксель имеет хотя бы одного из четырех соседей (0, 2, 4, 6) меньше его или все диагональные соседи меньше его, то значение пикселя приравнивается к 1, в противном случае - к 0. Результатом работы алгоритма является бинарный скелет объекта, в котором сохранены все топологические особенности объекта (рис. 3).

а б

Рис. 3. Результат полутонового утоньшения: а - исходное изображение; б - алгоритм на основе ПДК с удалением хвостов

Объединение результатов обработки слоев в трехмерном пространстве

Трехмерные медицинские изображения всегда имеют сильную разницу масштаба пикселя слоя от расстояния между слоями. В результате увеличивается погрешность вычислений и ухудшаются результаты. Кроме того, подобный дисбаланс расстояний нарушает связность объектов во время работы растровых алгоритмов вычисления характеристик, что приводит к их непригодности для анализа сложных объектов. Существует большой класс методов для восстановления формы объекта из произвольного облака точек, который используется в различных задачах, таких как дистанционное зондирование, стереоприложения и т. д. Эти подходы также могут быть использованы в медицинских приложениях, однако для таких алгоритмов требуется разработка специализированных векторных алгоритмов при вычислении характеристик. Однако эти методы предназначены для реконструкции объемных объектов, а в случае реконструкции скелета остаются проблемы связанные с правильностью определения скелета, выраженные в следующих условиях [8-10]: нарушении связности в скелете; потеря точек ветвления; нарушении центральности средней линии в объекте; увеличении толщины линии в скелете.

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

Определение точек ветвления. Существует вероятность того, что ветвление скелета происходит в пространстве между слоями. Для поиска этой точки необходимо определить дополнительный промежуточный слой, в котором будут присутствовать точка ветвления скелета и форма объекта. Алгоритм синтеза промежуточных слоев трехмерного медицинского изображения состоит из следующих шагов: объединение объектов на слое; определение общего контура промежуточного слоя; определение точки ветвления в промежуточном слое.

Рассмотрим случай, когда первый слой содержит только один «корневой» контур объекта, а второй - несколько контуров (рис. 4).

Объединение объектов на слое. Для качественного представления объекта требуется одинаковое количество контуров крайних слоев. В этом случае для формирования объекта используются алгоритмы построения выпуклой оболочки, однако все они работают только для связных объектов. Таким образом, необходимо соединить все объекты для слоя [11]. Объединение объектов реализовано через вычисление координат центра масс и проведение линий через них. Затем для всех объектов строится выпуклая оболочка.

а б

Рис. 4. Последовательные бинарные слои: а - с одним целым объектом, б - с разделенными объектами

Определение общего контура промежуточного слоя. Область определения контура объекта для среднего слоя заключена между границей начального слоя и выпуклым контуром конечного слоя (рис. 5, а). Она строится путем вычитания слоев. Контур объекта на промежуточном слое находится из особенностей дистанционной карты [12] (рис. 5, б), по которой можно построить равноудаленный от границ замкнутый контур (рис. 5, в).

а б в

Рис. 5. Определение контура первого промежуточного слоя: а - область для определения контура промежуточного слоя, б - его дистанционная карта, в - линия раздела

Определение точки ветвления. Область связности в промежуточном слое определется объектом заключенном в контуре промежуточного слоя. И для получения точек скелета в котором происходит ветвление выполняется утоньшение полученного объекта.

Сохранение центральности линии скелета

Центральность является глобальным свойством скелета, поэтому сохранение этого свойства является нетривиальной задачей, когда нет возможности обработать изображение целиком. Если рассмотреть два соседних подизображения (рис. 6, а) и не изменять исходного алгоритма построения скелета, то вблизи границ подизбражений возможно возникновение «артефактов» и в результате построенный объединенный скелет не будет ни связным, ни центральным, а также может быть смещен относительно правильного скелета.

а б в

Рис. 6. Коррекция скелета возле границ подизображений а - два соседних подизображения, б - применение условия обработки вокселей, в - область, которая будет обработана на следующем этапе алгоритма

Для решения этой проблемы предложено удалять только те воксели, для которых расстояние до границ подизображения меньше чем расстояние до границ объекта (рис. 6, б, в),

т е- Рйе1еШе = Р&ШЛЬ ^ йШр < > йу > 4 ) , РйеШаЫ1е - удЗЛяемый воксеЛь, Шр - значение

дистанционной карты для вокселя Р; йх, й , й - расстояния до ближайшей точки границы подизображения соответственно для осей 0Х, 0у, 02. Благодаря этому условию центральные

воксели объекта не будут удалены во время этого прохода на предыдущем этапе. Этот этап независим для каждого подизображения и выполняется параллельно.

Сохранение единичной толщины скелета

Необработанные воксели удаляются на следующих шагах этапа. Основная идея в том, что обработка осуществляется в областях, близких к границам подизображения. Для этого изображения разбивается на матрицу (рис. 7, а), а затем нарезается на «полоски» вдоль каждой из осей, толщина которой в два раза больше максимального значения дистанционной карты для оставшегося скелета (рис. 7, б). Это гарантирует, что все удаляемые точки будут обработаны на следующем этапе.

б в Рис. 7. Схема утоньшения скелета вдоль осей: а - разбиение исходного изображения на подизображения, б - обрабатываемая область вдоль оси О ,

в - обрабатываемая область вдоль оси О

Для каждого необработанного вокселя в «полоске» используется слегка модифицированный первый этап: в условии удаления игнорируется рассматриваемая ось. Например, в направлении 0Х условие удаления выглядит следующим образом:

Рйе1еШе = Рйе1еШе ^ < тп(йу > йг ) .

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

Заключение

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

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

SKELETONIZATION ALGORITHM FOR OBJECTS ON THREE-DIMENSIONAL RASTER IMAGES

DA. GONCHAROV, A.M. NEDZVED, S.V. ABLAMEYKO

Abstract

A skeleton building algorithm in case of lack of memory is presented. Built skeleton is topologically equivalent to the original object. Despite the fact that data are processed locally, this algorithm preserves a skeleton global attribute - centeredness. It is parallel and divided into independent stages, each of which can be substituted with alternatives. The method is based on pseudo-distance maps and constructed skeleton can be used to calculate topological as well as morphological characteristics of the object.

Список литературы

1. BoomgaardR. Mathematical Morphology: Extension Towards Computer Vision. Amsterdam, 1992.

2. МестецкийЛ.М., РейерИА. // Труды 13-й Междунар. конф. «ГРАФИК0Н-2003». Москва, 2003. С. 246-249.

3. Недзьведь А.М., Гончаров Д.А., Абламейко С.В. // Искусственный интеллект. 2011. № 4. C. 246-253.

4. Абламейко С.В., Недзьведь А.М Обработка оптических изображений клеточных структур в медицине. Минск, 2005.

5. CorneaN., Silver D., Min P. // IEEE Transactions on Visualization and Computer Graphics. 2007. № 13-3. P. 530-548.

6. Hancharou D.A., NedzvedA.M., Starovoitov V.V. // Proc. of The Eleventh International Conference on Pattern Recognition and Information Processing. Minsk, 2011. P. 200-203.

7. Nedzved A.M., Starovoitov V.V. // Proc. of 2010 IEEE world congress on computational intelligence. Barcelona, 2010. P. 1922-1928.

8. Nedzved A., Ablameyko S., Uchida S. // Proc of 18th International Conference on Pattern Recognition ICPR. Hong Kong, 2006. Vol. 2. P. 239-242.

9. Kim К.М. // Document Analysis Systems: 7th Intern. Workshop. New York, 2006. P. 62-70.

10. Ritter G.X., Wilson J.N. Image Algebra. Boca Raton, 2001.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

11. Недзьведь А.М., Лукашевич П.В., Гончаров Д.А. // Матер. Междунар. научн. конф. «Искусственный интеллект. Интеллектуальные системы». Кацивели, 2010. С. 324-327.

12. Hancharou D.A., Nedzved A.M., Lukashevich P.V. // Journal of Information, Control and Management Systems. 2010. № 8 (2). С. 43-53.

i Надоели баннеры? Вы всегда можете отключить рекламу.