Распознавание объектов на телевизионных изображениях с использованием аппарата сверточных нейронных сетей

А.Н. Голубинский, А.А. Толстых

доктор технических наук, доцент, АО «Концерн «Созвездие»

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

RECOGNITION OF OBJECTS ON THE TV IMAGE USING THE APPARATUS OF THE CONVOLUTIONAL NEURAL NETWORKS

Проанализированы методы распознавания объектов на телевизионных изобра-^же н иях. Приведены результаты построения системы распознавания образов на телевизионных изображениях с помощью свёрточных нейронных сетей.

Methods of object's recognition in television images were analyzed. Results of system's building for objects identification in television images with the help of convolution neural network were represented.

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

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

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

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

Рис. 1. Классификация подходов к распознаванию объектов на изображениях

и примеры методов

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

Свёрточная нейронная сеть (СНС) — специальная архитектура искусственных нейронных сетей, представляющая собой чередование свёрточных слоев и слоёв подвы-борки [1].

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

щего слоя, связанных с данным нейроном. Слои нейронной сети, построенные описанным образом, называются свёрточными слоями [2]. Операция свёртки в классическом понимании является результатом операции над двумя функциями/и g:

где х, у — отсчеты функций. Также свёртка может быть описана как вес одной функции в случае, если другая функция, будучи отраженной и сдвинутой, является весовой [3].

Для вычисления значения используется матрица, называемая ядром свертки. Обычно ядро свертки является квадратной матрицей п х п, где п — нечетное. Во время вычисления нового значения выбранного пикселя ядро свертки центрируется относительно него. Окружающие пиксели также накрываются ядром. Далее высчитывается сумма, где слагаемыми являются произведения значений пикселей на значения ячейки ядра, накрывшей данный пиксель. Сумма делится на сумму всех элементов ядра свертки. Входные данные представляют собой изображения размерностью Nх N в количестве Б. Ядро свертки определяется матрицей к х к . Свертка изображения производится с Н ядрами свёртки для каждой области изображения. Свёртка одной области и одного ядра выделяет один признак. Таким образом, после процедуры свертки выделяется Н признаков. Свертку начинают с верхнего левого элемента входного вектора, затем двигаются в правую сторону, до момента достижения границы. Далее следует смещение вниз на один элемент и движение в левую сторону. Подобный алгоритм повторяется, пока не будет достигнута нижняя правая граница. Использование свёрточных слоёв позволяет значительно уменьшить количество настраиваемых параметров классификатора. Количество признаков рассчитывается по следующей формуле [4]:

Слои подвыборки необходимы для уменьшения размерности признаков. Они придают робастность признакам относительно шумов и искажений. Существует два основных способа объединения признаков: объединение по максимальным значениям и объединение по средним значениям: в обоих случаях входное пространство преобразуется в неперекрывающееся двумерное пространство. На рис. 2 приведен пример обоих типов объединения признаков.

С/**)(*) = \f{y)g(x-y)<fy = \ f{*-y)g(y)<fy

f,g-.Ж ->ж,

Рис. 2. Способы объединения признаков

СНС используют нелинейные функции активации, в качестве которых применяются различные специальные функции, например линейные выпрямительные функции и непрерывные функции порога. В сравнении с другими функциями активации (сигмои-дой, гиперболическим тангенсом, модулем гиперболического тангенса и т. д.), преимущество линейных выпрямительных функций в том, что нейронная сеть обучается во много раз быстрее [4]. Подробнее функции активации рассмотрены в [2].

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

Методика. В литературе число слоев, используемых в СНС, как правило, варьируется от 5 до 25 [4, 5]. Типичная архитектура СНС для распознавания потока символов приведена на рис. 3.

Рис. 3. Блочная диаграмма СМК

Для увеличения объема обучающей выборки на практике применяют следующие методы [6]:

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

2) применение гауссовского аддитивного шума для размытия исходного изображения;

3) выполнение зеркального отображения изображения относительно вертикальной или горизонтальной оси.

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

Для снижения эффекта переобучения широко применяется метод выбрасывания (dropout) — метод регуляризации сети. Суть данного метода заключается в отключении нейронов сети с заданной вероятностью. На рис. 4 представлена схема сети с применением метода выбрасывания.

Рис. 4. Схема сети с применением метода выбрасывания

Для каждого слоя l rl — вектор независимых бернуллиевых случайных величин, каждая из которых, с вероятностью p равна 1; w{11 — вес связи для слоя l; b{11 — значение смещения для слоя l; f — функция активации [5].

Экспериментальная часть. В ходе работы был реализован классификатор, распознающий 6 классов графических примитивов: на белом фоне с черной сплошной заливкой треугольник, круг, квадрат и на черном фоне с белой сплошной заливкой треугольник, круг, квадрат. Для составления обучающей выборки было получено 400 изображений каждого класса с разрешением 640 х 480 пикселей в цветовой модели RGB при разной освещенности.

Ядро свёртки сдвигалось относительно изображения на один пиксель. Структура разрабатываемой СНС представлена на рис. 5.

Рис. 5. Структура СНС для классификации заданных изображений

Цифрами в свёрточных слоях обозначен размер ядра свёртки; в слоях подвыборки — размерность подвыборки; тах — способ подвыборки по максимальным значениям; в полносвязных слоях — количество нейронов в слое. При выполнении операции свёртки вычислялись карты признаков:

г к \

Щ = тах

о, Е и

V к=1

^ + К

где Щ — ] элемент карты признаков; Щ — k элемент карты признаков предыдущего слоя; — элемент ядра; Ьп — смещение для текущего слоя. В качестве карты обрабатываемых признаков для первого свёрточного слоя используется входное изображение.

Полносвязные слои представляют собой классический персептрон. Его математическая модель определяется следующими формулами [2]:

*=Е

;

I = / (* ); / (х) =

1

1 + в~

где £ — значение ячейки нейрона; Xi — 1-й вход нейрона; Wi — вес /-го входа; п — количество входов нейрона; У — отклик нейрона; / — функция активации, в данном случае классическая сигмоида.

На рис. 6 приведена схема количества настраиваемых параметров на каждом уровне построенной нейронной сети, где I — входное изображение; с — количество цветовых каналов изображения; т — ширина изображения; п — высота изображения; к — карта признаков для текущего свёрточного слоя, верхний индекс обозначает номер слоя; q — размерность карты признаков; е — количество карт признаков для текущего свёр-точного слоя, нижний индекс — номер слоя; k — количество строк в ядре свёртки (ядро свёртки — квадратная матрица), нижний индекс — определяет принадлежность к слою; р — расширение изображения [6]; Я — слой подвыборки, верхний индекс — номер слоя; О — полносвязный слой, нижний индекс обозначает номер слоя; g — количество нейронов в текущем полносвязном слое; О — количество нейронов в выходном слое.

1=1

Рис. 6. Схема количества настраиваемых параметров на каждом уровне построенной

нейронной сети

Стоит отметить, что структура выбиралась, основываясь на следующих правилах: квадратное входное изображение, искусственное снижение скорости уменьшения карт признаков для выделения признаков высокого разрешения, увеличение количества карт признаков (минимум в 2 раза) на каждом метаслое, использование метода выбрасывания [6]. Построенная архитектура позволяет классифицировать выбранный тип объектов с достаточно высокой точностью. В табл. 1 приведено расчетное количество настраиваемых параметров свёрточной нейронной сети. При добавлении дополнительного полносвязного

слоя в архитектуру СНС время обучения возрастает приблизительно на 20%, однако точность распознавания остаётся прежней. При уменьшении количества полносвязных слоёв до одного время обучения уменьшается приблизительно на 7%, но при этом увеличивается ошибка распознавания — на 10%. При уменьшении числа нейронов в полносвязном слое в 4 раза время обучения изменяется незначительно, однако, ошибка увеличивается на 10%. Ошибка рассчитывалась на изображениях, подверженных разного рода искажениям (формы и размера примитива).

Следует отметить, что увеличение количества параметров СНС (размерности сигнала) необходимо для извлечения характерных признаков того или иного объекта [7, 8]. Только последние два полносвязных слоя производят свёртку многомерного сигнала и его отображение в выходное пространство с малым числом измерений [6].

Входной вектор представляет собой массив размерностью 3 х 40 х 40 . Общий объем входных данных составляет 38400 бит. На практике размер входного изображения выбирают от 32 х 32 до 255 х 255 в зависимости от количества классов объектов, а так же количества каналов и разрешения исходного изображения [7, 9].

Таблица 1

Расчётное число параметров нейронной сети

№ п/п Слой свёрточной нейронной сети Количество параметров слоя

1 Входные данные 0

2 Свёрточный слой 5 х 5 1216

3 Свёрточный слой 3 х 3 4640

4 Слой подвыборки 2, max 0

5 Свёрточный слой 3 х 3 9248

6 Свёрточный слой 3 х 3 9248

7 Слой подвыборки 2, max 0

8 Свёрточный слой 3 х 3 18496

9 Свёрточный слой 3 х 3 36928

10 Слой подвыборки 2, max 0

11 Полносвязный слой 102464

12 Полносвязный слой 4160

13 Выходной полносвязный слой 390

14 Общее число параметров 186790

В процессе обучения была получена характеристика потерь. Обучение длилось 100 эпох, каждая эпоха рассчитывалась 158 секунд. Таким образом, обучение данного классификатора быстрее обучения каскадов Хаара примерно в два раза для указанной задачи [10]. Ошибка обучения рассчитывалась на проверочном наборе данных, которые были составлены методом случайной выборки 2,5% из обучающего набора. Обучающие данные перед процессом обучения были перемешаны в случайном порядке.

Визуализация данных обучения нейронной сети приведена на двух графиках, так как значения ошибки сильно отличаются в начале обучения и в конце. На рис. 7 приведены графики ошибок обучения в первые 10 эпох и с 11 по 100 эпоху.

0,04

0,03

0,03

х : ::

э

0,01

о

0,01

0,00

г\Л

V * ИЛ/ш «Л»™

11 20 30 40 50 60 70 30 90 Эпохи

Рис. 7. Ошибка обучения на 100 эпохах обучения. Штриховой линией обозначена ошибка на тестовых данных, сплошной линией — на обучающих

Меньшая ошибка на тестовых данных обусловлена тем, что они содержат меньше образцов изображений с объектами. Следует отметить, что в процессе обучения при большом количестве эпох возникает эффект переобучения (СНС подбирает веса нейронов и ядер свёртки таким образом, что распознаёт объекты только в пределах обучающей выборки) [2]. На рис. 11 приведен график ошибки обучения в последующие 90 эпох.

Значения ошибки на 100-й эпохи обучения составляют соответственно 1,6 х 10-4 и 2,4х10-4 для тестовых и обучающих данных. Ошибка приведена в абсолютных единицах, которые вычисляются путём деления количества неверно классифицированных образцов к количеству верно классифицированных.

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

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

Выводы. Полученные в работе результаты были сопоставлены с результатами распознавания методом, основанным на применении каскадов Хаара. Данный метод был рассмотрен и реализован в [10]. Установлено, что ошибка распознавания с помощью СНС меньше в среднем на 60—70%. Скорость работы обученного классификатора на

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

ЛИТЕРАТУРА

1. Гонсалес Р., Вудс Р. Цифровая обработка изображений. — М. : Техносфера, 2012. — 1105 с.

2. Хайкин, С. Нейронные сети. Полный курс. — М. : Вильямс, 2006. — 1104 с.

3. Viola P., Jones J. Rapid Object Detection using a Boosted Cascade of Simple Features // Proceedings IEEE Conf. on Computer Vision and Pattern Recognition. — 2001. — C. 6—15.

4. Шапиро Л., Стокман Дж. Компьютерное зрение. — М. : БИНОМ : Лаборатория знаний, 2006. — 752 с.

5. N. Dropout: A Simple Way to Prevent Neural Networks from Overfitting / N. Sri-vastava, G. Hinton, A. Krizhevsky, I. Stuskever, R. Salakhutdinov // Journal of Machine Learning Research. — 2014. — C. 1929.

6. Deep Learning An MIT Press book. — URL: http://www.deeplearningbook.org/ (дата обращения 10.11.2016).

7. Going deeper with convolutions / С. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, A. Rabinovich // IEEE Conference on Computer Vision and Pattern Recognition.

8. Deep Residual Learning for Image Recognition / K. He, X. Zhang, S. Ren, J. Sun // Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) — DC, USA: IEEE Computer Society Washington, 2016 — C. 2342—2354.

9. Schmidhuber J. Multi-column deep neural networks for image classification / J. Schmidhuber // Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — DC, USA : IEEE Computer Society Washington, 2012. — C. 3642— 3649.

10. Толстых А. А., Голубинский А. Н. Анализ параметров и математических моделей, используемых для распознавания объектов на телевизионных изображениях // Общественная безопасность, законность и правопорядок в III тысячелетии : сб. мат. — Воронеж : Воронежский институт МВД России, 2016. — C. 266—272.

REFERENCES

1. Gonsales R., Vuds R. Tsifrovaya obrabotka izobrazheniy. — M. : Tehnosfera, 2012. — 1105 s.

2. Haykin, S. Neyronnyie seti. Polnyiy kurs. — M. : Vilyams, 2006. — 1104 s.

3. Viola P., Jones J. Rapid Object Detection using a Boosted Cascade of Simple Features // Proceedings IEEE Conf. on Computer Vision and Pattern Recognition. — 2001. — C. 6—15.

4. Shapiro L., Stokman Dzh. Kompyuternoe zrenie. — M. : BINOM : Laboratoriya znaniy, 2006. — 752 s.

5. N. Dropout: A Simple Way to Prevent Neural Networks from Overfitting / N. Sri-vastava, G. Hinton, A. Krizhevsky, I. Stuskever, R. Salakhutdinov // Journal of Machine Learning Research. — 2014. — C. 1929.

6. Deep Learning An MIT Press book. — URL: http://www.deeplearningbook.org / (data obrascheniya 10.11.2016).

7. Going deeper with convolutions / S. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, A. Rabinovich // IEEE Conference on Computer Vision and Pattern Recognition.

8. Deep Residual Learning for Image Recognition / K. He, X. Zhang, S. Ren, J. Sun // Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) — DC, USA: IEEE Computer Society Washington, 2016 — C. 2342—2354.

9. Schmidhuber J. Multi-column deep neural networks for image classification / J. Schmid-huber // Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — DC, USA : IEEE Computer Society Washington, 2012. — C. 3642—3649.

10. Tolstyih A. A., Golubinskiy A. N. Analiz parametrov i matematicheskih modeley, ispolzuemyih dlya raspoznavaniya ob'ektov na televizionnyih izobrazheniyah // Obschestven-naya bezopasnost, zakonnost i pravoporyadok v III tyisyacheletii : sb. mat. — Voronezh : Vo-ronezhskiy institut MVD Rossii, 2016. — C. 266—272.

СВЕДЕНИЯ ОБ АВТОРАХ

Голубинский Андрей Николаевич. Начальник отдела. Доктор технических наук, доцент.

Концерн «Созвездие».

E-mail: annikgol@mail.ru

Россия, 394065, Воронеж, ул. Плехановская, 14. Тел. (473)200-52-54.

Толстых Андрей Андреевич. Адъюнкт кафедры физики.

Воронежский институт МВД России.

E-mail: tolstyhaa@vimvd.ru

Россия, 394065, Воронеж, проспект Патриотов, 53. Тел. (473)200-52-68.

Golubinskiy Andrey Nikolaevich. Chief of the department. Doctor of Technical Sciences, Assistant Professor.

Concern «Sozvezdie».

E-mail: annikgol@mail.ru

Work address: Russia, 394018, Voronezh, Plekhanovskaya Str., 14. Tel. (473) 200-52-54.

Tolstykh Andrey Andreevich. Post-graduate cadet of the chair of Physics.

Voronezh Institute of the Ministry of the Interior of Russia.

E-mail: tolstyhaa@vimvd.ru

Work address: Russia, 394065, Voronezh, Prospect Patriotov, 53. Tel. (473)200-52-68.

Ключевые слова: сверточные нейронные сети; распознавание объектов; построение классификатора.

Key words: convolution neural networks; object recognizing; classifier building. УДК 004.932:004.032.26