Нейросетевой классификатор для систем безопасности автомобиля

УДК 621.8:681.5

М.Э. КУССУЛЬ, А.С. СЫЧЕВ

НЕЙРОСЕТЕВОЙ КЛАССИФИКАТОР ДЛЯ СИСТЕМ БЕЗОПАСНОСТИ АВТОМОБИЛЯ*____________________________________________________________________________________

Abstract: The article is devoted to using of modular neural networks in the intelligent safety system of a passenger car. The system is intended to identifing occupancy type of passenger seat of the car. The goal is to identify presence of a passenger on the seat to make decision on advisability of an airbag deployment. Initial data to make the decision are sequence of images from the video camera, which is mounted in the car compartment. It is shown that the camera images carry enough information to solve the problem. In the article there are considered algorithm of data processing, neural network architecture to solve the task and experimental results.

Key words: neural net, modular neural networks.

Анотація: У статі розглядається застосування модульних нейронних мереж в інтелектуальній системі безпеки легкового автомобіля. Система призначена для ідентифікації об’єкта, що знаходиться на передньому сидінні автомобіля. Задача полягає у визначенні наявності пасажира для прийняття рішення про доцільність відкриття подушок безпеки. Вихідними даними є інформація, що отримується з відеокамери, розміщеної в салоні. Показано, що зображень, отриманих з відеокамери, достатньо для вирішення поставленої задачі, розглянуті алгоритми рішення та наведені результати експериментів. Ключові слова: нейронна мережа, модульна нейронна мережа.

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

Ключевые слова: нейронная сеть, модульная нейронная сеть.

1. Введение

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

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

* Материалы данной статьи основаны на работах, заказанных и финансируемых компанией International Scientific Research, LLC.

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

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

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

классификации приведены в табл. 1.

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

Данная система разрабатывалась по заказу фирмы Automotive Technologies International (ATI Inc., Денвилл, Нью-Джерси).

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

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

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

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

Номер Описание

класса

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

л

\ - 1 %  'Т

' " t'j ' \

1' 1

i и1

Рис. 2. Исходное и бинаризованное изображения пустого сиденья Нашими коллегами из Automotive Technologies International был реализован несколько отличный алгоритм оконтуривания с поиском контуров по 4 направлениям, при помощи которого были получены результаты, близкие к полученным нами.

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

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

Оптимальный вариант модульной нейронной сети строился по принципу локальных экспертов [4] и состоял из четырех модулей, реализующих многослойный персептрон (рис. 3), обучаемый по алгоритму Extended Delta-Bar-Delta [5]. Первые три модуля выступали в роли локальных экспертов и принимали решение, исходя из значений на своей группе входов. На входы модуля Edge подавался вектор признаков, содержащий только градиенты освещенностей. Модуль Brightness в качестве входов использовал вектор средних освещенностей в окнах, и модуль Histogram - гистограммы контуров. Последняя сеть FinalNet принимала окончательное решение, основываясь на результатах работы первых трех модулей. Модули обучались последовательно. Результаты работы всей нейронной сети и ее модулей приведены в табл. 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 пикселов качество классификации не

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

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

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

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

5. Выводы

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

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

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

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

Решение перечисленных проблем является следующим этапом работ в данном направлении.

СПИСОК ЛИТЕРАТУРЫ

1. http://www.intel.com/research/mrl/research/opencv/

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

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

4. Jordan M.I. and Jacobs R.A. Hierarchical mixture of experts and the EM algorithm // Neural Computation. - 1994. -Vol. 6. - P. 181 - 214.

5. Haykin S. Neural Networks: A Comprehensive Foundation. - 2-nd ed. - Englewood Cliffs, NJ. - Prentice-Hall, 1999.

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

7. Kussul M., Riznyk A., Sadovaya E., Sitchov A., Chen Tie-Qi. A visual solution to modular neural network system development // Proc. of the 2002 International Joint Conference on Neural Networks (IJCNN'02). - Honolulu, HI, USA. - 2002. - 12 - 17 May. - Vol. 1. - P. 749 - 754.