четверг, мая 26, 2011

Обработка портрета в Gimp 2 или Конкурс у podakuni

Пролог

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


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


Примечание: при нажатии на любую картинку откроется ее полноразмерная версия в формате JPEG.


Дополнительные материалы:

Этапы обработки

  1. RAW-конвертация

    Я перепробовал много разных RAW-конверторов работающих под Linux и пока остановился на darktable. Вот как выглядит конкурсная фотография в этом конвертере "с нуля" без каких-бы то ни было обработок:


    Я увеличил экспозицию чуть больше чем на 1 EV, убрал с помощью lensfun плагина искажения вносимые объективом(в том числе хроматические аберрации), выставил по вкусу баланс белого и экспортировал в 8-битный PNG файл для дальнейшей обработки в GIMP. К сожалению, у меня не было цветового профиля для того фотоаппарата(Canon EOS-1D Mark III), которым была сделана фотография, да и, честно говоря, не было времени его искать, поэтому при конвертации использовался некий "стандартный" цветовой профиль darktable. Я решил, что в наше время, когда многие мои коллеги-фотографы намеренно пренебрегают достоверностью цветопередачи в угоду собственному "видению", подобная фривольность с моей стороны допустима.
  2. Геометрия

    Итак, у меня есть экспортированный из darktable PNG-файл. Загружаю его в GIMP, обрезаю его и поворачиваю примерно на пол-градуса против часовой стрелки пытаясь добиться того, чтобы:
    • светлая зона обнаженного плеча, кончик носа и правый глаз модели были на одной линии и эта линия стремилась к диагонали кадра;
    • зрачки были на одной линии;
    • глаза находились на границе верхней и средней горизонтальных третей;
    • три составляющие(левое голое плечо, правое "одетое" плечо и середина) на которые визуально делится нижняя часть портрета были расположены пропорционально в разных вертикальных третях.
    Муки выбора варианта кадрирования достаточно сильно облегчаются уменьшением картинки примерно до четырех видимых(то есть тех, которые мы видим на экране) сантиметров. Чем меньше картинка, тем больше мы обращаем внимания на формы в целом, а не на нюансы. Вот что у меня получилось в итоге(слой 0-rotate_crop):

  3. Убираю одежду

    Мне не нравится оставшийся клочок ткани на левой руке и небольшой кусочек фона в районе правого плеча. Ретуширую их инструментом Clone Tool на дополнительном слое 0-clone_retouch и копирую итоговое изображение в слой 0-result:

  4. Убираю цветной шум

    Для того, чтобы убрать исключительно цветной шум не затронув яркостную составляющую я:
    • раскладываю фотографию на каналы LAB: Colors->Components->Decompose..., в выпадающем списке выбираю LAB, все остальные настройки оставляю по умолчанию;
    • В сгенерированном новом изображении применяю фильтр Filters->Blur->Selective Gaussian Blur... с разными настройками для каналов 'a' и 'b' не затрагивая канал 'L'. Фильтр Selective Gaussian Blur я применяю потому, что при его использовании не затрагиваются контрастные, "резкие" участки изображения(в нашем случае формируемые исключительно разницей в цвете, но не яркости), а размываются только однородные участки. Это делается для того, чтобы избежать цветовых искажений на таких "резких" участках;
    • Собираю изображение: Colors->Components->Сompose..., в выпадающем списке выбираю LAB, все остальные настройки оставляю по умолчанию;
    • Получившееся в результате новое изображение копирую как новый верхний слой 1-lab_denoise в основное изображение. Два ставших ненужными изображения(разобранное в Lab и собранное обратно в RGB) закрываем не сохраняя.
    Результат(на картинку можно не кликать — изменения не настолько существенны для понимания подхода):

  5. Повышаю резкость

    Копирую верхний слой и к получившейся копии(1-wv_sharp) применяю фильтр Wavelet sharpen: Filters->Enhance->Wavelet sharpen.... В терминах photoshop этот плагин применяет Unsharp Mask к результату работы High Pass и полученный результат применяет обратно к фотографии. То есть "шарпятся" только верхнечастотные составляющие фотографии с настраиваемой силой "шарпа" и настраиваемой верхней частотой. Обычно я выбираю минимальную частоту(Radius=0) и достаточно сильную степень "шарпа"(Amount=2), при этом оставляя включенной по умолчанию галочку Sharpen luminance only для того, чтобы все делалось только в канале L пространства Lab. Результат работы фильтра, безусловно очень резкий, поэтому я добавляю прозрачную маску этому слою и потихоньку, аккуратно "проявляю" резкость в нужных местах и в нужной степени. В случае портрета я обычно делаю более резкими глаза, губы, волосы, кожу на центральном участке лица. Результат сложения "обесшумленного" слоя с предыдущего шага и слоя резкости я копирую в новый слой 1-result, который выглядит вот так:

  6. Ретушь кожи

    Ретушь кожи делалась по методу частотного разложения, который детально расписан в блоге Андрея Журавлева и в моем предыдущем посте про обработку портретов. Я не сторонник кардинальных изменений в фотографии, мне больше нравится некая документальность. Конкретно для этого портрета я счел веснушки не очень уместными и по возможности убрал их. Убрал также складки на шее. Модель очень фотогенична на мой взгляд, дай Бог такие внешние данные каждому. Результат обработки можно видеть на слое 2-wv_retouch:

  7. Волосы

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


    Понимая, что результат все равно неудовлетворителен и лучшего я без дорисовывания волос вручную не достигну, я решил имитировать маленькую ГРИП за счет открытой диафрагмы объектива при помощи плагина GIMP Focus blur(Filters->Blur->Fous blur...). Для более достоверного результата я создал в отдельном слое 3-focus_blur_mask маску, используя которую фильтр попытается воспроизвести "объективное" размытие. Затем я скопировал слой-результат(2-result) с предыдущего шага, назвал новый слой "3-focus_blur" и применил к нему вышеупомянутый фильтр указав ему в качестве параметра Distance Map маску в слое 3-focus_blur_mask. Вот неплохая статья описывающая работу этого фильтра. Что получилось в результате в слое 3-focus_blur:


    На мой взгляд, теперь линия волос выглядит более естественной.
  8. Губы и глаза

    Резкие блики на губах я считаю второй непростительной ошибкой визажиста. Нельзя было накладывать прозрачный блеск для губ, который мало того что создал резкие блики(это в свою очередь повлияло на замер экспозиции и на недодержку на 1 EV), но и не замаскировал неидеальность поверхности губ: какие-то белые "лоскуты" посередине нижней губы и желтый оттенок верхней губы. Попробовав что-либо сделать с самым ярким бликом на нижней губе я сдался — ничего у меня без рисования не получилось, а я, к сожалению, не художник. Поэтому я просто подправил кистью общий цвет губ на слое 3-lips_hue в режиме наложения Hue. Обесцвечивание белков глаз и усиление цвета радужки, так же кистью, я выполнил на слое 3-eye_saturation в режиме наложения Saturation. Смягчение кровеносных сосудов в белках глаз я сделал инструментом Clone Tool на новом слое 3-eye_clear. Вот как выглядит результат обработки на слое 3-result:

  9. Изменение формы

    Мне не очень понравилась форма правой щеки модели и линия трицепса справа в кадре. Я чуть-чуть скорректировал эти контуры в копии слоя 3-result, которую я назвал 4-iwarp, при помощи плагина IWarp(Filters->Distort->IWarp). Если коротко, IWarp это аналог фотошоповского liquify. Вот что получилось в итоге на слое 4-iwarp после коррекции:

  10. Запоздалая(финальная) ретушь лица

    В этот момент, ко мне в монитор заглянула супруга и указала мне на забытое мной пятно на коже под правым глазом. Скрипя зубами я опять сделал частотное разложение текущих результатов работы(слой 4-iwarp), скорректировал злополучное пятно, и, раз уж случилась такая оказия, немного скорректировал на свой вкус глазные тени в целом. Весь процесс происходил так же как и на шаге "6. Ретушь кожи" Итоговый слой 5-wv_retouch:

Эпилог

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

UPD: нашел на просторах интернета понравившуюся мне альтернативную обработку этой же фотографии

Почитайте также:

Подход к обработке одного портрета
Простое частотное разложение в GIMP
Потеря супер-контраста при частотном разложении
Ослабление цветовой составляющей цифрового шума в GIMP
Обработка портрета в Gimp или Я его слепила из того, что было

2 комментария:

Анонимный комментирует...

4. Убираю цветной шум - Делать это стоило на этапе коррекции в dt, модуль "подавление шума(по профилю)> режим вейвлеты > режим смешивания - цвет".

9. Изменение формы
Мне не очень понравилась форма правой щеки модели и линия "трицепса" - наверное имелась ввиду трапеция, трицепс относится к группе мышц рук.

Вместо частотного разложения использую расширение wawelet-decompose, принцип тот-же, но более гибкий, позволяет указывать количество слоев частот.

Спасибо за статью!

oivanenko комментирует...

"Делать это стоило на этапе коррекции в dt," -- не факт, что на момент написания статьи (2011 год все-таки) этот модуль был в dt

"наверное имелась ввиду трапеция" -- да, конечно, Вы правы, сейчас исправлю

Насчет расширения wavelet-decompose -- спасибо, я о нем знаю, даже написал свой аналог, который для моего обычного процесса больше подходит -- http://registry.gimp.org/node/25463

Спасибо за конструктивный комментарий, побольше бы таких!