УДК 004.932 doi: 10.17238/issn2227-6572.2015.4.138
ЗЫКов Алексей николаевич
АО «Центр судоремонта «Звёздочка»
адрес: 164509, Архангельская область, г. Северодвинск, просп. Машиностроителей, д. 12; e-mail: [email protected]
применение оператора локальных бинарных шаблонов в задаче фрактального кодирования изображений
Фрактальное кодирование представляет собой эффективный метод сжатия изображений, основанный на представлении изображения посредством сжимающих аффинных преобразований в пространстве изображений, для которых неподвижная точка близка к исходному изображению. Фрактальное кодирование изображений основывается на самоподобных и самоаффиных множествах и использует внутреннюю избыточность между самоподобными частями изображения. Процесс кодирования состоит в использовании системы итерированных кусочно-определенных функций (PIFS - Partitioned Iterated Function Systems) в построении оператора, который будет представлять образ закодированного изображения. Ключевой проблемой существующих методов фрактального кодирования изображений является длительность процесса по времени, поскольку нахождение отображения подобия между доменными и ранговыми областями -слишком сложная задача, требующая значительных вычислительных ресурсов. Эффективным представляется следующий порядок действий: классификация областей изображения, затем нахождение отображения подобия. Классификация областей позволяет перевести глобальный поиск в частичный; таким образом, нахождение отображения подобия делается только среди блоков, принадлежащих одному классу, и, следовательно, значительно ускоряется время кодирования. Ключевым моментом является то, что классификационные признаки должны как можно лучше описать информацию всего и каждой области изображения, а также степень подобия областей изображения. Функция классификации включает в себя правила, позволяющие непосредственно определить число классов и точность классификации. Новый метод предлагает использовать оператор локальных бинарных шаблонов (Local Binary Pattern - LBP) в задаче фрактального кодирования полутоновых изображений. LBP преобразует изображение в массив двоичных кодов, описывающих окрестности элементов изображения. Локальные бинарные шаблоны основываются на локальной двоичной модели, предлагают эффективный способ анализа текстуры изображения и являются ее эффективной характеристикой. Эксперименты доказывают релевантность данного метода, позволяющего ускорить процесс и улучшить качество восстановленного изображения.
Ключевые слова: сжатие изображений, фрактальное кодирование, анализ изображений, локальные бинарные шаблоны.
© Зыков А.Н., 2015
В связи с резким ростом количества цифровой техники и появлением огромного количества цифровой информации становится критической проблема ее хранения и передачи по сети. Возникает необходимость ее эффективного кодирования. Значительную долю объема цифровой информации занимают графические изображения. Основной целью кодирования изображений является представление цифровых изображений как можно меньшим количеством битов, с сохранением при этом уровня качества, необходимого для их использования. Кодирование изображений имеет две большие цели: сокращение времени для передачи изображения по сети и уменьшение места для их хранения. В связи с этим особое значение приобретает разработка эффективных методов, алгоритмов и технологий сжатия графической информации.
Фрактальное кодирование изображений [1] является на сегодняшний день одним из наиболее эффективных методов сжатия графической информации с потерями и, как следствие, достаточно перспективным для использования при разработке компьютерных мультимедиа приложений и обработке цифрового видео. Оно отличается как высокой степенью сжатия, сравнимой со степенью сжатия других известных современных методов кодирования (например, JPEG), так и скоростью восстановления изображения, которая у этого алгоритма значительно выше.
Фрактальное кодирование изображений основывается на самоподобных и самоаффи-ных множествах и использует внутреннюю избыточность между самоподобными частями изображения. В 1989 году A. Jacquin был предложен метод автоматического кодирования на основе блоков изображения [2]. Данный метод лег в основу подавляющего большинства схем фрактального кодирования и имел важные последствия для фрактального кодирования изображений в будущем. Процесс кодирования состоит в использовании системы итерированных кусочно-определенных функций (Partitioned Iterated Function Systems - PIFS) в построении
оператора, который будет представлять образ закодированного изображения. Если изображение представлено оператором, то его можно эффективно хранить и передавать. Большим недостатком фрактального кодирования является значительное время его кодирования. Большая часть времени в построении такого оператора уходит на поиск лучшего совпадения между частями подлежащего кодированию изображения.
Для сокращения вычислительных затрат используют несколько способов увеличения скорости кодирования, и в настоящее время работы ведутся в двух направлениях. Первое состоит в классификации областей изображения, что может значительно ускорить кодирование за счет уменьшения количества используемых областей, среди которых ведется поиск. Второе направление заключается в выделении определенных характеристических особенностей при сравнении областей изображения. Выделение небольшого количества особенностей, характеризующих области изображения, позволяет ускорить процесс фрактального кодирования. Тогда сравнение между областями изображения будет производиться на основании этих характеристик, а не по отдельным пикселям, что существенно сокращает объем работы. Эти характеристики могут быть получены на основании спектрального анализа Фурье, вейвлет-анализа, характеристик текстуры изображения.
Текстурный анализ - один из основных в компьютерном зрении и распознавании образов. Текстура является важной характеристикой изображения. Существующие методы анализа текстуры в целом можно разделить на три категории: статистический, спектральный и структурный методы. Текстура со структурной точки зрения состоит из элементов, которые организованы в соответствии с определенными правилами размещения. В данной работе описывается использование локальных бинарных шаблонов для классификации областей изображения в задаче фрактального кодирования изображений. Изображение кодируется методом поиска наилучшего соответствия только между
областями только с одними и теми же значениями, полученными с помощью оператора локальных бинарных шаблонов. Экспериментальные результаты показывают, что данная схема является оптимальной как по показателям скорости кодирования, так и качества восстановления.
Схема фрактального кодирования изображений. Рассмотрим классическую схему фрактального кодирования изображений. Представим изображение в виде двумерного прямоугольного массива пикселей:
I = г(х,у), X е [о,N), у е[о,м),
где N и М - размеры изображения.
Изображение I разбивается на прямоугольные ранговые блоки Я..
Ранговые блоки не перекрываются и покрывают все изображение, могут быть одинакового размера, но чаще используется адаптивное разбиение с переменным размером блоков:
а
I = ик,, КЛК3 = 0,, * 3-
1=1
Фрактальное кодирование изображения подразумевает нахождение сжимающего аффинного преобразования области изображения, которое наилучшим образом аппроксимирует этот ранговый блок. Данные такого преобразования сохраняются для дальнейшего восстановления исходного изображения.
Для поиска сжимающих аффинных преобразований покроем изображение I множеством доменных блоков Di. Доменные блоки могут перекрываться, иметь разный размер и их количество может достигать сотни или тысячи единиц:
БР\Б. * 0, 1 * з.
Для каждого рангового блока Я. находим сжимающее аффинное преобразование w, которое наилучшим образом аппроксимирует данный ранговый блок в доменный блок Dг (рис. 1).
При этом каждый ранговый блок сравнивается со всеми доменными блоками для нахождения наилучшего совпадения между ними.
Рис. 1. Аппроксимация ранговых блоков в доменные
Преобразование wi - это сочетание геометрических преобразований и преобразований яркости и контраста. Матрица преобразования . между ранговым и доменным блоком выглядит следующим образом:
X а, ъ. 0 X е,
Ж у = с 0 у +
X 0 0 X ог
где . = (1, 2, ..., п), ъ. - контраст, г - уровень тона в позиции (х, у) в D е. и/ - координаты смещения относительно х и у соответственно, о- яркость. Коэффициенты а , Ь., с. и й. представляют геометрическое масштабирование и изометрическое преобразование между ранговым и доменным блоком.
Для того чтобы аффинное отображение доменной области на ранговую область было сжимающим, размеры доменной области должны превышать размеры ранговой. В процессе данного преобразования каждый доменный блок уменьшается в размерах до рангового, кроме того он может быть повернут или отражен для лучшего совпадения с ранговым. Также вычисляется разность контраста и яркости между ними. Эти изменения представляют собой аффинные преобразования доменных блоков.
Для оценки качества приближения между ранговым и доменным блоком используют среднеквадратичную функцию [3]:
E = ЕЕК + o - R
,=1 j=i
(1)
где N и М - количество строк и столбцов в прямоугольной области, Я,. и Dj. - соответствующие значения пикселей ранговой и доменной области.
Контрастность 5 и яркость о определяются следующим образом:
а
8 = Ь'
o = r —
d
где
=EEk—r
,=1 j=i
r,,j r
= EE(d —r
d =
i=i j=i
1 N M
¿-^ i„
NM ti j
1
ИИ *-( 3
Хорошее сжатие зависит от возможности найти хорошее соответствие между доменными и ранговыми блоками. Для каждой ранговой области находится доменная область, которая наилучшим образом аппроксимирует ранговую:
К = шт(Д К )
к я %
Совокупность сжимающих аффинных преобразований представляет собой аффинный коллаж, а параметры преобразований есть код изображения.
Опишем алгоритм восстановления исходного изображения:
• берем произвольное изображение (однотонное или шум), размеры не имеют значения;
• формируем второе изображение, являющееся результатом отображения аффинного коллажа;
• меняем изображения местами;
• процесс продолжается до тех пор, пока разница между двумя изображениями не будет меньше определенной ошибки. На практике достаточно 6-8 циклов.
Локальные бинарные шаблоны. Использование LBP позволяет произвести классификацию областей изображения. Впервые LBP был предложен T. Ojala, M. Pietikanen, T. Maehpaa [4], далее о нем говорится в работах [5, 6]. Основан на предположении, что текстура имеет два локальных взаимодополняющих аспекта: сам шаблон и его мощность. LBP преобразует изображение в массив двоичных кодов, описывающих окрестности элементов изображения. Это теоретически простой и одновременно эффективный метод анализа текстуры, показывающий хорошие результаты во многих эмпирических исследованиях. Он может быть представлен как унифицирующий метод статистических и структурных методов анализа текстуры. Текстура, с его точки зрения, описывается микро-примитивами (textons) и статистикой их размещения.
Смысл оператора локальных бинарных шаблонов заключается в следующем. Рассмотрим 3x3 окрестности вокруг каждого пикселя. Смежным пикселям, которые имеют значение выше или равны значению центрального пикселя, присваивается значение 1, а тем пикселям, у которых значение меньше значения центрального пикселя, присваивается значение 0. Затем по часовой стрелке, например с левого верхнего угла, полученные значения умножаются на степени двойки и суммируются для получения двоичного кода центрального пикселя. В данной позиции пикселя (xc ,yc) LBP определен как упорядоченный набор двоичных сравнений интенсивности пикселя между центральным пикселем и 8 смежными (рис. 2).
Так как окрестность центрального пикселя состоит из 8 смежных, то в общей сложности можно получить 28 = 256 различных двоичных кодов, которые могут быть получены в
2
Сравнение с центром
83 75 126 0 0 1
99 95 141 1 1
92 91 100 0 0 1
умножение
▼
1 2 4 0 0 4
128 8 = 128 8
64 32 16 0 0 16
двоичное =10011100 десятичное = 4-^+16+128=156
Рис. 2. Вычисление LBP
зависимости от относительных значений тона в центральном и смежных ему пикселях. Эти двоичные числа или их десятичный эквивалент могут быть ассоциированы с центральным пикселем и использоваться как характеристика локальной структуры текстуры изображения вокруг данного пикселя.
Десятичная форма получающегося 8-битного двоичного числа может быть выражена следующим образом:
^р(хс, ус ) = £ з(п - гс )2" ,
п=0
где .с соответствует значению центрального пикселя (х , у ), . - значениям 8 смежных пикселей, и функция ъ(х) определена как:
в(х) =
1 х > 0 0 х < 0
Следует обратить внимание, что значение каждого бита в коде, полученном с помощью оператора локальных бинарных шаблонов, несет одинаковую значимость и что последова-
тельность из двух бит может иметь совершенно разный смысл (рис. 3).
Данный код может быть истолкован как индекс ядра структуры текстуры изображения размерностью 3x3, которое суммирует локальную пространственную структуру изображения. По определению, оператор локальных бинарных шаблонов не зависит от любого монотонного полутонового преобразования, которое сохраняет порядок интенсивности пикселя в локальной области, и, следовательно, может быть менее чувствителен к изменениям освещенности. Благодаря своим отличительным свойствам и своим очень низким вычислительным затратам, оператор локальных бинарных шаблонов становится эффективным методом при анализе текстуры изображения.
Метод фрактального кодирования с использованием LBP. При фрактальном кодировании поиск наилучшего соответствия между ранговым и доменным блоками требует наибольших вычислительных затрат. Для их сокращения используют несколько подходов увеличения скорости кодирования и в настоящее время работы ведутся в нескольких направлениях. Одно из направлений состоит в классификации доменных областей, что может значительно ускорить кодирование за счет уменьшения количества используемых доменных областей, среди которых ведется поиск.
Рассмотрим следующую схему фрактального кодирования, использующую классификацию областей изображения с применением LBR
0 0 1
1 1
0 0 1
10011100 = 156 11001001 = 201
01001110 = 78 11100100 = 228
00100111 =39 01110010 = 114
10010011 = 147 00111001 = 57
Рис. 3. Формирование кода в зависимости от выбора начала отсчета
Шаг 1. Предварительные вычисления.
Создание библиотеки ранговых областей:
• разбиваем изображение на не перекрывающиеся ранговые области размером 3x3 пикселя;
• вычисляем для каждой ранговой области, используя LBP, двоичный код ее центрального пикселя. Этот двоичный код будет классифицировать данную ранговую область;
• получаем разряженную матрицу, где вместо пикселей будут расположены двоичные коды, выступающие в роли классификаторов ранговых областей.
Создание библиотеки доменных областей:
• уменьшаем исходное изображение в 2 раза;
• вычисляем с помощью оператора локальных бинарных шаблонов двоичный код для каждого пикселя изображения. Эти двоичные коды будут классифицировать доменные области вокруг каждого пикселя. Получаем матрицу размером с уменьшенное исходное изображение, где вместо пикселей расположены их двоичные коды, выступающие в роли классификаторов доменных областей;
• для крайних и угловых пикселей недостающие смежные пиксели можно принять за 0 или дополнить циклически на противоположный край изображения.
Шаг 2. Кодирование каждой ранговой области:
• берем очередной ранговый блок из библиотеки и смотрим его двоичный код;
• выбираем из библиотеки доменных областей только те области, у которых их двоичный код равен двоичному коду выбранной ранговой области. Используя формулу (1), производим вычисление ошибки аппроксимации между ранговой областью и всеми доменными областями с тем же двоичным кодом. Для доменной области с наименьшей ошибкой аппроксимации сохраняем полученные коэффициенты преобразования для дальнейшего восстановления исходного изображения;
• если в библиотеке доменных областей отсутствуют области со значением двоичного кода ранговой области, производим циклический поворот двоичного кода ранговой области (рис. 4) и повторяем поиск доменной области в библиотеке с новым двоичным кодом. В случае полного отсутствия соответствия между двоичным кодом ранговой и доменной областей в результате полного циклического поворота, можно взять доменные области с двоичным кодом, близкие по величине двоичному коду ранговой области.
Шаг 3. Нахождение параметров аффинного преобразования для всех ранговых блоков и сохранение их в виде аффинного коллажа для последующего восстановления исходного изображения.
Сравним сложность работы с классическим методом фрактального кодирования. Пусть N -количество ранговых областей, М - количество доменных областей. Сложность классического метода фрактального кодирования областей равняется О^ ■ М). Для поиска наилучшей аппроксимации для каждой ранговой области необходимо провести полный перебор всех доменных областей. Сложность метода фрактального кодирования с классификацией областей изображения с применением локальных бинарных шаблонов равняется ОN ■ logM). В этом случае выбор доменной области ограничивается областями того же класса, что и класс рангового блока.
Результаты работы алгоритмов на 4 изображениях (рис. 4), представленных ниже, приведены в таблице.
Проведенные экспериментальные исследования показали следующее:
• использование локальных бинарных шаблонов позволяет значительно сократить количество сравнений между ранговыми и доменными областями;
• достигается уменьшение времени работы алгоритма;
• погрешность кодирования почти не превосходит погрешности при классическом методе кодирования;
Рис. 4. Набор тестовых изображений СРАВНЕНИЕ МЕТОДОВ КОДИРОВАНИЯ
Изображение Фрактальный Локальные бинарные шаблоны
Tc PSNR Tc PSNR
Baboon 70,6 31,96 2,8 30,48
Cameraman 35,5 33,53 1,6 33,03
Goldhill 57,9 37,05 2,0 35,34
Peppers 40,9 34,39 1,4 33,82
• незначительная потеря качества восстановленного изображения данного метода фрактального кодирования может быть возмещена
за счет увеличения количества просматриваемых доменных областей;
• расширение количества доменных областей происходит почти без дополнительных затрат, т. к. вычисление двоичного кода осуществляется оператором локальных бинарных шаблонов достаточно легко.
Заключение. В работе рассмотрен метод применения LBP в задаче фрактального кодирования изображений. Это простой и эффективный метод классификации текстуры полутоновых изображений, инвариантный к масштабированию, вращению и переносу. Также важными его преимуществами являются вычислительная простота и универсальный подход для анализа текстуры полутоновых изображений.
Применение данного метода позволяет значительно сократить временные и вычислительные расходы при фрактальном кодировании изображений и получить хорошие экспериментальные результаты.
Предложен новый алгоритм «неполного» перебора на основе двоичных значений, полученных с помощью LBP Этот алгоритм «с потерей качества» по погрешности восстановления изображения мало уступает классическому, а по скорости превосходит его.
Получено существенное увеличение скорости фрактального кодирования при значительной степени сжатия.
Требуется дальнейшее изучение оператора локальных бинарных шаблонов при фрактальном кодировании изображений для его применения при обработке больших объемов технической документации.
Список литературы
1. Barnsley M., Hurd L. Fractal Image Compression. Wellesley, MA, 1993.
2. Jacquin A.E. Fractal Image Coding: A Review // Proceedings of the IEEE. 1993. Vol. 81(10). P. 1451-1465.
3. Welstead S. Fractal and Wavelet Image Compression Techniques // Tutorial Texts in Optical Engineering. 1999. Vol. 40.
4. Ojala T., Pietikainen M., Maenpaa T. Multi Resolution Gray-Scale and Rotation Invariant Texture Classification with Local Binary Patterns // IEEE Transactions on Pattern Analysis and Machine Intelligence. 2002. Vol. 24, № 7. P. 971-987.
5. Ahonen T., Hadid A., Pietikainen M. Face Recognition with Local Binary Patterns // Proc. European Conf. Computer Vision. 2004. P. 469-481.
6. Takala V., Ahonen T., Pietikainen M. Block-Based Methods for Image Retrieval Using Local Binary Patterns // Scandinavian Conference on Image Analysis, Joensuu, Finland. 2005. P. 882-891.
References
1. Barnsley M., Hurd L. Fractal Image Compression. Wellesley, 1993.
2. Jacquin A.E. Fractal Image Coding: A Review. Proceedings of the IEEE, 1993, vol. 81(10), pp. 1451-1465.
3. Welstead S. Fractal and Wavelet Image Compression Techniques. Tutorial Texts in Optical Engineering, 1999, vol. 40.
4. Ojala T., Pietikainen M., Maenpaa T. Multi Resolution Gray-Scale and Rotation Invariant Texture Classification with Local Binary Patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, vol. 24, no. 7, pp. 971-987.
5. Ahonen T., Hadid A., Pietikainen M. Face Recognition with Local Binary Patterns. Proc. European Conf Computer Vision, 2004, pp. 469-481.
6. Takala V, Ahonen T., Pietikainen M. Block-Based Methods for Image Retrieval Using Local Binary Patterns. Scandinavian Conf. on Image Analysis. Finland, Joensuu, 2005, pp. 882-891.
doi: 10.17238/issn2227-6572.2015.4.138
Zykov Aleksey Nikolaevich
Shiprepair Centre Zvyozdochka JSC Mashinostroiteley ave., 12, Severodvinsk, Arkhangelsk Region, 164509, Russian Federation;
e-mail: [email protected]
APPLICATION OF THE LOCAL BINARY PATTERNS OPERATOR IN THE PROBLEM OF FRACTAL IMAGE ENCODING
Fractal coding is an efficient method of image compression based on the representation of the image by contractive affine transformations in the image space, where the fixed point is close to the original image. Fractal coding of images is based on the self-similar and self-affine sets and uses the internal redundancy between the self-similar parts of the image. The encoding process is the use of the system of the iterated piecewise-defined functions (PIFS - Partitioned Iterated Function Systems) in the construction of the operator, which will represent the image of the encoded image. The key problem of the existing methods of fractal image coding is a long processing time, as the finding of a similarity mapping between the domain and range areas is a rather complex task, requiring significant computing resources. The most effective method is to make a classification of the image areas, and then to find a similarity of mapping. Classification of the areas allows us to transfer a global search into a fractional search. The finding of a similarity mapping is performed only among the blocks belonging to the same class that causes speeding up time of encoding significantly. The key point is that the classification criteria should describe in the best way the information of the whole image and each area of the image, as well as the degree of similarity of the image areas. The classification function includes the rules determining the number of classes and classification accuracy. The new method proposes to use the operator of the local binary patterns (Local Binary Pattern - LBP) in the problem of fractal coding of the gray-scale images. LBP converts the image into an array of binary codes describing the pixel neighborhood. The local binary patterns are based on the local binary model, offer an effective way to analyze the image texture and are considered as its effective characteristic. The experiments demonstrate the relevance of this method, which speeds up the process and improves the quality of the reconstructed image.
Keywords: image compression, fractal coding, image analysis, local binary patterns.