Разбираемся с Motion Tracking

25 сентября 2015 16 комментариев Артем Слаква Анимация и риггинг

tracking
Существует множество видеоуроков, в которых шаг за шагом показано, как осуществлять отслеживание движения (motion tracking) в Blender. Я заметил, что многие пользователи могут повторить все данные действия за автором урока, но они не в состоянии применить полученные знания на практике для своего проекта. Часто это происходит из-за того, что в уроке не были раскрыты основные моменты работы с motion tracking. Данная статья попытается раскрыть основные моменты при работе с motion tracking и указать на основные ошибки возникающие во время работы. Естественно мы будем использовать Blender, но полученные знания применимы для любой другой программы.

Для чего хорошо подходит отслеживание?

Отслеживание конвертирует движения на видео в цифровую информацию. Благодаря этому вы можете разместить 3D-элементы на видео, даже если камера все время перемещается. В настоящее время вы вряд ли найдете «большое кино» без использования компьютерной графики. Наверное, не сильно интересно было бы смотреть блокбастер, если бы камера была зафиксирована на штативе? ;)
tracking-1

Как работает отслеживание?

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

Типы отслеживания

2D tracking

Когда вы выполняете 2D tracking (также называют plane tracking) вам необходимо максимум 4 точки для отслеживания. В данном случае 3D окружение не рассчитывается, потому что необходимо лишь разместить цифровую плоскость поверх отснятого видео, например, плакат на стене дома.
tracking-3

3D tracking

3D tracking используется для отслеживания комплексных движений камеры. Целью является создание виртуальной комнаты, которая будет полностью (или частично) соответствовать отснятому на видео материалу. Благодаря этому вы сможете размещать 3D объекты на вашем видео где угодно. Самое главное при создании данного типа отслеживания, это наличие достаточного количества точек для построения 3D сцены (в Blender необходимо минимум 8 точек для каждого кадра видео). Точки отслеживания должны находится как на переднем плане видео, так и на заднем. Другими словами вы должны отслеживать объекты находящиеся как близко, так и далеко от камеры. Глубина 3D сцены рассчитывается соотношением скорости движения объектов на переднем и заднем планах. Чем больше объектов для отслеживания у вас будет на обеих планах, тем точнее будет отслеживание.
tracking-4
tracking-5
Пожалуйста, помните! При отслеживании 3D пространства может быть использовано лишь соотношение движения ближних и дальних маркеров. Если вы разместите камеру на штатив и будете лишь вращать ее, вы не сможете отследить 3D пространство. В таких случаях вам необходимо использовать 2D tracking. В Blender даже есть функция штатив (tripod) для таких случаев, которой нужно всего лишь 3 точки для отслеживания.
tracking-6
После того, как ваша сцена будет отслежена вам необходимо «вычислить движение камеры» (solve camera motion). Это не означает, что камера стоит на месте, а перемещаются лишь объекты на видео, как в случае с 2D tracking. В данном случае все точки стоят на месте и ваша виртуальная камера пытается повторить движение той, с помощью которой было отснято данное видео.
tracking-7

Object tracking

Это тоже своего рода 3D tracking с той разницей, что вы не отслеживать всю сцену целиком, а лишь тот объект, который вас интересует. В отличии от 2D tracking все три оси рассчитываются при отслеживании объекта. С помощью данной техники вы можете заменить, например, игрушечный пистолет в руке актера на инопланетное лазерное оружие.
tracking-8

Какие оптимальные настройки камеры для отслеживания?

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

Избегайте размытость (motion blur)

Лучший враг хорошего отслеживания камеры — размытость движения. Но, так как вы никогда не сможете полностью обойтись без данного эффекта в кинематографе, то должны найти хороший компромисс. Если вы снимаете видео с частотой 25 кадров в секунду, то должны, по крайней мере, использовать время экспозиции равное 1/50 секунды. Чем быстрее движение камеры, тем короче должно быть время экспозиции. Если вы снимаете очень быстрый объект, вы должны использовать существенное сокращение времени экспозиции, например 1/300.
tracking-9

Избегайте масштабирования (zooming)

Избегайте масштабирования во время записи. Отрегулируйте фокусное расстояние прежде чем нажать на кнопку записи, если вы хотите получить достойный результат. В противном случае из-за коэффициента масштабирования будут появляться ошибки при расчетах расстояния. Подобные ситуации могут быть решены лишь с помощью ручного вмешательства. Однако, когда вы что-то отслеживаете в 2D, оптические трансформации не будут для вас проблемой. Вы не должны использовать цифровой зум ни в каких случаях! Никогда! Даже в самых экстремальных случаях. Если вам обязательно нужно что-то обрезать на видео, лучше сделать это позже, а не во время записи.

Распространенные ошибки и способы избавления от них

tracking-10

Camera Data

Самой распространенной ошибкой приводящей к плохим результатам отслеживания является отсутствие информации о фокусном расстоянии и размере сенсора камеры. Они являются наиболее важными при вычислении соотношения скорости движения маркеров на переднем и заднем планах. В Blender вы можете указать эти данные в меню «Camera» и «Lens». Вы всегда сможете найти нужные вам данные в интернете или в руководстве к вашей камере.

Lens distortion

tracking-11
Объектив камеры искажает реальность по всем трем осям, которые в Blender называются K1, K2 и K3. Найти данные значения, как правило, очень трудно и в таком случае вы можете попытаться рассчитать их с помощью Blender. Для этого перейдите на вкладку Solve и выберите пункт K1, K2 перед нажатием на кнопку Solve Camera Motion. С помощью Blender вы даже можете рассчитать фокусное расстояние и размер сенсора, но это не рекомендуется делать, потому что в большинстве случаев данные получаются не точными.

Tracking marker

Также не маловажным является наличие достаточного количества контрастных деталей на вашем видео для отслеживания. Если вы снимаете видео на зеленом или синем фоне, то должны разместить на нем контрастные точки, либо крестики, для дальнейшего их отслеживания. Попробуйте использовать синий, либо зеленый фоны. Это сэкономит вам много времени и избавит от многих проблем в будущем.
tracking-12

Depth axis

Вы думаете что все сделали верно, но ваш 3D-объект по-прежнему ведет себя неестественно на видео? Во многих случаях это только потому, что ваш объект не находится в том же месте, что и ваш отслеживаемый маркер. Вы использовали только вид из камеры, чтобы разместить свой объект? Если да, то посмотрите под другим углом, находится ли ваш объект в той же области, что и маркер.
tracking-13
А теперь настало время для самого интересного! Поставьте робота или динозавра в вашем саду или пусть гигантский космический корабль пролетит над вашим домом! Просто возьмите и сделайте что-то интересное!

Я надеюсь, что эта статья помогла вам немного лучше разобраться в отслеживании, а также помогла понять ошибки совершенные в прошлом. Существует только одна вещь, которая помогает: практика, практика проб и ошибок, и снова практика! Удачи!

Кстати, на видео ниже мой маленький Skyrim, при создании которого я очень много использовал motion tracking (не забудьте включить английские субтитры).

источник урока

О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Email:
info@blender3d.com.ua

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.