Международная конференция разработчиков
и пользователей свободного программного обеспечения

Camera tracking in Blender (2d + 3d = Love)

Алексей Бабахин, Рязань, Russia

LVEE 2013

Camera tracking is a technology that helps to combine video from real life with 3D scenes, which are limited only by author's imagination. Currently, Blender allows to perform a simple one-point 2d tracking and complex reconstruction of the scene with the calculation of the markers and the camera position in 3D space. This technology is not limited to creation of visual effects. It allows architects to quickly and visually prototype their designs. It can be also used in scientific calculations, because the reconstruction of 3D scene can be quite accurate. And finally, it is exciting and full of fun.

Camera tracking – это технология, которая помогает комбинировать видео из реальной жизни с 3D сценами, ограниченными только фантазией автора. В настоящий момент Blender позволяет выполнять как прострой одноточечный 2D-трекинг, так и сложную реконструкцию сцены с вычислением маркеров и положения камеры в 3D-пространстве. Данная технология не ограничивается только созданием визуальных эффектов. Она позволяет архитекторам быстро и наглядно прототипировать свои проекты. Может применяться в научных расчётах, так как реконструкция 3D сцены может быть весьма точной. И на конец это чертовски весело и увлекательно.

  1. Подготовка материала.
    Первое, что требуется, это непосредственно видео, пригодное для обработки. Чтобы сильно облегчить себе жизнь в дальнейшем и получить достойный результат, необходимо учитывать следующие моменты: видео должно быть снято в большом разрешении (Full HD подходит идеально) и прогрессивной развёрткой; отсутствие посторонних движущихся объектов и «смазанных» движений камеры; чем больше параллакса будет запечатлено, тем лучше; снимаемая сцена должна иметь чёткие хорошо прослеживаемые точки, для этого можно разложить яркие шарики в виде маркеров; вы должны знать параметры оптики, на которую снимаете; фокальное расстояние объектива в момент съёмки должно быть фиксированным и известным.
    Данные рекомендации не являются обязательными, но, как правило, все они прямо пропорциональны количеству сил и нервов, которые необходимо потратить для получения качественного результата.
  2. Трекинг.
    После того, как исходный материал готов и загружен в Blender, необходимо расставить маркеры и выполнить 2D-трекинг для каждого из них. Чем лучше качество исходного материала, тем меньше ручной работы на этом этапе.
  3. Подготовка к реконструкции.
    Перед тем как Blender сможет превратить 2D-маркеры в 3D-объекты, понадобится избавиться от оптических искажений (дисторсии) на отснятом видео. Для этого необходимо как можно точнее задать физические параметры объектива: физический размер матрицы, фокусное расстояние, коэффициенты расчёта дисторсии, если есть. Отчасти дисторсия вычисляется при реконструкции 3D-сцены, но можно и задать их заранее, например подобрав на фотографии специальной мишени.
  4. Реконструкция
    После того, как вся подготовка выполнена, можно запустить расчёт сцены. Для расчёта необходимо минимум 8 маркеров. После окончания расчёта Blender выдаст среднюю ошибку (отклонение реконструированной точки от 2D-трека в пикселях), и чем она меньше, тем лучше. Отличным результатом считается значение 0.2, хорошим ~1, приемлемым до 5. Если больше, то реконструкция будет дрожать и <<ездить>> во все стороны независимо от реальных движений камеры.

Если результат оказался неудовлетворительным, то <<работа над ошибками>> сводится к поиску самых проблемных маркеров и ошибок в их перемещении, после чего нужно подобрать коэффициенты дисторсии (они очень сильно влияют на ошибку в расчётах), добавить новые маркеры. Процесс длится до тех пор, пока не удастся приблизиться к удобоваримой ошибке.

Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license

Назад