Разработка алгоритмов поиска и компенсации эффектов дождя на видеопоследовательностях

Алгоритмы поиска динамических шумов и их компенсации на основе метода Motion estimation. Разработка программного продукта для детектирования движения капель дождя и их удаления на видеопоследовательностях, и его реализация среде Microsoft Visual Studio.

Рубрика Программирование, компьютеры и кибернетика
Вид магистерская работа
Язык русский
Дата добавления 09.02.2013
Размер файла 6,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Для реализации был выбран алгоритм Motion estimation (оценка движения), т.к. иногда можно шум на изображении ложно принять за дождь (шум также имеет колебания интенсивности), а выбранный алгоритм оценивает именно движение объектов (капель дождя) на видеопоследовательности. Метод имеет наименьшую ошибку.

Как уже было сказано в первой главе, можно выделить несколько основных групп методов оценки движения: методы оптического потока (optical flow) [8], методы фазовой корреляции (phase correlation) [8], методы сопоставления блоков (block matching algorithms) [8].

Широко на практике применяются методы сопоставления блоков. Общая схема работы этих методов представлена на блок-схеме (Рисунок 2.1). Приведем описание алгоритма:

- текущий кадр разбивается на множество непересекающихся блоков;

- для каждого блока текущего кадра производится поиск наиболее похожего блока (реперного блока) в предыдущем кадре. Разбиение блока на несколько подблоков производится адаптивно в областях со сложным движением и в областях, где текущий размер блока не может обеспечить приемлемый уровень ошибок.

Для поиска областей со сложным движением вычисляется дисперсия координат векторов, входящих во множество векторов-кандидатов для блока. Области со сложным движением определяются путем сравнения дисперсии с порогом: если она превышает порог, то в окрестности блока имеет место сложное движение [3].

Рисунок 2.1 - Блок-схема алгоритма поиска реперного блока

Приемлемый уровень ошибок для вектора движения блока определяется следующим образом. Имеет место зависимость между величиной VAR(t,B) и средним значением ошибки вектора:

(2.1)

где B - блок; I(t, x, y) - яркость точки (x, y) кадра с номером t.

Таким образом, вычислив величину VAR для блока, становится возможным адаптивно определить порог для ошибки вектора, в случае превышения которого блок необходимо разбить на блоки меньшего размера. Адаптивный выбор размера блока позволяет значительно повысить точность векторного поля (например, на границах объектов), не повышая при этом чувствительность к шуму [2]. Иными словами, блоки малого размера используются только в тех областях кадра, где это необходимо.

В современных алгоритмах сопоставления блоков для ускорения поиска вектора движения блока используется сходство между векторами движения в пространстве и во времени. Ускорение достигается за счет перебора лишь небольшого числа векторов движения вместо проверки всех возможных. Поиск вектора движения для каждого блока в таких алгоритмах производится следующим образом (Рисунок 2.2). Приведем описание алгоритма:

- формируется множество векторов-кандидатов;

- в нем осуществляется поиск лучшего вектора-кандидата;

- производится его уточнение.

Рисунок 2.2 - Блок-схема алгоритма поиска вектора движения

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

Рисунок 2.3 - Блок-схема усовершенствованного алгоритма поиска вектора движения

2.1.1 Усовершенствованные алгоритмы

Использование простейшего алгоритма motion estimation не дает хорошего результата, когда объект движется слишком медленно, т.к. он попросту не успевает его «захватить». Отличие следующего детектора от предыдущего в том, что он ищет вектор движения, сравнивая кадр не с предыдущим кадром, а с первым в видеопоследовательности [8]. Блок-схема такого алгоритма представлена на рисунке 2.3.

Единственный случай, когда этот алгоритм не срабатывает - это когда на первом кадре присутствует объект, а на последующих кадрах его нет.

2.1.2 Оптимизированный алгоритм

Наиболее эффективные алгоритмы поиска векторов движения сравнивают текущий кадр не с другими кадрами, а с фоном видеопоследовательности [10]. Сначала получается фон первого кадра видеопоследовательности в качестве объекта сравнения. В последующем текущий кадр всегда сравнивается с фоном. Данный алгоритм был усовершенствован в плане возможности двигать фон на необходимый уровень. Фон двигается в кадре в сторону, т.е. меняются цвета пикселов в фоновом кадре на необходимый уровень в каждом кадре. Схематично такой алгоритм представлен на блок-схеме (Рисунок 2.4).

Результат работы такого алгоритма представлен на рисунке 2.5.

Рисунок 2.5 - Результат работы усовершенствованного алгоритма поиска векторов движения

Еще один подход к определению векторов движения отличается от предыдущих применением фильтра Pixellate (разбиение изображения на пикселы). Для обработки представляются пикслеллированные кадры - текущий и фоновый [10]. Остальная часть алгоритма, как и в описанных выше алгоритмах. Результат работы оптимизированного алгоритма представлен на рисунке 2.6.

Рисунок 2.4 - Блок-схема усовершенствованного алгоритма поиска векторов движения

Рисунок 2.6 - Результат применения оптимизированного алгоритма

Применение для поиска дождя видно на рисунке 2.7.

Рисунок 2.7 - Детектирование капель дождя на бинаризированной видеопоследовательности

2.2 Алгоритм компенсации дождя на видеопоследовательности

Алгоритм компенсации состоит из двух этапов. Первый этап: фильтр erosion применяется уже при поиске дождя. Вторым этапом применяется фильтр Adaptive Smoothing. Блок-схему работы фильтра можно посмотреть на рисунке 2.8. Приведем подробное описание. Параметр Radius метода влияет на формирование фактора сглаживания. Метод использует приём, который называется «метод двойной апертуры». Квадратная апертура 3?3 пробегает в цикле по всем пикселам изображения. На каждом шаге цикла в другом цикле проходит по всем 9 пикселам апертуры и рассматривается каждый такой пиксел как центр крестообразной апертуры 3?3. Вычисляется горизонтальная и вертикальная разница цветов лучей крестообразной апертуры, возводится сумма квадратов разниц в экспоненту, получая вес каждого пиксела апертуры. Умножается вес на цвет центрального пиксела апертуры, в результате получаются отклонения.

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

Рисунок 2.8 - Расчет значения пиксела при применении фильтра Adaptive smoothing

Также для общего понимания приведу математическое описание метода. Метод адаптивного сглаживания основан на идеях Ли (Lee) [14], но расширен до мульти-разрешения. Метод Ли рассчитывает окрестное среднее арифметическое zi,j и дисперсию с поправкой на шум qi,j в точке i,j, а затем получает вычисленное значение, как взвешенную сумму среднего и исходного зашумленного значения:

, (2.2)

где у12 - это дисперсия шума; xi,j - истинное значение в точке i,j; zi,j - это значение, поврежденное шумом.

Суть в том, что там, где дисперсия зашумленного сигнала значительно больше, чем шум, зашумленное значение используется в качестве предполагаемой истинной величины, так как шум не оказывает большого влияния; там, где дисперсия мала по сравнению с шумом, используется окрестное среднее арифметическое, значительно устраняющее шум. Использование различных размеров области расчета значительно влияет на качество обработки изображений. Если область слишком мала, алгоритм фильтрации шума не эффективен. Если область слишком велика, мелкие детали изображения будут потеряны в процессе фильтрации [14]. Решение по выбору размера области расчета в данном методе адаптивного сглаживания заключается в том, что нужно сглаживать с помощью областей различных размеров, позволяя дисперсии в области каждого размера контролировать, на сколько среднее арифметическое в данной области влияет на вычисленное значение. Алгоритм учитывает различную дисперсию шума в пространстве и рассчитывает средние арифметические значения и дисперсии во вложенных областях так, что все расчеты после этапа с начальным разрешением производятся по сеткам с постепенно увеличиваемым размером ячейки, что ведет к весьма эффективной обработке. Для применения данного алгоритма адаптивного сглаживания к данным, необходима оценка дисперсии для каждой точки. Описанный здесь способ оценки шума был разработан для использования с односекундными данными, требовал некоторой дополнительной подстройки к особенностям данных, в частности к пространственно - обусловленной природе шума. Для других источников данных может потребоваться другой способ; в некоторых случаях оценка шума может быть выполнена в процессе создания. Для каждой ячейки среднее значение рассчитывается по кольцевой области радиусом от 3 до 5 ячеек; кольцо означает, что значения, окружающие целевую ячейку не учитываются при расчете среднего значения. Рассчитывается разность между целевой ячейкой и средним значением, а затем получают стандартное отклонение этой разности по области из 5 ячеек. Это даёт информацию о величине дисперсии высот относительно средних высот на небольшом расстоянии, идея в том, что эта дисперсия должна быть наиболее зашумленной, так как небольшая дисперсия произведет пространственно - связанные отличия от среднего значения, которое не сильно повлияет на стандартные отклонения разностей. Эта первоначальная оценка величины шума всё еще весьма приблизительна, поэтому она сглаживается двумя этапами медианной фильтрации, сначала группировкой по прямоугольнику размерами 5?5, а затем по круговой области радиусом в 5 ячеек по полученной более грубой сетке. Результирующая сетка затем улучшается до начального разрешения с помощью билинейного пересчета.

2.3 Выводы по главе

Таким образом, во второй главе были подробно рассмотрены реализованные алгоритмы поиска и компенсации дождя на видеопоследовательностях на основе метода Motion estimation и алгоритмы в него включающиеся: автоматический фильтр erosion и фильтр Pixellate, а также Adaptive smoothing. Метод motion estimation включает в себя несколько детекторов движения основывающихся на усовершенствованных и оптимизированном алгоритмах. Оптимизированный алгоритм был усовершенствован в плане движения фона кадра на необходимый уровень. Оптимизированный алгоритм использует фильтр Pixellate для разложения изображения на пикселы. Представлены результаты обработки в виде изображений и видеофайлов. Алгоритмическая реализация включает в себя математические модели и описание алгоритмов выбранных для использования и оптимизированных методов и алгоритмов. Метод Adaptive smoothing является адаптивным. Данный метод самостоятельно подстраивает веса функции для определения применения в той или иной степени, что адекватно сказывается на обработке сложных динамических шумов, коими и является эффекты дождя. Этот относительно простой алгоритм адаптивного сглаживания эффективно устраняет пространственно-распределенный шум, полученный с помощью различных видеоисточников. Алгоритм сглаживания успешно заполняет участки с отсутствующими данными сглаженными соседними значениями, благодаря применению нулевых весов, которые могут быть использованы как простой метод для заполнения пустот.

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

3. Программная реализация, описание программного продукта

3.1 Структура программного продукта

Программный продукт для работы с видеопоследовательностями должен иметь легко понятный, простой интерфейс. Пользователь должен без труда загружать и обрабатывать видеопоследовательности. Структура меню программы представлена на рисунке 3.1.

Рисунок 3.1 - Структура меню программы

Рисунок 3.2 - Структура взаимодействия модулей

Структура взаимодействия модулей представлена на рисунке 3.2.

Система имеет интуитивно понятный интерфейс. На главной форме расположены пункты меню «Файл», «Движение», «Справка». Загруженная видеозапись отображается в середине окна. В меню «Файл» находится кнопка открытия видеопотока, в меню «Движение» находятся детекторы движения, в меню «Справка» информация о системе. В таблице 3.1 представлена файловая структура программного продукта.

Таблица 3.1 - Файловая структура программного продукта

Файлы *.cs

Назначение

Mainform.cs

Главная форма программы

AVIReader.cs

Чтение видео с помощью vfw

AVIWriter.cs

Запись в видео с помощью vfw

motion.exe

Исполняемое приложение

MotionDetector1

Простой детектор

MotionDetector2

Детектор по 1 кадру

MotionDetector3

Детектор фона

MotionDetector4

Детектор оптимизированный

видеофайлы

видеофайлы для приложения

Внешний вид главного окна программы представлен на рисунке 3.3.

Рисунок 3.3 - Главное окно программы «Motion Detector»

3.1.1 Простой детектор

Детектор предназначен для поиска векторов движения и оценки движения в видео основанный на сравнении с предыдущим кадром. Данный детектор представляет собой класс в программном продукте. Его UML-диаграмму можно посмотреть на рисунке 3.4.

Рисунок 3.4 - UML-диаграмма класса простого детектора

Листинг кода детектора представлен ниже.

Листинг 1 - Код метода простого детектора

// создать фильтры

Difference differenceFilter = new Difference();

IFilter thresholdFilter = new Threshold(15);

// установка backgroudFrame в качестве наложения для разностного фильтра

differenceFilter.OverlayImage = backgroundFrame;

// применение фильтров

Bitmap tmp1 = differenceFilter.Apply(currentFrame);

Bitmap tmp2 = thresholdFilter.Apply(tmp1);

// создать фильтр

IFilter erosionFilter = new Erosion();

// применить фильтр

Bitmap tmp3 = erosionFilter.Apply(tmp2);

Результат работы метода представлен на рисунке 3.5.

Рисунок 3.5 - Результат работы простого детектора

3.1.2 Детектор по первому кадру

Детектор основан на сравнении с первым кадром. Данный детектор так же представляет собой класс в программном продукте. Его UML-диаграмму можно посмотреть на рисунке 3.6.

Рисунок 3.6 - UML-диаграмма класса детектора по первому кадру

В листинге 2 показан код метода детектора.

Листинг 2 - Код метода детектора по первому кадру

// создание фильтра

MoveTowards moveTowardsFilter = new MoveTowards();

// установка currentFrame в качестве наложения для фильтра

moveTowardsFilter.OverlayImage = currentFrame;

// применяем фильтр

Bitmap tmp = moveTowardsFilter.Apply(backgroundFrame);

// удаляем старую фоновую сцену

backgroundFrame.Dispose();

backgroundFrame = tmp;

На рисунке 3.7 показан результат работы метода детектора.

Рисунок 3.7 - Результат работы метода детектора по первому кадру

3.1.3 Детектор фона

Детектор основан на сравнении с фоном. UML-диаграмма класса детектора фона представлена на рисунке 3.8.

Рисунок 3.8 - UML-диаграмма класса детектора фона

Ниже представлен листинг детектора фона (Листинг 3).

Листинг 3 - Метод детектора фона

// создание фильтра

IFilter pixellateFilter = new Pixellate();

// применение фильтра

Bitmap newImage = pixellateFilter(image);

// создаем набор фильтров для последовательного применения

FiltersSequence processingFilter = new FiltersSequence();

processingFilter.Add(new Difference(backgroundFrame));

processingFilter.Add(new Threshold(15));

processingFilter.Add(new Dilatation());

processingFilter.Add(new Edges());

// применение фильтра

Bitmap tmp1 = processingFilter.Apply(currentFrame);

На рисунке 3.9 показан результат работы детектора фона.

Рисунок 3.9 - Результат работы метода детектора фона

3.1.4 Оптимизированный детектор

Оптимизированный детектор представляет собой усовершенствованный детектор по фону. Является классом в программном продукте. UML-диаграмма класса представлена на рисунке 3.10.

Рисунок 3.10 - UML-диаграмма класса оптимизированного детектора

Результат работы детектора представлен на рисунке 3.11. Данный детектор отличается улучшенным быстродействием.

Рисунок 3.11 - Результат работы оптимизированного детектора

3.2 Описание программного продукта

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

- загрузка и отображение видео файла с жесткого диска;

- анализ видеопотока, оценка движения, поиск движущихся объектов;

- сохранение результатов анализа.

Для нормальной работы программы необходимо выполнение следующих программных и аппаратных требований:

- Операционная система «Microsoft Windows XP/Vista/7».

- Процессор Intel Pentium 1,5 MHz и выше 512 Mb оперативной памяти.

- 100 Mb свободного места на жестком диске для файлов приложения.

- Ускоритель «Radeon», «GeForce».

- NET.Framework версии не ниже 3.0.

- Установленную Visual studio не ниже 2008 версии.

- Библиотеки AForge для работы с видеопотоком.

Средой разработки была выбрана Microsoft Visual Studio 2010, включающая в себя интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE,.NET Framework,.NET Compact Framework и Microsoft Silverlight. Языком программирования выбран Visual C# - объектно-ориентированный язык программирования. Разработанный в 1998 - 2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft.NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

В программном продукте поддерживается работа с интерфейсом Video for Windows.

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

В качестве источника видео можно использовать видеокамеру, подключенную к компьютеру через видеоадаптер.

UML-диаграмма классов программы представлена на рисунке 3.12.

Программный продукт «Motion detector» не требует сложной установки. Достаточно скопировать все файлы проекта в выбранную папку на жестком диске. После установки и запуска исполняемого файла ««motion.exe» активируется главное окно. Чтобы начать анализ видео с файла на жестком диске достаточно выбрать пункт меню «Файл > Открыть» и выбрать интересующий нас видео файл. Затем в меню движение необходимо выбрать соответствующий детектор из четырех предложенных и результат отобразится на видеопоследовательности. Существует возможность сохранить полученный результат. В меню справка можно познакомиться со справкой о программном продукте.

Рисунок 3.12 - UML-диаграмма классов программ

3.3 Тестирование и анализ характеристик

Объектом тестирования являются выбранные алгоритмы и программный продукт. Методика тестирования включает в себя сравнение алгоритмов с помощью метрик, результаты показаны в виде графиков. Было проведено сравнение усовершенствованного метода с алгоритмами FAME [3] и E3DRS [3], как с одними из наиболее популярных алгоритмов ОД того же класса. Рассматриваются два сценария применения ОД:

- использование блоков размера 16?16. Данный сценарий подразумевает разбиение области кадра только на блоки размера 16?16;

- использование блоков размера 4?4. В данном случае сравнение с алгоритмом FAME не проводилось, поскольку он предназначен только для работы с блоками размера 16?16.

Алгоритм E3DRS работает с блоками произвольного фиксированного размера, поэтому для него использовалось разбиение области кадра на блоки размера 4?4. Алгоритм способен адаптивно определять размер блока, для него использовалось начальное разбиение области кадра на блоки размера 16?16, а во время работы алгоритма происходило адаптивное разбиение блоков на подблоки по схеме 16?16 --> 8?8 --> 4?4.

В сравнении применялась метрика Y-PSNR, вычисляемая для каждой пары скомпенсированный и сходный кадр по их яркостным компонентам. Большие значения метрики соответствуют меньшей скомпенсированной разнице. Иными словами, чем выше показатель Y-PSNR. тем выше точность найденных векторов движения. Для удобства сравнения была также вычислена метрика ДУ-PSNR. которая представляет собой разность значений метрики Y-PSXR сравниваемого алгоритма и алгоритма E3DRS.

При использовании первого сценария усовершенствованный алгоритм демонстрирует лучшие значения Y-PSNR - соответствующая ветвь на графике (Рисунок 3.8) лежит выше остальных.

Рисунок 3.8 - Сравнение PSNR для алгоритмов (блоки 16 ?16)

Не смотря на некоторое отставание этого алгоритма по скорости обработки (Рисунок 3.9), он, тем не менее, осуществляет обработку кадров видеопотока с большой скоростью.

Рисунок 3.9 - Сравнение скорости обработки

Было проведено тестирование около 50 различных видеопоследовательностей с различными разрешениями, на каждом из четырех детекторов на время срабатывания. Результаты представлены в таблице 3.2.

Таблица 3.2 - Время срабатывания алгоритмов

Разрешение

Простой детектор

Детектор по первому кадру

Детектор фона

Оптимизированный детектор

640?480

0,11

0,14

0,113

0,01

800?600

0,72

0,685

0,54

0,075

1024?768

1,1

1,134

1,09

0,43

1280?1024

1,73

1,88

2,0

1,184

640?480

0,1

0,12

0,14

0,015

800?600

0,2

0,12

0,1

0,09

1024?768

1,3

1,23

1,12

0,58

1280?1024

1,9

1,9

1,87

1,9

640?480

0,12

0,09

0,17

0,02

800?600

0,3

0,14

0,11

0,1

1024?768

1,4

1,41

1,2

0,45

1280?1024

2

2

1,49

1,95

640?480

0,09

0,098

0,2

0,017

800?600

0,3

0,14

0,12

0,13

1280?1024

2,1

2,3

1,83

1,89

1024?768

1,6

1,47

1,23

0,53

1280?1024

1,95

1,94

1,95

1,1

640?480

0,08

0,088

0,15

0,019

800?600

0,41

0,18

0,73

0,4

1024?768

1,9

1,8

1,37

0,4

1280?1024

2,08

2

2,17

1,28

640?480

0,07

0,92

0,2

0,2

800?600

0,5

0,2

0,8

0,35

1024?768

1,79

2,2

2,13

1,73

1280?1024

2

2,3

2,3

1,97

640?480

0,14

0,93

0,2

0,2

800?600

0,5

0,23

0,9

0,37

1024?768

1,83

2,25

2,14

1,9

Данные таблицы представлены на графике (Рисунок 3.10).

Рисунок 3.10 - График результатов тестирования

Как видно из графика, при увеличении разрешения, увеличивается время обработки.

3.4 Принятие решения об использовании результатов

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

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

Применение метода Adaptive smoothing несущественно замедлило работу программы, но дало хорошие визуальные результаты. В общем, цель программы достигнута. Результаты адекватны поставленным задачам перед программным продуктом.

3.5 Выводы по главе

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

Заключение

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

- изучены существующие методы определения дождя на видеопоследовательностях. Для реализации выбран метод Motion estimation;

– изучены методы компенсации шумов, выбран метод Adaptive smoothing;

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

– реализованы выбранные методы и алгоритмы определения дождя на видеопоследовательности;

– проведено тестирование программного продукта и анализ результатов;

– написана пояснительная записка.

Реализация показала, что метод Motion estimation дает неплохие результаты по сравнению с другими рассмотренными методами. Совместно с предварительной и постобработкой видеопоследовательности можно добиться стабильных хороших результатов поиска дождя на видеопоследовательности. А метод Adaptive smoothing с адаптивным подбором весов значительно очищает видеопоследовательность от эффектов дождя. Данные методы также широко используются в играх и имитаторах. К примеру, Adaptive smoothing - настройка графики есть практически в каждой современной игре. Она помогает улучшить визуальное качество картинки, сгладить контуры объектов, убрать лишнее. Оценка движения используется в основном в «стрелялках», например, для определения движения врага и т.п.

Список использованных источников

1. Боровиков В.П. Нейронные сети [Текст]/ В.П. Боровиков. - М.: Горячая линия телеком, 2008. - 392 с.

2. Гонсалес Р. Цифровая обработка изображений [Текст]/ Р. Гонсалес, Р. Вудс. - М.: Техносфера, 2006. - 1072 с.

3. Журавель И.М. Краткий курс теории обработки изображений [Текст]/ И.М. Журавель.// IV Всероссийская научная конференция «Проектирование научных и инженерных приложений». - М.: Техносфера 2009. - 120 с.

4. Исаенко А.П. Использование нейронных сетей для решения задач распознавания образов [Текст]/ А.П. Исаенко. - Донецкий национальный технический университет, автореферат по магистерской диссертации, 2007. -

5. Калинкина Д. Проблема подавления шума на изображениях и видео и различные подходы к ее решению [Текст]/ Д. Калинкина, Д. Ватолин. - М.: Компьютерная графика и мультимедиа, сетевой журнал, 2010. - 9 с.

6. Кубасов Д. Обзор методов компенсации движения [Текст]/ Д. Кубасов, Д. Ватолин. - М.: Компьютерная графика и мультимедиа, сетевой журнал, 2010.

7. Полякова М.В. Мультифрактальный метод автоматизированного распознавания помех на изображении [Текст]/ М.В. Полякова, В.Н. Крылов. - М.: Информационно-измерительные системы, 2006. - 12 с.

8. Руднева, В. Методы повышения цветового качества изображений и восстановления цветов в старом видео [Текст]/ В. Руднева. - М.: Компьютерная графика и мультимедиа, сетевой журнал, 2010. - 11 с.

9. Симонян К.В. Адаптивный метод оценки движения в видео [Текст]/ К.В. Симонян. - М.: ВМик МГУ, 2008. - 8 с.

10. Слынько Ю.В. Комплекс алгоритмов улучшения изображений и компенсации их геометрических искажений [Текст]/ Ю.В. Слынько. - М.: Московский физико-технический институт, 2005. - 100 с.

11. Ahmad W. A fast adaptive motion estimation algoritm [Text] / W. Ahmad// IEEE Transactions on CSVT, March 2006. - Pp. 420-438.

12. Biswas M. DCT-based phase correlation motion estimation [Text]/ M/ Biswas// In Proceedings of ICIP 2004, Vol. 1. - Pp. 445-448.

13. Braspenning R. Efficient Motion Estimation with Content-Adaptive Resolution [Text] / R. Braspenning// In Proceedings of ISCE"02, September 2002. - Pp. E29-E34.

14. Olivieri S. A low-complexity motion estimation algorithm for H.263 video coding [Text]/ S. Oliveri// In Proceedings of Philips Conference on DSP. Veldhoven, November 1999. - P 17.

15. Pizurica A, Noise Reduction in Video Sequences Using Wavelet-Domain and Temporal Filtering [Text] / A. Pizurica// SPIE Conference on Wavelet Applications in Industrial, October 2003. - Pp. 27 - 31.

16. Richard A. A New Algorithm for Image Noise Reduction using Mathematical Morphology [Text] / A. Richard// IEEE Transactions on Image Processing, Volume 4, Number 3, May 1995. - Pp. 554-568.

17. Адаптивное сглаживание для шумных ЦМР. [Электронный ресурс]. - Режим доступа: www.url: http://wiki.gis-lab.info/w/Адаптивное сглаживание для шумных ЦМР.

18. Визуальное проектирование приложений C#. [Электронный ресурс]. - Режим доступа: www.url: http://frolov-lib.ru/books/msnet/c_sharp2- 12.01.2008.

19. Визуальный шум цифровой камеры. [Электронный ресурс]. - Режим доступа: www.url: http://www.cambridgeincolour.com/ru/tutorials/image-noise.

20. Использование нейронной сети Хопфилда [Электронный ресурс]. - Режим доступа: www.url: http://habrahabr.ru/blogs/personal/80730/ - 14.01.2010.

21. Нейроны в действии [Электронный ресурс]. - Режим доступа: www.url: http://habrahabr.ru/blogs/personal/63978/ - 13.07.2009.

22. Нелинейные преобразования растровых изображений в GDI+. [Электронный ресурс]. - Режим доступа: www.url: http://www.gotdotnet.ru/blogs/algol36/9658.

23. Простейший фильтр Adaptive Smoothing. [Электронный ресурс]. - Режим доступа: www.url: http://www.djvu-soft.narod.ru/bookscanlib.

24. AdaptiveSmoothing Class. [Электронный ресурс]. - Режим доступа: www.url: http://www.aforgenet.com/framework/docs/html.

25. Detection and Removal of Rain. [Электронный ресурс]. - Режим доступа: www.url:http://www.cs.columbia.edu/CAVE/projects/rain_detection/rain_detection.

26.Image Processing Lab in C#. [Электронный ресурс]. - Режим доступа: www.url:http://www.codeproject.com/KB/GDIplus/Image_Processing_Lab.aspx - 03.03.2005.

27. Motion Detection Algorithms. [Электронный ресурс]. - Режим доступа: www.url: http://www.codeproject.com/Articles/10248/Motion-Detection-Algorithms.

28. Noise Reduction of an Image in C# using Median Filters. [Электронный ресурс]. - Режим доступа: www.url: http://www.gutgames.com/post/Noise-Reduction-of-an-Image-in-C-using-Median-Filters.aspx.

29. Rain Removal in Video by Combining Temporal and Chromatic Properties. [Электронный ресурс]. - Режим доступа: www.url: http://www.comp.nus.edu.sg/~photo/projects/rain.

30. Wikipedia [Электронный ресурс]. - Режим доступа: www.url: http://www.wikipedia.org.

Список публикаций автора по теме работы

31. Иванов Д.А. Подавление шума на изображениях и видеопоследовательностях [Текст]/ Д.А. Иванов// Международная научная конференция «Решетневские чтения», Москва, 2010. - Cс. 530-532.

32. Иванов Д.А. Слежение за точечными особенностями на сценах из видеопоследовательности [Текст]/ Д.А. Иванов // Международная научная конференция « Невские чтения», Москва, 2011. - Cс. 485-487.

33. Иванов Д.А. Методы улучшения качества архивных видеопоследовательностей [Текст]/ Д.А. Иванов // VII всероссийская научно-практическая конференция «Актуальные проблемы авиации и космонавтики», Москва, 2011. - Cс. 369-371.

34. Иванов Д.А. Методы улучшения качества изображений [Текст]/ Д. А. Иванов // VI всероссийская конференция творческой молодежи «Актуальные проблемы авиации и космонавтики», Москва, 2010. - Cс. 224 -225.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.