А. Ю. Чуриков
МЕТОД АДАПТИВНОЙ БИНАРИЗАЦИИ В РЕАЛЬНОМ ВРЕМЕНИ ИЗОБРАЖЕНИЙ СО СЛАБОЙ КОНТРАСТНОСТЬЮ
Рассмотрена задача бинаризации изображений со слабой контрастностью методом адаптивной бинаризации и изучены особенности эффективной реализации данного метода с использованием подхода вычислений на графических картах.
A problem of low contrast image binarization by the adaptive binarization method and an effective realization of this method based on GPGPU computing paradigm is described.
Ключевые слова: обработка изображений, компьютерное зрение, вычисления на графических платах, отслеживание объектов.
Key words: image processing, computer vision, GPGPU, objects tracking.
Бинаризация изображения является одной из самых распространенных задач компьютерной графики. С ней сталкиваются при разработке алгоритмов компьютерного зрения для робототехники, в системах слежения за перемещением объектов в пространстве, при разработке систем анализа изображений, получаемых с различного рода медицинского оборудования, например при триплексном сканировании или МРТ. Последние две области применения представляют особый интерес: изначально метод адаптивной бинаризации использовался для отслеживания и анализа объектов в реальном времени в рамках патентованной технологии гибридной мультисенсорной панели [1], а в данный момент он находит применение в проекте медицинского оборудования для ортопедии — сканере стопы.
Существует огромное количество различных реализаций бинаризации изображений, которые описаны, например, в работах [2 — 4]. В данной же статье на примере проекта мультисенсорной панели анализируются основные существующие методы бинаризации, дается оценка их эффективности в рамках решаемой задачи и описываются основные моменты, касающиеся эффективной реализации данных методов при вычислениях на графических платах.
Бинаризация изображения заключается в отнесении каждого пикселя изображения в один из двух непересекающихся классов. Вопрос о принадлежности пикселя определенному классу решается с учетом специфики решаемой задачи, но в любом случае учитывает характеристики как этого пикселя, так и его соседей. В рассматриваемых в данной статье задачах требуется выделить область на изображении, которая по некоторым признакам отличается от других, причем данные признаки не всегда четко выражены.
Рис. 1. Изображение пальцев руки, получаемое с мультисенсорной панели
Например, показанное на рисунке 1 изображение пальцев руки, получаемое с мультисенсорной панели [1], не обладает высоким уровнем контраста по сравнению с окружающей областью, что привносит дополнительные трудности при отслеживании пальцев.
Формализуем задачу бинаризаци. Введем понятие изображения.
Вестник Российского государственного университета им. И. Канта. 2010. Вып. 10. С. 74 — 78.
Изображение — нормализованная функция f: D ^ [0, 1], где D с М2, M с М — область определения изображения.
Требуется найти функцию g(x, О(х), f, p) ^ [0, 1], где x є D; О(х) є D — некоторая окрестность x; f — изображение; p — некоторый параметр или группа параметров.
Один из самых простых методов бинаризации — так называемая глобальная пороговая бинаризация — задается соотношением
Е(х,х,',р) = Ю рє[0,1].
[1 в противном случае,
Очевидно, что такой метод учитывает лишь характеристики текущей точки и использует глобальный для всего изображения параметр, что делает его непригодным для применения на практике. Этот факт проиллюстрирован на рисунке 2. Из-за неравномерной освещенности исходного изображения (крайнее слева) данный метод показывает неудовлетворительный результат (по центру p = 0,5). Ожидаемый же результат (справа) дает метод адаптивной бинаризации.
Рис. 2. Неприменимость глобальной пороговой бинаризации на практике
Основное отличие адаптивной бинаризации от предложенной выше глобальной пороговой состоит в том, что порог отсечения в первом случае определяется индивидуально для каждого пикселя с учетом его окрестности, то есть изначально заданный порог отсечения «адаптируется» для каждого отдельно взятого пикселя (отсюда и название метода):
Г0 при Дх) < р • Ь(0(х), И,
^х,0(х)Лр) = \ Р р ^ р е [0,1],Ь:(Б,£) ^Е. (1)
[1 в противном случае,
Ясно, что глобальная пороговая бинаризация является частным случаем адаптивной бинаризации. Из выражения (1) видно, что качество работы метода зависит от выбора области O(x) и функции h.
? f (у)
В качестве h обычно выбирают функцию вида ЩО(х), f) = —.—. Данная функция
ЦО(х )||
показывает, насколько область вокруг выбранного пикселя отличается от его цвета и корректирует заранее заданный порог отсечения.
Этот метод при удачно выбранной окрестности О(х) и параметре р дает очень хорошие результаты, которые можно использовать на практике. На рисунке 3 показан пример использования этой функции в технологии мультисенсорного дисплея [1].
Е /( у )
Рис. 3. Использование Н(О( х). И = уєО( х)----в технологии мультисенсорного дисплея
7 ||О( х)|| ' ^
На практике цифровое изображение представляется в виде двумерного массива / Не умаляя общности, считаем, что изображение нецветное и каждый пиксель может принимать одно из 256
градаций серого. Введем понятие интегральной карты изображения как двумерной префиксной суммы для данного изображения:
Гх < 0 V у < 0, 0,
I (х у) = л
[иначе f (х, у) + f (х -1, у) + f (х, у -1) -1(х -1, у -1),
х е [0, т - 1], у е [0, h - 1].
где т, h — ширина и высота изображения в пикселях соответственно.
Очевидно, что сложность нахождения интегральной карты составляет 9(тИ) операций. Используя заранее вычисленную префиксную сумму можно за 0(1) найти значение функции
*2 у2
8ит(х!, х2, уи у2) = XX /(г', ]) =
1 = х1 ] =у1
= 1(x2, у 2 ) - 1 (х2 , у1 - 1) - 1 (х1 - 1 у 2 ) + 1 (х1 - 1, у1 = 1).
Следовательно, выбрав согласно выражению (1) в качестве окрестности х квадрат со стороной в п пикселей (п — нечетное) с центром в х и полагая, что
8ит (х - [п /2], х + [п /2], у - [п /2], у + [п /2])
£ = 1
[х - [n / 2 J, х + [n /2_|] х [y - [n /2J, y + [n /2_|] п [0, w-1] х [0, й -1]||
можно достичь желаем^1х результатов. Таким образом, при грамотной реализации функции g и найденной интегральной карте сложность алгоритма адаптивной бинаризации составит те же Q(wh) операций.
Принцип SIMD (Single Instruction, Multiple Data) вычислений, используемый в графических платах, является идеальным для алгоритма адаптивной бинаризации. Действительно, при наличии готовой интегральной карты процесс бинаризации каждого пикселя проходит независимо от других пикселей — наблюдается классический случай распараллеливания на уровне данных. Главную сложность в данном случае представляет процесс нахождения интегральной карты.
Рассмотрим алгоритм нахождения одномерной интегральной карты (префиксной суммы), адаптированный под принцип SIMD вычислений, подробно описанный, например, в работе [5]. На первом этапе происходит суммирование элементов, расстояние между которыми равно 1, на каждом этапе это расстояние увеличивается в два раза до тех пор, пока шаг не станет равным или превысит размер массива. В статье [5] приводится оценка времени работы данного алгоритма O(logn), конечно, при учете того, что количество свободных ядер сопоставимо с размерами массива (количество операций суммирования равно n logn).
Расширим данный алгоритм на двумерный случай. Рассмотрим матрицу w х h. Согласно нашему алгоритму найдем префиксную сумму для каждой строки данной матрицы и запишем результат в виде новой матрицы. Данная задача выполнится за O(h log w) шагов. Повторяя процедуру с полученной матрицей для столбцов, получаем искомую интегральную карту. Поэтому в рамках изложенных выше предположений процесс вычисления префиксной суммы займет O(h logw +
+ w logh) времени, что на порядок меньше, чем при использовании традиционных методов вычислений префиксной суммы.
Список литературы
1. Исманов А. Т., Чуриков А. Ю., Валов С. В. Мультисенсорное дисплейное устройство: патент на полезную модель RU95142U1. 2010.
2. Bernsen J. Dynamic thresholding of gray-level images // Int. Conf. Pattern Recognition. 1986. Vol. 2. P. 1251 — 1255.
3. Chan F. H. Y., Lam F. K., Zhu H. Adaptive thresholding by variational method // IEEE Transactions on Image Processing 7. 1998. 3 (March). P. 468 — 473.
4. Shapiro L. G., Stockman G. C. Computer Vision. Prentice Hall, 2002.
5. Harris M. Parallel Prefix Sum (Scan) with CUDA // nVidia CUDA Reference manual. 2009.
Об авторе
Анатолий Юрьевич Чуриков — студ., РГУ им. И. Канта, e-mail: achurikov89@ gmail.com.
Author
Anatoliy Churikov — student, IKSUR, e-mail: [email protected].