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

Post on 27-Jul-2015

867 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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. Контроллеры на основе компьютерного зрения I5. Контроллеры на основе компьютерного зрения II6. Технологии программирования7. Перспективы

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

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

Proximity sensor

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

Midi padMidi keyboard

Midi track controlStandard instruments

with MIDI outputBreath controller

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

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

Биодатчики

Motion Capture

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

Multitouch

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

Волны на воде

Aleatoric water musical instrumenthttp://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. Тип получаемых данных

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

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

320 x 240 точность измерения

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

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

6.6 Мб

640 x 480точность измерения

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

1.56 мм

размер 30 кадров:26.4 Мб

1280 x 1024точность измерения

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

0.97 мм

размер 30 кадров:112.5 Мб

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

30 к/сек

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

60 к/сек

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

150 к/сек

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

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

инструментаhttp://www.youtube.com/watch?v=7iEvQIvbn8o

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

Цветная или полутоновая картинка

видимого спектра

Инфракрасное изображение

Используя невидимую

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

(на перфомансе)

Цветное изображение + глубина(информация о расстоянии до объектов)

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

Sony PS3 Eye 320 x 240 : 150 FPS640 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 Markers6-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.htmlhttp://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 язык: C/C++

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

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

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

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

Max/MSP/Jitter Ориентирован на аудио.

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

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

Перспективы

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

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

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

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

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

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

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

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

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

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

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

top related