Применение нейронной сети хемминга и нечеткой логики к обнаружению краев объектов на изображениях в оттенках серого



Скачать 381.08 Kb.

Дата17.02.2017
Размер381.08 Kb.
Просмотров142
Скачиваний0

International Book Series "Information Science and Computing"
87
ПРИМЕНЕНИЕ НЕЙРОННОЙ СЕТИ ХЕММИНГА И НЕЧЕТКОЙ ЛОГИКИ
К ОБНАРУЖЕНИЮ КРАЕВ ОБЪЕКТОВ
НА ИЗОБРАЖЕНИЯХ В ОТТЕНКАХ СЕРОГО
Николай Мурга
Аннотация: В данной работе исследуется применение нейронной сети Хемминга для обнаружения
краёв объектов на изображении. Изображение в оттенках серого, поступающее на вход предлагаемой
системы, подвергается преобразованию с применением нечёткой логики в двуцветное. После этого
из изображения последовательно выделяются блоки пикселей заданной размерности и подаются на
входы предварительно инициализированной сети Хемминга. Нейронная сеть выполняет
идентификацию краёв в блоке, и в новом изображении вставляет на место блока шаблон, который
отвечает коду, полученному на выходе сети. Работу завершает практическое применение метода.
Ключевые слова: Детектирование краёв объектов изображения, Метод разностного группирования,
Нейронная сеть Хемминга, Нечёткая логика.
ACM Classification Keywords: I.4.3. Enhancement – Grayscale manipulation, I.4.6. Segmentation – Edge and
feature detection, I.4.6. Segmentation – Pixel classification.
Conference: The paper is selected from XV
th
International Conference "Knowledge-Dialogue-Solution" KDS 2009,
Varna, Bulgaria, June-July 2009
Введение
В процессе медицинской диагностики часто возникает необходимость сегментации изображений.
Медицинские изображения, а в частности рентген-изображения, характеризуются сильной зашумленностью. Для преодоления этого негативного фактора вышеуказанные методы должны обладать низкой чувствительностью к шумам. Одним из подходов к разрешению данной проблемы является применение нейронных сетей. В данной работе предлагается метод, который использует нечёткую логику и нейронную сеть Хемминга для обнаружения краёв объектов на рентген-изображениях. Изображение, попадающее на вход предлагаемой системы, подвергается преобразованию в двуцветное, путём применения нечёткой логики. Прежде всего, пиксели изображения подвергаются кластеризации методом разностного группирования по признаку цвета. Выделяются центры кластеров и из них выбираются наибольший и наименьший (однако при модификациях метода возможно использование и большего числа центров). Функции принадлежности для кластеров выбираются гауссовского вида. Определяются среднеквадратические отклонения. Так строится нечёткое правило, позволяющее принять решение о том, к какой конкретно цвет имеет данный пиксель. Решение принимается на основе максимального значения принадлежности кластеру среди кластеров. После этого применяется нейронная сеть Хемминга, принцип функционирования которой описан в первом разделе статьи. По изображению перемещается окно. В данной работе для практических примеров окно выбрано размером
4 4
×
. Данные окна пикселей преобразовываются таким образом, чтобы их можно было подать на входы сети Хемминга. Сеть
Хемминга выдаёт номер образца, который наиболее похож на поданный на входы. На основе полученного номера из базы шаблонов выбирается соответствующий шаблон и записывается на место в новом, перед этим созданном, изображении, которое (место в новом изображении) соответствует месту в изображении поданного на вход сети примера. После «прохода» всех окон получается новое изображения

9 – Intelligent Processing
88 с детектированными краями, но не цельными. Работу завершает применение метода на сегментах рентген изображений с сильными шумами.
Постановка задачи
На входе имеется изображение в оттенках серого.
Необходимо:
1.Преобразовать данное изображение в изображение, которое будет иметь два отличающихся цвета.
2.На основе полученного в пункте 1 изображения, применяя сеть Хемминга, произвести идентификацию краёв объектов на изображении.
Нейронная сеть Хемминга
Описание структуры и алгоритма функционирования данной нейронной сети предлагается в работах [1],
[2], [3], [4]. В текущем разделе даётся описание структуры и функционирования сети Хэмминга, объединяющее информацию из вышеуказанных трудов.
Сеть состоит из двух слоёв. Первый и второй слои имеют по
m
нейронов, где
m
- это число примеров.
Нейроны первого слоя имеют по
n
синапсов, соединённых с входами сети (которые образуют фиктивный нулевой слой). Нейроны второго слоя связаны между собой ингибиторными (взаимно обратными) синаптическими связями. Единственный синапс с позитивной обратной связью для каждого нейрона соединён с его же аксоном.
Идея работы сети состоит в поиске расстояния Хемминга от примера, который тестируется, ко всем примерам.

Рис. 1 Структурная схема сети Хемминга
Расстоянием Хемминга называется число отличных битов в двух бинарных векторах. Сеть должна выбрать образец с минимальным расстоянием Хемминга от неизвестного входного сигнала, в результате чего будет активирован только один выход сети, который отвечает этому образцу.
На стадии инициализации весовых коэффициентов первого слоя и порога активационной функции им будут присвоены следующие значения:
1 0
,
1 0
,
2

=

=
=
m
k
n
i
x
k
i
ik
ω
, (1)
1 2 k m
1 2 k m

Обратная связь
Вход
1-й слой
2-й слой
Выход

International Book Series "Information Science and Computing"
89
T
1 0
,
2

=
=
m
k
n
T
k
, (2)
где
k
i
x

i
-й элемент -го примера.
Весовые коэффициенты тормозящих синапсов во втором слое принимаются равными величине,
ε

где
⎥⎦

⎢⎣


m
1
,
0
ε
. Синапс нейрона, связанный с его же аксоном, имеет вес +1.
Алгоритм функционирования сети Хемминга следующий.
Шаг 1. На входы сети подаётся неизвестный вектор, исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс в скобках над переменной обозначает номер слоя)
( )
( )
( )
1 0
,
1 0
1 1

=






+
=
=


=
m
j
T
x
f
s
f
y
n
i
j
i
ij
j
j
ω
. (3)
После этого, полученными значениями инициализируются значения аксонов второго слоя.
( )
( )
1 0
,
1 2

=
=
m
j
y
y
j
j
. (4)
Шаг 2. Вычислить новые значения входов нейронов второго слоя
( )
(
)
( )
( )
( )
( )


=

=


=
+
1 0
2 2
2 1
0
,
,
1
m
k
k
j
j
m
j
j
k
p
y
p
y
p
s
ε
(5)
и значения их аксонов
( )
(
)
( )
(
)
(
)
1 0
,
1 1
2 2

=
+
=
+
m
j
p
s
f
p
y
j
j
. (6)
Активационная функция имеет вид порога, при этом величина порога должна быть достаточно большой, чтобы любые возможные значения аргумента не приводили к насыщению.
Шаг 3. Проверяется, изменились ли входы нейронов второго слоя за последнюю итерацию. Если да – перейти к шагу 2. Иначе – конец.
Рис. 2 Вид пороговой функции активации. T следует брать достаточно большим
Метод разностного группирования
Далее описывается метод разностного группирования, взятый из работы [2]. Алгоритм разностного группирования – это модификация алгоритма пикового группирования, в котором векторы, подлежащие кластеризации
j
x
, рассматриваются как потенциальные центры кластеров. Пиковая функция
( )
i
x
D
задаётся формулой:
T

9 – Intelligent Processing
90
( )

=






















=
N
j
a
b
j
i
i
r
x
x
x
D
1 2
2 2
exp
, (7)
где значение коэффициента
a
r
определяет сферу соседства. На значения
( )
i
x
D
значительно влияют только
j
x
, которые находятся в пределах данной сферы.
При большой плотности точек вокруг
i
x
значение функции
( )
i
x
D
большое. После расчёта значений пиковой функции для каждой точки
i
x
, выбирается вектор
x
, для которого мера плотности
( )
x
D
окажется самой большой. Именно эта точка и становится первым центром
1
c
Выбор следующего центра
2
c
возможен после исключения предыдущего центра и всех точек, лежащих в его окрестности.
Пиковая функция переопределяется следующим образом:
( )
( )
( )
























=
2 2
1 1
2
exp
b
b
i
i
i
new
r
c
x
c
D
x
D
x
D
. (8)
При новом определении функции
D
коэффициенты
b
r
обозначают новые значения константы, которая задаёт сферу соседства очередного центра. Обычно придерживаются условия, что
a
b
r
r

После модификации значения пиковой функции ищется новая точка
x
, для которой
( )
max

x
D
new
Она становится новым центром.
Процесс поиска очередного центра возобновляется после исключения всех компонент, которые отвечают уже отобранным точкам. Инициализация завершается в момент фиксации всех центров, которые предусмотрены начальными условиями.
В соответствии с описанным алгоритмом происходит самоорганизация множества векторов
x
, которая состоит в нахождении оптимальных значений центров, которые представляют множество данных с минимальной погрешностью.
Предлагаемый метод и его практическое применение
Суть метода состоит в следующем. Если из изображения выделять изображения, которые являются частью первого (в дальнейшем в работе такие изображения будут называться подизображениями), то количество видов краёв подизображения будет, в силу физических обстоятельств (количества пикселей), меньше разнообразия краёв исходного изображения. Если взять размерность подизображения достаточно малой (например,
3 3
×
,
4 4
×
,
5 5
×
и т.п.), то количество видов краёв (границ) в изображении можно без труда пересчитать. Очевидно, что каждый из указанных только что краёв можно сопоставить некоторой букве некоторого алфавита. Таким образом, каждый вариант можно закодировать определённым символом.

International Book Series "Information Science and Computing"
91
Из всего вышеуказанного можно сделать следующий вывод. Всё изображение можно разбить на непересекающиеся подизображения, каждое из которого принимает значение из некоторого алфавита. То есть, на вход системы подаётся вектор, соответствующий подизображению, а на выходе система должна предлагать своё видение, какому символу из алфавита данный вектор соответствует. Подобные условия совпадают с требованиями к функционированию сети Хемминга, что и обосновывает её применение для решения данной проблемы.
Далее предлагается метод уменьшения входного алфавита для системы. Край – это линия, отделяющая один цвет от другого. Таким образом, для системы выделения краёв нет необходимости учитывать все оттенки цветов, подлежащих разделению. Системе необходимо сказать к какому из цветовых классов пикселей принадлежит данный. Для разрешения этой проблемы предлагается следующий метод.
Всё изображение поддаётся кластеризации цветов методом разностного группирования. Это позволяет выбрать центры кластеров, к которым «притягиваются» остальные цвета. Если выбрать функции принадлежности к кластеру гауссовскими и выбрать определённым образом дисперсию для данного закона, то получается система, изображённая на рисунке 3.
На данном рисунке
3 2
1
,
,
c
c
c
- это центры кластеров в одномерном пространстве оттенков серого.
d
- это цвет, который подлежит классификации.
2 1
,
μ
μ
и
3
μ
, которая в данном случае близка к нулю,- это значения принадлежности
d
соответственно к каждому из классов. Если
3
,
1
=
i
- это номер класса, то номер класса, к которому, скорее всего, принадлежит
d
- это
i
i
d
i
μ
max arg
=
. Т.о., подавая на вход данной системы цветовое значение пикселя, на выходе получается номер класса, к которому принадлежит пиксель.
Рис. 3 Нечёткая система определения цвета
Алгоритм идентификации краёв, который предлагается, состоит в следующем.
Шаг 0. Происходит инициализация сети Хемминга, её памяти. Строится база шаблонов, в которой каждый шаблон отвечает определённому выходу сети Хемминга. На вход системы подаётся изображение в оттенках серого. Создаётся новое пустое изображение, которое совпадает по размерам с изображением, которое поступило на вход системы.
Шаг 1. Каждый пиксель поступившего изображения проходит через систему классификации цвета, которая определят его цвет. Для метода необходимо, чтобы изображение было преобразовано к двуцветному виду. Следовательно, выбирается для классификации два крайних («слева» и «справа») класса.
1
0





9 – Intelligent Processing
92
Шаг 2. Из поступившего изображения выделяется подизображение малого размера (например,
3 3
×
,
4 4
×
,
5 5
×
и т.п.).
Шаг 3. Определяется, есть ли на подизображении значительное соотношение пикселей различных цветов. Если да – та шаг 4. В противном случае, изображение делается одноцветным и – переход на шаг 6.
Шаг 4. Подизображение подаётся на вход сети Хемминга, которая определяет, какому шаблону оно более всего соответствует.
Шаг 5. Имея полученный на выходе сети Хемминга код, система отыскивает в базе шаблонов для заполнения подходящий шаблон и ставит его на место в новом изображении, которое соответствует месту подизображения в старом изображении, которое подавалось на вход сети Хемминга.
Шаг 6. Проверка того, есть ли необработанные подизображения на старом изображении. Если есть – на шаг 2. В противном случае – на шаг 7.
Шаг 7. Выход системы – полученное новое изображение.
Далее предлагаются примеры практического применения предлагаемой системы. В качестве объектов применения системы выбраны сильно зашумленные части рентген изображений.
Подизображения выбираются размером
4 4
×
. Они не пересекаются. Первоначальное изображение
«пропускается» через систему классификации цвета пикселей, которая описана выше и здесь рассматривается только два класса цветов. Таким образом, входная буква алфавита сети – 16 бит, а выходной алфавит выбран в 18 символов.
В качестве порога, когда подизображение «пропускать» через сеть Хемминга не имеет смысла, взяты величины 0,125 и 0,875 (для данного случая). Если
s
- число пикселей в подизображении, которые имеют один из цветов, а
n
– общее число пикселей в подизображении, то для того, чтобы подизображение подверглось классификации при помощи сети Хемминга, необходимо, чтобы
875
,
0 125
,
0
<
<
n
s
. То есть, для рассматриваемого случая, если в подизображении количество пикселей одного из цветов меньше 2, то подизображение не подаётся на вход сети Хемминга и просто заполняется одним цветом.
Следующие примеры сопровождаются также приведением результатов работы детектора Канни ([5]) на тех же изображениях.
Рис. 4 Исходное изображение
Рис. 5 Изображение после применения детектора Канни
Рис. 6 Изображение после применения предлагаемого метода

International Book Series "Information Science and Computing"
93
Рис. 7 Исходное изображение
Рис. 8 Изображение после применения детектора Канни
Рис. 9 Изображение после применения предлагаемого метода
Следует сразу же сказать несколько слов о моменте, который бросается в глаза. Предлагаемый метод не соединял края – не делал их цельными. Но это и не было целью данной работы. Для соединения краёв можно применить любой из существующих методов (например, на основе динамически изменяющегося радиуса окрестности пикселя, находить в данной окрестности наиболее близкий, совпадающий по цвету и отдалённый, пиксель и соединять его с центром окрестности (обрабатываемым в данный момент пикселем)). Однако, не смотря на это, очевидно, что предлагаемый метод правильно распознаёт края, хотя он и несколько чувствителен к шуму. Но чувствительность эта оказалась ниже, чем у детектора
Канни, хотя детектор Канни делал края более цельными. Результаты обработки изображения, показанного на рисунке 4 – это рисунки 5 и 6. А на рисунке 7 – 8 и 9. Из данных рисунков видно, что в первом случае оба метода справились с работой довольно хорошо. Второй же случай – даже человеком не всегда может быть достаточно хорошо обработан, что и обуславливает зашумленность результатов работы методов. Однако в обоих случаях предлагаемый метод выдал меньшее число шумов, чем детектор Канни. Скорость работы методов была практически одинаковая.
Безусловно, как показывают вышеприведённые примеры, детектор Канни делал края практически замкнутыми, что нельзя сказать про предлагаемый метод. Этот очень важный факт обуславливает необходимость дальнейшего совершенствования предлагаемого метода. Прежде всего, необходимо расширить порог для определения необходимости «пропускания» подизображения через сеть Хемминга путём расширения размерности подизображения. Однако, очевидно, что расширение размерности должно происходить в разумных пределах, так как с расширение размерности растёт и входной и выходной алфавиты. Но это может быть и позитивной стороной, так как растёт разнообразие случаев, которые может обрабатывать метод. Кроме того, необходимо провести исследование о возможности сокращения буков выходного алфавита сети Хемминга, что может стать причиной более качественного распознавания поступившего символа сетью Хемминга и меньшей чувствительности к шумам. То есть разнообразие символов может и не быть позитивной стороной. Так же не обязательно подизображения не должны пересекаться, так как изучение именно их пересечения может дать дополнительную информацию для определения краёв. И следует ещё отметить, что изображение для обработки должно быть не обязательно двуцветным, однако в случае большего числа цветов необходимы дополнительные надстройки, позволяющие корректно функционировать сети Хемминга.
Заключение
В работе был предложен метод идентификации краёв изображений на основе применения сети Хемминга.
Практическое применение метода позволило сделать ряд выводов. Первый, метод действительно идентифицирует края. Второй, метод менее чувствителен к шуму чем, например, детектор Канни. Третье,

9 – Intelligent Processing
94 скорость работы методов примерно одинакова. Однако, несмотря на это, метод значительно проигрывает детектору Канни по цельности обнаруженных краёв. Это обуславливает необходимость дальнейшего совершенствования предлагаемого детектора. Во-первых, очевидно, что рассмотренный размер окна не является оптимальным и должны быть проведены исследования по поиску оптимального размера окна, так как простое увеличение одновременно ведёт к росту алфавита, используемого для обработки данных.
Во-вторых, необходимо изучение возможностей «скользящего окна», то есть возможности устранение ограничения на не пересечение выделяемых блоков пикселей. Главные проблемы здесь – как объединять данные про один и тот же пиксель (здесь необходимо использовать возможности теории Демпстера-
Шэффера, например) и в то же время минимизировать чувствительность к шумам. Все эти исследования будут проведены в последующих работах.
Благодарности
Статья частично финансированна из проекта ITHEA XXI Института Информационных теории и
Приложений FOI ITHEA и Консорциума FOI Bulgaria (
www.ithea.org
, www.foibg.com
).
Литература
1.Борисов Е.С. Классификатор на основе нейронной сети Хемминга – 2005 – взято с http://mechanoid.ru/nns/classifiers/
2.Зайченко Ю.П. Основи проектування інтелектуальних систем.- К.: Видавничий Дім «Слово», 2004. – 352 с.
3.Короткий С. Нейронные сети Хопфилда и Хемминга – взято с http://lii.newmail.ru/kor_nn4.htm
4.Стариков А., Арустамов А. Ассоциативная память – применение сетей Хемминга для нечёткого поиска. – http://www.basegroup.ru/library/analysis/neural/assoc/
5.Canny J. A computational approach to edge detection. IEEE Transactions on Pattern Analysis and Machine Intelligence,
8(6): pages 679-698, November 1986.
Информация про автора
Мурга Николай Алексеевич – магистрант НТУУ «КПИ» УНК «ИПСА», Киев, Украина;
e-mail:
murga.nicholas@gmail.com



Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал