Previous Entry Share
exposure fusion
kupolnd
Оригинал взят у sergey_ershov в exposure fusion

У меня иногда спрашивают, как сделать кадр по технологии iHDR, не используя дополнительных программ. Просто - метод называется exposure fusion, кадры с разной экспозицией объединяются, используя яркостные маски. Достоинство предлагаемого метода в гибкости, простоте, наглядности и скорости. Существуют и альтернативные способы. Например, http://fotoforge.livejournal.com/117253.html.
Для примера я выбрал простой сюжет - Живописный мост в Москве на рассвете.










Кадр с нормальной экспозицией по небуКадр, полученный по технологии exposure fusion с дополнительной обработкой

Буду благодарен за любые замечания

Шаг 1. Выбор исходных кадров



Я снял 3 кадра с эксповилкой в 1 2/3 стопа в режиме приоритета диафрагмы. Диафрагма 11. Iso 200. Предподъем зеркала. Тросик. Штатив. Вот эти кадры (прямой экспорт в jpg из DPP с настройками по умолчанию). Займемся их анализом.

















нормальная экспозиция, Tv=4 секкадр в минус -1 2/3 стопа, Tv=1.3 секкадр в плюс +1 2/3 стопа, Tv=13 сек
Экспозамер Canon 5D mark2 предсказуемо выставил экспозицию по небу.Небо мне нравится, но передний план темный. Подсветка моста очень тусклая, поэтому мост виден плохо. Также хочется лес на другом берегу осветлить. Будем искать светлый мост.Небо слишком темное, передний план вообще безнадежен. В кадре нет ничего, что нравилось в целом, возможно, его можно будет использовать для тушения отдельных бликов. Пока его откладываем.Мост, вода, лес тут светлые, поэтому я хочу их соединить с небом из первого кадра. Т.е. передний план из кадра №3, небо из кадра №1.


Проверяем выбитые участки на первом и третьем кадрах.













Нормальная экспозицияЭкспокоррекция +1 2/3
На этом кадре бликов практически нет, а те, что есть, не являются важными - возле опоры моста в воде отражаются фонари. Эти блики очень мелкие и не мешают просмотру. На этом кадре есть все, что нам надо, более темный кадр не нуженЗдесь уже сильно выбито небо, на опоре моста выбитый участок, очень яркие пятна от фонарей - это мне не нравится. Информацию об этих областях я возьму из первого кадра.


Дальше я экспортирую первый и третий кадры в 16-битные tiff файлы и открываю их в Adobe Photoshop, как отдельные файлы. Окно photoshop cs5 с открытыми файлами.


Шаг 2. Загрузка в Photoshop



Следующим шагом я объединяю 2 файла в одном документе на разных слоях. При этом я всегда более темный кадр кладу поверх более светлого. Так легче делать маски. Я переключаюсь на более темный кадр, включаю инструмент Move (горячая кнопка V), зажимаю shift и тащу картинку сначала на закладку первого файла, а потом в область картинки и там бросаю. Зажатый shift говорит photoshop, что надо выровнять картинки относительно друг друга. Без этого они будут сдвинуты.

Получим вот такой бутерброд слоев.


Шаг 3. Общий анализ



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


Так вот, мне необходимо сделать такую яркостную маску, которая на первом слое скроет все яркие области. Я сделаю маску для темного слоя, которая скроет всю темную часть, а приготовлю маску я из светлого слоя. Понимаю, что звучит ужасно, но это все довольно логично. Я наложу на верхний, темный слой маску, где черным будет залит темный передний план, таким образом, с нижнего слоя будет виден светлый передний план, а с верхнего - небо, которое маской не затрагивается, а значит, верхний слой перекроет нижний в этой области.
Почему я делаю маску из светлого слоя - да потому что там четко видно, что есть пересвеченное небо, которое нужно скрыть, есть засвет на опоре. Маску для неба можно было еще сделать из верхнего слоя, но на верхнем слое нет засвета на опоре. Таким образом, нижний светлый слой единственный кандидат на создание маски.
Так же просто объясняется, почему я темный слой кладу поверх светлого, а не наоборот. Я тогда должен буду из верхнего, светлого слоя сделать маску, которая скроет небо. Т.е. маска на месте неба должна быть черная. Маску по светам сделать проще, чем по теням (хотя и ненамного, сделав маску по светам, надо будет ее инвертировать, получим тени).

Шаг 4. Поиск каналов для создания маски



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

















Красный каналЗеленый каналСиний канал
Слишком темное небо, низкий контраст неба и переднего плана, есть фактура на небе, которая нам не нужнаКонтраст неплох, можно использовать, дырка есть на опореСмотрим синий канал. Небо практически белое, на опоре явная дырка от засвета. Вот он, явный кандидат для маски.


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

Шаг 5. Создание маски



Как сделать яркостную маску - зажать кнопку Ctrl и кликнуть по каналу (или нажать в панели channels кнопку с кружочком (load channel as selection). Photoshop автоматически выделит тоновый диапазон светов. Все, яркостная маска готова. Все дальнейшие действия это ее подгонка.


Отступление от темы.
Photoshop так устроен, что выделение это есть маска. Они преобразуются друг в друга. А маска слоя это т.н. альфа-канал.


Вот оно,выделение, которое мы сейчас преобразуем в маску слоя.


Переходим в панель layers, включаем видимость верхнего слоя, нажимаем кнопку в панели Add layer mask (или главное меню Layer/Layer mask/Reveal selection), и, вуаля, маска есть и картинка сразу выглядит весьма неплохо.










С наложенной маскойКонечный результат

Шаг 6. Доработка маски. Контраст



Дальше нужно проверить, что маска максимально качественная. Это можно сделав, попробовав дополнительно увеличить контраст маски. Для этого кликаем по маске в палитре layers и жмем Ctrl-M. Появится окошко Curves. Сдвигаем к центру ползунки белой и черной точек. Контраст маски будет увеличиваться, слои будут меньше смешиваться. Стало лучше - оставляем, нет - возвращаем обратно.

Я выбрал такую кривую. Белую точку я не двигал, потому что проступает резкая граница во многих местах.



Давайте теперь посмотрим маску, что же получилось, и сравним ее с исходным синим каналом. Чтобы посмотреть маску, надо кликнуть на ней, зажав Alt (если кликнуть, зажав shift, то маска отключится).










Готовая маскаСиний канал


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

Шаг 7. Доработка маски. Размытие маски



Далее мы обязаны сделать 2 очень важных шага, без которых наша картинка пригодна лишь для публикации в интернете размером 500px по длинной стороне.
Мы должны: 1- проконтролировать резкость на краях маски и 2 - проверить ореолы.

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

















без блюрарадиус блюра 3pxрадиус блюра 20px
маска без блюра. Не самый показательный пример, но, сравнив со следующей картинкой, можно увидеть недостаток резкости.Подобранный радиус в 3px возвращает резкостьЕсли переборщить с радиусом, появятся ореолы вокруг


Нужно так подобрать радиус блюра, что вернется резкость, но ореолы еще не возникнут, или будут невелики. Здесь мне хватило 3px.

Самое сложное, что здесь может возникнуть это когда на маске есть области, которые требуют разного радиуса. В общем, радиус определяется размером объектов и четкостью границ. Если это листочки или провода, крыша здания на фоне неба (прямая линия), то граница резкая, достаточно небольшого радиуса, а если тут же есть, например, темная туча на фоне яркого неба, то граница будет очень мягкой и нужен будет большой радиус. Как же заблюрить маску несколько раз с разным радиусом. Просто - сначала заблюрить всю с минимальными радиусом, а потом, выделяя отдельные области, применять блюр только к ним. В примере с тучей надо было бы выделить тучу любым инструментом выделения (lasso проще всего), обязательно размыть выделение (Select-Modify-Feather с достаточным радиусом) и заблюрить только эту область.

Но в данном случае все просто.

Шаг 8. Доработка маски. Ореолы



Затем контролируем ореолы. Я применяю 2 способа контроля - картинку как есть и второй - я увеличиваю контраст картинки в тональном диапазоне ореолов и проверяю их наличие. При сильном увеличении контраста допускаются небольшие ореолы, их видно не будет, но нужно иметь в виду, что впереди еще этап цветокоррекции, который включает увеличение контраста.

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

На этой фотографии ореолов нет, так как радиус блюра был очень маленький.

Шаг 9. Выводы и замечания



На этом создание картинки заканчивается, далее обычная обработка - удаление шума и грязи на матрице, цветокоррекция, геометрия, ресайз, резкость.

Я показал exposure fusion на примере 2 слоев. Если их 3 или более - это ничего существенно не меняет. Три слоя также располагаются снизу вверх по мере их затемнения. Маска для верхнего готовится из каналов лежащего непосредственно под ним.

Я иногда еще дополнительно осветляю верхний слой, если есть запас. На этапе конвертации это делать не очень удобно - не видно итоговую картинку. Например, небо в другом кадре слишком темное и оно не сочетается с передним планом. Его надо немного осветлить кривой. Чтобы сохранить послойную структуру обработки, я добавляю слой кривых поверх, объединяю темный слой со слоем кривых в группу (ctrl-g), меняю режим наложения группы слоев с pass through на normal и кривой осветляю слой. Благодаря режиму наложения у меня меняется яркость только моего темного слоя с небом.

Таким способом очень легко запороть всю резкость. Самая большая проблема будет с листьями в ветреную погоду на фоне рассветного неба. Хотя тут не один способ не даст нормального результата.


?

Log in