Электронная библиотека » Андрей Молчанов » » онлайн чтение - страница 5


  • Текст добавлен: 2 мая 2024, 16:00


Автор книги: Андрей Молчанов


Жанр: Прочая образовательная литература, Наука и Образование


Возрастные ограничения: +16

сообщить о неприемлемом содержимом

Текущая страница: 5 (всего у книги 19 страниц) [доступный отрывок для чтения: 6 страниц]

Шрифт:
- 100% +
2.6. Топология искусственных нейронных сетей

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

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

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

– слои, которые выполняют функцию свертки над двумерными массивами данных (сверточные слои),

– слои, выполняющие функцию уменьшения формата данных (слой субдискретизации),

– полносвязные слои, завершающие процесс обработки данных.

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


Рисунок 2.6 – Структура классической сети VGG16


Сеть VGG-16 имеет 16 слоев и способна работать с изображениями достаточно большого формата 224×224 пикселя. В своей стандартной топологии эта сеть способна работать с датасетом изображений ImageNet, содержащим более 15 млн изображений, разбитых на 22000 категорий.

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

2.7. Обучение искусственных нейронных сетей

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

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

Формирование датасета является наиболее трудоемкой частью процесса разработки, поэтому в первую очередь нужно проверить возможное наличие похожего датасета на доступных ресурсах. На этом ресурсе имеется более 50000 свободно распространяемых датасетов и более 400000 примеров реализаций нейронных сетей. В ряде случаев имеющиеся датасеты можно объединять, модифицировать и дополнять.

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

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

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

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


Рисунок 2.7 – Схема обучения нейронной сети


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

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

Пусть решением некоторой задачи является функция Y=F(X), заданная параметрами входных-выходных данных (X1, Y1), (X2, Y2), …, (XN, YN), для которых Yk=F(Xk), где k=1, 2, …, N.

Обучение состоит в поиске (синтезе) функции G, близкой к F в смысле некоторой функции ошибки E.

Если выбрано множество обучающих примеров – пар (XN, YN), где k=1, 2, …, N) и способ вычисления функции ошибки E, то обучение нейронной сети превращается в задачу многомерной оптимизации, имеющую очень большую размерность, при этом, поскольку функция E может иметь произвольный вид, обучение в общем случае – многоэкстремальная невыпуклая задача оптимизации.

Для решения этой задачи могут использоваться следующие (итерационные) алгоритмы:

1. Алгоритмы локальной оптимизации с вычислением частных производных первого порядка:

градиентный алгоритм (метод наискорейшего спуска),

методы с одномерной и двумерной оптимизацией целевой функции в направлении антиградиента,

метод сопряженных градиентов,

методы, учитывающие направление антиградиента на нескольких шагах алгоритма.

2. Алгоритмы локальной оптимизации с вычислением частных производных первого и второго порядка:

метод Ньютона,

методы оптимизации с разреженными матрицами Гессе,

квазиньютоновские методы,

метод Гаусса – Ньютона,

метод Левенберга – Марквардта и др.

3. Стохастические алгоритмы оптимизации:

поиск в случайном направлении,

имитация отжига,

метод Монте-Карло (численный метод статистических испытаний).

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

2.8. Алгоритм обучения однослойного нейрона

Обучение нейронной сети в задачах классификации происходит на наборе обучающих примеров X(1), X(2), …, X(Р), в которых ответ – принадлежность к классу А или B – известен. Определим индикатор D следующим образом: положим D(X)=1, если X из класса А, и положим D(X)=0, если X из класса B, то есть



где всякий вектор X состоит из n компонент: X=(x1, x2 …., xn).

Задача обучения персептрона состоит в нахождении таких параметров w1, w2, …, wn и h, что на каждом обучающем примере персептрон выдавал бы правильный ответ, то есть



Если персептрон обучен на большом числе корректно подобранных примеров и равенство (2.2) выполнено для почти всех X(i),i=1,Р, то в дальнейшем персептрон будет с близкой к единице вероятностью проводить правильную классификацию для остальных примеров. Этот интуитивно очевидный факт был впервые математически доказан (при некоторых предположениях) в основополагающей работе наших соотечественников В. Вапника и А. Червоненскиса еще в 1960-х годах.

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

Рассмотрим подробнее алгоритм обучения персептрона.

Шаг 1. Инициализация синаптических весов и смещения.

Значения всех синаптических весов модели полагают равными нулю: wi=0, i=1,n; смещение нейрона h устанавливают равны некоторому малому случайному числу. Ниже, из соображений удобства изложения и проведения операций будем пользоваться обозначением w0= —h.

Обозначим через wi(t), i=1,n вес связи от i-го элемента входного сигнала к нейрону в момент времени t.

Шаг 2. Предъявление сети нового входного и желаемого выходного сигналов.

Входной сигнал X=(x1, x2 …., xn) предъявляется нейрону вместе с желаемым выходным сигналом D.

Шаг 3. Адаптация (настройка) значений синаптических весов. Вычисление выходного сигнала нейрона.

Перенастройка (адаптация) синаптических весов проводится по следующей формуле:



где D(t) – индикатор, определенный равенством (2.1), а r – параметр обучения, принимающий значения меньшие 1.

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

Введем риск



где суммирование идет по числу опытов (t – номер опыта), при этом задано максимальное число опытов – Т.

Подставим вместо F формулу для персептрона, вычислим градиент по w. В результате мы получим указанную выше формулу перенастройки весов.

В процессе обучения вычисляется ошибка δ(t)=D(t) – y(t).


Рисунок 2.8 – График изменения ошибки в процессе обучения нейросети


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

2.9. Дешифрирование объектов с помощью технологий искусственного интеллекта

При автоматизированном (автоматическом) дешифрировании изображений решаются задачи, которые по классификации Гонсалеса и Вудса делятся на задачи высокого и низкого уровня. К задачам высокого уровня относятся:

обнаружение неподвижных и подвижных объектов;

сопровождение подвижных объектов;

распознавание объектов;

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

К задачам низкого уровня относятся:

фильтрация шумов;

улучшение изображений;

комплексирование изображений;

детектирование границ перепада яркостей на изображении.

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

неподвижная БАС – постоянный фон;

движущаяся БАС – изменяющийся фон.

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

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

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

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

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


Таблица 2.2 – Типы и области применения нейронных сетей


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

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

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

– входное изображение интерпретируется как двумерный массив пикселей;

– входное изображение предварительно обрабатывается с целью нормализации – значения всех пикселей масштабируются для попадания в диапазон [0, 1];

– в процессе свертки используется набор значений, который называется ядром (фильтром) (как правило, используется ядро в виде области 3×3 пикселей). Задаются значения всех элементов сверточного ядра и выполняется «сканирование» исходного изображения данным ядром. Сверточный слой применяется к каждому пикселю входного изображения: пиксель и сверточное ядро центрируются, каждый пиксель изображения умножается на соответствующий пиксель ядра и все значения произведений суммируются. Значение суммы запоминается в качестве результирующего значения пикселя выходного изображения;

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

Операция субдискретизации (подвыборки, pooling, max pooling) – это операция уменьшения пространственных размеров изображения путем обработки значений блоков пикселей. Типичная операция субдискретизации выполняется следующим образом:

1. Определяется размер выборки (размер прямоугольной сетки) и величина шага по изображению. Пример: размер выборки 3×3 и шаг 3 пикселя.

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

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

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

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

2.10. Цифровая обработка изображений при дешифрировании аэроснимков

Множество подходов к улучшению цифрового изображения распадается на две большие категории:

методы обработки в пространственной области;

методы обработки в частотной области.

Термин пространственная область относится к плоскости изображения как таковой (манипуляции непосредственно с пикселями изображения).

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

В результате анализа многообразия инструментов цифровой обработки изображений, можно выделить три основные категории:

– пространственно-частотные преобразования – изменение спектрального состава изображения, удаление и/или усиление компонент определенного диапазона пространственных частот;

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

– геометрические преобразования – поворот изображения, сдвиги изображения, изменение размеров изображения, вырезание фрагмента и т. п.

Рассмотрим некоторые цифровые преобразования изображений, применяемые при автоматизированном дешифрировании объектов.

Линейное контрастирование изображения. Задача контрастирования связана с улучшением согласования динамического диапазона изображения и устройства визуализации изображений. Оптимальный динамический диапазон с точки зрения объема памяти и визуального восприятия составляет 0–255, при этом значение 0 соответствует при визуализации уровню черного, а значение 255 – уровню белого. Если минимальная xmin и максимальная xmax яркости исходного изображения существенно отличаются от граничных значений яркостного диапазона устройства визуализации, то воспроизводимая картина выглядит как ненасыщенная, неудобная, утомляющая при наблюдении.

При линейном контрастировании используется линейное поэлементное преобразование вида:

y=ax+b, (2.5)

где y – значение яркости изображения, получаемого после обработки; x – значение яркости исходного изображения.

Значения параметров а и b определяются желаемыми значениями минимальной ymin и максимальной ymin выходной яркости, соответствующих динамическому диапазону устройства визуализации изображений. На рисунке 2.9 представлен пример преобразования исходного изображения, имеющего динамический диапазон 180–240, в изображение с диапазоном яркостей 0–255 путем линейного контрастирования.


Рисунок 2.9 – Пример линейного контрастирования


Соляризация изображения. При данном виде обработки преобразование имеет вид:

y=kx(xmax – x), (2.6)

где xmax– максимальное значение исходного сигнала; k – константа, позволяющая управлять динамическим диапазоном преобразованного изображения.

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

Соляризация приводит к повышению четкости деталей изображения и повышению контраста на переходах.

Препарирование изображения. Препарирование представляет собой целый класс поэлементных преобразований изображений. Характеристики применяемых на практике процедур препарирования приведены на рисунке 2.10.


Рисунок 2.10 – Примеры преобразований, используемых при препарировании


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

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

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

Иногда наглядность изображения повышается применением преобразования типа пилообразного контрастирования (рисунок 2.9к). При этом различные яркостные диапазоны одновременно подвергаются локальному яркостному контрастированию. Однако необходимо иметь в виду, что данное преобразование, как и некоторые другие, может сопровождаться появлением ложных контуров на получаемом препарате.

Преобразование гистограмм, эквализация. Гистограммой цифрового изображения с уровнями яркости в диапазоне [0, В–1] называется дискретная функция h(rk) = nk, где rk есть k-й уровень яркости, а nk – число пикселей на изображении, имеющих яркость rk.

Для цифрового изображения, шкала яркостей которого принадлежит целочисленному диапазону 0–255, гистограмма представляет собой таблицу из 256 чисел. Каждое из них показывает количество точек в кадре, имеющих данную яркость. Разделив все числа этой таблицы на общий размер выборки, равный общему числу пикселей в изображении, получают оценку вероятности появления пикселя со значением яркости rk. Изображение, у которого плотность распределения вероятности значений элементов близко к равномерному и занимает весь диапазон возможных значений яркостей, будет выглядеть высококонтрастным и содержать большое количество полутонов. Поэтому основным методом гистограммной обработки является преобразование, при котором выходное изображение приводится к равномерному распределению. Такое преобразование называется эквализацией (выравниванием) гистограмм.

На рисунке 2.11 представлен пример эквализации гистограмм.

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

Большинство методов первичной обработки основаны на использовании линейных пространственно-инвариантных (ЛПИ) фильтров. Линейные алгоритмы выполняются с помощью двумерных аналогов одномерных фильтров с конечной импульсной характеристикой (КИХ-2) и фильтров с бесконечной импульсной характеристикой (БИХ-3). Их можно применять, например, при реализации фильтров для снижения уровня шума на изображениях.

КИХ-фильтры реализуются методом свертки. Основные операции при использовании фильтров-свертки выполняются в скользящем окне, которое перемещается по изображению. Для обработки изображений с учетом вычислительной сложности алгоритмов свертки в большинстве случаев достаточны фильтры с импульсной характеристикой (ФРТ) размером 3×3 или 5×5.


Рисунок 2.11 – Примеры эквализации гистограмм


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


Рисунок 2.12 – Скользящее окно фильтра размером 3×3: а – при расчете выходного значения первого пикселя; б – при расчете выходного значения соседнего пикселя в том же ряду; в – при переходе к следующей строке


На рисунке 2.12 показаны три положения окна размером 3×3: пиксель, для которого ведутся расчеты, совпадает с закрашенным центральным пикселем в скользящем окне фильтра.

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


Таблица 2.3 – Типы локальных фильтров


Свертка позволяет реализовать разнообразные фильтры, причем для высокочастотных достаточно использовать ФРТ небольших размеров. Высокочастотный фильтр подчеркивания границ на базе окна размером 3×3 имеет ФРТ вида:



ФРТ размером 5×5 реализует фильтр повышения контрастности изображения:



На рисунке 2.13 приведен пример использования свертки с ФРТ (2.8) для повышения контрастности фрагмента аэроснмика поверхности Земли.


Рисунок 2.13 – Повышение контрастности аэроснимка с помощью свертки: а – исходное изображение; б – свертка выполнена один раз; в – дважды


Преимуществом двумерных КИХ-фильтров является наглядность, простота и абсолютная устойчивость.

БИХ-фильтры реализуются с помощью разностных уравнений и z-преобразований. Они более скоростные по сравнению с КИХ-фильтрами, но могут оказаться неустойчивыми. Синтез двумерных БИХ-фильтров отличается от синтеза одномерных, так как для двумерной функции в явном виде не удается выделить полюса.

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

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


Страницы книги >> Предыдущая | 1 2 3 4 5 6 | Следующая
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации