Процедура бинаризации включает в себя поиск максимального градиента внутри каждой строки и каждого столбца окна. Если максимальный градиент превышает порог, то соответствующему пикселу на бинарном изображении присваивается значение единица. Все остальные пикселы остаются нулевыми. Таким образом, максимально возможное количество единичных пикселов для каждого окна составляет сумму количества строк и столбцов в окне. На практике количество единичных пикселов в окне обычно не превышает половины этой суммы. Поскольку для бинаризации используются максимальные градиенты в каждой строке и столбце, то на бинарном изображении получаем линии, соответствующие наиболее характерным контурам объектов. Пример получаемого бинарного изображения представлен на рис.2.
На основе бинарного изображения строились гистограммы расстояний контуров от края рисунка. Измерялись расстояния до единичных пикселов в каждой строке и каждом столбце. Гистограммы строились для вертикальных и горизонтальных полос, то есть каждый элемент гистограммы содержит сумму единичных пикселов, попадающих в заданный диапазон расстояний и лежащих внутри полосы. Ширина полосы выбиралась равной размеру используемых окон. Такой выбор обусловлен исключительно соображениями быстродействия алгоритма.
Для данных размеров изображения, получаемого с видеокамеры, и принятых размеров окна получаем 6 горизонтальных и 8 вертикальных полос. Гистограмма расстояний для каждой полосы строилась для 15 диапазонов, то есть каждая гистограмма содержит 15 элементов. С учетом количества полос в результате получаем 210 признаков. Таким образом, полный вектор признаков, используемый для распознавания одного изображения, содержит 450 элементов.
При использовании только гистограмм качество распознавания меньше 99%, поэтому их нельзя рассматривать в качестве единственных признаков. Однако добавление гистограмм в качестве дополнительной информации должно существенно повысить устойчивость системы.
4 Архитектура модульной нейронной сети и оценка полученных результатов
В данной работе признаки объектов на изображении как по характеру, так и по количеству выбирались с таким расчетом, чтобы разделяющие поверхности в пространстве признаков, по возможности, представляли собой совокупность гиперплоскостей. Соответственно, в качестве нейросетевого классификатора использовались многослойные персептроны.
Оптимальный вариант модульной нейронной сети строился по принципу локальных экспертов и состоял из четырех модулей, реализующих многослойный персептрон (рис.3), обучаемый по алгоритму ExtendedDelta-Bar-Delta. Первые три модуля выступали в роли локальных экспертов и принимали решение, исходя из значений на своей группе входов. На входы модуля «Edge»подавался вектор признаков, содержащий только градиенты освещенностей. Модуль «Brightness»в качестве входов использовал вектор средних освещенностей в окнах, и модуль «Histogram» — гистограммы контуров. Последняя сеть «FinalNet»принимала окончательное решение, основываясь на результатах работы первых трех модулей. Модули обучались последовательно.
Рисунок 3 — Архитектура модульной нейронной сети
Результаты работы всей нейронной сети и ее модулей приведены в табл. 2.
Таблица 2 — Результаты работы модулей нейронной сети.
Имя сети | Обучающая выборка | Тестовая выборка |
Edge | 99,97 % | 99,66 % |
Brightness | 99,34 % | 94,26 % |
Histogram | 99,85 % | 98,57 % |
FinalNet | 99,97 % | 99,82 % |
Видно, что качество работы модуля «Edge»довольно велико, однако при тестировании на данные со смещенной камеры он показывает довольно плохие результаты: уже при смещении изображения на 5-10 пикселов качество распознавания падает до 70-80%, при этом качество работы остальных сетей изменяется не существенно. То есть максимальные градиенты в качестве признаков, связанных с положением скользящего окна, очень чувствительны к положению объектов на изображении.
Одним из преимуществ модульной сети при решении данной задачи является то, что модуль «FinalNet», принимающий решение на основе выходов первых трех модулей, оказывается устойчив к смещению камеры. При смещении 10-15 пикселов качество классификации не опускается ниже 99,6%, что является приемлемым. Введение дополнительных локальных экспертов, которые принимают решение по интегральным признакам, как видим, позволило не только повысить робастность системы в целом, но и несколько улучшить качество ее работы, хотя и незначительно.
Все работы с нейронной сетью проводились с использованием программного пакета MNNCAD © InternationalScientificResearch, LLC. Благодаря данному пакету, можно не только создать и обучить модульную нейронную сеть, но и произвести автоматическую генерацию «С»-кода полученной сети, что оказывается полезным при разработке прикладных систем.
Последним этапом работ было проведение экспериментальной проверки качества работы нейронной сети в реальных условиях. Целью таких испытаний являлась оценка устойчивости сети и представительности обучаемой и тестовой выборок. Проверка производилась следующим образом: сформированный «С»-код был скомпилирован и подключен в виде DLL (DynamicLinkLibrary) к специально созданному эмулятору, который позволяет в динамике производить визуальный контроль за работой нейронной сети. В целом были получены довольно хорошие результаты, однако в ходе испытаний обнаружились некоторые недостатки, обусловленные, в первую очередь, малым объемом обучающих выборок. Было обнаружено несколько позиций пассажира, при которых нейронная сеть не давала устойчиво правильных ответов. Для устранения этого недостатка был собран дополнительный набор данных. Повторные испытания показали, что обучение нейронной сети на полный набор данных позволило полностью избавиться от этого недостатка без ухудшения качества распознавания на оставшейся части выборки.
ЗАКЛЮЧЕНИЕ
В данном реферате приведено использование нейронных сетей для интеллектуальной системы безопасности пассажира, основанной на результатах ультразвуковой локации салона автомобиля.
Применение нейронных сетей в интеллектуальных системах безопасности позволяет не только существенно упростить процесс создания таких систем, но и в значительной мере формализовать его.
К сожалению, не взирая на достаточно высокие результаты классификации выбранных объектов, существует еще много вопросов, требующих решения. Так, например, тестирование системы в автомобиле показывает, что важнейшее значение имеет представительность обучающей выборки. При разработке конечного варианта таких систем необходим анализ представительности выборок, используемых при обучении сетей.
Другой проблемой, не рассматриваемой в рамках данной работе, является блокировка видеокамеры. Очевидно, что система безопасности должна включать механизмы детектирования ситуаций, когда сигнал с видеокамеры по тем или иным причинам не несет информации о ситуации в салоне автомобиля.
СПИСОК ИСПОЛЬЗУЕМЫХ ИТОЧНИКОВ
1. Дворкович А.В., Дворкович В.П., Зубарев Ю.Б. и др. «Цифровая обработка телевизионных и компьютерных изображений» — М.: Радио и связь, 1997, 212 С.
2. Резник А.М., Куссуль М.Э., Сычев А.С., Садовая Е.Г., Калина Е.А. // Математичиские машины и системы// Система проектирования модульных нейронных сетей САПР МНС, 2002, № 3, с.28-37.
3. Хуанг Г.С. «Быстрые алгоритмы цифровой обработки изображений» — М.: Радио и связь, 1984, 224 С.
4. Федороа А. «Бинаризация черно-белых изображений: состояние и перспективы развития»:
http://iu5.bmstu.ru/~philippovicha/ITS/IST4b/ITS4/Fyodorov.htm
5. «Интеллектуальные системы безопасности в автомобилях»:
http://vyazma-market.ru/action/news/nid/687/