Анализ потока изображений на основе искусственных нейронных сетей в реальном масштабе времени

АНАЛИЗ ПОТОКА ИЗОБРАЖЕНИЙ НА ОСНОВЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ В РЕАЛЬНОМ

МАСШТАБЕ ВРЕМЕНИ

М.А. Лукин, Р.С. Увашев

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

Введение

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

1. Концепция распознавания объектов

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

1) разработка и обучение ИНС со сложной структурой, способной выделять на всем изображении множество заранее определенных объектов, представленных в любом масштабе и ракурсе;

2) разбиение всего изображения на подизображения и распознавание каждого на отдельном узле ВС.

Последний из рассмотренных подходов авторы считают более перспективным по ряду причин, среди которых:

1) простая структура ИНС, не решающая задачу выделения объекта на всем изображении, а лишь распознающая его целиком на предоставленном ей фрагменте;

2) сокращение времени обучения ИНС как следствие предыдущего пункта;

3) возможность программной реализации распределенных вычислений (аппаратные средства для передачи части исходного изображения для обработки другому узлу не являются обязательными, в то время как для реализации ИНС со сложной структурой может потребоваться нейрокомпьютер);

4) более эффективное распределение ресурсов ВС, локализация вычислений на отдельно взятом узле;

5) решение проблемы повторно встречающегося объекта.

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

Рис. 1. Сканирование изображения

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

Рис. 2. Пример последовательности распознавания

Глубина такой рекурсии определяется скоростью обработки каждого фрагмента, количеством узлов ВС и частотой пополнения потока новыми изображениями. При недостаточном количестве ресурсов ВС может возникнуть «эффект близорукости» (глубина рекурсии слишком мала, и достаточно детальное изучение изображения становится невозможным), в худшем (если скорость поступления изображений выше скорости их обработки) становится невозможным анализ потока в реальном масштабе времени. Изображение, которое не удалось классифицировать как объект, разбивается на фрагменты при условии, что в очереди к данному узлу нет изображений с более высоким приоритетом (в простейшем случае приоритет определяется временем поступления исходного изображения на обработку). Таким образом, система постепенно «вглядывается» в исходное изображение, пока ее «внимание» не привлечет более новое. При выборе

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

Описанные выше действия проиллюстрированы на рис. 2.

2. Архитектура искусственной нейронной сети

После масштабирования для распознавания объекта на выделенном фрагменте можно применить известные типы ИНС в зависимости от конкретной задачи и качества изображений в потоке [2-4]. Ввиду простоты реализации и высокой скорости обучения на данный момент авторы отдают предпочтение сетям встречного распространения (СВР) [1]. В СВР объединены два хорошо известных алгоритма: самоорганизующаяся карта Кохонена и звезда Гроссберга. При этом появляются свойства, которых нет ни у одного из них в отдельности. СВР функционирует подобно столу справок, способному к обобщению. В процессе обучения входные векторы ассоциируются с соответствующими выходными векторами; они могут быть двоичными, состоящими из нулей и единиц, или непрерывными. Когда сеть обучена, приложение входного вектора приводит к требуемому выходному вектору. Обобщающая способность сети позволяет получать правильный выход даже при неполном или искаженном входном векторе. Сети такого типа обычно используются для распознавания и восстановления образов.

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

Вектор Ю1 Слой Вектор «1 Слой Входной К°х°нена

слой (0) Ю1

У1

•У2

Кп ипр Ср

] 1 1

Ур

У

Желаемые выходные сигналы

Нейроны Кохонена Нейроны Гроссберга Рис. 3. Сеть встречного распространения

Нейроны слоя 0 (показанные кружками) служат лишь точками ветвления и не выполняют вычислений. Каждый нейрон слоя 0 соединен с каждым нейроном слоя 1 (называемого слоем Кохонена) отдельным весом итп. Аналогично, каждый нейрон в слое Кохонена (слое 1) соединен с каждым нейроном в слое Гроссберга (слое 2) весом ипр. СВР функционирует в двух режимах: в нормальном режиме, при котором принимается входной и выдается выходной вектор, и в режиме обучения, при котором подается входной вектор и веса корректируются, чтобы дать требуемый выходной вектор.

Для обучения сети, однако, в общем случае затруднительно сформировать обучающую выборку (ОВ) так, чтобы она содержала изображения всех объектов, которые предполагается обнаруживать в ИП. Поэтому результатом классификации является не

номер, а идентификатор объекта, представляющий собой совокупность «коэффициентов похожести» на объекты ОВ (например, если объектом классификации является автомобиль, то автомобиль марки, не выпущенной на момент формирования ОВ, может быть классифицирован как похожий на два или более автомобиля из тех, которые в ней уже присутствовали). Коэффициентами «похожести» в данном случае будут являться выходы СВР, а критерием удачной классификации изображения - превышение порога некоторой функцией, которая в простейшем случае будет вычисляться как среднеквадратичное значение этих коэффициентов:

Р2 = !>? > ^

г=1

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

3. Анализ и прогнозирование

Под анализом поведения объектов в данном случае авторы понимают выявление следующих ситуаций:

1) появление нового объекта (на текущем видеокадре обнаружен объект, не присутствовавший на предыдущем);

2) исчезновение объекта (ситуация, обратная п. 1);

3) изменение положения объекта (различаются координаты объекта на предыдущем и текущем видеокадрах).

Ситуации (1) и (2) не подлежат дальнейшей обработке, в то время как информация об изменении координат объекта используется как для выявления критических ситуаций (например, объект переместился в некоторую «опасную» зону), так и для аппроксимации траектории его движения (определение вероятности возникновения критической ситуации). Для каждого объекта находится зависимость его координат в ИП от времени с использованием регрессионного анализа и метода наименьших квадратов [4]. При этом для «забывания» «старых» точек каждая сумма перед добавлением в нее новой компоненты последовательности умножается на коэффициент «затухания», в соответствии с формулами (2).

St = Ъг * кТ - ,

г=1

Т

= V V. . кТ -'

'X

г=1

Бх = 1X  кТ -1,

Б* = Тх,. Ц .

г=1

Б2 =1^2  (кТ-г )2, г=1

Бп = ТкТ-1, г=1

где , Бх, , Б 2, Бп - значения элементов матрицы для вычисления коэффициентов

линейной регрессии, Т - количество точек, и - значение времени в 1-й точке, х, - значение координаты в 1-й точке, к - коэффициент «затухания».

Значение коэффициента «затухания» выбирается в интервале (0; 1] и чем ближе к нулю, тем менее «старые» точки влияют на прогнозирование движения объекта. Коэффициенты регрессии вычисляются методом Крамера по формуле (3): 2

2 - Л

А - Sn ' St 2 - St

Sx S, 2 — Sxt  St

a --—,

А

b-

Sn • Sxt — St • Sx

А

где Д - детерминант матрицы, a, b - коэффициенты линейной регрессии.

Предполагаемое значение координаты от времени может быть вычислено по формуле:

x

Теперь прогнозирование, (например, столкновения двух объектов) может быть выполнено путем вычисления значения пространственно-временного интервала на некотором промежутке времени и сравнения его с некоторой пороговой величиной, которую можно считать опасной в данной ситуации:

S2

где S(t) - расстояние между объектами, xt (t), yt (t), zt (t) - координаты i-го объекта в момент времени t, Аоп - критическое значение пространственно-временного интервала.

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

4. Практическое использование

В настоящее время авторами ведется разработка программной реализации (ПР) описанного выше подхода на языке Java (http://java.sun.com) в интегрированной среде разработки netbeans (http://www.netbeans.org).

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

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

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

Такая реализация допускает динамическую конфигурацию ВС: добавление дополнительного узла в ВС приводит к немедленному включению его в работу и увеличению общей производительности ВС. Отказ любого узла ВС (за исключением серверной части) не приведет к потере работоспособности всей ВС, а лишь к потере информации о том фрагменте видеокадра, который обрабатывался на этом узле в момент отказа, и снижению общей производительности ВС.

Заключение

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

Литература

1. INTUIT.ru: Интернет-Университет Информационных Технологий - дистанционное образование [Электронный ресурс]. Г.Э. Яхъяева. Учебный курс - Основы теории нейронных сетей. - Режим доступа: http://www.intuit.ru/department/ds/neuronnets/

2. Саймон Хайкин. Нейронные сети: полный курс. 2-е издание.: Пер. с англ. - М.: Издательский дом «Вильямс», 2006. - 1104 с.: ил. - Парал. тит. англ.

3. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. - М.: Финансы и статистика, 2002. - 344 с.: ил.

4. Выгодский М.Я. Справочник по высшей математике. - М.: ООО «Издательство Ас-трель»: ООО «Издательство АСТ», 2002. - 992 с.: ил.

5. Sun Microsystems - Россия и СНГ - Программирование на Java: подробное руководство [Электронный ресурс]. Александр Фролов. - Режим доступа: http://ru.sun.com/java/books/online/index.html