Извлечение фона

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

диалог

Диалоговое окно "Извлечение фона". Слева версия с полиномиальной, а справа — с радиально-базисной (RBF) функциями.

Образцы фона могут быть выбраны автоматически с заданной плотностью (Плотность образцов), которые размещаются на изображении после нажатия кнопки Создать. Если какие-то области изображения ярче медианы на произведение коэффициента допуска (Допуск) и стандартного отклонения (σ), то в этой области образец фона не размещается. После автоматического создания, образцы также могут быть добавлены (левый клик) или удалены (правый клик) вручную.

Доступны два метода удаления градиента:

RBF

This is the most modern method. It uses the radial basis function to synthesize a sky background to remove the gradient with great flexibility. It requires a single parameter which is present in the form of a slider: Smoothing. With this value you can determine how soft or hard the transition between the sample points is calculated. A high smoothing factor makes sense for large and uniform gradients, and a correspondingly lower value for small, local gradations.

Совет

Start with the basic setting (50%) and gradually tweak for optimal results.

Теория

Radial basis functions are functions of the form \(\phi(\mathbf{x}) = \phi(\| \mathbf{x} \|)\), whereby in our case we use the Euclidean norm \(\| \mathbf{x} \| = \sqrt{x_1^2 + x_2^2}\). The function \(f\), which describes the background model, can now be expressed as a linear combination

\[f(\mathbf{x}) = \sum_i w_i \, \phi(\|\mathbf{x} - \mathbf{x_i}\|) + o\]

where \(w_i\) corresponds to the weights for the different sample points and \(o\) corresponds to a constant offset.

The requirement that the function \(f\) should pass through the sample points results in the condition

\[\begin{split}\begin{pmatrix} \phi(\mathbf{x}_1 - \mathbf{x}_1) & \phi(\mathbf{x}_1 - \mathbf{x}_2) & \dots & \phi(\mathbf{x}_1 - \mathbf{x}_N) & 1 \\ \phi(\mathbf{x}_2 - \mathbf{x}_1) & \phi(\mathbf{x}_2 - \mathbf{x}_2) & \dots & \phi(\mathbf{x}_2 - \mathbf{x}_N) & 1 \\ \vdots & \vdots & \ddots & \vdots \\ \phi(\mathbf{x}_N - \mathbf{x}_1) & \phi(\mathbf{x}_N - \mathbf{x}_2) & \dots & \phi(\mathbf{x}_N - \mathbf{x}_N) & 1 \\ 1 & 1 & \dots & 1 & 0 \end{pmatrix} \begin{pmatrix} w_1 \\ w_2 \\ \vdots \\ w_N \\ o \end{pmatrix} = \begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_N \\ 0 \end{pmatrix} \, ,\end{split}\]

which can only be fulfilled if the matrix on the left-hand side is invertible. With the right choice of function \(\phi\) this can always be guaranteed [Wright2003].

In addition, the summand \(s \, I\) is added to the matrix on the left-hand side, where \(s\) is a smoothing parameter and \(I\) is the unit matrix. The summand causes a regularization, which results in a smoother result the larger the parameter \(s\) is. This parameter can be changed with the Smoothing parameter of the dialog box.

For the radial basis function, we use the thin-plate spline \(\phi(|\mathbf{x}|) = |\mathbf{x}|^2 \log(|\mathbf{x}|)\).

Полином

This is the original and simplest algorithm developed in Siril. Only one parameter is used in polynomial computation: the Degree order. The higher the degree, the more flexible the correction, but a too high degree can give strange results like overcorrection.

Совет

A degree 1 correction can be very useful for when you want to remove the gradient on the subs.

Теория

Polynomial functions are functions of the form

\[\begin{equation} f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_2x^2+a_1x+a_0 \end{equation}.\]

In Siril, the maximum degree allowed is \(n=4\) and can be modified using the Degree order drop-down menu. Beyond this, the model is generally unstable and gives poor results.

Общие настройки

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

  • Коррекция:

    • Вычитание: главным образом корректируются аддитивные эффекты, вызванные световым загрязнением или Луной.

    • Деление: главным образом используется для коррекции мультипликативных эффектов, как виньетирование или дифференциальное поглощение атмосферой, например. Однако такие операции должны корректироваться с помощью мастер-кадров плоского поля.

  • Вычислить фон: Будет рассчитан синтетический фон и применён выбранный тип коррекции. Модель всегда рассчитывается для загруженного в память изображения, позволяет пользователю работать итеративно.

  • Показать оригинальное изображение: Удерживайте нажатой эту кнопку, чтобы увидеть оригинальное изображение.

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

Совет

Sometimes unsightly color banding appears after background extraction. When this happens, there are two things to check. Firstly, if the image is in 16-bit, we strongly advise you to always use the 32-bit format. If, despite everything, you still observe such artifacts, the add dither option, explained above, is the solution to your problem.

диалог

When such banding occurs after gradient extraction. It can be solved with the add dither option (Courtesy of Nathan B.).

Совет

Good results with the RBF algorithm generally require fewer samples than with the polynomial algorithm.

См. также

Больше информации в соответствующем документе.

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

subsky { -rbf | degree } [-dither] [-samples=20] [-tolerance=1.0] [-smooth=0.5]
Вычисляет синтетический градиент фона, используя либо полиномиальную функцию степени degree или радиально-базисную функцию (RBF), если указан аргумент -rbf, и вычитает градиент из изображения.
Количество и плотность образцов в горизонтальной строке и допуск для исключения ярких областей могут быть указаны опционально с помощью соответствующих аргументов. Допуск указывается в единицах медианного абсолютного отклонения (MAD): медиана + допуск * mad.
Шум, необходимый для низких динамических градиентов, может быть подмешан с помощью аргумента -dither.
Для RBF так же доступен дополнительный параметр сглаживания

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

seqsubsky sequencename { -rbf | degree } [-nodither] [-samples=20] [-tolerance=1.0] [-smooth=0.5] [-prefix=]
Аналогична команде SUBSKY, но применяется к последовательности sequencename.
Подмешивание шума, необходимого для низких динамических градиентов, может быть отключено с помощью аргумента -nodither.

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

Ссылка: subsky
[Wright2003]

Wright, Grady Barrett. Radial basis function interpolation: numerical and analytical developments. University of Colorado at Boulder, 2003.