ГЛАВНАЯ СТАТЬИ ШКОЛА ФОТОКЛУБ КОНКУРСЫ ПРОЕКТЫ ГАЛЕРЕЯ ССЫЛКИ ОПРОСЫ ФОРУМ ПОИСК О ПРОЕКТЕ СВЯЗАТЬСЯ



СИНДРОМ МАЛОРЕЗКОСТИ





Павел КОСЕНКО

Дайте мне лекарство от жадности.
Да побольше, побольше!


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



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

1 - такой контур был бы идеальным
2 - контур, зафиксированный фотографическим способом
3 - даже идеальный контур теряет резкость после ресайза

2. Методы лечения
Существуют различные искусственные способы повышения резкости, в основе которых лежит единый принцип: увеличение контраста на границах перепадов яркости. В английском языке соответствующие технологии и инструменты называются Unsharp Mask(ing), сокращенно USM. В русском также встречаются обозначения "контурная резкость", "маска нерезкости" и другие, но наиболее распространенный термин - нерезкое маскирование.

2.1. Почему "нерезкое маскирование"?
Почему маскирование называется нерезким, если мы говорим о повышении (а не о понижении) резкости? Действительно, на первый взгляд это слово кажется нелогичным. На самом деле в основе техники действительно лежит совмещение оригинала с его более нерезкой инвертированной копией. Эта технология была известна задолго до появления компьютеров и в химико-оптическом процессе выглядела примерно так. Черно-белый негатив через толстое стекло копируется на малоконтрасную негативную же пленку - получается нерезкий позитив. Размытия больше всего заметны там, где в оригинале резкость была максимальной, т.е. в районе контуров. Затем относительно резкий негатив и нерезкий позитив совмещают. Если проэкспонировать такой бутерброд на нормальную фотобумагу, то на фоне средне-серого отпечатка наиболее заметны будут контурные ореолы, т.к. переходы яркости вдоль контуров на негативе и нерезком позитиве различаются (если бы позитив не был размыт, этой разницы бы не было вообще и отпечаток получился равномерно серым). Для того, чтобы обеспечить фотографии нормальный контраст, печатают при нерезком маскировании не на обычной, а на высококонтрастной бумаге. Это автоматически влечет за собой и увеличение контурного контраста, таким образом итоговая картинка воспринимается более резкой. Физика процесса довольно понятно расписана по ссылкам в конце текста, а проиллюстрировать эффект нерезкого маскирования можно следующим образом.

1 - такой контур был бы идеальным
2 - реальный переход контурной яркости (негатив)
3 - контур на инвертированной копии изображения (размытый позитив)
4 - совмещение 3 и 2, печать на высококонтрасной бумаге
5 - так выглядит результат увеличения резкости в идеале

Рисунок 4 я получил так - на фоне белого слоя совместил 2 и 3 в режиме Normal и прозрачностью 50% у обоих слоев, затем слил все слои в один и повысил общий контраст микса.

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

2.2. Резкость через размытие
Парадоксально, но факт - для повышения резкости методом USM необходимо и достаточно иметь в наличии лишь инструмент Blur. Естественно, я не мог двинуться дальше, не попробовав применить теоретические знания. Итак, задача - повысить резкость исключительно с помощью фильтра Blur. Вот что у меня получилось.

1 - исходный кадр
2 - применяем Gaussian Blur
3 - смешиваем размытый слой с оригинальным в режим Difference
4 - слой с контурами накладываем на исходный кадр два раза: прямое изображение в режиме Color Dodge и инвертированное в режиме Color burn

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

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

Чтобы не путать инструмент Unsharp mask с соответствующей технологией, в рамках этого текста я буду называть его сокращенно не USM (как это делает в своей книге Маргулис), а просто UM. В терминологии Adobe это, кстати, не инструмент, а фильтр, но и это не принципиально. Хорошая новость заключается в том, что у UM всего 3 параметра.

  • Amount (Интенсивность),

  • Radius (Радиус), pixels

  • Treshold (порог), levels

Treshold определяет минимальную разницу яркости соседних областей, при которой начинает действовать UM. С увеличением его уровня Photoshop игнорирует разницу между более близкими оттенками (не действует на соответствующие области). За счет этого мы можем ограничивать действие инструмента на различные по контрасту детали. Чем ниже Treshold, тем более незаметные (как правило, более мелкие) детали затрагиваются инстументом. Radius и Amount определяют характер и силу воздействия. Чем выше Radius, тем шире контурные ореолы. Чем выше Amount, тем сильнее проявляется эффект на изображении.

Из трех приведенных параметров самый простой - Amount. Маргулис дает хороший совет регулировать его в последнюю очередь, а для начала выставить максимальным, т.е. 500%. Таким образом в процессе подбора двух других значений будет хорошо видно их действие, а уже в самом конце можно ограничить общую интенсивность эффекта.

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

Дядя Дэн определяет четыре порока USM, на борьбу с которыми мы должны направить все наше внимание:

1. Изменение цвета.
2. Слишком заметные ореолы.
3. Усиление зерна и шума.
4. Проявление нежелательных деталей.

Все четыре артефакта хорошо различимы в приведенном примере - большой синий ореол вокруг лайма, шум и царапины на зеркале. Ясное дело, в этом примере параметры UM задраны специально. Очень уж хочется наглядно увидеть побочки. Врага надо знать в лицо!

4.1. Изменение цвета
На самом деле избежать этого артефакта несложно. Для этого шарпить надо не цветовую информацию, а яркостную. Есть несколько способов, как это можно сделать:

1) Переводим изображение в цветовое пространство Lab (Image > Mode > Lab Color). Выбираем канал яркости L (Ctrl + 1). Шарпим его с помощью UM. Возвращаемся в полноцветное изображение (Ctrl + ~), затем обратно в RGB.

2) Применяем UM ко всему изображению. Затем выбираем в меню Edit > Fade... и задаем режим Mode как Luminosity. Тоже самое можно реализовать через два слоя с соответствующим перекрытием.



4.2. Слишком заметные ореолы
Этот артефакт находится на одной чаше весов с самим эффектом увеличения резкости. Картинка тем резче, чем контрастнее контуры, т.е. чем ярче ореолы. Поэтому главное здесь лекарство - не допустить передоза.

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

Несмотря на то, что в USM отсутствует возможность управлять этими процессами раздельно, это нетрудно реализовать с помощью пары дополнительных слоев. Для этого создаем две копии исходного кадра с перекрытиями Darken и Lighten и шарпим их раздельно.

Управлять параметрами и силой раздельного шарпинга можно через прозрачность слоев и параметры UM. Например, для этого примера я применил UM 300/0.3/0 для слоя darken 100% opacity и UM 500/0.2/0 для слоя lighten 47% opacity (шарп проводился в конечном размере под web).

1 - исходный кадр
2 - UM применяется ко всей картинке
3 - UM применяется раздельно к темным и светлым тонам

В результате на картинке 3 ореол вокруг головы птицы менее заметен, хотя резкость в перьях, пожалуй, не хуже, чем на картинке 2.

4.3. Зерно и шум
С зерном и шумом бороться, как ни странно, тоже довольно просто. Т.к. этот артефакт проявляется в областях с низкми разницами яркостей, то достаточно немного поднять Treshold. Например, чтобы шарп не затронул небо на картинке размером 900х600 пикселей, Treshold имеет смысл устанавливить примерно от 3 до 7.

Небольшое лирическое отступление. Если шарпинг усиляет шум, значит он есть в исходной картинке. Самое время подумать о том, как бороться с сыростью, а не плесенью. А манимуляции с Treshold'ом в общем виде всегда лучше начинать с нуля. В идеале на этом надо и остановиться.

Кроме этого, зерно и шум не всегда являются проблемой. А если так задумано, но повышать их резкость не надо? Тогда переходим к следующему разделу + еще одна хитрость описана в разделе 5.2.

4.4. Нежелательные детали
Для того, чтобы повышать резкость только там, где это требуется, можно использовать поканальный шарпинг. Маргулис призывает профессиональных корректоров работать с 10-ю цветовыми каналами RGB/CMYK/Lab.

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

Из 4-х каналов CMYK черный К здесь является самым слабым (самым светлым). Маргулис настоятельно рекомендует проверить любое изображение на предмет слабого канала и, если такой есть, не упустить возможность приподнять в нем резкость. Гуру фотошопинга призывает - даже если резкость уже была поднята во всем изображении, повысить её дополнительно в слабом канале не будет вредно. Шарпинга в самых темных каналах же, наоборот, он рекомендует избегать, т.к. в них содержится максимальное кол-во мелких деталей, в т.ч. нежелательных. В общем, есть о чем поспорить, однако есть и о чем подумать.

После шарпинга в одном из цветовых каналов (все, кроме K и L) увеличивается вероятность получения цветных ореолов. Избежать этого способом, описанным в п. 3.1., к сожалению, не получится, т.к. возможности команды Fade ограничены. Для того, чтобы такой шарпинг не давал новых оттенков, повышать резкость требуемого канала нужно в отдельном слое с перекрытием Luminosity.

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

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

5. Витамины
Таблетки таблетками, но есть еще несколько вкусных витаминок, без которых инструментарий шарпинга был бы рассмотрен не полностью.

5.1. Через шарп к общему контрасту
Методика нерезкого маскирования дает значительно больше возможностей, чем просто повышение резкости. Т.к. USM по своей сути направлено на повышение контраста, то логично было бы попытаться его увеличить не только локально для контуров и деталей, но и глобально для всего изображения. В отличие от инструментов прямого повышения контраста (Levels, Curves, Brightness/Contrast и др.), UM и его аналоги позволяют баловаться с гораздо меньшими потерями в самых темных и самых светлых областях. А при аккуратном применении масок можно свести эти потери к нулю.

Для глобального повышения контраста во всем изображении можно (и на мой взгляд, нужно) поэкспериментировать с большими (25-50 px) значениями радиуса и малыми (10-100%) значениями интенсивности. Также, как и в случае локальной резкости, напрашиваются вариации поканального и раздельного шарпинга.

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

Здесь глобальное увеличение контраста хорошо просматривается на фактуре забора и в траве. Достигнут результат за счет двух слоев с перекрытиями Multiply (opacity 100%) и Screen (opacity 50%), где в качестве маски использован соответственно прямой и инвертированный размытый (Gaussian Blur 30.0 px) исходник. Маски были дорисованы кистью в областях груди и передних лап собаки, во избежание пересветов.



5.2. Только контуры
Эта витаминка полезна как для повышения резкости зернистых фотографий, так и в качестве самостоятельной методики. Суть идеи заключается в том, чтобы шарпить не всю картинку, а лишь контуры объектов. Таким образом можно ограничить область повышения резкости, а там где надо вдуть по полной. Делается это с помощью контурной маски, которая оставляет открытыми только сами контуры, причем их толщину, четкость и прозрачность областей/переходов можно регулировать. Выглядит это примерно следующим образом (рецепт позаимствован у Дик-Мак Клелланда):

1. На основе одного из каналов создаем маску слоя (лучше взять канал, где меньше всего шумов). Для этого в палитре Channels перетаскиваем выбранный канал на иконку чистого листа.
2. Выделим контуры с помощью команды Filter > Stylize > Find Edges.
3. Инвертируем контуры [Ctrl + I].
4. Сделаем контуры более плавными и цельными. Либо включаем фантазию, либо следуем совету метра и применяем последовательно фильтры Filter > Other > Maximum, Filter > Nose > Median и Filter > Blur > Gaussian Blur.
5. Переключаемся в полноцветный режим просмотра [Ctrl + ~] и превращаем маску в выделение - для этого кликнем по ней мышью, удерживая Ctrl.
6. Применяем Unsharp Mask с нужными нам параметрами. Важно убедиться, что Treshold установлен на 0.

Несколько геморойно, но весьма эффективно. Выделить контуры и поработать с ними можно также с помощью фильтра Filter > Other > High Pass, например, вот так:

1. Создаем 2 копии слоя и применяем к ним Filter > Other > High Pass.
2. К первой копии применяем Image > Adjustment > Treshold, ко второй Filter > Blur > Gaussian Blur.
3. С помощью режимов наложения и вариаций Opacity смешиваем два слоя так, чтобы итоговые контуры были необходимой степени четкости, толщины и детализации.
4. Результат накладываем на оригинальную картинку в режиме Overlay.
5. В случае необходимости, можно еще слегка пошарпить слой с контурами.

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

1 - исходное изображение
2 - повышение резкости и контраста
3 - шум
4 - трава с "новыми деталями"

Шум добавлен на 50%-ый серый цвет, который для режима наложения Overlay является нейтральным. Маской слоя убраны места, где добавление шума не требуется.

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

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

а) А - одна из сторон (любой) исходного изображения. Б - та же сторона после ресайза. Делаем ресайз в 2 шага - сначала до (А+Б)/2 через билинейную интерполяцию, затем до Б через бикубическую.

б) Ресайз с пошаговым уменьшением не более 10%. Выбираем для расчета любую сторону (например, ширину) и последовательно уменьшаем размеры картинки до нужного. Например: 3600 px, 3240 px, 2916 px и т.д.

в) Можно использовать специальные плагины, например Geniune Fractals Print Pro (одна из последних на момент написания статьи версий 4.0.1103).

Судить об эффективности этих способов довольно трудно, поэтому я воздержусь от комментариев. Тому, кого это заинтересует, лучше провести собственные эксперименты. "Я так думаю!" (с) Мимино

Все, пора закругляться с резкостью, итак две недели ночей на неё потратил. Вперед к новым достижениям! И напоследок народная мудрость: авитаминоз и передоз - близнецы братья.

Ссылки и благодарности
1. Дэн Маргулис, "Photoshop для профессионалов. Классическое руководство по цветокоррекции." Четвертое издание.
2. Дик Мак-Клелланд, "Photoshop 7. Библия пользователя".
3. Здесь неплохо изложена теория нерезкого маскирования с точки зрения физики.
4. Еще один наглядный график.

2007 © Павел Косенко
Спасибо за подсказки и помощь в осознании проблемы - Александру Онищенко, Дмитрию Бойко, Юле Бритвич. Хотел высказать благодарность моей жене Ганике - за сверхтерпимость к ночующему у компьютера мужу, но она вычеркнула эту строчку, редактируя текст.

Что ещё можно сделать:
Обсудить статью на Форуме >>>
Посетить страницу автора в ЖЖ >>>
Почитать оригинал статьи в ЖЖ с возможными дополнениями >>>
Написать письмо автору >>>

ГЛАВНАЯ СТАТЬИ ШКОЛА ФОТОКЛУБ КОНКУРСЫ ПРОЕКТЫ ГАЛЕРЕЯ ССЫЛКИ ОПРОСЫ ФОРУМ ПОИСК О ПРОЕКТЕ СВЯЗАТЬСЯ
All Rights Reserved. © 2003 - 2007 Хулиганствующий Элементъ