Про зеленые каналы

Тема "одинаковости зеленых каналов" регулярно всплывает. Понятно, речь не идет об очевидных случаях, вроде старых камер Olympus, которые при усреднении зеленого давали maze artifacts на небе (и, тем более, о RGBE-камере Sony F828). Речь идет об обычных рабоче-крестьянских, Сонях, Кэнонах и Никонах. Для них принято считать, что два зеленых - суть одно, можно усреднить, интерполировать эти каналы надо как одни данные, цветовые профили - трехканальные (из RGB в RGB) и так далее.

Помнится, на семинаре Ильи Борга на эту тему случилась дискуссия, причем Илья говорил что разница между каналами - существенная, а верили ему не очень (втч. и я).

И я давно собирался проверить, аппарат давно имеется, но все не доходили руки. А тут зацепились языками на форуме LL и дернуло же меня проверить на первом попавшемся кадре с колорчекером. Это был кадр с Sony SLT-A77. И понеслось.

Собственно, идея простая. Берем снимок с колорчекером (я беру их с Imaging resource), натягиваем в RawDigger сетку, экспортируем в Excel и смотрим на отношение среднего в каналах G и G2:

Первым мне попался кадр с Sony A77, затем с Leica M9, затем я пошел на Imaging Resource и взял там еще кадров для EOS 6D, Oly OM-D E5, Nikon D800 и Panasonic G5. Первые две камеры у меня есть и мне интересно, последние две - чтобы никонистам и братьям по micro-4/3 не было обидно (на самом деле вся обработка данных с одной камеры занимает в районе минуты и проверить любую камеру вы можете самостоятельно, основное время у меня заняло выведение результатов на суммарные графики).

И вот что получилось:

Первые две протестированные камеры вели себя систематически на графике, где по оси X отношение каналов R и G (на мишени колочекера), а по оси Y - отношение средних по каналам G1/G2. Для остальных систематика видна не настолько хорошо (и дальше будут графики почище):

Сначала про Лейку:

Как мы видим, на "зеленых" патчах (R/G около нуля) каналы G1/G2 практически равны (отношение около 1), а на "красных" патчах отношение падает до 0.96 (G1 на 4% меньше чем G2). 4% - это много. Даже очень. Что с этим делать - обсудим ниже, в выводах.

Про остальные камеры, хорошо видимые на этом графике:

  • Панасоник: тенденции нет, G1 всегда строго больше G2, но чуть-чуть, на полпроцента.
  • Sony и Olympus: колебания есть (до ~2%), у Sony вроде бы есть "тенденция", дальше посмотрим подробнее.
  • Canon и Nikon: на этом графике хрен поймешь, крупных систематических тенденций я в этих координатах не вижу, дальше увидим подробнее.

Вот этот же график, но только Sony и Oly:

На глазок, есть систематическая тенденция у Sony (чем зеленее, тем ниже отношение G1/G2), у Olympus ситуация сложнее.

Возьмем другую координату X, отношение R к B. Оставим на графике только то, где есть систематическое отклонение (судим на глазок, конечно же):

У всех трех оставленных на графике камер "чем синее - тем выше отношение G1/G2".

И еще один график: зависимость G1/G2 от самого значения G1 (или G2, без разницы). Так как часть камер 12-битная, я им значения G домножил, чтобы попасть примерно в нужный диапазон. Потом я выкинул камеры без "тенденции" - и остался только Oly:

Сухой остаток

Из шести протестированных камер, какой-либо видимой глазом тенденции не подвержены только Canon 6D и Panasonic G5. Да и то, у G5 есть систематическая разница по каналам, а у другого Canon (1Ds3) в уже поминавшейся дискуссии на LL намеряли формулу G2 = G1+18 (правда там все тестовые примеры в полутонах и выше, в тенях каналы сходятся в один и тот же ноль - по процедуре).

Таким образом, предположение о равенстве двух зеленых каналов - в общем случае неверно. И, как мы видим, разница может быть и в 4% (если ваша камера называется Leica).

Физический механизм

В простых случаях (вроде Panasonic G5) дело, скорее всего, в разбалансировке коэффициентов усиления по каналам АЦП (АЦП в современных камерах обычно многоканальные, а столбцы с G1 и с G2 чередуются - и попадают в разные каналы).

В остальных случаях - механизм мне непонятен. Какой-то crosstalk при считывании? Какие-то более сложные эффекты, когда из красного светофильтра попадает в соседский зеленый? Не знаю!

Что с этим делать

Две очевидных идеи:
  1. В случаях вроде Panasonic G5 или Oly E-M5 - можно линеаризовать каналы отдельно. Вот просто тупо умножать G2 на 1.005 (возможно, конечно, этот коэффициент зависит от температуры, ISO или экземпляра камеры). Откалибровать то очень просто....
  2. В случаях корреляций с другими каналами - камеру надлежит считать четырехцветной. И, соответственно, делать 4-канальные профили, как уже делают для RGBE и прочих старых Олимпусов, все отработано. Другой вопрос, что если внутри конвертора два канала считаются одинаковыми, то он и профиль такой не поймет, да и не поможет он ему.

Comments

удивляет разнонаправленность трендов Лейки и всех других. Лейка то какая? с CCD?

В M9 какой сенсор? Я не знаю...

Если это (электронный) кросстолк, то разница может быть банально в bayer pattern.
В одно камере, к примеру
RG
GB
А в другой
GR
BG

Я, честно, не рассматривал с этой позиции. Идея есть такая в голове, а заниматься ей немного не с руки.

да в М9 CCD, все остальные камеры CMOS.
то что ты написал тоже может иметь место.

Ну и трендов больше чем один. Условно Nikon D800 и Sony A77 - один тренд, а Oly - получается что совсем другой (не фиксированный разбаланс каналов как у панаса, но что-то такое зависящее именно от зеленого сигнала).

Как минимум, про Oly это нужно проверять (сняв тот же колорчекер с брекетом)

у Никона и сони матрица-то одна, вот и похожи.а ты не пробовал сравнивать красные (синие) каналы из соседних пикселов?

Это три разных матрицы. Ты подразумеваешь D3x и A900, а тут вовсе D800 и A77.
И у этих двух - я не вижу черезвычайной похожести, только похожий тренд. У сони 2% разбаланс, у никона - меньше полпроцента. В 4 раза. Хотя вот посравнивать то, где матрицы одни (а фильтры и АЦП - разные) - хорошая.

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

впечатляет насколько матрица никона лучше.

По-моему, эта метрика не имеет отношения к хуже-лучше.

Ну вот такая особенность, 4 цвета на не три.

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

Ну так "не все конверторы - одинаковы".
Т.е. вот от автора darktable я получил в свое время код, который уравнивает зеленые каналы (уже неплохо), в dcraw есть force 4 colors.
Про те, которые не в исходниках - можно только догадываться, конечно.

Опять же, с RGBE как-то же умудряются работать?

Что касается шума - я не готов сказать. То что я вижу на просмотренных камерах (ну кроме лейки, пожалуй) - там в среднем тоне систематические отклонения G1/G2 - меньше, чем случайная составляющая сигнала (фотонный шум). В относительных тенях - тем более (отклонения G1/G2 остаются в тех же пределах нескольких процентов, а для сигнала величиной 100 у фотонного шума сигма будет уже 10).

Систематическое отклонение влияет на качество построения (обычного 3-канального профиля), потому что фотонный шум на плашках усредняется, а систематика - нет. Тут вопросов нет.

Сначала 4-канальный демозаик, потом одно из двух:

Это одинаково в рамках модели или зависит от экземпляра?
Если первое - где-то добыть 4-канальные цветовые матрицы.
Если второе - тупо усреднять зелёный.

А может быть надо просто профилировать самому, конкретный экземпляр?

Дело то нехитрое!

А чойто им быть одинаковыми, если они с двух разных точек свет хватают.

Ну так свет то - одинаковый.
Да, с дисперсией (фотонным шумом), ну так разница получается статистически значимой.

А почему одинаковый? Снимаем мы к примеру макро 1:1 с деталями по размеру с один пиксел, на один зелёный пиксел детель попала, на другой не попала. Или, на один попала полностью, а другой только задела.

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

А всякие пылинки и прочие неожиданности (которых, впрочем, на снимках Imaging Resource нет или практически нет) - будут съедены усреднением по площади.

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

а) Обычно мишени снимают слегка расфокусированной оптикой.

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

Слушаю запись семинара. Это фантастика! Не то что бы много нового узнаю для себя -- но очень, очень приятное и полезное слушанье. Почему я не видел этой ссылки раньше?

И, да, вывод (далеко не единственный, конечно же!): свой "фотошоп" писать надо :)

А я вот все живу с надеждой на продолжение, хотелось бы еще послушать.

Илья ровно сегодня утром отбыл из столицы нашей родины в столицу ненашей родины.

Так что в другой раз. Просто надо проявить организационные способности кому-то.

Печально.

попробуй для начала C3C Color Wizard

плагин => разрушающее редактирование => в топку сразу.

Ну так новым слоем его, старые то слои никуда не деваются

Да-да. И если я что-то тронул внизу (например, замазал окурок на переднем плане, который не заметил изначально, бывает, грешен), повторять (и вспоминать что я сделал! Настройки-то не сохранятся!) этот слой заново. В этом-то и проблема фотошопа основная для меня! Ну, в смысле юзабилити, а не в смысле фиксированной точки и странного поведения некоторыъ инструментов.

Как это "настройки не сохраняются"? А Smart filters?

С ним какие-то другие заморочки были, я точно помню, я пробовал :)
То ли не все фильтры могут быть смарт, то ли любой коррекционный слой будет после фильтра и местами не поменять, то ли ещё что-то... Надо ещё раз попробовать, но какие-то заморочки точно были.

Crosstalk обычно пропорционален силе сигнала в источнике паразитного сигнала и может зависеть от уровня заряда в приемнике. Если мы имеем дело с crosstalk в оба зеленых, то разница примерно постоянна для конкретной организации CFA и спектра света в сигнале и почти независима от силы сигнала.