Поиск и анализ движущихся объектов по серии изображений
Задачи компьютерного зрения. Анализ, разработка и реализация алгоритмов поиска и определения движения объекта, его свойств и характеристик. Алгоритмы поиска и обработки найденных областей движения. Метод коррекции. Нахождение объекта по цветовому диапазон
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 29.09.2008 |
Размер файла | 2,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Поиск и анализ движущихся объектов по серии изображений
В задачах компьютерного зрения возникает проблема определения и анализа движущихся объектов по последовательности изображений, полученных с малыми интервалами времени. Для распознавания подобных объектов на достаточно сложном, но неподвижном фоне необходимо определить области, в которых предположительно происходит движение. В результате исследований найденных областей, их можно изменить до размеров объектов (т.е. найти сами объекты) и определить параметры их движения. При этом количество и размеры объектов на изображениях могут изменяться в широких пределах.
Цели и задачи: анализ, разработка и реализация алгоритмов поиска и определения движения объекта, его свойств и характеристик.
Методы исследования: Теоретические методы исследований основывались на методах цифровой обработки изображений и распознавания образов. Экспериментальная часть исследования базировалась на обработке и анализе цифровых изображений с помощью ЭВМ с дальнейшей визуализаций результатов. Для программной реализации алгоритмов использовалась библиотека для обработки изображений 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. О. С. Семерий. Метод максимальных площадей для выделения движущихся объектов по серии изображений
Подобные документы
Теоретические сведения об алгоритмах поиска подстроки в строке. Глобализация информации в сети Internet. Интеллектуальный поиск. Алгоритм последовательного (прямого) поиска, Рабина и их применение. Анализ алгоритмов. Реализация программного кода.
курсовая работа [230,8 K], добавлен 12.02.2009Реализация комплекса программ поиска подстроки в тексте алгоритмом прямого поиска и алгоритмом Кнута-Морриса-Пратта. Сравнительный анализ теоретических и экспериментальных оценок эффективности алгоритмов. Разработка структуры программы, ее листинг.
курсовая работа [2,8 M], добавлен 22.01.2015Основные определения поиска подстроки в строке. Простейшие алгоритмы поиска подстроки в строке. Алгоритмы последовательного поиска и Рабина-Карпа, создание и описание программы, реализующей их. Порядок работы с приложением. Тестирование алгоритмов.
курсовая работа [2,7 M], добавлен 24.05.2012Алгоритмы поиска динамических шумов и их компенсации на основе метода Motion estimation. Разработка программного продукта для детектирования движения капель дождя и их удаления на видеопоследовательностях, и его реализация среде Microsoft Visual Studio.
магистерская работа [6,6 M], добавлен 09.02.2013Методы реализации алгоритмов сортировки и алгоритмов поиска на языках программирования высокого уровня. Программирование алгоритмов сортировки и поиска в рамках создаваемого программного средства на языке Delphi. Создание руководства пользователя.
курсовая работа [1,7 M], добавлен 16.04.2012Обзор алгоритмов распознания объектов на двумерных изображениях. Выбор языка программирования. Обнаружение устойчивых признаков изображения. Исследование алгоритмов поиска объектов на плоскости. Модификация алгоритма поиска максимума дискретной функции.
дипломная работа [1,0 M], добавлен 16.06.2013Анализ существующих проблем и обзор библиотеки обработки изображений и алгоритмов общего назначения OpenCV. Особенности разработки и детальный анализ требований к программе. Основная логика ее работы и реализация. Трекинг лица и объекта по цвету.
дипломная работа [1,3 M], добавлен 26.06.2017Составление и программная реализация в среде Borland Delphi 7.0 алгоритмов итерационного и рекурсивного вариантов решения задачи поиска с возвращением. Исследование асимптотической временной сложности решения в зависимости от количества ячеек на плате.
курсовая работа [57,5 K], добавлен 25.06.2013Классы задач P и NP, их сводимость. Примеры NP-полных и NP-трудных задач. Сущность метода поиска с возвратом. Алгоритмы решения классических задач комбинаторного поиска. Решение задачи о восьми ферзях. Поиск оптимального решения методом ветвей и границ.
презентация [441,5 K], добавлен 19.10.2014Понятие алгоритма как набора инструкций, описывающего порядок действий. Поиск в ширину - метод обхода графа и поиска пути в нем. Пример работы алгоритма поиска в ширину, его неформальное и формальное описание. Реализация с помощью структуры "очередь".
курсовая работа [684,8 K], добавлен 05.04.2015