- •Реферат
- •Введение
- •Постановка задачи
- •1 Аналитический обзор предметной области
- •Компьютерное зрение
- •Обзор методов детектирования объектов
- •Эмпирические методы
- •Методы характерных инвариантных признаков
- •Распознавание с помощью шаблонов, заданных разработчиком
- •Методы обнаружения лица по внешним признакам
- •Выбор алгоритма
- •Обзор методов детектирования движения
- •1.3.1 Межкадровая разность
- •1.3.2 Базовый кадр
- •1.3.3 Методы оптического потока
- •Обзор инструментальных средств для разработки программного продукта
- •Библиотека OpenCv
- •1.4.2 Среда разработки MathWorks matlab
- •1.5 Интерфейсы последовательной передачи данных
- •2 Оборудование и аппаратная реализация
- •2.1.1 Характеристики камеры
- •Передача команд по протоколу visca
- •Получение изображения с камеры
- •Работа с портом
- •3 Анализ видеоизображения. Детектор лица
- •3.1 Постановка задачи
- •3.2 Метод Виолы-Джонса
- •3.2.1 Описание алгоритма
- •3.2.2 Схема распознавания
- •3.2.3 Признаки класса
- •3.2.4 Схема обучения
- •3.2.5 Интегральное представление изображений
- •3.2.6 Обучение
- •3.2.7 Распознавание
- •3.3 Программная реализация
- •4 Анализ видеоизображения. Слежение за лицом
- •4.1Постановка задачи
- •4.2 Метод Лукаса-Канаде
- •4.2.2 Одномерный случай
- •4.2.2 Двумерный случай
- •4.2.3 Недостатки метода
- •4.3 Выбор оптимальных параметров
- •4.4 Программная реализация алгоритма
- •5 Управление поворотом камеры
- •5.1 Постановка задачи
- •5.2 Перенацеливание на заданную точку поверхности
- •5.3 Модель принятия решений
- •6 Исследование системы
- •6.1 Оценка точности перенацеливания
- •6.2 Проверка на устойчивость к смене освещения
- •6.3 Время задержки
- •6.4 Устойчивость при частичном перекрытии объекта
- •6.5 Анализ влияния шумов
- •Заключение
- •Список литературы
- •Приложение 1. Код программы
Выбор алгоритма
Сформируем набор критериев выбора алгоритма:
Возможность работы в режиме реального времени:
Высокая точность детектирования:
Инвариантность к малым поворотам и масштабированию объекта:
Инвариантность к изменению освещения сцены:
Возможность работы при неоднородном фоне:
Составим системную матрицу оценки критериев (таблица 1), где положительному ответу будет соответствовать 1, а отрицательному – 0.
Таблица 1. Системная матрица оценки критериев
Методы
|
Работа в режиме реального времени |
Высокая точность |
Инвариантность к малым поворотам и масштабированию объекта
|
Инвариантность к изменению освещения сцены
|
Неоднородный фон |
эмпирические методы
|
1 |
0 |
0 |
0 |
0 |
методы характерных инвариантных признаков
|
1 |
1 |
1 |
0 |
0 |
Распознава-ние с помощью шаблонов, заданных разработчи-ком
|
1 |
0 |
1 |
0 |
0 |
метод обнаружения по внешним признакам
|
1 |
1 |
1 |
1 |
1 |
– множество
методов-кандидатов
Для каждого метода-кандидата имеется набор критериев:
Условие выбора оптимального решения:
Найдем оптимальное
решение, соответствующее максимальному
значению множества M:
Таким образом, метод обнаружения по внешним признакам наиболее полно удовлетворяет критериям, которые формируют требования для эффективного решения задачи детектирования лиц в данной работе.
Обзор методов детектирования движения
Так как в работе нам необходимо реализовать слежение за движущимся объектом, то необходимо выбрать метод, который будем использовать. Под понятием слежения за объектом можно выделить два подхода: первый заключается в итеративном использовании методов детектирования объекта на каждом кадре, определяя таким образом смещение объекта, а второй – в детектировании движения выделенного объекта и определение его нового положения. Естественно, что второй способ будет более правильным с точки зрения вычислительных затрат. Поэтому рассмотрим существующие методы детектирования движения в видеопотоке.
1.3.1 Межкадровая разность
Вычисление межкадровой разности является очень распространённым методом первичного обнаружения движения, после выполнения которого, вообще говоря, уже можно сказать, присутствует ли в потоке кадров движение. До недавнего времени многие детекторы движения функционировали именно по такому принципу. Однако такой подход даёт достаточно грубую оценку, приводя к наличию неизбежной ложной реакции детектора на шум регистрирующей аппаратуры, смену условий освещения, лёгкое качание камеры и пр. Таким образом, видеокадры должны быть предварительно обработаны перед вычислением разности между ними. Алгоритм вычисления межкадровой разности двух кадров для случая обработки цветного видео в формате RGB выглядит следующим образом:
1) На вход алгоритма поступают два видео кадра, представляющие собой две последовательности байт в формате RGB.
2) Производится вычисление попиксельных межкадровых разностей по следующей схеме:
,
,
,
где
,
- значения красной, зелёной и синей
компонент цвета i-го пикселя результирующего
растра,
-
значения
красной, зелёной и синей компонент цвета
i-го пикселя на первом и втором кадре.
Для каждого пикселя вычисляется среднее значение между значениями трёх компонент цвета:
.
Среднее значение сравнивается с заданным порогом. В результате сравнения формируется двоичная маска:
,
где
- значение i-го
элемента маски, Т – порог сравнения,
иногда называемый также порогом или
уровнем чувствительности.
Таким образом, на выходе алгоритма формируется двоичная маска, одному элементу которой соответствуют три компоненты цвета соответствующего пикселя исходных двух кадров. Единицы в маске располагаются в областях, где, возможно, присутствует движение, однако на данном этапе могут быть и ложные срабатывания отдельных элементов маски, ошибочно установленных в 1. В качестве двух входных кадров могут использоваться два последовательных кадра из потока, однако возможно использование кадров с большим интервалом, например, равным 1-3 кадра. Чем больше такой интервал, тем выше чувствительность детектора к малоподвижным объектам, которые испытывают лишь крайне малый сдвиг за один кадр и могут отсекаться, будучи отнесёнными к шумовой составляющей изображения.
Достоинством данного метода является простота и нетребовательность к вычислительным ресурсам. Метод широко применялся ранее по причине того, что в распоряжении разработчиков не было достаточных вычислительных мощностей. Однако и сейчас он широко используется, особенно в многоканальных охранных системах, когда необходимо обрабатывать сигнал от нескольких камер на одной ЭВМ. Ведь трудоёмкость алгоритма имеет порядок O(n) и осуществляется всего за один проход, что очень важно для растров большой размерности, таких как 640х480 точек, 768х576 точек, с которыми часто работают современные видеокамеры.
