Автор: М.В. Ляшов, А.Н. Береза, А.М. Бабаев, С.А. Коцюбинская Источник: Современные наукоемкие технологии. – 2018. – № 12 (часть 1) – С. 102–107,[Ссылка]
Аннотация
Данная статья посвящена разработанной нейросетевой системе отслеживания объектов в видеопотоке. Предлагаемый алгоритм позволяет в режиме реального времени определять местоположение целевого объекта в текущем кадре видеопотока. Для отслеживания системе достаточно предоставить текущий и преды- дущий кадры видео, а также положение целевого объекта на предыдущем кадре. Система предварительно не обучена для отслеживания определенного объекта – целевой объект определяется при запуске системы. Для повышения точности и надежности системы были использованы как методы отслеживания объектов, так и методы распознавания образов. Оценка смещения объекта от кадра к кадру была реализована на основе метода Лукаса – Канаде и медианного фильтра. Распознавание объекта осуществляется с помощью свёрточной нейронной сети, в частности, архитектуры MobileNet. В работе приведены результаты экспериментальных исследований на основе четырех видеофайлов. Итоги экспериментов говорят о том, что предлагаемая ком- бинация технологий распознавания и отслеживания объектов позволяет решить проблему потери целевого объекта при его исчезновении или частичном перекрытии другим объектом. Кроме того, разработанный алгоритм инвариантен по отношению к форме объекта и изменению освещенности среды.
Ключевые слова: распознавание образов, отслеживание объектов, компьютерное зрение, оптический поток, свёрточные нейронные сети, OpenCV, Tensotflow
В эпоху больших данных бурный рост переживает область компьютерного зрения. Компьютерное зрение позволяет решать различные задачи, одной из которых является отслеживание движущихся объектов в видеопотоке.
Главными требованиями к системам отслеживания объектов в видеопотоке являются: высокая точность обнаружения перемещений объекта и возможность обработки последовательности кадров в режиме реального времени (более 10 кадров в секунду).
В данной работе представлена интеллектуальная система отслеживания произвольных объектов в видеопотоке. Разработанная система не является предварительно обученной для отслеживания каких-либо конкретных объектов, а позволяет определять целевой объект при запуске.
Цель исследования заключалась в разработке алгоритма отслеживания объектов в видеопотоке, инвариантного по отно- шению к свойствам объекта (цвет, форма и т.д.) и среды (например, освещение). Также в работе алгоритма учтены возможные потери отслеживаемого объекта вследствие его выхода из поля зрения камеры или пере- крытия другим объектом. В этом случае от- слеживаемый объект может быть повторно обнаружен автоматически.
Современные методы отслеживания объектов в видеопотоке. Наиболее популярными методами отслеживания объектов в видеопотоке являются алгоритмы:
Недостатком описанных выше методов является неспособность повторного обнаружения объекта в случае его потери.
Предлагаемое решение. Разработанный алгоритм обеспечивает возможность отслеживания передвижений объекта в видеопотоке при его потере из-за перекрытия другим объектом или исчезновения из поля зрения камеры. Расположение объекта на изображении задается ограничительным окном – это прямоугольная область, содержащая фрагмент изображения с отслеживаемым объектом.
В качестве входной информации алгоритму необходимо предоставить текущий кадр видеопотока и ограничительное окно на предыдущем кадре. На выходе алгоритма будут получены координаты ограничительного окна, соответствующего положению объекта на текущем кадре видеопотока.
Блок-схема интеллектуальной системы отслеживания объектов в видеопотоке представлена на рис. 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
После вычисления NCC для всех пар точек смежных кадров выполняется следующая фильтрация точек:
Итоговая схема одной итерации алгоритма отслеживания движения объектов приведена на рис.3.
Рисунок 3 – Одна итерация алгоритма отслеживания движения объектов
Распознавание объектов с помощью свёрточной нейронной сети. Для выполнения распознавания объектов в видеопотоке выбор был сделан в пользу современных архитектур свёрточных нейронных сетей. СНС позволяют распознавать изображения с точностью, значительно превосходящей точность других методов классификации изображений [8, 9].
В ходе выполнения работы были проанализированы наиболее популярные современные архитектуры сверточных нейронных сетей, применяемы в задачах классификации изображений [10–12] (табл. 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].
Название | Количество кадров | Движение камеры | Перекрытие | Полное исчезновение | Изменение размера объекта |
---|---|---|---|---|---|
Jumping | 313 | Да | Нет | Нет | Нет |
Box | 1161 | Нет | Да | Нет | Нет |
Motocross | 2665 | Да | Да | Да | Да |
Car Chase | 9928 | Да | Да | Да | Да |
Для оценки качества работы предлагаемого алгоритма было проведено его сравнение с алгоритмами Online Boosting Track, MIL Tracker и KCF Tracker. Использовались следующие критерии:
Результаты тестирования приведены на рис. 4.
а)
б) Рис. 4. Результаты сравнения предлагаемого алгоритма отслеживания объектов в видеопотоке и современных методов: а) количество кадров в секунду (FPS); б) точность отслеживания объекта
По результатам исследований можно сделать вывод, что предложенный в данной работе алгоритм не уступает аналогам в плане точности отслеживания объекта, а в некоторых случаях и превосходит их. Это во многом объясняется тем, что разработанная технология отслеживания объектов включает в себя детектор, который позволяет повторно инициализировать трекер в случае потери объекта. Кроме того, алгоритм показал стабильный показатель скорости обработки видеопотока, который в незначительной мере зависит от размера отслеживаемого объекта.
В данной работе была описана система реального времени для отслеживания объекта в видеопотоке. Система показала высокие результаты распознавания одного объекта на кадрах видеофайлов при использовании графических карт. Дальнейшая работа будет направлена на повышение точности и надежности работы системы, а также на увеличение скорости обработки видеопотока и обеспечения возможности одновременного отслеживания нескольких объектов.