Пороговая обработка в задачах сегментации изображений

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ВВЕДЕНИЕ

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

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

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

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

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

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

1. СЕГМЕНТАЦИЯ КАК ОБРАБОТКА ИЗОБРАЖЕНИЯ

1.1 основные понятия о представлении изображения

Задача обработки изображения на входе получает некоторое изображение. На выходе может быть не только обработанное изображение, но и некоторая его характеристика. Изображения бывают различными: от бинарных, то есть тех, в которых присутствует лишь два цвета (как правило, черный и белый), до 32-х битных изображений. Остановимся на самых распространенных 24-х битных изображениях формата. bmp (от англ. bitmap). Этот формат предназначен для хранения растровых изображений, то есть изображений, представляющих собой сетку пикселей или же точек цветов. Помимо него есть, несомненно, множество других форматов, таких как. jpeg (. jpg),. png,. tiff и другие. Отличаются они, как правило, способом кодировки изображения. Например, формат. jpeg содержит сжатые данные, которые были получены по одноименному алгоритму JPEG, являющемуся алгоритмом сжатия с потерей качества. Чтобы рассматривать изображение без потери качества и с полной глубиной цвета был выбран формат. bmp.

Изображение является 24-х битным, так как содержит в своем цвете три основных составляющих: R (красный), G (зеленый) и B (синий). Каждый из цветов варьируется в пределах от 0 до 256, то есть в пределах: [0;]. Таким образом, всего цветов может быть, или же 16. 777. 216. Цветовое пространство RGB на сегодняшний день очень распространено. Подавляющее большинство дисплеев телефонов, плееров, GPS-навигаторов, цифровых фотоаппаратов и видеокамер отображают именно 16 миллионов цветов. На самом деле компьютеры обрабатывают не сами изображения, а только массивы дискретных чисел [3]. Изображение в таком представлении, вообще говоря, — это двумерный массив точек, то есть матрица, каждый элемент которой есть набор трех значений: R, G и B. Формально изображение можно записать как некоторую функцию.

, (1. 1)

где — координаты пикселя изображения, а — яркость пикселя в точке с координатами. Яркость пикселя определяется как:

(1. 2)

где, и — значения составляющих R, G и B соответственно в точке. В компьютерной реализации эта матрица представлена в виде сплошного массива, записанного по строкам изображения, каждый элемент которого является структурой RGB.

Часто для анализа яркости изображения строят его гистограмму. Гистограмма изображения — это гистограмма уровней яркости изображения. Она позволяет оценить количество и разнообразие оттенков изображения, а также его общий уровень яркости. Гистограмма — это функция, аргументом которой являются всевозможные уровни яркости одной из составляющих R, G или B (или же непосредственно яркость, вычисленная по формуле (1. 1)), то есть область определения лежит в диапазоне [0; 255], а значением является количество точек, которые принимают данный уровень яркости. Для работы с изображениями на компьютере с использованием языков программирования высокого уровня существует достаточно много средств. Самыми распространенными являются: Open GL (Open Graphics Library) — это открытая графическая библиотека, DirectX — набор функций, разработанных для решения задач, связанных с видеопрограммированием под Microsoft Windows, а также непосредственно Microsoft Visual Studio, которая также представляет множество встроенных средств для работы с графикой.

1.2 обработка изображений: сегментация

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

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

Методы сегментации изображений делятся на два класса:

— автоматические, то есть такие методы, которые не требуют взаимодействия с пользователем;

— интерактивные или же ручные методы, использующие введенные пользовательские данные во время работы.

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

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

Алгоритмы сегментации также делятся, как правило, на два класса:

1) основанные на базовом свойстве яркости: разрывности;

2) основанные на базовом свойстве яркости: однородности [5].

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

1.2.1 Сегментация в цветовом пространстве RGB

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

Предположим, что на RGB изображении необходимо выделить объекты, цвет которых лежит в определенном диапазоне. Задача сегментации в таком случае состоит в том, чтобы классифицировать каждый пиксель изображения в соответствии с тем, попадает ли его цвет в заданный диапазон или нет. Для этого в цветовом пространстве вводится мера сходства, как правило, евклидово расстояние [1]. Евклидово расстояние между точками и определяется выражением

, (1. 3)

где, , — RGB компоненты вектора, а , — вектора.

Идею применения такой обработки можно в общих чертах увидеть в разделе 2.6 пояснительной записки.

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

2. ПОРОГОВАЯ ОБРАБОТКА В ЗАДАЧАХ СЕГМЕНТАЦИИ ИЗОБРАЖЕНИЙ

2.1 Введение в пороговую обработку изображений

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

В этом случае изображение обрабатывается по пикселям и преобразование каждого пикселя входного изображения в выходное определяется из соотношения:

, (2. 1)

где — параметр обработки, называемый порогом, и — уровни выходной яркости. Обработка по пикселям, положение которых на изображении не играет никакой роли, называется точечной [2]. Уровни и играют роль меток. По ним определяют, к какому типу отнести данную точку: к или к. Или говорят, что состоит из фоновых точек, а из точек интереса [6]. Как правило, уровни и соответствуют уровням белого и черного. Для простоты изложения далее, где это будет встречаться, будем называть классы (он же класс интереса) классом объекта, а класс классом фона.

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

, (2. 2)

где — количество уровней, а — классы изображения. В таком случае для каждого из классов должен быть задан соответствующий порог, который бы отделял эти классы между собой.

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

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

, (2. 3)

где — изображение, а — некоторая характеристика точки изображения, например, средняя яркость в окрестности с центром в этой точке.

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

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

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

Перейдем теперь непосредственно к основным алгоритмам пороговой классификации.

искусственный предметный пороговый изображение

2.2 Глобальная пороговая обработка

Этот метод основан на анализе гистограммы изображения. Суть глобальной пороговой обработки состоит в разделении гистограммы изображения на две части с помощью единого глобального порога.

Определение величины порога с помощью гистограммы яркостей является простым методом, который позволяет достичь «чистой» сегментации, если гистограмма изображения носит четко выраженный бимодальный характер [1]. Такая форма гистограммы означает, что на изображении можно различить два вида сравнительно часто встречающихся пикселей — яркие и темные. При этом гистограмма легко разделяется с помощью одиночного глобального порога, расположенного во впадине между пиками гистограммы.

Примером может послужить Рисунок 2.1.

Рисунок 2.1 — Гистограмма яркости, допускающее разделение с помощью одиночного глобального порога

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

Порог можно выбирать эвристически, то есть на уровне визуального изучения гистограмм. Однако в данной работе был реализован алгоритм автоматического вычисления значения порога. Он состоит из следующих этапов, предложенных в [5]:

1) выбирается некоторая начальная оценка значения порога;

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

3) вычисляются значения и средних яркостей пикселей по областям и соответственно;

4) вычисляется новое значение порога в соответствии с формулой:

(2. 4)

5) повторяются шаги со 2-го по 4-й до тех пор, пока разница значений при соседних итерациях не окажется меньше значения наперед заданного параметра.

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

Параметр является причиной остановки алгоритма, когда изменения на каждой итерации становятся несущественными.

Недостаток данного алгоритма заключается в том, что редко гистограмма поддается простому разделению и в большинстве реальных изображений такой подход не дает хороших результатов. Недостатком гистограммных методов в целом является то, что нет никакой гарантии в том, что пиксели, относящиеся к одной и той же моде распределения яркостей, лежат на изображении рядом и образуют связные области. Гистограмма по своей структуре не содержит характеристики о пространственном расположении пикселей [3]. Она лишь содержит информацию о частоте встречающихся на изображении пикселей с различными уровнями яркости. Однако, несмотря на этот недостаток, гистограммные методы, включая и глобальную пороговую обработку, встречаются крайне часто, потому что являются очень быстрыми методами и зачастую их результатов вполне достаточно. Если же гистограмма не подвергается четкому разделению и существует много локальных минимумов, то в таком случае сегментация глобальной пороговой обработкой оказывается не слишком успешной. Об этом можно судить по рисункам 2.2 и 2.3.

Рисунок 2.2 — Изображение сварочного шва на листе железа

Рисунок 2.3 — Результат сегментации глобальной обработкой

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

Рисунок 2.4 — Гистограмма изображения сварочного шва рисунка 2. 2

Естественно, такие результаты не могут называться удовлетворительными, поэтому необходимо решить возникшую проблему, выбрав несколько другой подход к решению задачи. Для преодоления влияния сложной формы гистограммы на результат сегментации обратимся к локальной пороговой обработке11) в разделе 3. ИССЛЕДОВАНИЯ будут даны примеры хорошей работы алгоритма глобальной пороговой обработки, в том числе и преимущества инвертирования, а также проведены сравнения между исследуемыми методами на одних и тех же изображениях), но прежде хотелось бы сказать пару слов о методе улучшения работы глобального алгоритма путем инвертирования изображения.

2.2.1 Инвертирование изображения

Часто для улучшения метода пороговой сегментации изображения применяют инвертирование изображения. Зачастую, такая предобработка используется непосредственно в глобальной обработке. Причиной тому является тот факт, что инвертирование изображения не только инвертирует цвета, но и яркость и освещённость, что делает светлее тёмные области и темнее светлые, а это в лучшую сторону влияет на работу алгоритма глобальной пороговой обработки. Инвертирование осуществляется по следующей формуле:

, (2. 5)

где — значение яркости пикселя с координатами, вычисленной по формуле 1. 1, а — новое значение яркости этого пикселя.

Однако инвертирование не всегда улучшает работу алгоритма глобальной пороговой обработки. Если гистограмма изображения представляет собой очень сложную форму, то тогда инвертирование не имеет смысла, ведь от этого общая сложность формы гистограммы не изменится, и алгоритм корректно работать не будет.

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

2.3 Локальная пороговая обработка

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

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

Рисунок 2.5 — Общий вид разбиения изображения на областей

Затем все подобласти анализируются по следующим принципам:

1) если область не содержит границы между классами, то она характеризуется своей дисперсией (то есть яркостью);

2) все области, через которые проходит граница класса H1 (и все пиксели которых содержат класс H1) задаются своей дисперсией;

3) во всех областях из пункта 2) сегментация проводится с порогом, вычисленным по алгоритму из пункта 2.2 данной пояснительной записки [1];

4) все области из пункта 1) обрабатываются как одно составное изображение, сегментация которого осуществлялась тоже по алгоритму из пункта 2.2 [1].

Таким образом, на основании 1) и 2) можно сделать вывод, что решение в выборе принадлежности пикселя к какому-либо из классов зависит от пространственного нахождения этого пикселя.

За начальное приближение во всех случаях принималась полусумма максимального и минимального значения яркости изображения.

Выбор размерности разбиения изображения полностью определяется пользователем. Однако следует заметить, что не любое разбиение приведет к верной сегментации. Единственный подход для определения верного выбора количества областей — практический. Однако общие рекомендации все-таки есть. Во-первых, задавать слишком большие разбиения (например, 50×50) не имеет смысла, иначе алгоритм становится слишком чувствительным к локальным минимумам. Естественно, не имеет смысла и разбиение 1×1. Самыми оптимальными разбиениями являются разбиения от 2×2 до 10×10 в зависимости от размеров самого изображения: чем больше изображение, тем допустимо более сильное разбиение.

Выбор дисперсий и также основывается исключительно из практических соображений. Для полутоновых изображений дисперсии рекомендуется выбирать в пределах [0; 50], а для изображений в цветовом пространстве RGB [25; 100]. Однако бывают и исключения. Именно из-за этих трех параметров алгоритм и называется «ручным» алгоритмом. Для автоматической сегментации экспериментальным путем мною были установлены следующие параметры:

— количество разбиений: 2;

— =75;

— =100.

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

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

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

Рисунок 2.6 — Результат локальной пороговой обработки

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

2.4 Метод дискриминантного критерия

Пусть , — гистограмма некоторого цифрового изображения. — диапазон яркостей. Как уже говорилось выше, одной из проблем выбора порога является тот факт, что в реальных ситуациях практически не существует гистограмм, поддающихся легкому разделению. Другой проблемой является еще то, что границы между односторонними участками на изображении бывают размыты, а вследствие этого уровень гистограммы в граничных точках отличается от среднего уровня. Иногда провалы между пиками классов и практически полностью исчезают [4]. Одним из методов для преодоления этих трудностей является метод дискриминантного критерия.

Пусть у нас есть некоторое изображение с двумя гипотетическими участками. Назовем их для простоты объектом и фоном [4]. Построим распределение этого изображения. Для определения оптимального порога строим дискриминантную функцию, где. Аргумент имеет смысл пробного порога. Оно пробегает все возможные гипотетические значения порога и в результате то значение, которое будет максимизировать функцию, и будет являться оптимальным пороговым значением. Теперь рассмотрим как построить эту дискриминантную функцию.

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

. (2. 6)

А вероятность принадлежности пикселя к классу определяется формулой 2. 7:

. (2. 7)

Нетрудно заметить, что, а, значит, у нас нет точек, не принадлежащих ни, ни.

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

(2. 8)

и

. (2. 9)

Данные выражения нормированы в силу деления на вероятности и.

Таким образом, было получено два распределения вероятностей и можно теперь найти для них моменты. Математическое ожидание — это среднее значение случайной величины. Так как в данном случае случайной величиной является, то выражения для математических ожиданий и будут иметь вид:

, (2. 10)

. (2. 11)

Формулу (2. 11) можно преобразовать следующим образом:

, (2. 12)

где ненормированное математическое ожидание для вычисляется как

, (2. 13)

а математическое ожидание для всего кадра:

. (2. 14)

Тогда, дисперсия для всего кадра определяется выражением:

. (2. 15)

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

. (2. 16)

Тогда, безразмерная дискриминантная функция строится по формуле (2. 17):

. (2. 17)

Оптимальный порог будет является решением экстремальной задачи вида:

. (2. 18)

Знаменатель в соотношении (2. 17) является дисперсией всего кадра, вычисляющейся в соответствии с (2. 15), а, значит, непосредственно от значения порога, который разбивает изображение на и, не зависит. Поэтому, для того, чтобы решить экстремальную задачу (2. 18) достаточно решить задачу вида:

. (2. 19)

Теперь поясним, почему решение экстремальной задачи вида (2. 18) (или же (2. 19), что тоже самое) будет определять оптимальный порог.

Действительно, оптимальный порог в таком случае определяется характером зависимости межклассовой дисперсии (2. 16) от пробного порога [4]. Логично, что если устремить к 0, то вероятность в соответствии с (2. 5) также устремится к 0. А это, в свою очередь, означает, что все изображение будет целиком относиться к классу. Таким образом, математическое ожидание класса будет стремиться к математическому ожиданию всего изображения (). Значит, по формуле (2. 17) межклассовая дисперсия тоже станет равной нулю. Если же пробный порог устремить к предельному его значению 255, то мы получим абсолютно такой же результат. Действительно, ведь тогда, значит, все изображение принадлежит, а это в свою очередь означает, что, значит,.

Все величины, входящие в соотношение (2. 16) являются неотрицательными. В предельных значениях и мы получили 0. Следовательно, на интервале существует максимум. Значение аргумента, определяющего этот максимум, и будет оптимальным пороговым значением.

Алгоритм вычисления порового значения методом дискриминантного критерия можно представить следующим образом:

1) найти для всего изображения математическое ожидание по формуле (2. 14) и дисперсию (2. 15);

2) для всех значений из промежутка вычислить вероятности и в соответствии с формулами (2. 6) и (2. 7) соответственно;

3) вычислить для всех значений математические ожидания и по формулам (2. 10) и (2. 11−2. 12);

4) составить функцию по формуле (2. 17);

5) решить задачу (2. 18) (или же задачу (2. 19)). Ту точку, при которой достигается решение этой задачи принять в качестве оптимального порога.

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

Приведем пример. На рисунке 2.7 приведен пример аэрофотоснимка земной поверхности.

Рисунок 2.7 — Аэрофотоснимок земной поверхности

Гистограмма данного изображения22) здесь приведена лишь внутренняя часть гистограммы для наглядной демонстрации ее сильной изрезанности) схематично представлена на рисунке 2. 8, а его дискриминантная функция на рисунке 2.9.

/

/

Рисунок 2.8 — Схематичная гистограмма изображения 2. 7

/

/

Рисунок 2.9 — Схематичное изображение функции

Как видно из рисунка 2.8 гистограмма изображения сильно изрезана, а значит невозможно найти минимум, разделяющий изображение на классы и. На рисунке 2.9 представлена дискриминантная функция, построенная по алгоритму, описанному выше. Эта функция является гораздо более гладкой, нежели непосредственно гистограмма изображения, а, следовательно, максимум данной функции легко найти, а значит, тем самым сразу определяется и порог х.

На рисунке 2. 10 представлен результат сегментации данного изображения, вычисленный по вышеизложенному алгоритму.

Рисунок 2. 10 — Результат сегментации изображения 3

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

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

2.5 Адаптивная пороговая обработка

В соответствии с (1) если порог зависит от характеристик подобласти, то такая обработка называется адаптивной. Естественно встает вопрос о том, какую же зависимость представляет собой порог от этих характеристик.

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

Итак, адаптивный алгоритм пороговой обработки базируется на идее сопоставления уровней яркости преобразуемого пикселя со значениями локальных средних, вычисленных непосредственно в его окружении, то есть у соседей. Пиксели обрабатываются поочередно. Интенсивность каждого пикселя сравнивается со средними значениями яркости в окнах размерности с центром в точке. Более подробно схема изображена на рисунке 2. 11.

Рисунок 2. 11 — Направление обхода соседних пикселей

Пусть пиксель с центром в данной области имеет координаты. Тогда считается пикселем класса, если у него стоит метка 0, и пикселем, если у него стоит метка 1. То есть становится пикселем тогда, когда для, где выполняется условие (2. 20):

, (2. 20)

где и играет как раз роль порогового значения, а средняя локальная яркость, определяющаяся по формуле (2. 21):

, (2. 21)

где — яркость в точке с координатами.

Параметр теоретически может быть любым, однако, целесообразно его выбирать в пределах от 0 до 10, поэтому в программе была предоставлена возможность выбирать именно в таком диапазоне. Такой диапазон обусловлен, тем, что при сильном увеличении этого параметра, то есть области соседей, практически было замечено, что результат почти не отличается от установки параметра, а время работы алгоритма становится несоизмеримо больше. Более того, при работе с большими изображениями, если параметр задавать слишком большим, требуется очень много виртуальной памяти, и на слабых машинах программа будет «вылетать». Параметр обычно подбирают, однако есть общие рекомендации. Например, при анализе и распознавании документов этот параметр выбирают как среднюю толщину линий рисунков и символов22) имеется ввиду толщина «относительная». В переводе на «пиксели» 1 единица D равна приблизительно 3−5 пикселям.). При сегментации бактерий выбирают среднюю толщину «брюшка» бактерии и так далее. Часто параметр выбирают исходя из непосредственных практических экспериментов.

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

1) пусть — пиксель изображения с координатами. В окне с центром в вычисляются максимальные и минимальные значения яркости:

, (2. 22)

и

. (2. 23)

2) вычисляются максимальное и минимальное приращения яркости относительно центрального пикселя по формулам (2. 24) и (2. 25):

, (2. 24)

. (2. 25)

3) далее сравниваются величины и. Если >, то тогда окно содержит больше локальных низких яркостей. В соответствии с этим выбирается по формуле:

, (2. 26)

где — некоторая константа.

4) если же <, то тогда в окне содержится больше локальных высоких яркостей. И в соответствии с этим порог вычисляется по формуле:

. (2. 27)

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

В большинстве случаев параметры задают, как правило, так:

=1,

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

Рисунок 2. 12 — Искусственное сильно зашумленное изображение

Гистограмма изображения представлена на рисунке 2. 13. Очень сильная изрезанность говорит о сильном влиянии шумов и неоднородности фона на изображении.

Рисунок 2. 13 — Гистограмма изображения

Рисунок 2. 14 — Результат адаптивной обработки (=5,)

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

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

То есть при повышении параметра степень детализации уменьшается, а при уменьшении — увеличивается. Это следует из формул определения пороговой величины (2. 26) и (2. 27). Если задача поставлена в противоположном аспекте, то есть поиске светлых участков на более темных, то ситуация складывается обратная. Продемонстрируем это. Простым схематическим примером может служить изображение 2. 15. На этом рисунке изображен негатив солнца, а на солнце солнечные пятна

Рисунок 2. 15 — Солнце

Рисунок 2. 16 —

Рисунок 2. 17 —

Интерпретируя изображения 2. 16 и 2. 17, можно сказать, что результаты работы на обоих рисунках принципиально разные. Если под задачей подразумевается выделение звезды, как таковой, то результатом может быть рисунок 2. 17 (в многомерном случае — много звезд), а если под задачей подразумевается определение пятен (выбросов) на солнце, то очевидно, что результатом будет рисунок 2. 16. В этом случае степень детализации на рисунке 2. 16, очевидно, больше, чем на рисунке 2. 17. Параметр определялся в соответствии с его смысловой нагрузкой: если в первом случае нас интересовали пятна, то, так как объекты небольшие, а во втором — максимальному значению, так как нас интересует непосредственно солнце, то есть большой объект. На данном примере очень точно еще отображается тот факт, что понятие объекта и фона — относительное. Нельзя говорить, что все время белые области на изображении будут представлять для нас интерес. Как мы видим, в одном случае белые пиксели образуют класс интереса, а в другом — черные. Все зависит от конкретной интерпретации и только.

2.6 Применение пороговой обработки

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

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

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

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

Другое применение в промышленности может быть, например, таким: на изображении 3. 72 можно видеть разрез металлического листа. Очевидно, что после сегментации, полученные координаты разреза можно передать в автоматический сварочный аппарат, который в этих координатах начнет производить «заварку» данного разреза. Тем самым можно обеспечить полностью автоматическую систему по удалению дефектов разрыва на металлических листах. Под дефектами, естественно, понимаются небольшие разрывы и разрезы, которые можно залатать не накладывая «заплатку», а простой сваркой. Такую работу в большинстве случаев выполняет человек, однако, с внедрением автоматических систем, этот процесс можно вполне доверить машинам.

Системы, основанные на биометрических данных человека, например, сканирование отпечатков пальцев также активно применяются на сегодняшний день в системах защиты доступа на ноутбуках, персональных компьютерах и даже смартфонах. На изображении 3. 67 представлен отпечаток пальца человека. Результатом сегментации является бинарное изображение, дающее полное представление о характеристике отпечатка. Таким образом, используя это изображение и сравнивая его с определенной базой данных можно устанавливать личность человека, отпечаток которого обрабатывался. Применение самое разнообразное: от поиска людей по базе данных до разблокировки системы безопасности [1, с. 857−858]. На рисунках 3. 68−3. 71 показаны результаты сегментации. Самый точный результат, насколько это можно судить по изображению, дает адаптивная обработка. Все геометрические линии четкие, без потерь, лишних линий не появляется.

Применение может быть и совершенно в другой области, такой как распознавание нефтяных пятен [9]. Например, на рисунке 3. 62 представлен след от крушения огромного нефтяного танкера, несущего на своем борту десятки тысяч тонн нефти. Наибольшую ценность сегментации таких радиолокационных изображений представляют, очевидно, координаты этого нефтяного следа. На сегодняшний день задачу очистки морей от нефтяных пятен в основном выполняют с помощью непосредственного участия человека. Однако уже сегодня ведутся активные разработки машин, способных самостоятельно производить очистку [10]. Такие роботы в необходимом количестве выпускаются на поверхность воды, где они способны очистить нефтяные пятна от самых вредных соединений, наиболее сильно разрушающих экологию. Работать роботы, вполне вероятно, будут на координатах GPS-навигации. Тогда, применение сегментации путем пороговой обработки может быть следующим: анализируется исходное радиолокационное изображение нефтяного пятна, запускается программа по вычислению пороговой величины, проводится пороговая классификация, затем проводится некоторая обработка изображения, например по геометрическим характеристикам, чтобы исключить лишние детали на изображении, формируется массив «перспективных» точек, координаты которых известны (в пикселях изображения). Так как изображение со спутника, то координаты сфотографированной поверхности известны в градусах и минутах, отсюда не составляет никакого труда получить информацию о том, сколько один пиксель занимает градусов и минут. Далее, путем обратного восстановления можно получить GPS-координаты этого массива точек, характеризующего пятно. Эти координаты можно уже далее передать в GPS-навигаторы роботов, которые по заданным координатам выполнят очистку. Такие технологии сейчас разрабатываются, и, возможно, в скором времени будут применяться на практике.

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

Самым простым и чисто схематическим примером могут послужить рисунки 2. 15−2. 17. Предположим, что точно известно, что не существует никаких самостоятельных разрезов, помимо искомого, любая точка которого отстоит от любой точки искомого разреза ближе, чем на расстояние, равное 50 пикселям (размерность в пикселях условна, ее можно перевести, например, в миллиметры). Кроме того, предположим, что известна еще информация о том, что «не разрезов» не может быть больше 10% от изображения. Все, что больше 10% является «нужным» разрезом. То есть существует какой-либо небольшой «отстоящий» от крупного разреза объект, которого быть не должно по каким-то причинам.

Рисунок 2. 15 — Результат обработки (допустим, появился лишний объект)

Рисунок 2. 16 — Желтым кругом отмечен возможный разрез, зеленым — невозможный

Рисунок 2. 17 — Результат выделения невозможного объекта (красным)

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

На рисунке 3. 57, представляющим другое применение пороговой обработки, изображен аэрографический снимок земной поверхности. В данном случае пороговая обработка используется как предобработка изображений, поэтому в данном случае нам важно именно получившееся изображение. Путем других обработок, основанных уже на геометрических параметрах (например, площадь), можно уже выделять различного рода объекты: заводы, фермы и так далее. Все зависит от критерия, по которому мы хотим, чтобы автоматическая система выделила объект, а бинарного изображения, как правило, для таких задач вполне хватает [11].

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

Мною были проверены данные утверждения, результат можно посмотреть на изображении 2. 16.

Рисунок 2. 15 — Исходное изображение лица человека

Рисунок 2. 16 — Результат обработки

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

ПоказатьСвернуть
Заполнить форму текущей работой