Можно ли предварительно рассчитать усиление баланса белого по образцу изображения

Попробую объяснить вопрос более подробно.

Предположим:

  • У меня есть камера, делающая снимки в динамической среде (цветовая температура постоянно меняется)
  • Я не могу использовать автоматический баланс белого в камере или он недоступен
  • У меня есть программное обеспечение, работающее и управляющее камерой, которое я мог бы использовать для балансировки белого.
  • У меня "целевая" температура

Теперь, пожалуйста, поправьте меня, поскольку я могу сделать совершенно неправильное предположение о том, как работает баланс белого. Однако возможно ли:

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

Чтобы попытаться резюмировать:

Я хочу создать автоматизированную систему балансировки белого, которая принимает желаемую температуру и на основе образца изображения вычисляет «будущее» усиление красного/синего или усиление У/В. Современные камеры при установке температуры так делают или просто постобрабатывают?

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

Правильный баланс белого обычно определяется путем взятия пробного изображения какого-либо средства проверки цвета. Будете ли вы иметь возможность снимать свои образцы известного объекта, подобного этому, или сцена всегда будет динамичной?
Чтобы уточнить, вы спрашиваете, могут ли камеры динамически изменять аналоговое усиление для R, G и B по отдельности? Насколько я знаю, для «обычных» камер аналоговое усиление всегда глобально, а балансировка выполняется как постобработка.
Я не могу много рассказывать о контексте того, что мы делаем, из-за NDA, однако основной принцип таков: мы используем камеру Lumenera промышленного класса, прикрепленную к изготовленной на заказ полезной нагрузке, прикрепленной к вертолету. Во время полета мы делаем снимки, однако контекст требует ручной установки температуры баланса белого. Пытаясь исследовать предмет, я заметил, что цветовая температура каким-то образом связана с усилением синего и красного, но я нигде не мог найти, как рассчитать это отношение. Надеюсь, это немного проясняет ситуацию.
Не уверен, что это то, что вам нужно, но ... В Lightroom вы можете настроить баланс белого для изображения RAW (и не RAW), а затем скопировать эти настройки разработчика. Затем эту настройку баланса белого можно «скопировать» на любое количество связанных изображений, снятых в аналогичных условиях/освещении.
Короче говоря, @karmalis, если вы не знаете, как оценить баланс белого, вам следует либо нанять кого-нибудь знающего, либо попробовать задать все вопросы на этом сайте.
@EuriPinhollow милый комментарий. Большое спасибо за совет.

Ответы (5)

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

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

Эта инженерная строгость может быть аппроксимирована с использованием более доступных материалов. Хорошо известна освещенность в ясный солнечный день в полдень на умеренных широтах. Если в этих условиях будет получено изображение надежно однородного и спектрально сбалансированного объекта, можно будет сделать разумную (точность около 3%) характеристику. Чтобы обеспечить точность калибровки, дважды проверьте спектральные характеристики вашего объекта (например, проверьте его свойства метамеризма), а также используйте различную экспозицию, чтобы исследовать носок и плечо вашей кривой отклика.

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

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

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

Большое спасибо за понимание, однако для нашего проекта мы будем брать немало изображений с нескольких камер в необработанном формате. Кроме того, (немного расширив комментарий к моему OP), у нас есть другое программное обеспечение и постобработка, а это означает, что у нас нет времени и ресурсов для постобработки изображений. Но что мы можем и хотим сделать, так это установить фиксированную цветовую температуру для каждого снимка, поскольку мы можем легко регулировать усиление цвета, а также усиление U/V.
Если установить фиксированную цветовую температуру, то при изменении освещения внешний вид объектов одного и того же цвета будет меняться. Когда вы устанавливаете цветовую температуру, вы не меняете фактический свет в сцене, вы меняете величину компенсации, необходимую для того, чтобы определенные объекты выглядели определенным цветом. Если свет меняется, ваша настройка цветовой температуры (и, возможно, другие факторы баланса белого, например, вдоль оси зеленый ←→пурпурный) также должны измениться, чтобы сохранить согласованные цвета объектов, которые вы изображаете.

Если вы имеете в виду «изменить усиление трех основных цветов (точно так же, как настроить кривую тона), но не усиление каналов CMOS для достижения предварительно установленного баланса белого»

Это невозможно.

Потому что баланс белого фактически изменяет «цветовую матрицу» (преобразовывая сигналы от датчиков/цветовой гаммы в определенную цветовую гамму (например, Rec.709) путем смешивания сигналов из разных каналов).

это похоже на процесс «микшера каналов» в Photoshop (но цветовая матрица смешивает линейный сигнал)

И в этом причина невозможности.

Пиплайн цветопередачи

источник из «Почему вы должны забыть о преобразовании яркости и сделать что-то лучше»

Перво-наперво: цветовая температура — это всего лишь одна ось двухмерного баланса белого. Синяя ← → янтарная ось цветовой температуры примерно перпендикулярна зеленой ← → пурпурной оси «оттенка» при построении на «цветовом круге».

введите описание изображения здесь
Ось b более или менее соответствует тому, что мы называем «цветовой температурой» (фактический цветовой диапазон излучателей абсолютно черного тела представляет собой кривую, начинающуюся с -b* и загибающуюся вправо до выхода между b* и a* ) . мы называем «оттенком».

Но при построении в цветовом пространстве CIE xyY ни одна из «осей» не является вектором с постоянным наклоном. Ось «цветовой температуры» также не является простой линией между чистым синим и чистым красным.

введите описание изображения здесь

Вот крупный план области, через которую проходит диапазон «цветовой температуры» черного тела. Обратите внимание, что по мере изменения цветовой температуры изменяется и угол диапазона зеленого ←→пурпурный.

введите описание изображения здесь

Это означает, что все еще хуже, чем вы думали. У вас могут быть два разных условия освещения, в которых источник света составляет 5500K, и один источник может быть более пурпурным, а другой источник может быть более зеленым. Вам нужно будет использовать разные множители красного и синего, чтобы объекты выглядели одинаково под каждым источником света 5500K.

Ваш вопрос многогранен, я не вижу за ним технического задания, поэтому уточните все, что хотите, в комментариях.

Современные камеры при установке температуры так делают или просто постобрабатывают?

Камеры не контролируют выход датчика, за исключением:

  • усиление/ISO

  • затвор

  • режим затвора (электронные затворы уже используются годами)

  • коррекция уровня черного (например, в датчиках Canon)

    Поэтому:

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

Да. Записывайте необработанные изображения и выполняйте постобработку всего. Необработанный файл может быть немного обработан (NR от Fuji, масштабирование канала от Nikon, артефакты сжатия от Sony MILC), но в большинстве случаев он все равно превосходен.

Я хочу создать автоматизированную систему балансировки белого, которая принимает желаемую температуру и на основе образца изображения вычисляет «будущее» усиление красного/синего или усиление У/В. Современные камеры при установке температуры так делают или просто постобрабатывают?

Это возможно, если у вас все в порядке с ограничениями:

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

Это потому, что изображение фиксирует эти три фактора:

  • СПД объекта
  • SPD осветителя
  • спектральные кривые датчика

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