Registax умеет обрабатывать серии кадров в виде видеофайла (AVI) или набора графических файлов, содержащих единичные кадры (bmp, jpg или fit — специальный «астрономический» формат изображений. Если полученная серия по количеству кадров превосходит допустимые для программы пределы, ее можно разделить на части, обработать каждую из них отдельно, а потом обработать набор кадров-результатов обработки этих частей.
После выбора серии можно просмотреть единичные кадры и отбраковать наиболее «плохие» из них — нерезкие, смазанные или дефектные. Впрочем, при размере серии в несколько сотен кадров процедура предварительного просмотра может занять слишком много времени и ее часто опускают. Тем не менее, чтобы убедиться, что в серии нет совсем испорченных кадров, которые могут стать источником серьезных проблем при обработке, рекомендуется еще до загрузки серии внимательно просмотреть видеофайл с помощью любой программы-проигрывателя. Это позволит визуально оценить, в какой части (начале, конце, середине) кадры субъективно лучше, чтобы правильно выбрать опорный кадр, с которым будут сравниваться все остальные. Если ничего не выбирать, то опорным будет выбран первый кадр в серии, и если он окажется плохим, то все процедура может дать не самый лучший результат. Итак, двигая ползунок на первой закладке программы, пользователь выбирает визуально наиболее хороший кадр — резкий, геометрически правильный. Теперь выберем размер области сравнения — Alignment box, и разместим его на выбранном кадре, который, таким образом, назначается опорным. (В дальнейшем, если в качестве опорного мы все же выбрали плохой кадр, процедуру можно будет повторить, выбрав в качестве опорного кадр, который будет оценен как самый качественный во время первого этапа работы программы). Возможные размеры области сравнения — 64, 128 и 256 пикселов — степени двойки — удобны для выполнения над выбранным фрагментом быстрого преобразования Фурье (Fast Fourier Transform — FFT). Выбирать этот размер слишком большим бессмысленно — мы снижаем и скорость, и качество обработки. Если объект имеет небольшую резкую деталь — например, тень спутника на диске Юпитера или резкий кратер на поверхности Луны, центр область сравнения совместим с этой деталью, при этом размер области может быть небольшим, меньше размера изображения. Если же резких деталей нет, возьмем размер области сравнения немного больше диска планеты и совместим центр прямоугольника с центром диска. Щелчок мыши — и программа переходит на вторую закладку — Align Frames, где и будет производиться первый этап обработки.
Вычисление сдвига между кадрами производится с использованием вычисления кросс-корреляции между ними, свертка изображений делается через быстрое преобразование Фурье. При этом, для уменьшения вероятности неправильного выравнивания из-за влияния вторичных пиков шумового происхождения, может использоваться так называемая FFT-фильтрация с параметром FFT filter. Авторы программы рекомендуют не выключать фильтрацию, а ее параметр устанавливать следующим образом: глядя на график спектра мощности изображения, поместить синюю вертикальную линию (характеризующую размер FFT фильтра в пикселах) так, чтобы она пересекалась с кривой спектра мощности (красной кривой) в правой части ниспадающей ветви спектра, но не там, где кривая сливается с нулем. На рисунке ниже в случае a значение фильтра выбрано правильно, в случае b оно слишком мало и синяя прямая пересекает кривую спектра слишком высоко, в случае c — слишком велико, и синяя прямая пересекается с кривой спектра там, где та уже практически равна нулю.
После выбора значения фильтра правильность выбора можно проверить следующим образом — нажать кнопку Recalc FFT и изучить картинку FFT Sperctrum, отображающую двумерную поверхность FFT спектра. Она передает значение двумерной функции с помощью цвета — чем выше значение функции, тем «теплее» цвет соответствующей точки — красные области соответствуют максимумам, синие — минимальным значениям. В случае, если параметр фильтра выбран правильно, на картинке мы увидим следующее — маленький (не более 1/10 стороны квадрата) округлый пик ровно в центре картинки. В этом случае мы вполне можем рассчитывать на успех. По умолчанию, значение фильтра равно 10, для большого количества случаев это вполне подходит.
Даже зная математику только в пределах школьного курса, легко придумать вполне пригодный (хотя и не очень практичный) алгоритм вычисления параметров сдвига и определения степени отличия выбранного кадра от опорного. Действительно, достаточно сдвигать выбранный кадр относительно опорного и рассчитывать для каждого сдвига, например, сумму квадратов разностей отсчетов в кадрах. Параметры сдвига, при котором эта сумма будет минимальной, можно использовать в процедуре сложения кадров, а значение минимальной суммы принять за меру разности кадров. Такой способ действительно используется в программе — для улучшения параметров сдвига на стадии оптимизации выравнивания, но для первоначальной оценки сдвига он был бы слишком медленным из-за большого количества вычислений. Но как программы оценивает КАЧЕСТВО кадра? Что мы сами понимаем под качеством кадра? Самое главное, кадр должен быть резким. Резкость кадра означает, что в нем есть резкие границы, то есть области, в которых отсчеты быстро изменяются от точки к точке — в таких случаях говорят об областях с большим градиентом (скоростью пространственных изменений) показаний. Конечно, в резком кадре есть и области с плавным изменением отсчетов, но в нерезком кадре нет областей с большими градиентами, значения пикселов изменяются плавно. Таким образом, можно сказать, что резким будет кадр, в котором много областей с большим градиентом — или что в его пространственном спектре велик вклад высоких частот. Правда, необходимо заметить, что даже у нерезкого кадра будет некоторое количество гармоник высокой частоты за счет того, что значения соседних пикселов могут значительно отличаться друг от друга из-за случайно распределенного шума в кадре. Шум дает высокочастотный вклад в пространственный спектр, поэтому правильнее всего будет оценивать качество кадра по вкладу в спектр средних частот.
В программе Registax для каждого кадра получается так называемый спектр мощности (показан красной кривой в окошках на рис 9), показывающий распределение пространственного спектра частот изображения, по горизонтальной оси отложены значения частот, по вертикальной — доля гармоники с данной частотой. Как мы уже говорили, спектр можно разделить на три области — «низких» частот, отвечающих за плавные изменения плотности в кадре, «средних», в которых сосредоточен вклад резких деталей и «высоких» — шумовых. Для резких кадров кривая будет спадать медленно — в таких кадрах есть области больших градиентов и, следовательно, велик вклад средних частот, а в нерезких кривая будет быстро спадать к нулю. В качестве примера рассмотрим два кадра — нерезкий (слева) и резкий (справа) и их спектры мощности.
На графике слева видно, что красная кривая левее зеленой вертикальной кривой практически равна нулю, то есть, в этом кадре практически нет частот выше некоторого граничного значения. На правом же графике кривая отличается от нуля даже для почти вдвое больших частот. Итак, под качеством кадра алгоритм Registax понимает отношение площади под кривой спектра мощности правее зеленой вертикальной линии, положение которой задается параметром Quality estimate, к площади по всей кривой (доля средних и высоких частот). Авторы программы рекомендуют выбирать значение этого параметра так, чтобы значение quality (см рисунок выше) у опорного кадра было в пределах 0.1–0.2. Если передвинуть зеленую линию слишком далеко влево, то есть, взять слишком малое значение параметра Quality estimate, алгоритм практически не будет различать кадры по качеству. Если же взять слишком большое значение параметра, основной вклад в площадь под кривой справа от зеленой линии будет давать шумовая составляющая, и оценка качества будет просто неправильной.
Во второй версии программы можно выбрать не только положение зеленой линии — нижней границы средних частот, но и границу, отделяющую средние частоты от высоких, шумовых. К сожалению, почему-то результаты, полученные нами со второй версией, были хуже, чем при работе с первой. Может быть, мы просто не до конца разобрались с новой версией…
Площадь под кривой спектра мощности слева от зеленой линии обозначим буквой S, под всей кривой — буквой T, а их отношение буквой Q. Если получить Q для каждого кадра в серии и обозначить самое большое значение Q через Qmax, качество каждого кадра в серии удобно выражать через отношение Q/Qmax*100%. Таким образом, качество лучшего кадра будет 100%. Для серии из двух кадров на рис. 11 качество левого будет 100%, а правого 0.0457/0.1177*100% = 38.8%.
Итак, мы научились выбирать два самых важных параметра для первого этапа обработки. Остановимся еще на нескольких важных моментах. В группе Tracking options следует выбрать пункт Track object, а пункт Predict track следует выбирать только в том случае, если объект от кадра к кадру смещается очень сильно, например, при съемке неподвижным телескопом. Кстати, в этом случае размер области сравнения нужно выбирать не меньше, чем удвоенное смещение объекта между кадрами. Очень рекомендуется выбрать Auto-optimisation. В этом случае после первого прохода по кадрам, начального определения параметров сдвига, оценки качества и вычисления для каждого кадра значения разности (суммы квадратов разностей отсчетов в данном и опорном кадрах), программа выполнит еще несколько циклов уточнения параметров. При этом область уточнения параметров сдвига задается значением Search area. Циклы будут повторяться до тех пор, пока сумма значений разностей по всем кадрам на следующем шаге не станет отличаться от того, что было на предыдущем шаге, меньше, чем на число процентов, заданное параметром Optimize until. При этом оптимизация будет производиться только для кадров, качество которых выше, чем значение Lower quality.
Итак, все готово и можно нажимать кнопку Align для выполнения первого этапа обработки. Можно нажатием кнопки Align&stack запустить выполнение сразу двух этапов, но мы не рекомендуем делать так по причинам, которые будет рассмотрены ниже. Нажмем кнопку Align и будем наблюдать за работой программы и изменением графика Registration properties. Через некоторое время, которое зависит от количества кадров в серии, размера области сравнения, необходимого количества шагов оптимизации для получения требуемой точности и, конечно, быстродействия компьютера, первый этап будет завершен и мы сможем перейти к третьей закладке программы — Stack frames.
Продолжение: 7. Второй этап — сложение кадров