Научная статья на тему 'РАЗРАБОТКА МЕТОДА ИДЕНТИФИКАЦИИ ДВИЖЕНИЯ В ПОТОКЕ ДАННЫХ, ПОСТУПАЮЩИХ С IP-КАМЕРЫ'

РАЗРАБОТКА МЕТОДА ИДЕНТИФИКАЦИИ ДВИЖЕНИЯ В ПОТОКЕ ДАННЫХ, ПОСТУПАЮЩИХ С IP-КАМЕРЫ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
100
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
IP КАМЕРА / ВИДЕОПОТОК / ИДЕНТИФИКАЦИЯ ДВИЖЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Скалкин А.М.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF A METHOD FOR IDENTIFYING MOVEMENT IN THE DATA STREAM COMING FROM AN IP-CAMERA

The developed method of motion identification is necessary for economical storage of data coming from the video stream using traditional methods of image analysis. To solve the problem, the methods of subtracting the background, frame difference, and determining the boundaries were investigated.

Текст научной работы на тему «РАЗРАБОТКА МЕТОДА ИДЕНТИФИКАЦИИ ДВИЖЕНИЯ В ПОТОКЕ ДАННЫХ, ПОСТУПАЮЩИХ С IP-КАМЕРЫ»

УДК 004.9

А. М. СКАЛКИН

РАЗРАБОТКА МЕТОДА ИДЕНТИФИКАЦИИ ДВИЖЕНИЯ В ПОТОКЕ ДАННЫХ, ПОСТУПАЮЩИХ С 1Р-КАМЕРЫ

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

Ключевые слова: ip-камера, видеопоток, идентификация движения.

Введение

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

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

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

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

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

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

© Скалкин А. М., 2021

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

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

2. Реализация

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

Далее для определения движения на кадре вы-считывается разница между кадрами. Так как каждый кадр представляет собой 3-мерный массив, содержащий значения цветов BGR для каждого пикселя, тогда нахождение разницы diff будет происходить по формуле (1):

diffijk = max^frameijk,prevFrameijk) — — m\n^frameijk,prevFrameijk), (1) где i, j и k - индексы прохода по 3-мерному массиву;

frame - текущий считанный кадр; prevFrame - предыдущий считанный кадр. Например, если frameiJ = (30, 64, 180), а prevFrameij = (32, 60, 211), то diffij = (2, 4, 31). Полученная разница кадров содержит мелкий шум, как показано на рисунке 1.

Рис. 1. Разница кадров с шумом и человеком

: 462 : 463 : НА : ЛЬ5 •• 4

5 6 8 7

2 0 1

1 & 2 5

2 5 4

9 0 4

1 0 1

10 3 А

0 0 о

2 3 а

■ п л л

Рис. 2. Пример полученной разницы кадров без сглаживания

: Ш г : 464 : 465 * ш

0 4 б 7

1 4 5 5

г г 2 4 4

г 4 5 5 4 4

4 2 2 г 4 4

Ъ г 2 ъ 3 А

ь 1 а 1 1 4

7 1 г 3 4

3 0 0 0 0 0

Рис. 3. Пример полученной разницы кадров после сглаживания

16 : 17 = 18 : 19 : 20 : 21 г 22

0 >00 0.000 0.000 0.000 0.000 0.000 0.000

1 >04 0.000 0.000 0.000 0.000 0.000 0.000

2 >00 0.000 0.000 0.000 0.000 0.000 0.000

г X» 0.000 0.000 0.000 0.000 0.000 0.000

4 X» 0.000 0.000 0.000 0.000 0.000 0.000

Б X» 0.000 0.000 0.000 0.000 0.000 0.000

Б №0 0.010 0.004 0.003 0.005 0.000 0.002

7 >01 0.000 0.001 0.093 0.144 0.002 0.002

в »0 0.000 0.079 0.260 0.156 0.064 0.000

9 >01 0.001 0.090 0.144 0.161 0.036 0.000

10 »0 0.004 0.110 0.262 0.106 0.063 0.000

11 >14 0.012 0.056 0.1Э7 0.096 0.024 0.000

15 >1Э 0.006 0.01? 0.119 0.043 0.009 0.000

13 №0 0.004 О.ОЭ7 0.019 0.022 0.002 0.004

Рис. 4. Отображение блоков с изменениями

Рис. 5. Алгоритм процесса идентификации движения

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

smoothijk = median(diff[i — r:i + r,j — r:j + r, к]), . . (2) где i-r:i+r и j-r:j+r - получение всех индексов матрицы радиусом r от координат i и j;

median - алгоритм нахождение медианы; k - индекс, указывающий сглаживаемый слой цвета.

Для примера возьмем значения, представленные в рисунке 2.

В результате сглаживания в элемент по координатам i = 5, j = 465 будет записано значение 3, вместо первоначального значения 7. Пример разницы кадров после сглаживания представлен на рисунке 3.

На основе полученной сглаженной матрицы разницы кадров рассчитывается матрица изменившихся пикселей change на основе сравнения суммы изменения всех цветов пикселя и контрольной границы по формуле (3): changeij = thresholdPixel > Yk=o smoothijk,

. (3)

где i и j - индексы анализируемого пикселя; thresholdPixel - коэффициент изменения пикселя (например, 10).

В результате матрица изменённых пикселей будет 2-мерной и состоять из булевых значений. Эта матрица группируется по блокам размерностью blockSize (например, 50) в новый массив blocks меньшей размерности. Размерность данного массива равна размерам матрицы change, делённым без остатка на blockSize. Матрица blocks содержит отношение в процентах изменившихся пикселей в блоке по формуле (4):

r,(i+l)*blockSize r,(j+l)*blockSize , ,, , ^h = itblockSize ^w = j*blockSlze cnan3ehw

blockslj = -——;-,

lj blockSize2 '

(4)

где blockSize - размерность каждого блока; changehw - булево значение изменения пикселя (при сложении представляется в виде 0 и 1);

Пример матрицы blocks представлен на рисунке 4.

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

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

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

Задача сжатого хранения данных предполагала проведение экспериментов по определению наиболее подходящих вариантов форматов данных для работы. Так в качестве кодека сжатия для камеры был выбран H.264, показавший меньшее количество шума по сравнению с H.265, и он рекомендуется для использования, но при этом приложение работает с обоими форматами и не требует настройки кодека сжатия для работы.

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

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

Изначально проведя анализ существующих способов определения движения [1] как наиболее подходящие, были выбраны методы вычитания фона [2] и нахождения разницы кадров [3]. Метод оптического потока [4] требует постоянной освещённости, а метод определения движения через нахождение границ [5] является ресур-созатратным.

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

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

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

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

1. Берников В. В., Преображенский А. П., Чо-поров О. Н. Анализ алгоритмов обнаружения движущихся объектов на видеоизображении //Моделирование, оптимизация и информационные технологии. - 2018. - Т. 6, №3. - С. 223-233.

2. Zivkovic Z. Improved adaptive Gaussian mixture model for background subtraction // Proceedings of the 17th International Conference on Pattern Recognition, 2004. ICPR 2004. - IEEE, 2004. -Т. 2. - Рр. 28-31.

3. Садртдинов И. А. Алгоритм обнаружения движения на основе разницы кадров и метода сопоставления динамического шаблона // Академия педагогических идей Новация. Серия: Студенческий научный вестник. - 2018. - №. 6. -С. 66-72.

4. Hossen M. K., Tuli S. H. A surveillance system based on motion detection and motion estimation using optical flow // 2016 5th International Conference on Informatics, Electronics and Vision (ICIEV). - IEEE, 2016, рр. 646-651.

5. Кий К. И. Виртуальные граничные точки и контуры контрастных объектов: новый подход к анализу движения в реальном времени // Механика, управление и информатика (см. в книгах). - 2012. - №3. - С. 111-117.

6. Song T., Shimamoto T. Reference frame data compression method for H. 264/AVC //IEICE Electronics Express. - 2007. - Т. 4, №. 3. - С. 121-126.

REFERENCES

1. Berdnikov V. V., Preobrazhensky A. P., Choporov O. N. Analiz algoritmov obnaruzheniya dvizhushchihsya ob"ektov na videoizobrazhenii [Analysis of algorithms for detecting moving objects in a video image].Modelirovanie, optimizaciya i informacionnye tekhnologii [Modeling, optimiza-

tion and information technology], 2018, Vol. 6, No. 3,pp.223-233.

2. Zivkovic Z. Improved adaptive Gaussian mixture model for background subtraction //Proceedings of the 17th International Conference on Pattern Recognition, 2004. ICPR 2004, IEEE, 2004, T. 2, pp. 28-31.

3. Sadretdinov I. A. Algoritm obnaruzheniya dvizheniya na osnove raznicy kadrov i metoda sopostavleniya dinamicheskogo shablona [Motion detection algorithm based on frame difference and dynamic pattern matching method]. Akademiya pedagogicheskih idej Novaciya. Seriya: Studencheskij nauchnyj vestnik [Academy of Pedagogical Ideas Novation. Series: Student Scientific Bulletin]. 2018, No. 6, pp. 66-72.

4. Hossen M. K., Tuli S. H. A surveillance system based on motion detection and motion estimation using optical flow. 2016 5th International Conference on Informatics, Electronics and Vision (ICIEV), IEEE, 2016, pp. 646-651.

5. Kiy K. I. Virtual'nye granichnye tochki i kontury kontrastnyh ob"ektov: novyj podhod k analizu dvizheniya v real'nom vremeni [Virtual boundary points and contours of contrasting objects: a new approach to real-time motion analysis]. Mekhanika, upravlenie i informatika (sm. v knigah) [Mechanics, control and computer science (see books)], 2012, No. 3, pp. 111-117.

6. Song T., Shimamoto T. Reference frame data comression method for H. 264/AVC //IEICE Electronics Express, 2007, T. 4, No. 3, pp. 121-126.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Скалкин Антон Михайлович, ассистент кафедры «Информационные системы» УлГТУ.

Поступила 15.09.2021 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.