Edinstvo.org
ЛЮБИТЕЛЬСКАЯ АСТРОНОМИЯ. АСТРОФОТОГРАФИЯ

Оптимальное количество складываемых кадров для астрофото

Как определить качество астрофото? Если не рассматривать художественные предпочтения, то таким критерием может быть только сигнал/шум (SNR). Даже если у нас современная малошумящая астрокамера, то на снимках всё равно будет появляться шум, например от самого неба. То есть в любом случае шум так или иначе проявится на одиночном снимке.

Для того, чтобы уменьшить шум, используется сложение кадров. Чем больше кадров, тем лучше. Изменение SNR зависит только от количества складываемых кадров в квадратичной зависимости. Например сложение 100 кадров приводит к улучшению сигнал/шум в 10 раз (корень из 100). То есть не важно какая была выдержка, какое оборудование или какое небо — чем больше складываемых кадров, тем лучше.

Было бы здорово численно выразить SNR и определить такое его значение, при котором шум можно считать (условно) приемлемым. В зависимости от этого значения, можно попробовать получить соответствующее ему количество складываемых кадров.

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

  • Качество неба влияет на уровень шума. Например перистые облака.
  • При засветке (город, Луна, фонари) яркость фона становится выше, тем самым изменяются численное значения SNR.
  • Метод дебайеризации влияет на SNR. Например биллинейная интерпретация сильно «замыливает» изображение.
  • Баланс белого оказывает влияние на значение SNR в разных rgb-каналах.

Численное значение SNR в децибелах определяется по формуле:

SNR(dB) = 20 * lg(Mean/Std.Deviation)

Mean — это среднее арифметическое по всем пикселям выбранного участка изображения. Std.Deviation — среднеквадратичное отклонение, которое указывает на степень отклонения значений пикселей от среднего.

На практике удобней пользоваться только Std.Deviation — чем он меньше, тем меньше уровень шума. Когда Std.Deviation равен 0, получается полностью равномерный фон одного цвета.

Снять необходимые показания можно в Fitswork'е (Show Statistics) или Фотошопе в панели гистограммы (Mean и Std Dev).

Статистика в Фотошопе

Но главная проблема в том, что исходные raw и fit-файлы имеют различный диапазон значений пикселей. Например у дарка минимум может оказаться 0, а максимум всего 1000. При этом одиночный снимок уже окажется в диапазоне 0..12000 (как пример). После сложения fit-файл вообще масштабируется в диапазоне 0..1 (это не проблема, поскольку диапазон зависит только от разрядности, а здесь это 32 бита).

Таким образом, если снимать статистику в «разнодиапазонных» файлах, то значения Mean и Std.Deviation окажутся несоизмеримы между собой.

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

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

1. Вначале открываем файл в Fitswork'е. Если это raw-файл, то выполняем дебайеризацию. Желательно не использовать биллинейную интерполяцию. Лучше качественную VNG или AHD.

2. Второй кнопкой мыши на гистограмме необходимо выполнить команду Assign the Scaling to the Image Values!. Это действие приведет диапазон минимума/максимума к 16 битам.

Обратите внимание, что в настройках Fitswork'а (Settings) параметр Black дожен быть равен 0, а White = 100. Это исключит срез ярких и темных пикселей (клиппинг).

3. Теперь нужно выставить примерную гамма-коррекцию. Опять же в гистограмме выбираем команду Automatic Scaling. Изображение поменяет яркость. Такая коррекция нам нужна, чтобы после упростить коррекцию уровнями в Фотошопе.

4. Теперь нужно получить только яркостный канал. Выбираем пункт меню «Processing - Color Image to B/W (Luma)». Новое изображение стало черно-белым.

5. Опять выбираем Automatic Scaling, чтобы немного подкорректировать гамму.

6. Сохраняем результат как TIF-файл 16 бит. Данный файл и служит для снятия статистики в фотошопе.

7. Открываем файл в фотошопе и выделяем область без звезд (можно подбирать). В панели гистограммы будут отображаться значения Mean и Std Dev.

8. Нужно обратить внимание на значение Mean. Если мы хотим упростить себе задачу, то для всех исследуемых файлов значение Mean должно быть примерно одинаковым. Например я остановился на значении 32. Чтобы привести Mean к этому числу можно вызвать диалог Levels, регулируя средним ползунком. Какой-то особой точности здесь не требуется, плюс/мину 0,5..1 будет достаточно.

Подбор Mean с помощью уровней в Фотошопе

9. Вот теперь мы можем записать значения Mean и Std Dev, которые и нужны будут для анализа.

Необходимо отметить, что можно получить SNR по указанной исходной формуле. Просто оперировать «голым» Std.Deviation немного проще.

Анализ

Для анализа нужно получить числа для

  • одиночного снимка (raw)
  • сложения 10-ка файлов (fit)
  • сложения 100-ни файлов (fit)
  • и т.д.

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

Приведу свои значения (разные астроессии, с округлением чисел, Mean везде равен 32, M/S это Mean/StdDev).

Кадров    StdDev     M/S    dB
   1       6,70      4,7    14
  18       3,21      9,9    20
  37       2,65     12,0    21
 161       1,32     24,2    27
 290       1,07     29,9    29
 345       0,87     36,7    31
 375       0,85     37,6    31
 547       0,68     47,0    33
1000       0,50     64,0    36 - прогноз

На основе этих данных можно построить график (1000 кадров — фиктивная точка / значения Std.Deviation умножил на 100 для лучшей читабельности).

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

Данный график хорошо показывает изменение уровня шума при разном количестве складываемых кадров.

Приведённые цифры получены для моего оборудования и неба, но у вас они будут другими. Как я уже отметил на это влияет очень много факторов. Например, если у вас малошумная астрокамера, то Std.Deviation равный 1,0 вы сможете получить, скажем всего при 50 кадрах. Или наоборот, если у вас шумный Canon, то это значение будет доступно только при 500 снимках. То есть единственный способ получить реальные цифры — это провести свои измерения.

Если Mean на всех кадрах примерно одинаковый, то мы можем ориентироваться только на значение Std.Deviation. Но, если Mean разный, то лучше смотреть отношение Mean/Std.Deviation — данная пропорция также указывает на уровень шума: чем оно больше, тем лучше фон. Когда фон равномерный, отношение M/S будет стремиться к бесконечности (Std.Deviation = 0). Если нужно быстро оценить SNR для разных изображений, то M/S будет даже предпочтительней.

Визуальная оценка шума

Насколько Std.Deviation 1,07 хуже 0,68 (в моих примерах)? Такую оценку можно выполнить только визуально. Здесь еще нужно учитывать тот факт, что многие астрофотографии допускают довольно шумный фон, которые можно исправить художественной обработкой. Например рассеянные скопления легко редактируются, поскольку между звездами и фоном неба довольно большой контраст и это упрощает создание корректирующих масок.

Но для слабых туманных объектов, сливающихся с фоном, желательно заранее определить сколько нужно получить снимков для сложения, чтобы спланировать астросессию. Если количество будет недостаточным, то шум просто не позволит полноценно «вытянуть» объект.

В этой анимации («Ирис») я привожу результат сложения 209 (Std.Deviation 1,07) и 547 кадров (Std.Deviation 0,68), где хорошо видна разница в шуме (на изображениях я специально увеличил контраст).

Очевидно, что 547 кадров дают неплохой фон. Используя приведенный выше график, можно спрогнозировать, что доведя количество кадров до 1000, мы получим ещё более гладкий фон. Однако численное значение указывает всего на довольно «скромное» улучшение до 0,5 (причем это только прогноз), но при этом придется сделать ещё аж 500 кадров. Стоит ли тратить на это время или можно ограничиться текущим вариантом? Ответ строго индивидуальный.

А как же выдержка?

«Классический» вопрос — что лучше 10 кадров по 1 минуте или один на 10 минут? Если говорить с точки зрения SNR, то ответ однозначный — 10 кадров будут лучше.

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

В первую очередь максимальная выдержка ограничивается механикой монтировки и качеством гидирования. Например я не использую гидирование и снимаю обычно короткими 15-секундными выдержками. При этом на одиночных снимках заметны звезды примерно до 16m. (После сложения проявляются звезды/объекты до 18m.) Если увеличить выдержку до 30 секунд, то заметны звезды до 16.40m. Если же увеличить выдержку до 60 секунд, то проницание будет ещё выше (16.50m), но при этом процент бракованных кадров возрастает до 90-100%, что делает такие выдержки бессмысленными. Оптимально будет остановиться на 15-30 секундах.

Другой фактор, ограничивающий максимальную выдержку — яркость объекта. Яркий объект быстро насытит пиксели матрицы и тем самым приведет снимок к браку.

Таким образом, чтобы определить оптимальную выдержку, следует определиться со снимаемым объектом. Если механика монтировки позволяет и нет выгоревших звёзд, то выдержку можно и увеличить. В противном случае гнаться за длинной выдержкой окажется глупой затеей.

Отдельно следует отметить, что существуют малошумящие астрокамеры (с «холодильниками»), у которых темновой шум очень мал. В их случаях шум на изображении будет мал и может быть «проигнорирован», поскольку не будет проблемой при последующей художественной обработке. Но такие астрокамеры сильно дорогие, поэтому для нормальных астрономов-любителей они просто недоступны.

При этом, не зависимо от выдержки, на снимке будет шум. Возьмём для примера изображение NGC 5101 (и окрестностей) с конкурса Сhilescope полученное на очень дорогом оборудовании. Здесь суммарное накопление 50 часов! Определим SNR яркостного канала.

NGC 5101 от Сhilescope

Mean = 32,29. Std.Deviation = 1,99. M/S = 16,23. SNR = 24dB. В этом изображении было сложение 51 кадра. Данные цифры довольно неплохо согласуются с моим графиком. Другие RGB-каналы также с ним совпадают (желающие могут проверить это сами).

Это ещё раз доказывает, что количество кадров играет основную роль в деле уменьшения шума.

Комментариев: 1 RSS

1Иван11-03-2023 16:03

Большое спасибо, очень познавательно, хоть я и не всё понял. Радует, что вы не голословны и оперируете фактами. Буду разбираться дальше.

Оставьте комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

(обязательно)