shikhalev.*
Модуль «demosaic»

Управляет процессом демозаики raw-файлов.

Фильтры Байера

Ячейки сенсора цифровой камеры не чувствительны к цвету — они способны регистрировать только различные уровни яркости. Чтобы получить цветное изображение, каждая ячейка покрывается цветным фильтром (красным, зелёным или синим), который пропускает преимущественно свет соответствующего цвета. Это означает, что каждый пиксель raw-изображения содержит информацию только об одном цветовом канале.

Цветные фильтры обычно располагаются в мозаичном узоре, известном как массив фильтров Байера. Алгоритм демозаики восстанавливает отсутствующие цветовые каналы путём интерполяции с использованием данных соседних пикселей. Для дополнительной информации см. статьи Википедии о де­мо­за­и­ке и фильтре Байера.

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

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

Для сенсоров с фильтрами Байера доступны следующие алгоритмы демозаики:

  • PPG ранее был алгоритмом демозаики по умолчанию в darktable. Он быстрый, но другие алгоритмы обычно дают лучшие результаты.

  • AMaZE и RCD обеспечивают лучшее восстановление высокочастотного содержания (мелкие детали, края, звёзды), но могут испытывать трудности с избыточным восстановлением цвета или добавлением шума в областях низкого контраста. Хотя AMaZE часто сохраняет больше высокочастотных деталей, он более склонен к избыточному восстановлению цвета, чем RCD. Поскольку RCD теперь обеспечивает производительность, схожую с PPG, но с лучшими результатами, он стал алгоритмом по умолчанию.

  • LMMSE лучше подходит для использования на изображениях с более высоким ISO и более высоким уровнем шума, чем AMaZE или RCD, которые склонны создавать артефакты избыточного восстановления при применении к таким изображениям. Он также может быть полезен для обработки изображений с узорами муара при использовании других алгоритмов.

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


Примечание: Производительность алгоритмов демозаики существенно различается, при этом AMaZE является самым медленным.


Сенсоры без фильтров Байера

Некоторые камеры используют сенсоры, не оснащённые фильтром Байера. Камеры с сенсором «X-Trans» имеют собственный набор алгоритмов демозаики. Алгоритм по умолчанию для сенсоров X-Trans — Markesteijn 1-pass, который даёт достаточно хорошие результаты. Для немного лучшего качества (за счёт значительно более медленной обработки) выберите Mar­ke­s­te­ijn 3-pass. Хотя VNG быстрее, чем Markesteijn 1-pass на некоторых компьютерах, он более склонен к артефактам.

Специальные алгоритмы

passthrough (monochrome) полезен только для камер, у которых массив цветных фильтров физически удалён с сенсора (например, соскоблен). Ал­го­рит­мы демозаики обычно восстанавливают отсутствующие цветовые каналы путём интерполяции с использованием данных соседних пикселей. Однако, если массив цветных фильтров отсутствует, интерполировать нечего, поэтому этот алгоритм просто устанавливает одинаковое значение для всех цветовых каналов, в результате чего получается монохромное изображение. Этот метод позволяет избежать артефактов интерполяции, которые могут вносить стандартные алгоритмы демозаики.

photosite_color не предназначен для обработки изображений. Он берёт не­об­ра­бо­тан­ные данные фотосайтов и отображает их как красные, синие или зелёные пиксели. Этот режим предназначен для отладки, чтобы видеть не­об­ра­бо­тан­ные данные, и может помочь в анализе ошибок, создаваемых дру­ги­ми алгоритмами демозаики.

Двойные алгоритмы демозаики

Некоторые изображения имеют области, которые лучше обрабатывать с помощью алгоритма, сохраняющего высокочастотную информацию (например, AMaZE или RCD), и другие области, которые могут выиграть от алгоритма, более подходящего для низкочастотного содержания (например, VNG4).

В двойных алгоритмах демозаики (например, RCD + VNG4) данные сенсора демозаицируются дважды: сначала с помощью RCD, AMaZE или Markesteijn 3-pass, а затем с помощью VNG4. Оба набора демозаицированных данных сохраняются для последующей обработки.

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

В общем, области с большим количеством деталей демозаицируются алгоритмом, лучше подходящим для этой цели (RCD, AMaZE, Markesteijn 3-pass), а плоские области (например, голубое небо) демозаицируются с использованием второго алгоритма (VNG4).

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

Выбор порога

Автоматический расчёт порога сложен для реализации. Вместо этого кнопка «display blending mask» может использоваться для отображения маски выбора, чтобы вы могли вручную контролировать выбор алгоритма. Чем ярче пиксель в отображаемой маске, тем больше выходные данные модуля берутся из высокочастотного алгоритма.

Элементы управления модуля

method

Алгоритм демозаики для использования (см. выше).

edge threshold

(только PPG)

Порог для дополнительного медианного прохода. По умолчанию «0», что отключает медианную фильтрацию.

LMMSE refine

(только LMMSE)

Шаги уточнения для использования с алгоритмом демозаики LMMSE. Медианные шаги усредняют выходные данные. Шаги уточнения добавляют некоторые пересчёты красного и синего каналов. Хотя опции уточнения хорошо работают для шума яркости, они могут снизить качество на изображениях с сильным хроматическим шумом.

color smoothing

Активирует несколько дополнительных проходов сглаживания цвета. По умолчанию выключено.

match greens

В некоторых камерах зелёные фильтры имеют слегка различающиеся свойства. Этот параметр добавляет дополнительный шаг выравнивания для подавления артефактов. Доступные варианты: «disabled», «lo­cal average», «full average» и «full and local average». Эта опция не ото­б­ра­жа­ет­ся для сенсоров X-Trans.

switch dual threshold

(только двойные режимы демозаики)

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

display blending mask

(только двойные режимы демозаики)

Показывает маску смешивания, которая используется для различения высокочастотных и низкочастотных областей (настраивается параметром «switch dual threshold»). Для каждого пикселя: чем ярче маска, тем больше выходные данные модуля берутся из высокочастотного алгоритма демозаики.