некоторые аспекты сегментации в выбранном алгоритме

реклама
НЕКОТОРЫЕ АСПЕКТЫ СЕГМЕНТАЦИИ В ВЫБРАННОМ АЛГОРИТМЕ
РАСПОЗНАВАНИЯ ОБРАЗОВ НЕЙРОННЫМИ СЕТЯМИ
Иксымбаевa Ж.С.
Сегментацией называется разбиение изображения на прилегающие друг к другу области,
которые являются однородными относительно некоторых характеристик изображения.
Основная идея этого процесса состоит в следующем: каждый пиксель изображения может быть
связан с некоторыми визуальными свойствами, такими как яркость, цвет и текстура. В пределах
одного объекта или одной части объекта эти атрибуты изменяются относительно мало, тогда
как при переходе через границу от одного объекта к другому обычно происходит существенное
изменение одного или другого из этих атрибутов. Необходимо найти вариант разбиения
изображения на такие множества пикселей, что указанные ограничения удовлетворяются в
максимально возможной степени.
Сегментация является, как правило, первым этапом в работе систем анализа изображений
и, возможно, самым важным и сложным. Все последующие этапы анализа изображений, такие
как извлечение признаков или распознавание объектов, напрямую зависят от качества
сегментации. Так, излишне сегментированное изображение может привести к разделению
распознаваемого объекта на части, а недостаточно сегментированное изображение — к
группировке различных объектов.
В последние годы появляется все больше прикладных областей, в которых актуально
применение методов сегментации изображений — это системы распознавания документов,
мультимедийные базы данных, передача видео через сеть Интернет, цифровая фотография,
сжатие изображений и другие [1]. Бурное развитие вычислительной техники, а именно,
повышение быстродействия и объёмов хранения оперативной информации, позволяет
увеличить скорость обработки изображений и перейти к обработке в реальном времени
полутоновых изображений, требующих анализа огромного количества информации [2-3].
Материалы и методы исследования.
Получив бинарное изображение (например, путем пороговой фильтрации), выделение
связных компонент пикселей изображения дает набор областей, часть из которых, как
ожидается, является объектом. Определением связной компоненты является множество
пикселей, в окрестности каждого из которых присутствует как минимум один пиксель, также
принадлежащий данной области. От определения понятия окрестности пикселя зависит тип
связных областей. Используются два типа окрестностей: четырехсвязная и восьмисвязная эвклидова (рис.1).
4-связность
8-связность
Рисунок 1 – Два типа окрестности
Обычно используются четырехсвязные компоненты. Выделение связных компонент
производится методом последовательного сканирования. Метод заключается в сканировании
изображения слева направо и сверху вниз, и выполнения для каждого пикселя (x,y) следующих
действий (таблица1):
С. Сейфуллин атындағы ҚазАТУ –ң Ғылым жаршысы / Вестник науки КазАТУ им. С.Сейфуллина. –
2011. - № 2 (69).- С. 108 – 113.
Таблица 1 Алгоритм метода последовательного сканирования
1. если пиксель (x,y) помечен единицей на исходном бинарном изображении:
2.
если пиксели (x − 1,y), (x,y − 1) не отнесены ни к одной из
3.
найденных областей:
4.
прибавить счетчик областей n = n + 1;
5.
приписать пиксель (x,y) к области n;
6.
если только один из пикселей (x − 1,y), (x,y − 1) отнесен к одной из
7.
областей i:
8.
приписать пиксель (x,y) к области i;
9.
если оба пикселя (x − 1,y), (x,y − 1) отнесены к найденной
10.
области i:
11.
приписать пиксель (x,y) к области i;
12.
если оба пикселя (x − 1,y), (x,y − 1) отнесены к разным
13.
областям i, j: i = j:
14.
приписать пиксель (x,y) к области i;
15.
зафиксировать эквивалентность областей i и j;
16.
перейти к следующему пикселю.
После проведения сканирования производится разрешение эквивалентностей областей и
переразметка изображения с учетом этих эквивалентностей. После того, как на изображении
обнаружены связные области пикселей, предположительно являющиеся объектами,
производится проверка формы этих областей на удовлетворение определенным ограничениям:
пропорции, соотношение периметра и площади, эксцентриситет и другие.
Существует два известных метода разметки: рекурсивный и итеративный. Для
выделения областей с пониженной яркостью нерегулярной формы со случайными
координатами проявления используется рекурсивный алгоритм.
При итеративном методе, который в литературе часто встречается под названием
"алгоритм последовательного сканирования" обход изображения, для определённости,
начинаем из левого верхнего угла сверху вниз, справа налево. При обходе пропускаем пиксели
фона. Понятно, что при таком порядке обхода у текущего рассматриваемого пикселя верхний и
левый сосед уже должны быть размечены формой для сканирования (рис.2).
Рисунок 2 – Форма последовательного сканирования
Псевдокод:
if A = O
do nothing
else if (not B labeled) and (not C labeled)
increment label numbering and label A else if B xor C labeled
copy label to A
else if B and C labeled
if B label = C label
copy label to A
else
copy either B label or C label to A
record equivalence of labels
Важными свойствами перечисленных методов выделения областей объекта является
простота реализации и малая вычислительная сложность. Основным недостатком этих методов
является то, что они способны обнаружить и сегментировать от окружения лишь хорошо
локализованные, четко отделенные области.
Результаты и обсуждениe
Итак, при
работе с нейронными сетями для распознавания букв
нами были
использованы такие методы, как вычисление градиента и пороговое разделение,
определяющие разрывы в интенсивности представления образа объекта. В идеальном случае
эти методы определяют пиксели, лежащие на границе между объектом и фоном. На практике
данный ряд пикселей редко полностью характеризует границу из-за шума, разрывов на границе
вследствие неравномерной освещенности и других эффектов, приводящих к размытию
изображения. Таким образом, алгоритмы обнаружения контуров сопровождаются процедурами
построения границ объектов из соответствующих последовательностей пикселей.
После того как мы обошли всю картинку, нам нужно совершить ещё один обход и
произвести переразметку с учётом эквивалентности областей, так как бывают конфликты в
присвоение пикселя той или иной области (рис.3).
Расширение области сводится к процедуре группирования пикселей или подобластей в
большие объединения. Простейшей из них является агрегирование пикселей. Все описанные
выше алгоритмы распознавания образов работают с единственным видимым образом. В
реальной жизни видеокамера (направленная на пол) может видеть сразу несколько объектов,
специально расположенных рядом, или же в поле зрения может попасться какой-нибудь
посторонний объект (нога человека, грязь, потертость пола и прочие приходящие вещи). Если
не предусматривать некоторое разбиение общего изображения на части, то ни один из
описанных выше алгоритмов не сможет корректно работать.
Итак, разбиение изображения на части, каждая из которых содержит свой уникальный
объект, называется сегментацией. Она осуществляется путем прохода по матрице изображения
слева направо, сверху вниз. При проходе выполняются следующие правила (рис.4).
00000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000
00000000000001110000111000000000000000000000000000000
00000000000011100001110000000000000011100000000000000
00000000000111000111000000000000000111100000000000000
00000000001110001110000000000000001111100000000000000
00000000011110111000000000000000011001100000000000000
00000000111111100000000000000000110001100000000000000
00000001110011000000000000000000000001100000000000000
00000011100111000000000000000000000001100000000000000
00000111000110000000000000000000000001100000000000000
00001110001110000000000000000000000001100000000000000
00011100001111100000000000000000000001100000000000000
00000000000000000000000000000000000001100000000000000
00000000000000000000000000000000000001100000000000000
00000000000000000000000000000000000001100000000000000
00000000000000000000000000000000000111110000000000000
00000000000000000000000000000000000111110000000000000
00000000000000000000000000000000000000000000000000000
Рисунок 3 Бинарная матрица до выполнения сегментации
L и M это метки, которые после прохождения алгоритма по массиву (кстати,
однократного) должны быть присвоены всем пикселям объекта (элементам матрицы, которые
до сегментации были единичными). Далее, если уже меченые объекты сливаются, то должно
происходить и слияние меток. Наглядно это все выглядит довольно просто, но если
призадуматься, то становится ясно, что для корректной работы алгоритма требуется
переназначать метки во всей матрице изображения каждый раз, когда выполняется последнее
правило. Oдна из задач алгоритма - постараться «уложиться» в реальноe время, посему
проходить по массиву элементов “640х480” каждый раз, когда хочется переназначить метку –
это непозволительная роскошь.
Рисунок 4
Правила L и M
Чтобы рационализировать данную часть алгоритма, надо создать отдельно массив меток,
в котором надо прописать: какая метка на какую ссылается, и все операции при проходе по
матрице изображения проводить только с массивом ссылок меток. При этом в конце прохода
должен иметься массив меток, ссылающихся друг на друга, и только несколько меток должны
быть уникальными. Они, собственно, и образуют объекты. Чтобы получить уникальные
объекты, которые уже можно направить в модуль распознавания, нужно всего лишь
нормализовать этот массив ссылок и переназначить все элементы матрицы на уникальные
метки, исходя из данных нормализованного массива ссылок.
Выводы
Искусственные нейронные сети достаточно широко используются при распознавании
символов. Алгоритмы, использующие нейронные сети для распознавания символов, часто
строятся следующим образом. Поступающее на распознавание изображение символа (растр)
приводится к некоторому стандартному размеру.
На практике более правильным и менее сложным решением оказалось рекуррентное
нахождение уникальных родителей каждой метки. Далее всю работу по переприсвоению
производят уже с ними. Таким образом, связь в объекте в этом случае не может быть потеряна,
так как рекурсия дает возможность выхватывать самые длинные отростки объекта. Термин
отростки означает: на рис.3 (там где буква К и единица) стенки у единички идеально ровные,
на практике же, разрешение «640х480» у камеры, направленной на пол, дает довольно
приличную детализацию, которая может выхватывать реальные или кажущуюся камере
«заусеницы» или помехи на ровных местах образа. В результате алгоритм работает не с
идеальными картинками, а довольно сложными. Все это происходит только на стадии
сегментации, затем эти лишние детали на больших объектах исчезнут.
А после выполнения алгоритма сегментации исходная бинарная матрица элементов
должна выглядеть примерно так (рис.5). В бинарной матрице метке «1» специально присвоен
номер «5», в реальности элементы, которые видит камера, довольно сложны и не идеальны,
поэтому при проходе только лишь поначалу первого элемента могут быть задействованы
несколько
номеров
меток.
В
нашем
случае
это
число
5
(рис.5).
После успешного завершения сегментации, каждый сегмент попадает в модуль распознавания
(в качестве параметра распознавания в нашей программе как раз и идет уникальная метка
сегмента). Надо заметить, что еще в модуле сегментации, при финальном проходе по массиву, с
переприсвоением меток, для каждого образа обозначаются его границы и вычисляется
финальная площадь. Границы нужны для ускорения работы модуля распознавания – так как он
ищет образ только в указанном месте. Для того, чтобы образы распознавались инвариантно
относительно положения и поворота, надо произвести привязку к их структуре.
Итак, выбранный нами метод поточечного процентного сравнения с эталоном оказался
наиболее оптимальным по результативности. Здесь должна быть некоторая предобработка, для
получения инвариантности относительно размера и положения, затем осуществляется
сравнение с заготовленной базой эталонов изображений - если совпадение больше чем какая-то
отметка, то образ считается распознанным.
00000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000
00000000000002220000222000000000000000000000000000000
00000000000022200002220000000000000055500000000000000
00000000000222000222000000000000000555500000000000000
00000000002220002220000000000000005555500000000000000
00000000022220222000000000000000055005500000000000000
00000000222222200000000000000000550005500000000000000
00000002220022000000000000000000000005500000000000000
00000022200222000000000000000000000005500000000000000
00000222000220000000000000000000000005500000000000000
00002220002220000000000000000000000005500000000000000
00022200002222200000000000000000000005500000000000000
00000000000000000000000000000000000005500000000000000
00000000000000000000000000000000000005500000000000000
00000000000000000000000000000000000005500000000000000
00000000000000000000000000000000000555550000000000000
00000000000000000000000000000000000555550000000000000
00000000000000000000000000000000000000000000000000000
Рисунок 5 Бинарная матрица после выполнения сегментации
Обработку разного шрифта с различным фоном можно рассмотреть на рис.6. На
изображении можно определить три серых уровня цвета, ближе к белому - это фон, средний и
ближе к черному – это текст. Пример в обработке штрих кодов можно рассмотреть на рис.7.
Сложность проявляется в получение чисел и информационных данных, которые находятся под
углом.
Рисунок 6 – Текст на светлом фоне.
Рисунок7 – Штрих код под углом, grayscale.
Литература
1. Brunner D., Soille P. Iterative area filtering of multichannel images // Image and Vision
Computing. — 2007. Vol. 25, no. 8. — Pp. 1352-1364.
2. Haralick R. M., Shapiro L. G. Image segmentation techniques // Computer Vision, Graphics,
and Image Processing. — 1985. — Vol. 29, no. 1. — Pp. 100-132.
3. Fu K. S., Mu J. K. A survey on image segmentation // PatternRecognition. — 1981. Vol. 13,
no. 1. - Pp. 3-16.
Түйін
Бейнелеулердің цифрлік өзгертуі бейне қабылдау жақсаруына шарттар жасауына
тағайындалған. Сонымен қатар бейне тану алгоритмінде нейрондық желілер жиі кең
қолданылады.
Таңдалған бейне тану алгоритмінде кері тарату нейрондық желілерді келесі бейнемен
салыстырылады. Сегмент модулінде әрбір бейнеде оның шекарасы және ақырғы аудан көлемі
есептеледі. Аңықталған жерде бейне іздеу және бейне тану үшін шекаралар қолданылады.
Яғни, бейне тануға түскен әріпті стандартты мөлшермен салыстыруға тура келеді. Бұл
алгоритмінде
әрбір нүктені эталонмен пайызды салыстыру әдіс ең үйлесімді болып
таңдалынады.
Summary
The digital images processing is enough striking and evident example of measuring data
transformation and analysis. Digital images transformation is widely used in industrial computer
vision systems, measuring vision systems, applied television systems, broadcasting television, etc.
The chosen algorithm of letter images recognition is adequate due to using back- propagation
neural nets. The dot method of percentage comparison with the standard was chosen as it is the most
optimal one. There should be some preprocessing in order to get an invariant in accordance with the
size and the position, then the comparison with the prepared image standard bases is carried out.
Скачать