Выход в пространство. Повышение размерности
АрхивТехнологииРассказ о возникновении британской фирмы 2d3, разработавшей уникальную технологию восстановления трёхмерной сцены по двухмерному изображения. Программа boujou использовалась при съемке "Властелина колец", "Гарриа Поттера" и "Трои".
Прочитав беседу с Германом Хаузером, энтузиасты высокотехнологического будущего нашей страны могут в сердцах воскликнуть (как не раз мысленно восклицал и я): почему у них все это (а именно конвертация идей в деньги - как назвал свою Пинкертоновскую лекцию Хаузер) делается так легко, а у нас - с таким скрипом? Точнее, почему там к этому все (наука, бизнес, власти, общество) радостно готовы, а у нас те же действующие лица двигаются как деревянные, с заметным отвращением к самому процессу? Восклицать - вопреки Окуджаве - не надо. Давайте будем сдерживать иррациональные реакции: в предлагаемом материале вы увидите, что это происходит даже еще проще. Как бы само собой.
Поездка в оксфордскую компанию 2d3 попала в программу моей экскурсии по кибер-Британии благодаря встрече с Филом Торром (Philip Torr) на прошлогодней конференции "Графикон" в Москве. Это имя знают все в небольшом, но энергичном сообществе людей, занимающихся самой, пожалуй, притягательной сейчас тематикой на стыке компьютерного зрения и графики: восстановить 3D из 2D. Другими словами, дано: видеосъемка сцены, требуется построить: трехмерное изображение этой сцены. Уточнять постановку задачи не будем, существует множество вариантов, специальных случаев, алгоритмов вокруг да около, но по-настоящему-то хочется, чтобы: приехал в Лондон, обошел с видеокамерой памятник Черчиллю, нажал кнопку - и вот тебе сидит на экране трехмерный Черчилль, из черного камня, как живой, разглядывай с любой стороны.
Как и всякую очень трудную задачу, условие которой можно объяснить даже ребенку, эту берутся решать многие. В любом пиратском киоске в Москве вы с ходу купите штук пять дисков с софтом, который якобы управится с делом легко и быстро. В прошлом году в лаборатории компьютерной графики ВМК МГУ на всякий случай потестировали такой софт. Результат - нулевой. Ну, с оговорками, конечно, но по гамбургскому счету - ноль. Есть и более серьезные атаки на эту задачу. На каждом SIGGRAPH’е гуру читают курсы, компании показывают демки, докладчики объясняют нетривиальные алгоритмы, прогресс налицо - тем не менее, поговорив с профессионалами, от которых каждый день требуется осязаемый результат, слышишь, как правило, две вещи. Первая: никто эту задачу решать не умеет, да и невозможно ее решить. Вторая: продукт, который ближе всех подошел к тому, что все-таки можно сделать на пути к решению, - программа boujou (пишется с маленькой буквы, читается - "бужу", с ударением на любом слоге) (название программы скомбинировано из двух французских слов, одно из которых означает "драгоценный камень" или "перл", второе - "движение". Почему именно французских, разработчики объяснить затрудняются) фирмы 2d3. Надо оговориться: в такой горячей области лидеры могут меняться каждый месяц. Объективный факт - в 2002 году boujou получила премию Technical Emmy и сейчас активно используется в киноиндустрии при съемке кассовых монстров, среди которых "Властелин колец", "Гарри Поттер", "Троя" (в недавнем интервью в "КТ" #449 о ней упоминал и Владимир Лещинский, супервайзор спецэффектов для фильма "Ночной дозор"). На этом перехожу к рассказу Фила о возникновении фирмы 2d3, записанному в машине под рев выпадавших в тот день на Оксфорд уникальных даже для Англии 103 миллиметров осадков.
Фил Торр: Я получил степень мастера по чистой математике в университете Саутгемптона (Southampton). Позже, в 1990 году работал над своей диссертацией по компьютерному зрению в Оксфордском университете и тоже занимался математическими вопросами - в первую очередь задачей восстановления траектории камеры по снимкам сцены. В то время не было никаких идей о "внедрении", коммерциализации. Исследования велись совместно с Эндрю Фитцгиббоном (Andrew Fitzgibbon, сейчас работает в Оксфордском университете), Эндрю Циссерманом (Andrew Zissermann, профессор Оксфордского университета) и Полом Бердсли (Paul Beardsley, работает на Mitsubishi). Мы написали программу, реализующую созданные нами методы и алгоритмы. После защиты диссертации я пошел работать в Microsoft Research в Кембридже, Пол ушел в Mitsubishi, а Фитцгиббон и Циссерман остались в Оксфордском университете, где и получили грант от DTI (Department of Trade and Industry - британский аналог Минпромнауки. - Л.Л.-М.). Грант предназначался для того, чтобы превратить наши наработки (представлявшие собой, по сути, набор идей, хотя уже была программа, доказывающая их эффективность) в нечто практически действующее, на основе чего можно было бы создать компанию. Так и появилась 2d3. Ее сразу же взяла под крыло довольно крупная компания OMG (Oxford Metric Group), которая уже владела фирмой Vicon, одним из мировых лидеров по "захвату движения" (motion capture, запись траекторий движений живых актеров для использования в анимации). В Vicon тогда уже работало человек семьдесят, и все решили, что хорошо бы сделать 2d3 ее "сестрой", чтобы через Vicon она вышла на рынок. Вот такой был путь от академических идей к промышленности.
Какие исследования вы сейчас ведете?
- Благодаря работе над задачами Vicon я увлекся моделированием, описанием, пониманием человеческих движений. Меня интересует компьютерный анализ позы человека, распознавание по снимкам того, что человек делает. Если мы надеемся когда-нибудь создать компьютеризированного "слугу" - или компьютер, который будет слугой, сможет помогать людям, то ему придется понимать такие вещи. Понимать, где находятся люди в помещении, распознавать их жесты, их настроение. Пока же для анализа движений нужна сложная аппаратура. Я мечтаю, чтобы можно было обойтись без специальных камер и специальных костюмов. Сейчас мы работаем с Vicon над этой задачей. Приложения наших исследований могут появиться уже в недалеком будущем. Подобные вещи востребуются сейчас все больше. Например, недавно Sony выпустила EyeToy, маленькую камеру, которая отслеживает движения рук, и жестами вы можете управлять играми на PlayStation. Но это лишь первые шаги к достижению совершенно нового уровня интерактивности, новых типов интерактивности человека и компьютера, для которых понадобятся хорошие модели человеческого движения и надежные методы анализа и понимания движения по данным простых и дешевых датчиков.
Какая же математика используется в этих задачах?
- Там комбинируются различные методы. Меня больше всего интересует байесовский подход к выработке статистических оценок, суждений о сцене (bayesian inference), байесовские методы обучения, исследование полученных моделей. Это основное направление моей работы в Бруксе (Oxford Brookes University), куда я недавно перешел из Microsot Research. Даже сама моя должность в Бруксе появилась потому, что университет намерен организовать международную исследовательскую программу мирового уровня. Я же как ученый заинтересован в применении наших математических методов, уже получивших признание, к работе над задачами, в решении которых очень нуждается индустрия.
Такая всеобщая заинтересованность друг в друге впечатляет! Но кто в данном случае представляет индустрию?
В первую очередь - Vicon. Их аппаратура и методики использовались для самых сложных эффектов в недавних кинохитах. Задачи в области моделирования и анализа движения, с которыми сталкиваются киношники, очень актуальны, новые эффективные подходы к ним будут немедленно востребованы. Они исключительно интересны и в теоретическом плане. Я работаю с группой студентов и аспирантов (которую мы обязательно будем расширять - кстати, приветствуем заявки из России!), и мы активно занимаемся именно этими задачами. Один из моих самых ярких аспирантов приехал из Индии, из очень сильного исследовательского института IIIT, что близ Хайдарабада; у него уже есть блестящие работы по распознаванию объектов. Есть два хороших студента, которых мы взяли благодаря большому гранту от правительства. Фонды на еще двух студентов я получил от Sharp (жаль, кстати, что мы не успели с вами, как собирались, съездить взглянуть на трехмерные дисплеи Sharp!), и совместно мы подали заявку еще на один грант DTI. Кроме того, на двух человек обещает дать деньги Vicon, для работы по анализу движений рук и тела. Собираемся в ближайшее время участвовать в конкурсе по 7-й европейской рамочной программе (7th framework programme), чтобы подключить еще исследователей. Вот так постепенно складывается в Бруксе довольно большая исследовательская группа по компьютерному зрению и искусственному интеллекту.
Что ж, рассказ Фила очень наглядно иллюстрирует, как работает кластер. Ну, а во врезке читайте короткий рассказ о Vicon и 2d3. Эндрю Стоддарт (Andrew Stoddart) и Эд Болтон (Ed Bolton) продемонстрировали мне некоторые рабочие интерьеры Vicon и дали подробные пояснения по работе основных программных продуктов 2d3.
Что касается 2d3, вся ее деятельность так или иначе связана с алгоритмами, на которых построена boujou. Основная функциональность boujou такова: программа выделяет ключевые точки (features) в каждом кадре, связывает их положение в соседних кадрах и восстанавливает траекторию камеры и расположение самих ключевых точек в пространстве. Именно здесь работает та изощренная математика, о которой говорил Торр. Главное - получить богатый набор связных траекторий ключевых точек, как можно полнее соответствующий физической реальности (процесс показан на скриншотах). Вокруг этого ядра имеется масса других функциональностей, позволяющих решать самые разнообразные задачи.
Типичный пример использования boujou - создание аугментированной реальности (augmented reality), то есть вставка искусственного (созданного художником) трехмерного объекта в естественную сцену. По съемке естественной сцены boujou восстанавливает траекторию камеры, после чего можно сгенерировать вид искусственного объекта внутри этой естественной сцены при помощи программ компьютерной графики (например, Maya). Для художника восстановленная траектория камеры - просто вспомогательная информация ("мы делаем лишь небольшой кусочек всей сложной работы", сказал Эд Болтон), но благодаря ей удается сделать аугментированную сцену реалистичной. Художник помещает объект в нужное место только в одном кадре из, скажем, семисот - а для остальных изображение объекта вычисляется автоматически. Имеется масса вспомогательных инструментов. Если нас интересует только неподвижный фон, можно на одном кадре выделить маской движущиеся объекты (например, актеров), тогда boujou отследит и вырежет эти объекты и в последующих кадрах, чтобы они не мешали восстанавливать геометрию фона.
Когда получены трехмерные ключевые точки, оператор начинает создавать полную геометрию сцены - исходя из того, что здесь, скажем, должна быть крыша, здесь - стена и т. п. Оператором может быть аниматор, архитектор; программу покупают также юридические компании для создания видеоклипов, описывающих движение автомобилей во время ДТП (снимается участок дороги, где произошла авария, потом туда вставляются синтезированные движущиеся машины участников происшествия).
На близкой технологии построена стабилизирующая программа Steady Move (плагин к Adobe Premier). Она тоже отслеживает ключевые точки, но не так подробно и точно, как boujou. Задача этой программы - убрать тряску из видеоролика, снятого, например, ручной камерой из автомобиля. За счет упрощенной постановки задачи программа работает почти в реальном времени. Восстановления трехмерных точек или траектории камеры не происходит, делается в некотором усредненном смысле трекинг движения в целом. Найденные траектории сглаживаются, давая более приемлемую для просмотра запись. Однако чем больше степень сглаживания, тем большую часть картинки мы теряем. Steady Move покупают в основном для коррекции домашнего видео (она очень проста в управлении). Кинокомпании ее тоже покупают, так как она позволяет сэкономить массу времени, решая задачу стабилизации без сложных трехмерных инструментов (в частности, полной версии boujou), как делали раньше.
Технологии реконструкции с помощью boujou использовались и в фильме "Троя", чтобы по съемкам двух-пяти настоящих кораблей построить компьютерные модели сотен и сотен судов (см. небольшой клип на сайте OMG). В настоящее время написана еще одна модификация ключевого алгоритма, для европейского проекта виртуальной реконструкции Помпеи. За счет использования заранее известной сцены (фона) она позволяет работать с движущимися объектами в реальном времени.
- Из журнала "Компьютерра" от 24 августа 2004 года.