?

Log in

Previous Entry | Next Entry

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




Дальнейшее развитие фильтра Unsharp Mask, дополнительно включающее в себя возможность раздельного управления темными и светлыми областями наложения ореолов прямо на этапе маскирования. Имеет два варианта работы: Basic — активен только основной раздел установки параметров нерезкого маскирования; Advanced — основной раздел превращается в закладку Sharpen и появляются две дополнительных закладки Shadow и Highlight для управления ореолами в тенях и светах соответственно. Рассмотрим работу фильтра в режиме Advanced.

Будьте осторожны!
Если вы поменяете настройки в режиме Advanced, фильтр будет использовать эти измененные настройки даже после возврата в режим Basic!


Закладка Sharpen

Параметры Amount и Radius полностью аналогичны соответствующим параметрам фильтра Unsharp Mask, а дальше начинаются странности (вполне возможно, «маркетингового» характера). К большому сожалению, разработчики исключили регулировку Threshold. Нельзя сказать, что она являлась ключевой в работе фильтра и без нее совсем нельзя обойтись. Но Threshold позволяет уменьшить появление артефактов (иногда весьма существенно) и разумных причин отказа от нее я найти не могу.

Следующая настройка по недоразумению названа Remove, хотя нерезкое маскирование ничего не удаляет (маркетинговый ход, рассчитанный на людей, не знакомых с алгоритмом нерезкого маскирования и полагающих, что фильтр удаляет один из видов существующей в изображении нерезкости). Правильно было бы назвать данный параметр «Алгоритм создания нерезкой маски» (нерезкого позитива, используемого в фотографическом процессе нерезкого маскирования). На выбор предлагается три варианта: Gaussian Blur, Lens Blur и Motion Blur.

196.92 КБ

Gaussian Blur — режим полностью аналогичен Unsharp Mask.

Lens Blur дает меньшее размытие картинки при том же значении параметра Radius, чем Gaussian Blur. Примерно одинаковая визуальная степень размытия обеспечивается при значении Radius у Lens Blur в 1,7 раза больше чем у Gaussian Blur. Именно этим объясняется распространенное мнение, что выбор Lens Blur дает «более деликатное» усиление резкости, чем выбор Gaussian Blur — просто их сравнивают при одинаковых установках Radius, то есть, в неравных условиях. Справедливости ради надо заметить, что эти алгоритмы размытия отличаются не только силой воздействия, поэтому обработанные с их помощью картинки будут отличаться даже при согласовании значений Radius.

Но эти отличия настолько невелики, что заметить их на картинке (без применения специальных поисковых приемов с наложением слоев в режиме Difference и значительным усилением результата) можно только при таких больших значениях Radius (порядка 10 и больше), что все рассуждения о «деликатности» становятся неуместны. Кроме того, зависимость яркости ореола от расстояния до контрастного контура для этих режимов разная. Поэтому при одинаковой «математической» ширине их «визуальная» ширина воспринимается по-разному. Видимо, этим вызваны мои расхождения со skitalets-1961 в оценке коэффициента пересчета между фильтрами.


Дополнение от skitalets-1961

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

Эмпирически вычисленный коэффициент равен приблизительно 2,5. То есть, если у вас в режиме Gaussian Blur стоял радиус 10, то для того, чтобы получить ту же ширину ореолов, в режиме Lens Blur значение радиуса нужно выставить равным 25. Очень похоже на величину полной ширины ореола по сравнению с установленным значением параметра радиус в фильтре Unsharp Mask, о чем мы говорили выше (см. предыдущее дополнение от skitalets-1961). Таким образом, получается, что в режиме Lens Blur значение параметра радиус соответствует истинной ширине ореола. Вот теперь давайте и сравним получившиеся картинки…

… Здесь радиус в режиме Gaussian Blur был подобран таким образом, чтобы субъективно интенсивность ореола была такой же, как и в режиме Lens Blur с радиусом 2. Поэкспериментировав, можно убедиться, что радиус будет меньше не в 2,5 раза, а в полтора-два. И в случае узких ореолов разница практически незаметна».


Motion Blur производит размытие вдоль направления, которое задается параметром Angle (для наглядности рядом нарисован кружок с соответствующей линией). Зная алгоритм нерезкого маскирования, легко предсказать его результат при использовании Motion Blur. Усиление резкости не будет происходить у контуров, параллельных направлению воздействия Motion Blur, будет возрастать при отклонении от этого направления и достигнет максимума для контуров, перпендикулярных ему.

Это может быть использовано для борьбы со смазыванием кадра из-за дрожания рук фотографа (весьма и весьма ограниченно в силу нелинейности самой «шевеленки»); для предотвращения усиления дефектов отсканированного оригинала (направление Motion Blur должно быть перпендикулярно направлению движения сканирующей головки); для предотвращения появления муара на изображениях с периодическими текстурами; при реализации метода «hiraloam» для согласования направлений эффекта и освещения сцены; просто так, потому что вам этого захотелось.

Ключ More Accurate (а особенно его название) для меня вообще остался загадкой. Ни в одном описании (даже собственной справке Photoshop) я не нашел вменяемого описания алгоритма и результата его работы. Детский лепет про «все делает лучше и аккуратнее» в расчет не принимается. Название «более точно (аккуратно)», видимо, должно подсказать пользователю, что поиск контрастных переходов и усиление резкости будут происходить именно так, и подвигнуть его к активному использованию этой опции.

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


Дополнение от skitalets-1961

«Основное, в чем я с Вами категорически не согласен, это флажок More Accurate. Это попытка Adobe интегрировать в фильтр алгоритмы деконвуляции (deconvulation). При использовании этого метода, происходит попытка восстановления утраченного фокуса изображения в результате дрожания/колебаний (convulation) и неправильной фокусировки чисто математическим путем.

Включение этого флажка создает инверсные пары вторичных ореолов вокруг первичных. И при размытиях контуров до 0,5 пикселя эта функция восстанавливает контур практически полностью. При больших размытиях — чуть хуже. Использование этого флажка в режиме Gaussian Blur малопригодно. А вот в сочетании с режимом Lens Blur дает очень неплохие результаты. Главное: точно подобрать радиус. Иначе будет, как Вы писали, только повышение шума.При правильно же подобранном радиусе результаты весьма неплохи.

… Хотя, разработчикам еще имеет смысл поучиться у конкурентов и серьезно поработать над внедренными математическими алгоритмами деконвуляции».


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


Закладка Shadow

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

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

Алгоритм формирования области ослабления ореолов (фактически — маски, через которую осуществляется ослабление) и набор настроек аналогичен инструменту Shadow/Highlight: маска формируется из финальной картинки на основании значения параметра Tonal Width, а потом размывается в соответствии со значением параметра Radius. Управление осуществляется тремя движками: Fade Amount, Tonal Width и Radius.

190.83 КБ

Fade Amount определяет степень ослабления ореолов в темных областях.

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

Radius определяет степень размытия маски, через которую осуществляется ослабление ореолов.


Закладка Highlight

Все параметры точно такие же, как в закладке Shadow. Их действие аналогично, только отсчет идет от чистого белого и распространяется оно на области, ставшие после наложения ореолов светлыми. Для полного удаления эффекта нерезкого маскирования необходимо задать максимальное ослабление (Fade Amount =100%, Tonal Width=100%) для темных и светлых областей одновременно.

Замечание. Расссказ об алгоритме работы Shadow/Highlight и дополнительных изысканиях на эту тему можно будет прочесть в ноябре.


Дополнения и комментарии по работе фильтра

Из описанного выше алгоритма работы фильтра Smart Sharpen видно, что он не является адекватной заменой «шаманского танца» со слоями в режимах наложения Darken и Lighten и не обеспечивает раздельного управления затемняющими и осветляющими ореолами.

Он решает более узкую проблему — предотвращает появление пробойных областей (до черного на темных и до белого на светлых участках изображения) в зоне ореолов нерезкого маскирования. Эту же проблему давно и элегантно решил Брюс Фрейзер, применяя нерезкое маскирование на отдельном слое и задавая ему показанные ниже настройки Blend If (привожу по памяти, если интересно, точное положение движков можно посмотреть в его книге «Усиление резкости фотографий в Adobe Photoshop»).

28.09 КБ

А при использовании фильтра High Pass и режима наложения Overlay эта проблема вообще решается автоматически за счет алгоритма Overlay-наложения.


Почему я считаю Smart Sharpen трижды бестолковым.

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

Во-вторых. К этому фильтру (как и ко многим другим инструментам Photoshop) до сих пор нет нормального описания. Соответственно, в головах большинства пользователей нет нормального понимания алгоритма его работы. Как следствие, широко распространившаяся эйфория и приписывание Smart Sharpen возможностей, которых он реально не имеет (см. во-первых).

В-третьих. Общее успокоенность Adobe на тему реальных улучшений инструментов искусственного повышения резкости. А чего суетиться? Новый инструмент сделали! Резкость теперь «умная»! Какие еще претензии?

Столько лет применения USM, наработки опыта, создание пользователями (в том числе и близкими к команде разработчиков Adobe) различных методик и все псу под хвост. Получился Smart Sharpen.

Поэтому и приходится шаманить с USM, о чем мы уже говорили, или с High Pass, о чем поговорим в следующий раз.


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

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

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

© Андрей Журавлев (aka zhur74), ноябрь 2008 г.
Редакция вторая (октябрь 2010 г.) переработанная и дополненная.
Первая публикация http://www.microstock.ru/forum/showthread.php?t=3499


Comments

( 15 comments — Leave a comment )
donna_laura
Oct. 22nd, 2010 09:37 am (UTC)
Андрей, спасибо!!
vonapgres
Oct. 22nd, 2010 10:09 am (UTC)
Читаю с интересом, хотя процентов 90 и так знал :)
zhur74
Oct. 22nd, 2010 10:13 am (UTC)
С большим интересом прочитал бы список оставшихся 10% :-)
vonapgres
Oct. 22nd, 2010 10:18 am (UTC)
Не так чётко понимал Threshold в уншармаске и адвенсед режим в смарт шарпе :)
asakharov
Oct. 22nd, 2010 07:58 pm (UTC)
Про "псу под хвост" - это слишком резко :-)
Никто не отменял PhotoKit Sharpener.
Там наработки Брюса и его команды хорошо реализованы.

А еще есть модуль повышения резкости в ACR - Lr. Их тоже, на сколько я знаю, по алгоритмам Брюса делали.
zhur74
Oct. 24th, 2010 12:33 am (UTC)
Я говорил про Adobe, а там реально псу под хвост.

Основное наследие Фрейзера (насколько я понял) не алгоритмы, а огромная база по соотношению визуального результата и размеров ореолов для различных случаев получения и воспроизведения изображения. То есть, вещь нужная, но сильно технологическая. К основному шарпу "по содержимому" не особенно применимая.
blandger
Oct. 23rd, 2010 07:23 am (UTC)
Умный Unsharp Mask
Умный Unsharp Mask, автора modest_ossipoff
http://community.livejournal.com/ru_photoshop/1973851.html

надеюсь что статья методы, будет интересна для ваших изысканий.
zhur74
Oct. 24th, 2010 12:35 am (UTC)
Re: Умный Unsharp Mask
Спасибо, я эту статью уже видел. Прием бородатый.

Собственно, изыскания мои закончились уже года полтора как. Сейчас больше увлекают другие задачи.
killabook
Oct. 23rd, 2010 12:16 pm (UTC)
У меня появился вопрос, перечисляя недостатки фильтра Smart Sharpen Вы пишите "Решение проблемы пробоев — это хорошо, но фильтр по прежнему не обеспечивает раздельного управления темными и светлыми ореолами (не говоря уже про более интересные вещи)".

А что за эти "интересные вещи". Ну, кроме отдельной регулировки яркостью светлых и темных участков при увеличении резкости, больше в голову то ничего не приходит. Сформулирую вопрос иначе. Какими настройками должен обладать идеальный фильтр резкости?
zhur74
Oct. 24th, 2010 12:37 am (UTC)
Идеальный — никаким. Только одна кнопка, нажал и все стало по настоящиму резко.

А про интересные вещи я вскорости напишу.
hddn
Aug. 5th, 2011 03:38 pm (UTC)
а какие дефолтные настройки этого фильтра? меня default явно не является таковым, как-то умудрился сбить.
spartanus
Nov. 27th, 2011 08:17 am (UTC)
Нет никакой "deconvulation" / "деконвуляции". :))

Есть "deconvolution" - "деконволюция" или, по-русски, "обратная свёртка". Похоже, skitalets-1961 здесь слишком умно захотел выразиться...

См. напр. http://en.wikipedia.org/wiki/Deconvolution :

In optics and imaging, the term "deconvolution" is specifically used to refer to the process of reversing the optical distortion that takes place in an optical microscope, electron microscope, telescope, or other imaging instrument, thus creating clearer images. It is usually done in the digital domain by a software algorithm, as part of a suite of microscope image processing techniques. Deconvolution is also practical to sharpen images that suffer from fast motion or jiggles during capturing.
zhur74
Nov. 30th, 2011 12:11 am (UTC)
Меня больше заинтересовала первая часть высказывания скитальца, а про "деконвуляцию" я оставил за компанию, как констатацию факта: столько времени прошло, а ничего путного адобом не сделано.

А что касается обратной свертки, если я правильно понял, именно на ней строится их последняя заманиха с убиранием шевеленки?
spartanus
Nov. 30th, 2011 04:14 am (UTC)
Насколько я понимаю, да.

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

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

Честно говоря, даже странно, что такую давно известную методику Adobe раньше не включила в Фотошоп. Хотя понятно, что Adobe приходится сложнее - их публика это фотографы, а не астрономы, сейсмологи и прочие программисты и математики. Первым не всегда объяснишь, что у методов есть границы применения и что они не дают идеального восстановления. Для целевой аудитории Adobe это ведь выглядит так: в Фотошопе появилась новая магическая/умная кнопка или фильтр. "Так, а чё это у Джона она работает, а на моей фотографии не работает? Фу, Adobe выпустили какую-то фигню." То есть чтобы Adobe что-то выпустить, это что-то должно очень хорошо работать в очень широком наборе случаев...
Mikhail Panteleev
Feb. 27th, 2012 09:53 am (UTC)
Спасибо
Спасибо за труд!!! "В ширину" многое знал, а вот так глубоко не вникал. Очень полезно.

Ремарка на тему"почему не включили":
В силу своих служебных обязанностей занимаюсь разработкой софта для низкоуровневой обработки изображений в компакт-камерах и мобилах для одной японской фирмы. Хочу сказать, что многие и многие вещи диктуются заказчиком и маркетологами. И слабо зависят от программистов. И если на какие-то инновационные решения можно убедить маркетолога (с огромным трудом!), то переубедить заказчика НЕВОЗМОЖНО! Если заказчик хочет "дикий" перешарп - это его право, он за это платит. (((
( 15 comments — Leave a comment )

Profile

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

Latest Month

January 2017
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
Powered by LiveJournal.com
Designed by Lilia Ahner