. Трекинг и композит в пакете Blender 3D 2.63 поневоле.
Трекинг и композит в пакете Blender 3D 2.63 поневоле.

Трекинг и композит в пакете Blender 3D 2.63 поневоле.

1 Трекинг и композит в пакете Blender 3D 2.63 поневоле. По роду своей работы мне иногда приходиться заниматься производством весьма специфичной видео продукции. А именно проходных (читай низкобюджетных) рекламных роликов для телевидения. Из самого определения уже видно, что затраты средств и времени для подобной продукции строго лимитированы. Впрочем, имея достаточно мощные профессиональные программные пакеты и оборудование на рабочем месте, я не имел затруднений с выполнением подобных работ. До последнего времени. Как обычно, в июле месяце я отправился в небольшой отпуск. Буквально в последний день перед отпуском был сдан рекламный ролик «бутика» с использованием 3D графики и обзорной видеосъемки «объекта». С чистой совестью я отправился в давно запланированное авто путешествие по России. Но, в не добрый час, так как вскоре попал в серьезную аварию. И надо же такому случиться, что в этот момент заказчик вернул мой ролик с рядовым для подобной капризной публики требованием: убрать с витрины магазина наклеенные на стекло слова: «Акция остатки сладки». Кадр из рекламного ролика Заказчику, как обычно, по барабану мои физические травмы, больничный и ограниченная трудоспособность. Им вынь, да положь результат в срок. Так я впервые в жизни почувствовал беспомощность. Но, покумекав немного, решил выполнить данную работу на имеющейся под рукой домашней машинке с использованием пакетов Blender и Gimp, что вполне в духе моего отвращения к пиратству в любых его проявлениях. На этом лирическое отступление считаю законченным и приступаю непосредственно к описанию хода работы, проделанной мной за один рабочий день. Итак, что я имел перед началом работы? Исходники рекламного ролика в виде чистой видеосъемки в формате FullHD 50p и те же ролики, но уже с наложенной графикой. Меня интересовал только один фрагмент, длительностью 6 сек, где камера переходит поворотом на

2 триподе на магазин, а затем совершает наезд на его вход. Оба движения вызывали не малые опасения, так как в первом присутствовал значительный «смаз» картинки в кадре, а «наезды» трансфокатором, на сколько мне было известно, трекер Blender переваривал плохо. Обычно под «трекинг» ролики снимают с рядом ограничений не допустим «пересвет», резкие движения камеры, приводящие к «смазу» картинки, и игра «трансфокатором» (все трекеры, даже профессиональные и дорогие, часто совершают ошибки на исходниках с изменяющимся фокусным расстоянием). В моем случае не было, разве что только, пересвета. Однако выбора не было, и я приступил к работе. Прежде всего, был выбран в видео файле кадр, в котором витрина видна целиком и максимально крупно. Я сохранил его в виде изображения в формате jpg с максимальным качеством. Выполнить эту работу можно в любой видеомонтажке, и в некоторых видеопроигрывателях, но я воспользовался Blender в режиме Video Editing. Загрузив и прокрутив видеофайл на дорожке до нужного кадра, я сделал рендер ( F12) и сохранил полученный результат (F3). Затем данный кадр был загружен в Gimp. При помощи инструментов «штамп» и «палец» я полностью убрал все следы цветных квадратов.

3 Кадр после обработки в Gimp. На этом предварительная работа была закончена. Вновь запускаю Blender, на сей раз в режиме Movie Clip Editor. Захожу в пользовательские настройки и в закладке System увеличиваю объем буфера под видеосеквенцию. Если этого не сделать, то впоследствии можно и не увидеть выложенное на Background изображение.

4 Затем загружаю уже опостылевший исходный видеоролик в окно Movie Clip Editor. Наступил ответственный момент установки маркеров. Сразу нужно сказать о паре требований и особенностей, которые необходимо учитывать, что бы избавить себя от излишней головной боли впоследствии. Первое, что нужно хорошо запомнить, это непременные сохранения результата после каждого шага. К сожалению, стабильность Blender в режиме трекинга пока оставляет желать лучшего. И если увлечься, то можно просто разом потерять многочасовую работу. Второе требование выставлено создателями Blender одновременно в каждом кадре должно находиться не менее 8- ми рабочих маркеров (то есть маркеров, к которым в данном кадре присвоен трек). Зачем это сделано, мне не совсем ясно. Трекер пакета Blender по основным характеристикам относиться к устаревшим трекерам второго поколения, таким, к примеру, как встроенные трекеры композеров After Effect и Combustion, или трекер 3D MAX. Но последние не предъявляют столь категоричные требования, вполне довольствуясь 2-3 маркерами. Может это связано с не слишком надежным алгоритмом прослеживания маркеров, использованным в Blender? Мне это не известно, но на последнюю догадку намекала очень странная работа механизма прослеживания, когда маркеры постоянно терялись там, где изображение было практически неподвижным и, напротив, стойко держались на сильно смазанных фрагментах. Как бы то ни было, а большой объем ручной работы с данным трекером был гарантирован. Но вернемся к процессу трекинга. Зная, что исходник далек от идеала, я понимал, что трекер сможет «подхватить» не все маркеры с настройками по умолчанию, но то, что будет настолько плохо, не предполагал. Трекер в упор не видел большинство указанных контрастных

5 точек на изображении, а те, что видел, быстро терял. Положение спасло лишь включение предварительного прослеживания маркеров и снижение скорости трекинга: Настройка прослеживания маркера. Установка очередного маркера и запуск прослеживания.

6 Что бы сэкономить время, большинство маркеров, не попадающих во вторую фазу съемки (трансфокация), я установил на прослеживание перемещения (Loc), и лишь маркеры из второй стадии на (Loc, Scale). Сразу должен сказать, что алгоритм масштабирования работает плохо и изза этого маркеры часто теряются. Идет прослеживание. После установки десятка маркеров в первом кадре, я запустил прослеживание вперед. При этом процесс трекинга постоянно контролировался и при подходе очередного маркера к краю кадра я останавливал трекинг и добавлял новый маркер. Очень важно было установить четыре маркера точно в углы витрины, что бы впоследствии привязать к ним прямоугольник, закрывающий маскируемое стекло. По окончанию прослеживания пришлось еще долго и муторно выцеплять потерянные трекером маркеры, корректировать их масштаб или площадь поиска (причем абсолютно без разницы, что вы измените, лишь бы было изменение) и возобновлять их трекинг, предварительно сняв выделение со всех остальных. На это малопроизводительное дело ушла пара часов. Если вы то же собираетесь заняться этим «процессом», дам один совет. Делайте области поиска маркеров (Search) как можно меньше по площади, так как это то, что более всего влияет на скорость работы трекера. Если у вас область прослеживания не видна, включите ее, поставив соответствующую галку:

7 Наконец, прослеживание было закончено. Всего мной было использовано 36 маркеров. Признав результат удовлетворительным, я приступил к настройке камеры. Собственно вся настройка сводиться к установке фокусного расстояния объектива, горизонтального размера матрицы видеокамеры и коэффициентов дисторсии объектива (характеризует геометрические искажения, особенно заметные в широкоформатных объективах). Так как объектив у нас обычный, то последнюю настройку игнорируем. Да и какой ненормальный будет снимать видео для трекинга через «рыбий глаз»? А вот с первыми двумя параметрами вышла загвоздка. Дело в том, что создатели трекера ориентировались исключительно на съемку видео фотоаппаратами. Иначе чем объяснить весьма однообразные пресеты в настройках и размер матрицы в миллиметрах? Попробуйте найти эту характеристику на вашу видеокамеру. Скорее всего ваш поиск закончиться неудачей. Производители видеокамер тщательно скрывают реальный размер сенсоров. Вместо этого нам предлагаются некие «попугаи» в виде кратного дюйму параметра. Кто не в курсе, данный параметр связан с реальным размером матрицы весьма условно, и вычислить последний по нему не представляется возможным. Я вообще считаю, что эти пресловутые дюймы были придуманы, дабы не пугать потенциальных покупателей убогими размерами матриц впариваемых аппаратов. Кому интересно, что же это за дюймы, поясню. Это диаметр трубки иконоскопа (кто не знает, это были светочувствительные вакуумные трубки, основа первых видеокамер годов прошлого века), светочувствительная площадь которой эквивалентна площади матрицы вашей камеры. Не правда ли - туманно до предела. В интернете можно встретить таблицы и схемы соответствия дюймов реальным размерам фотоматриц. Пример такой схемы: Только есть одно но. Эти таблицы годятся лишь для камер с сенсорами формата 4:3 и 3:2. Видеокамеры же, особенно современные, имеют сенсоры форматов 16:9, 16:10 и, даже, 21:10, при размере сенсора 1/3, ¼, 1/6 «попугаев». Лично мне так и не удалось выяснить реальный размер матрицы моей трехматричной Panasonic HC-X900 с паспортными 1/4 дюйма. Так что же, опускать руки и использовать какой-нибудь Voodoo? Нет. Дело в том, что для трекера имеет значение не сам размер матрицы, а его соотношение с фокусным расстоянием. Так как оба эти значения мы вводим сами, кто нам мешает подобрать их так, что бы получился тот же результат, что и с реальными значениями? Как раз для этого в Blender имеется очень удобный механизм расчета ошибки трекинга:

8 Для получения ошибки нужно просто установить ключевые кадры А и В (определяют наиболее характерный отрезок видеофайла, для которого мы установили базовые параметры трекинга) и, собственно, запустить сам процесс расчета. Но вернемся к определению этих «базовых» параметров. Лично я действовал так. Взял паспортное значение эквивалентного фокусного расстояния 29.8 мм. Так, стоп. Опять необходимо пояснить, что же это за фокусное расстояние, указываемое во всех технических характеристиках фото и видео камер. Это совершенно не реальная цифра, а «приведенная». То есть такое фокусное расстояние имел бы ваш объектив при той же картинке, если бы размер матрицы был, как у 35 мм фотопленки. Следовательно, мм и есть наше значение размера матрицы, от которого мы будем плясать. Не смотря на то, что камера трехматричная, учитываем размер только одной матрицы. Вводим данные значения в соответствующие окна и запускаем трекинг. После нескольких томительных минут ожидания получаем ошибку, аж 111,7 при необходимом для качественного трекинга значении 0,6 и менее. Но за сердце хвататься не стоит.

9 Мы не учли, что фокусное расстояние у нас увеличивается на второй стадии. Попробуем наращивать фокусное расстояние. После нескольких последовательных приращений было выбрано оптимальное значение 43 мм. При этом ошибка составила всего 0,7. Можно было бы и дальше заниматься уточнениями, но время уходило, впереди было еще много работы, а полученное качество меня вполне удовлетворяло. Оставалось лишь привязать камеру к полученному треку. Я перешел в режим отображения 3D окна, удалил все лишнее (куб и светильник), и выставил камеру в начало координат: После этого присвоил камере рассчитанный трек: Переходим на вид из камеры и устанавливаем на задник все тот же видеофайл:

10 Не забудьте ввести длину файла в кадрах в соответствующее окно (показано на рисунке). Создаем плоскость, присваиваем ей UV развертку, переходим в окно UV/Image editor и загружаем наш отредактированный кадр. Выставляем вершины плоскости точно в углы витрины: Создаем новый материал. Присваиваем ему текстуру:

11 Выставляем светимость текстуры: Осталось правильно выставить нашу плоскость перед камерой. Для этого мы используем «пустышки», установленные трекером в местах угловых маркеров витрины. Просто перетаскиваем вершины нашей плоскости в режиме редактирования к этим пустышкам. Совмещать нужно как можно точнее, так как иначе возможен «уход» плоскости в кадре во время движения камеры:

12 Перейдя вновь в вид из камеры, проверяю качество установки нашей плоскости потаскав движок таймлайна туда сюда. Результат меня вполне удовлетворил. Теперь нужно было настроить рендер. Естественно, ни о каком Cycles речи не идет, только Internal. Устанавливаю длительность выходного файла, его формат и частоту кадров (в моем случае 50). Меняю Sky в настройках закладки Shading на Permultiplied. Рендер настроен:

13 Осталось последнее совмещение видео с полученной в результате проделанной работы заплаткой. В принципе, эту работу можно легко проделать и в стороннем композере. Но, напоминаю, я был ограничен в средствах. По этому, инструмент напрашивался сам собой композиционный редактор узлов Blender. Открываю окно Node editor и строю вот такую схему:

14 Здесь мы видим два входных узла соответственно с рендером сцены (плоскости) на прозрачном фоне и исходным видеофайлом. Эди два изображения совмещаются в узле Mix. Критерием смешивания служит информация альфа канала рендера. Для подгонки отрендеренного изображения витрины под тон исходного видеофайла, добавлен узел регулирования яркости и контрастности. Можно было бы добавить еще легкое размытие для изображения рендера, но это уже придирки. Даже в таком виде результирующая картинка смотрится очень даже не плохо. Осталось только нажать кнопку Animation на панели Render и дождаться итогового результата. Вуаля. Спасибо за внимание.

📎📎📎📎📎📎📎📎📎📎