Назад в библиотеку

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

Автор: М.В. Ляшов, А.Н. Береза, А.М. Бабаев, С.А. Коцюбинская
Источник: Современные наукоемкие технологии. – 2018. – № 12 (часть 1) – С. 102–107,[Ссылка]

Аннотация

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

Ключевые слова: распознавание образов, отслеживание объектов, компьютерное зрение, оптический поток, свёрточные нейронные сети, OpenCV, Tensotflow

 

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

Главными требованиями к системам отслеживания объектов в видеопотоке являются: высокая точность обнаружения перемещений объекта и возможность обработки последовательности кадров в режиме реального времени (более 10 кадров в секунду).

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

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

Современные методы отслеживания объектов в видеопотоке. Наиболее популярными методами отслеживания объектов в видеопотоке являются алгоритмы:

  1. Online Boosting Tracker [1] – один из первых алгоритмов отслеживания объектов, имеющий высокую точность отслежива- ния. Основан на онлайн-версии алгоритмаAdaBoost, использующего для поиска объ- екта каскад Хаара.
  2. MIL Tracker (Multiple Instance Learn- ing Tracker) [2] является развитием идеи обучения с учителем и алгоритма Online Boosting Основное отличие заклю- чается в том, что в данном случае в качестве положительного примера рассматривается не только текущее местоположение объек- та, но и другие области, содержащие его.
  3. KCF Tracker (Kernelized Correlation Filters Tracker) [3] – KCF основывается на идеях двух предыдущих алгоритмов, одна- ко за счет использования математических свойств перекрывающихся областей по- ложительных примеров происходит значи- тельное увеличение быстродействия при более простой реализации.

Недостатком описанных выше методов является неспособность повторного обнаружения объекта в случае его потери.

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

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

Блок-схема интеллектуальной системы отслеживания объектов в видеопотоке представлена на рис. 1.

Система включает четыре компонента:

  1. Алгоритм отслеживания (трекер) позволяет оценивать смещение ограничительного окна от предыдущего кадра к текущему кадру. Он адаптивен к небольшим изменениям освещения и внешнего вида объекта. При этом предполагается, что данный компонент может ошибаться в случае частичного или полного перекрытия отслеживаемого объекта. Исходя из этого требуется дополнительный компонент, корректирующий работу алгоритма отслеживания.
  2. Алгоритм распознавания (детектор) является корректирующим компонентом системы. Его работа не зависит от перекрытия или исчезновения объекта. Детектор обнаруживает объект при его появлении в кадре и при необходимости корректирует или повторно инициализирует трекер, работая с ним параллельно. Для повышения точности детектора после каждого кадра необходимо обновлять его знания об отслеживаемом объекте и об объектах, расположенных на фоне.
  3. Объединение результатов предоставляет обобщенный вариант ограничительного окна, полученный на основе результатов детектора и трекера. Если ни трекер, ни деектор не выдают ограничительных окон, то считается, что объект потерян. В противном случае для каждого из ответов на основе NCC вычисляется параметр, который определяет величину подобия ограничительного окна и положительных примеров обучающей выборки (описано ниже). Система возвращает то ограничительное окно, которое обладает наибольшим значением этого параметра.
  4. Алгоритм обучения – это компонент, который выполняет обучение детектора для достижения более высокой точности. На каждой итерации алгоритма обучение анализирует выход трекера и детектора, оценивает ошибки, совершаемые детектором, и обновляет детектор, чтобы избежать этих ошибок в будущем.
Рисунок 1 – Блок-схема системы

Рисунок 1 – Блок-схема системы

Для оценки смещения объекта между кадрами были протестированы следующие алгоритмы: фильтр Калмана, алгоритм сдвига среднего (Mean-Shift) [4], алгоритм непрерывно адаптирующегося сдвига (CamShift) [5], алгоритм Лукаса – Канаде (Lucas-Kanade) [6]. При анализе особое внимание уделялось вычислительной сложности алгоритмов, а также тому, насколько эффективно они работают в условиях меняющегося размера, больших сдвигов и частичного перекрытия объекта. По результатам тестирования выбор был сделан в пользу метода Лукаса – Канаде в его пирамидальном варианте, который является компромиссом в отношении быстродействия и надежности.

При использовании метода Лукаса – Канаде в большинстве случаев имеются ошибочно найденные точки. Их количество зависит от величины смещения и изменения условий среды между кадрами. Для отсеивания ошибочных точек может была применена двухуровневая фильтрация, использованная в алгоритме медианного потока (Median-Flow tracker) [7].

На первом уровне выполняется фильтрация на основе нормализованной корреляции (Normalized-Cross Correlation, далее – NCC), которая является одним из компонентов технологии сопоставления шаблона. Сопоставление шаблона позволяет обнаружить местоположение некоторого изображения-шаблона Tс размерностью w×h на исходном изображении Iс размерностью W×H. Для этого Tпутем вычисления NCC последовательно сравнивается с каж- дым фрагментом I, имеющим размерность w×h. На выходе будет получено изображе- ние в градациях серого R с размерностью (W w + 1)×(H h + 1), где яркость каждого пикселя R (x, y) указывает на сходство его окрестности с шаблоном. Значение яркости R (x, y) определяется следующей метрикой:

где Tx, y – среднее значение яркости для шаблона;

I x, y – среднее значение яркости для текущего фрагмента исходного изображения.

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

Рисунок 2 – Сравнение окрестностей ключевых точек путем вычисления NCC

Рисунок 2 – Сравнение окрестностей ключевых точек путем вычисления NCC

После вычисления NCC для всех пар точек смежных кадров выполняется следующая фильтрация точек:

  1. Находится медианное значение последовательности значений NCC для всех пар точек.
  2. Точки, для которых значение нормаизованной корреляции оказалось меньше медианного значения, будут отброшены.

Итоговая схема одной итерации алгоритма отслеживания движения объектов приведена на рис.3.

Рисунок 3 – Одна итерация алгоритма отслеживания движения объектов

Рисунок 3 – Одна итерация алгоритма отслеживания движения объектов

Распознавание объектов с помощью свёрточной нейронной сети. Для выполнения распознавания объектов в видеопотоке выбор был сделан в пользу современных архитектур свёрточных нейронных сетей. СНС позволяют распознавать изображения с точностью, значительно превосходящей точность других методов классификации изображений [8, 9].

В ходе выполнения работы были проанализированы наиболее популярные современные архитектуры сверточных нейронных сетей, применяемы в задачах классификации изображений [10–12] (табл. 1).

Таблица 1 – Популярные архитектуры свёрточных нейронных сетей
  AlexNet VGG Net Google GoogLeNet ResNet MobileNet
Год 2012 2014 2014 2015 2017
Кол–во слоев 18 16 22 152 102
Кол–во параметров, млн 60 138 5 60 5
Точность,% 84,7 92,7 93,33 96,4 87,3
FPS 5 7 19 11 до 450

 

Одним из последних решений в сфере распознавания образов является семейство сетей MobileNets [12], которые были предложены компанией Google в 2017 г. Они предназначены для решения задач компьютерного зрения на мобильных устройствах, то есть устройствах с малым объемом памяти и вычислительных ресурсов. MobileNet проигрывают представителям семейства сетей  ResNet  и  Inception в плане точности классификации. Однако MobileNet имеет малые задержки (частота обработки кадров видеопотока может достигать 450 кадров в секунду) при обработке одного изображения и небольшие требования к ресурсам устройства, вследствие чего данная архитектура была выбрана в качестве основы построения детектора в разрабатываемой системе отслеживания объектов.

Экспериментальные исследования. Для реализации системы был выбран язык программирования Python а также библиотеки OpenCV и TensorFlow. В качестве аппаратной платформы  для  построения  и тестирования разрабатываемой системы был выбран персональный компьютер с графической картой GeForce GTX 1080 Ti и установленным программным обе-спечением CUDA и cuDNN. Это позволило достичь значительного ускорения работы нейронной сети MobileNet и получить систему, работающую в режиме реального времени.

Для проведения испытаний использовались четыре видеофайла: Jumping, Box, Motocross и Car Chase (табл. 2) [7].

Таблица 2 – Описание тестовых видеофайлов
Название Количество кадров Движение камеры Перекрытие Полное исчезновение Изменение размера объекта
Jumping 313 Да Нет Нет Нет
Box 1161 Нет Да Нет Нет
Motocross 2665 Да Да Да Да
Car Chase 9928 Да Да Да Да

 

Для оценки качества работы предлагаемого алгоритма было проведено его сравнение с алгоритмами Online Boosting Track, MIL Tracker и KCF Tracker. Использовались следующие критерии:

  1. Скорость работы алгоритма, измеряемая как кадровая частота в количестве кадров, обработанных за секунду (Frames per Second, далее FPS).
  2. Точность, вычисляемая на основе количества успешно распознанных кадров, когда ограничительное окно покрывает более 50 % объекта. Кадры, на которых отлеживаемый объект не присутствовал, не учитывались.

Результаты тестирования приведены на рис. 4.

а)

а)

а)

б)
Рис. 4. Результаты сравнения предлагаемого алгоритма отслеживания объектов в видеопотоке и современных методов: а) количество кадров в секунду (FPS); б) точность отслеживания объекта

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

Выводы

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

Список литературы

  1. Grabner H., Grabner M., Bischof H. Real-time Track- ing via On-line In Proceedings British Machine Vision Conference (BMVC). 2006. vol. 1. Р. 47–56.
  2. Babenko B. Visual Tracking with Online Multiple In- stance Learning. Computer Vision and Pattern Recognition, CVPR 2009. IEEE Conference. 2009. Р. 101–108.
  3. Henriques, J. High-Speed Tracking with Kernelized Correlation Filters. IEEE transactions on pattern analysis and machine intelligence. 2015. Р. 301–314.
  4. Dorin Comaniciu and Peter Mean Shift: A Robust Approach Toward Feature Space Analysis. IEEE Trans. Intell. 2002. Р. 603–619.
  5. Shujun Yao, Xiaodong Chen, Sen Wang, Zhihai Jiao, Yi Camshift algorithm - based moving target recognition and tracking system. IEEE International Conference on Virtual Environments Human-Computer Interfaces and Measurement Systems (VECIMS) Proceedings. 2012. Р. 513–529.
  6. Fleet D.J., Weiss Optical flow estimation. Handbook of Mathematical Models in Computer Vision. 2005. Р. 237–257.
  7. Kalal Z., Mikolajczyk K., Matas J. Forward-Backward Error: Automatic Detection of Tracking International
  8. Conference on Pattern Recognition In International Conference on Pattern Recognition. 2010. Р. 23–26.
  9. Goodfellow I., Bengio, Courville A. Deep Learning. The MIT Press, 2016. 800 p.
  10. Simonyan K. Very Deep Convolutional Networks for Large-Scale Image Recognition. ICLR 2014. Р. 587–601.
  11. Szegedy C. Going deeper with convolutions. Computer Vision and Pattern Recognition (CVPR), IEEE Conference. Р. 488–502.
  12. He K. Deep Residual Learning for Image Recognition. Computer Vision and Pattern Recognition (CVPR), IEEE Con- ference. Р. 770–778.
  13. Howard G. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications. ArXiv. 2017. URL: https://arxiv.org/abs/1704.04861 (дата обращения: 17.10.2018).