Поиск и анализ движущихся объектов по серии изображений
Поиск и анализ движущихся объектов по серии изображений
Поиск и анализ движущихся объектов по серии изображений В задачах компьютерного зрения возникает проблема определения и анализа движущихся объектов по последовательности изображений, полученных с малыми интервалами времени. Для распознавания подобных объектов на достаточно сложном, но неподвижном фоне необходимо определить области, в которых предположительно происходит движение. В результате исследований найденных областей, их можно изменить до размеров объектов (т.е. найти сами объекты) и определить параметры их движения. При этом количество и размеры объектов на изображениях могут изменяться в широких пределах. Цели и задачи: анализ, разработка и реализация алгоритмов поиска и определения движения объекта, его свойств и характеристик. Методы исследования: Теоретические методы исследований основывались на методах цифровой обработки изображений и распознавания образов. Экспериментальная часть исследования базировалась на обработке и анализе цифровых изображений с помощью ЭВМ с дальнейшей визуализаций результатов. Для программной реализации алгоритмов использовалась библиотека для обработки изображений Open Source Computer Vision Library. 1.Алгоритмы поиска областей движения 1.1 Сравнение двух последующих изображений Определим кадр изображения, взятый в момент времени как множество точек , а кадр изображения, взятый в момент времени как множество . Пусть - функция яркости точки изображений, определённая на множествах и . Один из наиболее простых подходов для определения областей движения между двумя кадрами изображения и основывается на сравнении соответствующих точек этих двух кадров. Для этого применяется процедура формирования так называемой разности кадров. Разностью между двумя кадрами изображения, взятыми в моменты времени и является следующее множество: (1.1) где - значение порогового уровня, выбираемое таким образом, чтобы отделить точки, в которых кадры изображения значительно отличаются друг от друга, (обусловленные движением распознаваемых объектов) от точек, в которых за время произошли незначительные шумовые перепады яркости. Изображение содержит предположительные области движения объектов и аддитивный шум, искажающий текущий кадр. Избавится от шума позволяют морфологические операции (операции над бинарным изображением), такие как эрозия, коррозия, а так же различные способы фильтрации и оптимальное (экспериментально подбираемое) значение порога . Алгоритм был реализован с помощью библиотеки для обработки изображений OpenСV. Пример его работы представлен на рис 1.1. |
Изображение | Изображение | Разностное изображение | Бинаризированое изображение | Отфильтрованное изображение | | | | | | | | | | | | | | | | | | | | |
Рис. 1.1 Пример работы алгоритма.1.2. Использование оптического потока. Для определения движущихся точек и характера их движения можно воспользоваться оптическим потоком серии изображений [1]. Оптический поток определяется как видимое движение яркости изображения. Пусть яркость изображения, которое изменяется во времени, т.е. мы имеем последовательность изображений. Сделаем два важных предположения. 1. Яркость изображение зависит от координат . 2. Яркость каждой точки движущегося или статического объекта не меняются во времени. Пусть некоторый объект на изображении или некоторая точка, движется во времени , тогда перемещение объекта или точки может быть записано как . Используя разложение в ряд Тейлора для функции яркости , получим следующее выражение: где «» - производные более высокого порядка малости. Затем, в соответствии с выше сказанными предположениями, запишем, что , и . Деление на и введение следующей замены дают уравнение (2.1), обычно называемое как уравнение оптического потока, где и являются компонентами области оптического потока в координатах соответственно. Так как уравнение (2.1) имеет больше чем одно решение, то требуется большее количество уравнений. Используя уравнение оптического потока для областей связанных пикселей, и предполагая, что они имеют одинаковую скорость движения, задачу нахождения оптического потока можно свести к решению системы линейных уравнений. Её решение даст нам скорость передвижения связанной области пикселей. Отметим, что найденные области на практике, как правило, не точно охватывают движущиеся объекты, что связано с погрешностью фильтрования и выбором порога бинаризации. Чтобы более точно определить области движения объектов и предположить, что эти области охватывают только искомые объекты, используются следующие алгоритмы. 2. Алгоритмы обработки найденных областей движения 2.1 Метод коррекции областей движения Метод приводит найденные области движения к форме, более удобной для дальнейшей обработки. Он связывает отдельные элементы областей, получившихся на разностном изображении. Пусть необходимо выделить области правильной формы, являющиеся достаточно крупными областями движения. Задачу можно формализовать следующим образом: необходимо разбить множество точек на максимально возможное число подмножеств так, чтобы они не пересекались. Предложим следующий алгоритм решения формализованной задачи: 1. На множестве конструируем подмножества, содержащие связанные точки , выбранные как лежащие рядом друг с другом, в соответствии со следующим критерием . 2. Конструируем подмножества более высокого уровня, являющиеся областями правильной формы , охватывающими подмножества более низкого уровня. 3. Повторяем пункт 2 до тех пор, пока не получим конечное количество подмножеств наивысшего уровня. Метод был адаптирован и реализован функциями библиотеки OpenCV. Примеры его работы приведены на рис. 2.1. |
| Области правильной формы | | | Круг | Прямоугольник | | | | | | | | | | | | | | |
Рис. 2.1 Пример работы алгоритма для разных областей правильной формы. 2.2. Нахождение объекта по цветовому диапазону Метод использует гистограмму изображения исходного объекта для нахождения объекта с такими же цветовыми характеристиками на серии изображений. Пусть необходимо построить изображение в оттенках серого цвета, содержащее необходимые нам объекты. Введём следующие определения. Для простоты описание решения формализованной задачи, ввёдём оператор, который преобразует функцию яркости изображения в функцию количественного распределения пикселей с определенным значением яркости (гистограмму) (где k - численное значение яркости): Обратный оператор преобразует гистограмму в изображение в оттенках серого. Алгоритм поставленной задачи состоит из следующих этапов: 1. Построение гистограмм искомого объекта и исходного изображения 2. Формируем новую гистограмму, как нормированное произведение и : 3. Используя обратное преобразование , получаем функцию, которая является искомым изображением в оттенках серого: Метод был адаптирован и реализован функциями библиотеки OpenCV. Примеры его работы приведены на рис. 2.2. |
| Доска | Черная фишка | Белая фишка | | Исходное изображение | | | | | Гистограмма изображения | | | | | Исходное изображение | По гистограмме доски | По гистограмме черная фишка | По гистограмме белая фишка | | | | | | | | | | | | | | | | | |
Рис. 2.2 Пример работы алгоритма. 3. Результаты исследований В результате проведённых исследований были сделан вывод, что большую часть областей, получившихся в результате применения вышеописанных алгоритмов, занимают искомые объекты, и мы можем по этим областям оценить сами объекты. Все алгоритмы были реализованы функциями библиотеки OpenCV. И на их основе была написана программа для автоматического определения выставляемых на доску фишек, описанная в [3]. Литература. 1. Open Source Computer Vision Library Reference Manual 2. О. С. Семерий. Метод максимальных площадей для выделения движущихся объектов по серии изображений
|