Поиск ианализ движущихся объектов по серии изображений
Взадачах компьютерного зрения возникает проблема определения и анализадвижущихся объектов по последовательности изображений, полученных с малымиинтервалами времени. Для распознавания подобных объектов на достаточносложном, но неподвижном фоне необходимо определить области, в которыхпредположительно происходит движение. В результате исследований найденных областей,их можно изменить до размеров объектов (т.е. найти сами объекты) и определитьпараметры их движения. При этом количество и размеры объектов на изображенияхмогут изменяться в широких пределах.
Целии задачи: анализ, разработка и реализация алгоритмов поиска и определениядвижения объекта, его свойств и характеристик.
Методыисследования: Теоретические методы исследований основывались на методахцифровой обработки изображений и распознавания образов. Экспериментальная частьисследования базировалась на обработке и анализе цифровых изображений с помощьюЭВМ с дальнейшей визуализаций результатов. Для программной реализацииалгоритмов использовалась библиотека для обработки изображений Open SourceComputer 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. О. С. Семерий. Методмаксимальных площадей для выделения движущихся объектов по серии изображений