Стероиды для светов и теней

Nov 01, 2010 12:46

Как и обещал, выкладываю статью из октябрьского номера «Фотомастерской».
Поводом для нее послужило сообщение Ильи Борга. Я оставил комментарий о возможных улучшениях, а потом решил попробовать, дадут ли они реальный выигрыш. Поскольку результат лучше оценивать в сравнении, ниже приводится описание работы Shadows/Highligts, «стероида» Маргулиса и «продвинутого стероида», сконструированного мной.

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



Полноразмерный psd (270 Mb) с воспроизведением всех трех методов и экшен можно скачать отдельно.



Постановка задачи

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



Оставим в стороне вопрос: надо ли вообще вытягивать тени и света? Это отдельная большая тема из области творчества и эстетики восприятия. Об этом и многих других интересных вопросах можно послушать в записи семинара Ильи Борга. Но если решение вытягивать тени и света принято, давайте поговорим о технической стороне проблемы. Кстати, моя иллюстрация тоже является чисто технической. Ее задача наглядно продемонстрировать возникающие при использовании разных методов изменения.



Чтобы вытянуть детали в темных областях, необходимо осветлить тени и поднять в них контраст. Для восстановления деталей в светах надо поднять в них контраст и затемнить. Посмотрев на форму кривых, несложно заметить, что эти коррекции прямо противоположны.

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

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

Что предлагает Adobe?

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



Работа Shadows/Highlights строится на яркостной маске. Получить ее можно, сделав черно-белую копию изображения или кликнув по иконке композитного канала в палитре Channels с зажатой клавишей Ctrl (для MacOS - Cmd) и сохранив получившееся выделение.



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

Эта операция создает костяк будущей маски, поэтому установку Tonal Width обычно выполняют первой, задав побольше значение Amount (чтобы изменения были хорошо заметны) и сбросив Radius в ноль (чтобы точно определить затронутые воздействием области).



Мы уже говорили, что маска должна быть размыта, причем достаточно сильно. Движок Radius в Shadows/Highlights аналогичен такому же движку фильтра Gaussian Blur, который и занимается размытием заготовки маски. Обычно его устанавливают во вторую очередь, добиваясь более мягкого распределения осветления и стараясь не допустить явного проявления светлых ореолов вокруг темных объектов.



Так как выделениям на маске соответствуют более светлые участки, перед применением заготовку маски надо инвертировать. Движок Amount регулирует степень осветления и отдельных иллюстраций не требует. Таким образом, опираясь на заданные нами параметры, Shadows/Highlights создает внутри себя маску (не показывая ее нам) и работает через нее. Точный алгоритм его работы незначительно отличается от описанного выше, но в основном достаточно точно соответствует нашим ручным действиям.



С маской светов все операции производятся аналогично, только изменению Tonal Width соответствует сдвиг черной точки кривой (Tonal Width влево - черная точка кривой вправо) и перед применением инверсия маски не требуется. На иллюстрации приведен результат применения Shadows/Highlights к исходной картинке (до повышения контраста средних тонов) с соответствующими настройками. Инструмент применен к смарт-объекту, чтобы сохранить возможность изменения параметров.



Средние тона все-таки оказались затронуты достаточно сильно, и контраст в них упал. Скомпенсировать это падение можно при помощи движка Midtone Contrast. Color Correction увеличивает цветовую насыщенность в областях вытянутых теней и светов. Для данного изображения его применение не требовалось. Я подбирал установки, стараясь добиться наиболее близкого визуального результата с максимальным воздействием «продвинутого стероида» (о нем чуть позже). Но могу заметить, что это практически максимальные настройки, не превращающие картинку в нереальное фото из зазеркального мира.

А теперь давайте разберемся, что я имел в виду под «приветом из зазеркалья», в чем плюсы и минусы работы Shadows/Highlights. Основным, а, на мой взгляд, и единственным, плюсом является скорость работы: надо настроить всего 8 движков. Немного поэкспериментировав, можно подобрать наиболее подходящие к большинству картинок настройки и запомнить их как установки по-умолчанию, а для конкретного изображения только немного подправлять их.

Минусов, или проблем, гораздо больше

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

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

3. Слишком жесткое выравнивание освещенности объектов, что приводит к очень характерному ненатуральному виду картинки.
Тот самый «привет из зазеркалья». По жизненному опыту все (даже те, кто не имеет представления о термине «тональная перспектива») знают, что часть объектов сцены должна быть темнее, а часть светлее. Это создает ощущение глубины сцены. Shadows/Highlights слишком сильно выравнивает усредненную яркость объектов, лишая изображение естественной тональной перспективы и глубины. Это следствие предыдущей проблемы.

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

5. Ореолы не только проявляются визуально, но и вносят в картинку достаточно сильный эффект HiRaLoAm (high radius low amount) повышения резкости
Это совершенно ненужные на данном этапе обработки и усугубляющие проблему 3 («сказочность» картинки) изменения.

Что предлагает Маргулис?

Несколько последних лет Дэн сосредоточил свои усилия на создании универсального метода обработки, рассчитанного на широкую аудиторию пользователей. «Широкая аудитория» фактически означает следующее: фотографии сделаны не самым опытным фотографом, обработкой занимается не самый опытный цетокорректор. Поэтому метод должен быть простым в использовании и гарантированно решать (с приемлемым для среднего пользователя уровнем качества) большинство часто встречающихся проблем изображения. В том числе и проблему проваленных светов и теней. Общая методика получила название Postcard Picture Workflow. Прием по вытягиванию светов и теней Дэн называет «тени и света на стероидах».

«Стероид» не предлагается как полная замена Shadows/Highlights. Это альтернативный метод, являющийся дополнением к стандартному инструменту Photoshop. Давайте посмотрим, как он работает, и разберем его плюсы и минусы.



Осветление/затемнение картинки будет производиться при помощи контрастного режима наложения, поэтому заготовка должна быть инвертирована. В качестве заготовки выбирается средний по яркости канал. Чаще всего, но не всегда, таким каналом оказывается Green. Забрасываем содержимое зеленого канала на новый слой и сразу инвертируем его при помощи команды Apply Image.



Размываем заготовку при помощи Gaussian Blur с необходимым радиусом. Радиус 50 достаточно хорошо подходит к большинству картинок 10-20 Мп, поэтому Маргулис рекомендует именно его. Я использовал одинаковый радиус для всех методов, чтобы проще было сравнивать результаты. А слой Inverted_Green предварительно конвертировал в смарт-объект, чтобы иметь возможость менять радиус в дальнейшем.



Задаем слою Inverted_Green режим наложения Overlay и получаем искомое осветление (затемнение) темных (светлых) областей изображения. Чтобы регулировать степень воздействия, поверх слоя Inverted_Green помещаем два слоя с исходным изображением. Слою Source_Darken задаем режим наложения Darken, увеличение его непрозрачности будет ослаблять осветление темных областей исходного изображения. Слою Source_Lighten задаем режим наложения Lighten, увеличение его непрозрачности будет ослаблять затемнение светлых областей исходного изображения. Я выбрал непрозрачности 30% и 10%, стараясь добиться наиболее близкого визуального результата с максимальным воздействием «продвинутого стероида» (о нем чуть позже).

Замечание.
Вообще то, Дэн предлагал тянуть или тени, или света. Поэтому «родная» структура слоев включала либо слой с Darken-наложением, либо с Lighten, причем со 100 % непрозрачностью, а интенсивность воздействия регулировалась за счет непрозрачности Overlay-слоя. Но я немного расширил функциональность его метода.

Теперь посмотрим, какие проблемы Shadows/Highlights удалось решить.

1. Сложность инструмента.

Решена полностью.
Пользователь избавлен от необходимости подбирать настройки, а выбрать средний канал под силу любому.

2. Неоправданный захват областей, не относящихся к явным теням и светам.

Решена частично.
Воздействие на эти области меньше, но оно по-прежнему есть. При этом распределение этого воздействия изменилось: обратите внимание на неприятные осветления темных окантовок арок на стене и увеличившееся осветление кузова автомобиля. Это, опять же, связано с несовершенством заготовки для наложения (карты воздействий). Поскольку мы используем отдельный цветовой канал, на яркость объектов в нем существенное влияние оказывает их цвет.

3. Слишком жесткое выравнивание освещенности объектов, приводящее к очень характерному ненатуральному виду картинки.

Практически не решена.
Частичное решение предыдущей проблемы должно было ослабить и эту, но перераспределение воздействий усиливает эффект «сказочности» до прежнего уровня.

4. Явное визуальное проявление светлых (темных) ореолов вокруг темных (светлых) областей изображения.

Не решена.

5. Сильный эффект HiRaLoAm (high radius low amount) повышения резкости, совершенно не нужный на данном этапе обработки.

Не решена.
Это хорошо видно по правому переднему колесу.

При этом появилась еще одна проблема: скорость работы. Нельзя сказать, что она упала очень сильно, но ручная реализация «стероида» явно требует большего времени, чем простой вызов Shadows/Highlights.

Что можем сделать мы?

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



Область светов является светлой во всех трех каналах одновременно. Мы можем выделить ее, сложив Red, Green и Blue в режиме Darken. Забрасываем содержимое соответствующих каналов исходного изображения на отдельные слои (Blue_Channel, Green_Channel_Darken, Red_Channel_Darken) и задаем двум верхним режим наложения Darken.



Область теней хорошо выделяется в черном канале CMYK. Так как в дальнейшем мы будем размывать заготовку, точный выбор профиля CMYK для получения черного канала не имеет критически важного значения. Создаем копию изображения (Image\Duplicate…), переводим ее в CMYK (Image\Mode\CMYK) и перебрасываем содержимое черного канала на новый слой исходного изображения.



Наложив на средне-серую плашку ранее смешанные RGB каналы в режиме Lighten, а черный канал в режиме Darken, получаем искомую заготовку. Для этого создаем непосредственно над слоем с исходной картинкой слой-заливку цвета 128/128/128. Слои Blue_Channel, Green_Channel_Darken и Red_Channel_Darken объединяем в группу (можно просто слить их, здесь они оставлены в иллюстративных целях). Задаем этой группе режим наложения Lighten, а слою, содержащему черный канал (Black_Channel) - режим наложения Darken.



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

Теперь рассмотрим проблемы, порождаемые ореолами. Само по себе появление ореолов неизбежно, но можно попытаться ослабить их сильное визуальное проявление (четвертая, пятая и частично третья проблемы). Оно связано с тем, что при вытягивании теней осветление достаточно сильно воздействует не только на темную область, но и на ее светлое окружение. Естественно, мы не можем исключить это воздействие, иначе начнет падать локальный контраст. Но представляется разумным подобрать алгоритм, в меньшей степени осветляющий светлые области при том же осветлении темных. Или (что тоже самое) сильнее осветляющий тени при том же воздействии на средние тона и света. Для решения проблемы в светах рассуждения аналогичны.



На изображения палитры Curves красным цветом показано воздействие, аналогичное наложению на картинку плашек с тоном 192 (верхняя кривая) и 64 (нижняя кривая) в режиме Overlay. Синим цветом показано воздействие, аналогичное наложению на картинку белой (верхняя кривая) и черной (нижняя кривая) плашек в режиме Soft Light. Хорошо заметно, какой выигрыш дает Soft Light в осветлении теней при том же воздействии на света.

Для вытягивания светов Overlay выглядит немного предпочтительнее за счет меньшего затемнения теневых областей. При желании можно разделить «стероид» на два слоя, используя Soft Light для решения проблем теней и Overlay для решения проблем светов. При этом можно будет задавать разные радиусы размытия заготовок, что тоже приятно. Пока такой шаг представляется излишним усложнением (но вы можете поэкспериментировать самостоятельно), поэтому остановимся на режиме наложения Soft Light.



Так как «в среднем по больнице» Soft Light воздействует примерно в два раза слабее, чем Overlay, перед наложением заготовку необходимо сделать максимально контрастной, сохранив при этом положение средней точки (128). Делаем это при помощи корректирующего слоя кривых (Curves_Inverted_W&B_Points), заодно инвертировав заготовку для наложения.



Объединяем смарт-объект и корректирующий слой в группу. Задаем ей режим наложения Soft Light. Поверх нее помещаем два слоя с исходным изображением в режимах Darken и Lighten. Увеличение их непрозрачности будет ослаблять вносимые стероидом осветления и затемнения. При желании можно более тонко отрегулировать воздействия, изменяя кривую в слое Curves_Inverted_W&B_Points. На иллюстрации приведено максимальное воздействие нашего «продвинутого стероида».

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



Исходное изображение.



Shadows/Highlights



«Стероид» Дэна Маргулиса



«Продвинутый стероид»

Плюсы формализации

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

По окончанию работы экшена нам останется только:

1) поправить радиус размытия заготовки, если необходимо;
2) выставить черную и белую точки на корректирующем слое кривых, повышающем контраст «стероида» (к сожалению, это операция не поддается автоматизации);
3) отрегулировать степень осветления и затемнения за счет непрозрачности двух верхних слоев.

Вы можете записать такой экшен самостоятельно или использовать созданный мной, скачав его по ссылке в начале статьи.



Результатом работы экшена является показанная на иллюстрациях послойная структура. Заготовка для наложения формируется в двух копиях файла (чтобы избежать зависимости от слоистости начального файла) и помещается внутрь смарт-объекта Steroid уже в схлопнутом виде. Gaussian Blur применен как смарт-фильтр с радиусом 50, при необходимости его можно изменить.

После подстройки радиуса размытия (или, если таковая не потребовалась, просто по завершении работы экшена) необходимо открыть корректирующий слой Steroid_Higher_Contrast и подтянуть крайние точки кривой к краям гистограммы. Слоям Shadows и Highlights задана непрозрачность 50%. Изменяя ее, можно регулировать степень воздействия на тени и света (чем меньше непрозрачность, тем сильнее воздействие).

Экшен не нарушает существующую послойную структуру рабочего файла. Перед запуском необходимо выбрать слой, над которым будет создан стероид. Для создания заготовки стероида и заполнения слоев Shadows и Highlights используется текущая версия изображения, поэтому видимость вышележащих слоев необходимо отключить. Лежащие выше стероида корректирующие слои сохраняются и могут быть включены по окончании работы экшена.

При проверке работоспособности выяснились две проблемы. Первая: иногда экшен включает в группу Steroid нижележащие слои. Можно просто открыть эту группу и вернуть слои на место. Вторая: иногда экшен прерывается при нескольких открытых файлах. Мне было не интересно заниматься их устранением, поэтому предлагаю вам просто обрабатывать файлы по одному. Или, если есть желание, написать собственный экшен.

Несколько замечаний под занавес

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

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

Если проблема стала заметна только после съемки, но у вас есть RAW-файл, можно попробовать решить ее на этапе конвертации. Начиная от простого использования движков Recovery и Fill Light, продолжая конвертацией с разными установками экспозиции с последующей сборкой «псевдо-HDR» (в данном случае речь не идет о расширении динамического диапазона, просто задействуются возможности тонмэпинга специализированных программ), заканчивая разбиранием RAW-файла на отдельные каналы и сращиванием из них заготовки для Luminosity-наложения.

Если RAW-исходника нет, можно получить недо- и переэкспонированные варианты, конвертировав изображение к профилю RGB с измененной гаммой, а потом срастить разные варианты, используя маски. Можно, наконец, просто применить Shadows/Highlights. Инструмент - не главное. Главное - это понимание вами существующих проблем и методов их решения. Обработка должна быть осмысленной.

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

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

Для коммерческого использования или перепечатки с внесением изменений необходимо согласование с автором. Связаться со мной можно по электронной почте zhur74@livejournal.com

© Андрей Журавлев (aka zhur74), октябрь 2010 г.
Первая публикация http://zhur74.livejournal.com/4986.html

action, Инструменты Photoshop, shadow/highlight, Теория, overlay, lighten, soft light, darken, Практика

Previous post Next post
Up