Модуль отслеживания 2D/3D объектов: основные возможности, программирование отслеживания 2D/3D объектов. Распознавание образов.

advertisement
Модуль отслеживания 2D/3D объектов:
основные возможности,
программирование отслеживания 2D/3D
объектов. Распознавание образов.
Дополненная реальность.
Лекция 6
Содержание лекции
1. Распознавание образов
2. Дополненная реальность
3. D’Fusion Computer Vision SDK
4. Интеграция D’Fusion CV SDK с Intel Perceptual
Computing SDK
5. Пример приложения
Распознавание образов (1)
Распознавание образов (2)
• Образ - классификационная группировка в системе
классификации,
объединяющая
(выделяющая)
определенную группу объектов по некоторому признаку.
Образы
обладают
характерным
свойством,
проявляющимся в том, что ознакомление с конечным
числом явлений из одного и того же множества дает
возможность узнавать сколь угодно большое число его
представителей.
• Распознавание образов (объектов, сигналов, ситуаций,
явлений или процессов) – это задача идентификации
объекта или определения каких-либо его свойств по его
изображению
(оптическое
распознавание)
или
аудиозаписи (акустическое распознавание) и другим
характеристикам.
Методы распознавания образов
• Метод перебора (сравнение с БД, где для каждого
вида объектов представлены всевозможные
модификации отображения. )
• Глубокий анализ характеристик образа. В случае
оптического распознавания это может быть
определение
различных
геометрических
характеристик. Звуковой образец в этом случае
подвергается частотному, амплитудному анализу
и т. д.
• Использование искусственных нейронных сетей.
Типы задач распознавания
• Задача
распознавания
отнесение
предъявленного объекта по его описанию к
одному из заданных классов;
• Задача
автоматической
классификации
разбиение множества объектов, ситуаций,
явлений по их описаниям на систему
непересекающихся
классов
(таксономия,
кластерный анализ, самообучение);
• Задача
выбора
информативного
набора
признаков при распознавании;
• Задача прогнозирования.
Дополненная реальность (1)
Дополненная
реальность
–
это
техника
визуализации,
которая
имеет
дело
с
комбинированием объектов
реального
мира
и
информации,
сгенерированной
с
помощью компьютера.
Дополненная реальность (2)
Такая информация как:
•Текст;
•Изображения;
•Аудио;
•Данные с GPS приемников;
накладываются на окружающую обстановку
реального мира, создавая дополненную среду.
Дополненная реальность (3)
Ученые в данной области выделяют три основных
функциональных характеристики дополненной
реальности:
•1) комбинирование объектов реального мира с
виртуальными элементами, которые
•2) взаимодействуют в реальном времени, и
которые
•3) отображены на каком-либо дисплее с учетом
положения в пространстве (координаты и угол
наклона).
История дополненной реальности (1)
1966 год. «Ultimate Display»
История дополненной реальности (2)
• 1975 год. Майрон Крюгер совместно со своими коллегами
открыл «Лабораторию искусственной реальности».
• 1980 год. Стив Манн разработал носимый компьютер.
История дополненной реальности (3)
• 1989 год. Джарон Ланье программист-учёный в
области визуализации данных, биометрии, и
биометрических
технологий
ввел
термин
«виртуальная реальность».
• 1990 год. Термин «дополненная реальность» был
предложен Томом Коделом, предположительно
работавшим исследователем на корпорацию
Boeing.
• 1992 год. Л. Розенберг разработал первую
функционирующую
систему
дополненной
реальности «Virtual fixtures».
История дополненной реальности (4)
• 1998 год. Рамеш Раскал, Грэг Вэлш и Генри Фанш
разработали
«Пространственную
дополненную
реальность», которая использует проекторы для
отображения графической информации на физических
объектов.
История дополненной реальности (5)
QR (quick response) код
Используя QR коды (иначе
«маркеры»), приложение
накладывает цифровую
информацию, 3D
отображает их на
анимацию и
экране
поверх/вместо карточек с
маркером. Цифровая информация перемещается
одновременно с маркером, когда пользователь двигает его.
Сферы применения дополненной
реальности
•
•
•
•
•
•
•
•
•
•
Продажи и маркетинг
Гео-визуализация
Архитектура
Военная подготовка
Мобильные приложения
Решение медицинских задач
Робототехника
Производство
Образование
Видео игры
Ограничения технологии дополненной
реальности
•
•
•
•
•
Миниатюризация устройств;
Переносимость устройств;
Быстродействие при работе с графикой;
Срок службы батарей;
Эффективное программное обеспечение;
Средства разработки приложений
дополненной реальности
•
•
•
•
•
Daqri (www.daqri.com);
MixAR;
ZooBurst (www.zooburst.com);
ARToolKit ;
Wikitude;
D’Fusion Computer Vision SDK
• D'Fusion Computer Vision (иначе D'FusionCV)
представляет собой пакет ПО, основанного на
запатентованной
инновационной
технологии,
разработанной для получения "естественной"
информации,
предоставляемой
различными
реальными
объектами,
распознанными
в
изображении или видео потоке. Собрав данные,
объект может быть идентифицирован и отслежен
через последовательные изображения из видео
потока в режиме реального времени.
Задачи, решаемые с помощью D'Fusion
Computer Vision
•
•
•
•
•
•
•
•
•
Захват видеопотоков с видеокамер и из видео файлов;
Калибровка камеры;
Отслеживание естественных 2D/3D объектов;
Отслеживания нескольких объектов в одном видеопотоке (Multiple
tracking);
Классификация объектов в видеопотоке (Object recognition);
Обнаружение простого взаимодействия между пользователем и
реальным отслеживаемым объекта (Pointing Detection);
Обнаружение жестов, выделение объектов переднего и заднего плана
или распознавание лиц.
Отправка информации о положении и ориентации объекта через сеть
или с помощью SDK.
Создания сценариев отслеживания объекта с помощью графического
интерфейса пользователя за считанные минуты.
Создание сценария
Для того чтобы использовать функционал отслеживания
безмаркерных объектов, Вы должны сперва создать настроить свой
сценарий, используя D’Fusion Studio CV (C:\Program Files
(x86)\Intel\PCSDK\contrib\Total Immersion\StudioCV) В большинстве
случаев сценарий предполагает создание следующих элементов:
•XML файл конфигурации, содержащий настройки сценария (обычно
“tracker.xml”);
•XML файл конфигурации, содержащий результаты калибровки
камеры (обычно “cameraCalib.xml”);
•XML файл конфигурации, содержащий настройки захвата
изображения (обычно “cameraConfig.xml”);
•Изображения, соответствующие отслеживаемому объекту;
•Двоичные файлы, которые могут быть использованы для хранения
объектов статистических структур (для поддержания процесса
распознавания).
Процесс отслеживания безмаркерных
объектов
Процесс отслеживания безмаркерных объектов состоит из нескольких
шагов (распознавание, инициализация, отслеживание):
•Распознавание. Данный шаг позволяет определить, какой объект
присутствует на текущем изображении.
•Автоматическая
инициализация.
Данный
шаг
позволяет
пользователю
приступить
к
полностью
автоматическому
отслеживанию без ссылки на конкретный объект.
•Автоматическая инициализация отслеживания лица. На данном шаге
D'Fusion Computer Vision может распознавать лица автоматически.
•Инициализация. Во время процесса инициализации в видео потоке
требуемый объект обнаруживается на основе одного или набора
ключевых кадров.
•Отслеживание. Объект отслеживается в видеопотоке на основании
ключевого кадра и информации о предыдущей позиции объекта.
Механизм распознавания и отслеживания
Ключевой кадр
Ключевой кадр является важным понятием для
понимания работы технологии отслеживания
безмаркерных объектов.
Данное
понятие
включает следующие компоненты:
•6 степеней свободы;
•изображение, содержащее информацию об
объекте;
•соответствующие настройки калибровки камеры;
D’Fusion Studio CV
1. Панель меню;
1
2
3
4
5
6
2. “Video Manager”:
определяет настройки
захвата изображения
3. “Camera Calibration”:
функции калибровки
камеры;
4. “Video Processing”:
настройки видео потока;
5. “Scenario Manager”:
определение настроек
отслеживаемого объекта;
6. “Tracking Manager”:
просмотр результата
отслеживания
Панель «Video Manager»
•
•
•
•
•
•
•
•
•
•
•
В зависимости от характеристик камеры вам придется задать настройки
захвата.
“Type”: задать тип захвата (directShow, Video UEye, Video for Windows).
“Video File”: задать видео файл в качестве потока.
“Device List”: выбрать камеру.
“Width, Height”: установить разрешение видео потока.
“Pixel Format”: доступны следующие форматы: RGB24, BGR24, RGB32,
UYVY422, GRAY8, RGB565, ARGB32 (формат должен соответствовать
возможностям камеры).
“Rate”: задать количество кадров в секунду.
И другие параметры
Кнопка “Import”: загрузить ранее созданный “.xml” файл с настройками
камеры.
Кнопка “Close”: Прекратить захват.
Кнопка “Open”: Подтвердить текущую конфигурацию и начать захват.
Панель «Camera Calibration»
На панели «Camera
Calibration» можно
откалибровать
камеру,
рассчитав
фокусное
расстояние,
оптический центр и
т.д.
Панель «Video Processing»
Панель «Video Processing» позволяет
вручную задать параметры калибровки
камеры.
Панель «Scenario Manager»
На этой панель вы
можете
определить
параметры
захватываемого
объекта (геометрию и
статические
параметры).
Панель «Scenario Manager»
Создание нового объекта
•“Create”: добавить новый объект в список отслеживаемых объектов.
•“Import”: загрузить существующую конфигурацию объекта.
•“Remove”: удалить выбранный объект.
•“Max Simultaneous Targets”: задать количество одновременно отслеживаемых
объектов.
Параметры объекта
•“Object Type”: Определить тип отслеживаемого объекта. (“Plane”, “Face AutoInit”,
“Object 3D”, “Plane Black Box”.
•“Load model”: загрузить 3D модель (“.obj” или “.pts”) отслеживаемого объекта.
Доступно в “Face AutoInit” или “Object 3D” режиме.
•“Plane Size”: Задать плоский объект.
Ключевой кадр
•Цель создания ключевого кадра заключается в обнаружении сходства между
заданной моделью отслеживаемого объекта и объекта реального мира. Создать
ключевой кадр можно вручную или загрузив .bmp или .jpg файл.
Панель «Tracking Manager»
Эта панель служит
для
проверки
созданного
сценария и для
изменения
параметров
с
целью повышения
качества
отслеживания.
Интеграция D’Fusion CV SDK с Intel Perceptual
Computing SDK
Класс dcvTracker
•Информация об отслеживаемых объектах сгруппирована в
один класс с именем dcvTracker.
•DcvTracker получает на входе XML-файл, определяющий
сценарий отслеживания. В результате будут получены: статус
отслеживания, распознанный объект, положение объекта,
ориентация объекта.
•Поддерживается управление несколькими сценариями
одновременно.
Структура класса dcvTracker (1)
dcvTracker::ProfileInfo
Синтаксис:
ProfileInfo
{
pxcU32 width;
pxcU32 height;
PXCCapture::VideoStream::DataDesc inputs;
};
Структура ProfileInfo – определяет доступ к информации конфигурации.
width – ширина рамки
height – высота рамки
inputs – конфигурация или видео поток
Структура класса dcvTracker (2)
dcvTracker::TrackingStatus
TrackingStatus возвращает возможные статусы отслеживаемого объекта.
STATUS_UNINITIALIZED - Отслеживание не начато
STATUS_RECOGNITION - Отслеживание запущено
STATUS_TRACKING – Распознавание запущено
Структура класса dcvTracker (3)
dcvTracker::TargetType
TargetType перечисляет все поддерживаемые типы объектов
(целей).
TARGET_UNDEFINED - Цель не определена
TARGET_PLANE – Плоский объект
TARGET_OBJECT3D - 3D объект
TARGET_FACE – Отслеживание лица
Структура класса dcvTracker (4)
dcvTracker::TargetData
Структура, которая содержит выходные данные отслеживания / процесс
распознавания для одной цели.
Синтаксис:
TargetData
{
TrackingStatus status;
pxcI32 trackedTarget;
pxcF64 position[3];
pxcF64 orientation[4];
};
status – статус отслеживания/распознавания;
trackedTarget – распознанный ключевой кадр;
position – текущая позиция отслеживаемого
объекта;
orientation – ориентация объекта (выражается в
виде кватерниона);
Ссылки на источники
• [01] D'Fusion CV - Reference Manual
Total Immersion
• [02] D'Fusion CV SDK - C++ API reference
Total Immersion
Download