САНКТ -П ЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра компьютерных технологий и систем
Авдюшкина Людмила Сергеевна
Выпускная квалификационная работа бакалавра
Применение текстурной сегментации для
определения типа местности на
аэрофотоснимках
Направление 010300
Фундаментальная информатика и информационные технологии
Научный руководитель,
доктор физ.-мат. наук,
профессор
Веремей Е.И.
Санкт-Петербург
2016
Cодержание
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Обзор литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
Глава 1. Сегментация изображения . . . . . . . . . . . . . . . . . . .
13
1.1. Алгоритм наращивания областей блоками . . . . . . . . . . .
13
1.1.1. Форма блоков и связность . . . . . . . . . . . . . . . .
13
1.1.2. Алгоритм наращивания блоками единственной области 16
1.2. Автоматический выбор начальных областей . . . . . . . . . .
18
1.2.1. Подходы к выбору начальных областей . . . . . . . . .
18
1.2.2. Алгоритм автоматической сегментации . . . . . . . . .
21
1.3. Объединение областей малой площади . . . . . . . . . . . . .
23
1.3.1. Алгоритм объединения областей . . . . . . . . . . . . .
25
Глава 2. Текстурная классификация . . . . . . . . . . . . . . . . . .
27
2.1. Библиотека текстур . . . . . . . . . . . . . . . . . . . . . . . .
27
2.2. LBP-оператор . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
2.3. Дескрипторы текстур . . . . . . . . . . . . . . . . . . . . . . .
31
2.4. Двухшаговый алгоритм классификации . . . . . . . . . . . . .
33
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
2
Введение
Задача выделения объектов на фото - одна из первых задач анализа
цифровых снимков. В работе большинства алгоритмов выделения объектов используется обнаружение их контуров. Легко заметить, что контуры
являются границами областей, для внутренних элементов которых выполняется условие однородности по какому-либо признаку. В случае растровых
изображений можно сказать, что каждая область - это набор точек (пикселей), имеющих одинаковые свойства (например яркость), по которым они
и объединены. Таким образом, появилась возможность выделять отдельный
объект по его текстуре.
В текстурах отражены индивидуальные характеристики поверхности,
такие как способность отражать или рассеивать свет, однородность. Эту
особенность текстур активно используют в 3D-моделировании, где сначала создают «пластилиновый» макет, все части которого одинаковы, а затем
накладывают на отдельные части соответствующие изображения текстуры.
Однако это только пример использования текстур для задания свойств объекта. Более интересна задача текстурного анализа изображения.
Две наиболее крупные области применения текстурного анализа - это
медицина и картография. Медики с помощью него способны выявить опухоли или патологии на медицинских снимках, а так же определить объемы
тканей и органов. Чаще всего он применяется для выявления злокачественных новообразований на рентгеновских снимках. Однако на сегодняшний
день такой подход не достаточно точен для того, чтобы полностью на него
положиться и убрать человеческий фактор при анализе рентгеновских снимков. Но он получил широкое распространение в качестве вспомогательного
механизма диагностики.
3
Стартовой площадкой для развития первых методов анализа аэрофотоснимков стала военная сфера. Именно в ней впервые начали массово использовать алгоритмы распознавания изображений. Примером этого может
служить обнаружение вражеских позиций. Позднее задача обнаружения отдельных объектов переросла в задачу комплексного анализа фотоснимка,
после чего, как это часто бывает, она распространилась и на гражданскую
сферу. На сегодняшний день анализ спутниковых снимков и аэрофотоснимков широко используется в картографии. К сожалению, при всём уровне
развития технологий, полностью автономного метода, гарантирующего желаемую точность преобразования фото в карту разработано не было, но
существующие алгоритмы являются неотъемлемыми инструментами, существенно экономящими время любого современного картографа.
В картографии текстурный анализ является одним из средств автоматического создания карты из аэрофотоснимка. Текстурный анализ снимка
- далеко не тривиальная задача. Первым шагом обработки обычно является сегментация фото на области разного типа. Однако требуется не просто
разбить изображение на области, но и выявить аномалии - места, которые
явным образом выделяются из однородного фона. Кроме того, в результате
области со схожими свойствами должны быть и отмечены схожим образом.
Для этого посредством анализа происходит выделение характерных свойств
каждой области. Этот аспект задачи и рассматривается текстурной классификацией.
Основной сложностью задачи текстурного анализа аэрофотоснимков является подбор методов сегментации и текстурной идентификации, учитывающих особенности данной предметной области и подбор дескрипторов,
максимально точно описывающих именно текстуры природного происхождения.
4
Постановка задачи
Определим основные термины, необходимые для постановки задачи.
Определение 1. Будем называть текстурой изображение, состоящее из
произвольных повторяющихся элементов и отражающее какие-либо визуальные свойства физического объекта. По типу и размеру примитивов текстуры можно разделить на регулярные, когда структурные элементы текстуры распределены равномерно, нерегулярные, когда элементы расположены
неравномерно и фрактальные, когда структурные элементы образуют фрактал. На рис. 1 приведены примеры различных типов текстур.
а)
в)
б)
г)
Рис. 1: Примеры различных текстур: а) регулярная, б) нерегулярная фрактальная, в) нерегулярная, г) имеет признаки как регулярной, так и нерегулярной текстур.
Определение 2. Дескриптором текстуры называется функция, описывающая текстуру по основным характеристикам. Можно считать его альтернативным представлением текстур для которого, к тому же, можно ввести
меру схожести.
Примеры декрипторов:
• Словесное описание (название)
• Гистограмма
• Многомерный вектор
Определение 3. Сегментацией изображения называется процесс его
разбиения на несколько связных замкнутых непересекающихся областей,
5
при этом связи между элементами внутри одной области сильнее связей
между элементами разных областей.
Определение 4. Классификацией текстур называется определение принадлежности текстуры к одному из заданных заранее типов (классов) текстур.
Целью данной работы является разработка метода анализа аэрофтоснимков, который сегментирует фото на текстурные области и определяет тип
каждой области. Перечень возможных областей задаётся заранее в виде базы текстур. Для обозначения каждого класса на результирующем изображении используется индивидуальный цвет или условные обозначения. В итоге необходимо получить план местности с обозначениями типов местности,
который может служить одним из инструментов автоматического создания
карты из фотоснимка.
На сегодняшний день существует множество алгоритмов и даже программных пакетов для автоматической генерации карты или плана местности по фото, результатом работы которых являются карта или план местности в виде растрового или векторного изображения с метаданными и условными символами. В контексте данной работы отличие плана местности от
карты состоит в масштабе (у карты он значительно меньше, чем у плана
местности) и в точности (линии дорог, границы каких-либо областей наносятся приблизительно, схематично). Однако большая часть метаданных
задаётся пользователем вручную. Разрабатываемый в данной работе метод
частично автоматизирует процесс добавления метаданных. В данной работе
метаданными является тип местности каждой области на снимке.
Аэрофотоснимком в контексте данной работы будем считать любой фотоснимок, сделанный с воздуха. Таким образом, между аэрофотоснимком
и снимком со спутника отличий не делается. Возможность использования
6
аэрофотоснимков наравне со спутниковыми обуславливается тем, что часто
для решения поставленных задач не требуется настолько большой объём
данных. Для создания карт города, района или отдельной местности не имеет смысла использование огромных снимков со путника. Более эффективно будет использование локальных аэрофотоснимков. Очевидным плюсом
таких исходных данных является тот факт, что такие снимки можно самостоятельно получить с помощью любого летающего объекта, оснащённого
камерой. Однако, для корректного анализа изображений к ним предъявляются требования, чтобы на них не было облаков и летящих объектов, так как
они являются инородными телами, не принадлежащими ландшафту. Стоит
заметить, что к качеству снимков жёстких требований не предъявляется, так
как используемые алгоритмы устойчивы к шуму.
На рис. 2 приведены примеры аэрофотоснимков.
а)
б)
Рис. 2: Примеры аэрофтоснимков: а) обработанный спутниковый снимок, б) снимок с летательного аппарата, сделанный под углом
Алгоритм обработки аэрофтоснимков:
1. Преобработка. Данный этап включает в себя коррекцию освещения для
слишком тёмных или слишком освещённых фотоснимков, повышение
контрастности. Этот этап не является обязательным, но в некоторых
случаях значительно повышает точность дальнейшей обработки.
7
2. Сегментация на текстурные блоки. Всё изображение разбивается на отдельные области.
3. После проведения сегментации могут возникнуть области, площадь которых недостаточна для проведения классификации. Поэтому для обработки необходимо объединить каждую область с примыкающей к ней
наиболее похожей областью. В итоге получаем набор регионов, размер каждого из которых, достаточен для текстурной классификации. На
этом этапе предстоит определить критерий «примыкания» областей и
подобрать минимальную классифицируемую площадь.
4. Классификация текстур каждой области. Для всех полученных на третьем шаге регионов вычисляется дескриптор, по которому с помощью
меры схожести вычисляется степень принадлежности текстуры рассматриваемой области каждому классу текстур. База текстур с уже вычисленными для каждого класса дескрипторами подбирается заранее и не
зависит от используемого алгоритма классификации и сегментации, но
зависит от предметной области. На этом этапе необходимо выбрать тип
дескриптора (напрямую связан с методом классификации), меру схожести (ввести метрику на множестве дескрипторов) и подобрать базу
текстур наиболее точно отражающую особенности предметной области.
5. Объединение примыкающих областей одного класса. Это позволит сократить объем хранимой информации и ускорить любую дальнейшую
работу с результатами обработки фотоснимка за счёт сокращения числа
областей.
8
Обзор литературы
Проблема распознавания текстур на спутниковых снимках ставилась в
[1]. Для решения использовался анализ энергетического спектра изображения. Строилась гистограммы относительных частот спектра изображения и
типов текстур, после чего производилась их бинаризация. На основе бинарной модели производится определение границ, после чего проводится
сравнение спектров каждой области со спектрами текстур каждого класса и
определяется наиболее вероятный класс каждой области методом ближайшего соседа.
Достоинствами такого подхода являются инвариантность относительно
поворота и масштабируемость, что важно для идентификации текстур на
снимках. А так же устойчивость к шуму, что важно при анализе фотоснимков плохого качества. Кроме того, метод не требует сложных вычислений и
не является ресурсоёмким, если использовать стандартные алгоритмы бинаризации и отслеживания границ. При более сложных и точных методах
бинаризации и отслеживания границ сложность всего метода зависит от
них.
Главным недостатком является работа с изображениями и текстурами в
градациях серого из-за чего теряется информация, содержащаяся в цвете,
что при анализе текстур природного происхождения иногда играет важную
роль. Так же точность метода напрямую зависит от точности бинаризации
изображения.
Для устранения недостатков, изложенных выше, для классификации текстур следует выбрать алгоритм, работающий с цветным представлением образцов текстур. Таким образом, весь процесс текстурного анализа изображений можно разделить на два больших этапа: текстурную сегментацию и
9
текстурную классификацию. Так как действия на одном из этих этапов не
затрагивают второй, то и обзор существующих к ним подходов имеет смысл
производить для каждого из них отдельно.
Так как часто текстура участка изображения может мешать точному выявлению его границ, следует выбрать те методы, которые учитывают эту
особенность. В [2] и [3] описаны методы с использованием фильтров Габора. В них для описания изображения используется набор фильтров Габора.
После чего проводится кластеризация по выявленным признакам текстур.
Достоинствами использования фильтров Габора является возможность
работы с цветными изображениями в пространстве RGB и HSL, небольшое
количество вычислений, устойчивость к градиентам и высокая точность.
Минусом же является необходимость иметь банк фильтров Габора. На
данный момент не существует метода, позволяющего заранее сказать минимальное число фильтров, необходимое для точного описания изображения.
Следовательно, для обеспечения наибольшей точности банк текстур следует подбирать самостоятельно экспериментальным или экспериментальноаналитическим образом. Существует методика адаптивного выбора фильтров [4], однако её применение возможно не везде. Кроме того, обратной
стороной устойчивости к градиентам является невозможность распознать
границу между похожими, но не одинаковыми текстурами, с чем не возникает проблем у других методов. Так же метод требует достаточно тонкой
ручной настройки отдельно для каждой предметной области.
Проблема подбора банка фильтров не встаёт при использовании сегментации методом наращивания областей. Классический алгоритм сегментации [5] представляет собой итерационный процесс, при котором к одной
начальной области, которая представлена единственным пикселем, на каждом шаге присоединяется только один соседний пиксель, для которого мера
10
отличия от пикселя, принадлежащего области и непосредственно касающегося рассматриваемого пикселя, минимальна. Остановка происходит когда
минимальная мера отличия больше некоторого порогового значения. Отличие данного подхода от текстурной сегментации состоит в обнаружении
однородной области, а не границ областей.
В чистом виде метод наращивания областей мало применим, поэтому в
[6] рассматривается его модификация. Наращивание происходит из нескольких областей, которые выбираются автоматически.
Недостатками методов, описанных выше, является присоединение только одного пикселя, что исключает возможность применения такой сегментации для текстурированных областей. Так же методы работают с изображениями в градациях серого и не учитывают информацию, содержащуюся
в цвете. Однако эта проблема решена в других работах. Например, в [7] и
[8] описываются методы работы алгоритма с цветными изображениями. В
[7] рассматривается сегментация в цветовом пространстве RGB, а в [8] — в
пространстве YCbCr.
Для обеспечения возможности применения сегментации наращиванием
областей для текстурированных участков необходимо присоединять на каждой итерации не один пиксель, а блок соседних пикселей. Для описания
текстур каждого блока возможно использование разнообразных дескрипторов. Например, в [9] для описания признаков текстр в градациях серого
были предложены матрицы смежности.
Выбор дескриптора является основополагающим шагом текстурной классификации. Все методы можно разделить на использующие банки фильтров
(например, [10], [11], [12], [13], [14]) для вычисления дескрипторов и не использующие их.
Достоинствами методов, использующих банки фильтров, является их
11
универсальность. Для каждой предметной области всегда можно подобрать
набор фильтров, позволяющих точно описать текстуры. Кроме того из всех
фильтров можно выделить отвечающие за инвариантность относительно поворота, масштаба, перспективного искажения, устойчивость к шуму. Таким
образом для обеспечения инвариантности достаточно добавить определённые фильтры и нет необходимости изменения самого метода.
Основным недостатком всех методов, названных выше, является необходимость подбора банков фильтров. Для эффективной работы требуется
подобрать набор фильтров, обеспечивающий определение основных текстурных признаков и при этом имеющий минимальный возможный объём.
Для многих банков фильтров, например, фильтров Габора, автоматический
выбор такого набора на данное время не разработан.
Использование локальных бинарных шаблонов (LBP) для вычисления
дескрипторов текстур решает проблему предварительного выбора фильтров. В [15] приведено определение локального бинарного шаблона, который описывает каждую точку при помощи соседних с ней точек. С помощью данного метода описываются изображения в градациях серого. Полученное описание точек неинвариантно относительно масштаба, поворота,
искажения и неустойчиво к шуму.
Модификации LBP обеспечивающие инвариантность относительно масштаба рассматривается в [16], [17], [18], [19], относительно поворота в [16],
устойчивость к шуму [16]. Работа с цветными изображениями рассматривается в [20], [19].
12
Глава 1.
Сегментация изображения
1.1.
Алгоритм наращивания областей блоками
1.1.1.
Форма блоков и связность
Определение 5. Замощением области 𝑆 называется такое разбиение на
множество непересекающихся многоугольников, объединение которых даёт
саму область 𝑆. Альтернативное название замощения — мозаика. Многоугольники, на которые разбивается область, называются полигонами.
По типу полигонов, замощения можно разделить на:
• Регулярные - мозаики, составленные из полигонов одного типа и размера. Обобщением можно считать полигоны одинаковой площади без
уточнения касательно типа.
• Нерегулярные - мозаики, составленные из нескольких различных типов
полигонов или полигонов одного типа, но разных размеров.
На рис. 3 представлены примеры различных видов замощений.
а)
б)
в)
г)
Рис. 3: Примеры замощений: а) регулярное, б) нерегулярное квазиправильное, в) нерегулярное полуправильное г) нерегулярное
Регулярные замощения по типу полигонов, на которые разбивается плоскость, можно разделить на правильные и неправильные. При неправильном
регулярном замощении все полигоны имеют одинаковую форму, но не яв13
ляются правильными. Например, на рис. 4 приведены все открытые на сегодняшний день варианты регулярных неправильных замощений, полигоны
которых являются выпуклыми пятиугольниками.
Рис. 4: 15 известных на данный момент вариантов замощения неправильными пятиугольниками
Правильные замощения составляют правильные многоугольники. В [21]
доказано, что существует только три правильных замощения: треугольное,
квадратное и гексагональное. Данные мозаики представлены на рис. 5.
а)
б)
в)
Рис. 5: Виды правильных замощений: а) треугольное, б) квадратное, в) гексагональное
Для наращивания областей блоками можно использовать любой из представленных выше вариантов замощения, как регулярных, так и нерегулярных. Примером нерегулярной сетки может служить любая сетка, получен14
ная в результате триангуляции. Однако на практике использование сложных
блоков нецелесообразно, так как для определения принадлежности пикселей конкретному блоку необходимо проводить дополнительные расчёты,
учитывающие форму блока. По этой причине в компьютерной графике используют правильные замощения.
Определение 6. Существует два подхода к определению смежности:
• Cмежными называются полигоны имеющие общую сторону.
• Cмежными называются полигоны имеющие общую сторону или общую вершину.
Определение 7. Полигон смежный с n полигонами называется n-связным.
На рис. 6 для полигонов правильных замещений продемонстрированы
типы связности согласно двум вышеизложенным определениям. Области,
смежные с выделенной, по общей стороне выделены синим, по общей вершине - голубым.
а)
б)
в)
Рис. 6: Смежность при правильных замощениях:
а) 3-связная (синие смежные блоки) и 12-связная (синие и голубые блоки) треугольная область, б) 4-связная (синие смежные блоки) и 8-связная (синие и голубые блоки) квадратная
область, в) 6-связная гексагональная область.
В данной работе в качестве блоков при наращивании областей блоками будут использоваться квадратные 4–связные полигоны. Выбор формы
15
блоков обуславливается тем, что она наиболее естественно отражает расположение пикселей растрового изображения. Вычисление принадлежности
пикселей каждому полигону в данном случае не требует вычислительных
затрат. 4–связность обеспечивает отсутствие «одиночных» блоков, касающихся наращиваемой области только углами. Таким образом исключаются
участки областей, идентификация которых невозможна из-за их недостаточной площади.
1.1.2.
Алгоритм наращивания блоками единственной области
Идея наращивания области блоками заключается в распространении алгоритма, работающего с пикселями, на изображения, представленные блоками. При таком представлении блок является наименьшей структурной
единицей. В этом случае ключевым моментом алгоритма является выбор
функции перехода от группы пикселей к блоку, то есть задание дескриптора.
Алгоритм можно разбить на следующие этапы:
1. Перевод растрового представления изображения в блочное, путём вычисления дескриптора каждой области:
𝐼 = {𝑥1 , . . . , 𝑥𝑁 } → 𝑌 = {𝑦1 , . . . , 𝑦𝑀 }, где 𝑁 - количество точек изображения (пикселей), 𝑀 - количество блоков в блочном представлении,
𝑀 < 𝑁 . После чего с новым представлением можно будет работать как
с растровым изображением. Для начальной точки определяется соответствующий блок, который является стартовым для алгоритма, работающего с блоками, то есть 𝑥0 → 𝑦 0 . Задаётся пороговое значение функции
схожести 𝜇.
2. Стартовый блок принимается в качестве начальной области. 𝑆 (0) = 𝑦 0 .
16
Счётчику присоединённых блоков присваивается значение 1. 𝑚 = 1.
3. Для начальной области составляется список смежных с ней ещё не присоединённых блоков–кандидатов на присоединение. 𝑆𝑖 = {𝑦𝑘 , . . . , 𝑦𝑙 } —
список кандидатов на присоединение на 𝑖-м шаге.
4. Для каждого блока-кандидата вычисляются значения функции схожести
с блоками, принадлежащими наращиваемой области, и непосредствен}︁
{︁
(𝑖)
(𝑖)
(𝑖)
— значение
но смежными с ним. 𝐷𝑖𝑗 = max 𝑑(𝑠𝑖𝑗 , 𝑠𝑘 ) | 𝑠𝑘 ∈ 𝑆
функции схожести блока–кандидата 𝑠𝑖𝑗 ∈ 𝑆𝑖 с наращиваемой областью
на 𝑖-м шаге.
5. Определяются блоки–кандидаты, значение функции схожести которых
больше порогового значения 𝜇, которое задаётся заранее.
𝑆˜ = {𝑠𝑖𝑗 | 𝑠𝑗 ∈ 𝑆𝑖 , 𝐷𝑖𝑗 > 𝜇}. Найденные блоки присоединяются наращи˜
ваемой области. 𝑆 (𝑖+1) = 𝑆 (𝑖) ∪ 𝑆.
Счётчик присоединённых областей увеличивается на мощность множе˜
ства присоединяемых блоков 𝑚 = 𝑚 + |𝑆|.
˜ = 0, то дальнейшее присоединение блоков невоз6. Если 𝑚 = 𝑀 или |𝑆|
можно. Переход к шагу 7. Иначе — переход к шагу 3.
7. Создание маски выделенной области.
𝐼(𝑦𝑗 ) =
⎧
⎪
⎨ 1,
𝑦𝑗 ∈ 𝑆
⎪
⎩ 0,
𝑦𝑗 ∈
/𝑆
Переход от блоков к пикселям 𝐼(𝑦𝑗 ) → 𝐼(𝑥𝑖 ). Конец.
На рис. 7–8 приведены примеры применения немодифицированного метода для цветных изображений (рис. 7б), немодифицированного метода для
17
изображений в градациях серого (рис. 8а) и метода наращивания блоками
(рис. 8б) к исходному фото (рис. 7а).
а)
б)
Рис. 7: Исходное фото (а) и сегментированное немодифицированным методом (б)
а)
б)
Рис. 8: Сегментация немодифицированным методом наращивания областей (а) и методом
наращивания областей блоками (б)
1.2.
Автоматический выбор начальных областей
1.2.1.
Подходы к выбору начальных областей
Особенностью всех методов сегментации на базе наращивания областей
является необходимость задания начальных точек. Количество областей в
результате напрямую зависит от количества начальных точек. Однако при
автоматической сегментации изображений нельзя заранее сказать на сколько областей они будут разделены. Из этого вытекает вопрос определения
18
количества и координат начальных точек.
В зависимости от момента определения начальных точек все методы
автоматического их определения можно разделить на статические и динамические.
• Статический подход характеризуется определением количества и расположения начальных точек до запуска алгоритма сегментации. В этом
случае на вход функции, выполняющей сегментацию методом на основе наращивания областей, подаётся уже заранее определённый набор
координат стартовых точек.
Статические подходы можно разделить на два направления: задание точек в диалоговом режиме и вычисление точек программными методами.
1. В диалоговом режиме пользователь для каждого изображения сам
задаёт количество начальных точек и их координаты. Для опытного
специалиста не составит труда определить количество областей на
фото, а следовательно и стартовых точек. Но само наличие специалиста сводит на нет попытки автоматизировать процесс.
2. Программный подход представляет собой проведение предварительной обработки изображения для определения количества начальных
точек. Для преобработки используется алгоритм обнаружения границ [6]. Так как вычислительные затраты на преобработку не должны приближаться к затратам основной части алгоритма сегментации, то метод обнаружения границ должен быть максимально простым и быстрым, что может отрицательно сказаться на точности.
Так как точность на этапе преобработки не важна, то могут быть обнаружены не все области или, наоборот, структурные единицы текстуры могут быть приняты за отдельные области. Поэтому данный
19
подход часто применяется для предварительной оценки количества
и расположения начальных областей для с целью дальнейшего их
динамического уточнения.
• При динамическом подходе начальные точки определяются непосредственно в процессе выполнения алгоритма сегментации. Количество областей, на которые будет разделено изображение, заранее не известно.
Алгоритм получает на вход только анализируемое изображение. На каждой итерации генерируется одна начальная точка и для неё проводится
наращивание соответствующей области. Так как расположение каждой
следующей начальной точки зависит от уже выявленных структурных
областей, результат сегментации может зависеть от последовательности
выбора этих точек.
Данный подход наиболее удобен, так как не требует преобработки изображения, позволяет полностью разбить фото на области и обеспечивает
максимальную степень автоматизации сегментирования.
Замечание 1. При динамическом определении начальных точек существует возможность реализации интерактивного режима. В этом случае на каждой итерации пользователь выбирает из доступной области
одну начальную точку, для которой производится наращивание, после
чего обработанные точки или блоки из доступной области убираются,
а пользователь снова выбирает следующую точку из уже сокращённой
доступной области. Однако такой подход не является автоматическим и
относится к динамическим только формально. На практике его использование при большом числе возможных областей неудобно.
20
1.2.2.
Алгоритм автоматической сегментации
1. Перевод растрового представления изображения в блочное, путём вычисления дескриптора каждой области:
𝐼 = {𝑥1 , . . . , 𝑥𝑁 } → 𝑌 = {𝑦1 , . . . , 𝑦𝑀 }, где 𝑁 - количество точек изображения (пикселей), 𝑀 - количество блоков в блочном представлении,
𝑀 < 𝑁 . После чего с новым представлением можно будет работать
как с растровым изображением. Задаётся пороговое значение функции
схожести 𝜇. Счётчику выявленных областей, который будет использоваться для присваивания меток обработанным блокам, присваивается
стартовое значение 𝐾 = 0. 𝑄 = ∅ – множество присоединённых блоков
(блоков с метками).
2. Выбирается стартовый блок 𝑦 0 ∈
/ 𝑄, который принимается в качестве
начальной области. Счётчик областей увеличивается на единицу
𝐾 = 𝐾 + 1. Начальному блоку присваивается текущая метка 𝐾.
𝑄 = 𝑄 ∪ 𝑦 0 . 𝑆 (𝐾) = 𝑦0 – начальная область с меткой 𝐾.
3. Для начальной области составляется список смежных с ней блоков, ещё
не имеющих меток, — кандидатов на присоединение.
𝑆𝑖 = {𝑦𝑙 | 𝑦𝑙 ∈
/ 𝑄, 𝑦𝑙
смежен 𝑆 (𝐾) } — список кандидатов на присо-
единение на 𝑖-м шаге.
4. Для каждого блока-кандидата вычисляются значения функции схожести
с блоками, принадлежащими наращиваемой области, и непосредствен{︁
}︁
(𝑖)
(𝑖)
(𝐾)
но смежными с ним. 𝐷𝑖𝑗 = max 𝑑(𝑠𝑖𝑗 , 𝑠𝑘 ) | 𝑠𝑘 ∈ 𝑆𝑖
— значение
функции схожести блока–кандидата 𝑠𝑖𝑗 ∈ 𝑆𝑖 с наращиваемой областью
на 𝑖-м шаге.
5. Определяются блоки–кандидаты, значение функции схожести которых
21
больше порогового значения 𝜇, которое задаётся заранее.
𝑆˜ = {𝑠𝑖𝑗 | 𝑠𝑗 ∈ 𝑆𝑖 , 𝐷𝑖𝑗 > 𝜇}. Найденные блоки присоединяются к нара(𝐾)
(𝐾)
щиваемой области. 𝑆𝑖+1 = 𝑆𝑖
˜
∪ 𝑆.
Присоединённым блокам присваиваются метки текущей области.
˜
𝑄 = 𝑄 ∪ 𝑆.
6. Если |𝑄| = 𝑀 , то не осталось необработанных блоков, всё изображение
сегментировано. Переход к шагу 8. Иначе переход к шагу 7.
˜ = 0, то дальнейшее присоединение блоков к данной области
7. Если |𝑆|
невозможно. Переход к шагу 2. Иначе — переход к шагу 3.
(𝐾)
8. Переход обратно от блоков к пикселям 𝑦𝑗 → 𝑥𝑖 . 𝑥𝑖 = 𝑥𝑖
для 𝑦𝑗 ∈ 𝑆 (𝐾) .
Конец.
В результате получаем изображение, каждой точке которого присвоена
метка, однозначно указывающая на область, которой та принадлежит. Одинаковые метки говорят о принадлежности точек одной области, разные —
разным областям.
а) блок 3 × 3
1492 сегмента
б) блок 6 × 6
998 сегментов
Рис. 9: Сегментация с автоматическим выбором начальных областей
22
На рис. 9 представлены результаты автоматической сегментации для
блоков разных размеров. Сегментация и визуализация выполнены в пакете MATLAB. Каждому сегменту соответствует свой оттенок цвета. На шаге 2 алгоритма начальный блок каждой области выбирался произвольным
образом из множества непомеченных блоков.
1.3.
Объединение областей малой площади
Главным недостатком метода сегментации наращиванием областей с автоматическим выбором начальных точек является появление большого количества областей малой площади, то есть одиночных областей, состоящих
из одного или нескольких блоков. Причинами их появления могут являться
плохое качество исходного изображения, шум, особенности текстуры, прочие особенности изображения.
Так как при сегментации площадь присоединяемых блоков выбиралась
таким образом, чтобы одновременно обеспечить достоверное представление текстурных признаков каждого блока и при этом гарантировать в достаточной степени высокую точность, однако размер таких блоков недостаточен для максимального выделении текстурных признаков - главной задачи классификации. Таким образом области, представленные одиночными блоками или малой группой блоков, общая площадь которых меньше
минимальной классифицируемой области не могут быть обработаны. Для
устранения этого производится объединение областей.
Определение 8. Связной областью называется область, любые две точки которой могут быть соединены кривой, полностью принадлежащей данной области.
В зависимости от требований связности существует две точки зрения на
23
цель и процесс объединения областей.
Если ставится требование обязательной связности каждой области, при
объединении рассматриваются только смежные сегменты. В этом случае
целью является исключение смежных сегментов одного типа путём их объединения. В данном контексте тип сегмента строго не определяется. Для
каждой конкретной задачи понятие типа сегмента определяется индивидуально путём выбора соответвующих дескрипторов и определения функции
схожести типов.
Если допускаются несмежные области, то для объединения широко применяется кластеризация. Как и в предыдущем случае, при кластерном анализе необходимо введение функции схожести, которая выполняет роль функции расстояния в пространстве текстурных признаков. Так как анализируется произвольное изображение и невозможно заранее сказать, сколько на
нём представлено типов текстур, следует отметить, что для кластеризации
не подходят методы, требующие предварительного указания числа кластеров, такие как K-means.
Достоинством объединения областей посредством кластерного анализа
является существенное упрощение дальнейшей классификации, так как в
идеальном случае изображение будет разделено на текстурные области, тип
текстуры каждой из которых встречается ровно один раз. Это позволит после классификации текстур пропустить шаг объединения. На практике же
из-за схожести текстур некоторых типов возможна их потеря из-за объединения нескольких кластеров в один.
24
а)
б)
Рис. 10: Неточности кластеризации
На рис. 10 показана возможная ситуация с объединениями кластеров1 .
Альтернативой является использование алгоритмов кластеризации с малым радиусом влияния для объединения только тех областей, меры схожести которых принимают значения близкие к 1 (в том случае, если мера
схожести изменяется на отрезке [0;1]). Это поможет сократить число сегментов, но не приведёт к повышению процента возможных неправильно
классифицированных из-за неверного сегментирования участков.
1.3.1.
Алгоритм объединения областей
Для решения поставленной задачи на этапе сегментации достаточно
обеспечить отсутствие неклассифицируемых участков. Для этого производится простая проверка:
1. Пусть изображение разделено на 𝑁 сегментов 𝑃 = {𝑃1 , . . . , 𝑃𝑁 }. Для
каждой области вычисляется её площадь 𝑆 = {𝑆1 , . . . , 𝑆𝑁 }. Задаётся
минимальная классифицируемая площадь 𝜇.
2. Составляется список областей недостаточной площади
1
Для примера был взяты частичные данные из набора данных «ирисы Фишера», а именно длина чашелистика, длина лепестка и вид ириса (для сравнения с полученным результатом). Графики сгенерированы
пакетом MATLAB. На примере видно, что при радиусе влияния 0,7 субтрактивный алгоритм нечёткой кластеризации обнаруживает только два кластера (рис. 10б), тогда как на самом деле их три (рис. 10а).
25
𝑃 * = {𝑃𝑖 | 𝑆𝑖 < 𝜇,
𝑖 = 1, 𝑁 }.
3. Если 𝑃 * ̸= ∅ переход к шагу 4, иначе — конец.
4. Для 𝑃𝑗 ∈ 𝑃 * среди смежных с ним сегментов выбирается наиболее похожий 𝑃˜ = max {𝑓 (𝑃𝑗 , 𝑃𝑘 )}, где 𝑃𝑘 ∈ 𝑃 , 𝑓 (𝑃𝑗 , 𝑃𝑘 ) — функция схожести
текстур областей 𝑃𝑗 и 𝑃𝑘 .
5. Если 𝑃𝑗 ∈ 𝑃 * и 𝑃𝑘 ∈ 𝑃 * и 𝑆𝑗 + 𝑆𝑘 < 𝜇, то 𝑃𝑖 = 𝑃𝑗 ∪ 𝑃𝑘 . Изменяем
список неклассифицируемых участков: 𝑃 * = 𝑃 * /(𝑃𝑗 ∪𝑃𝑘 )∪𝑃𝑖 . Изменяем
список соответствующих площадей сегментов 𝑆 = 𝑆/(𝑃𝑗 ∪ 𝑃𝑘 ) ∪ 𝑆𝑖 , где
𝑆𝑖 = 𝑆𝑗 + 𝑆𝑘 . Переход к шагу 3.
6. Если 𝑃𝑗 ∈ 𝑃 * и 𝑃𝑘 ∈ 𝑃 , то изменяем список неклассифицируемых
участков: 𝑃 * = 𝑃 * /𝑃𝑗 . Изменяем список соответствующих площадей
сегментов 𝑆 = 𝑆/𝑃𝑗 , 𝑆𝑖 = 𝑆𝑗 + 𝑆𝑘 . Переход к шагу 3.
На рис. 11 продемонстрировано сегментированное изображение до
(рис. 11а) и после (рис. 11б) объединения блоков. Объединение блоков проводилось по алгоритму, объединяющему только неклассифицируемые блоки, описанному выше.
а)
б)
Рис. 11: Сегментированные изображения до (а) и после (б) объединения областей
26
Глава 2.
2.1.
Текстурная классификация
Библиотека текстур
Библиотека текстур необходима для обучения нейронной сети, которая
широко применяется при решении задач классификации образов. От выбора базы текстур зависит точность работы алгоритмов классификации. При
недостаточном объёме библиотеки высока вероятность обнаружения областей, для которых не выполняется необходимое условие классификации (см.
утв. 2). Под недостаточным объёмом библиотеки в этом случае понимают
как объём всех образцов, так и число классов.
Утверждение 1. Необходимым условием принадлежности текстуры данному классу является требование, чтобы значение функции схожести текстуры с этим классом было выше некоторого порога уверенности.
𝑓 (𝑆, 𝑇 ) > 𝜂, где 𝑓 (𝑆, 𝑇 ) – мера принадлежности текстуры 𝑆 классу 𝑇 , 𝜂 –
порог уверенности.
Утверждение 2. Необходимым условием классификации текстуры является выполнение необходимого условия принадлежности текстуры (утв. 1)
хотя бы для одного класса. max {𝑓 (𝑆, 𝑇𝑖 )} > 𝜂
𝑖
𝑖 = 1, 𝑁 , где 𝑓 (𝑆, 𝑇𝑖 ) – мера
принадлежности текстуры 𝑆 классу 𝑇𝑖 , 𝑁 – число возможных классов, 𝜂 –
порог уверенности.
Порог уверенности 𝜂 задаётся пользователем и позволяет регулировать
точность классификации. По умолчанию 𝜂 = 0, то есть необходимое условие классификации выполняется всегда. В этом случае каждая текстура принадлежит классу, мера принадлежности которому больше остальных.
Стремление к отсутствию неклассифицируемых текстур может привести
к излишнему увеличению числа классов библиотеки. Невозможно создать
универсальную базу текстур без вреда точности и трудоёмкости классифи27
кации. В первую очередь вредны текстуры, вероятность появления которых
на анализируемом изображении крайне мала или вообще равна нулю. Например, бессмысленно добавлять в библиотеку класс «мех», когда она будет
использоваться для анализа аэрофтоснимков. Из этого следует, что важным
условием эффективной классификации является правильный выбор библиотеки.
Перед непосредственным сбором образцов текстур для решения конкретной задачи следует определить следующие моменты:
1. Определить природу предметной области. Это могут быть рентгеновские снимки, снимки с помощью микроскопа, фото различных материалов [22],[23], фото местности.
2. На основе предметной области определить предполагаемые классы текстур. По возможности выделение классов производить от общих, дробя
их на более частные в процессе анализа предметной области. Это позволит избежать пересечения классов и при необходимости даст возможность варьировать уровень детализации без лишних усилий.
3. Определить приблизительный диапазон изменения масштаба текстур.
Например, на каком увеличении делаются снимки электронным микроскопом или с какой высоты делаются фотографии с воздуха. На основе
этого производить отбор текстур для каждого класса. Пусть предметной
областью являются аэрофотоснимки, а среди классов текстур выбран
класс «трава», то фотографии газона, сделанные под углом 90o относительно поверхности, формально подходят, но, так как аэрофотоснимки
делаются с высоты не менее 500 м, на практике не применимы, а следовательно не должны быть добавлены в качестве образцов в данный
класс.
28
Для поставленной задачи классификации текстур на аэрофотоснимке
предметом исследования являются фото земной поверхности сделанные с
воздуха. Дабы по возможности сократить количество классов на этапе проверки работы алгоритмов было принято решение ограничить анализируемые аэрофотоснимки снимками средней полосы. При данных условиях
было выделено 8 основных классов текстур: «вода» (реки, озёра, моря),
«почва», «болото», «лес», «степь», «горы», «асфальт» (большие заасфальтированные участки как, например, аэродромы), «строения» (города, посёлки). Так как при постановке задачи было определено, что аэрофтоснимками
считаются любые снимки, сделанные с летательного аппарата, то текстуры
на образцах должны быть сфотографированы не менее чем с высоты 500
метров над уровнем земли.
В качестве образцов текстур использовались элементы различных баз
данных ([22], [23]), а так же вручную выделялись области на изображениях,
найденных в сети Интернет. Принимались цветные изображения и изображения в градациях серого. Цветные изображения переводились в цветовую
модель RGB для единообразия представления и упрощения дальнейшей обработки библиотеки. Низкий уровень специализации классов позволил на
данном этапе обойтись без обращения к специализированным экологическим сайтам. В конечном счёте каждый класс составленной библиотеки
текстур насчитывал по 100 образцов размера 200 × 200 пикселей с разной
долей цветных и монохромных (см. табл. 1).
Цветные
Монохромные
Всего
Вода
Почва
Болото
Степь
72
28
100
67
33
100
51
49
100
41
59
100
Горы
Лес
46 62
54 38
100 100
Асфальт
Строения
30
70
100
44
56
100
Таблица 1: Число цветных и монохромных образцов каждого класса библиотеки текстур
29
2.2.
LBP-оператор
Определение 9. Локальный бинарный шаблон (Local Binary Pattern LBP) - оператор, описывающий точку изображения с помощью соседних
пикселей [15].
Пусть T = 𝑡(𝑝𝑐 , 𝑝0 , . . . , 𝑝𝑛−1 ) – фрагмент текстуры, 𝑝𝑖 – точки, составляющие его. Тогда локальный бинарный шаблон определяется следующим
образом
LBP𝑟,𝑛 =
𝑖=0
∑︁
𝑓 (𝑝𝑖 − 𝑝𝑐 )2𝑖
𝑛−1
где 𝑟 - радиус окружности, на которой берутся точки для описания центральной, 𝑛 - количество точек для описания центральной.
𝑓 (𝑥) =
⎧
⎪
⎨ 0,
𝑥<0
⎪
⎩ 1,
𝑥≥0
Инвариантность относительно поворота
Классический LBP-оператор не обладает инвариантностью относительно поворота, что приводит к необходимости добавления в банк текстур одинаковых образцов, повёрнутых на различные углы. С целью сокращения
размера банка текстур и повышения точности описания вводится модифицированный, инвариантный относительно поворота, оператор LBP𝑟𝑖 .
LBP𝑟𝑖
𝑟,𝑛 = min {ROR(LBP𝑟,𝑛 , 𝑖)} ,
𝑖 = 0, 𝑛 − 1,
где ROR(𝑋, 𝑖) — функция поворота блока 𝑋 на 𝑖 пикселей по часовой стрелке.
30
Устойчивость к шуму
LBP-оператор в классическом представлении крайне чувствителен к шуму, который неизбежен на аэрофотоснимках. Следовательно небольшой, не
влияющий на текстуру, шум при использовании LBP, особенно с малым
радиусом, может привести к большой доле ошибочных классификаций.
Для обеспечения устойчивости к шуму используется усреднение. Если
пиксель описывается с помощью 𝑛 соседних точек, а усреднение производится по 𝑞 точкам, то для описания каждого пикселя необходимо брать 𝑞𝑛
точек.
𝑞−1
𝑝¯𝑟,𝑞
1 ∑︁
=
𝑝𝑟,𝑘𝑞+𝑖 ,
𝑞 𝑖=0
𝑘 = 0, 𝑛 − 1.
(1)
Инвариантность относительно масштаба
Так как не всегда существует возможность подбора банка текстур таким
образом, чтобы масштаб текстур на образцах совпадал с масштабом любых анализируемых текстур, встаёт необходимость обеспечить определённый диапазон допустимого различия масштабов изображения и образцов из
банка данных. Для LBP-операторов это возможно осуществить путём изменения их радиуса. При этом вычисляются сразу несколько дескрипторов
с разными радиусами. Число различных радиусов можно варьировать, тем
самым контролирую сложность и эффективность классификации.
2.3.
Дескрипторы текстур
Для описания текстурных признаков областей и блоков используются
функции-дескрипторы, получающие на вход набор пикселей каждого блока,
а на выходе определяющие вектор признаков каждого блока.
31
Определим дескриптор LBP𝑟𝑖 _S𝑟,𝑛 , описывающий центральный пиксель
через соседние. Пусть 𝑟 – радиус LBP-оператора, 𝑞 – число пикселей для
описания одной соседней точки, 𝑛 – число соседних пикселей для описания
центрального. Будем считать, что 𝑛 = 8𝑟, так как такой выбор соседних пикселей наиболее естественен для растровых изображений. 𝑝𝑐 – центральный
пиксель LBP-оператора, 𝑝¯𝑟,𝑛 определён в (1).
𝐿𝐵𝑃 _𝑆𝑟,𝑛 =
𝑖=0
∑︁
𝑓 (¯
𝑝𝑟,𝑖 − 𝑝𝑐 )2𝑖 ,
𝑛
{︀
}︀
𝑟𝑖
𝐿𝐵𝑃 _𝑆𝑟,𝑛
= min ROR(LBP_S𝑟,𝑛 , 𝑖) ,
𝑖 = 0, 𝑛 − 1.
Определим дескриптор LBP𝑟𝑖 _D𝑟,𝑛 , описывающий степень различия между центральным пикселем и соседними.
𝑛−1
𝑧𝑟,𝑘
1 ∑︁
=
|¯
𝑝𝑟,𝑘+𝑖 − 𝑝𝑐 |,
𝑛 𝑖=0
𝐿𝐵𝑃 _𝐷𝑟,𝑛 =
𝑖=0
∑︁
𝑛
𝑘 = 0, 𝑛 − 1,
𝑛−1
1 ∑︁
𝑓 (𝑧𝑟,𝑖 −
𝑧𝑟,𝑗 )2𝑖 ,
𝑛 𝑗=0
{︀
}︀
𝑟𝑖
𝐿𝐵𝑃 _𝐷𝑟,𝑛
= min ROR(LBP_D𝑟,𝑛 , 𝑖) ,
𝑖 = 0, 𝑛 − 1.
𝑟𝑖
𝑟𝑖
𝐿𝐵𝑃𝑟,𝑛 = 𝐿𝐵𝑃 _𝑆𝑟,𝑛
∪ 𝐿𝐵𝑃 _𝐷𝑟,𝑛
,
где под операцией объединения имеется ввиду объединение гистограмм
𝑟𝑖
𝑟𝑖
𝐿𝐵𝑃 _𝑆𝑟,𝑛
и 𝐿𝐵𝑃 _𝐷𝑟,𝑛
.
Итоговым дескриптором, устойчивым к изменению масштаба, является
дескриптор LBP:
32
𝐿𝐵𝑃 =
𝑚
⋃︁
𝐿𝐵𝑃𝑘,8𝑘 ,
𝑘=1
где 𝑚 – максимальный рассматриваемый радиус LBP-оператора.
Для цветных изображений вычисляются LBP_R, LBP_G, и LBP_B, по
значениям насыщенности соответствующих каналов. После чего полученные гистограммы частот объединяются в общий дескриптор LBP_RGB.
Замечание 2. По умолчанию входное изображение представлено в цветовом пространстве RGB. Переход от других цветовых моделей, например,
YCbCr, HSV, CMYK, к RGB и обратно осуществляется по выведенным для
каждой модели стандартным формулам.
2.4.
Двухшаговый алгоритм классификации
При переводе цветного изображения в градации серого неизбежна потеря информации. Это приводит к тому, что разным цветам могут соответствовать одинаковые значения уровня серого. Так как в природе цвет играет
основополагающую роль, и окраска растений, песка, почвы и т.д. никогда
не бывает случайной, а определяется группой экологических и климатических факторов, то при классификации в градациях серого результаты могут
быть недостаточно точными. Однако часто исследователи сталкиваются с
невозможностью сбора библиотеки текстур полностью из цветных образцов. В этом случае приходится работать со всей библиотекой в градациях
серого, так как переход к цветовому пространству для серого изображения
неоднозначен.
Двухшаговый подход к классификации текстур заключается в работе на
разных этапах с разными представлениями изображений и банка текстур
[24].
33
Этап 0. Для работы с разными представлениями изображений необходимо
провести преобразование библиотеки текстур. Для этого она делится на
две части: цветные образцы и образцы в градациях серого. После чего
формируется две новых базы текстур (см. рис. 12): в градациях серого,
которая формируется путём объединения части начальной библиотеки
в уровнях серого и цветной части, переведённой в уровни серого, и
полностью цветная, представляющая собой цветную часть начальной
библиотеки.
Рис. 12: Схема формирования библиотек текстур для каждого этапа классификации
Этап 1. На данном этапе анализируются структурные особенности текстуры. Осуществляется перевод копии анализируемой текстуры в представление в градациях серого (если оно изначально цветное) и последующая классификация с использованием соответствующей библиотеки текстур. В результате для каждого класса получаем степень принадлежности текстуры к нему. На следующий этап передаются только те
классы, степень принадлежности к которым выше порогового значения. Если такой класс один, то второй этап игнорируется. Если таких
классов нет совсем, то выбирается наиболее вероятный класс и второй
этап так же игнорируется. Возможен альтернативный подход к отбору
классов, согласно которому они сортируются по степени вероятности и
34
на второй этап передаются n самых вероятных.
Этап 2. На данном этапе для наиболее схожих по фактуре с исходным изображением классов текстур проводится цветовой анализ, позволяющий
уточнить результаты. Вычисляются вероятности принадлежности текстуры классам, представленным цветными образцами. После чего вычисляется итоговые вероятности принадлежности (вероятность совместного появления событий) путём умножения вероятностей полученных
на первом и на втором этапах. В итоге получаем классом текстуры является класс с наибольшей вероятностью принадлежности.
Рис. 13
В табл. 2 приведены сравнительные результаты работы двухшагового
алгоритма и одношаговых алгоритмов для библиотек текстур в градациях
серого и в цветовом пространстве RGB. Тестирование было проведено на
50 произвольно взятых образцах текстур.
Color
Greyscale
Two-step
Texture Base Texture Base Texture Base
Точность 88%
96%
92%
Таблица 2: Сравнительная таблица точности результатов работы методов классификации с
различными библиотеками текстур
Результаты окончательной обработки аэрофотоскнимков представлены
на рис. 14.
35
Рис. 14: Результаты текстурного анализа аэрофотоснимков по алгоритму, описанному в
главе 1 и главе 2
Выводы
В ходе решения поставленной задачи был разработан алгоритм, на основе которого написана программа, позволяющая анализировать аэрофотоснимки на предмет определения представленных на них типов местности.
Было проведено тестирование её работы на нескольких снимках. В результате проведённых экспериментов было установлено, что достигается желаемая точность классификации.
Однако, так как в качестве классов был выбран сокращённый набор типов местности, результаты не отображают всего многообразия существующих типов местности. Это может быть решено путём расширения числа
классов. Но более точное формирование новых классов и сбор образцов соответствующих текстур невозможны без помощи специалистов-экологов и
картографов.
Недостатком работы программы является условность выявленных областей. В результате получаем только приблизительный план местности,
который, впрочем, может быть наложен на уже существующую топографическую карту. Неточность при определении областей может быть сокращена
за счёт модификации алгоритма сегментации и изменения типов или набора
36
дескрипторов текстур при сегментации.
Двухшаговый подход на этапе классификации позволил увеличить эффективность работы со смешанной базой текстур, состоящей из цветных
образцов и образцов в градациях серого и унифицировать работу алгоритма
для пользовательских библиотек текстур.
Заключение
В данной работе был рассмотрен подход к картографическому анализу
аэрофотоснимков. Были выявлены особенности текстур природного происхождения. Рассмотрены подходы к сегментации с учётом данных особенностей и проведена модификация метода сегментации наращивания областей. После чего был рассмотрены подходы к объединению полученных
сегментов. На этапе классификации были рассмотрены модификации LBPоператоров и на их основе были сконструированы дескрипторы текстур.
Был разработан двухшаговый алгоритм классификации текстур, позволяющий работать с неоднородной библиотекой текстур (содержащей и цветные
образцы и образцы в градациях серого).
Плюсом разработанного алгоритма является информационная ёмкость
полученных с помощью него результатов обработки аэрофотоснимка. В итоге мы получаем не просто сегментированное изображение, но и имеем информацию о каждой отдельной области. Это позволяет выделить характерные особенности каждой области, на основе чего в дальнейшем возможно
построение 3D-модели местности.
37
Список литературы
1. Антощук С. Г., Сербина Н. А. Система распознавания текстурных изображений при экологическом мониторинге // Искусственный интеллект.
2002. Т. 4. С. 406–413.
2. Jain A. K., Farrokhnia F. Unsupervised texture segmentation using Gabor
filters // Pattern Recognition. 1991. Vol. 24, No 12. P. 1167–1186.
3. Sandler R., Lindenbaum M. Gabor filter analysis for texture segmentation //
Computer vision and pattern recognition workshop. 2006. P. 178.
4. Hou Z., Parker J. M. Texture defect detection using support vector machines
with adaptive Gabor wavelet features // Application of Computer Vision.
2005. Vol. 1. P. 275–280.
5. Adams R., Bischof L. Seeded region growing // Pattern Analysis and
Machine Intelligence. 1994. Vol. 16, No 6. P. 641–647.
6. Ugarriza L. G. Automatic image segmentation by dynamic region growth
and multiresolution merging // Image Processing, 2009. Vol. 18, No 10.
P. 2275–2288.
7. Tremeau A., Borel N. A region growing and merging algorithm to color
segmentation // Pattern recognition. 1997. Vol. 30, No 7. P. 1191–1203.
8. Shih F. Y., Cheng S. Automatic seeded region growing for color image
segmentation // Image and vision computing. 2005. Vol. 23, No 10. P. 877–
886.
9. Haralick R. M., Shanmugam K., Dinstein I. H. Textural features for image
classification // Systems, Man and Cybernetics. 1973. No 6. P. 610–621.
38
10. Varma M. Statistical approaches to texture classification. // DPhil Thesis,
University of Oxford. 2004.
11. Konishi S., Yuille A. L. Statistical cues for domain specific image
segmentation with performance analysis // Computer Vision and Pattern
Recognition. 2000. Vol. 1. P. 125–132.
12. Cohen F. S., Fan Z., Patel M. A. Classification of rotated and scaled textured
images using Gaussian Markov random field models // IEEE Transactions
on Pattern Analysis and Machine Intelligence. 1991. No 2. P. 192–202.
13. Randen T., Husoy J. H. Filtering for texture classification: a comparative
study // Pattern Analysis and Machine Intelligence. 1999. Vol. 21, Np 4.
P. 291–310.
14. Grigorescu S. E., Petkov N., Kruizinga P. Comparison of texture features
based on Gabor filters // Image Processing. 2002. Vol. 11, No 10. P. 1160–
1167.
15. Ojala T., Pietikainen M., Maenpaa T. Gray scale and rotation invariant
texture classification with local binary patterns // Computer Vision-ECCV.
2000. P. 404–420.
16. Liu L. BRINT: binary rotation invariant and noise tolerant texture
classification // Image Processing. 2014. Vol. 23. No 7. P. 3071–3084.
17. Hadid A., Ylioinas J., Bengherabi M. Gender and texture classification: A
comparative analysis using 13 variants of local binary patterns // Pattern
Recognition Letters. 2015. Vol. 68. P. 231–238.
18. Wu X., Sun J. Joint-scale LBP: a new feature descriptor for texture
classification // The Visual Computer. 2015. P. 1–13.
39
19. Zhu C., Bichot C. E., Chen L. Multi-scale color local binary patterns
for visual object classes recognition // Pattern Recognition (ICPR). 2010.
P. 3065–3068.
20. Banerji S., Verma A., Liu C. Novel color LBP descriptors for scene and
image texture classification // 15th International Conference on Image
Processing, Computer Vision, and Pattern Recognition. 2011. P. 537–543.
21. Кокстер Г. Введение в геометрию. М.: Наука, 1966.
22. База текстур CUReT [Электронный ресурс]: URL:http://www.
cs.columbia.edu/CAVE/software/curet/ (дата обращения:
15.05.16).
23. The Heriot-Watt University TextureLab database [Электронный ресурс]:
URL:http://www.macs.hw.ac.uk/texturelab/resources/
databases/ (дата обращения: 15.05.16).
24. Авдюшкина Л. С. Двухшаговая классификация природных текстур //
Процессы управления и устойчивость. 2016. (в печати)
40
Отзывы:
Авторизуйтесь, чтобы оставить отзыв