Подавление шума

Шум изображения

Изображения страдают от различных типов шумов:

  1. Импульсный шум

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

  2. Аддитивный белый гауссовкий шум

    • Этот тип шума характерен для хорошо освещённых фотографий: он возникает из-за тепловых и электронных флуктуаций в устройстве захвата изображения, и уровень шума не зависит от сигнала. Аддитивный белый гауссовский шум можно уменьшить во время съёмки, используя охлаждаемые камеры. Также он уменьшается при сложении изображений, поскольку сложение \(n\) изображений увеличивает коррелированный сигнал в \(n\) раз, тогда как некоррелированный шум увеличивается только в \(\sqrt{n}\) раз. Это также тот тип шума, для удаления которого разработано большинство классических алгоритмов шумоподавления.

  3. Пуассоновский шум

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

Подавление шума в Siril

Siril предлагает хорошо изученные современные классические алгоритмы подавления шума. Критериями выбора алгоритмов были:

  • Алгоритм должен быть проанализирован в рецензируемых научных журналах с описанием алгоритма и объективным количественным сравнением его эффективности.

  • Авторы должны были предоставить доступ к реализации алгоритма в рамках свободного программного обеспечения с открытым кодом (F/OSS). Это важно для предотвращения проблем с интеллектуальной собственностью и, в случае непосредственного использования отсылок к авторским реализациям, для обеспечения совместимости лицензий.

  • Алгоритмы должны работать достаточно быстро.

  • Наконец, реализация алгоритма должна быть способна обрабатывать 32-битные пиксельные данные с плавающей запятой.

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

denoise-dialog

Диалоговое окно Подавление шума

Алгоритмы: импульсный шум

Siril в первую очередь удаляет импульсный шум с помощью сложения с обрезкой по сигме. Если вы используете этот метод сложения, у вас не должно возникнуть никаких проблем с импульсным шумом. Однако, если вы работаете с одиночной экспозицией, вы вполне можете обнаружить импульсный шум на своем изображении. Его следует удалить с помощью функции Косметическая коррекция в Siril перед использованием любого другого шумоподавления, так как наличие импульсного шума может исказить работу алгоритмов удаления аддитивного белого гауссовского шума и создать артефакты. Этот метод работает аналогично обрезанию по сигме, но анализирует соседние пиксели. Любой пиксель, интенсивность которого больше, чем n стандартных отклонений от соседних, будет отклонен и заменен значением, основанным на медиане соседних пикселей. В инструменте Подавление шума Косметическая коррекция активна по умолчанию и будет выполняться перед любыми дополнительными шагами шумоподавления. (Даже если удаление импульсного шума уже выполнено, сохранение этой настройки не навредит.) Кроме того, косметическую коррекцию можно выполнить вручную с помощью инструмента Косметическая коррекция в меню Обработка.

Алгоритмы: аддитивный белый гауссовский шум

Основной алгоритм подавления аддитивного белого гауссовского шума, используемый в Siril, — это нелокальное байесовское шумоподавление (НЛ-Байесовское) [Lebrun2013].

  • Нелокальные алгоритмы шумоподавления представляют собой значительное улучшение по сравнению с предыдущими линейными фильтрами, ориентированными на пиксели. НЛ Байесовское шумоподавление — это улучшенная версия более ранних нелокальных алгоритмов шумоподавления и один из лучших классических алгоритмов шумоподавления аддитивного белого гауссовского шума. Он незначительно лучше, чем современный “эталонный” алгоритм сопоставления блоков и снижения шума 3D-преобразования (BM3D), и намного быстрее выполняется.

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

Siril дополняет НЛ Байесовское шумоподавление рядом других алгоритмов шумоподавления:

  • Адаптивное двухдоменное подавление шума (DA3D) [Pierazzo2017]

    • Этот метод использует результат НЛ Байесовского шумоподавления в качестве опорного изображения. Опорное изображение применяется для повторной обработки исходного изображения путем выполнения сжатия в частотной области на адаптивных к форме и данным участках. Это немного улучшает производительность НЛ Байесовского шумоподавления, хотя и требует дополнительных вычислительных затрат. Адаптивные к форме и данным участки выбираются динамически, что позволяет сосредоточить вычисления на областях с наибольшей детализацией. Также это помогает уменьшить ступенчатые артефакты, присутствующие в опорном изображении.

    • В инструменте шумоподавления Siril DA3D — это простой переключатель без дополнительных настроек.

  • Усиление-подавление-вычитание (SOS) [Romano2015]

    • SOS работает путем многократного повторения основного алгоритма устранения шума. На каждой итерации изображение "усиливается" путем добавления некоторой доли исходного зашумленного изображения. Алгоритм НЛ Байесовского шумоподавления выполняется на этом усиленном изображении, после чего вычитается предыдущая оценка.

    • Изображение x на итерации \(k+1\) задаётся формулой \(x_{k+1}=f(y+x_k)-x_k\), где \(y\) — зашумленное входное изображение.

    • В инструменте шумоподавления Siril SOS — это переключатель с двумя параметрами: можно задать Кол-во повторов SOS и долю изображения с шумами, добавляемого на каждой итерации (ρ). Избегайте установки слишком высокого значения ρ, так как это может привести к проблемам со сходимостью SOS: значения по умолчанию (3 итерации и ρ = 0.2) обычно приемлемы.

Алгоритмы: Пуассоновский и Пуассоно-Гауссовский шум

  • Преобразование Анскомба, стабилизирующее дисперсию [Mäkitalo2011], [Mäkitalo2012]

    • Преобразования, стабилизирующие дисперсию, используются для изображений с Пуассоновским или Пуассоно-Гауссовским шумом, чтобы минимизировать зависимость шума от сигнала и сделать его более похожим на аддитивный белый гауссовский шум (AWGN), который хорошо устраняется методом НЛ Байеса, после чего применяется обратное преобразование. Преобразование, выбранное для использования в Siril, — это преобразование Анскомба \(A: x\rightarrow 2\times \sqrt{\left(x+\frac{3}{8}\right)}\)

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

    • В инструменте шумоподавления Siril Преобразование Анскомба представляет собой простой переключатель без дополнительных настроек.

Обратите внимание, что можно выбрать только один из вышеупомянутых дополнительных алгоритмов шумоподавления.

Анимация ниже демонстрирует, что можно достичь с использованием стабилизации дисперсии на изображении с низкой интенсивностью фотонов, в данном случае это одиночный 5-минутный кадр туманности Пеликана через красный фильтр, показанный на экране в режиме Авторастягивание. Обратите внимание на отсутствие размытия, расплывчатости или потери деталей вокруг звезд и четкий край туманности в нижней левой части изображения по сравнению с тем, что можно было бы получить с использованием более простых методов шумоподавления. После более деликатного растяжения и объединения с другими каналами это значительно улучшит качество, достижимое с очень ограниченными данными (хотя больше данных всегда является лучшим решением!)

single-sub

Шумоподавление изображения с низкой интенсивностью фотонов

Модуляция

В Siril модуляция — это параметр между 0 и 1, задающий степень смешивания исходного и очищенного от шума изображения. Значение 1 оставляет только очищенное от шума изображение, а значение 0 совсем не применяет шумоподавление. Модуляция очевидно снижает эффективность шумоподавления, но в некоторых случаях, если шумоподавление сделало плоские области изображения слишком гладкими, можно использовать модуляцию для восстановления внешнего вида микротекстуры в этих областях.

Когда применять подавление шума

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

Диалоговое окно Подавления шума

Инструмент шумоподавления в Siril доступен двумя способами: через графический интерфейс (GUI) или через командную строку. На изображении ниже показан графический интерфейс. Примечание: Расширенные настройки SOS отображаются только при выборе метода Усиление-подавление-вычитание (SOS).

диалог

Графический интерфейс Подавления шума в Siril

Шумоподавление также можно применять с помощью команд Siril, как в консоли, так и в скриптах. Формат команды следующий:

Командная строка Siril

denoise [-nocosmetic] [-mod=m] [ -vst | -da3d | -sos=n [-rho=r] ] [-indep] [-mask]
Подавляет шум на изображении, используя нелокальный Байесовский (НЛ Байесовский) алгоритм описанный Лебраном, Буадесом и Морелом.

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

Может быть указан необязательный аргумент -mod=m, где 0 <= m <= 1. Итоговое значение пикселя вычисляется как out=m × d + (1 − m) × in, где d это значение пикселя после шумопдавления. Модуляция не применяется при значении 1. Если этот параметр не указан, по умолчанию он равен 1.

Необязательный аргумент -vst можно использовать для применения перед НЛ Байесовским шумоподавлением стабилизирующего дисперсию обобщённого преобразования Анскомба. Это полезно для изображений, например, одиночные субэкспозиции, где шум имеет Пуассоновское или смесь Пуассоновского и Гауссова распределений, а не главным образом Гауссово распределение. Нельзя использовать вместе с DA3D или SOS. Для шумоподавления уже уложенных изображений обычно не даёт выигрыша.

Необязательный аргумент -da3d можно использовать для включения адаптивного двухдоменного подавления шума (DA3D) в качестве заключительного алгоритма подавления шума. Результат алгоритма сопоставления блоков и 3D трансформации (BM3D) используется как эталонное изображение для улучшения шумоподавления. DA3D улучшает детали и уменьшает ступенчатые артефакты.

Необязательный аргумент -sos=n можно использовать для включения итеративного улучшения шумоподавления с помощью алгоритма усиление-подавление-вычитание (SOS). Количество повторов указывается с помощью n. В частности, SOS может давать лучшие результаты, если неулучшенный НЛ Байесовский алгоритм оставляет артефакты в областях фона. Если одновременно переданы -da3d и -sos=n, то будет применён последний из переданных.

Может быть передан необязательный аргумент -rho=r, где 0 < r < 1. Он используется алгоритмом SOS для указания доли зашумлённого изображения, подмешиваемой к промежуточному результату между каждым повтором. Если -sos=n не указан, этот параметр игнорируется.

По умолчанию DA3D или SOS не применяются, поскольку обычно улучшение в подавлении шума относительно невелико, а эти методы требуют дополнительного вычислительного времени.

In very rare cases, blocky coloured artefacts may be found in the output when denoising colour images. The optional argument -indep can be used to prevent this by denoising each channel separately. This is slower but will eliminate artefacts. This command is mask-aware and will obey the mask if and only if the -mask flag is provided

Сравнение

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

Исходное шумное изображение

noisy

Шумное изображение

Шум удалён только с использованием НЛ Байесовского алгоритма

noisy

Шум удалён только с использованием НЛ Байесовского алгоритма

Шум удалён только с использованием НЛ Байесовского алгоритма с модуляцией 75% для сохранения некоторых микротекстур

modulation

Использование модуляции

Шум удалён с использованием НЛ Байесовского алгоритма с преобразованием Анскомба

vst

Шум удалён с использованием НЛ Байесовского алгоритма, дисперсия стабилизирована преобразованием Анскомба. Справа показано увеличение до 200% без интерполяции.

Шум удалён с использованием алгоритма Адаптивного двухдоменного подавления шума (DA3D), используя в качестве опорного изображение, обработанное НЛ Байесовским методом

da3d

Шум удалён с использованием алгоритма Адаптивного двухдоменного подавления шума (DA3D), опорное изображение подготовлено НЛ Байесовским методом. Справа показан фрагмент с увеличением в 200% без интерполяции.

Шум удалён НЛ Байесовским методом плюс Усиление-подавление-вычитание (SOS)

sos

Шум удалён НЛ Байесовским методом плюс повторы Усиления-подавления-вычитания (SOS). Справа показан фрагмент с увеличением в 200% без интерполяции.

Ограничения

Основным ограничением является то, что алгоритмы лучше всего работают, когда шум имеет гауссовский характер (или может быть преобразован в приблизительно гауссовский с помощью преобразования Анскомба (VST)). Существуют некоторые причины, по которым это может не быть верным:

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

  • Изображения, полученные цветной камерой (OSC), могут поддаваться шумоподавлению хуже, чем монохромные или скомпонованные цветные изображения. Небольшое снижение уровня аддитивного белого гауссовского шума (AWGN) в канале яркости достигается, но в результате процесса дебайеризации характер шума изменяется так, что он больше не соответствует модели AWGN и поэтому удаляется менее эффективно. Кроме того, как для снимков с цветных камер (OSC), так и для скомпонованных монохромных цветных изображений шум цветности редко соответствует модели AWGN и требует другого подхода к обработке. На данный момент шум цветности лучше всего корректировать с помощью программного обеспечения общего назначения для обработки изображений, такого как`The GIMP <https://www.gimp.org>`__.

Литература

[Lebrun2013]

Lebrun, M., Buades, A., & Morel, J. M. (2013) Implementation of the “Non-Local Bayes” (NL-Bayes) Image Denoising Algorithm. Image Processing On Line, 3 , pp. 1–42. https://doi.org/10.5201/ipol.2013.16

[Pierazzo2017]

Pierazzo, N., & Facciolo, G. (2017). Data adaptive dual domain denoising: a method to boost state of the art denoising algorithms. Image Processing On Line, 7, 93-114. https://doi.org/10.5201/ipol.2017.203

[Mäkitalo2011]

Mäkitalo, M., & Foi, A. (2012, March). Poisson-gaussian denoising using the exact unbiased inverse of the generalized anscombe transformation. In 2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 1081-1084). IEEE. https://doi.org/10.1109/ICASSP.2012.6288074

[Mäkitalo2012]

Makitalo, M., & Foi, A. (2011). A closed-form approximation of the exact unbiased inverse of the Anscombe variance-stabilizing transformation. IEEE transactions on image processing, 20(9), 2697-2698. https://doi.org/10.1109/TIP.2011.2121085

[Romano2015]

Romano, Y., & Elad, M. (2015). Boosting of image denoising algorithms. SIAM Journal on Imaging Sciences, 8(2), 1187-1219. https://doi.org/10.1137/140990978