Баланс белого в астрофотографии
Цветовой баланс для астрофото имеет, можно сказать, решающую роль. Неверный баланс белого не просто искажает цвет звезд и туманностей, но и создает дополнительные сложности с обработкой изображений. Кроме того, ошибки в цветовом балансе приводят к тому, что на снимке теряется много полезной информации.
«Традиционный» подход к обработке
Обычно астрономы-любители не особо заботятся о балансе белого, отдавая её на откуп программам. В фотоаппарате выставляется произвольный баланс белого. При сложении в DeepSkyStacker (DSS), в настройках дебайеризации отмечается опция «Использовать автобаланс белого» или «Использовать баланс белого камеры». Редко кто устанавливает ручной баланс белого.
Также обычно выставляются опции сложения «RGB калибровка фона». Его алгоритм исходит из предположения, что фон неба должен быть черным (серым). Совмещение пиков RGB-каналов между собой применяется практически повсеместно. В DSS — это выполняется автоматически (при выбранной опции), в Fitswork'е можно выполнить такое действие по произвольной области.
Все эти действия приводят к тому, что на итоговом изображении фон неба становится нейтрально-серым. Но главная проблема в том, что в реальности цвет неба вовсе не черный/серый, а имеет красно-коричневый оттенок (в некоторых случаях и зеленый). При совмещении пиков, красный уменьшается и смещается в синий цвет. Именно поэтому на таких снимках так часто видно обилие синих звёзд и так мало красных и желтых, хотя в реальности всё ровно наоборот.
Засветка неба, которая и даёт неприятный красный оттенок неба, как бы исчезает при смещении баланса к синему, и нам кажется, что такой баланс верный, но это большая ошибка, поскольку при такой операции мы потеряли очень много информации из красного канала.
Баланс белого
Баланс белого — это специальная коррекция, которая позволяет привести цвета цифрового изображения к привычному для нас виду. Наш глаз воспринимает цвет через колбочки, которые реагируют на три цвета: синий (длина волны 420 нм), зелёный (534 нм) и красный (564 нм). Причем наибольшую чувствительность глаз имеет для зеленого цвета. Это физиология, от которой нам никуда не деться.
Цифровая матрица имеет нелинейную чувствительность, которая зависит от длины волны и максимум попадает на синюю часть спектра (у неё более короткая волна). Таким образом спектральная чувствительность матрицы не совпадает с нашим зрением.
Если сфотографировать белый (или серый) лист бумаги («серая карта»), то матрица сместит его оттенок к синему цвету. Чтобы привести его к белому/серому цвету, необходимо внести коэффициенты для каждого канала, которые и приводят цвет к реальному.
Сложность здесь в том, что освещение «серой карты» может само иметь определенный оттенок (например вечерний свет имеет больше красных оттенков), и который приводит к ошибкам тестирования. Из-за этого в фотографии были разработаны различные методики (и оборудование), которые позволяют с высокой точностью вычислить правильный баланс белого.
По современным стандартам используют дневной баланс белого D50, который соответствует естественному для человека оттенку бело-желтого цвета. Другой стандарт D65 также используется в фотографии и который описывается как «яркий солнечный день» и имеет небольшое цветовое смещение.
Тут нюанс в том, что наш мозг легко адаптируется к изменению внешнего освещения, поэтому для нас нет проблем определить корректный цвет объекта в любое время дня, в солнечную или пасмурную погоду.
Оба изображения карты цветов кажутся нам естественными и неразличимыми, но при этом имеют разные значения RGB. Так работает наши глаза и мозг.
Современные фотоаппараты достаточно легко вычисляют баланс белого для каждого снимка. Проблемы возникают когда происходит съемка больших однотонных цветовых объектов или при низкой освещенности. В этом случае автоматика может дать сбой и здесь лучшим вариантом будет ручной баланс белого. Если мы говорим об астрофотографии, то это обычный «Дневной свет/Солнце».
Проверяется (при желании) это довольно просто — по той же карте цветов или с земными объектами, только в ночное время. В Сети много подобных примеров, например вот здесь. Подбирается такой баланс, при котором цвета получаются наиболее естественными.
Зачем нужно определять баланс белого, если мы используем RAW-файлы и можем выставить любой произвольный вариант на этапе постобработки?
Всё очень просто — баланс белого требуется перед сложением снимков при дебайеризации. В этом случае правильный вариант позволит сразу получить на итоговом изображении достаточно верные цвета звёзд и неба. В последующей постобработке потребуется лишь небольшая коррекция.
Если же баланс белого сбит, то после сложения придется вручную его восстанавливать, и делается это как правило «на глазок», что никак не гарантирует его корректность, не говоря уже о том, что на это требуется дополнительная работа. Выставление изначально верного баланса белого требует значительно меньше времени.
Баланс белого обычно выражают в корректирующих коэффициентах для R, G и B. Зайдите на сайт dxomark.com и найдите свою модель фотоаппарата. Перейдите по указанной ссылке и вы попадете на страницу «Tests and Reviews», где нужно выбрать «Measurements», которая содержит графики и цифры различных тестов.
Нас интересует «Color response» и табличка «White balance scales», где и указаны нужные нам коэффициенты. Например для моего Nikon D5100 будут такие значения:
R raw 2.09 G raw 1 B raw 1.52
Как правило G равен единице и отвечает также за «яркость». Эти значения нужно внести в настройки RAW в DSS, сняв при этом все «авто-балансы».
Второй способ позволяет учесть особенности конкретно вашего фотоаппарата. Выставляется ручной баланс белого «Прямой солнечный свет» (обычно это иконка «солнышко» ) и делается произвольнй снимок. Полученный raw-файл нужно загрузить в Fitswork и выбрать «Processing - Bayer Interpolation - Demosaic Camera Raw Image». В открывшемся окне будут искомые коэффициенты.
Эти значения могут отличаться от тестовых dxomark, поэтому какой именно вариант брать решайте сами. Я предпочитаю брать данные с фотоаппарата. В любом случае различие в 0.1 не будет играть большой роли.
Какого цвета небо?
Когда выставлен баланс белого, мы можем определить реальный цвет неба. И он оказывается достаточно разношерстный, но в массе своей это красно-желто-коричневые оттенки. Тема истинного цвета неба очень объёмна, поэтому я адресую интересующихся к статье Roger N. Clark The Color of the Night Sky, где приведены многочисленные примеры.
Если вы хотите серьезно заниматься автрофотографией, то я рекомендую внимательно прочитать все статьи Роджера Кларка по астрофотографии. В отличие от различных «якобы-гуру», он хорошо расскрывает все основные моменты, приводит примеры, расчеты и развеивает устоявшиеся мифы.
Основной источник красного цвета неба — банальное световое загрязнение от городов и уличного освещения. Но, даже если мы переместимся подальше от городов, то цвет неба всё-также будет иметь красноватый оттенок из-за особенностей свечения атмосферы. Мы не просто фотографируем небо через «светофильтр» атмосферы, а скорее даже находимся внутри него. Если бы мы оказались в открытом космосе, то проблема светового загрязнения нас уже не так волновала. Но для нас, астрофотографов, главная проблема ещё и в том, что световое загрязнение совпадает по спектру с красным цветом туманностей и звёзд. И очень важно не потерять эту информацию.
Удаление светового загрязнения
При правильном балансе белого у фона неба получается красноватый оттенок. Вот так, например это может выглядеть в DSS для одиночного кадра.
После сложения (в этом примере 9 файлов) получится такое же красное изображение, где видны расхождения по RGB-каналам. Так и должно быть.
Важно понимать то, что основное световое загрязнение скорее всего будет в красном R-канале начиная от самых темных оттенков до некоего значения, после которого идет уже полезный сигнал. Таким образом, чтобы убрать световую засветку следует отрезать в R-канале самую темную часть. После этого можно будет срезать темную часть и в G и B каналах, чтобы привести гистограмму к «единой начальной точке». Фон неба при этом станет достаточно тёмным.
Но, перед тем как это делать, желательно выставить корректный цвет звезд. Здесь я немного забегаю вперёд, поскольку о цвете звёзд речь пойдет ниже, поэтому пока я пропускаю этот шаг.
Открываем изображение в фотошопе и вызываем окно Curves. Переключаемся на red-канал и отмечаем опцию Show Clipping. Сдвигая нижний левый ползунок, добиваемся минимального «проявления» изображения.
Отключив Show Clipping видим результат:
Аналогично можно сразу же «подрезать» green и blue каналы, что приведёт изображение к почти «правильному» цветовому балансу.
В данном приёме мы, не смещая каналы (как это происходит при «традиционной» обработке), просто срезали ту часть, которая содержала ненужное световое загрязнение. Это очень простой способ, который позволяет сразу добиться хорошего и контролируемого результата.
Посмотрите на мой снимок Туманность «Пузырь» NGC 7635, где я специально оставил старый вариант «традиционной» обработки. Из-за того, что в нём каналы были смещены для получения черного/серого неба, сильно ослаб красный канал, который содержал почти всю информацию о туманности. И в реальности же красноты в туманности ещё больше. Смотрите для примера работу Luigi Ghilardi.
Цвет звёзд
Перед тем, как вычитать световое загрязнение, желательно выставить правильный цвет звёзд. По этому поводу может возникнуть масса споров, поскольку само по себе понятие «цвет звезд» достаточно абстрактное понятие. Для нас, астрономов-любителей, цвет звезд это то, что фиксирует камера с правильным балансом белого. Но, даже здесь есть множество нюансов. Для полноты картины попробую начать с основной теории.
Звезды — это горячие огненные шары и их цвет определяется температурой поверхности. При определенной температуре начинают преобладать различные линии спектра. Тут много зависит от химического состава и прочей сложной физики, которую мы опустим.
Свет от звезды летит в нашу сторону, но обычно проходит через различные облака газа и пыли, что смещает его спектр в красную сторону — это т.н. межзвездное покраснение. Понятно, что для близких звезд такое смещение минимально, но для остальных оно достаточно серьёзно. По этому поводу астрономы-профессионалы написали много диссертаций и научных открытий. Для нас важно лишь понять, что цвет звезд становится краснее.
После того, как свет достиг Земли, ему нужно пройти через атмосферу и здесь также цвет смещается к красному. Это примерно как смотреть на Солнце через облака, дым или на закате. Понятно, что это смещение при хорошей атмосфере (что в общем-то для нас редкость...) не так велико, но всё-таки оно есть. При этом, чем ниже объект над горизонтом, тем больше смещение.
Сам по себе результирующий цвет звёзд также постоянно меняется в довольно широких пределах. Виной всему — постоянные воздушные потоки. Посмотрите на комбинированный снимок Astronart (@astronomanda) (выдержки по 60 секунд на объектив 300мм с небольшой рассфокусировкой).
Для того, чтобы различать звезды, астрономы Герцшпрунг и Рассел придумали диаграмму «Цвет-Светимость», где было показано распределение звезд по цветам в упорядоченном виде. Звезды были сгруппированы по цветовым классам: от бело-голубых до красных (O B A F G K M).
Так уж получилось, что бело-голубые звезды имеют высокую светимость, а значит они настолько яркие, что цвет проявляется небольшим оттенком. Именно поэтому мы не сможем увидеть ярких синих звезд — поскольку такой цвет подразумевает очень высокую яркость, которая для нас воспринимается просто как яркий белый цвет. Это примерно как смотреть в летний полдень на Солнце — мы не в состоянии увидеть его реальный светло-желтый оттенок.
Помимо всего прочего, бело-голубых звезд, как выяснилось, очень мало (ну не повезло им...). Если пересчитать все звёзды, то выяснится, что на долю бело-голубых (O и B) приходится всего 0,12%. Доля (условно) чисто-белых (A) приходится 0,6%. Доля жёлто-белых (F) — 3%, желто-оранжевых (G и K) почти 20%, а 76% — это красные звезды (M).
То есть при любом раскладе бело-голубые звезды настолько малочислены, что появление их на любом астрофотоснимке должно уже вызвать подозрение. :-)
Реальный цвет звезд, тот который мы бы увидели находясь рядом, зависит от температуры поверхности. Но, после того, как свет долетел до Земли его цвет сместился к оранжевому оттенку. То есть для голубых звезд цвет стал бело-голубым, для оранжевых он стал желтовато-оранжевым, а для красных — оранжево-красным.
И здесь мы собственно и подходим к главному вопросу — каково RGB-значение цветового класса звезды?
Скажем класс A (белые звезды) — это RGB 255/255/255 или это какой-то оттенок желтого или синего? С чем именно нужно сравнивать? И в каком стандарте D65 или D50?
Модель RGB сама по себе не очень удобна для нашего восприятия, поскольку значения цветов отвечают за оттенок, насыщенность и яркость одновременно. Удобней использовать модель HSV/HSB или HSL, где H — указывает на оттенок (от 0 до 360 градусов), S — насыщенность (от 0 до 100%) и V/B/L — яркость/светлость (от 0 до 100%).
Цветовой оттенок задаётся в градусах круга, где 0 — это красный цвет. Обычно HSV изображают в виде конуса. Здесь оттенок всегда имеет «чистый» цвет, что позволяет отдельно оперировать его насыщенностью и яркостью.
Модель HSB отлично подходит для описания цвета звёзд. И вот если попробовать привести цвет звезд к этой модели, то выяснится, что все они попадут в буквально пару противоположных цветовых оттенков. Визуально получится примерно так (оттенок указан в градусах):
O 225°B 225°A 225°F65 225°F50 40°G 40°K 40°M 25°Или вот так, если смотреть по цветовой температуре:
Классы A и F относятся к белым звездам, но класс A ближе к бело-голубому, а вот F, хоть и относится к «желто-белым», в зависимости от стандарта D50 или D65, может поменять свой цветовой тон. Именно поэтому я привел его в двух вариантах для примера. Остальные классы в любом случае попадают в «свой» цветовой тон.
С практической точки зрения пользоваться классами звёзд не самая удобная вещь, поэтому астрономы придумали способы для точного определения цвета звезд. Одна из таких систем называется Показатель цвета B−V. В ней B — это синяя часть спектра, а V - визуальная, что соответствует зеленой части спектра. Разница этих значений и есть показатель цвета B−V.
Если значение равно нулю, то цвет звезды белый. Если отрицательный, то бело-голубой. Если положительный, то это желтые звезды, причем, чем больше число, тем краснее звезда.
Например Вега белая звезда с индексом 0,00. Арктур — оранжевый +1,22, Спика — бело-голубая −0,13. Наше Солнце — желтая звезда +0,65, Ригель — бело-голубая −0,03, Бетельгейзе — оранжевая +1,86, Сириус — белая +0,01.
Определить индекс B−V можно по любой звездной карте, например в Cartes du Ciel. При обработке изображения желательно посмотреть индекс звезд, чтобы понять их общий оттенок (голубой или желтый). Самая заковыристая сложность — цвет белых звезд с околонулевым индексом. Тут каждый должен решать сам: будут ли такие звезды иметь голубой оттенок или всё-таки желтый. Здесь будет играть ещё и фактор художественного вкуса астрофотографа и его желание приукрасить изображение. Именно поэтому мы почти всегда увеличиваем насыщеность звезд, чтобы их оттенок был хорошо различим. В реальности, конечно же, цвет еле угадывается.
Но нужно запомнить главное — синих звезд практически не бывает — есть легкие бело-голубые оттенки. Поэтому, если на изображении голубых звезд очень много или они синие, то скорее всего это ошибочный баланс белого.
Среди астрономов-любителей встречается методика выставления баланса белого по классу G2 — наше Солнце. В этом способе предполагается, что Солнце и есть «истинно-белый» цвет. На снимке находится G2-звезда и вводится цветовая коррекция так, чтобы она стала чисто белой (в RGB 255/255/255 или оттенках серого). Цветовой баланс при этом смещается в синюю часть спектра и все белые звезды приобретают голубой оттенок, а голубые становятся насыщенными синими. Такие снимки очень часто встречаются в Сети.
На практике цвет звезд подбирается довольно просто. Как я отдельно упомянул, перед вычитанием светового загрязнения, желательно подобрать правильный цвет звезд. Под словом «правильный» я подразумеваю цветовой тон, который однозначно относит звезду либо к голубой части, либо к жёлтой. Конкретное значение цветового тона будет зависеть от дальнейшей обработки и художественных предпочтений. Точного RGB значения нет и быть не может.
Чтобы провести такую коррекцию, в фотошопе в панели Info нужно выбрать модель HSB Color, тогда пипеткой сразу будет виден результат.
Для удобства можно сделать верхнй корректирующий слой Hue/Saturation, где выставить Saturation +80. Этот слой только для контроля, чтобы визуально увидеть усиленный цвет. После коррекции слой можно удалить.
Можно увеличить масштаб изображения, и на основном слое (Background) вызвать диалог Hue/Saturation (Ctrl+U). Ориентируясь на цвет звезд, нужно подобрать такое смещение Hue, чтобы желтые и оранжевые звезды оказались примерно как H = 20..40° (с включенным корректирующим слоем, без него оттенок должен быть более 0°).
После этого, нажимаем ОК и отключаем верхний корректирущий слой. Получится примерно так:
Теперь можно удалить световое загрязнение, а после уже приступать к дальнейшей обработке. Вот пример участка, где хорошо проявился цвет звезд (с небольшим усилением насыщенности) после этих операций.
Если бы исходный баланс белого был неверный, то вначале пришлось бы его каким-то образом восстановить, только после этого откорректировать цвет звезд и вычесть световое загрязнение. Посмотрите на готовый результат обработки M38 по этому алгоритму.
Почему цвет звезд нужно выставлять перед вычитанием светового загрязнения
При сложении RAW-файл проходит этап дебайеризации и именно здесь требуется указывать баланс белого. Чем он точнее, тем легче будет дальнейшая обработка. Но всё-равно при сложении баланс цветов окажется немного нарушен (так работают алгоритмы сложения), поэтому потребуется корректировка.
Мы исходим из предположения, что фон неба может иметь самый разный оттенок и какой именно сказать очень сложно. На цвет может повлиять что угодно, начиная от общей городской засветки, света фонаря, полярного сияния или зодиакального света. Фактор сложения также будет играть существенную роль, особенно в тех случаях, когда на исходных снимках фон неба немного различается или имеет градиенты. Из-за этого подбирать баланс цветов по небу крайне проблематично. Единственным ориентиром будет цвет звёзд.
Исходя из B-V индекса, можно выставить цветовой тон желтых и красных звезд — у них Hue-значение будет примерно между 10 и 40 градусами. Голубые звезды в этом случае окажутся где-то в районе 200 градусов.
При смещении цветового тона, происходит и изменение RGB-значений. Например пусть исходный цвет будет иметь HSB = 0° 100% 100%, что соответствует RGB = 255 0 0, то есть чистый красный цвет. Теперь добавим 40° и получим: HSB = 40° 100% 100% что равно RGB = 255 170 0. Произошли изменения в RGB-каналах.
Механизм «срезки» работает только с RGB-каналами по гистограмме, поэтому после изменения цветового тона, каналы тоже изменились.
На этих изображениях показана гистограмма и точка среза (128): на первом некое «исходное» изображение, на втором — со смещением +40°. Мы видим, что гистограмма изменилась, а значит точка среза для второго изображения должна быть смещена влево (примерно до 105).
Таким образом подбор цвета звёзд позволяет выставить верный баланс белого всего изображения. Поскольку засветка всё равно «срезается», то она может быть любым оттенком. После срезки можно опять подкорректировать цвет звезд уже до точных значений.
См. также: Как выставить баланс белого астрофото