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

Лабораторная работа № 1

Алгоритмы обработки изображений

Операция свертки

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

где M2xN2 - размер матрицы ядра свертки. Размер матрицы F равен (M1+M2-1)x(N1+N2-1), где M1xN1 - размер исходной матрицы F " . Матрица F получается из исходной путем добавления элементов на краях матрицы по некоторому правилу с тем, чтобы привести ее к необходимому размеру. Обычно исходная матрица на краях дополняется нулями на половину ширины матрицы H влево и вправо и соответственно на половину высоты вверх и настолько же вниз. Тогда размер полученной матрицы R будет таким же, как и у матрицы F " .

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

Рис. 1. Реализация операции свертки.

Задание

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

    Размер и вид матрицы-маски задаются пользователем.

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

    • для сглаживания и подавления шумов в изображении используют матрицу-маску размером 3х3 следующего вида:

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

1/9*

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

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

5. Реализовать алгоритм тиснения. Тиснение делается аналогично алгоритмам усреднения или подчеркивания контуров. Каждый пиксел в изображении обрабатывается ядром (матрицей-маской) тиснения размером 3х3. Например, в качестве ядра тиснения можно взять следующую матрицу-маску:

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

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

6. Акварелизация изображения. Акварельный фильтр преобразует изображение, и после обработки оно выглядит так, как будто написано акварелью:

    первый шаг в применении акварельного фильтра - сглаживание цветов в изображении. Одним из способов сглаживания является применение медианнного усреднения цвета в каждой точке. Значение цвета каждого пиксела и его 24 соседей (размер матрицы-маски равен 5х5) выстраиваются в вариационный ряд по убыванию или возрастанию. Медианное (тринадцатое) значение цвета в вариационном ряде присваивается центральному пикселу.

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

Представление изображений

Существуют два основных вида представлений изображений – векторное и растровое.

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

Растровое изображение представляет собой одну или несколько матриц, описывающих пространственное распределение характеристик изображения на некоторой декартовой координатной сетке. В этом случае изображение строится из множества точек и имеет структуру растра. Основным элементом растрового представления изображения является пиксел (сокращение от словосочетания «picture elements» - элементы изображения), имеющий координаты в растровой системе координат и некоторые атрибуты (цвет, яркость, прозрачность и т.п.). Число пикселей по координатам X и Y (по горизонтали и вертикали) задает разрешение (размерность) представления изображения. Цвет пиксела задается глубиной – количеством битов, необходимым для задания любого цвета.

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

Бинарные

Полутоновые

Палитровые

Полноцветные

В бинарном представлении цвет пиксела может быть либо белым, либо черным и кодируется одним битом. Изображение представляет собой матрицу. Каждый элемент I (i , j ) этой матрицы имеет значение либо 0 либо 1, где i - номер строки, а - номерj столбца элемента, соответствующего заданному пикселю (рис. 1).

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

– задает его яркостьI (i , j ) (рис. 2).

Палитровые изображения описываются двумя матрицами (рис. 3). Одна хранит значения индексов, которые задают обращение к строке матрицы палитр. Матрица палитр это цветовая карта. Она содержит 3 группы столбцов – соответствующих красному «R», зеленому «G» и синему «B» цветам. Они и задают цвет соответствующего пиксела.

Палитра это матрица размерностью Nc 3 , где Nc - количество цветов.

Алгоритмы предварительной обработки изображений

Полноцветные изображения – строятся в формате RGB и представляют собой три матрицы R (i , j ), G (i , j ), B (i , j ) . Соответствующие элементы каждой матрицы содержат значения интенсивностей красного, зеленого и синего цветов для пиксела задаваемого индексами матриц. Таким образом полноцветное изображение не имеет цветовой карты и цвет каждого пиксела представляется тремя числами, взятыми из соответствующих матриц (рис. 4).

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

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

Для полноцветных изображений одним из параметров является максимальное количество цветов, которое может быть представлено в этом формате. Наиболее часто используются изображения, имеющие 16, 256, 65536 (High Color) и 10.7 миллиона (True Color) цветов.

Алгоритмы предварительной обработки изображений

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

Алгоритмы предварительной обработки изображений

Матрица индексов

31 15 03 09

Матрица палитры

Алгоритмы предварительной обработки изображений

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

В системе HSB цвет представляется следующими цветовыми характеристиками: Hue – цветовой тон;

Saturation – насыщенность; Brightness – яркость.

Считается, что эта цветовая система соответствует особенностям человеческого восприятия цвета.

В системе LAB цвет рассматривается как совокупность яркости (lightness) и двух независимых значений цветности, которые и определяют истинный цвет пиксела. Цветность A – цветовая составляющая выбирается в диапазоне от пурпурного до зеленого. Цветность B - вторая цветовая составляющая выбирается из диапазона от желтого до голубого.

Существуют и другие системы представления цвета. Естественно, что все они связаны и по одному представлению может быть получено другое. Многообразие цветовых систем обусловлено, решаемыми с их помощью задачами. Например цветокоррекцию удобнее выполнят в системе LAB, воспроизводить изображение на экране монитора в системе RGB, печатать лучше,

Алгоритмы предварительной обработки изображений

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

Классификация алгоритмов предварительной обработки

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

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

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

Алгоритмы выполняющие геометрические операции с изображение называются алгоритмами геометрической обработки . К ним относятся:

Алгоритмы предварительной обработки изображений

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

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

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

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

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

Алгоритмы предварительной обработки изображений

Алгоритмы пространственной фильтрации

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

If (i, j)

Im(i m , j n )h (m , n ), где:

m N11 n N21

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

N 11 , N 21 нижняя и верхняя границы столбцов импульсной характеристики, N 12 , N 22 левая и правая границы рядов импульсной характеристики.

Матрица импульсной характеристики может быть получена при расчете пространственного фильтра исходя из заданных параметров. Методам расчета пространственных фильтров посвящено большое количество литературы посвященной цифровой фильтрации, например . Для практических расчетов можно использовать стандартные математические пакеты, например в состав системы “MATLAB” входит система расчета фильтров “Image Filter Design”.

Отметим, что фильтрацию можно проводить и в частотной области. В этом

Алгоритмы предварительной обработки изображений

случае порядок фильтрации следующий:

Перевести изображение из пространственной области в частотную, используя двумерное дискретное преобразование Фурье

Осуществить поэлементное умножение частотной матрицы изображения на частотную матрицу фильтра

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

Im(x , y )

Im(f x , f y )

If (f x , f y ) Im(f x , f y ) H (f x , f y )

If (fx , f y )

If (x, y).

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

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

Конечной целью обработки изобра­жения в СТЗ является подготовка объектов сцены к распознаванию, т. с. от­несению их изображений к некоторым заранее заданным классам. Несмотря на многообразие представленных процедур преобразования информации, в СТЗ обычно выделяют три основных этапа обработки:

1) предварительная обработка изображения;

2) сегментация;

3) описание.

Предварительная обработка, в свою очередь, имеет две базовые стадии: формирование изображения и его кодирование (сжатие). Последователь­ность этапов не является жесткой и зависит от конкретной задачи.

Предварительная обработка изображения

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

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

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

В СТЗ на этапе формирования изображения выбирают порог яркости пу­тем регулирования освещения и проводят фильтрацию изображения.

Фильтрация изображения является наиболее длительной и сложной ста­дией предварительной обработки. В общем случае фильтрация решает следующие основные задачи:

· сглаживание (подавление высокочастотной помехи типа «снег»);

· повышение контрастности;

· выделение контура.

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

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

Сегментация



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

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

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

Кодирование изображения

Для систем, обрабатывающих полутоновые изо­бражения пространственными методами, различают два основных метода кодирования:

· кодирование собственно изображения методом кодов длин серий;

· кодирование контура изображения цепным кодом Фримана.

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

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

Для кодирования непосредственно контура изображения чаще всего применяют цепной код Фримана (рис. 6.22, б). В этом случае контур объек­та начиная с некоторой точки задается последовательностью векторов, принимающих дискретные значения, с углом наклона модуля, кратным 45. Значение модуля равно 2, если угол наклона вектора составляет 45 , и 1 при вертикальном или горизонтальном его положении. Изменение направления вектора при переходе от одной точки кривой к другой отражает ха­рактер изменения моделируемой кривой.



Описание изображения

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

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

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

Распознавание изображения

Распознаванием называется процесс, при котором на основании набора признаков некоторого изображения объекта определяется его принадлеж­ность к определенному классу.

Распознавание реализует функцию анализа визуального образа .

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

Определить реальное значение признаков объекта невоз­можно, так как значения различаются при каждом измерении. Поэтому за­дача распознавания ставится так: определить вероятность того, что объект принадлежит к заданному классу.

Одно из наиболее интересных направлений распознавания образов в СТЗ связано с разработкой алгоритмов распознавания лиц. Алгоритм распознавания (верификации) близок к алгоритму регистра­ции. Выделенные из текущего изображения признаки объединяются в век­тор признаков, компоненты которого сравниваются с соответствующими компонентами всех векторов, содержащихся в базе данных.

1

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

обработка изображения

нечеткая логика

интеллектуальная система

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

1. Веснин Е.Н., Вето А.В., Царев В.А. К вопросу о разработке и применении адаптивных оптоэлектронных систем технического зрения// Автоматизация в промышленности, 2009.- № 11.- С. 48-52.

2. Гришин В.А. Системы технического зрения в решении задач управления беспилотными летательными аппаратами // Датчики и системы, №2, 2009.- C. 46-52.

3. Клевалин В.А., Поливанов А.Ю. Цифровые методы распознавания в системах технического зрения промышленных роботов// Мехатроника, автоматизация, управление, 2008, № 5.- С. 56-56.

4. Михайлов С.В., Романов В.В., Заикин Д.А. Система технического зрения для диагностики процесса резания материалов// Вестник компьютерных и информационных технологий, 2007, № 3.- С. 12-19.

5. Семин М.С. Обзор решения прикладных задач с помощью систем технического зрения// http://www.videoscan.ru/page/718#13.

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

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

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

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

Рис. 1. Алгоритм предварительной нечеткой обработки изображения

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

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

где - новое значение цвета, - интенсивность красной составляющей цвета, - интенсивность зеленой составляющей цвета, а - интенсивность синей составляющей цвета. Выход каждого алгоритма оттенки серого между 0 и 1. Для преобразования изображений в использующие только оттеки серого существует некоторые методов. В методе определения светлоты используется среднее значение между двумя наиболее и наименее значимыми цветами: . В методе среднего используется среднее значение всех трёх цветов: . В методе определения яркости используется взвешенное среднее значение всех трех цветов, учитывающее человеческое восприятие. Так, поскольку человеческий глаз наиболее восприимчив к зеленому цвету, его вес считается наиболее важным: . Метод определения яркости используется программное обеспечение для обработки изображений. Он реализован функцию « rgb2gray» в среде MATLAB и это часто используется для компьютерного зрения . В процессе предварительной нечеткой обработки имеет процесс преобразования изображений из цветного (RGB) в оттенки серого с помощью метода определения яркости. Далее изображение преобразуется из оттенки серого в черно-белый (рис. 2).

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

Бинаризация изображения при предварительной обработке

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

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

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

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

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

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

Рис. 3. Преобразование пикселя изображения

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

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

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

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

(1)

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

Выход системы для входной системы задается следующую формулу:

(2)

Рис. 4. Алгоритм нечеткой обработки изображений для выделения границ

Применение нейронных сетей для распознавания образов

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

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

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

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

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

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

Шаг 2. Вычисление текущего выходного сигнала. На вход сети подается один из образов обучающей выборки, и определяются значения выходов всех нейронов нейросети.

Шаг 3. Настройка синоптических весов. Рассчитать изменение весов для выходного слоя нейронной сети по формулам:

где , . Рассчитать изменение весов для скрытого слоя по формулам:, где

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

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

Количество входов и выходов сети, как правило, диктуется условиями задачи, а размер скрытого слоя находят экспериментально. Обычно число нейронов в нем составляет 30-50% от числа входов. Слишком большое количество нейронов скрытого слоя приводит к тому, что сеть теряет способность к обобщению (она просто досконально запоминает элементы обучающей выборки и не реагирует на схожие образцы, что неприемлемо для задач распознавания). Если число нейронов в скрытом слое слишком мало, сеть оказывается просто не в состоянии обучиться.

Заключение

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

Рецензенты:

Гагарина Л.Г., д.т.н., профессор, заведующий кафедрой «Информатика и программное обеспечение вычислительных систем» Национального исследовательского университета «МИЭТ», г. Москва.

Портнов Е.М., д.т.н., профессор кафедры «Информатика и программное обеспечение вычислительных систем», начальник научно-исследовательской лаборатории «Управляющие информационные системы» Национального исследовательского университета «МИЭТ», г. Москва.

Библиографическая ссылка

Аунг Ч.Х., Тант З.П., Федоров А.Р., Федоров П.А. РАЗРАБОТКА АЛГОРИТМОВ ОБРАБОТКИ ИЗОБРАЖЕНИЙ ИНТЕЛЛЕКТУАЛЬНЫМИ МОБИЛЬНЫМИ РОБОТАМИ НА ОСНОВЕ НЕЧЕТКОЙ ЛОГИКИ И НЕЙРОННЫХ СЕТЕЙ // Современные проблемы науки и образования. – 2014. – № 6.;
URL: http://science-education.ru/ru/article/view?id=15579 (дата обращения: 01.02.2020). Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»