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

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

для интерактивных мультимедиа

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

perevalovds@gmail.com
видео: www.youtube.com/perevalovds#g/u
лекции: www.uralvision.blogspot.com

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

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
Стандартные музыкальные
контроллеры

Midi keyboard Midi pad

Standard instruments
Midi track control Breath controller with MIDI output

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


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

Multitouch

Motion Capture

Биодатчики
http://neurocenter.unige.ch/groups/pun.php
Контроллеры физических явлений

Волны на воде

Aleatoric water musical instrument


http://www.youtube.com/watch?v=CZ_KijiwQHE
Контроллеры стохастические

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


с фондовых бирж
"Debug - art by insects"
http://vimeo.com/12645870
2. Компьютерное зрение как
универсальный контроллер
Что такое компьютерное зрение

Компьютерное зрение - отрасль компьютерных наук,


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

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

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

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

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


объектов и их размер

http://armi.kaist.ac.kr/korean/UserFiles/File/MMPC.JPG
Компьютерное зрение как
универсальный контроллер
Любые параметры физических процессов, выражающиеся в
механическом движении, изменении формы, цвета, прозрачности
могут быть оцифрованы с помощью компьютерного зрения.
Компьютерное зрение как
универсальный контроллер
Отличие компьютерного зрения от остальных типов
сенсоров:

1) возможность считывания огромного числа данных


(матрица пикселов).

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


из изображения нужные параметры (например, положение
и размер объектов).
Ограничения контроллеров на
основе компьютерного зрения

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


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

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


расстояния, точность снятия сигнала может быть
недостаточной.

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


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

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


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

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


нужны разные видеокамеры.

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

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

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

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


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

320 x 240 640 x 480 1280 x 1024


точность измерения точность измерения точность измерения
при наблюдении при наблюдении при наблюдении
объекта размером 1м: объекта размером 1м: объекта размером 1м:
3.13 мм 1.56 мм 0.97 мм
размер 30 кадров:
6.6 Мб размер 30 кадров: размер 30 кадров:
26.4 Мб 112.5 Мб

http://www.mtlru.com/images/klubnik1.jpg
Число кадров в секунду
Это число картинок, получаемых с камеры за секунду.

30 к/сек 60 к/сек 150 к/сек


время между кадрами: время между кадрами: время между кадрами:
33 мсек 16 мсек 6 мсек
Можно использовать
для музыкального
инструмента
http://www.youtube.com/watch?v=7iEvQIvbn8o
Тип получаемых данных
Какие данные получаем с камеры для обработки.

Цветная или Инфракрасное Цветное изображение


полутоновая картинка изображение + глубина
видимого спектра (информация о расстоянии
до объектов)
Используя невидимую
глазу ИК-подсветку, такая
камера будет видеть
в темном помещении
(на перфомансе)
Примеры камер
Sony PS3 Eye

320 x 240 : 150 FPS


640 x 480 : 60 FPS

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

Цена: 50$.

USB, CCD
Примеры камер
Point Grey Flea3
648 x 488 : 120 FPS

Тип данных:
- видимый свет,
- ИК (?)

Цена: 600$.

Модель FL3-FW-03S1C-C
IEEE 1394b, CCD
Примеры камер
Microsoft Kinect
640 x 480 : 30 FPS

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

Цена: 150$.

(глубина - методом модулированного ИК,


не работает при солнечном свете)
USB, CMOS
Примеры камер
Point Grey BumbleBee2
640 x 480 : 48 FPS

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

Цена: 2000$.

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


IEEE 1394b, CCD
4. Контроллеры на основе
компьютерного зрения I
Слайдеры и кнопки - камерой

- Камера может снимать положение реального слайдера, и


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

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

Вырезание виртуальной фигуры,


используя два цветовых маркера
Гироскоп с помощью камеры = AR

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

http://www.touchuserinterface.com/2010/02/lcd-multi-touch-using-inverted-ftir.html
http://sites.google.com/site/ideolabsdocumentation/images/multitouchdiagram.png
Перчатки виртуальной реальности
Распознавание по цветам (прототип), проект MIT

http://www.csail.mit.edu/videoarchive/research/gv/hand-tracking
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 поле направлений движения объектов в


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

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


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

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

Такие характеристики "невизуальные", так как не связаны явно с


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

Реализация таких контроллеров с помощью других типов


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

"Open Computer Vision Library"

Открытая библиотека с набором функций для


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

"Open Graphics Library"

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


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

"Open Computing Language"

Открытая библиотека распараллеливания вычислений,


в частности, средствами GPU, C/С++.
Позволяет значительно ускорить скорость вычислений.
В частности, сейчас создается реализация OpenCV на
OpenCL.
Среднеуровневые средства
Это платформы для "Creative coding", включающие в себя
большой набор функций и библиотек, интегрированных для
удобного программирования.

openFrameworks Processing Cinder


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

Max/MSP/Jitter VVVV Quest3D


Ориентирован на Ориентирован на Ориентирован на
аудио. видеоэффекты. качественный 3D.
Перспективы
Технологические перспективы

- Появление большего числа камер, выдающих глубину с


FPS > 100, для повышения скорости реакции
компьютерного зрения

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


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

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

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

- Распознавание сложных трехмерных сцен, состоящих из


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

2. Непонятно, как использовать технологию Motion Capture


для управления аудио-видео генерацией.
Идейные перспективы

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

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


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