?

Log in

No account? Create an account

Previous Entry | Next Entry

За прошедшее после публикации первой статьи время в сети появилось приличное количество материалов на эту тему.



Кто-то просто перепечатал мою статью.

Кто-то написал сам, пытаясь объяснить проще и понятнее чем я:
http://live13.livejournal.com/202975.html
http://telesh.livejournal.com/4516.html

Кто-то включил этот прием в более комплексную последовательность обработки:
http://podakuni.livejournal.com/600689.html#cutid1
http://www.computerarts.co.uk/tutorials/retouch-images-frequency-separation

Кто-то записал бесплатное видео:
http://www.biosigner.net/?p=66
http://eugenekartashov.com/video/videotutorialps/16-videourok-bystraya-retush-kozhi.html

А кто-то проводит на эту тему платные семинары:
http://www.mywed.ru/forum/news/view/15890/
http://www.photo-eclipse.ru/masterclass.html

И даже выпускает учебные диски:
http://eugenekartashov.com/video/videocourses/12-videokurs-photoshop-dlya-fotografa.html

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

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

Тем не менее, мне приятно сознавать, что во многом благодаря моим усилиям этот прием покинул маленькое болото профессиональных ретушеров и пошел в массы. А предложенный Александром Миловским термин «частотное разложение» закрепился, вытеснив употребляемый не совсем к месту «wavelet».

UPD (апрель 2014):
Если данная статья покажется вам не удачной и/или не очень подробной, или вы просто предпочитаете «посмотреть», а не «почитать», предлагаю ознакомиться с постом «Частотное разложение. Ultimate. Конспект и видео». В нем представлен конспект одноименного онлайн мастер-класса и видеозапись МК (общей продолжительностью 5 часов 13 минут), нарезанная на части соответствующие разделам конспекта.


В прошлой статье я привел ссылку на форум сайта www.modelmayhem.com и пост с милым названием «HighPass курит взатяг (+решение)», содеражащий описание альтернативной методики. А так же свою оценку, что все это глупости и результат будет одинаковый. Большинство читателей попались на удочку «авторитетности» автора и не пошли спорить в комментарии. Но нашелся человек, который не поленился проверить и опровергнуть мое утверждение.

Благодаря nikitos_r и его посту «О частотном разложении» мы можем более подробно разобраться: в чем состоит проблема High Pass, насколько она велика и стоит ли ее бояться.

HighPass_Sucks_XL



Давайте я вкратце напомню о чем идет речь.

High Pass выполняет очень простую операцию: находит разницу яркости исходной и размытой по гауссу картинок и показывает ее в виде отклонения яркости от средней (тон 128). Если исходник светлее размытой версии — результат будет светлее средне-серого, если исходник темнее — и результат темнее средне серого. Мы получаем средне-серое изображение в области однотонных полей исходника с ореолами вдоль его контрастных контуров. При работе с цветным изображением эта операция выполняется для каждого канала в отдельности.

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

В качестве альтернативы High Pass надо:

  • 1. cделать две копии слоя с исходным изображением

  • 2. применить к нижней Gaussian Blur с желаемым радиусом

  • 3. к верхнему слою применить команду Apply Image, выбрав в качестве накладываемого изображения размытый слой, режим наложения — Subtract, в поле Offset ввести 128, в поле Scale ввести 2.


Apply_Image

В режиме Subtract из яркости исходника вычитается яркость размытой версии (находится разница между ними с учетом знака). При помощи поля Offset задается средняя яркость финальной картинки вокруг которой будут плясать ореолы. Поле Scale позволяет отдать команду сразу разделить разницу яркости пополам.

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

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

Pattern_1

При размытии яркость на границе усреднится, таким образом ее отклонение от исходной будет не больше чем половина перепада яркости на границе. То есть меньше 128. Основное условие в данном случае — размер полей. Он должен быть достаточно большим по сравнению с радиусом размытия, чтобы соседние (находящиеся «за спиной») участки не оказали влияния на яркость размытой области.

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

Pattern_2

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

Pattern_3

Их ширина (10 px) существенно ниже радиуса размытия (50 px), поэтому после размытия они просто исчезнут. А вот как выглядят вычисления ВЧ составляющей. Вверху вычитание размытой картинки из исходной при помощи Apply Image, внизу применение у исходному изображению High Pass и поснижение контраста в два раза относительно среднего тона.

Pattern_4

Apply Image сработал правильно, а High Pass действительно покурил взатяг. Таким образом, High Pass лажает когда малый по сравнению с радиусом размытия участок окружен областью отличающейся от него по яркости более чем на 128 тоновых уровней.

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

HighPass_Sucks_Movie

Давайте подсчитывать убытки.

То, что High Pass ошибается, конечно плохо. Но, не надо забывать, что показанная здесь разница здорово усилена. При взгляде на обычную картинку (без промигивания), а тем более на отпечаток разглядеть ее будет практически невозможно. Для желающих самостоятельно все проверить я выложил послойный файл (14,9 мБ) в котором оба метода реализованы с тремя радиусами: 3, 5 и 10 пикселей.

При использовании малых радиусов (3-5 пикселей) характерных для отделения фактуры кожи, различия настолько малы, что ими можно принебречь. Более того, легкое «гашение» маленьких бликов автоматически защитит вас от пробоев и упреков: «А вот там у вас есть три пикселя выбитые в 255».

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

Исходя из написанного выше я считаю, что High Pass более удобен в работе, особенно для начинающих. Для более опытных пользователей, не испытывающих трудностей с быстрым подбором радиуса, можно смело рекомендовать метод вычитания размытой копии из исходного изображения при помощи команды Apply Image. Тем более, что все рутинные операции можно записать в экшен. Правда, в процессе его работы вам необходимо будет задать радиус размытия.

Если вам лень писать самостоятельно, можете перейти в статью «Частотное разложение Ultimate. Конспект плюс видео» и скачать набор из четырех экшенов по ссылке в начале статьи.

P.S.
Выяснилось, что у пользователей GIMP таже проблема. Но мы теперь можем вздохнуть с облегчением и сказать: "Ну, у нас-то все в порядке!" А они не могут. Кстати, мужики то (читай Журавлев и пр.) знали, им просто писать было некогда. :-)

UPD. На редкость элегантное и просто решение данной проблемы предложил Евгений Карташов. Применить кривую понижающую в два раза контраст ДО применения High Pass.


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

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

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

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

Comments

brobdingneg
Nov. 14th, 2011 01:07 pm (UTC)
Понимаете, основная проблема частотного разложения совсем не та, о которой вы написали. Три выбитых пикселя - это чушь по сравнению с тем, что после обработки кожи этим методом кожа становится как будто наждаком тертая. Я так понимаю, это происходит из-да того, что во время обработки верхних частот, каким-то образом все-таки обрезаются и нижние, из-за чего в итоге кожа становится гладкой, и на первый взгляд выглядит очень даже хорошо. Но потом, когда начинаешь сравнивать с работами западных бьюти-ретушеров, видно, что гладкости кожи нет. Что-то происходит с порами, и они становятся более жесткими. Не могу решить эту проблему уже больше полугода бьюсь
zhur74
Nov. 14th, 2011 02:12 pm (UTC)
Я описал техническую проблему свойственную конкретному интсрументу. То о чем говорите вы — это не проблема метода, а проблема конкретного его применения. На пальцах мы можем друг друга не понять, если покажите примеры картинок, я мог бы попробовать вам помочь.
brobdingneg
Nov. 14th, 2011 02:45 pm (UTC)
я сделаю кроп ретуши и покажу вам. очень интересно что вы скажете )
oleg_ivanenko
Nov. 14th, 2011 02:28 pm (UTC)
само разложение работает с попиксельной точностью. вот после коррекции составляющих начинаются проблемы в том числе и те, которые Вы описываете. дело не в методе, дело в том, как его используют.
ven_digo
Nov. 14th, 2011 04:41 pm (UTC)
Кажется я понимаю о чем вы говорите. Дело действительно в том как используется "Частотное разложение" и понимание того что оно делает.

Следите за руками:
1. Вы раскладываете кожу на две составляющие: мелкие детали + крупные детали.

2. Крупные детали так или иначе выравниваете.

3. Мелкие (текстуру кожи) не трогаете.

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

Для Hi End ретуши, нужно так же убирать дефекты со высокочастотного слоя или же не пользоваться частотным разложением вообще.

Иллюстрация, что происходит с мелкими дефектами кожи при их разложении и удалении только с низкочастотного слоя:

brobdingneg
Nov. 14th, 2011 05:04 pm (UTC)
Не совсем так. Подвох кроется в слове "дефекты". На самом деле человеческая кожа неравномерно яркая на очень многих уровнях детализации. Это легко можно увидеть, делаю размытие по Гауссу с разными вариантами пикселизации. На уровне в 5 пикселей будет один рисунок неравномерности, на 10 пикселях - другой уровень неравномерности. Задача ретушера, свести большинство уровней неравномерности в равномерность, оставив лишь только мелкосруктурную неравномерность - 2-3 пикселя. Hi-End ретушь решает эту проблему очень просто с технологической точки зрения, но очень сложно с практической. Вручную осветляют и затемняют все уровни, на что уходит от 10 часов и больше на одну фотографию. Частотное разложение позволяет решить эту проблему быстрее, всего за час-полтора, разгладив любой уровень неравномерности, но проблема в том, что качество исходного материала очень сильно отличается. Даже, как вы говорите, править и низкочастотный слой. Дефекты уходят, но кожа выглядит ненатурально
ven_digo
Nov. 14th, 2011 07:04 pm (UTC)
"Подвох кроется в слове "дефекты". " Это терминологический спор. В данном случае под словом "дефекты" я подразумевал все отличии реальной кожи от идеально отретушированной. Т.е. все что хочется убрать.

Т.е. если взять идеальную Hi-End ретушь и вычесть ее из исходника, то все что останется это наши "дефекты". Можно назвать это "неравномерностями яркости" суть от этого не изменится.

"но проблема в том, что качество исходного материала очень сильно отличается" Так оно и при ручной Hi-End ретуши может быть любым.

"Дефекты уходят, но кожа выглядит ненатурально" отчасти потому что в одних частотах кожа сильно выровнена, а в других осталась почти как есть.

Но все же ваше исходное замечание "после обработки кожи этим методом кожа становится как будто наждаком тертая" я думаю объясняется именно тем эффектом который я привел на картинке.

Сравните как изменились самое маленькое пятнышко и большое пятно. Большое почти исчезло (в сравнении с оригиналом). А маленькое в сравнении с оригиналом подчеркнулось, появившимся ореолом.
zhur74
Nov. 14th, 2011 09:13 pm (UTC)
Я понял о чем вы.
ven_digo прав: «"Дефекты уходят, но кожа выглядит ненатурально" отчасти потому что в одних частотах кожа сильно выровнена, а в других осталась почти как есть.»

Главная неприятность — это "...в одних частотах сильно выровнена..."

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

Лучший способ нарваться на такую неприятность, это воспользоваться приведенным выше momentextractor рецептом: http://zhur74.livejournal.com/26003.html?thread=315539#t315539

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

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

Подробнее сейчас написать не смогу. Я об этом на семинаре рассказываю, а попозже постараюсь отдельную статью написать.

(Deleted comment)
zhur74
Nov. 15th, 2011 08:50 am (UTC)
Это не наезд.

brobdingneg запросил метод избавления от среднеразмерной неравномерности, ты описал совершенно правильный метод для "придания полной равномерности" (вырубания полосы частот).

Проблема не в методе а в изначальном посыле — именно такой подход дает эффект отщкуренной кожи.
(Deleted comment)
zhur74
Nov. 15th, 2011 10:03 am (UTC)
"...отхуесатурейшив цветопробу пипеткой по скинтонам..."

Фраза дня!

Кстати, ты что в эти выходные делаешь?
totally_psyched
Mar. 3rd, 2012 12:05 am (UTC)
>Подробнее сейчас написать не смогу. Я об этом на семинаре
>рассказываю, а попозже постараюсь отдельную статью написать.

Я пропустил её или всё ещё не дошли руки? :)
zhur74
Mar. 3rd, 2012 08:55 am (UTC)
Еще не дошли.

Profile

zhur74
zhur74
Андрей Журавлев

Latest Month

June 2018
S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930

Page Summary

Powered by LiveJournal.com
Designed by Lilia Ahner