2. Построение оптического потока.

advertisement
Вишняков Б.В., Визильтер Ю.В., Лагутенков А.В.
(ФГУП ГосНИИ Авиационных Систем)
Использование модифицированного метода оптических потоков
в задаче обнаружения и межкадрового прослеживания движущихся объектов
Работа выполнена при поддержке РФФИ, проект 05-08-18234-а.
В статье описан модифицированный метод оптических потоков для выделения
движущихся объектов на цифровых видеопоследовательностях, обеспечивающий
высокую робастность и вычислительную эффективность в задачах обнаружения и
сопровождения как мелкоразмерных, так и крупноразмерных объектов. В рамках
данного метода: на этапе предобработки используются временные разностнонакопительные схемы; оптический поток вычисляется по разности накопленных
изображений; движущиеся элементы изображения определяются на основе оценки
накопленного оптического потока. Описаны алгоритмы, реализующие каждый из
этапов метода. Проведено аналитическое исследование свойств описанных разностнонакопительных процедур. Разработанные алгоритмы протестированы на большом
количестве как модельных, так и реальных видео регистраций.
1. Введение.
Задачи автоматического выделения и сопровождения объектов по признаку их
движения на изображениях, получаемых от различных видео датчиков, часто возникают при
разработке систем видеонаблюдения и систем машинного зрения, предназначенных для
мобильных технических средств. Ранее (в статье [1]) авторами уже была предложена
оригинальная методика выделения и межкадрового прослеживания движущихся объектов на
подвижном фоне, характеризующаяся следующими основными особенностями: быстрая
корреляционная привязка фона, Пытьевское морфологическое проектирование яркости,
сравнение текущей межкадровой разности с накопленной разностной матрицей, опора на два
динамических базовых кадра. Тестирование разработанных алгоритмов на большом объеме
реальных видео данных показало высокую эффективность использования предложенного
подхода для выделения мелкоразмерных движущихся объектов, площадь которых существенно
меньше площади анализируемого кадра. Однако в большинстве систем видеонаблюдения
типичной является ситуация, когда размер движущегося объекта заранее неизвестен, и,
следовательно, система детектирования движения должна
обеспечивать возможность
адаптивной настройки алгоритмов на крупно-, средне- и мелкоразмерные объекты, в
зависимости от задачи наблюдения, поля зрения и текущих настроек объектива камеры.
Наиболее распространенным подходом к выделению движущихся объектов на
изображениях является в настоящее время метод оптических потоков ([2]-[7]). Он обеспечивает
достаточно эффективный и гибкий аппарат для анализа видимого движения объектов на
цифровых видеопоследовательностях. В то же время, данный метод не лишен недостатков.
Одной из наиболее существенных проблем, связанных с использованием техники анализа
оптических потоков в практических приложениях, является высокая чувствительность данного
метода к помехам. Это определяется тем, что в отличие от использованных в работе [1]
«интегральных» алгоритмов анализа изображения, основанных на накоплении информации о
сигнале в течение определенного времени, метод оптических потоков является, по сути,
методом «дифференциальным», опирающимся на сравнение лишь двух последовательных
кадров видео потока и вычисление соответствующих пространственных и временных
производных в точках изображения. Как известно, «дифференцирующие» процедуры и
фильтры всегда более чувствительны к шумам и помехам различного рода, а процедуры
накопления данных используются для того, чтобы соответствующие шумы и помехи подавить.
В связи с вышеизложенным, была поставлена задача разработки алгоритма обнаружения и
межкадрового прослеживания движущихся объектов, основанного на специальным образом
модифицированном методе анализа оптических потоков, обеспечивающем, с одной стороны,
помехоустойчивость на уровне алгоритма [1], и в то же время – возможность настройки
алгоритма на выделение не только мелкоразмерных, но также средне- и крупноразмерных
объектов. В результате был предложен т.н. «модифицированный метод оптических потоков для
выделения
движущихся
объектов»,
предполагающий
выполнение
на
каждом
кадре
видеопоследовательности следующих основных процедур:
1. Построение разности накопленных изображений.
2. Вычисление оптического потока по разности накопленных изображений.
3. Определение движущихся элементов изображения на основе оценки накопленного
оптического потока.
4. Формирование гипотез и межкадровое прослеживание движущихся объектов как
устойчивых во времени связных групп сходно движущихся элементов изображения.
Ниже каждый из указанных этапов анализа видеопоследовательности будет описан
более подробно.
Статья имеет следующую структуру. Второй раздел посвящен теоретическому
рассмотрению метода анализа оптических потоков, оценке ограничений метода, выбору
вычислительной схемы. Третий раздел посвящен описанию и исследованию процедуры
помехоустойчивого
выделения
контуров
движущихся
объектов
на
основе
разности
накопленных изображений. При этом особое внимание уделяется оценке длины «памяти»
реализованных разностно-накопительных процедур. Четвертый раздел посвящен выделению и
межкадровому прослеживанию объектов на основе оценки накопленных контурных
оптических потоков. Пятый раздел посвящен описанию разработанного программного
обеспечения, использовавшегося для тестирования предложенного метода на реальных
видеопоследовательностях. В заключении приводится краткая сводка полученных результатов.
2. Построение оптического потока.
Построение оптического потока традиционно рассматривается как процедура оценки
яркостно-геометрических изменений между настоящим (текущим) и предыдущим кадрами.
Движение объектов перед неподвижной камерой, также как и движение камеры в окружающей
обстановке приводят к соответствующим изменениям на изображении. Кажущееся движение
видимого поля (двумерного распределения яркости), наблюдаемое при движении камеры
относительно изображаемых объектов или объектов относительно камеры, называется
оптическим потоком. Определим поле движения, приписав каждой точке изображения вектор
скорости. В некоторый выбранный момент времени точка 𝑃𝑖 на изображении соответствует
некоторой точке 𝑃0 на поверхности объекта. Эти две точки связаны уравнениями
проектирования. Точка объекта 𝑃0 перемещается относительно камеры со скоростью 𝑣0 . Это
порождает движение 𝑣𝑖 соответствующей точки изображения 𝑃𝑖 . За время 𝛿𝑡 точка 𝑃0
перемещается на расстояние 𝑣0 𝛿𝑡, а ее изображение 𝑃𝑖 - на расстояние 𝑣𝑖 𝛿𝑡 (см. рис. 1).
Рис. 1. Перемещение точки внешней среды, вызывающее перемещение
соответствующей точки на изображении.
Яркостные распределения движутся вместе с наблюдаемыми объектами. Оптическим
потоком, как уже упоминалось ранее, называется кажущееся движение яркостной картины. В
идеале оптический поток соответствует определенному ранее полю движения, однако, на
практике это не всегда так.
Пусть теперь 𝐼(𝑥, 𝑦, 𝑡) – яркость пикселя в точке изображения (𝑥, 𝑦) в момент времени 𝑡.
Тогда, если 𝑢(𝑥, 𝑦) и 𝑣(𝑥, 𝑦) – 𝑥- и 𝑦- компоненты вектора оптического потока в этой точке, то
можно ожидать, что
𝐼(𝑥 + 𝑢𝛿𝑡, 𝑦 + 𝑣 𝛿𝑡, 𝑡 + 𝛿𝑡) = 𝐼(𝑥, 𝑦, 𝑡)
(1)
для малого интервала времени 𝛿𝑡.
Далее, если предположить, что яркость изменяется гладко по 𝑥, 𝑦 и 𝑡, можно разложить
левую часть уравнения в ряд Тейлора и отсюда получить
𝐼(𝑥, 𝑦, 𝑡) +
𝛿𝑥 ⋅
𝜕𝐼
𝜕𝐼
𝜕𝐼
+ 𝛿𝑦 ⋅
+ 𝛿𝑡 ⋅
+ 𝑜(𝛿𝑥, 𝛿𝑦, 𝛿𝑡) = 𝐼(𝑥, 𝑦, 𝑡).
𝛿𝑥
𝛿𝑦
𝛿𝑡
(2)
Сократим на 𝐼(x, y, t) в левой и правой частях, разделим на 𝛿𝑡 и перейдем к пределу при
𝛿𝑡 → 0. Получим
𝜕𝐼 𝑑𝑥 𝜕𝐼 𝑑𝑦 𝜕𝐼
⋅
+
⋅
+ = 0.
𝛿𝑥 𝑑𝑡 𝛿𝑦 𝑑𝑡 𝛿𝑡
(3)
Соотношение (3) можно записать в виде
𝑑𝐼
= 0,
𝑑𝑡
где в левой части стоит полная производная 𝐼 по времени. Введя сокращения 𝐼𝑥 = 𝛿𝐼/𝛿𝑥, 𝐼𝑦 =
𝛿𝐼/𝛿𝑦, 𝐼𝑡 = 𝛿𝐼/𝛿𝑡, а также учитывая, что 𝑢 = 𝑑𝑥/𝑑𝑡 и 𝑣 = 𝑑𝑦/𝑑𝑡, получаем
𝐼𝑥 𝑢 + 𝐼𝑦 𝑣 + 𝐼𝑡 = 0.
(4)
Производные 𝐼𝑥 , 𝐼𝑦 , 𝐼𝑡 легко получить из изображения с помощью численных
аппроксимаций производных конечными разностями
Перепишем (4) в виде
∇𝐼(𝑥, 𝑦, 𝑡)(𝑢, 𝑣)𝑇 + 𝐼𝑡 (𝑥, 𝑦, 𝑡) = 0.
(5)
Алгоритм, описанный в [3], основан на минимизации функционала (6), составленного из
основной (5) и сглаживающей части:
(6)
𝑇
∬(𝛻𝐼 ⋅ (𝑢, 𝑣) + 𝐼𝑡
)2
2 (‖𝛻𝑢‖2
+ (𝜆
+
‖𝛻𝑣‖2 ))
𝑑𝑥𝑑𝑦 = 0.
𝐷
Здесь область 𝐷 – область, в которой ищется оптический поток. Значение коэффициента
𝜆 определяет уровень значимости сглаживающей части функционала (11). Заметим, что в
литературе предложения по выбору значения 𝜆 различаются кардинально. Например, в книге
[3] предлагается выбирать данную константу равной 0.5, в книге [2] – равной 100.
Задача минимизации функционала (6) решается при помощи итеративной процедуры (7)(8). Минимизирующая функционал (6) последовательность скоростей (𝑢𝑚 , 𝑣 𝑚 ) имеет вид:
𝑢𝑚+1 = 𝑢̅𝑚 −
𝐼𝑥 ⋅ [𝐼𝑥 𝑢̅𝑚 + 𝐼𝑦 𝑣̅ 𝑚 + 𝐼𝑡 ]
,
𝛼 2 + 𝐼𝑥2 + 𝐼𝑦2
𝑣 𝑚+1 = 𝑣̅ 𝑚 −
𝐼𝑥 ⋅ [𝐼𝑥 𝑢̅𝑚 + 𝐼𝑦 𝑣̅ 𝑚 + 𝐼𝑡 ]
.
𝛼 2 + 𝐼𝑥2 + 𝐼𝑦2
(7)
В частности, если в качестве области 𝐷 принимать весь анализируемый кадр, а шаг сетки
выбрать равным 1 пикселю по горизонтали и вертикали, то 𝑢𝑚 и 𝑣 𝑚 будут матрицами размера
𝑊 × 𝐻. В данных итерационных уравнениях 𝑢̅𝑚 и 𝑣̅ 𝑚 – скорости, усредненные по соседним
точкам:
1 𝑚
𝑚
𝑚
𝑚
𝑚
𝑢̅𝑖,𝑗
= (𝑢𝑖+𝛿𝑥,𝑗
+ 𝑢𝑖,𝑗+𝛿𝑦
+ 𝑢𝑖−𝛿𝑥,𝑗
+ 𝑢𝑖,𝑗−𝛿𝑦
),
4
1 𝑚
𝑚
𝑚
𝑚
𝑚
𝑣̅𝑖,𝑗
= (𝑣𝑖+𝛿𝑥,𝑗
+ 𝑣𝑖,𝑗+𝛿𝑦
+ 𝑣𝑖−𝛿𝑥,𝑗
+ 𝑣𝑖,𝑗−𝛿𝑦
).
4
(8)
Здесь индекс 𝑚 показывает номер текущей итерации, 𝑖 и 𝑗 – индексы текущего узла
сетки.
Итерационный
процесс
заканчивается,
когда
невязка
(9)
между
двумя
последовательными итерациями будет меньше заранее заданного числа 𝜇:
𝑊
𝐻
2
2
𝑚+1
𝑚
𝑚+1
𝑚
∑ ∑ {‖𝑢𝑖,𝑗
− 𝑢𝑖,𝑗
− 𝑣𝑖,𝑗
‖ + ‖𝑣𝑖,𝑗
‖ } ≤ 𝜇.
(9)
𝑖=1 𝑗=1
Однако данное условие достаточно неудобно использовать в явном виде в силу
значительных вычислительных затрат на его подсчет при необходимости его проверки на
каждой итерации. В связи с этим обычно используют фиксированное число итераций.
Например, в работах [2] и [3] предлагается использовать 𝑀 ∈ [100,150], 1 ≤ 𝑚 ≤ 𝑀. На
практике для изображений с хорошей контрастностью объекта достаточно 10-15 итераций.
Использование существенно большего числа итераций может привести к появлению
ошибочных ненулевых скоростей в тех областях, где поле скоростей на самом деле равно нулю.
В частности, это происходит в тех случаях, когда два различных объекта движутся на
небольшом расстоянии друг от друга. Поле скоростей между ними на самом деле равно нулю,
но оптический поток, вычисленный при большом числе итераций, может быть ненулевым в
силу предположения о непрерывности движения.
Оптический поток также может оказаться равным нулю там, где поле скоростей не равно
нулю. Такой случай, например, встречается при перемещении объекта, характеризующегося
постоянной яркостью по всей площади занимаемой области изображения. В данном случае
оптический поток, вычисленный на границе объекта, будет ненулевым, а вычисленный в
центре объекта будет близок к нулю, в то время истинное как поле скоростей должно быть
одинаково на всей поверхности объекта. Данная проблема называется «проблемой апертуры».
Производные яркости изображения предлагается считать следующим образом:
1
𝑘
𝑘
𝑘+1
𝑘+1
𝑘
𝑘+1
𝑘
𝑘+1
𝐼𝑥 ≈ 𝛿𝑥[(𝐼𝑖+𝛿𝑥,𝑗
+ 𝐼𝑖+𝛿𝑥,𝑗+𝛿𝑦
+ 𝐼𝑖+𝛿𝑥,𝑗
+ 𝐼𝑖+𝛿𝑥,𝑗+𝛿𝑦
+ 𝐼𝑖,𝑗+𝛿𝑦
+ 𝐼𝑖,𝑗
+ 𝐼𝑖,𝑗+𝛿𝑦
) − (𝐼𝑖,𝑗
)],
4
1
𝑘
𝑘
𝑘+1
𝑘+1
𝑘
𝑘+1
𝑘
𝑘+1
𝐼𝑦 ≈ 𝛿𝑦[(𝐼𝑖,𝑗+𝛿𝑦
+ 𝐼𝑖+𝛿𝑥,𝑗+𝛿𝑦
+ 𝐼𝑖,𝑗+𝛿𝑦
+ 𝐼𝑖+𝛿𝑥,𝑗+𝛿𝑦
+ 𝐼𝑖+𝛿𝑥,𝑗
+ 𝐼𝑖,𝑗
+ 𝐼𝑖+𝛿𝑥,𝑗
) − (𝐼𝑖,𝑗
)],
4
1 𝑘+1
𝑘+1
𝑘+1
𝑘+1
𝑘
𝑘
𝑘
𝑘
𝐼𝑡 ≈ [(𝐼𝑖,𝑗
+ 𝐼𝑖,𝑗+𝛿𝑦
+ 𝐼𝑖+𝛿𝑥,𝑗
+ 𝐼𝑖+𝛿𝑥,𝑗+𝛿𝑦
+ 𝐼𝑖,𝑗+𝛿𝑦
+ 𝐼𝑖+𝛿𝑥,𝑗
+ 𝐼𝑖+𝛿𝑥,𝑗+𝛿𝑦
) − (𝐼𝑖,𝑗
)].
4
(10)
Здесь используется сеточная аппроксимация производных. Индекс 𝑘 показывает номер
текущего кадра, 𝑖 и 𝑗 – индексы текущего узла сетки. Вариации 𝛿𝑥 и 𝛿𝑦 при подсчете частных
производных (10) можно выбирать любыми. Обычно используется сетка с 𝛿𝑥 = 𝛿𝑦 = ℎ.
Теперь, подставив частные производные (10) и средние скорости (8) в итерационный
0
0
процесс (7) с начальными условиями 𝑢𝑖,𝑗
= 0, 𝑣𝑖,𝑗
= 0 для всех 𝑖 и 𝑗 из области 𝐷, легко найти
скорости всех точек сетки на наблюдаемых кадрах видеопоследовательности.
Описанная вычислительная схема следует традиционным методам оценки оптического
потока. Однако проведенные эксперименты на большом объеме реальных видеозаписей
показали, что при работе алгоритмов анализа оптических потоков непосредственно по
исходным цифровым полутоновым изображениям качество выходных данных подобных
алгоритмов является недостаточно высоким из-за существенного влияния шума и других помех
на качество детектирования объектов. В связи с этим в данной работе предлагается в качестве
процедуры предобработки видеоданных использовать специальную разностно-накопительную
процедуру, описанную в следующем разделе. Смысл этой процедуры заключается в робастном
предварительным выделении контуров движущихся объектов, по которым затем вычисляется
оценка оптических потоков, используемая на этапе формирования гипотез и прослеживания
движущихся объектов.
3. Разностно-накопительная процедура.
Для использования на этапе предобработки изображения в модифицированном методе
оптических потоков предлагается использовать процедуру «временной нормализации фона»,
основанную на сравнении двух накопленных во времени изображений (скользящих
взвешенных сумм) с различными периодами накопления/забывания данных, обозначаемых
далее как аккумулятор1 и аккумулятор2 соответственно.
При появлении первого кадра видеопоследовательности он записывается в оба
аккумулятора. При появлении каждого нового кадра вызывается обработчик событий, который
запускает процедуру обновления значений аккумулятора1 и аккумулятора2. Аккумулятор1 и
аккумулятор2 имеют те же размеры, что и входное изображение. Обозначим ширину
изображения буквой 𝑊, а высоту – буквой 𝐻. Сопоставим аккумулятору1 матрицу 𝑀1 ,
аккумулятору2 – матрицу 𝑀2 , входному изображению – матрицу 𝑄. Каждый элемент данных
матриц логически соответствует яркости пикселя и поэтому принимает значения от 0 до 255. В
𝑘–тый момент времени накопленные матрицы принимают значения 𝑀1 (𝑘) и 𝑀2 (𝑘).
Алгоритм обновления значений аккумулятора1 и аккумулятора2 на каждом k+1-м кадре
работает по следующей схеме:
𝑀1 (𝑘 + 1) = 𝑝1 ∙ 𝑀1 (𝑘) + 𝑞1 ∙ 𝑄(𝑘),
(11)
𝑀2 (𝑘 + 1) = 𝑝2 ∙ 𝑀2 (𝑘) + 𝑞2 ∙ 𝑄(𝑘).
Здесь коэффициенты 𝑝1 , 𝑞1 , 𝑝2 , 𝑞2 – параметры временного усреднения, которые
определяются, исходя из того, сколько кадров необходимо «помнить» данному аккумулятору.
При этом для параметров усреднения должны выполняться естественные условия нормировки
𝑝1 + 𝑞1 = 1, 𝑝2 + 𝑞2 = 1. Рассмотрим подробнее стратегию назначения параметров временного
усреднения изображений в описываемой разностно-накопительной схеме.
Преобразуем выражение (11) с тем, чтобы выразить 𝑀1 (𝑘 + 1) и 𝑀2 (𝑘 + 1) через сумму
входных данных. Для этого введем начальное условие 𝑀1 (0) = 𝑀2 (0) = 𝑄(0). Складывая все
входящие кадры до 𝑘–го включительно, получаем
𝑘
𝑀1 (𝑘 + 1) = 𝑞1 ∙ ∑ 𝑝1𝑘−𝑖 𝐺(𝑖),
(12)
𝑖=0
𝑘
𝑀2 (𝑘 + 1) = 𝑞2 ∙ ∑ 𝑝2𝑘−𝑖 𝐺(𝑖).
𝑖=0
Теперь предположим, что необходимо помнить 𝑛1 кадров в первом аккумуляторе и 𝑛2 –
во втором. Это значит, что вклад (𝑛1 + 1)-го кадра в первую сумму, а (𝑛2 + 1)-го – во вторую
должен быть меньше некоторого заранее заданного 𝜀. Исходя из этого, условия «забывания»
(𝑛1 + 1) и (𝑛2 + 1) кадров будут выглядеть следующим образом:
𝑛
𝑞1 𝑝1 1 𝐺(𝑛1 ) < 𝜀,
𝑛
𝑞2 𝑝2 2 𝐺(𝑛2 )
(13)
< 𝜀.
Поскольку относительно возможных значений 𝐺(𝑛1 ) и 𝐺(𝑛2 ) известен только
допустимый диапазон, воспользуемся неравенством:
𝑛
𝑛
𝑛
𝑛
𝑞1 𝑝1 1 𝐺(𝑛1 ) < 255 ⋅ 𝑞1 𝑝1 1 < 𝜀,
𝑞2 𝑝2 2 𝐺(𝑛2 ) < 255 ⋅ 𝑞2 𝑝2 2 < 𝜀.
Отсюда
𝑛
ε
= 𝜀̃,
255
ε
<
= 𝜀̃.
255
𝑞1 𝑝1 1 <
𝑛
𝑞2 𝑝2 2
(14)
Учитывая условия нормировки 𝑞1 = 1 − 𝑝1 и 𝑞2 = 1 − 𝑝2 , окончательно получаем:
𝑛
𝑛 +1
= 𝜀̃,
𝑛
𝑛 +1
= 𝜀̃.
𝑝1 1 − 𝑝1 1
𝑝2 2 − 𝑝2 2
(15)
Теперь, задавшись некоторым 𝜀̃, можно решить уравнения (15) относительно 𝑝1 и 𝑝2
любым удобным численным методом, например, методом дихотомии или методом касательных
(так как целевая функция непрерывно дифференцируема).
Интересно отметить, что при некоторых 𝑛𝑖 , 𝑖 = 1,2 может оказаться, что для любых 𝑝𝑖
𝑛
выражение 𝑞𝑖 𝑝𝑖 𝑖 будет всегда меньше некоего фиксированного 𝜀̃. Это означает, что для
каждого 𝜀̃ существует такой предел 𝑛𝑖 кадров, имеющихся в аккумуляторе, таких, что для
любых 𝑝𝑖 и 𝑞𝑖 каждый следующий кадр будет «забываться», то есть для любых 𝑝𝑖 , 𝑞𝑖 и 𝐺(𝑛)
𝑛
всегда будет выполняться 𝑞𝑖 𝑝𝑖 𝑖 𝐺(𝑛𝑖 ) < 𝜀.
Итак, в результате накопления мы получаем две матрицы 𝑀1 (𝑘), 𝑀2 (𝑘) и формируем их
̅ (𝑘). При использовании различных комбинаций 𝑛1 и 𝑛2 данная разность имеет
разность 𝑀
̅ (𝑘) может быть использована
различный смысл. При больших 𝑛1 ∈ [300,450] и 𝑛2 ≈ 𝑛1 /2 𝑀
для выделения вновь появившихся или, напротив, исчезнувших объектов сцены наблюдения
(т.н. задача «детектирования оставленных предметов», часто возникающая в области
̅ (𝑘) содержит
видеонаблюдения). При меньших значениях 𝑛1 ∈ [3,7] и 𝑛2 ∈ [1,3] разность 𝑀
слегка размытые (усредненные по нескольким кадрам) контуры движущихся объектов, которые
удобно использовать для оценки движения и межкадрового прослеживания объектов. Таким
образом, в модифицированном методе оптических потоков вместо яркости 𝐼 текущего
изображения в качестве входного двумерного распределения сигнала для оценки оптического
̅ (𝑘), полученных по
потока предлагается использовать разность накопленных изображений 𝑀
схеме, описанной в данном разделе.
4. Выделение и сопровождение объектов.
Задача выделения и сопровождения объектов в данной работе рассматривается как
модульная, причем решение ее состоит из двух следующих последовательно выполняемых
операций:
 Определение движущихся элементов изображения на основе оценки накопленного
оптического потока.
 Формирование гипотез и межкадровое прослеживание движущихся объектов как
устойчивых во времени связных групп сходно движущихся элементов изображения.
Рассмотрим подробнее каждую из этих операций.
4.1. Первичное выделение движущихся элементов изображения
Без принципиальной потери общности в качестве первичных движущихся элементов
изображения можно рассматривать, например, квадратные пиксельные «блоки» размера 𝑤 × 𝑤.
Пусть далее пиксельный квадрат размера 𝑤 × 𝑤 считается «движущимся», если сумма модулей
скоростей точек сетки, входящих в квадрат, больше некоторого наперед заданного числа
.
Данное число можно подобрать эмпирически, например, подсчитав медиану модулей скоростей
точек за несколько первых кадров. Линейные усредненные оценки в данном случае нельзя
использовать в силу того, что, если на видеопоследовательности будут наблюдаться лишь
небольшие участки ненулевого оптического потока, то вычисленный линейно усредненный
модуль скорости будет существенно отличаться в меньшую сторону от действительной средней
скорости движущихся объектов на данной видеопоследовательности.
При делении изображения на элементарные ячейки (квадраты) поверх сетки оптического
потока формируется более прореженная подсетка «элементарных квадратов». При этом размер
элементарного квадрата в пикселях равен произведению размера сетки
на сторону квадрата
𝑤. Сторона квадрата 𝑤 подбирается эмпирически, в зависимости от ожидаемого размера
движущихся объектов: необходимо, чтобы ожидаемый движущийся объект минимального
размера содержал не менее 2-4 элементарных квадратов.
Обозначим через 𝑅 матрицу идентификаторов движения квадратов. Каждый ее элемент
будет принимать значения 0 или 1 в зависимости от того, был определен квадрат как
«движущийся» или нет.
Для первичного формирования областей, которые могут быть приняты за единый
движущийся объект, в настоящей работе используется следующий трехпроходный алгоритм.
Первый проход. Данный проход предназначен для ликвидации описанной выше
«проблемы апертуры». Как уже было отмечено, оптический поток хорошо определяется на
границах объекта, но в случае однотонного объекта может быть равен нулю в центре объекта.
То есть могут возникнуть такие случаи, когда некоторые соседние для квадрата 𝑅𝑖,𝑗 квадраты –
движущиеся, а сам квадрат 𝑅𝑖,𝑗 оценен как неподвижный. Решение данной проблемы – при
проходе матрицы 𝑅 по столбцам, начиная с первого, присваиваем неподвижному квадрату
𝑅𝑖,𝑗 = 1, если 𝐾 квадратов-соседей были приняты за движущиеся. Константу 𝐾 предлагается
подбирать эмпирически. При работе с различными видеопоследовательностями было
установлено, что оптимальные значения для 𝐾 будут 𝐾 = 4 и 𝐾 = 5.
Второй проход. Просматриваем матрицу 𝑅 столбец за столбцом, начиная с первого, и
присваиваем ненулевое значение 𝑄𝑖,𝑗 = 𝑘 каждому движущемуся квадрату 𝑅𝑖,𝑗 . Здесь 𝑄 будет
матрицей
номеров
движущихся
квадратов,
той
же
размерности,
что
и
матрица
идентификаторов движения 𝑅. Величина 𝑘 выбирается в соответствии с номерами соседних
пикселей. Соседи для сравнения выбираются по маске. Маска в случае 4-х связности включает
соседей 𝑅𝑖−1,𝑗 и 𝑅𝑖,𝑗−1 , маска в случае 8-ми связности включает соседей 𝑅𝑖,𝑗−1 , 𝑅𝑖−1,𝑗−1 ,. 𝑅𝑖−1,𝑗 и
𝑅𝑖−1,𝑗+1 . Возможные действия в различных случаях:
 если все соседи – неподвижные квадраты, то движущемуся квадрату 𝑅𝑖,𝑗 .
присваивается новый на данный момент, неиспользованный номер;
 если имеется точно один соседний движущийся квадрат с ненулевым номером,
присваиваем этот номер движущемуся квадрату 𝑅𝑖,𝑗 ;
 если имеется больше, чем один движущийся квадрат из соседей, присваиваем номер
любого из уже пронумерованных движущихся квадратов. Если номера соседей различаются –
происходит так называемое столкновение номеров, – храним номера пары как эквивалентные.
Полученные при проходе матрицы 𝑅 пары храним в отдельной структуре данных – таблице
эквивалентности.
Третий проход. Все движущиеся квадраты области пронумерованы в течение первого
прохода, но некоторые области имеют квадраты с различными номерами в результате
столкновения номеров. Всю матрицу 𝑅 просматриваем снова, и перенумеровываем
движущиеся квадраты, используя имеющуюся информацию об эквивалентных номерах из
таблицы эквивалентности.
В результате на выходе алгоритма формируется индексная матрица 𝑄 номеров
движущихся квадратов. По данной матрице также легко восстановить контур объектов.
4.2. Межкадровое прослеживание движущихся объектов.
Под «движущимся объектом» будем понимать связную область пикселей, которая
движется в плоскости изображения с определенной скоростью, и характеризуется некоторыми
дополнительными параметрами, такими как время прослеживания, время потери области на
видеопоследовательности.
Пусть на каждом кадре на вход поступает набор областей, составленных по матрице 𝑄.
Обозначим его ω – вектор областей. Пусть также имеется набор ранее обнаруженных объектов
с соответствующими объектам областями. Обозначим его через
соответствие областей ω областям из
. Необходимо выявить
, которые были приписаны уже имеющимся объектам.
Возможно случаи:
 новой области 𝜔𝑖 не соответствует ни одной имеющейся области Ω𝑗 . В данном
случае область 𝜔𝑖 воспринимается как новая и для нее в списке создается новый объект;
 имеющейся области Ω𝑗 .не соответствует ни одной новой области 𝜔𝑖 . Здесь объект с
областью Ω𝑗 считается «потерянным» на кадр. Если количество кадров, на которых объект
потерян, превышает некоторое заданное максимально допустимое число кадров 𝑁, то объект
удаляется из набора;
 имеющейся области Ω𝑗 соответствует один или несколько объектов 𝜔𝑖1 , … , 𝜔𝑖𝑘 .
Размеры области Ω𝑗 корректируются согласно размерам объектов 𝜔𝑖1 , … , 𝜔𝑖𝑘 . . Прослеживание
объекта с областью Ω𝑗 продолжается;
 новой области 𝜔𝑖 соответствует несколько областей Ω𝑗1 , … , Ω𝑗𝑘 . Данный эффект
можно назвать эффектом «коллизии».
Пути решения данной проблемы: либо считать области Ω𝑗1 , … , Ω𝑗𝑘 одинаковыми, но
соответствующими разным объектам, либо использовать при дальнейшем слежении область с
наименьшим номером. Недостатком первого подхода является то, что после этого все 𝑘
(возможно различных) объектов будут прослеживаться, как один. Недостатком второго
является то, что произвольно удаляется тот объект, который впоследствии может отделиться и
быть воспринят как новый. Выбор одного из вариантов принятия решения на данном этапе
остается пока предметом дальнейшего исследования.
5. Результаты тестирования разработанного подхода.
На рисунках 2 и 3 приводятся примеры применения модифицированного метода
анализа оптических потоков для выделения и прослеживания крупноразмерного движущегося
объекта.
Слева
показано
исходное
изображение
текущего
обрабатываемого
кадра
видеопоследовательности. Справа приводится соответствующая нормализованная разность
накопленных изображений, поверх которой отображается оценка вычисленного оптического
потока и объемлющие прямоугольники, ограничивающие выделенные движущиеся объекты.
Рис. 2. Пример применения модифицированного метода анализа оптических потоков для
выделения и прослеживания крупноразмерного движущегося объекта.
Рис.3. Пример применения модифицированного метода анализа оптических потоков для
выделения и прослеживания нескольких крупноразмерных движущихся объектов.
Эксперименты также показали, что в ходе слежения номера объектов устойчиво
сохраняются и передаются («трассируются») от кадра к кадру.
Заключение
Данное исследование было посвящено разработке алгоритмов обнаружения и
межкадрового прослеживания движущихся объектов на последовательностях цифровых
изображений. Разработанный «модифицированный метод оптических потоков для выделения
движущихся объектов» характеризуется следующими основными особенностями:
- использование на этапе предобработки временных разностно-накопительных схем для
обеспечения устойчивости к шумам и другим помехам;
- вычисление оптического потока по разности накопленных изображений;
- определение движущихся элементов изображения на основе оценки накопленного
оптического потока;
- статистическое межкадровое прослеживание движущихся объектов как устойчивых во
времени связных групп сходно движущихся элементов изображения.
Разработанные алгоритмы обеспечивают помехоустойчивость и вычислительную
эффективность на уровне ранее предложенного алгоритма ([2]) для выделения мелкоразмерных
движущихся объектов, и в то же время дают возможность настройки алгоритма на выделение
не только мелкоразмерных, но также средне- и крупноразмерных объектов (занимающих до 3040% площади кадра).
Предложенная
модифицированная
методика
автоматического
выделения
и
сопровождения движущихся объектов на видеопоследовательностях, получаемых от различных
двумерных сенсоров, может быть использована в различных системах ситуационного анализа
изображений динамически меняющихся сцен, таких как системы оценки транспортных
потоков, охранные системы, системы обнаружения препятствий для мобильных технических
средств и другие технические системы аналогичного назначения.
Список использованных источников
1. Визильтер Ю.В., Лагутенков А.В., Ососков М.В., Выголов О.В., Блохинов Ю.Б. Выделение
и межкадровое прослеживание движущихся объектов при регистрации изображений
сложных пространственных сцен произвольно движущимися двумерными сенсорами.
Вестник компьютерных и информационных технологий, N3, 2006, с.34-38.
2. Barron J. L., Fleet D. J., and Beauchemin S. S. Performance of optical flow techniques.
International Journal of Computer Vision, 12(1). pp. 43–77. 1994.
3. Horn B.K.P. and Schunck B.G. Determining optical flow. AI, 17. pp. 185-204. 1981.
4. Lucas B. and Kanade. T. An iterative image registration technique with an application to stereo
vision. Proc. DARPA IU Workshop. pp. 121-130. 1981.
5. Anandan P. A computational framework and an algorithm for the measurement of visual motion.
Int. J. Comp. Vision, 2. pp. 283-310. 1989.
6. Nagel H.H. Displacement vectors derived from second-order intensity variations in image
sequences. CGIP, 21. pp. 85-117. 1983.
7. Singh A. Optic Flow Computation. A Unified Perspective. IEEE Computer Society Press. pp. 168177. 1992.
Download