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

Уфимский государственный нефтяной технический университет

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ









		

		

                                                                                ОТЧЕТ ПРИНЯТ

		                                                                                Оценка ___________

		                                                                             ____________ М.Н. Янтудин 

	                                                                                (подпись, дата)

	

	

	

	

	

	

	

	

	Реферат

	

на тему



«Применение нейронных сетей в интеллектуальной системе безопасности легкового автомобиля»



по дисциплине «Нейроинформатика»























Выполнил студент гр. ЭМ-06-01       ____________             Мустафина А.Р.

                                                             (подпись, дата)              

 







Уфа 2010

СОДЕРЖАНИЕ

ВВЕДЕНИЕ…………………………………………………………….

3

1

Интеллектуальные системы безопасности в автомобилях………

4

2

Постановка задачи………………………………………………….

4

3

Предварительная обработка данных……………………………...

7

4

Архитектура модульной нейронной сети и оценка полученных результатов………………………………………………………….



10

ЗАКЛЮЧЕНИЕ……………………………………………….………..

13

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ………………….

14





























		

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

ВВЕДЕНИЕ

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































1 Интеллектуальные системы безопасности в автомобилях

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

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

2 Постановка задачи

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

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

Таблица 1 — Типы пассажиров

Номер

класса

Описание

0

Взрослый человек

1

Пустое сидение

2

Детское сидение

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

 Видеокамера оборудована широкоугольным объективом с углом обзора 90о и инфракрасным фильтром. Применение широкоугольного объектива обусловлено малым расстоянием до объекта классификации. Для возможности работы системы при отсутствии внешних источников света в состав системы входят диоды инфракрасной подсветки. Размер получаемого изображения 320x240 пикселов. Примеры снимков для разных классов представлены на рис.1. Конечным результатом должна стать программа на языке «C», которая впоследствии будет адаптирована для выполнения на контроллере, находящемся в автомобиле.



Рисунок 1 — Примеры снимков: вверху —взрослый пассажир, внизу слева — пустое сидение, внизу справа — детское сидение

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





3 Предварительная обработка данных

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

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

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

	С учетом знака градиента для каждого окна получаем 4 признака, соответственно, с учетом количества окон на изображении (48, если окна не пересекаются), для градиентов освещенности на изображении получаем 192 признака. Поскольку большинство парадигм нейронных сетей наиболее успешно работают для данных, лежащих в диапазонах [-1;1] либо [0;1], полученный вектор признаков нормировался в данный диапазон [0;1]. При нормировке для каждого вектора находился свой коэффициент масштабирования. Следует отметить, что простейшая нормировка с использованием фиксированного коэффициента для всех векторов в выборке иногда дает лучшие результаты. Однако нормировка внутри одного вектора более устойчива к перепадам внешней освещенности салона автомобиля.

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

На рассматриваемом массиве данных, при использовании в качестве признаков только градиентов, можно получить качество распознавания на уровне 99,5–99,7% правильных ответов. Однако на практике при использовании в качестве признаков только контуров система оказывается не устойчива к смещению камеры относительно позиции, в которой набиралась обучающая выборка. Для исправления данного недостатка были использованы дополнительные признаки. Одним из таких признаков были гистограммы расстояний от края окна до границы. Гистограммы дают более интегрированное описание изображения.

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

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


Рисунок 2 — Исходное и бинаризованное изображения пустого сиденья

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

Для данных размеров изображения, получаемого с видеокамеры, и принятых размеров окна получаем 6 горизонтальных и 8 вертикальных полос. Гистограмма расстояний для каждой полосы строилась для 15 диапазонов, то есть каждая гистограмма содержит 15 элементов. С учетом количества полос в результате получаем 210 признаков. Таким образом, полный вектор признаков, используемый для распознавания одного изображения, содержит 450 элементов.

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





4 Архитектура модульной нейронной сети и оценка полученных результатов

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

Оптимальный вариант модульной нейронной сети строился по принципу локальных экспертов и состоял из четырех модулей, реализующих многослойный персептрон (рис.3), обучаемый по алгоритму Extended Delta-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%, что является  приемлемым.  Введение дополнительных локальных экспертов, которые принимают решение по интегральным признакам, как видим, позволило не только повысить робастность системы в целом, но и несколько улучшить качество ее работы, хотя и незначительно.

Все работы с нейронной сетью проводились с использованием программного пакета MNN CAD © International Scientific Research, LLC. Благодаря данному пакету, можно не только создать и обучить модульную нейронную сеть, но и произвести автоматическую генерацию «С»-кода полученной сети, что оказывается полезным при разработке прикладных систем.

Последним этапом работ было проведение экспериментальной проверки качества работы нейронной сети в реальных условиях. Целью таких испытаний являлась оценка устойчивости сети и представительности обучаемой и тестовой выборок. Проверка производилась следующим образом: сформированный «С»-код был скомпилирован и подключен в виде DLL (Dynamic Link Library) к специально созданному эмулятору, который позволяет в динамике производить визуальный контроль за работой нейронной сети. В целом были получены довольно хорошие результаты, однако в ходе испытаний обнаружились некоторые недостатки, обусловленные, в первую очередь, малым объемом обучающих выборок. Было обнаружено несколько позиций пассажира, при которых нейронная сеть не давала устойчиво правильных ответов. Для устранения этого недостатка был собран дополнительный набор данных. Повторные испытания показали, что обучение нейронной сети на полный набор данных позволило полностью избавиться от этого недостатка без ухудшения качества распознавания на оставшейся части выборки.



































ЗАКЛЮЧЕНИЕ

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

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

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

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

























СПИСОК ИСПОЛЬЗУЕМЫХ ИТОЧНИКОВ

	 Дворкович А.В., Дворкович В.П., Зубарев Ю.Б. и др. «Цифровая обработка телевизионных и компьютерных изображений» — М.: Радио и связь, 1997, 212 С.

	 Резник А.М., Куссуль М.Э., Сычев А.С., Садовая Е.Г., Калина Е.А. // Математичиские машины и системы// Система проектирования модульных нейронных сетей САПР МНС, 2002, № 3, с.28-37.

	 Хуанг Г.С. «Быстрые алгоритмы цифровой обработки изображений» — М.: Радио и связь, 1984, 224 С.

	 Федороа А. «Бинаризация черно-белых изображений: состояние и перспективы развития»:

	http://iu5.bmstu.ru/~philippovicha/ITS/IST4b/ITS4/Fyodorov.htm

	 «Интеллектуальные системы безопасности в автомобилях»:

	http://vyazma-market.ru/action/news/nid/687/

	

	 

	

	







2