Наблюдения с Земли
Заходите к нам на форум: задавайте вопросы - получайте ответы!
Исследование Солнечной Системы - Наблюдения
Астрономические наблюдения

Увеличение контраста астроизображений

    Кто из фотографов не пробовал хоть раз увеличивать контраст снимка какой-нибудь чёрной кошки в чёрной-пречёрной комнате? “Результирующая кошка” может стать разве что немым укором нашим потугам, но нам нет до этого дела: наша задача - “переходя от кошки к кошке”, в какой-то момент задаться вопросом о структуре изображения.
    Структура изображения и предел контрастирования
    Если бы картинка была абсолютно гладкая, беззернистая и содержала бесконечное количество градаций яркости, то проблема выявления малоконтрастных деталей решалась бы несравненно проще, хотя и здесь мы бы тут же напоролись на то обстоятельство, что слабоконтрастные детали могут располагаться на переменном фоне, перепад яркостей которого может быть очень велик, и мы бы усилили вовсе не то, что хотелось. (Сравните рис. 4 и 6). В случае зернистого изображения (а для астрофотографии это типичный случай) ограничением становится ещё и контраст между “белыми” и “чёрными” зёрнами изображения. Когда он достигнет максимального значения, дальнейшее повышение контраста однозначно ведёт к ухудшению качества картинки. (Рис. 1 и 2).

Рис. 1. Фрагмент исходного изображения

Рис. 2. Он же после контрастирования до максимального значения.

Рис. 3. Один из оригинальных снимков.

Рис. 4. Изображение, усреднённое по 7 кадрам.

Рис. 5. Одиночный снимок после повышения контраста.

Рис. 6. Усреднённая картинка после повышения контраста.

    Несмотря на то, что почти любое изображение при определённом увеличении распадается на дискретные элементы (пределный случай - типографский растр), наши глаза вполне успешно распознают целостную картинку. В случае заметной структуры изображения вовсе не обязательно доводить её до указанного предела, потому что глаз при увеличении контраста начинает видеть всё, что возможно, задолго до достижения предельного контраста, и, если мы не задались целью получить именно графическое изображение, состоящее из чёрных и белых точек, то надо чувствовать, когда следует остановиться.
    Совмещение и усреднение кадров Стандартная процедура совмещения всех кадров заключается в том, что один из слоёв обзывается шаблоном, и к нему по очереди подгоняются все остальные. Для удобной видимости момента совмещения верхний слой инвертируется и его непрозрачность (Opacity) делается равной 50%. Если видно плохо, то сверху надвешивается ещё временный корректирующий слой (Adjustment Layer) типа Brightness/Contrast, увеличивающий контраст изображения. После сдвигов и поворотов очередной слой желательно блокировать от случайного сдвига. После назначения слоям с отдельными кадрами значений Opacities, равных 100%, 50%, 33%, ...100%/n, где n - номер слоя снизу, мы получим среднее арифметическое всех совмещённых кадров, представленное на рис. 4. Другой способ усреднения (более удобный при желании назначать разные веса кадрам с разным качеством) — установить разным слоям очень малые значения opacity (~1..2%), одинаковые, если веса равны и пропорционально разные, если не равны. Затем создать сверху пустой слой, "слить" всё в него (Merge Visible, Ctrl+Alt+Shift+E) и нарастить его плотность до 100% несколькими операциями Layer via Copy (Ctrl+J) и Merge Down (Ctrl+E).
    Какие детали мы не хотим усиливать
    Сразу надо осознать, что нам совсем не нужно поднимать контраст плавных перепадов яркости неба (зари) и тех деталей кометы, которые и без того ярки и хорошо различимы. Это же отностися и к звёздам. Поэтому надо придумать механизм, блокирующий повышение контраста для этих частей изображения. Выделить их можно, используя такие свойства, как плавность зари и высокая яркость головы кометы и звёзд. Для начала “оконтрастим” отдельный кадр и убедимся, что практически никакого выигрыша в смысле видимости новых деталей мы не получили. Более того, просто усреднённое изображение явно показывает даже больше деталей... (рис. 3-5). Увеличим теперь контраст усреднённого изображения и теперь, слава богу, видим некоторый прогресс (рис. 6). Здесь же мы замечаем, сколь разрушительно действует переменный фон неба на наш замысел. Как бы нам так подготовить картинку, чтобы ещё до контрастирования фон выровнялся, не повредив при этом ни звёзд, ни хвоста?

Рис. 7. Маска для выравнивания фона.

Рис. 8. Контрастирование с предварительным выравниванием фона (см. также рис. 17).

    Если к яркой заре отдельно применить тональную кривую вида, как на рис. 8, через маску, плавно уменьшающую свою прозрачность от ярких участков к слабым, то задача будет решена. Но нам не нужно вручную рисовать необходимую для этого маску. Достаточно применить к копии изображения фильтр Median с достаточно большим радиусом, таким, чтобы не только пропали все звёзды, но и кометный хвост. Если изображение слишком велико (в пикселах, разумеется), то можно предварительно его уменьшить в два раза, отфильтровать и снова увеличить. Фильтр Median следует применять 2-кратно, т.к. из-за квадратной формы бокса фильтра результат получается не-то-чтобы-очень.
    Повторим всё сказанное в виде конкретных операций в Photoshop’e.
    Создаём над изображением Adjustment Layer типа Curves. Затем с помощью команды Image > Apply Image скопируем нашу усреднённую картинку в маску этого слоя (у него по определению всегда есть маска, но первоначально она белая. Сие означает, что Adjustment Layer действует по всему полю на все 100%). После этого, включив отображение только самой маски (для чего надо залезть в палитру Channels либо щёлкнуть мышью на значке маски в палитре Layers при зажатой клавише Alt) применим к ней фильтр Median. Затем двойным щелчком по значку кривой откроем окно с кривой и видоизменим его так, как показано на рис. 8. Отмечу, что данный корректирующий слой должен быть ниже корректирующего слоя, увеличивающего контраст, иначе выравнивать будет уже просто нечего, ведь Photoshop не понимает чисел вне диапазона 0...255.
    Полное выравнивание, как и всякий иной экстремизм, не приветствуется по двум причинам. Во-первых, даже Ивана Сусанина заря чем-то вдохновляла за пять минут до утренней побудки братьев славян, а во-вторых, зернистость в этой части картинки резко возрастает: как раз настолько, насколько мы растянули в ней тональный диапазон. Поэтому мы уменьшим “ступеньку” на кривой (рис. 9).

Рис. 9. Частичное выравнивание фона.

    Здесь надо немного откинуться и задаться вопросом, правильно ли мы поступаем, когда сначала усредняем картинки, а затем только повышаем контраст? Если вспомнить, что разрядность изображения у нас ограничена, то станет понятно, что нет, хотя последствия этого не очень заметны. Сравните гистограммы распределения пикселов по их яркости в пределах небольшого участка изображения при этих двух разных последовательностях действий (рис. 10-12) и вы увидите, что под той из них, что похожа на ежа-пенсионера, средне-квадратичное отклонение почти на 20% больше. Это эквивалентно потере 2-х из использованных 7 кадров. Довольно расточительно! При большем поднятии контраста положение будет быстро ухудшаться. Разумеется, прикреплять к каждому слою по одному корректирующему со своей маской, как можно разглядеть из рис. 12, очень неэкономично для вашей машины — это лишь для наглядности... (Сейчас при появлении "полностью" 16-разрядного Photoshop'a можно усреднять сразу. Но будьте бдительны: многие команды Apply Image в ФШ 8.0 работают с грубыми ошибками, например, команды Add и Subtract с отрицательными значениями Offset!)

Рис. 10. Гистограмма распределения яркостей на небольшом участке фона до контрастирования.

Рис. 11. Вид гистограммы в случае, когда контрастирование делается после усреднения.

Рис. 12. Вид гистограммы, когда контрастирование делается до усреднения.

    Оденем маски на светлые головы
    После более-менее успешного контрастирования хвоста кометы, мы видим, что её голова и даже звёзды заболели определённой “звёздной болезнью”, превращающей каждую в некрасивую белую дыру. Чтобы вправить выпавшие головы, сделаем так, чтобы начиная с некоторой яркости контрастированное изображение плавно переходило в неконтрастированное. Для этого поместим сверху второе и зададим ему маску в виде самого этого изображения, но контрастированного так, чтобы чёрное переходило в белое примерно у того места, где хвост начинает свою самостоятельную жизнь. Затем расширим света‘ с помощью фильтра Median и размоем. См. рис. 13-15, а результат на рис. 16. Если граница перехода слишком заметна, уменьшим Opacity верхнего слоя.

Рис. 13. Маска для ярких звёзд. 1-й этап — контрастирование копии усреднённой картинки.

Рис. 14. Маска для ярких звёзд. 2-й этап — фильтр “Maximum” (расширение светлых областей изображения).

Рис. 15. Маска для ярких звёзд. 3-й этап — размытие.

Рис. 16. Сравнение результатов простого контрастирования и с использованием маски для ярких объектов.

    Последняя неиспользованная возможность — поднятие контраста отдельно низких пространственных частот. Это, вообще говоря, приводит к ухудшению резкости, поскольку процедура обратна нерезкому маскированию, которая повышает контраст высоких частот, поэтому здесь в ещё большей степени требуется чувство меры. Если выравнивание изображения делается с помощью нерезкой ч/б негативной копии изображения, помещённой на вышележащем слое в режиме Overlay или Soft Light, то здесь используем позитивное нерезкое изображение, наложенное в режиме Overlay. Чтобы яркость при контрастировании только повышалась, сделаем так, чтобы самые тёмные места на маске имели яркость, равную 128 (рис. 20).

Рис. 17. Окончательный результат с применением полного выравнивания фона.

Рис. 18. Результат более высокой степени повышения контраста.

Рис. 19. На мой взгляд это оптимальное сочетание степени выравнивания фона и величины контраста. (На рис. 22 показано крупно).

Рис. 20. Маска для усиления низкочастотной составляющей.

    Итоги
    Сравним результаты. Сразу обращаю внимание, что поскольку деревья снизу для меня имели чисто декоративное значение, их вид не всегда соответствует тому что здесь было понаписано: где-то я тасовал маски, очумев от радости эксперимента, а где-то просто защищал их от всякого воздействия, чтобы не так была видна дискретность сдвига, но в небесной части всё по-честному. Наиболее оптимальным мне представляется вариант, где при неполном выравнивании контраст умерен (рис. 19): в этом случае небо ещё не превращается в “песок”, да и, как мы убедились, с того момента, как глаз начинает явственно различать зерно, дальнейшее контрастирование бесполезно. Повышение контаста на низких частотах даёт не очень благородный эффект в виде “распада” фона на какую-то ячеистую структуру, поэтому имеет ограниченное применение.

Рис. 21. Окончательный результат с дополнительным усилением низкочастотной составляющей изображения.

Автор: Александр Юферев, Фотохудожник из г. Новосибирска, shu-yu@yandex.ru 
2005 - , Проект "Исследование Солнечной системы"
Открыт 15.12.2005, E-mail: lobandrey@yandex.ru