Вы находитесь на странице: 1из 50

Компьютерное зрение как универсальный контроллер для интерактивных мультимедиа

для интерактивных мультимедиа Перевалов Денис Сергеевич

Перевалов Денис Сергеевич

Институт Математики и Механики УрО РАН

http://www.instablogsimages.com/images/2008/01/04/aperture-interactive-display_48.jpg

Содержание

1. Что такое контроллер

2. Компьютерное зрение как универсальный контроллер

3. Видеокамеры для компьютерного зрения

4. Контроллеры на основе компьютерного зрения I

5. Контроллеры на основе компьютерного зрения II

6. Технологии программирования

7. Перспективы

1. Что такое контроллер

Определение контроллера

Контроллер - любой сенсор, любой источник данных, из которого можно получить цифровой сигнал.

данных, из которого можно получить цифровой сигнал . Proximity sensor
данных, из которого можно получить цифровой сигнал . Proximity sensor

Proximity sensor

данных, из которого можно получить цифровой сигнал . Proximity sensor
данных, из которого можно получить цифровой сигнал . Proximity sensor

Стандартные музыкальные контроллеры

Midi keyboard
Midi keyboard
музыкальные контроллеры Midi keyboard Midi pad Midi track control Breath controller Standard

Midi pad

контроллеры Midi keyboard Midi pad Midi track control Breath controller Standard instruments

Midi track control

Midi keyboard Midi pad Midi track control Breath controller Standard instruments with MIDI output

Breath controller

Midi keyboard Midi pad Midi track control Breath controller Standard instruments with MIDI output Фактически,

Standard instruments with MIDI output

Фактически, они являются музыкальными инструментами или приставками к инструментам, выдающими цифровые данные о звуке вместо звука.

Контроллеры движений человека

Контроллеры движений человека Multitouch Биодатчики

Multitouch

движений человека Multitouch Биодатчики

Биодатчики

http://neurocenter.unige.ch/groups/pun.php

человека Multitouch Биодатчики http://neurocenter.unige.ch/groups/pun.php Motion Capture

Motion Capture

Контроллеры физических явлений

Контроллеры физических явлений Волны на воде Aleatoric water musical instrument

Волны на воде

Aleatoric water musical instrument

http://www.youtube.com/watch?v=CZ_KijiwQHE

Контроллеры стохастические

Контроллеры стохастические Траектории насекомых "Debug - art by

Траектории насекомых

"Debug - art by insects"

http://vimeo.com/12645870

"Debug - art by insects" http://vimeo.com/12645870 Интернет, данные с фондовых бирж

Интернет, данные с фондовых бирж

2. Компьютерное зрение как универсальный контроллер

Что такое компьютерное зрение

Компьютерное зрение - отрасль компьютерных наук, занимающаяся вопросами автоматического анализа изображений, получаемых с помощью цифровых видео и фото камер.

изображений, получаемых с помощью цифровых видео и фото камер.

Что такое компьютерное зрение

Примеры задач, решаемых с помощью компьютерного зрения:

с помощью компьютерного зрения: Сегментация Анализ движения

Сегментация

зрения: Сегментация Анализ движения (оптический

Анализ движения (оптический поток)

Что такое компьютерное зрение

Примеры задач, решаемых с помощью компьютерного зрения:

с помощью компьютерного зрения: Трекинг положения объектов и их

Трекинг положения

объектов и их

размер

http://armi.kaist.ac.kr/korean/UserFiles/File/MMPC.JPG

объектов и их р а з м е р http://armi.kaist.ac.kr/korean/UserFiles/File/MMPC.JPG Motion Capture

Motion Capture

Компьютерное зрение как универсальный контроллер

Любые параметры физических процессов, выражающиеся в механическом движении, изменении формы, цвета, прозрачности могут быть оцифрованы с помощью компьютерного зрения.

могут быть оцифрованы с помощью компьютерного зрения.
могут быть оцифрованы с помощью компьютерного зрения.

Компьютерное зрение как универсальный контроллер

Отличие компьютерного зрения от остальных типов сенсоров:

1) возможность считывания огромного числа данных (матрица пикселов).

2) возможность структурировать эти данные, извлекая из изображения нужные параметры (например, положение и размер объектов).

Ограничения контроллеров на основе компьютерного зрения

1. В силу большого количества данных контроллеры, основанные на компьютерном зрении, обычно работают с большой задержкой.

2. В силу того, что камеры снимают объект с некоторого расстояния, точность снятия сигнала может быть недостаточной.

3. Для работы камер нужен свет. (Видимый или ИК, но

какой-то нужен).

(Это в подробностях рассмотрим далее)

3. Видеокамеры для компьютерного зрения

Основные характеристики камер

Для разных задач обработки в реальном режиме времени нужны разные видеокамеры.

Их основные характеристики:

1. Разрешающая способность

2. Число кадров в секунду

3. Тип получаемых данных

Разрешающая способность

Это размер изображения в пикселах, получаемого с камеры.

в пикселах, получаемого с камеры. 320 x 240 точность измерения при

320 x 240

точность измерения при наблюдении объекта размером 1м:

3.13 мм размер 30 кадров:

6.6 Мб

1м: 3.13 мм размер 30 кадров: 6.6 Мб 640 x 480 точность измерения при

640 x 480

точность измерения при наблюдении объекта размером 1м:

1.56 мм

размер 30 кадров:

26.4 Мб

1м: 1.56 мм размер 30 кадров: 26.4 Мб 1280 x 1024 точность измерения при

1280 x 1024

точность измерения при наблюдении объекта размером 1м:

0.97 мм

размер 30 кадров:

112.5 Мб

http://www.mtlru.com/images/klubnik1.jpg

Число кадров в секунду

Это число картинок, получаемых с камеры за секунду.

получаемых с камеры за секунду. 30 к/сек время между кадрами: 33

30 к/сек

время между кадрами:

33 мсек

к/сек время между кадрами: 33 мсек 60 к/сек время между кадрами: 16

60 к/сек

время между кадрами:

16 мсек

http://www.youtube.com/watch?v=7iEvQIvbn8o

16 мсек http://www.youtube.com/watch?v=7iEvQIvbn8o 150 к/сек время между кадрами: 6

150 к/сек

время между кадрами:

6 мсек Можно использовать для музыкального инструмента

Тип получаемых данных

Какие данные получаем с камеры для обработки.

получаем с камеры для обработки. Цветная или полутоновая

Цветная или полутоновая картинка видимого спектра

картинка видимого спектра Инфракрасное изображение

Инфракрасное

изображение

Используя невидимую глазу ИК-подсветку, такая камера будет видеть в темном помещении (на перфомансе)

темном помещении (на перфомансе) Цветное изображение + глубина

Цветное изображение + глубина

(информация о расстоянии до объектов)

Примеры камер

Sony PS3 Eye

320 x 240 : 150 FPS 640 x 480 : 60 FPS

Типы данных:

видимый свет, ИК (требуется удаление ИК-фильтра)

Цена: 50$.

USB, CCD

видимый свет, ИК (требуется удаление ИК-фильтра) Цена: 50$ . USB, CCD

Примеры камер

Point Grey Flea3

648 x 488 : 120 FPS

Тип данных:

- видимый свет,

- ИК (?)

Цена: 600$.

Модель FL3-FW-03S1C-C IEEE 1394b, CCD

Тип данных: - видимый свет, - ИК (?) Цена: 600$. Модель FL3-FW-03S1C-C IEEE 1394b, CCD

Примеры камер

Microsoft Kinect

640 x 480 : 30 FPS

Тип данных:

видимый свет + глубина

Цена: 150$.

видимый свет + глубина Цена: 150$ . (глубина - методом

(глубина - методом модулированного ИК, не работает при солнечном свете) USB, CMOS

Примеры камер

Point Grey BumbleBee2

Примеры камер Point Grey BumbleBee2 640 x 480 : 48 FPS Тип данных: видимый свет +

640 x 480 : 48 FPS

Тип данных:

видимый свет + глубина

Цена: 2000$.

(Глубина - методом стереозрения двумя камерами) IEEE 1394b, CCD

4. Контроллеры на основе компьютерного зрения I

Слайдеры и кнопки - камерой

Слайдеры и кнопки - камерой - Камера может снимать положение
Слайдеры и кнопки - камерой - Камера может снимать положение

- Камера может снимать положение реального слайдера, и мы получим его значение без электроники.

- Слайдером или кнопкой может быть Ваш палец, если он находится в определенном месте.

Слайдеры и кнопки - камерой

Слайдеры и кнопки - камерой Аддитивный синтезатор на основе

Аддитивный синтезатор на основе анализа положение пальцев камерой

Слайдеры и кнопки - камерой

Слайдеры и кнопки - камерой Вырезание виртуальной фигуры,

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

Гироскоп с помощью камеры = AR

Гироскоп с помощью камеры = AR Augmented Reality with Markers 6-dimensions: X, Y, Z, 3 axes

Augmented Reality with Markers 6-dimensions: X, Y, Z, 3 axes on rotation

http://www.edhv.nl/edhv/wp-content/uploads/2009/12/aug_Picture-10_no-border-450x337.jpg

Multitouch

FTIR multitouch

Multitouch FTIR multitouch http://www.touchuserinterface.com/2010/02/lcd-multi-touch-using-inverted-ftir.html
Multitouch FTIR multitouch http://www.touchuserinterface.com/2010/02/lcd-multi-touch-using-inverted-ftir.html

http://www.touchuserinterface.com/2010/02/lcd-multi-touch-using-inverted-ftir.html

http://sites.google.com/site/ideolabsdocumentation/images/multitouchdiagram.png

Перчатки виртуальной реальности

Распознавание по цветам (прототип), проект MIT

по цветам (прототип), проект MIT

http://www.csail.mit.edu/videoarchive/research/gv/hand-tracking

Motion Capture

Motion Capture Microsoft Kinect для XBox (Motion capture пока доступно только для

Microsoft Kinect для XBox

(Motion capture пока доступно только для разработчиков XBox. С OpenKinect можно в Windows получать цветное изображение + глубину. Об отношении Microsoft к OpenKinect см. http://www.thinq.co.uk/2010/11/22/microsoft- declares-openkinect-safe/)

Выводы

Достоинства использования специфических типов датчиков

- они работают более точно и быстро.

Достоинство применения компьютерного зрения в таких случаях:

- быстрота реализации для построения прототипа и

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

(одну камеру можно использовать для реализации разных датчиков)

5. Контроллеры на основе компьютерного зрения II

Определение областей движения

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

Результат - координаты областей, где есть движение.

Вычисление оптического потока

Вычисление оптического потока Результат - 2D поле направлений

Результат - 2D поле направлений движения объектов в кадре.ы

Обнаружение интересующих объектов и измерение их характеристик

и измерение их характеристик Результат: координаты и размеры
и измерение их характеристик Результат: координаты и размеры

Результат: координаты и размеры найденных интересующих объектов.

Невизуальные структуры на изображении

- Сумма яркостей в наборе пикселов, разбросанном по изображению.

- Определенные частоты фурье-преобразования изображения.

Такие характеристики "невизуальные", так как не связаны явно с областями на изображении или какими-то объектами или их характеристиками. В то же время, они не являются случайными и потому также применяются.

Выводы

Реализация таких контроллеров с помощью других типов датчиков - обычно весьма дорогостоящая, и иногда требует построения специфического оборудования.

6. Технологии программирования

Низкоуровневые средства

Низкоуровневые средства "Open Computer Vision Library" Открытая библиотека

"Open Computer Vision Library"

Открытая библиотека с набором функций для обработки, анализа и распознавания изображений, C/C++.

Низкоуровневые средства

Низкоуровневые средства "Open Graphics Library" Открытая библиотека для

"Open Graphics Library"

Открытая библиотека для скоростной графики, C/С++.

Низкоуровневые средства

Низкоуровневые средства "Open Computing Language" Открытая библиотека

"Open Computing Language"

Открытая библиотека распараллеливания вычислений, в частности, средствами GPU, C/С++. Позволяет значительно ускорить скорость вычислений. В частности, сейчас создается реализация OpenCV на OpenCL.

Среднеуровневые средства

Это платформы для "Creative coding", включающие в себя большой набор функций и библиотек, интегрированных для удобного программирования.

для удобного программирования . openFrameworks язык: C/C++ Processing язык: Java

openFrameworks

язык: C/C++

. openFrameworks язык: C/C++ Processing язык: Java Для компьютерного

Processing

язык: Java Для компьютерного зрения Java работает медленно.

зрения Java работает медленно. Cinder язык: C/C++ Недавно появился,

Cinder

язык: C/C++ Недавно появился, набирает популярность

Высокоуровневые средства

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

в низкоуровневых средах. Max/MSP/Jitter Ориентирован на аудио.

Max/MSP/Jitter

Ориентирован на аудио.

Max/MSP/Jitter Ориентирован на аудио. VVVV Ориентирован на видеоэффекты.

VVVV

Ориентирован на видеоэффекты.

VVVV Ориентирован на видеоэффекты. Quest3D Ориентирован на

Quest3D

Ориентирован на качественный 3D.

Перспективы

Технологические перспективы

- Появление большего числа камер, выдающих глубину с FPS > 100, для повышения скорости реакции компьютерного зрения

- Повышение разрешающей способности камер + скорости

обработки, для повышения точности получаемых данных в пространственной и временной шкалах.

Алгоритмические перспективы

Алгоритмические перспективы http://susiemander.files.wordpress.com/2010/10/facial-expression.jpg

http://susiemander.files.wordpress.com/2010/10/facial-expression.jpg

- Реализация устойчивого распознавания мимики человека.

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

Идейные перспективы

Требуется развитие творческих идей по применению новых технологий. 1. Сегодня технология Multitouch не реализует весь потенциал своих возможностей.

2. Непонятно, как использовать технологию Motion Capture для управления аудио-видео генерацией.

Идейные перспективы

Идейные перспективы - Поиск новых и необычных процессов, видимых

- Поиск новых и необычных процессов, видимых камерой.

- Поиск новых интересных структур, которые можно

выделять на изображении. Для новой интерпретации обычных явлений.