Модуль highlight reconstruction (восстановление пересветов)
Пытается восстановить информацию о цвете для пикселей, которые обрезаны в одном или нескольких каналах RGB.
Клиппинг
Клиппинг (обрезание значений) происходит, когда количество захваченного света превышает либо ёмкость сенсора камеры для записи этого света (насыщение фотосайта), либо ёмкость raw-файла для его хранения (цифровой клиппинг). Как только пиксель обрезан, мы больше не можем знать точную яркость этого пикселя — только то, что она равна или больше максимального значения, которое этот пиксель может хранить.
В идеале точка насыщения фотосайта должна совпадать со значением, при котором происходит цифровой клиппинг (для максимального использования динамического диапазона камеры), но эти значения часто различаются между камерами. darktable использует «белую точку» камеры, чтобы определить, обрезан ли данный канал. Если белая точка установлена неверно для данной камеры, это может привести к обрезанию действительных пикселей и негативно повлиять на эффективность этого модуля.
Когда камера захватывает свет, используя обычный байеровский сенсор, каждый пиксель представляет один цвет (R, G, B), который затем интерполируется модулем демозаики для расчёта цвета соседних пикселей. В результате часто получаются пиксели (в демозаицированном изображении), которые обрезаны в некоторых каналах (R, G, B), но не в других.
Если эти пиксели остаются частично обрезанными, это может привести к появлению нереалистичных цветов в изображении. Эти неверные цвета затем могут быть ещё больше искажены модулем баланса белого, который регулирует соотношения каналов R, G и B для учёта общего цвета сцены. Например, если обрезан только канал G (а R и B близки к обрезанию), модуль баланса белого может поднять каналы R и B выше точки обрезания канала G, что приведёт к розовым пересветам, которые в противном случае были бы белыми.
Грубый метод решения этой проблемы — обрезать каналы R и B до точки обрезания канала G (метод восстановления «clip highlights»), но это может привести к потере действительных данных пикселей, которые могут быть полезны при восстановлении пересветов, и также может вызвать другие артефакты и сдвиги оттенков.
Методы восстановления пересветов
В этом модуле предоставлено несколько методов восстановления пересветов. Все эти методы используют необрезанные каналы и/или соседние пиксели для восстановления недостающих данных.
- inpaint opposed (по умолчанию)
-
Восстанавливает обрезанные пиксели, используя среднее значение соседних необрезанных пикселей для оценки правильного цвета. Это работает хорошо для большинства изображений, но может дать сбой, если обрезанные области примыкают к областям другого цвета.
- segmentation based
-
Более сложный алгоритм, который использует соседние необрезанные пиксели для оценки правильного цвета, обрабатывая каждую обрезанную область отдельно (как отдельный сегмент). Цвет каждого обрезанного сегмента оценивается путём анализа соотношений цветов соседних пикселей. Пиксели, которые слишком тёмные или выглядят как край, отбраковываются алгоритмом. Если все окружающие пиксели отбракованы, этот сегмент восстанавливается с помощью метода «inpaint opposed» (выше). Сегменты, которые находятся близко друг к другу, часто являются частями одного и того же объекта и поэтому могут обрабатываться как один сегмент.
Восстановление на основе сегментации способно восстанавливать большие области, где все каналы обрезаны, анализируя окружающие градиенты. Однако этот метод следует рассматривать больше как способ «замаскировать» обрезанные области чем-то правдоподобным, а не как способ «волшебно» их исправить.
- guided laplacians
-
Использует алгоритм (производный от модуля diffuse or sharpen), чтобы реплицировать детали из действительных каналов в обрезанные каналы и распространять градиенты цвета из действительных окружающих областей в обрезанные области. Это вычислительно интенсивный метод, предназначенный для максимальной гладкости и бесшовного смешивания восстановленных областей с их окружением, и предназначен в первую очередь для восстановления точечных источников света и зеркальных отражений. Этот режим доступен только для байеровских сенсоров.
- clip highlights
-
Ограничивает все пиксели до уровня белого (т.е. обрезает оставшиеся цветовые каналы). Этот метод наиболее полезен в случаях, когда обрезанные пересветы происходят в естественно обесцвеченных объектах (например, облаках).
- reconstruct in LCh
-
Анализирует каждый пиксель с хотя бы одним обрезанным каналом и пытается исправить обрезанный пиксель (в цветовом пространстве LCh), используя значения других (3 для Bayer или 8 для X-Trans) пикселей в затронутом блоке сенсора. Восстановленные пересветы всё равно будут монохромными, но более яркими и с большим количеством деталей, чем при «clip highlights». Этот метод хорошо работает с высококонтрастной базовой кривой, которая делает пересветы обесцвеченными. Как и в случае с clip highlights, этот метод является хорошим вариантом для естественно обесцвеченных объектов.
- reconstruct color
-
Использует алгоритм, который переносит информацию о цвете из необрезанных окружающих областей в обрезанные пересветы. Этот метод очень хорошо работает на областях с однородными цветами и особенно полезен для тонов кожи с плавно угасающими пересветами. Обратите внимание, что этот метод может создавать лабиринтообразные артефакты на пересветах за высококонтрастными краями, например, хорошо экспонированные тонкие структуры на фоне переэкспонированного фона.
Примечание: При использовании восстановления пересветов, включённого в модуль filmic rgb, может быть лучше избегать использования этого модуля в режиме clip highlights (чтобы filmic rgb имел больше информации для работы).
Элементы управления модуля
Общие элементы управления
- method
-
Метод, используемый для восстановления пересветов.
- clipping threshold
-
Пиксели выше этого значения считаются обрезанными.
- clipping mask
-
Нажмите на значок рядом со слайдером, чтобы визуализировать, какие области изображения считаются обрезанными (маска обрезания). Если маска обрезания не соответствует предупреждению о переэкспонированности RAW, вам может потребоваться скорректировать это значение.
Примечание: Маска обрезания также доступна как растровая маска для использования в последующих модулях. Это можно использовать, например, для управления любым остаточным цветовым сдвигом после восстановления пересветов.
Режим «guided laplacians»
- noise level
-
Добавляет пуассонов шум (естественный фотонный шум, такой как в показаниях сенсора) в обрезанные области. Для изображений с высоким ISO действительные области изображения будут шумными, но восстановленные обрезанные области будут гладкими, что может выглядеть странно. Добавление некоторого шума в реконструкцию помогает визуально смешать результат с остальной частью изображения.
- iterations
-
Режим guided laplacians — это итеративный процесс, который экстраполирует градиенты и детали из окрестностей. Каждая новая итерация уточняет предыдущую реконструкцию, но добавляет больше вычислений, что сделает модуль медленнее. Количество итераций по умолчанию должно давать разумные результаты, но вы можете увеличить, если пурпурные пересветы не полностью восстановлены — увеличивайте этот параметр постепенно, но осторожно, чтобы управлять компромиссом между скоростью и качеством.
- inpaint a flat color
-
Заполнение плоским цветом — это алгоритмический приём, который может помочь восстановить пурпурные пересветы в сложных случаях (большие переэкспонированные области), сглаживая соотношения RGB. Это можно рассматривать как «усилитель реконструкции», который может уменьшить количество итераций, необходимых для полного удаления пурпура в обрезанных пересветах. Однако это также делает реконструкцию менее точной и может привести к несглаженным восстановленным краям и заполнению несвязанными цветами (например, голубое небо или зелёные листья, просачивающиеся в белые облака). Используйте эту настройку с осторожностью.
- diameter of the reconstruction
-
Режим guided laplacians использует многошкальный алгоритм, который пытается восстановить детали с каждого масштаба независимо. Диаметр реконструкции — это самый большой масштаб, используемый алгоритмом. Большие масштабы увеличат потребление памяти и время выполнения, а также могут вызвать заполнение несвязанными цветами или деталями в обрезанных областях. Рекомендуется использовать диаметр примерно в два раза больше самого большого обрезанного области для реконструкции. Также возможно, что данный диаметр может не подойти для всех обрезанных областей, в этом случае вы должны использовать несколько экземпляров на разных масштабах и соответственно маскировать обрезанные области.
Режим «segmentation based»
- clipping threshold
-
Поскольку это контролирует расположение пикселей, которые считаются обрезанными, это также изменяет размер результирующих сегментов и расположение соседних пикселей, используемых для реконструкции. Для точной настройки вы можете использовать модуль экспозиции, чтобы убедиться, что в гистограмме (или на экране) нет обрезанных пересветов. Затем повысьте порог обрезания, пока пересветы не перестанут быть белыми, и медленно снижайте его снова, пока они не будут выглядеть приемлемо.
- combine
-
Радиус, при котором близкие сегменты объединяются и считаются частью одного сегмента. Увеличивайте (чтобы объединить больше сегментов), когда разные части одного и того же объекта были неверно восстановлены в разные цвета. Уменьшайте (чтобы разделить сегменты), когда разные объекты были неверно восстановлены в один и тот же цвет. Нажмите на кнопку рядом со слайдером, чтобы увидеть контуры результирующих сегментов.
- candidating
-
Выберите, отдавать ли предпочтение выбору кандидатных пикселей (используемых для получения данных о цвете) с анализом сегментации (высокие значения) или inpaint opposed (низкие значения). Нажмите на кнопку рядом со слайдером, чтобы показать сегменты, которые считаются имеющими хороших кандидатов.
- rebuild
-
Выберите, как восстанавливать области, где все каналы обрезаны. Режимы «small» и «large» настроены для размеров сегментов меньше 25 и больше 100 пикселей в диаметре соответственно. Режимы «flat» пытаются игнорировать узкие необрезанные особенности (линии электропередач, ветки), чтобы избежать градиентов. Наконец, режимы «generic» пытаются найти лучшие настройки для каждого сегмента.
Режим «guided laplacians» и восстановление пересветов в filmic rgb
Важно отметить, что модуль восстановления пересветов находится довольно рано в конвейере пикселей — перед профилем входного цвета и полной хроматической адаптацией в цветовой калибровке (если вы используете современный рабочий процесс хроматической адаптации). Обычный приём для решения обрезанных пересветов — просто обесцветить их до белого, но поскольку белый не определён до полной хроматической адаптации и профилирования входного цвета, этот приём здесь использовать невозможно. Технически на этом этапе конвейера ещё нет цвета, только произвольный 3D-сигнал.
Подход guided laplacians разработан специально, чтобы быть устойчивым к несоответствиям баланса белого и избегать любых концепций или методов, связанных с цветом (поэтому нет явного обесцвечивания). Он работает только с градиентами (переходами) в сигнале и стремится соединить их гладко, чтобы заполнить недостающие части. Этот процесс довольно тяжёлый, поскольку попадает в категорию контролируемого машинного обучения (оптимизация на основе градиентов через многошкальную кривизну), которая является подотраслью искусственного интеллекта.
Восстановление пересветов в filmic rgb использует более простой алгоритм распространения цвета в сочетании с опцией обесцвечивания, которая может способствовать ахроматической реконструкции. Он не только знает о цвете (потому что следует после полного профилирования цвета и хроматической адаптации), но и использует упрощённую и более быструю версию алгоритма, используемого в подходе guided laplacians. В частности, этот вариант не будет так стараться восстанавливать детали и вместо этого отдаст предпочтение гладкому размытию.
Восстановление в filmic достаточно хорошо для очень больших обрезанных патчей и предлагает преимущество возможности деградировать до белого в крайнем случае. Оно также лучше и быстрее заполняет сплошным цветом обрезанные области за счёт деталей. Его основной недостаток в том, что оно не так избирательно в источнике цветов, заполняемых в обрезанных частях, поэтому может заполнить несвязанными цветами.
В целом рекомендуется использовать режим восстановления пересветов guided laplacians для:
-
сглаживания границ обрезанных областей,
-
восстановления точечных источников света и обрезанных областей диаметром менее примерно 256 пикселей (на полном разрешении RAW),
-
удаления хроматических аберраций, которые могут возникать во время демозаики (следующий модуль в конвейере) на границе между обрезанными и действительными областями.
Если вам приходится увеличивать диаметр реконструкции за пределы 512 пикселей, чтобы получить полное восстановление от пурпура, лучший подход обычно — ограничить диаметр 512 пикселями, сделать всё возможное с этой настройкой, а затем включить восстановление пересветов в filmic, чтобы завершить работу. Это даст более приемлемое время выполнения с очень похожим результатом.