Научная статья на тему 'АЛГОРИТМ ПОИСКА СОБЫТИЙ В ВИДЕОПОСЛЕДОВАТЕЛЬНОСТЯХ'

АЛГОРИТМ ПОИСКА СОБЫТИЙ В ВИДЕОПОСЛЕДОВАТЕЛЬНОСТЯХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
14
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОИСК РАЗЛАДОК / СЕГМЕНТАЦИЯ ВИДЕО / ДУБЛИКАТЫ ВИДЕО / СКОЛЬЗЯЩАЯ СРЕДНЯЯ ОЦЕНКА / ПОТОКОВАЯ ОБРАБОТКА ВИДЕО / DISCORD DETECTION / VIDEO SEGMENTATION / VIDEO DUPLICATES / MOVING AVERAGE SCORE / VIDEO STREAMING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лукин Владимир Николаевич, Никитин Илья Константинович

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

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

VIDEO SEQUENCES RETRIEVAL ALGORITHM

The article focuses on the algorithms of the event detection in content-based video retrieval. Video has a complex structure and can express the same idea in different ways. This makes the task of searching for video more complicated. Video titles and text descriptions cannot give the whole information about objects and events in the video. This creates a need for content-based video retrieval. There is a semantic gap between low-level video features, that can be extracted, and the users’ perception. The task of event detection is reduced to the task of video segmentation. Complex content-based video retrieval can be regarded as the bridge between traditional retrieval and semantic-based video retrieval. The properties of video as a time series are described. The concept of anomalies in the video is introduced. A method for event detection based on comparing moving averages with windows of different sizes is proposed. According to the classification given at the beginning of this article, our method refers to statistical methods. It differs from other methods of low computational complexity and simplicity. The video stream processing language is proposed for function-based description of video handling algorithms. So, our method is formulated in the form of a declarative description on an interpreted programming language. Unfortunately, most of the existing video processing methods use exclusively imperative approach, which often complicate its understanding. Examples of this language implementation are given. Its grammar is described either. As it was shown by the experiments, the implementation of the proposed video events retrieval method, unlike their counterparts, can work for video streams as well with a real-time and potentially infinite frame sequences. Such advantages within low computational requirements make implementation of the method helpful in aviation and space technology. The algorithm has some disadvantages due to necessity of parameter selection for particular task classes. The theorem on near-duplicates of video is formulated at the end of the article. It asserts the near-duplicate videos express the same sequence of phenomena.

Текст научной работы на тему «АЛГОРИТМ ПОИСКА СОБЫТИЙ В ВИДЕОПОСЛЕДОВАТЕЛЬНОСТЯХ»

Труды МАИ. Выпуск № 96

http://trudymai.ru/

УДК 004.932.2

Алгоритм поиска событий в видеопоследовательностях

Лукин В.Н.*, Никитин И.К.**

Московский авиационный институт (национальный исследовательский университет), МАИ, Волоколамское шоссе, 4, Москва, A-80, ГСП-3, 125993, Россия

*е-mail: lukinvn@list.ru **е-mail: w-495@yandex.ru

Аннотация

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

Ключевые слова: поиск разладок, сегментация видео, дубликаты видео, скользящая средняя оценка, потоковая обработка видео.

Введение

Актуальность проблемы поиска событий в видео объясняется интенсивным использованием видеоданных в современных вычислительных системах, что закономерно порождает проблему эффективного их поиска и быстрого доступа к ним. За 20-30 лет человечество накопило большое количество видеоинформации. Речь идет не только о видео в интернете. Речь идет, в первую очередь, о камерах наблюдения. Этот массив информации невозможно просмотреть целиком. Эффективных методов анализа видео, подобных анализу текста, в настоящее время нет. Необходимо иметь возможность индексировать видео и осуществлять поиск по нему. Для решения задачи поиска применяют ассоциативный метод. В англоязычной литературе ассоциативный поиск видео называют «content based video retrieval» — поиск по содержимому. Поиск событий в видео — его частный случай.

Подходы

Ассоциативный поиск видео состоит из следующих шагов:

• анализ временной структуры видео: деление видео на фрагменты, которoе включают обнаружение границ съёмок;

• определение характеристик фрагментов: исследование параметров ключевых кадров, характеристик движения и объектов;

• извлечение информации из полученных характеристик.

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

Пороговые методы

Пороговые методы попарно сравнивают подобия кадров с заданным порогом [2, 15]. Если сходство между кадрами или «окнами» оказывается ниже порога, граница съёмок считается найденной. Порог может быть глобальным, адаптивным или комбинированным. Глобальный порог подбирается экспериментально для всего видео целиком [2]. Локальные особенности при этом не учитываются, что отрицательно влияет на точность обнаружения. Алгоритмы адаптивного порога, основанные на скользящем окне, вычисляют порог локально [7, 13]. Скользящее окно запоминает предыдущие точки временного ряда, возвращает их вместе с текущей точкой в виде последовательности заданного размера. Для применения адаптивного порога необходимы априорные знания о самом видео, например, для выбора размера окна. Комбинация адаптивных и глобальных порогов позволяет подстраивать локальные пороги при наличии значения общих параметров. Например, в работе [11] введена пороговая функция. Значение функции изменяется

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

Статистические методы

Статистические методы находят события на основе характеристик кадров. Определение границ сцен может рассматриваться как задача классификации на основе статистического обучения. Кадры классифицируются как принадлежащие сцене и как ей не принадлежащие. Используются классификаторы как с учителем — контролируемые, так и без учителя - неконтролируемые. Преимущество методов классификации с учителем в том, что не нужно искусственно устанавливать пороги определения границ. Вместе с тем, для повышения точности могут быть использованы самые разные виды характеристик. Недостаток такой классификации — необходимость аккуратного выбора примеров для обучения, как положительных, так и отрицательных. К контролируемым классификаторам относят AdaBoost (Adaptive Boosting — адаптивное улучшение) и метод опорных векторов (МОВ, SVM —support vector machine). Применяют и некоторые другие алгоритмы. В работе [3] применяют классификатор kNN на основе поиска ближайших соседей, в котором сходства кадров на определенном временном интервале используются как входные данные. В работе [1] различные виды перехода съёмок находят с помощью скрытых моделей Маркова (HMM). В работах [10, 12, 14] используется метод опорных векторов для того, чтобы обнаружить монтажные склейки. В работе Чжао

[9] для скользящего окна применяются два МОВ-классификатора, чтобы отличить плавную смену съёмок от линейных склеек. В работе [5] МОВ использовали для классификации кадров в трех категориях: постепенный переход, склейка и прочие кадры. В работах [4] и [8] МОВ комбинируют с пороговыми методами. Предварительно, границы-кандидаты ищут с помощью порога. После этого применяют МОВ-классификатор для более строгого отбора.

Поиск событий в видео

На низком уровне представления видеоряд содержит последовательность изображений и последовательность аудио-отчетов. Мы будем обсуждать только визуальный ряд. Видео может не содержать звука, но при этом, звука без изображения в видео не бывает.

События в видео

Из каждого кадра можно выделить большое количество признаков: цветовые моменты, цветовые коррелограммы, цветовые гистограммы, гистограммы направлений границ, вейвлет-текстуры [19]. Для поиска событий не важно, какие признаки использовать. Важен факт изменения этих признаков во времени. Более того, для анализа изменений совокупности признаков удобно свести всю совокупность к одной единственной характеристике. В исходном виде кадр представляет собой набор точек-пикселей. Каждый пиксель описывается цветом в заданном цветовом пространстве (RGB, YCrCb, Lab). Без ограничения общности, в качестве цветового пространства исходного видео будем рассматривать RGB.

Пусть Ft — кадр исходного видео в момент времени t.

Xi,i, Xi ,т

Ft = ......... , ,

\ ' ' ' %n,m ) ^ (1)

xi,j = {.ri,ji 9i,jibi,j} G Mf0)1]; Где r, j , gj, j и bj, j — интенсивности цветов красного, зелёного и синего. Для каждого кадра вычислим значение по выбранной норме:

1 п т

n-mi=0j=0 ^

f ■■ ®fo,i] «1Р,1]

Каждая точка кадра может быть представлена яркостью — величиной Y в цветовом пространстве YUV [19]. С помощью формулы перехода из цветового пространства RGB в цветовое пространство YUV получим:

yid = Y(xij) = 0,299 • ritj + 0,587 • gid + 0,114 • bid (3)

Коэффициенты при цветовых составляющих задаются формулой перехода из RGB в YUV. Зададим функцию f как fx, j) = Y(x, j). В общем случае, величина | \Ft\ \L1 характеризует состояние видео в момент времени t. Далее это состояние мы будем называть точкой видео, и обозначать Pt :

Р* = 11^11ы (4)

Временной ряд таких точек будем обозначать P(t):

P(t) = {Ц^ИиК (5)

Сами величины P(t) не представляют большого интереса. Но изменение этих величин характеризует изменение состояния потока видео. А изменение видео потока указывает на события, происходящие в сюжете видео.

Поиск аномалий в видео

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

Определение 4.1. Событие (или аномалия) — резкое изменение свойств наблюдаемого ряда в заранее неизвестный момент времени. Иногда такие аномалии называют «разладками».

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

класса видео: советские мультипликационные фильмы и видео, снятые камерами БПЛА. Все материалы взяты из открытых источников.

Пороговые методы со статическим порогом

Самый простой метод, который может быть применен для выделения аномалий — это сравнения разностей соседних величин с заранее заданным порогом.

А = я.-Р.-1- (6)

{

Превышение порога Тсотг будет считаться аномалией. Такие методы просты в реализации, в том числе, аппаратной, и не требовательны к ресурсам. Однако требуется заранее знать порог. Кроме того, эти методы не применимы для разных типов видео; чувствительны к случайным всплескам; ловят только краткосрочные события.

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

А = №\\ы - №-1\\Ь1; А = \\Ft-Ft-! ||Ь1;

(7)

^ п т

= ^ ^ ~ УШ-11, где (8)

п " т i=Q э=О

• у,, г = г) — яркость пикселя кадра ^ в момент времени г;

• У,г -1 = г -1) — яркость пикселя кадра в м ^ _ 1 омент времени ?-1;

• I yi, j, t -1 - Уi, j, t I — разность яркостей двух пикселей.

Если средняя разность пикселей превысит заранее заданное число — порог, мы считаем, что «разладка» найдена.

Язык потоковой обработки видео

Для решения задачи нами был разработан метаязык на базе языка Python. Основная сущность языка потоковой обработки видео — фильтр. Фильтр — это абстрактный тип на языке Python с перегруженными операторами. Фильтры описывают набор действий над временным рядом P(t). Наивный пороговый метод может быть задан следующим образом:

delay = DelayFilter() # Фильтр линейной задержки. orig = delay(0) # Входящий сигнал без изменения. shift = ShiftSWFilter() # Сдвиг сигнала на один кадр. diff = orig - shift # Разность соседних кадров. norm = NormFilter() # Норма сигнала. T CONST = 0.08 # Значение порога. Константа. threshold = orig > T CONST # Пороговый фильтр.

d Jilter = diff I abs | norm(l=1) # Фильтр нормированной абсолютной разности. resultfilter = dfilter | threshold # Результирующий фильтр: точки разладок. Оператор «|» означает «конвейер». При любых операциях над фильтрами вычисления с кадрами видео не производится. В этот момент происходит только создание дерева операций, с помощью которого будет обработано видео. Полное

дерево операций выражено итоговым фильтром («resultfilter»). Непосредственная обработка видео происходит в момент вызова метода «filter_objects()» итогового фильтра «resultfilter».

Грамматика языка потоковой обработки видео

За основу языка потоковой обработки взят язык программирования Python. Любой фильтр может быть реализован на языке Python. Однако для простоты реализации использовано ограниченное подмножество языка. Ниже описана полная грамматика применяемого языка потоковой обработки видео. Полную грамматику языка Python можно найти в работе [16]. Используются следующие обозначения для лексем.

• FILTERNAME — имена атомарных фильтров, которые нельзя реализовать в рамках предложенного языка.

• POINT FILTER NAME — имена атомарных фильтров, которые работают только над текущей точкой временного ряда.

• WINDOWFILTERNAME — имена атомарных фильтров, которые формируют скользящее окно.

• arglist — допустимый список аргументов функции в языке Python.

• op — допустимый бинарный оператор в языке Python.

• expr — допустимое выражение в языке Python. Описание грамматики имеет вид:

FILTER ::= FILTER NAME '('[arglist] ')' \ FILTER '\'FILTER \ FILTER '\'expr \ FILTER op expr

FILTER NAME ::=POINT FILTER NAME \ WINDOW FILTER NAME POINT FILTER NAME ::= 'Filter' \ 'NormFilter' \ 'DelayFilter' \ 'SignAngleDiffIDFilter' \ 'SignAngleDiff2DFilter' \ 'SignChangeFilter' \ 'ColourFilter'

WINDOW_FILTER_NAME ::= 'BaseSWFilter' | 'ShiftSWFilter'

op ::= '<' \ '>' \ '==' \ '> = ' \ '< = ' \ '<>' \ '!=' \ '<<' \ '>>' \ 'А' \ '+' \ '-' \ '*' \ '**' \ '/' \

'%' \ 'in' \ 'not' 'in'\ 'is' \'is' 'not' expr ::=python expression

Поиск аномалий с помощью FFmpeg

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

( пИтред гр

Щ ^ 1 с

<

, где

(9)

А

1

X) Е) \Уг,з,Ь ~ Уг,о,Ь-1

п т

П • т

г=0

• у,, г = У(х,, ) — яркость пикселя кадра ^ в момент времени г;

• У1, г -1 = г -1) — яркость пикселя кадра в м ^ -1 омент времени ? - 1;

• Тсот1 — порог, превышение которого будет считаться аномалией.

Минимум тт(Д ,\Ог - 0{-1\) используется для того, чтобы избежать

всплесков, если график сигнала монотонно убывает или возрастает. Разность двух последовательных разностей имеет смысл скорости изменения яркости. Малая скорость изменения при значительном изменении говорит о том, что яркость равномерно меняется в некоторой окрестности данного кадра. При быстром, но плавном изменении яркостей кадров с точки зрения авторов порога из FFmpeg — разладки нет.

Недостатки статического порога

Несмотря на свою простоту и удобство, статический порог обладает рядом существенных недостатков: величину порога надо знать заранее; нельзя использовать везде одну и ту же величину порога. Проведенные эксперименты показывают, что величина порога, которая хорошо определяет аномалии на видео с резкой сменой событий, не подходит для плавного видео. В качестве плавного видео мы рассматривали видео бортовых камер БПЛА. В качестве динамичных

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

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

Нормировка по размаху разности кадров

Нормировка по размаху разности кадров подразумевает применение следующего алгоритма:

1. Выбрать размер скользящего окна — s;

2. Для каждого кадра из последовательности:

a. вычислить максимальное От\п> ^ г = шт(Д _ ^ ... и минимальное ^тах> г = тах(Д - Л ... ,Д) значение разности кадров на этом окне;

b. вычислить размах разностей ^тах г - ^ г для данного скользящего окна;

c. от текущего значения разностей соседних кадров вычесть минимальное значение разностей на скользящем окне, и поделить на размах

П Г) . '

Пороговый метод поиска событий в видео с нормировкой по размаху разностей кадров выражается системой:

D** =

_ Dt ~ -Pmin,s,t .

Г) _ Г) . '

^ma x,s,i -^min,s,t

< Dmin,S,t = min(A-s, • • •, A); , где

Dmax,a,t = max(Dt-e, ■ • ■, A);

^ n m

Dt = ^^ ^ ^ IS/ij.t - J/ij.t-ll

7i • Til i=Q j—о

• У*, j, t = Y(x, j, t) — яркость пикселя кадра Ft в момент времени t;

• У, j, t -1 = Y(xj, j, t- 1) — яркость пикселя кадра в м Ft - 1 омент времени t - 1;

• Tconst — порог, превышение которого будет считаться аномалией;

• s — выбранный размер скользящего окна.

Описание алгоритма на метаязыке пороговой обработки будет иметь вид: S=400 # Параметр алгоритма. Размер скользящего окна. delay = DelayFilter(); orig = delay(0); shift = ShiftSWFilter() diff = orig - shift # Разность соседних кадров. norm = NormFilter() # Норма сигнала.

sw = BaseSWFilter(s=S) # Скользящее окно размером S для каждого кадра.

swmax = sw | max # Максимум по скользящему окну.

sw_min = sw | min # Минимум по скользящему окну.

sw norm = (orig - swmin) / (swmax - swmin) # Масштабирование.

dsw filter = diff | abs | norm(l=1) | swnorm # Масштабированная разность. resultfilter = dswfilter | threshold # Результирующий фильтр.. Достоинство нормировки по размаху — относительная величина порога: не нужно подбирать для каждого случая; можно использовать везде одну и ту же величину. Однако размер скользящего окна приходится подбирать: при малом размере окна — происходит нормировка для паразитных шумов, при большом размере окна — пропускаются некоторые аномалии.

Пороговые методы с адаптивным порогом

Динамичность видео можно учесть с использованием статистических величин выборочного среднего и выборочного среднего квадратичного отклонения. Адаптивные пороговые методы подробно рассмотрены в работах [7, 11, 13].

Опишем метод, который использует критерий Смирного-Граббса [18]. На основе выборочного среднего и выборочного среднего квадратичного отклонения строится модель сигнала, после чего сигнал сравнивается со своей моделью.

( Dt > Estf

1-л E (Pk - Ds,t);

— 1 k=t-s

(12)

, где

Ds,t = - E Dk]

Dt

^ n m

E E l2/»,j,t -

n m

n-m i=оj=0

• yi, j, t = Y(xiyjy t) — яркость пикселя кадра Ft в момент времени t;

• yi, j, t -1 = Y(xi, j, t- 1) — яркость пикселя кадра в м Ft -1 омент времени t - 1;

• s — выбранный размер скользящего окна;

• о — коэффициент возможного отклонения модели видеосигнала. Описание алгоритма на метаязыке пороговой обработки будет иметь вид:

SIGMA = 3.0; # Параметр модели сигнала. S = 100 # Размер скользящего окна.

delay = DelayFilter(); orig = delay(0); shift = ShiftSWFilter()

diff = orig - shift # Разность соседних кадров.

norm = NormFilter() # Норма сигнала.

dfilter = diff | abs | norm(l=1)

sw = BaseSWFilter(s=S, min_size=2)

sw mean = sw | numeric.mean # Скользящее среднее

sw std = sw | numeric.std # Скользящее среднееквадратическое отклонение.

estimation = swmean + SIGMA * swstd sigmathreshold = (orig > sigmaestimation) | int resultJitter = dfilter | sigma threshold # Результирующий филътр. К недостаткам подхода стоит отнести необходимость подбора размера скользящего окна. Метод весьма чувствителен к случайным всплескам и не применим для разных типов видео.

Сравнение скользящих средних

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

Сигнал оценивается через свои скользящие средние. Считаем событием точку, в которой скользящие средние стали равны.

Метод может быть описан формулой:

О > \ГА,г-¥в>г

<

Уз,г

1 *

- Е П;

(13)

, где

• Ун, г = У(хи], д — яркость пикселя кадра ^ в момент времени Г;

• Уц, г - 1 = У(х, ^, г . 1) — яркость пикселя кадра в м ^ - 1 омент времени ? - 1;

• А, В — выбранные размеры скользящих окон.

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

1. Выбрать размеры скользящих окон — А и В соответственно;

2. Для каждого кадра из последовательности:

а. вычислить среднюю яркость кадра по формулам (1-5);

Ь. вычислить скользящее среднее для окна размером А:

(14)

к=г-А

с. вычислить скользящее среднее для окна размером В:

YB>t = i J2 (15)

k=t—B

a. вычислить разность YA, t - YB, t и запомнить ее знак;

a. если знак разности отличается от знака на предыдущем кадре — сигнализировать об аномалии; иначе перейти к следующему кадру. Описание алгоритма на метаязыке пороговой обработки будет иметь вид: A = 100; B = 200 # Параметры алгоритма: размеры скользяших окон. delay = DelayFilter(); orig = delay(0); norm = NormFilter() signchange = SignChangeFilter() # Фильтр смены знака. sw = BaseSWFilter(min_size=2) # Скользящее окно для каждого кадра. swmean = sw | numeric.mean # Скользящее среднее. # Разность скользящих средних. sw_mean_diff = (sw_mean(s=A) - sw_mean(s=B)) result_filter = norm(l=1) | sw mean diff | sign change | abs В отличие от пороговых методов, предложенный алгоритм обладает лучшей устойчивостью и к резким и к плавным переходам между элементами сюжета. По сравнению с ранее рассмотренными пороговым методы с адаптивным порогом и нормировкой по размаху метод очень нетребователен к ресурсам и в отличие от статистических методов из работ [1, 3, 4, 8, 9, 10, 12, 14] не требует процесса обучения. Предложенный метод обладает недостатками, которые присущи всем методам со скользящими окнами: при малом размере ловят шум; при большом —

могут пропустить событие. Однако, при размере окон 50 и 100 элементов количество ложных срабатываний меньше, чем у адаптивных пороговых методов.

Видео — последовательность фактов или событий, развивающихся во времени. Свойства событий — пространственная характеристика видео [17], продолжительность и порядок фактов — временная.

Пусть даны два видео — Vи Ж. Рассмотрим эти видео как последовательности кадров и по формулам (1-5) построим для них временные ряды V и Ж. Продолжительность каждого видео равна Ту и Тм, . В качестве отсчетов для этих рядов выступают точки Рг в момент времени г. Единицы измерения времени для каждого видео могут не совпадать. В каждый момент времени каждый видеоряд обладает набором характеристик уг ) и wt =Ж(^ ).

Из точек временного ряда V(t) в которых наблюдались аномалии, постоим

временной ряд (еу1)к,=1

\ 1 = еу1,еу2,...,еук;

\ {еу1,еу2,...,еук} С У ( )

Для Ж(Т) аналогичным образом построим (eWj)nj=l.

Определение 1. Будем считать, что V и W выражают одинаковую последовательность событий, если можно выделить последовательность (х1)т1=1,

Теорема о дубликатах

такую что |(хг)тг=1} с {(еу)^} и {(хг)тг=1 }с {(е^)^}.

Определение 2. Считаем, что V и Ж — нечеткие дубликаты друг друга, если

Теорема (О дубликатах). Нечеткие дубликаты видео выражают одинаковую последовательность событий.

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

(18)

V

(19)

Выводы

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

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

Библиографический список

1. Boreczky J.S., Wilcox L.D. A hidden Markov model framework for video segmentation using audio and image features // Proceedings of the International Conference on Acoustics, Speech, and Signal Processing (Seattle, WA), 12 May 1998, vol. 6, pp. 37413744.

2. Cernekova Z., Pitas I., Nikou C. Information theory-based shot cut/fade detection and video summarization // IEEE Transactions on Circuits and Systems for Video Technology,

2006. Vol. 16, no. 1, pp. 82-91.

3. Cooper Matthew, Liu Ting, Rieffel Eleanor G. Video Segmentation via Temporal Pattern Classification // IEEE Transactions on Multimedia. 2007. Vol. 9, no. 3, pp. 610618.

4. Jinhui Yuan, Huiyi Wang, Lan Xiao et al. A Formal Study of Shot Boundary Detection // IEEE Transactions on Circuits and Systems for Video Technology, 2007. Vol. 17, no. 2, pp. 168-186.

5. Xue Ling, Li Chao, Xiong Zhang, Li Huan. A General Method for Shot Boundary Detection // Multimedia and Ubiquitous Engineering, International Conference on, 2008,

pp. 394-397, doi: 10.1109/MUE.2008.102, URL: http://dblp.uni-trier.de/db/conf/mue/mue2008.html.

6. Hanjalic Alan. Shot-boundary detection: unraveled and resolved? // IEEE Transactions on Circuits and Systems for Video Technology. 2002. Vol. 12, no. 2, pp. 90-105.

7. Hoi Steven C.H., Wong Lawson, Lyu Albert. Chinese University of Hong Kong at TRECVID 2006: Shot Boundary Detection and Video Search // Int. TREC Video Retrieval workshop (TRECVID'06). 2006. URL: http://people.csail.mit.edu/lsw/papers/trecvid06-shotbdry.pdf

8. Liu Chunxi, Liu Huiying, Jiang Shuqiang et al // JDL at Trecvid 2006 Shot Boundary Detection. 2006. URL: https://scholar.google.com.sg/citations?user=ivHE9dkAAAAJ&hl=en

9. Wan-Lei Zhao, Chong-Wah Ngo, Hung-Khoon Tan, Xiao Wu. Near-Duplicate Keyframe Identification With Interest Point Matching and Pattern Learning // IEEE Transactions on Multimedia. 2007. Vol. 9, no. 5, pp. 1037-1048.

10. Ngo Chong-Wah. A Robust Dissolve Detector by Support Vector Machine // Proceedings of the Eleventh ACM International Conference on Multimedia. MULTIMEDIA '03. New York, USA, 2003, pp. 283-286.

11. Quénot Georges, Moraru Daniel, Besacier Laurent. CLIPS at TRECvid: Shot Boundary Detection and Feature Detection // TRECVID 2003 Workshop Notebook Papers. Gaithersburg, MD, USA, 2003, pp. 18-21

12. Kazunori Matsumoto, Masaki Naito, Keiichiro Hoashi, Fumiaki Sugaya. SVM-Based

Shot Boundary Detection with a Novel Feature // IEEE International Conference on Multimedia and Expo. 2006, Toronto, ON, Canada, pp. 1837 - 1840.

13. Xiaomeng Wu, Masao Takimoto, Shin'ichi Satoh, Jun Adachi. Scene Duplicate Detection Based on the Pattern of Discontinuities in Feature Point Trajectories // Proceedings of the 16th ACM International Conference on Multimedia (MM), New York, NY, USA, ACM, 2008, pp. 51-60.

14. G Camara-Chavez, F Precioso, M Cord, S Phillip-Foliguet, A de A Araujo. Shot boundary detection by a hierarchical supervised approach // Systems, Signals and Image Processing, 2007 and 6th EURASIP Conference focused on Speech and Image Processing, Multimedia Communications and Services. 14th International Workshop on, June 2007, pp. 197-200.

15. Prem Kumar Kalra, Shmuel Peleg. Computer Vision, Graphics and Image Processing. // 5th Indian Conference, ICVGIP 2006, Madurai, India, December 13-16, 2006, Proceedings. Lecture Notes in Computer Science 4338, Springer 2006, URL: http://dblp.uni-trier.de/db/conf/icvgip/ icvgip2006.html. 3

16. van Rossum Guido, Drake Fred L. The Python Language Reference Manual. Bristol, United Kingdom, Network Theory Ltd., 2003. 144 p.

17. Гусев В.Ю. Крапивенко A.B. Методика фильтрации периодических помех цифровых изображений // Труды МАИ. 2012. № 50. URL: http : //trudymai .ru/published.php?ID=28805

18. Марчук В.И. Токарева С.В. Способ обнаружения аномальных значений при

анализе нестационарных случайных сигналов. - Шахты, Ростовская обл.: ЮРГУЭС, 2009. - 209 с.

19. Прутов И.С. Синча Д.П. Исследование методов и разработка алгоритмов обработки видеоинформации в задачах локализации положения беспилотного летательного аппарата на основе распознавания изображений при помехах и искажениях // Труды МАИ. 2012. № 52. URL: http: //trudymai .ru/published.php?ID=29441

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