UniWB: установка на камере и результаты использования

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

Как мы видим, внутрикамерные средства контроля экспозиции - гистограмма и индикация пересвета - не отражают реального состояния данных RAW:

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

Таким образом, любимый прием многих цифровых фотографов - контроль светов по гистограмме (Expose To The Right / ETTR) - начинает работать плохо, ибо реальных средств диагностики клиппинга у фотографа нет.

Частичным решением проблемы является установка баланса белого в камере, которая не исправляет разбаланс чувствительности по каналам. Другими словами, поканальные множители баланса должны быть одинаковыми или практически одинаковыми (при стандартных настройках множители у красного и зеленого каналов могут отличаться в 2-2.5 раза). Этот подход получил название UniWB и постепенно приобретает популярность у цифровых фотографов. Стандартного средства установки UniWB в современных цифровых камерах нет, однако камеру можно обмануть.

Лучший способ такого обмана, подходящий практически для всех камер, придуман Guillermo Luijk, этот способ заключается в синтезе правильной мишени установки баланса белого на мониторе компьютера. Я уже рассказывал об этом способе у себя в блоге, но пришло время для нового варианта текста. Собственно методика не изменилась, поэтому она приводится практически дословно, но исходный текст дополнен примерами, показывающими результат применения метода.

Необходимые приборы и материалы

  1. калибруемая фотокамера
  2. компьютер с цветным монитором
  3. графический редактор (фотошоп подойдет)
  4. программа dcraw скомпилированная под вашу операционную систему (скомпилированные варианты под Windows и Mac OS X можно взять отсюда).

Определение нейтральной точки камеры

UniWB test targetUniWB test target Возьмем файл мишени с большим количеством цветов, например зафиксируем зеленый компонент на уровне 64, а красной и синей компонентами переберем все возможные значения от 0 до 255 (картинка слева; png-файл мишени можно скачать из attachments данной статьи внизу текста). Откроем этот файл фотошопом, выведем на экран в полный размер (100%) и сфотографируем:

  1. в RAW-формате
  2. со штатива
  3. максимально длиннофокусным объективом (используемое фокусное расстояние зависит от размеров комнаты с компюьтером) - чтобы максимально избежать виньетирования за счет косого падения света на матрицу;
  4. на максимально закрытой диафрагме (тоже для подавления виньетирования);
  5. слегка расфокусировавшись (чтобы не словить интерференцию между матрицей камеры и регулярной структурой экрана компьютера);
  6. ось объектива должна быть перпендикулярна плоскости монитора - нам нужно получить квадрат без искажений, проще всего это обеспечить вертикальностью монитора, горизонтальностью оси объектива и подбором высоты штативом;
  7. с достаточно длинной выдержкой, чтобы гарантировать непопадание в мерцание монитора (длинную выдержку обеспечит закрытая диафрагма)
По опыту автора, объектив с фокусным расстоянием 135 мм уже удовлетворяет критериям по виньетированию и искажениямю.

Далее сконвертируем RAW файл в формат tiff (16 бит, линейная гамма) с минимально-возможными преобразованиями и заданными единичными коэффициентами баланса белого:

dcraw -h -T -r 1 1 1 1 -k 0 -o 0 -4 имя-файла

Снимок мишениСнимок мишени Далее:

  1. Открываем полученный tiff-файл в Фотошопе, присваиваем ему какой-то RGB-профиль с гаммой 1.0 (в конце статьи можно скачать профиль AdobeRGB с гаммой 1.0).
  2. Выделяем снятую мишень (если снимали аккуратно, она должна получиться квадратной), остальное отрезаем.
  3. Делаем ресайз в размер исходной мишени (768x768)
  4. Переводим в Lab (для удобства дальнейшей обработки), на экране должно получиться что-то похожее на картинку слева: цвета сдвинуты (мы отключили баланс белого) и более блеклые.

Делаем следующие три операции:

1. Gaussian Blur с радиусом 2-3, чтобы шум и муар дальше не мешали

Кривые по a-bКривые по a-b 2. Корректирующий слой: подъем кривыми контрастности по каналам a-b (должна сохраняться нейтральная точка, например -127/-26 -- 127/26 по обоим каналам):

подъем насыщенностиподъем насыщенности 3. Еще один корректирующий слой с подъемом насыщенности до 98-99:

Нейтральная точкаНейтральная точка Далее находим точку, насыщенность которой не поднялась (она и есть самая нейтральная), запоминаем ее координаты по пикселям:

Значения на исходной мишени с теми же координатамиЗначения на исходной мишени с теми же координатами На исходной мишени (она того же размера, мы же делали ресайз) находим точку с теми же координатами X-Y и считываем RGB-значения (в том цветовом пространстве, в котором исходная мишень):

Генерация мишени для установки баланса

Калибровочная мишеньКалибровочная мишень Создаем новое изображение (в том же цветовом пространстве, что и исходная мишень), заливаем его целиком найденным на предыдущем шаге цветом (у меня это 108-64-111 RGB для камеры Kodak SLR/c и 143-64-101 для камеры Canon 1D Mark III), получаем на экране мишеньку цвета magenta.

Фотографируем мишень (опять, лучше расфокусировавшись, длиннофокусной оптикой и т.п., все как выше) и ставим по ней мишени баланс белого. Проверяем результат:

  • cнятая нами мишень с новым балансом должна стать серой;
  • нейтральные объекты, снятые при дневном свете, - должны позеленеть (на экране камеры и при конверсии RAW c балансом 'as shot');
  • dcraw -w -v должна показывать коэффициенты конверсии близкие к 1.0 по всем каналам:
    /dcraw_dist -w -v _81E0897.CR2 Loading Canon EOS-1D Mark III image from _81E0897.CR2 ...
    Scaling with darkness 1026, saturation 15280, and
    multipliers 1.000000 1.013814 1.018557 1.013814
Как видно по выдаче dcraw, полученный баланс белого отклоняется от идеального примерно на 2%, что для всех практических применений более чем приемлемо.

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

Демонстрация результатов

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

Дневной свет

UniWB при дневном светеUniWB при дневном свете На картинке, сверху вниз, показаны (задний экранчик камеры грязный, да):

  • Гистограмма камеры при установке Auto White Balance - впечатление сбалансированности по каналам
  • Гистограмма камеры при установке UniWB - зеленый канал проработан куда лучше
  • Реальная гистограмма RAW-данных - повторяет UniWB
Как мы видим, UniWB-гистограмма куда лучше показывает реальный взаимный баланс каналов, хотя конечно гистограмма в линейном пространстве (нижняя) и гамма-скорректированная гистограмма (средняя) выглядят принципиально по разному.

Лампы накаливания

UniWB при лампах накаливанияUniWB при лампах накаливания При свете ламп накаливания автоматический баланс белого провирается в другую сторону, а опять UniWB дает почти реальную картинку (сверху вниз):

  1. Auto White Balance показывает передержку по красному каналу (черные пятна вокруг куклы - области передержки)
  2. UniWB показывает хорошую проработку по красному и зеленому
  3. В реальных данных есть еще полстопа запаса по красному и зеленому.
Опять, UniWB гораздо ближе к реальности. И опять подстройка настроек контрастности помогла бы получить еще более точное приближение камеры к реальности.

Что мы потеряли и что приобрели

Приобретения

Поканальная гистограмма и области пересвета стали гораздо ближе к реальным данным RAW. Это позволяет лучше контролировать экспозицию сразу после съемки при любых условиях освещения.

Потери

  • Потерян реально выглядящий просмотр на камерном экранчике, показать результат модели (или, тем более, жене) уже нельзя, увидят зеленый оттенок и выцарапают глаза.
  • Снимать в JPEG с такой настройкой бессмысленно.
  • Потеряна возможность конверсии с балансом белого 'As Shot'.
Среди всех потерь, наиболее серьезная - последняя, ибо конверсия As Shot сильно ускоряет постобработку. Можно рекомендовать снимать первый кадр в новых световых условиях с автонастройкой, а остальные - уже с UniWB.

AttachmentSize
wb-target.png - мишень для подбора баланса6.03 KB
Adobe (1998) gamma 1.icc 500 bytes

Comments

Попробывал данный способ... Но ББ, так то оно так, я тоже думал...во интересно, реальная гистограмма. Но потом в конвертере, все равно меняешь приблизительно на ту температуру на которой бы снимал камерой. И получается в итоге тоже самое, разбаланс каланов и пересвет того канала, при температуре (реальной) которая бы получилась стандартно с камеры... Тогда в чем смысл? Я понимаю избежать реально пересветов или недосветов... А так каналы ровные, а потом тоже самое делать в конвертере, что могла бы сделать камера.

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

Смысл именно в контроле. Если исходные данные не обрезанные, то и результат конверсии будет лучше

Реальной разницы не заметил, пробывал разные сюжеты, на глаз разницы не видно...особенно думал лучше будет при контровом свете с завалом переднего плана или пробоем фона, но по гистограмме вроде хорошо, а после конверсии тоже самое! Может есть смысл показать конечный результат на реальном фото-примере!?

UniWB никак не влияет на данные RAW. Поэтому если у вас при UniWB и без него - одинаковая экспозиция, то и результат будет абсолютно одинаков.

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

Но таки получилось сделать

1.037190 1.057851 1.000000 1.057851

Это Pentax K10D, цвет для моего калиброванного монитора -- RGB:(106,64,80).

Что-то ничего у меня не выходит.
После таких слоёв Sat везде 100%, до них -- везде порядка 32%, картинка изначально гораздо насыщенней, чем показано...

Выставил на 40D баланс белого по абсолютно черному кадру - результат:

Loading Canon EOS 40D image from IMG_5832.CR2 ...
Scaling with darkness 1024, saturation 16224, and
multipliers 1.000000 1.000000 1.000000 1.000000

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

Проблема в том, что на моем 1D-mk3 он с новым firmware перестал работать.

Сейчас еще попробую.....

не могу набрать комманду (первую в статье)
пишет Will not write am image to the terminal

что я не так делаю? вызвал cmd, вошел в папку с прогой и файлами CR2
набираю полностью строку как вы написали - и получаю это сообщение!

вроде разобрался)))
у параметра "-с" не нужен "0" судя по хэлпу

О, это у меня была старая версия. -с в текущей версии просто не нужен, там нужен -o 0

Сейчас исправлю,

На самом деле, если пресеты переключаются легко, то можно ставить UniWB на время съемки тестового снимка, а потом возвращать auto wb

У меня workflow ровно обратный - я все настройки делаю по первому снимку серии, а потом копирую их на все остальные.

Но последнее время склоняюсь к идее отключить экранчик совсем нафиг.

Что значит "копирую"? По первому снимку откорректировал экспозицию и снимаешь. В каком положении потом стоит WB - уже не важно.

Отключить экранчик - это хорошо, но тогда где польза от UniWB?

Копирую - это означает "копирую все положения движков в конверторе".

Если отключить экранчик - пользы от UniWB естественно не будет.

Так я говорил про съемку, а не обработку.

Первый снимок - тестовый, для него ставим UniWB, определяеем экспозицию, стираем если совсем не надо, а остальное снимаем с авто, чтобы превьюшка была хорошая. Если первы не стерли, то при постпроцессинге просто берем параметры со второго снимка

спор ни о чем :)

А чем "as shot" лучше, чем "auto white balance" в конвертере? Насколько я понимаю у камеры нет какого-то отдельного датчика баланса белого и автомат баланса белого работает исключительно программно по raw-данным?

Алгоритмы все-таки разные. И Кэноновский мне вполне приятен - если нужно что-то сделать быстро, а качество не очень важно.

На самом деле у ряда камер (например, у Никонов) датчик баланса белого отдельный и по raw-данным не работает. Те же камеры, где баланс устанавливается по данным raw, легко отличить с помощью небольшого трюка - о котором мы ещё напишем.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.