Reply to comment
UniWB: установка на камере и результаты использования
Submitted by lexa on 4 June, 2008 - 09:59
ББ камеры, 2700К
Как мы уже обсуждали ранее, стандартные установки гистограммы у цифровых камер не отражают реальных данных в RAW.
Причина этого очень простая: гистограмма и области пересвета показываются по данным, уже скорректированным камерой по балансу белого и настройкам контрастности,
а реальные RAW-данные имеют большой поканальный разбаланс, связанный с различной чувствиительностью цветовых каналов. На рисунке слева показан пример неверной диагностики (взятый из предыдущей статьи) - камера диагностирует вылет по красному каналу, а на самом деле имеется даже небольшой запас.
Как мы видим, внутрикамерные средства контроля экспозиции - гистограмма и индикация пересвета - не отражают реального состояния данных RAW:
- камера может показать нормальную гистограмму и отсутствие пересвета, тогда как на самом деле в одном или двух каналов имеет место клиппинг (ситуация типична для съемки при дневном освещении)
- и наоборот, камера может диагностировать пересвет, которого на самом деле нет (это часто бывает при искусственном свете).
Таким образом, любимый прием многих цифровых фотографов - контроль светов по гистограмме (Expose To The Right / ETTR) - начинает работать плохо, ибо реальных средств диагностики клиппинга у фотографа нет.
Частичным решением проблемы является установка баланса белого в камере, которая не исправляет разбаланс чувствительности по каналам. Другими словами, поканальные множители баланса должны быть одинаковыми или практически одинаковыми (при стандартных настройках множители у красного и зеленого каналов могут отличаться в 2-2.5 раза). Этот подход получил название UniWB и постепенно приобретает популярность у цифровых фотографов. Стандартного средства установки UniWB в современных цифровых камерах нет, однако камеру можно обмануть.
Лучший способ такого обмана, подходящий практически для всех камер, придуман Guillermo Luijk, этот способ заключается в синтезе правильной мишени установки баланса белого на мониторе компьютера. Я уже рассказывал об этом способе у себя в блоге, но пришло время для нового варианта текста. Собственно методика не изменилась, поэтому она приводится практически дословно, но исходный текст дополнен примерами, показывающими результат применения метода.
Необходимые приборы и материалы
- калибруемая фотокамера
- компьютер с цветным монитором
- графический редактор (фотошоп подойдет)
- программа dcraw скомпилированная под вашу операционную систему (скомпилированные варианты под Windows и Mac OS X можно взять отсюда).
Определение нейтральной точки камеры
UniWB test target
Возьмем файл мишени с большим количеством цветов, например зафиксируем зеленый компонент на уровне 64, а красной и синей компонентами
переберем все возможные значения от 0 до 255 (картинка слева; png-файл мишени можно скачать из attachments данной статьи внизу текста).
Откроем этот файл фотошопом, выведем на экран в полный размер (100%) и сфотографируем:
- в RAW-формате
- со штатива
- максимально длиннофокусным объективом (используемое фокусное расстояние зависит от размеров комнаты с компюьтером) - чтобы максимально избежать виньетирования за счет косого падения света на матрицу;
- на максимально закрытой диафрагме (тоже для подавления виньетирования);
- слегка расфокусировавшись (чтобы не словить интерференцию между матрицей камеры и регулярной структурой экрана компьютера);
- ось объектива должна быть перпендикулярна плоскости монитора - нам нужно получить квадрат без искажений, проще всего это обеспечить вертикальностью монитора, горизонтальностью оси объектива и подбором высоты штативом;
- с достаточно длинной выдержкой, чтобы гарантировать непопадание в мерцание монитора (длинную выдержку обеспечит закрытая диафрагма)
Далее сконвертируем RAW файл в формат tiff (16 бит, линейная гамма) с минимально-возможными преобразованиями и заданными единичными коэффициентами баланса белого:
dcraw -h -T -r 1 1 1 1 -k 0 -o 0 -4 имя-файла
- Открываем полученный tiff-файл в Фотошопе, присваиваем ему какой-то RGB-профиль с гаммой 1.0 (в конце статьи можно скачать профиль AdobeRGB с гаммой 1.0).
- Выделяем снятую мишень (если снимали аккуратно, она должна получиться квадратной), остальное отрезаем.
- Делаем ресайз в размер исходной мишени (768x768)
- Переводим в Lab (для удобства дальнейшей обработки), на экране должно получиться что-то похожее на картинку слева: цвета сдвинуты (мы отключили баланс белого) и более блеклые.
Делаем следующие три операции:
1. Gaussian Blur с радиусом 2-3, чтобы шум и муар дальше не мешали
Кривые по 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
Полученный баланс белого нужно запомнить в камере как один из пресетов (если камера это позволяет), либо же установить навсегда.
Демонстрация результатов
Как мы помним из предыдущей статьи, стандартные камерные установки ошибаются и при показе гистограммы и при индикации пересвета. Проверим новую установку для двух стандартных случаев.
Дневной свет
UniWB при дневном свете
На картинке, сверху вниз, показаны (задний экранчик камеры грязный, да):
- Гистограмма камеры при установке Auto White Balance - впечатление сбалансированности по каналам
- Гистограмма камеры при установке UniWB - зеленый канал проработан куда лучше
- Реальная гистограмма RAW-данных - повторяет UniWB
Лампы накаливания
UniWB при лампах накаливания
При свете ламп накаливания автоматический баланс белого провирается в другую сторону, а опять UniWB дает почти реальную картинку (сверху вниз):
- Auto White Balance показывает передержку по красному каналу (черные пятна вокруг куклы - области передержки)
- UniWB показывает хорошую проработку по красному и зеленому
- В реальных данных есть еще полстопа запаса по красному и зеленому.
Что мы потеряли и что приобрели
Приобретения
Поканальная гистограмма и области пересвета стали гораздо ближе к реальным данным RAW. Это позволяет лучше контролировать экспозицию сразу после съемки при любых условиях освещения.
Потери
- Потерян реально выглядящий просмотр на камерном экранчике, показать результат модели (или, тем более, жене) уже нельзя, увидят зеленый оттенок и выцарапают глаза.
- Снимать в JPEG с такой настройкой бессмысленно.
- Потеряна возможность конверсии с балансом белого 'As Shot'.
| Attachment | Size |
|---|---|
| wb-target.png - мишень для подбора баланса | 6.03 KB |
| Adobe (1998) gamma 1.icc | 500 bytes |