390 likes | 654 Views
Модуль отслеживания 2D/3D объектов: основные возможности, программирование отслеживания 2D/3D объектов. Распознавание образов. Дополненная реальность. Лекция 6. Содержание лекции. 1. Распознавание образов 2. Дополненная реальность 3. D’Fusion Computer Vision SDK
E N D
Модуль отслеживания 2D/3D объектов: основные возможности, программирование отслеживания 2D/3D объектов. Распознавание образов. Дополненная реальность. Лекция 6
Содержание лекции 1. Распознавание образов 2. Дополненная реальность 3. D’Fusion Computer Vision SDK 4. Интеграция D’Fusion CV SDK с Intel Perceptual Computing SDK 5. Пример приложения
Распознавание образов (2) • Образ - классификационная группировка в системе классификации, объединяющая (выделяющая) определенную группу объектов по некоторому признаку. Образы обладают характерным свойством, проявляющимся в том, что ознакомление с конечным числом явлений из одного и того же множества дает возможность узнавать сколь угодно большое число его представителей. • Распознавание образов (объектов, сигналов, ситуаций, явлений или процессов) – это задача идентификации объекта или определения каких-либо его свойств по его изображению (оптическое распознавание) или аудиозаписи (акустическое распознавание) и другим характеристикам.
Методы распознавания образов • Метод перебора (сравнение с БД, где для каждого вида объектов представлены всевозможные модификации отображения. ) • Глубокий анализ характеристик образа. В случае оптического распознавания это может быть определение различных геометрических характеристик. Звуковой образец в этом случае подвергается частотному, амплитудному анализу и т. д. • Использование искусственных нейронных сетей.
Типы задач распознавания • Задача распознавания - отнесение предъявленного объекта по его описанию к одному из заданных классов; • Задача автоматической классификации - разбиение множества объектов, ситуаций, явлений по их описаниям на систему непересекающихся классов (таксономия, кластерный анализ, самообучение); • Задача выбора информативного набора признаков при распознавании; • Задача прогнозирования.
Дополненная реальность (1) Дополненная реальность – это техника визуализации, которая имеет дело с комбинированием объектов реального мира и информации, сгенерированной с помощью компьютера.
Дополненная реальность (2) Такая информация как: • Текст; • Изображения; • Аудио; • Данные с GPS приемников; накладываются на окружающую обстановку реального мира, создавая дополненную среду.
Дополненная реальность (3) Ученые в данной области выделяют три основных функциональных характеристики дополненной реальности: • 1) комбинирование объектов реального мира с виртуальными элементами, которые • 2) взаимодействуют в реальном времени, и которые • 3) отображены на каком-либо дисплее с учетом положения в пространстве (координаты и угол наклона).
История дополненной реальности (1) 1966 год. «Ultimate Display»
История дополненной реальности (2) • 1975 год. Майрон Крюгер совместно со своими коллегами открыл «Лабораторию искусственной реальности». • 1980 год. Стив Манн разработал носимый компьютер.
История дополненной реальности (3) • 1989 год. Джарон Ланье программист-учёный в области визуализации данных, биометрии, и биометрических технологий ввел термин «виртуальная реальность». • 1990 год. Термин «дополненная реальность» был предложен Томом Коделом, предположительно работавшим исследователем на корпорацию Boeing. • 1992 год. Л. Розенберг разработал первую функционирующую систему дополненной реальности «Virtual fixtures».
История дополненной реальности (4) • 1998 год. Рамеш Раскал, Грэг Вэлш и Генри Фанш разработали «Пространственную дополненную реальность», которая использует проекторы для отображения графической информации на физических объектов.
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 степеней свободы; • изображение, содержащее информацию об объекте; • соответствующие настройки калибровки камеры;
1 2 3 4 5 6 D’Fusion Studio CV 1. Панель меню; 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