Add new comment

Байеровский муар

Об анализе RAW-конверторов

Существующее на сегодня многообразие RAW-конверторов и используемых в них алгоритмов порождает проблему выбора: какие конверторы лучше (и для чего). На интернет-форумах распространена очевидная методология: берется одно (или несколько) изображений, обрабатывается разными конверторами/алгоритмами/настройками и визуально сравнивается. Зачастую, результат выглядит так для изображения P лучше алгоритм Q, а для изображения A алгоритм Z с включенной галкой f+ .

Более того, анализ в терминах хуже/лучше просто неправилен, правильная постановка звучит как ближе/дальше от исходного изображения.

Проблема заключается в том, что мы имеем дело со сложной системой, включающей в себя

  1. Снимаемый объект и его освещение
  2. Оптический тракт камеры с аберрациями объектива и светорассеянием внутри камеры.
  3. Сенсор со всеми его конструктивными особенностями: противомуарным фильтром, цветными байеровскими фильтрами, микролинзами и так далее.
  4. Внутрикамерный процессинг, как аналоговый, так и цифровой.
  5. А, да, изучаемый RAW-конвертор тоже.

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

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

Устойчивость к муару

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

Мишень состоит из линий шириной в 1 пиксел, расходящихся из общего центра и образующих круг:

  • В правой половине круга радиусы проведены через два градуса, в левой через один градус.
  • В верхней половине радиусы проведены с использованием antialiasing (средствами ImageMagick), в нижней без antialiasing.
Как мы видим, муар возникает на этом изображении вполне самостоятельно, такова природа целостности пикселов.

Из мишени сформирован DNG-файл, таким образом что:

  • Уровень белого на 2 стопа ниже уровня насыщения.
  • Уровень черного на 4 стопа ниже уровня белого.
  • Цветовая матрица диагональная с единичными коэффициентами.
  • DNG построен без противомуарного фильтра т.е. просто копированием значений соответствующего цветового канала исходного TIFF-файла в DNG. Из реальной цифровой фотокамеры получить такие данные практически невозможно: даже если противомуарного фильтра нет (цифровой задник), какое-то рассеяние обязательно даст объектив. Впрочем, более реальные (размытые) мишени мы ниже тоже рассмотрим.

К этому DNG-файлу были последовательно применены все 12 методов интерполяции, имеющиеся в LibRaw 0.12, результаты сведены в таблицу ниже (все картинки кликабельны и открываются в полный размер 1000x1000). Картинки в табличке сделаны такими маленькими намеренно, чтобы читатели смотрели полный размер, а не превьюшки, ибо алгоритм формирования превью сам подвержен муару. Для экономии трафика, полноразмерные картинки приведены к 8-битному виду, видимых глазом отличий с исходным 24-битным вариантом практически нет

Как мы видим, все рассмотренные методы демозаики порождают обильный цветной муар (что неудивительно для такой мишени), включая и half (биннинг 4 пикселов в 1). Ни один из методов не породил удовлетворительной картинки, однако у трех из 11 методов картинка ощутимо лучше прочих: AMaZE, LMMSE и AHD (немодифицированный) дали наименьший муар (перечислены в порядке ухудшения качества).

Идентификация алгоритмов

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

  • Adobe Camera Raw 6.3
  • Capture One 5.2.1
  • HDR PhotoStudio 2.15.42

Использовались настройки по умолчанию с единственным исключением: для Camera One пришлось отключить sharpening, слишком уж он сильно он работает на такой контрастной мишени.

Для двух из них методика сработала:

Adobe Camera Raw использует алгоритм, необычайно похожий по результатам на modified AHD by Paul Lee . Конечно, с точностью до яркости, ACR несколько осветлила изображение.

Результаты работы HDR PhotoStudio до крайности похожи (с учетом мельчайших особенностей) на отсутствие "настоящей" демозаики, это полный аналог dcraw -q 0 (bilinear interpolation традиционно не считается "настоящей интерполяцией").
Алгоритм Capture One идентифицировать не удалось, пятно цвета magenta на 10:30 (северо-запад) ни в одном из алгоритмов LibRaw не встречено.

Ближе к реальности

Если сформировать DNG из размытой мишени (размытие делалось ImageMagick, метод Gaussian Blur, sigma=1.0), то задача становится куда ближе к фотографической реальности.

Такая мишень ТОЖЕ имеет цветной муар для всех 12 методов интерполяции, имеющихся в LibRaw. Дабы не загромождать статью, покажу 5 из них (три самых лучших из предыдущего теста, DCB и half который почему-то считается наиболее защищенным от артефактов интерполяции).

 
Из интересного: для такой более фотографически реальной мишени наименьшее количество муара дал алгоритм LMMSE. Советую авторам RAW-конверторов к нему присмотреться.

Заключение

Первые же эксперименты с подсовыванием RAW-конверторам искусственно сгенерированной мишени доставили автору истинное наслаждение. Эксперименты будут продолжены, авторы конверторов трепещите.

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

Для самостоятельных упражнений