Разбираемся с Microsoft Image Composite Editor или как сделать панораму из видеофайла

Панорамный снимок сельской местности. Сделано при помощи PixMaker. 2003 год.

Панорамный снимок сельской местности. Сделано при помощи PixMaker. 2003 год.

Созданием панорамных фотоснимков человечество баловалось еще со времен изобретения фотопечати. Ну а кому не захочется потрясти воображение знакомых огромной фотографией с мельчайшими деталями или фотографией с разверткой под 270 или итого больше градусов? Но с аналоговой системой печати подготовить хорошую панорамную фотографию чрезвычайно трудно, так трудно, что производители даже выпускали специальные фотоаппараты, спроектированные исключительно для съемки панорамных пейзажей. В начале 2000-х, когда цифровые фотокамеры начали свое победоносное наступление на пленочную технику, неожиданно возобновился интерес и к панорамной фотографии.

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

Специальный пленочный панорамный фотоаппарат "Горизонт".

Специальный пленочный панорамный фотоаппарат "Горизонт".

Но постепенно интерес к сложной компьютерной обработке фотографий стал сходить на нет. Несмотря на все преимущества, которые дает любителю компьютерная фотография, разобраться со всеми ее тонкостями мудреного ПО, дано только самым и самым упорным людям. А таковыми являются далеко не все. Стараясь не упустить клиента, программисты решили еще сильнее напрячь свои мозги и обучить свои программы выполнять всю работу за пользователя. Так, уже ближе к концу 2000-х, на свет появились почти автономные продукты, в которых процесс склейки отдельных фотографий производится с минимальным вмешательством человека. И именно тут потребителю стали доступны программные комплексы, позволяющие создавать панорамные фотографии не из отдельных фотографий, а из видеороликов. Ведь действительно, видео с цифровой камеры есть не что иное как последовательность фотографий, обработанная особым образом. Но увы, опять никакого чуда не произошло. Качество результатов, даже с использованием всех возможных и невозможных алгоритмов, без прямых рук и светлой головы, оставляло желать лучшего.

Роботизированная панорамная головка с установленным фотоаппаратом.

Роботизированная панорамная головка с установленным фотоаппаратом.

Но, похоже, что история повторяется и вот, в 2015 году на сцену выходит весьма любопытный продукт от Microsoft. Речь идет о Image Composite Editor (ICE) родившемся в недрах Microsoft Research. У Microsoft задействована целая сонма проектов относительно обработки видео и фото. Некоторое время назад, я уже писал об одном таком продукте. Основной «фишкой» Microsoft Hyperlapse несомненно можно считать очень хитрый алгоритм построения пространственной картинки при обработке видеофайла. Нечто подобное реализовано и в ICE, хотя и предназначен продукт для создания панорамных фотографий различного форм-фактора.

Image Composite Editor может работать как фотографиями, так и видео в качестве источника. Результатом, понятное дело, всегда выступает фотография. Причем именно видео является основным входящим потоком для ICE. Ведь сейчас, даже в мобильных устройствах, есть возможность снимать видео в разрешении не меньше, чем у фото. Да и в теории, для панорамной фотографии важно иметь хороший набор перекрывающих друг друга кадров, а видео-то пишется с частотой ну никак не меньше 25 кадров в секунду. И, следовательно, для большинства случаев видеоролики могут выступать лучшим и приоритетным источником для создания панорамной фотографии. Но попробуем разобраться, так ли хорош ICE, как о нем пишут его создатели на страничке загрузки приложения.

Как создавать панорамы правильно

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

Но подобная техника встречается только в руках настоящих профи, которые идут целенаправленно за удачными кадрами для будущей панорамы будучи обвешанными килограммами оборудования. Ну а что делать любителю? А любитель снимает панорамные снимки с рук, сейчас уже зачастую вообще камерой мобильного телефона, а все огрехи в съемке надеется исправить при постобработке силами программного обеспечения. И именно с этой точки зрения, неотягощенного штативом и прочим фотографа, будет рассмотрен Image Composite Editor.

Введение в ICE

Microsoft умудряется, в последнее время, создавать программные продукты, которыми можно пользоваться без предварительного изучения документации и сдачи квалификационных экзаменов. И Image Composite Editor не исключение. Интерфейс программы на редкость прост. Весь процесс состоит из последовательности шагов.

Вначале, выбираем видео или набор фотографий, которые необходимо превратить в панораму. Затем, центрируем и выбираем тип панорамы. Далее, заполняем пустые места в кадре или обрезаем готовую панораму. И фотка, поражающая воображение, готова!

Типы доступных панорам в ICE.

Типы доступных панорам в ICE.

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

  • Auto-detect: установка по умолчанию. В этом режиме ICE попытается автоматически определить движения камеры основываясь на импортируемых изображениях или кадрах видео. При использовании этого варианта, следует учитывать, что при применении длиннофокусных объективов возможно возникновение ситуации, когда ICE неверно определяет тип загружаемой панорамы. В этом случае рекомендуется выбирать вариант вручную.
  • Planar motion: при активации этого режима ICE рассчитывает лучшее пересечение изображений без осуществления какой-либо коррекции искажений. Допускаются только вращение и изменение размеров фотографий. Режим Planar motion удобно применять для склейки множества изображений чего-то, располагающегося в одной плоскости, например, больших документов.
  • Planar motion with skew: режим аналогичен Planar motion, но помимо всего прочего, допускает корректировку перекоса изображений. Режим не очень полезный, но может применяться в случае, если другие способы не дают искомого результата.
  • Planar motion with perspective: режим использует все преимущества предыдущих режимов, но дополнен еще и устранением искажений от перспективы. Такой режим может с успехом применяться в случаях, когда снимается панорама плоскости, но из одной точки. В дальних углах формируется существенное искажение геометрических форм, которое и призван исправлять указанный режим. Собственно, это один из самых распространенных режимов съемки панорамы, но он исключает поворот камеры вокруг точки съемки и применяется для плоских объектов. Так можно сфотографировать со сверхвысоким разрешением картину Репина в Русском музее или что-то аналогичное.
  • Rotation motion: самый популярный режим. Он применяется тогда, когда камера вращается вокруг точки установки.

В большинстве случаев вполне адекватно работает установка Auto-detect, ну а если что-то вдруг пошло не так, то в любой момент можно вернуться на Шаг 1 и выбрать другой тип панорамы. В этом плане в Microsoft Research все сделано гладко и без изъянов. Но уже на следующем шаге, пользователю предлагают еще разок поднапрячь мозговые извилины и выбрать еще раз тип панорамы. На этот раз доступно только два варианта:

  • Simple panorama: этот тип панорамы выбирается в том случае, если для съемки фотографий или видео не применялись роботизированные панорамные головки. Другими словами, если всю работу, так или иначе, проделал человек. Даже если применялся штатив или ручная панорамная головка, все равно выбрать нужно именно этот вариант.
  • Structured panorama: применяется только и исключительно для фотографий снятых при использовании роботизированной панорамной головки. Такие головки позволяют снимать сотни и тысячи фотографий в рамках прямоугольной зоны. Обычно подобная техника применяется в проектах по съемке гигапиксельных панорам. А ICE будет обрабатывать фотографии-источники заметно быстрее, поскольку он не будет тратить время на дополнительные вычисления перекрытия фотографий, поворота камеры и им подобных.
Варианты панорам в ICE.

Варианты панорам в ICE.

У неискушенного пользователя могут возникнуть вопросы и на следующем этапе, когда требуется выбрать непосредственно тип панорамы. Но тут можно разобраться и без посторонней помощи, благо при переключении типов, результат на экране меняется моментально. Только нужно помнить, что сетка на изображении дана не просто так, а само изображение, в зависимости от выбранного типа панорамы, можно сильно деформировать при помощи мышки. Достаточно только одного раза попробовать и все получится.

Копаем вглубь ICE

Одним из преимуществ, которое активно рекламирует Microsoft, которое есть у ICE, встречается и в других программах. Функция Auto Complete, доступная на шаге 3, позволяет, при помощи могучего алгоритма, достроить недостающие части панорамы. Иногда получается так, что при съемке панорамы, особенно когда применяется техника съемки с рук, в некоторых местах готовой панорамы обнаруживаются пустые участки. Дело в том, что уследить, при быстрой съемке, за всеми ракурсами, бывает очень непросто и рано или поздно, где-то в углах образуются пустоты. Плюс, при исправлении искажений, а также при позиционировании фотографий друг относительно друга, края панорамы получаются не совсем ровными и прямоугольными. При традиционном подходе, готовый панорамный снимок обрезается, оставляя за кадром все неровности. Но Microsoft в ICE предлагает воспользоваться преимуществами продвинутых алгоритмов.

Работа функции Auto Completion в ICE.

Работа функции Auto Completion в ICE.

При помощи функции Auto Complete можно попробовать достроить недостающие участки панорамной фотографии. Компьютер, опираясь на рядом расположенные пиксели, старается предположить, каким узором или рисунком необходимо заполнить образовавшиеся в панораме пустоты. Алгоритм, применяемый в ICE не уникален, несколькими годами ранее в Adobe Photoshop появился инструмент Content aware fill. Инструмент применяется для ретуширования фотографий и позволяет избавляться от ненужных объектов на фотографиях, в том числе и при обработке панорамных снимков. Да-да, Adobe Photoshop с незапамятных времен умеют самостоятельно собирать панорамные снимки, причем делает он это не хуже, чем большинство специализированных приложений по обработке панорамных фото для начинающих фотографов.

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

К чести Microsoft Research, функция Auto Complete может быть включена и отключена в любой момент времени. Если вы видите, что результаты работы Auto Complete ужасны, то всегда можно либо обрезать эту часть, либо просто отменить заполнение пустот. Хотя обрезать придется в любом случае. Вообще, удобство работы с программой на высоте. В любое время можно вернуться назад и изменить каждый из параметров.

Помимо заполнения пустот в ICE есть еще одна функция, достойная упоминания и называемая Preserve regions. Доступна она на самом первом шаге процесса обработки. На фотографиях или кадрах видео можно пометить те объекты, которые необходимо оставить в кадре. При отмечании не забывайте помечать еще и тени от объекта, во избежание ненужных артефактов на изображении. Да и слишком усердствовать не стоит. При перекрывании объектами друг друга либо при их очень близком расположении возможны коллизии и возникновение либо мутных участков, либо привидений, либо уполовиненных объектов.

Результат работы настройки Preserve regions в ICE.

Результат работы настройки Preserve regions в ICE.

Несмотря на всю продвинутость алгоритмистов, нельзя создать процедуру, которая будет одинаково хорошо работать с любым набором исходных данных для панорамы. Искусственная обработка не всегда может верно склеить отдельные части панорамы, но в ICE у пользователя нет возможности никак повлиять на результат. В ICE нет ни единого способа, как можно было бы подсказать программе где она ошиблась и как нужно произвести склейку. Пользователь волен лишь изменять очень грубые настройки, все остальное отдано на откуп компьютера. И если панорама не срастается, то тут либо пойти и снять все заново, либо воспользоваться альтернативным программным обеспечением.

Тестируем Image Composite Editor

Я не ставил перед собой задачи провести мегатестирование и сравнить результаты работы всех продуктов доступных на рынке. Их слишком много, даже в современных телефонах можно встретить функцию по сборке панорамы. Моя задача была немного скромнее, я хотел понять, что можно получить на выходе из ICE если снимать только с рук, а в качестве камеры использовать хоть и хороший, но все же телефон.

Подготовленная панорама из видеофайла. Хоро видны неровные края снимка.

Подготовленная панорама из видеофайла. Хоро видны неровные края снимка.

Первым вопросом, которым я задался было «А как хорошо работает функция Auto Completion?» Для ответа на него, мне пришлось снять несколько пробных панорам и сшить их в ICE.

Попытка заполнения пустых регионов программным способом. Стрелками отмечены сомнительные результаты, а рамкой геометрические искажения.

Попытка заполнения пустых регионов программным способом. Стрелками отмечены сомнительные результаты, а рамкой геометрические искажения.

Специально ради съемки, я прибыл на улицу Школьную, где располагается местная точка силы для съемки тестовых панорам. Будучи проездом на улице Школьной, я решил испытать судьбу и снять панораму самой улицы, припаркованных на ней автомобилей, а заодно дома красивые. Ради эксперимента, я снял линейную панораму в виде фотографий и составную панораму в видео. Видеосъемку я проводил очень небрежно, водя камеру из стороны в сторону, стараясь покрыть интересующий меня регион. Такой режим поддерживается в ICE и никаких сложностей он не вызвал.

Панорама полученная из фотографий без обрезки.

Панорама полученная из фотографий без обрезки.

Если посмотреть на результаты обработки панорамных снимков, то отчетливо видно, что алгоритмы не справились с дорисовкой недостающих частей изображения. Вернее, дорисовать-то они их дорисовали, но лучше бы они этого не делали. Результат получился ужасающий и все эти области все равно придется обрезать.

Панорама полученная из фотографий с заполнением пустот в ICE.

Панорама полученная из фотографий с заполнением пустот в ICE.

Auto Completion отработала одинаково плохо как для результата, полученного с видеоисточника, так и с фотографий. Увы, дальнейшее разбирательство только подтвердило мои первоначальные предположения о качестве работы алгоритма автозаполнения.

Панорама из фотографий, собранная в Adobe Photoshop CC 2015 с заполнением пустот.

Панорама из фотографий, собранная в Adobe Photoshop CC 2015 с заполнением пустот.

Я произвел еще одну съемку, на этот раз на улице Шипиловская. Здесь заполнять пришлось такие объекты как небо, траву и асфальт. Асфальт заполнился идеально, небо, кстати тоже, а вот на траве уже заметны некоторые изъяны, хотя видны они только тогда, когда присматриваешься.

Сферичекая панорама из видеофрагмента с обрезкой.

Сферичекая панорама из видеофрагмента с обрезкой.

В проморолике от Microsoft пустые места в панораме, чудесным образом заполняются содержимым. Но, если присмотреться, то все панорамы, в которых заполняются проблемные места, не содержат каких-либо сложных структурных объектов. Все места для заполнения чрезвычайно просты. Это либо бетон, либо асфальт, либо плитка. Именно на таких объектах алгоритм заполнения срабатывает верно. Но увы, в других случаях им лучше не пользоваться.

Сферичекая панорама из видеофрагмента с заполнением пустот.

Сферичекая панорама из видеофрагмента с заполнением пустот.

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

Еще одна сборка панорамы из видео. Если присмотреться, то заметны огрехи в геометрии и заполнении пустот.

Еще одна сборка панорамы из видео. Если присмотреться, то заметны огрехи в геометрии и заполнении пустот.

На снимке в подземелье метрополитена, видно, что даже современные алгоритмы не готовы к беспощадности реального мира. Как были растушевки, так они и остались. Как были привидения, так они и остались. Ничего принципиально нового в ICE нет, ровно все то же самое есть (и уже было лет так 15) в других приложениях. Казалось бы, если в качестве источника выступает видеофрагмент, то в распоряжении программы есть сотни, если не тысячи отдельных кадров — выбирай те, которые подходят. Ан нет, оказывается тут все не так просто. Даже при наличии видеофрагмента ICE не может вычленить все те части панорамы, которые можно соединить вместе, но без участков с «мешающими» объектами.

Огрехи в сборке панорамы: летающие отдельно от тел головы, изломы на прямых линиях геометрии.

Огрехи в сборке панорамы: летающие отдельно от тел головы, изломы на прямых линиях геометрии.

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

Одна из удачных панорам собранных из видеофрагментов. Двигающийся транспорт не смог внести помехи в результат.

Одна из удачных панорам собранных из видеофрагментов. Двигающийся транспорт не смог внести помехи в результат.

В начале статьи я упоминал, что для съемки качественной панорамы необходимо заблокировать экспозицию. Обычно ее блокируют на самом ярком участке, дабы детали не уничтожались в светах. Но далеко не на каждом телефоне есть такая возможность. Но к чести Samsung, в S5 корейцы смогли реализовать съемку видео в условиях изменяющегося освещения на достойном уровне. А ICE смогла отработать склейку панорамы даже при нахождении яркого солнца в кадре, что в действительности серьезная проблема.

Одна из более-мене удачных панорам с размноженным автомобилем. Сделано из видео.

Одна из более-мене удачных панорам с размноженным автомобилем. Сделано из видео.

Ну и конечно, извечная засада всех программ по созданию панорам — провода в небе. Собрать их в единую линию не под силу даже самым-самым продвинутым утилитам. И только съемка при помощи роботизированной головки, с четко выверенными углами и перемещениями хотя бы частично, но снимает проблему по склейке тонки черных линий, проходящих где-то по небу.

Выводы

Image Composite Editor для Microsoft продукт новый, ранее ребята из Редмонда, не были замечены в подобных упражнениях. Но даже такой первый «блин» вышел далеко не комом, а продуктом вполне на уровне других, актуальных нынче, панорамных склейщиков. Я не могу сказать, что для продвинутого фотографа ICE подойдет. Намучавшись с небольшими огрехами в готовых панорамах, такой фотограф рано или поздно перейдет на более управляемый софт. С другой стороны, ничего проще, нежели ICE, для начинающего фотографа придумать нельзя. Проще уже некуда, да и незачем.

Исходный видеоролик для панорамы на ул. Школьная

А вот для профи, возможно, что функциональности ICE будет достаточно. Дело в том, что при использовании роботизированных панорамных головок, при склейке панорамы не возникает того множества дефектов-спутников обычной съемки. И тут уже будет важна скорость сборки панорамы, а ICE работает весьма шустро.

Могу ли я рекомендовать ICE для использования? Как минимум его стоит посмотреть и опробовать самостоятельно. Вдруг, в вас невзначай проснется, спавший доселе, талант к панорамным снимкам. Тем более что продукт достойный и бесплатный (по крайней мере пока).



Добавить комментарий