- •Реферат
- •Введение
- •Постановка задачи
- •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. Код программы
Библиотека OpenCv
OpenCV (open source computer vision library)— это библиотека компьютерного зрения с открытым исходным кодом. Также, она существует для некоторых других языков, например, для Java. Включает в себя различные алгоритмы компьютерного зрения, распознавания изображений и многое другое, работающих в реальном режиме времени. Все желающие могут использовать библиотеку OpenCV бесплатно, как в образовательных целях, так и в коммерческих проектах.
Она включает в себя следующие алгоритмы:
Распознавание объектов в видеопотоке.
Распознавание печатного и рукописного текста.
Устранение искажений картинки.
Выявление сходства и формы объектов.
Слежение за перемещением объекта.
Распознавание движений, жестов и многое другое.
Поддерживаемые платформы и инструменты для OpenCV.
Сами библиотеки:
Windows: компиляторы Microsoft Visual C++ (6.0, .NET 2003), Intel Compiler, Borland C++, Mingw (GCC 3.x).
Linux: GCC (2.9x, 3.x), Intel Compiler: "./configure-make-make install", RPM (spec файл включен в поставку)
Используются C и "облегченный" C++. Прагмы и условная компиляция используются очень ограниченно.
Средства GUI, захват видео:
Windows: DirectShow, VFW, MIL, CMU1394
Linux: V4L2, DC1394, FFMPEG
Документация: статический HTML
Функциональность OpenCV:
• Ядро cxcore, также частично используется в Intel Open Source Probabilistic Network Library:
Базовые операции над многомерными числовыми массивами;
Матричная алгебра, математические ф-ции, генераторы случайных чисел;
DFT, DCT;
Запись/восстановление структур данных в/из XML/YAML;
Базовые функции 2D графики;
Поддержка более сложных структур данных: разреженные массивы, динамически растущие последовательности, графы;
Модуль обработки изображений и компьютерного зрения CV:
Базовые операции над изображениями (фильтрация, геометрические преобразования, преобразование цветовых пространств и т.д.);
Анализ изображений (выбор отличительных признаков, морфология, поиск контуров, гистограммы);
Структурный анализ (описание форм, плоские разбиения и т.д.);
Анализ движения, слежение за объектами;
Обнаружение объектов, в частности лиц;
Калибровка камер, элементы восстановления пространственной структуры;
Модуль для ввода/вывода изображений и видео, пользовательского интерфейса highgui:
Захват видео с камер и из видео файлов, чтение/запись статических изображений;
Функции для организации простого UI (сейчас все демо приложения используют HighGUI);
Экспериментальные и устаревшие функции cvaux:
Пространственное зрение: стереокалибрация, самокалибрация;
Поиск стереосоответствия, клики в графах;
Нахождение и описание черт лица;
Сравнение форм, построение скелетонов;
Скрытые Марковские цепи;
Описание текстур.
Развитие библиотеки:
• Стратегия смещается и расширяется - от настольных приложений HCI к более актуальным задачам (встроенные системы (камерафоны), цифровой дом, безопасность, медицинские приложения, поиск в домашних и промышленных цифровых библиотеках изображений и видео и т.д.) ;
• Библиотека останется свободной;
• Улучшится стабильность и скорость;
• Улучшится интеграция с IPP для еще большей производительности;
• Переход к более открытой модели разработки;
• Перенос некоторой функциональности из прошлых и текущих исследовательских проектов.
Библиотека OpenCV достаточно мощный инструмент для решения задач как в научной, так и промышленной областях.
