Как сделать движения резкими
Как снимать движущиеся объекты. Особенности съемки динамичных кадров
Снимать дерево или дом можно научиться за пару часов, не имея навыков. Делать фотографии с применением источников света можно за пару недель интенсивных тренировок. Самостоятельно по книгам или без них – методом проб разных настроек и сочетаний. Но чтобы научиться делать качественные снимки движущихся людей, животных или предметов, потребуется гораздо больше теории и тренировок.
Какие это могут быть объекты
Знания и навыки для съемки в движении
Такой вид съемки проводится со штативом или не подразумевает его использования и строится на удачном захвате кадра и игре выдержкой. Если для студийной съемки важен свет и тени, для уличной фокус и расстояние, то тут нужно учитывать динамику и направление движения, скорость объекта и особенности. К примеру, вода и автомобили требуют разных подходов, если фотография должна получится красиво и естественно. Основные моменты при съемке в движении:
Грамотно выставляйте выдержку
ISO / степень открытия шторок
Из настроек камеры на качество фотографий в движении может влиять ISO и степень открытия шторок диафрагмы. Тут уже зависит от места съемок – на улице днем количество попадаемого на объектив света сильно отличается от танцпола в ночном клубе. Для нахождения оптимального соотношения, делайте несколько пристрелочных снимков до начала мероприятия, чтобы понять направление, источник и количество света.
Правильно настраивать камеру
Нужно всегда быть сосредоточенным и с полностью настроенной камерой, а также четко знать особенности предстоящего мероприятия, иначе есть шанс упустить самое важное и отвлечься не в тот момент. Гонка автомобилей подразумевает съемку на финише или на определенных этапах кругов.
В идеале, нужно сфокусироваться на объекте заранее, если вам известно где этот объект будет находиться. Если это постановочные съемки с танцорами или спортсменами, можно даже определить зону фокуса заранее и показать, где им нужно двигаться для получения оптимального результата.
Раздведка локации
Пройдитесь заранее по разрешенной площадке для съемки, в каких местах наиболее выгодный ракурс, где мешает некрасивый задний фон, откуда будет видно больше элементов. Это сэкономит вам время на поиски в процессе работы. Тогда же можно определить и настройки камеры для каждого места, чтобы на ходу выставлять уже известные и проверенные значения.
Не оглядывайтесь в процессе работы
Не зацикливайтесь на просмотре полученных кадров в процессе работы, старайтесь сделать максимальное количество кадров, внимательно следя при этом на происходящим перед объективом, чтобы не упустить что-нибудь важное. После съемок, в процессе постобработки большое количество вариантов одного и того же ракурса даст возможность выбрать самые удачные кадры.
Используйте проводку
Она особенно пригодится вам для получения естественного движения на снимках. Это съемка в движении по направлению перемещения объекта, она позволяет сделать центральную фигуру кадра максимально четкой, а фон размывается с эффектом смещения.
Такой способ требует сноровки и тренировок, чтобы не упускать важные интересные кадры в работе, особенно, если это не постановочная съемка, а соревнование.
Если вы будете учитывать эти важные моменты в работе, то быстро научитесь получать качественные снимки без потерь.
Приемы и техники съемок движения
Существуют несколько основных техник для съемок движущихся объектов, выбор которых зависит от желаемого эффекта. К примеру, если надо размыть фон и сделать акцент на объекте на переднем фоне, то выбирается один вид настроек. А можно сделать нечеткими ближние, размыть их, а сфокусироваться на дальних предметах. Это художественные приемы для создания нужного настроения на снимке.
При выставлении минимальной выдержки есть риск получить пересвет, поэтому ISO нужно проверить и попробовать заранее. Пробуйте снимать с разными значениями светоотражения и диафрагмы при неизменном значении фокуса. Подбирайте сочетания разных настроек с разной выдержкой.
Примеры движущихся объектов
Есть несколько общепринятых объектов, подходящих для подобного вида съемок. Они получаются максимально эффектно, передают динамику и настроение, создают ощущения движения даже со снимка.
Самым распространенным вариантом является съемка детей. Дети не могу сидеть на месте, их сложно заставить позировать и нужно каждую эмоцию уметь поймать и не упустить уникальные кадры.
Такие же условия требуются для съемки животных, птицам же понадобится более короткая выдержка, чтобы получить четкие очертания крыльев. Причем, чем она выше, чем контуры будут резче, даже в полете. Сюда также подойдет техника проводки, если вы будете двигаться параллельно движению животного или птицы.
Съемка поездов, эскалаторов, проезжающих автомобилей позволит создать яркий сочный фон с мощным эффектом движения, так как у них имеются повторяющиеся элементы – окошки, блики фар.
Тут потребуется длинная выдержка и статичный объект, на котором можно сфокусироваться для более яркого акцента. Используйте в таком случае штатив, чтобы избежать искажений и ненужных элементов.
Автомобили, мотоциклы и велосипеды хороши тем, что их можно снимать сбоку, а также сидя на них. Тут можно использовать и проводку и размытие фона на короткой выдержке при фокусировке на объекте. А также с длинной выдержкой, сидя за рулем.
Парк аттракционов – идеальное место для тренировки съемок движущихся предметов, так как здесь все вокруг движется, практически нет статичных объектов. Тут можно брать штатив или снимать с рук, накладывать светофильтры, увеличивать и уменьшать выдержку, делать акцент на катающихся людях или на самих каруселях.
Ночью каждый аттракцион подсвечен яркими огнями, отчего создается впечатление буйства красок. Эскалатор можно снимать также сбоку или с другого ракурса – с него, от этого зависит, будет ли четким сам эскалатор или люди на нем.
Зонтики и любые движущиеся предметы, создающие узоры и интересные картинки. Это как эффект калейдоскопа, отбрасывающие блики, рисунки светом и тенью, отлично дополняющие портреты и фотосессии на прогулке. При короткой выдержке получаются цветные полосы и эффект движения, а при длинной – размытый яркий фон и в контраст четкая фигура или предмет. Во втором случае нужен штатив.
Улица и природа дает множество возможностей попробовать съемку предметов в движении – ветки на ветру, спешащие люди, летающие насекомые, бегущая вода и фонтаны и многое другое. Из каждого можно сделать художественную работу.
Для эффекта «застывшей воды» применяется короткая выдержка и штатив. Тогда все неровности видны. Для мягкости и гладкости поверхности применяется длинная выдержка, примерно 1 секунда, поляризационные фильтры, желательно использовать штатив, как и в первом случае.
В качестве заключения
Как и в любом другом виде съемок, движущиеся предметы фотографировать нужно с умом, грамотно используя возможности своей камеры. Светоотражение, открытие створок диафрагмы, фокусное расстояние и другие параметры нужно подбирать по случаю, в зависимости от места и времени съемки. А вот такой показатель, как «выдержка» должен иметь ручной режим регулировки.
Любой из этих техник съемки требует теоретической подготовки и «пристрелки» перед началом работы, а также настройки камеры до начала мероприятия, чтобы не тратить драгоценное время и не упускать уникальные и важные кадры.
Стили походок и движений разных психотипов
Когда и с чего мы начинаем анализ личности человека и составление психологического профиля?
Глаза профайлеров часто останавливаются на том, как человек вошел в кабинет или как он ходит: на его походке, движениях, жестах. А правда ли, что по данным признакам можно определить психотип человека?
Содержание
Давайте разберемся, какие отличительные черты невербального поведения каждого из психотипов.
Истероид
Плавная, будто идет по подиуму. Движение от бедра, пластичность и нарочитость. Часто в походке присутствует вызов, точнее призыв, а вместе с тем кокетливость и флирт.
Присутствует манерность, театральность, претенциозность. Истероиды любят красивые, “выигрышные” позы, призванные свидетельствовать о “высоком происхождении”, “элитном воспитании”. Они принимают подобные позы во всех случаях, независимо от содержания и объективного значения происходящего.
Эпилептоид
Обращая внимание на эпилептоидов в торговых центрах, вы увидите как каждый их шаг, как будто вбивает сваи. Им свойственна грубость, жесткость, медленность и сдержанность в движениях.
На походке и движениях эпилептоидов сказывается их постоянный внутренний самоконтроль.
Паранойял
Пружинистая походка, легкость, но в то же время четкость. Присутствует двигательная активность, сосредоточенность, уверенность в себе.
Паранойялов отличают два варианта жестикуляции: направляющая и ритмообразующая.
“Указующие персты”, “простертые длани” – жесты, типичные данному психотипу. Они уверенно тычут пальцем не только в некую “светлую даль”, но в книжную страницу, в лозунг на транспаранте, в чертеж.
Эмотив
Мягкая, плавная, легкие движения, аккуратность. Идя среди людей, они будут обходительны и обстоятельны, не потревожат.
Жестикуляция сдержанная (в плане размаха, амплитуды движений), но экспрессивная, точно и ёмко выражающая искренние переживания, свойственные эмотивам.
Характерны плавные, гибкие, иногда напоминающие истероидные или женские жесты (независимо от реальной половой принадлежности индивида).
Позы эмотивов удобные, свободные, при этом не стесняющие окружающих. При таких говорят: “ловок и органичен, как зверь”. Действительно, всякий раз, глядя на эмотива, кажется, что он выбрал оптимальную позу – удобную для него и для всех, изящную без наигранности, выигрышную без напряженности, красивую без претенциозности.
Шизоид
Руки-плети, диспластика и отсутствие понимания своих габаритов, низкая координация. Могут крушить и ломать всё вокруг, так как плохо чувствуют свое тело.
Жестикуляция весьма своеобразна. Её трудно с чем-либо спутать. Движения шизоидов угловатые, резкие, неловкие, плохо координированные.
Их позы неудобные, нефункциональные. Кажется, что поза удерживается не благодаря, а вопреки естественной структуре опорно-двигательного аппарата.
Гипертим
Быстрая, подвижная, стремительная и такая активная, вы пытаетесь успеть за ними, догнать их. Суетливые жесты.
Легко узнать гипертима по особенностям мимики и жестикуляции. Часто в поисках партнера по общению оглядывается по сторонам. Не стесняясь, с легкой жизнерадостной улыбкой заглядывается в лица прохожих, встречных.
Гипертимам свойственны приветственные и иллюстрирующие жесты. Все движения совершают быстро – они быстро ходят, быстро едят, быстро говорят.
Тревожно-мнительный
Осторожная, медленная. Будут оглядываться по сторонам и реагировать на все возможные стимулы вокруг. Часто ходят группкой (так безопаснее) и мелкими шагами, как мышки.
Позы тревожных, их мимика и жестикуляция весьма сдержанны, нередко как бы вообще отсутствуют. Их движения настолько невыразительны, что их трудно разглядеть, а тем более запомнить.
Депрессивно-печальный
Нересурсная походка, присутствует шарканье, взгляд вниз, идут медленно и сутулясь.
Сниженная витальность, плавные и медленноватые жесты. Вялая осанка – ощущение, что их позвоночник не держит. Размеренные движения без сил.
Стабилизация видео
Введение
Данная статья посвящена исследованию вопроса о программной стабилизации видео. Не секрет, что одно из основных отличий профессиональной съёмки (в частности, кино) от любительской заключается в том, что профессионалы, как правило, снимают со штативами, кранами, тележками и прочими приспособлениями, обеспечивающими неподвижность или плавное движение камеры, тогда как любители обычно об этом не задумываются. Как следствие, часто в любительской съёмке происходит такое мельтешение в кадре, что после нескольких минут просмотра начинает болеть голова, или во всяком случае пропадает желание смотреть на экран. Рецепт профессионалов, конечно, годится и для нас, простых видеолюбителей — надо учиться снимать со штативом. Однако не всегда он есть под руками, да и некоторые сюжеты нельзя толком снять с использованием штатива (а кран и тележка уже, увы, для любителей практически недоступны). Что же делать с таким видеорядом? Существуют достаточно мощные возможности по стабилизации изображения уже на этапе компьютерной обработки, и о них пойдёт речь в этой статье (во второй её части). Но сначала некоторое теоретическое введение.
Теоретическая часть
Для начала определим фундаментальный механизм работы любой системы стабилизации. Он имеет как минимум две составляющие: определитель «дрожания» и собственно механизм восстановления кадра без дрожания. При этом под дрожанием обычно подразумевается нежелательное беспорядочное движение самой камеры. А точнее, вращение камеры относительно любой из трёх осей, проходящих через её центр. Вращение относительно главной оптической оси (той, которую протирают спиртом:) приводит к вращению кадра (впрочем, это редко заметно), остальные две оси дают смещение по горизонтали и вертикали. Нужно иметь в виду, что помимо движения кадра как целого (движения фона), обусловленного в том числе и дрожанием камеры, часто ещё движется и объект в кадре относительно фона. Это создаёт одну из главных проблем при стабилизации в сколько-нибудь сложных случаях.
Стабилизаторы в видеокамерах
Перед тем, как перейти к разговору о программных стабилизаторах, вспомним, как осуществляется стабилизация при съёмке. Об одном, самом надёжном методе — механическом — я уже упомянул; помимо него, есть ещё два: оптический и цифровой стабилизатор. Их механизм работы отличается в обоих составляющих.
Оптический стабилизатор состоит из детектора движения (вращения) камеры — системы гироскопов, регистирующих ускорение, и компенсирующей линзы, которая может смещаться перпендикулярно оптической оси и отклонять лучи света в противофазе к обнаруженному смещению, так что они попадают в одну и ту же область на матрице. Снятие показаний с датчиков ускорения и соответственно смещение линзы происходит несколько сот раз в секунду, т.е. много раз за время экспонирования кадра, что позволяет избежать не только нежелательного сдвига картинки между кадрами, но и размытия её в пределах одного кадра (при сильном рывке). Кстати, аналогичную функцию выполняют оптические стабилизаторы в фотоаппаратах, где нет проблемы «межкадрового сдвига».
Цифровой стабилизатор определяет смещение по анализу изображения, получаемого с матрицы. Для этого, разумеется, её реальный размер должен быть существенно больше эффективного, чтобы при небольших смещениях кадр не вылетал за пределы матрицы. Записывается же на носитель изображение с меньшей по размеру области, которая «прыгает» по матрице от кадра к кадру согласно определённому вектору смещения. Недостатки у этого метода по сравнению с оптической стабилизацией очевидны: во-первых, используется не вся площадь матрицы, что приводит к ухудшению соотношения сигнал/шум при недостаточной освещённости, во-вторых, нет возможности устранить внутрикадровое размытие (которое, впрочем, досаждает только при длинных выдержках и достаточно сильной трясучке). Кроме того, стабилизатор не может предугадать, является ли смещение случайным дрожанием либо началом целенаправленного движения камеры (например, панорамы). Это иногда приводит к эффекту «залипания», когда при начале панорамирования кадр некоторое время удерживается на месте стабилизатором, а при достижении предела (края матрицы) может резко прыгнуть. В оптической системе стабилизации такого эффекта почему-то не наблюдается, хотя возможности предсказать движение камеры нет и там.
Эффект от стабилизатора в камере очень велик, особенно при длиннофокусной съёмке (большом «зуме»). Однако стабилизатор гасит только высокочастотные колебания не слишком большой (в силу конструктивных ограничений) амплитуды. Чтобы оценить эффект от накамерной стабилизации, взгляните на следующий график:
На нём представлены частотные спектры смещений камеры, определённые с помощью анализа движения в фильтре Deshaker, о котором мы поговорим во второй части статьи. Съёмка с рук удалённого неподвижного объекта производилась камерой Canon XM-2 на максимальном (20х) приближении с включённым и выключенным оптическим стабилизатором. Надо сказать, что камера эта достаточно тяжёлая (1,5 кг) по сравнению с современными «пушинками», которые, следовательно, больше подвержены тряске. Видно, что оптический стабилизатор подавляет колебания с частотой выше 1-2 герц, что, безусловно, положительно сказывается на изображении, однако недостаточно для комфортного восприятия — картинка субъективно остаётся неприятно плавающей. После программной обработки фильтром Deshaker с параметрами, подобранными для визуально приятного результата, амплитуда колебаний уменьшилась ещё в несколько раз, а колебания с частотами больше 0,5 гц вовсе исчезли. То есть и при наличии стабилизатора в камере программная обработка часто бывает очень полезна. Рассмотрим же подробнее, что она нам может дать.
Программная стабилизация: основные принципы
Принцип действия программного стабилизатора, с одной стороны, напоминает цифровой стабилизатор в камере (в том смысле, что он тоже может оперировать только уже имеющимся изображением), но есть и ряд существенных отличий. Сначала о негативном: поскольку «лишней» площади матрицы у нас уже нет, то приходится вырезать кусок из имеющегося изображения и растягивать его на весь кадр, неизбежно теряя в чёткости. Впрочем, на этом негатив заканчивается, и начинаются плюсы:) Во-первых, траекторию движения камеры можно определить в спокойной обстановке, анализируя сколько угодно прошедших и будущих кадров, и оптимально сглаженная траектория будет лишена любых рывков и залипаний. Во-вторых, хорошо спроектированный стабилизатор умеет использовать адаптивный зум для «попадания в кадр», т.е., например, если в каком-то отрывке дрожание было невелико, то вырезается участок кадра, близкий по размеру ко всему кадру, который, в силу малости колебаний, не вылетает за его пределы. Размер этого участка может варьироваться во времени (главное, чтобы не слишком быстро) — это и есть адаптивность (в накамерном стабилизаторе размер кадра всегда составляет постоянную долю от размера матрицы). Наконец, в ещё более продвинутых программах можно даже позволить вырезать участок кадра, частично вылезающий за пределы кадра в исходном изображении. Однако недостающие части не остаются пустыми, а заполняются или приграничными пикселами (что, в общем-то, смотрится не очень хорошо), или соответствующими фрагментами из соседних кадров, надлежащим образом сдвинутых до совпадения с текущим кадром. Если движение в кадре (точнее, на его краях) отсутствует, то такое заполнение краёв работает очень хорошо: можно снимать далёкий неподвижный объект с дрожанием хоть в полкадра — процесс стабилизации как бы склеит из этого множества кадров единую «панораму» и будет медленно перемещать по ней взгляд. Конечно, этот приём не всегда работает хорошо, но в идеале позволяет вообще не уменьшать размер кадра (не терять в разрешении, за вычетом неизбежной переинтерполяции картинки при сдвиге, и в угле обзора, что тоже важно).
Методы определения движения, как правило, работают аналогично методам, применяющимся при MPEG-подобном сжатии. То есть кадр разбивается на блоки, для каждого из них находится наиболее похожий блок в предыдущем кадре и смещение относительно него. По построенной карте смещений определяются усреднённые характеристики для всего кадра. Как правило, это две-четыре величины: смещение по горизонтали и вертикали и часто поворот и изменение масштаба. (Хотя в реальной съёмке регулятор зума не дрожит, тем не менее удобнее аппроксимировать карту смещения четырьмя, а не тремя величинами). При этом можно отбрасывать те блоки, которые движутся в явном несогласии с общим направлением, т.к. они наверняка соответствуют движению отдельных объектов в кадре относительно фона, либо же просто неправильно отождествлены в предыдущем кадре. Есть и другие (не-поблочные) подходы, например, применённый в фильтре DePan фурье-анализ, но на выходе обычно получаются те же величины. Дальше в действие вступает модуль собственно стабилизации, который строит оптимальную траекторию камеры путём сглаживания имеющейся «хаотической», выполняет смещение, поворот и масштабирование кадров на соответствующие величины, заполняет края и т.д. Выбор оптимальной сглаженной траектории похож на применение низкочастотного фильтра к «сигналу», образованному векторами смещения, т.е., по сути, убираются колебания с частотами выше частоты среза, задаваемой пользователем. Низкочастотные колебания, как правило, соответствуют более-менее целенаправленному движению камеры. (В качестве примера рассмотрим следующий видеосюжет: камера некоторое время неподвижно смотрит в одну точку, а затем резко начинает панорамирование с постоянной скоростью. Оба интервала соответствуют нулевой частоте «колебаний», а переход между ними и есть «дрожание»: чем ниже частота среза, тем плавнее после стабилизации будет начало движения).
Хочу подчеркнуть, что для полноценного использования всех возможностей программной стабилизации фильтр должен быть эффективно двухпроходным: на первом этапе строятся вектора смещения для всех кадров клипа, на втором — вычисляется оптимальная траектория и выполняется стабилизация. На самом деле необязательно обрабатывать весь клип, достаточно «заглянуть вперёд» хотя бы на несколько секунд. Но и этим могут похвастаться далеко не все фильтры, а ведь без этого их работа будет не сильно интеллектуальнее накамерного стабилизатора.
Возможные артефакты стабилизации
Конечно, программная стабилизация может давать и сбои или просто некрасивые результаты. Рассмотрим возможные причины неприятностей.
Во-первых, это группа вопросов, связанных с компенсацией границ (заполнением краёв). Конечно, можно совсем от неё отказаться и обойтись адаптивным или даже фиксированным зумом, но в этом случае мы проигрываем в разрешении и, что даже более заметно, в угле обзора: если мы пытались снять объект так, что он занимал почти весь кадр, но из-за дрожания периодически частично вылетал за его пределы, то после стабилизации с увеличением центральной части мы увидим только середину этого объекта. (Поэтому лучше снимать «с запасом», оставляя по краям кадра место). Если же мы обратимся к методикам заполнения краёв, то может получиться, что в соседних кадрах объект находился в другом положении, чем в текущем, и после компенсации мы будем наблюдать странноватую картину с искажёнными краями.
Чтобы этого не происходило, опять-таки лучше стараться взять в кадр целиком движущийся объект, если это позволяют условия и цель съёмки. Аналогичное, хотя и менее заметное, нарушение происходит из-за различия в яркости соседних кадров (если автоматический экспонометр вздумал увеличить или уменьшить её). Впрочем, как сказано в статье про основные правила съёмки, лучше вообще отключить автомат и регулировать экспозицию вручную. Кроме того, некоторые камеры склонны затемнять углы кадра (виньетирование), что тоже будет слегка заметно при компенсации краёв.
Ещё одна неприятность полностью унаследована из цифрового накамерного стабилизатора: при недостаточно короткой выдержке и достаточно резком смещении кадр «поплывёт», будучи даже смещён обратно в нужное положение при стабилизации. Это выглядит как резкая кратковременная расфокусировка, хотя размытие и происходит только в одном направлении. Впрочем, большинство зрителей посчитают это менее неприятным, чем исходный рывок кадра. Чтобы минимизировать этот эффект, лучше сразу при съёмке установить выдержку поменьше (автомат камеры, как правило, при уменьшении освещённости сначала поднимает выдержку до 1/50 секунды и лишь затем открывает диафрагму; мы же желаем сделать наоборот, поставить выдержку, скажем, на 1/200 или хотя бы 1/100, а диафрагма пусть будет пошире).
Наконец, ещё один эффект возникает, когда мы стабилизируем видео, снятое на широком угле (при минимальном зуме). Спрашивается, разве такое нужно? В некоторых ситуациях — да, см. ниже. Здесь мы сталкиваемся с той же ситуацией, что и фотограф, пытающийся просто склеить панораму в Photoshop’е: в соседних кадрах будет различная перспектива, и без компенсации перспективных искажений панорама не склеится.
Все программы для работы с фотопанорамами используют компенсацию перспективных искажений, но для этого нужно знать фокусное расстояние (или угол обзора кадра), что в фотографии достигается простым чтением EXIF-параметров файла (или задаётся вручную), а в случае с видео практически недостижимо. Поэтому при стабилизации такого видео мы можем наблюдать странные «покачивания» картинки, как будто кратковременно одна сторона кадра к нам приблизилась, а другая удалилась.
Способ борьбы с этим, по сути, один — не увлекаться плавностью стабилизации, пусть лучше будут колебания некоторой амплитуды, на их фоне искажения станут незаметны.
Ну и, наконец, упомянем об очевидной вещи: если планируется использование стабилизатора, то не стоит впечатывать в кадр дату и время:) (иначе придётся лицезреть танец пляшущих цифр в углу экрана). На самом деле сейчас это уже почти никто не делает (эти данные сохраняются в видеопотоке и при необходимости могут быть извлечены и добавлены на кадр при монтаже или просто как субтитры). А вот менее очевидно, что аналогичный эффект, хотя и в меньшей степени, возникает при наличии пятен, капель или даже бликов на объективе, так что не поленитесь протереть его перед началом съёмки и встать так, чтобы солнце не создавало бликов. Конечно, это относится и к съёмке без последующей стабилизации.
Короче говоря, вы видите, что возможность использования программной стабилизации лучше предусмотреть ещё при съёмке.
Режимы применения стабилизаторов
Программную стабилизацию имеет смысл применять во многих различных случаях, которые тем не менее поддаются некоторой классификации (достаточно субъективной). Условно разделим все случаи применения на три категории.
1. Съёмка на максимальном зуме более-менее неподвижного объекта, или же панорама (при большом и не очень приближении, а то и вовсе на минимальном зуме). Отличительные особенности — всё нерегулярное движение в кадре относится на счёт дрожания камеры, а после стабилизации мы должны получить почти неподвижную картинку или равномерно прокручивающуюся панораму. Кстати, случай с панорамой, пожалуй, не менее важен — с рук, да и с обычного недорогого штатива, практически невозможно снять её равномерно и без рывков даже на самом широком угле; смотрится это довольно удручающе, но после стабилизации комфортность восприятия улучшается кардинально. Этот случай — самый простой для стабилизатора, с применением компенсации краёв мы практически ничего не теряем.
Соответственно, тестировать качество работы стабилизаторов мы будем на подборке из трёх сюжетов, согласно описанной классификации. Первый — панорама, второй — скатывающийся по склону лыжник, третий — съёмка от лица лыжника 🙂
Итак, настала пора закончить с теорией и перейти к практическому рассмотрению нескольких фильтров стабилизации.
Практика стабилизации
Deshaker — фильтр для VirtualDub
Фильтр Deshaker — это, на мой взгляд, самый мощный инструмент для стабилизации. Дело в том, что у него огромное количество настроек, при правильном применении которых (в том числе с разными настройками для разных участков клипа) можно добиться почти чего угодно (в смысле стабилизации). Фильтр относится к числу двухпроходных, как и положено всякой серьёзной программе такого рода. На первом этапе производится анализ движения (поблочный), и вычисленные для всего кадра величины сдвига, поворота и масштабирования записываются в текстовый log-файл. На втором проходе выполняется собственно стабилизация с использованием адаптивного зума, заполнения краёв и прочими вкусностями. Фильтр разрабатывается человеком по имени Gunnar Thalin и доступен по адресу www.guthspot.se. Итак, будем предполагать, что вы уже знакомы с VirtualDub (если нет, читайте соответствующую статью). Загружаете исходный клип в программу и в диалоге фильтров добавляете Deshaker. Открывается окно с большим количеством настроек, которые мы сейчас разберём подробно.
Как можно видеть, настройки собраны в три группы: общие для обоих проходов и отдельно для первого и второго (переключается кнопками Pass 1 и Pass 2 вверху). Из общих надо выставить Source pixel aspect — параметр «неквадратности пиксела»: для видео 4:3 с miniDV или другой камеры стандартного разрешения это будет Standard PAL, для широкоэкранного с такой же камеры — Anamorphic PAL, для видео с камер высокого разрешения или фотоаппарата, как правило, оставить вариант по умолчанию Square pixels. Не менее важно задать тип чересстрочного сигнала — для камер miniDV это Interlaced, lower field first, для большинства камер High definition – upper field first, для фотоаппарата и прогрессивного режима (или frame mode) в видеокамерах — Progressive scan. Также нужно обратить внимание на опцию Camcorder has a rolling shutter (это утверждение справедливо для большинства современных устройств, оснащённых матрицами CMOS, и не подходит для камер на матрицах CCD). Сам термин rolling shutter обозначает особенность работы электронного затвора матрицы, состоящую в том, что сигнал считывается последовательно, начиная, как правило, с верхней строчки кадра. Таким образом, изображение в пределах одного кадра на самом деле относится к разным моментам времени, что может вызвать искажения в случае быстро перемещающихся объектов либо самой тряски камеры (в народе известные под названием «желе»). При включении этой опции движение кадра будет интерполироваться построчно между двумя крайними значениями, что позволяет частично бороться с артефактами rolling shutter’а (хотя это не всегда работает хорошо, см. ниже в разделе «сложные случаи»). Также нужно задать величину временной задержки между первой и последней строкой (в процентах, значения для некоторых распространённых моделей камер и рецепт по самостоятельному её вычислению приведен на странице автора фильтра).
Настройки первого прохода
Настройки первого этапа в основном призваны улучшить качество определения движения на первом проходе. Мы рассмотрим их чуть позже, а пока обратим внимание на верхнее поле: Video output можно установить в none — тогда на выходе будет чёрный квадратик 8×8 пикселей (это удобно для пакетной обработки через VirtualDub Job control), или же оставить значение по умолчанию Motion vectors, что позволит любоваться векторами движения поверх картинки (и не только любоваться, а и делать соответствующие выводы, правильно ли работает анализатор движения). Если что-то идёт не так, то настала пора менять настройки из группы Image matching parameters. А пока закроем окно фильтра и запустим первый проход. Поскольку результат всё равно никуда не нужно сохранять (только разве смотреть на экране), то имеет смысл запускать либо Preview output from start (F5), либо кнопку 
(Если видео было чересстрочным, то кадр разбивается на два поля и все параметры определяются отдельно для них, а изображаются они друг под другом соответственно сплюснутыми вдвое по вертикали). Итак, белые стрелки показывают вектора движения, определённые для каждого блока (его размер задаётся в графе Block size параметров первого прохода и по умолчанию равен 30 пикс.) Если стрелка красная, то данный блок отбраковывается и не участвует в определении общего движения кадра (блок настроек Discard motion of blocks that..), потому что либо его движение слишком противоречит общему направлению (графа Move >X pixels in wrong direction), либо просто слишком велико (Move >X pixels (absolute motion)). Некоторые блоки вообще не имеют векторов движения, если их не удалось надёжно отождествить в предыдущем кадре (например, равномерно синее небо). Их отбраковкой управляют первые два пункта из раздела Discard motion of blocks. Если количество нормальных (белых) блоков недостаточно (задаётся параметром Skip frame if Настройки второго прохода
Пункт Edge compensation управляет режимом использования дополнительного зума: None (large borders) отключает эту функцию, Adaptive zoom (два режима – average и full) использует плавно меняющийся (адаптивный) зум, Fixed zoom выбирает наиболее подходящее постоянное значение зума, которое полностью убирает пустые края. В режиме адаптивного зума для каждого кадра выбирается необходимое значение увеличения (с учётом уже стабилизированного движения и поворота), после чего эти величины сглаживаются по времени, чтобы не было резких рывков между соседними кадрами (степень сглаживания регулируется параметром adaptive zoom smoothness), в результате чего пустые края всё-таки могут появиться в режиме adaptive zoom average. Adaptive zoom full отличается тем, что в участках с резким движением добавляет несколько больше увеличения, чтобы края не возникали даже после сглаживания. А в режиме adaptive zoom average + fixed zoom это дополнительное увеличение просто постоянно в пределах сцены (т.е. в среднем несколько больше, чем при adaptive zoom full).
Дополнительно можно задать метод заполнения краевых пикселей, которые не могут быть зарисованы иным образом, путём экстраполяции значений граничных пикселей (галка Extrapolate colors into border). Впрочем, смотрится это не так здорово, как компенсация из соседних кадров, и обычно в ней не возникает нужды. Кроме того, если размазанные края всё-таки мешают, то можно задать дополнительный зум в графе Extra zoom factor, например, величину 1.05 или что-нибудь в этом духе. Это тоже не самый лучший выход — стоит попытаться сначала поварьировать параметры плавности.
Степень стабилизации регулируется параметрами плавности (Motion smoothness) — отдельно для горизонтального и вертикального движения, поворота и масштабирования. В отличие от других фильтров, где, как правило, регулируется частота среза высокочастотных колебаний, в Deshaker применён иной подход: перед началом второго прохода для всего клипа вычисляется оптимальная траектория камеры, т.е. минимизирующая одновременно и кривизну траектории, и отклонение её от реальной (создающее пустые края). Эти параметры являются весовыми коэффициентами в минимизирующей функции. Они могут варьироваться в широких пределах (от 0 до 100000), большее значение соответствует большей плавности. Величины по умолчанию (1000) вполне подходят для большинства сюжетов, хотя их можно и увеличить в несколько раз (зависимость «плавности» от них, видимо, довольно пологая). При выборе значений можно руководствоваться следующим эмпирическим правилом: чем больше плавность движения в исходном видео, тем большие значения можно безболезненно задавать. Т.е. для панорам вполне сгодятся значения 10000, а для съёмок стремительного спуска с горы, держа камеру в руках, такая плавность приведёт, во-первых, к неоправданно большим областям по краям кадра, требующим заполнения (что чревато артефактами в случае такого сложного движения), и во-вторых, уменьшит зрелищность сюжета:). Для таких динамичных съёмок подойдут величины порядка 1000. Если вы видите, что при заданных значениях остаются слишком много областей по краям, требующим заполнения, то плавность стоит уменьшить (или включить дополнительный зум). Впрочем, есть ещё средство для урегулирования быстрых рывков: группа параметров Max correction limits, задающая пределы смещения/поворота при вычислении оптимальной траектории. Их действие состоит в том, что при резких рывках, когда невозможно обеспечить одновременно и плавность траектории, и невыход за пределы смещения, параметры плавности на короткое время уменьшаются по сравнению с заданными. Ещё нужно отметить, что траектория рассчитывается по кадрам, а не по времени (для интерлейсного видео — по полукадрам). Т.е. для получения той же плавности в случае интерлейсного видео нужно установить вдвое большие значения, чем для прогрессивного с той же частотой кадров.

Резюме по применению
Сложные случаи
Бывают, конечно, случаи, когда Deshaker выдаёт не совсем устраивающий результат. Сила этого фильтра не в том, что он всегда работает хорошо, а в том, что почти всегда его можно заставить работать неплохо. То есть регулированием различных параметров добиться вполне удовлетворительного, а иногда — и отличного результата. Сейчас мы поговорим о таких сложных случаях.
Прежде всего, если что-то не устраивает, то надо определить причину. Их может быть две: неподходящие настройки второго этапа проявляются в основном в том, что возникают артефакты по краям изображения, связанные с компенсацией границ при наличии заметного движения около них между кадрами. Ещё раз подчеркну, что применяемый в Deshaker метод заполнения границ не имеет аналогов среди доступных фильтров, но и он не всегда даёт хороший результат. В таком случае надо просто уменьшить эти границы либо введением дополнительного зума, либо снижением плавности (в т.ч. и кратковременным, за счёт Max correction limits). Это было рассмотрено в секции про второй проход.
Другая причина связана с неправильным определением движения на первом проходе для отдельных кадров или групп кадров. Проявляется это в дёрганиях в соответствующих местах (это может быть смещение кадра, резкий наклон или прыгание увеличения). В этом случае надо регулировать настройки первого прохода и переделывать его целиком или частично. Если число моментов дёрганий невелико, то есть смысл пройтись по ним непосредственно: запомнив номера кадров, на которых этот эффект проявляется, и переключившись обратно на первый проход, чтобы посмотреть на определяемые вектора движения. В большинстве случаев на первом проходе в эти моменты происходит что-то неправильное — либо движение вообще не определяется (слишком мало валидных векторов), и кадр считается началом новой сцены, либо же «фокус внимания» фильтра перескакивает с одного объекта на другой (в частности, фон).
В приведённых последовательных кадрах движение камеры было примерно одинаковым, но в первом случае оно определилось правильно по движению фона, а во втором — неправильно, захватив объект и вынужденно выкинув часть фона. На самом деле в последних версиях Deshaker такая ситуация, скорее всего, не возникнет благодаря более «интеллектуальной» системе слежения за объектом на фоне, выраженной в галке Remember discarded areas to next frame. По умолчанию она включена и призвана сосредоточиться на движении фона, даже если объект, постепенно увеличиваясь, занимает бОльшую часть кадра. Другая полезная «ручка», применение которой может дать нужный эффект, но сильно замедлить работу, — Deep analysis if С этими установками связаны настройки отбрасывания векторов движения, не подходящих под общую картину. Discard motion of blocks that move > X pixels in wrong direction управляет отбраковкой таких блоков (они становятся красными). Если камера находится в одной точке и общий фон не движется существенно (как, например, листва в лесу на ветру), то движение блоков фона должно очень хорошо описываться общими значениями смещения/поворота, поэтому этот параметр можно снизить до 1, выкидывая т.о. всё что не относится к фону. (При этом можно и задать размер блока (Block size) поменьше, например, 16-24 пикс.) С другой стороны, если камера движется относительно фона, то можно и задать побольше значение в этой графе, чтобы «ловить» побольше векторов движения.
Если фон малоконтрастный (небо, снег), то для многих блоков не могут быть достоверно вычислены вектора движения, т.к. не удаётся точно отождествить их в предыдущем кадре. Такие блоки вообще не будут иметь векторов движения. Если хочется как-то ослабить эту отбраковку, можно поиграть значениями в полях Discard motion of blocks that have match value best — Y. Если определённых векторов движения слишком мало (особенно если меньше, чем задано в графе Skip frame if Окно настроек Mercalli
Здесь мы сразу нажали кнопку Further settings, открывающую доступ ко всем настройкам. Как видно, почти все они даются в «условных величинах», но их физический смысл более-менее ясен. В середине находится блок настроек определения движения на первом проходе. Точность определения движения (Motion detection) может варьироваться от быстрой (more quickly) до точной (more valid) — нет причин не ставить её на максимум, просчёт всё равно идёт довольно быстро (хотя авторы утверждают, что среднее положение вполне достаточно в большинстве случаев). Important picture area управляет, на что больше ориентироваться при анализе движения — на центр кадра или его края, т.е., по большому счёту, на объект или фон. Настройки Special video analysis дают дополнительные возможности по учёту векторов движения: Detect shapeless content — в малоконтрастных областях (например, в облаках); Fast motions — с большими смещениями (обычно игнорируются), Micro motions — с очень малыми смещениями (тоже обычно игнорируются; включение сильно замедляет работу и может дать худший результат при большой зашумлённости картинки). Нижнее поле (Particular distinguishing characteristics) тоже управляет «вниманием» детектора движения: только силуэт (крупные детали) / контуры объекта / мелкие детали.
Справа находятся настройки стабилизации, т.е. второго прохода. Camera stabilization управляет степенью стабилизации — от лёгкой (Soft), устраняющей только сильную тряску, до Static, создающей эффект неподвижной камеры. Настройка Camera balance управляет «инерционностью» движения стабилизированной камеры; обычная установка in balance оптимальна для большинства случаев. Настройка Camera motion определяет, какие движения стабилизировать: только смещения (inclination), также повороты (tilt), также увеличение (zoom). Далее идут настройки компенсации краёв изображения. К сожалению, Mercalli не умеет заполнять их так, как Deshaker, так что остаются два варианта: или оставлять их чёрными, или заполнять пикселами с краёв картинки (галка Fill up border region). Кроме того, можно задать увеличение центральной части кадра для устранения бордюров (регулируется ползунком Scaling, либо включением режима Without borders(upscaled) для полного устранения бордюров). Адаптивным зумом фильтр, по-видимому, также не обладает, так что выбирается максимальная фиксированная часть кадра, не дающая пустых краёв. Вероятно, upscaled — единственная более-менее визуально приемлемая установка.
Кроме отдельных настроек, можно выбирать пресеты под конкретную задачу — съёмка с рук, с плеча, со штатива, с сильным дёрганием и т.д., а также пресет общего назначения (versatile).
После настройки и нажатия OK запускается первый проход фильтра, на экран при этом выводится окошко с исходным видео, раскрашенным в разные цвета и с различными линиями поверх. Видимо, для конечного пользователся это служит только средством внушения уважения к мощи фильтра, поскольку никаких комментариев по содержанию окошка разработчики не дают.
После этого можно перемещаться по timeline и наблюдать уже результат работы фильтра, что очень удобно. При необходимости можно пойти и отрегулировать значения параметров (если затрагивались параметры первого прохода, то он пересчитывается).
В целом, фильтр хорошо справляется и с определением движения, и со стабилизацией, но отсутствие заполнения краёв пикселами из соседних кадров и адаптивного зума вынуждают уменьшать поле зрения, иногда довольно существенно, что неизбежно сказывается и на чёткости изображения. При этом явно видно, что разработчики хотели создать максимально простой и интуитивно понятный интерфейс, оставив за скобками всю математику, а также более точные средства контроля за процессом. То есть если результат работы не устраивает и это не лечится изменением настроек, то, видимо, пора переходить на Deshaker. Зато работать с Mercalli можно, не выходя из своей любимой монтажной программы.
Прочие программы и фильтры для стабилизации
Кроме описанных здесь, существует ещё множество других программ и фильтров для стабилизации видео. Можно упомянуть Dynapel SteadyHand, 2d3 SteadyMove, фильтр Motion stabilize в пакете BorisRED, фильтр Track/Stabilize motion в Adobe AfterEffects. Первые два имеют минимум настроек, а в последних двух сходу тяжело разобраться, хотя профессионалы вовсю используют и Boris RED, и After Effects. Качество определения движения у них приемлемое, но из-за более простой — однопроходной — реализации возникают большие поля, которые можно убрать только зумом (заполнять края эти фильтры не умеют). В общем, некоторая область применимости у них есть, но универсальными их никак не назовёшь.
Сравнение работы стабилизаторов
Всё это хорошо, но что же выбрать? Для ответа на этот вопрос можно сравнить поведение программ в типичных ситуациях, с которыми приходится иметь дело, чем мы сейчас и займёмся. В конце будет дана сводная таблица особенностей программ и их субъективная оценка.
Тестирование на нескольких сюжетах
Чтобы столкнуть нос к носу рассмотренные фильтры стабилизации, мы выбрали несколько сюжетов, подчёркивающих те или иные сложности процесса. Все отрывки имеют длину 200 кадров (8 секунд) и прогрессивный источник видео (чересстрочное обрабатывается более-менее так же).
Сюжет 1
Первый сюжет — панорама, снятая на широком угле, с заметными рывками (в т.ч. и вращением камеры вокруг оси), с малоконтрастными объектами в кадре.
Для Deshaker настройки первого прохода стандартные, ему вполне хватало, за что зацепиться взглядом (в более сложных случаях прежде всего выставляются на максимум Use pixels и Scale, затем уменьшается отбраковка малоконтрастных блоков). На втором проходе ставится Adaptive zoom only, 30 соседних кадров, параметры плавности побольше (10000).
В Mercalli включаем Detect shapeless content, Also detect details, ручку Camera stabilization в среднее положение, компенсацию поворотов (also tilt compensation), а края приходится убрать установкой Without borders(upscaled). В результате поле зрения меньше, а картинка более размытая.
Сюжет 2
Второй сюжет — съёмка спускающегося на лыжах человека. Особенности: временами малоконтрастный фон, заметное и нерегулярное движение фигуры относительно фона, зуммирование камеры.
Deshaker: настройки первого этапа стандартные, второго такие же, как раньше, добавили Soft borders (в прошлом сюжете это не потребовалось, даже если было бы включено), уменьшили плавность до 2000. В середине сюжета несколько кадров, когда фон почти отсутствует, и движение определяется по фигуре, а не по фону — в этом месте для остальных фильтров заметен некоторый рывок в скорости движения. Тщательно поработав с настройками первого этапа и совмещая log-файлы от разных настроек, можно добиться полной плавности, что и было сделано. Ещё в паре мест видна неидеальность компенсации краёв.
Depan: порог чувствительности снижаем до 2.0, используем DepanEstimate (вращение несущественно на фоне быстрых движений), частота среза — 1.0 по умолчанию.
Mercalli: смещаем ручку Importance area левее (к borders), Stabilization — к Soft (обе на пару делений от края); включаем Detect fast motions.
Сюжет 3
Третий сюжет — съёмка в движении с рук, спускаясь на лыжах. Движение камеры относительно пейзажа, и как следствие, неравномерное движение в кадре разноудалённых объектов.
Deshaker: на всякий случай на первом проходе отключаем анализ для нижней четверти кадра (Ignore area outside), всё равно там быстро движущаяся навстречу земля. На втором проходе плавность снижаем до 1000, а то драйв пропадает:)
Depan: болтанка камеры по всем направлениям, поэтому используем MVAnalyse для учёта вращения; остальные настройки такие же. Дёргания уменьшаются, но остаются заметно сильнее, чем после Deshaker — это «заслуга» DepanStabilize: если с log-файлом от MVdepan запустить deshaker, то движение будет намного плавнее.
В Mercalli выбираем пресет Improve helmetcam while racy drive (как раз для нашего случая), опять убираем бордюры (и зачем их там оставляют по умолчанию, раз замазывают всё равно скверно?). Плавность движений адекватная, но опять угол обзора меньше (впрочем, это не особо заметно).
В целом, можно сделать следующие выводы: Mercalli уверенно стабилизирует практически любую болтанку, но при этом приходится уменьшать размер кадра, что часто нежелательно. Depan хорошо работает в несложных случаях, при наличии вращения камеры лучше пользоваться анализом движения из MVTools; в сложных случаях стабилизация недостаточная; заполнение краёв смотрится не слишком хорошо. Deshaker хорошо работает практически во всех случаях, хотя иногда бывает полезна ручная настройка отдельных кадров; заполнение границ реализовано наиболее правильным способом, если оно всё же даёт артефакты — можно использовать дополнительный зум.














