Uniwb установка на камері і результати використання, libraw

Uniwb установка на камері і результати використання, libraw
Як ми вже обговорювали раніше, стандартні установки гістограми у цифрових камер не відображають реальних даних в RAW. Причина цього дуже проста: гістограма і області пересвета показуються за даними, вже скоригованими камерою по балансу білого і налаштувань контрастності, а реальні RAW-дані мають великий поканально розбаланс, пов'язаний з різною чувствіітельностью колірних каналів. На малюнку ліворуч показано приклад невірної діагностики (взятий із попередньої статті) - камера діагностує виліт по червоному каналу, а насправді є навіть невеликий запас.

Як ми бачимо, внутрішньокамерного засоби контролю експозиції - гістограма і індикація пересвета - не відображають реального стану даних RAW:
  • камера може показати нормальну гистограмму і відсутність пересвета, тоді як насправді в одному або двох каналів має місце кліппінг (ситуація є типовою для зйомки при денному освітленні)
  • і навпаки, камера може діагностувати Пересвет, якого насправді немає (це часто буває при штучному світлі).

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

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

Кращий спосіб такого обману, що підходить практично для всіх камер, придуманий Guillermo Luijk. цей спосіб полягає в синтезі правильної мішені установки балансу білого на моніторі комп'ютера. Я вже розповідав про цей спосіб у себе в блозі. але прийшов час для нового варіанту тексту. Власне методика не змінилася, тому вона наводиться практично дослівно, але вихідний текст доповнений прикладами, що показують результат застосування методу.

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

Визначення нейтральної точки камери

Далі сконвертіруем RAW файл в формат tiff (16 біт, лінійна гамма) з мінімально-можливими перетвореннями і заданими одиничними коефіцієнтами балансу білого: dcraw -h -T -r 1 1 1 1 -k 0 -o 0 -4 назва_пакунка

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

Робимо наступні три операції:

1. Gaussian Blur з радіусом 2-3, щоб шум і муар далі не заважали

Uniwb установка на камері і результати використання, libraw
2. Коригуючий шар: підйом кривими контрастності по каналах a-b (повинна зберігатися нейтральна точка, наприклад -127 / -26 - 127/26 по обох каналах):

Uniwb установка на камері і результати використання, libraw
3. Ще один коригувальний шар з підйомом насиченості до 98-99:

Uniwb установка на камері і результати використання, libraw
Далі знаходимо точку, насиченість якої не піднялася (вона і є сама нейтральна), запам'ятовуємо її координати по пікселям:

Uniwb установка на камері і результати використання, libraw
На вихідної мішені (вона того ж розміру, ми ж робили ресайз) знаходимо точку з тими ж координатами X-Y і зчитуємо RGB-значення (в тому колірному просторі, в якому вихідна мішень):

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

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

Фотографуємо мішень (знову, краще розфокусувати, длиннофокусной оптикою і т.п. все як вище) і ставимо по ній мішені баланс білого. Перевіряємо результат:
  • Зняття нами мішень з новим балансом повинна стати сірою;
  • нейтральні об'єкти, зняті при денному світлі, - повинні позеленіти (на екрані камери і при конверсії 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 установка на камері і результати використання, libraw
На зображенні, зверху вниз, показані (задній екранчик камери брудний, так):
  • Гістограма камери при установці Auto White Balance - враження збалансованості по каналах
  • Гістограма камери при установці UniWB - зелений канал опрацьований куди краще
  • Реальна гістограма RAW-даних - повторює UniWB
Як ми бачимо, UniWB-гістограма куди краще показує реальний взаємний баланс каналів, хоча звичайно гістограма в лінійному просторі (нижня) і гамма-скоригована гістограма (середня) виглядають принципово по різному.

лампи розжарювання

Uniwb установка на камері і результати використання, libraw
При світлі ламп розжарювання автоматичний баланс білого провірается в іншу сторону, а знову UniWB дає майже реальну картинку (зверху вниз):
  1. Auto White Balance показує пересмикування по червоному каналу (чорні плями навколо ляльки - області перетримки)
  2. UniWB показує хорошу опрацювання по червоному і зеленому
  3. В реальних даних є ще полстопа запасу по червоному і зеленому.
Знову, UniWB набагато ближче до реальності. І знову підстроювання налаштувань контрастності допомогла б отримати ще більш точне наближення камери до реальності.

Що ми втратили і що придбали

придбання

Поканальная гістограма і області пересвета стали набагато ближче до реальних даних RAW. Це дозволяє краще контролювати експозицію відразу після зйомки за будь-яких умовах освітлення.

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

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

Вирішив перевірити даний спосіб на своєму 520-ом Олиці. Перевіряв досить недбало, без штатива, і чималої дісторсией квадрата, але в PS підтягнув, заміряв (до речі, насиченість на 100 поставив - нейтральну точку видно відразу) і зняв ББ.
Результати вражаючі, правда, додатково посунув повзунок Amber в камері на -1 (при роботі гістограма правильна без поправки):
1.000000 1.007874 1.007874 1.007874
Тепер буду пробувати зйомку з цим пресетом))
Величезне спасибі за статтю!

Чисто теоретично. Масштабування каналів при застосуванні ББ так чи інакше підсилює шуми. Тоді для найменш галасливого знімка має сенс взагалі відмовитися (звести до абсолютного мінімуму) від програмної корекції, домагаючись потрібної передачі кольорів фільтрами на об'єктиві з установкою UniWB. На практиці задовбали, звичайно, але в принципі це здатне дати виграш за якістю?

У першому наближенні справа виглядає так як ви написали: виставляючи всі канали оптимально (так щоб максимуми на білому були б в одному і тому ж місці, там де вирішили) - ми знижуємо шуми в (зазвичай) слабких каналах.

Друге наближення: збалансувати канали ми можемо тільки зниженням (ефективної) чутливості зеленого (або який там буде найсильніший). Отже, зростає витримка (вважаємо що діафрагму ми ставимо з цілей знімка, щоб забезпечити потрібну глибину різкості). Отже - времяпеременная частина шуму виросте. На сучасних камерах - незначно, якщо мова йде про "звичайних денних витягах". Якщо ж знімаємо вночі і, скажімо, замість 30 секунд змушені поставити 2 хвилини - це вже дуже велика різниця.

1) Пробував зробити юнібб, dcraw за вказаним URL скачати не вдалося, там пропонуються якісь image editor-и. Скачав програму на стороні, результат отримав такий:

Loading SONY NEX-F3 image from DSC00255.arw.
DSC00255.arw: Can not use camera white balance.
Scaling with darkness 0, saturation 4095, and
multipliers 1.000000 1.000000 1.000000 1.000000

Перевірив раніше зроблені Рави з різними б_балансамі, множник всюди виявився дорівнює нулю. Я так розумію, ось це "Can not use camera white balance" - означає що dcraw просто не може прочитати wb цієї камери?

2) Будь ласка, поясніть, що означає "saturation 4095"? це насиченість кольору, яку камерний профіль додає до "справжньому" кольором камери?