You are on page 1of 15

с/к Обработка информации, осень 2012

5. Анализ текстур

http://www.graphicsfuel.com/wp-content/uploads/2012/02/old-brick-wall-textures.
jpg

Денис Сергеевич Перевалов
www.uralvision.blogspot.com

perevalovds@gmail.com

УрФУ / ИММ УрО РАН

Понятие текстуры
Текстура в компьютерном зрении - это пространственный признак,
описывающий распределение цветов (или интенсивности яркости) на
изображении.
Здесь текстура используется как понятие, характеризующее и
измеряющее параметры однородности изображения.
(А в компьютерной графике под текстурой понимается произвольное
изображение, натягиваемое на 3d-объекты).
Имеется два подхода к описанию текстур:
1. Структурный.
2. Статистический.

Структурный подход к описанию текстуры
Текстура представляет собой множество некоторых
элементарных текселов (texel), расположенных в некотором регулярном
или повторяющемся порядке.
Структурное описание текстуры состоит из
1. описания самих текселов,
2. описания их пространственной взаимосвязи.

Метод построения структурного описания Тусерьяна и Джейна (1990):
1. в качестве текселов - выбираются области, которые можно обнаружить
с помощью простых операций типа пороговой бинаризации.
2. описание пространственной взаимосвязи текселов - определяется на
основе построенной по их центрам диаграммы Вороного.

Диаграмма Вороного
Диаграмма Вороного конечного множества точек S на плоскости представляет такое
разбиение плоскости, при котором каждая область этого разбиения образует
множество точек, более близких к одному из элементов множества S, чем к любому
другому элементу множества. (Граница этих множеств тоже называют диагр.
Вороного).
Названа в честь российского учёного Георгия Феодосьевича Вороного (1868—1908).
Также известна как: мозаика Вороного, разбиение Вороного, разбиение Дирихле.

http://ru.wikipedia.org/wiki/Диаграмма_Вороного

http://www.gamedev.ru/code/forum/?id=145555

Диаграмма Вороного
Можно доказать, что область Вороного для каждой точки P является многоугольником,
который строится как пересечение полуплоскостей:
V(P) = Пересечение( H(P,Q), P!=Q ), где H(P,Q) - полуплоскость с границей в срединном
перпендикуляре PQ, содержащая P.
По данной формуле можно провести построение диаграммы за
O( [число точек] * [ поиск точек срединных перп. + построение выпуклой оболочки ] ) =
O( n * (n + n log n ) ) = O(n^2 log n).

Более эффективен алгоритм Форчуна
Алгоритм основан на применении заметающей прямой.
Заметающая прямая — это вспомогательный объект, представляющий собой
вертикальную прямую линию. На каждом шаге алгоритма диаграмма Вороного
построена для множества, состоящего из заметающей прямой и точек слева от
неё. При этом граница между областью Вороного прямой и областями точек
состоит из отрезков парабол (так как геометрическое место точек,
равноудалённых от заданной точки и прямой — это парабола). Прямая движется
слева направо. Каждый раз, когда она проходит через очередную точку, эта
точка добавляется к уже построенному участку диаграммы. Добавление точки к
диаграмме при использовании двоичного дерева поиска имеет сложность O( log
n ) , всего точек n, а сортировка точек по x-координате может быть выполнена за
O(n log n), поэтому вычислительная сложность алгоритма Форчуна равна O(n log
n).

Связь с триангуляцией Делоне
Связь и взаимооднозначное соответствие с триангуляцией Делоне:
если соединить рёбрами точки, области Вороного которых граничат друг с другом, полученный
граф будет являться триангуляцией Делоне.
Триангуляцией Делоне для множества точек S на плоскости называют триангуляцию DT(S), такую
что никакая точка A из S не содержится внутри окружности, описанной вокруг любого треугольника
из DT(S), такого, что ни одной из вершин его не является точка A.
Эта триангуляция впервые описана Борисом Делоне (кстати, он ученик Вороного).

http://vv-usov.narod.ru/computers_graphics/igs/72.
htm

Диаграмма Вороного
Можно определить диаграмму Вороного в 3-мерном пространстве и N-мерном пространстве.
А также не только для конечного множества точек, но и для конечного набора произвольных
множеств.

http://www.qhull.org/html/normal_voronoi_knauss_oesterle.jpg
http://www.csuohio.edu/artgallery/2008-2009/digital/images/Voronoi.jpg
http://24.media.tumblr.com/tumblr_lzp2tvoqK71qz94zko1_500.jpg

Структурное описания текстур Тусерьяна и Джейна

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

Структурное описания текстур Тусерьяна и Джейна

Структурное описание подходит для описания регулярных и искусственных
изображений. На практике же более применимо статистическое описание текстур,
которым сейчас займемся.

Статистический подход к описанию текстуры
В статистическом подходе текстура является количественной и статистической
характеристикой распределения значений интенсивности областей изображения.
А именно, для некоторой области изображения вычисляется вектор некоторых
текстурных признаков V = (V1, V2, ..., Vk)
Какие именно признаки используются - зависит от задачи. Ниже рассмотрим примеры.
В качестве области можно брать окрестность пикселя U(p), и тогда получим для каждого
пикселя вектор его текстурных характеристик.
Проблема: выбор размера окрестности.

Изображение с тремя текстурами - небо, горы, поле

Статистический подход к описанию текстуры

Статистический подход к описанию текстуры

Статистический подход к описанию текстуры

Статистический подход к описанию текстуры

http://www.wallpapersdb.org/wallpapers/tigers/white_tiger_in_nature_1920x1080.jpg

Статистический подход к описанию текстуры
Наиболее используемые текстурные характеристики:
1. Среднее значение и Среднеквадратичное отклонение
(1. + 2. позволяют разделить на космоснимке реку, городскую застройку и лес)
Иногда применяются и другие статистические характеристики типа моментов высших порядков.
2. Гистограммы плотности и направлений краев
- позволяет отличить текстуру зебры от хвоста павлина и от жирафа).
(Кроме текстурного анализа - они используются в распознавании объектов (алгоритм HOG для
поиска пешеходов, велосипедов и мотоциклов и автомобилей. Для этого изображение разбивается
на несколько частей и в каждом считаются текстурные характеристики направлений краев).
3. Локальное двоичное разбиение (LBP - Local Binary Partition)
чрезвычайно популярный и хорошо работающий признак в силу простоты, быстроты вычисления,
инвариантности к произвольным строго монотонным измениям яркости.
(Также применяется для поиска лиц в аналоге алгоритма Виолы-Джонса, для распознавания пола и
возраста человека по лицу - путем разбиения всего изображения не несколько областей. Также
используется в алгоритме стереосопоставления SGM, только вместо 3x3 рассматривается окно
7x9).
4. Энергетические текстурные характеристики Лавса
"Физические" характеристики, описывающие свойства типа ребер, скачков, волн на изображении.
Также часто и успешно применяются.
Формулы - в кн. Л. Шапиро, Дж. Стокман "Компьютерное зрение".