Пользователь
Логин:
Пароль:
  Регистрация
Обновления
Астротека 01-05-2011
Опубликована статья А.Пецык "Постройка 18-ти дюймового добсона «Фомальгаут»".

Astronomer.ru 12-11-2010
Большая экспедиция ПулКОН по Западному полушарию

Astronomer.ru 10-10-2010
Первый свет второго Цейсс-600 в Тарихе

 Все обновления
Доска объявлений
 747   Продаю/Меняю  0 
 356   Куплю  0 
  Список досок
Астротека
Статьи: Астрофотография

Александр Юферев - Автоматическое устранение дефектов фотографий при одновременной обработке 3-х изображений в Photoshop

Дата публикации: 04-06-2005


АВТОМАТИЧЕСКОЕ УСТРАНЕНИЕ ДЕФЕКТОВ ФОТОГРАФИЙ
ПРИ ОДНОВРЕМЕННОЙ ОБРАБОТКЕ 3-Х ИЗОБРАЖЕНИЙ В PHOTOSHOP’E

Александр Юферев

Введение

При съёмке астрономических объектов иногда выгоднее делать не один снимок с длительной выдержкой на низкочувствительную эмульсию, а серию кадров с короткими выдержками на высокочувствительную плёнку. Кроме естественных недостатков такого способа - большего расхода плёнки и необходимости точного совмещения - есть и конкретные преимущества: во многих случаях можно обойтись без экваториальной монтировки, что в походных условиях немаловажно. Если же гидирование и используется, то вероятность ошибок уменьшается, к тому же можно провести селекцию кадров по качеству и объединить лучшие.

Снимая в 1996-97 гг. кометы Hyakutake и Hale-Bopp, я получил несколько серий кадров на плёнки Свема А-2Ш (чувствительность EI ~300*) и Kodak Tmax p3200 (EI ~1 000 и ~8 000 при проявлении соответственно в разбавленном D-23 и специальном проявителе Tmax), первая из которых обычно содержит большое количество дефектов эмульсии и требует обширной ретуши. У меня давно зрело желание как-то автоматизировать ретушь снимков, используя базовые средства Photoshop’a.



Принципы обработки

При совместной обработке 3-х и более совмещённых изображений теоретически появляется возможность для каждой точки выявить один из исходных снимков, содержащих в данной точке дефект. Если отличие от среднего для данного снимка значительно больше, чем для других, то с большой вероятностью это дефект и в формировании окончательного изображения (в данной точке!) соответствующий снимок участвовать не должен. Можно ввести некий порог, при превышении которого пиксел данного кадра считается дефектным, но допустимо и такое упрощение: любой пиксел с максимальным отклонением считать “неблагонадёжным” и всегда отбрасывать его, усредняя остальные. Это, кстати обеспечивает равномерные шумовые характеристики по всему изображению, поскольку в любой точке усреднение идёт по одинаковому числу кадров (n-1).



Обработка в Photoshop’e

“Программирование” в Photoshop’e
Разумеется, написание сложных программ требует по сути написания новых plug-in’ов или написания отделных программ, но таким умением может похвастаться далеко не каждый фотограф, в том числе и я. Однако кое-чего можно добиться, используя базовые средства.

Для записи макрокоманд в Photoshop’e имеется панель Actions, позволяющая запомнить последовательность операций при обработке и допускающую некоторую правку (перестановка команд, копирование, временное отключение, вставка ссылки на другую макрокоманду). Все действия производятся на “подопытном” файле. Если при последующей отладке требуется вставить некоторые специфические команды, которых нет в меню, а делаются только мышью или горячими клавишами, то опять на пробном файле (с нужными именами слоёв и каналов!) записывается эта новая серия (во временном action) и затем перетаскивается в “больное” место отлаживаемой программы.
Кроме возможности замедленного проигрывания программы для отладки удобно пошаговое исполнение команд. Это делается двойным щелчком на строке очередной команды при нажатой клаваише Ctrl. В сложных местах можно вставить команды Stop, чтобы проанализировать промежуточный результат. Снова нажав кнопку Play, продолжаем выполнение программы.

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

Логические операции
В неявном виде многие логические операции в Photoshop’e присутствуют. Например, режим наложения слоёв Lighten означает выбор максимального из двух, режим наложения Difference (показывающий различие в яркости по модулю) в сочетании с командой Threshold с уровнем равным 1 позволяет получить сигнал о точном равенстве значениий яркости. Если мы хотим определить, больше ли данное значение яркости какого либо значения, то соответствующий слой инвертируется, ему устанавливается Opacity 50%, а сверху навешивается Adjustment Layer Threshold с порогом 128. Если яркость оцениваемого слоя (до инвертирования) хотя бы на один уровень превышает нижний, то на выходе получим белую точку. В остальных случаях - чёрную. Ну и всё в таком духе...

Подготовка изображений перед запуском программы чистки
Три изображения размещаются в три слоя, проводится предварительная установка уровней белой и чёрной точки для каждого слоя (самая тёмная должна иметь яркость L ~2-3, а самая светлая - L ~98 или RGB ~10 и 250 соответственно). После точного совмещения надо будет ещё подправить гамму, оценивая яркость по небольшой области фона с помощью команды Image > Histogram.

Теперь изображения надо точно совместить. Для этого второй слой инвертируется, его непрозрачность устанавливается на уровне 50%. Затем по какой-нибудь звезде около центра кадра изображения совмещаются (это легко, поскольку в момент точного совпадения изображение-бутерброд становится невидимым). Однако, при удалении от центра вследствие поворота картинки уже не будут совпадать. Даём команду Edit > Free Transform (Ctrl+T) и на панели Options (в 6-й версии Photoshop’a) вводим угол поворота. Одно нажатие клавиш со стрелками изменяет значение на 0.1°, более дробные значения можно получить только дублированием данного слоя в отделный документ, поворотом холста (Image > Rotate Canvas > Arbitrary...) и дублированием повёрнутого слоя в исходный документ. Теперь надо ждать несколько секунд, пока прорисуется предварительное изображение результата поворота. После прорисовки можно полазить по изображению и посмотреть, хорошо ли совмещение. Замечу, что сам слой ещё не повёрнут - мы видим только превью. Чтобы запустить счёт, надо дважды нажать Enter (от момента, пока мигает курсор в панели): сначала становится доступной габаритная рамка. Тут вы можете передвигать её вручную и двигаться по изображению с помощью “лапы” или горячих клавиш. При втором нажатии Enter запускается счёт.

Теперь надо подправить гамму 2-го и 3-го слоя, наблюдая значения яркости в области равномерного фона. Средние значения должны совпадать с точностью 1-2 уровней.

Что делает программа
Сначала считаются попарные средние значения, затем им будет заданы маски. В эти маски будут вставлены белые точки там, где требуется, чтобы в результирующее изображение входило среднее по соответствующим исходным кадрам. Белая точка маски означает непрозрачность слоя в данной точке, т.е. видимость его. Каждый слой получится “дырявым” примерно на 1/3, а в сумме слои точно заполняют всё изображение без перекрытий и разрывов.

Прежде, чем начать создавать маски, программа формирует вспомогательные немного сглаженные изображения оригинальных слоёв и простого среднего и будет сравнивать именно их. Это улучшает исключение линейных структур и больших пятен с нерезкими краями (в формировании же окончательного изображения участвуют однако резкие изображения).
Для определения максимального отклонения яркости слой с простым средним (его размытый вариант) надвешивается над оригинальными (размытыми) слоями в режиме Difference. Они поочерёдно включаются, а результирующий сигнал отправляется в слои с промежуточным результатом. Затем определяются максимальные из этих отклонений. Далее эти максимальные отклонения сравниваются поочерёдно с отклонениями для каждого слоя и в случае совпадения соответствуюший сигнал в виде белой точки идёт на маску того слоя, где находится изображение, усреднённое по двум другим исходным кадрам.

Все фразы вроде “отправить изображение туда-то” означают использование команд Apply Image или одного из её сокращённых, но очень удобных и часто используемых вариантов, осуществляемых клавишами Ctrl+Alt+Shift+E, когда всё видимое изображение копируется в активный слой.

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

Прилагаемый Action может не работать в русифицированном ФШ вследствие ссылок на неименованные слои и каналы (типа "Layer 1" и "слой 1").



Видимые результаты

Для тестовой обработки я выбрал набор из трёх снимков кометы Hyakutake 1996 года. Кроме обычных царапин один из кадров содержал ужасный дефект полива. На представленных кадрах (рис. 1-10) контраст специально увеличен для лучшей видимости. Первоначально уровни яркости кадров выравнивались по бездефектным участкам фона, но вследствие того, что кадр с дефектом полива (рис. 2) однозначно интерпретировался программой как бракованный в этой обширной области, усреднение шло по двум другим, один из которых содержал в той же области царапины. В результате при первой попытке они остались в областях головы и хвоста кометы. После небольшого уменьшения яркости кадра, представленного на рис. 2 и повторения процедуры результат получился чище. См. фрагменты фото на рис. 1-6 и обработанный полный кадр на рис. 11.

Обработка другой тройки снимков проходила без осложнений, поскольку она не содержала плавных вариаций яркости, превышающий обычный шум зернистости. См. фрагменты фото на рис. 7-10 и окончательный вид на рис. 12.

Снимок на рис. 12 дополнительно был отфильтрован для усиления контраста слабых участков хвоста, но это уже “совсем другая история”, повествующая об увеличении контраста на определённых пространственных частотах и в определённом интервале яркостей, за счёт чего голова кометы не оказалась “выжженой”, как при простом увеличении контраста.



Выводы

Использование 3-х снимков для получения чистого изображения, в отличие от обычной ретуши даёт истинное изображение объектов в любой точке, а не заплатанное тем или иным способом участками соседнего фона (разумеется, если в этой точке 2 из 3-х кадров одновременно не содержат дефекты).

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

Предложенная селекция по трём кадрам работает по принципу “бей, всё, что шевелится”, который, в частности, использует наш собственный глаз при просмотре старой киноплёнки. Хотя мусор и мелькает перед глазами, мы чётко видим всё, что за ним. По сути аналогичный подход в своё время был реализован в радиотелескопе типа “крест Миллса”, в котором путём переключения между продольной и поперечной антеннами возникал сигнал с переменной и постоянной составляющими, а после применения фильтра оставалась только постоянная, соответствующая общей части диаграммы направленности этих антенн, которая выглядит, как тонкий “карандаш”.

Применение данного алгоритма может быть самым разнообразным: например, архитектурная съёмка сквозь троллейбусные провода (достаточно чуть-чуть сдвигать точку съёмки. Остаточные дефекты всё легче будет ретушировать). В астрономической фотографии, имея, допустим, серию кадров кометы, движущейся среди звёзд, можно, совместив кадры по комете, полностью исключить звёзды. Сравнивая каждое исходное изображение с очищенным, можно всего в несколько шагов создать для них маску и класть эти объекты на новый фон (соответствующая макрокоманда тоже имеется). Хотя более полезным, наверно, остаётся именно борьба с мусором, например при поисках переменных звёзд или новых астероидов. Одно дело блинковать два замусоренных кадра, а другое дело сравнивать с очищенным. Если слабый астероид за время выдержки ощутимо не сдвигается, то его тоже можно снимать по три раза. Тогда вы сможете блинковать уже два очищенных изображения. Кстати, самый лучший инструмент для блинкования - это программа ACDSee в режиме Slide Show, поскольку оба изображения кэшируются и сменяются без задержки на прорисовку. Вызовите Options (Ctrl+O) и поставьте значения в соответствии с рисунками. Выделяете два файла и нажимаете Ctrl+S.





Александр Юферев
Фотохудожник из г. Новосибирска
shu-yu@yandex.ru
www.photographer.ru/~shu-yu
статья предоставлена для публикации автором



ИЛЛЮСТРАЦИИ:



Рис. 1. 1-й исходный кадр. Контраст на рис. 1-10 специально увеличен.




Рис. 2. 2-й исходный кадр с большим дефектом полива эмульсии.




Рис. 3. 3-й исходный кадр.




Рис. 4. Простое среднее трёх исходных кадров (получается
заданием Opacities 50 и 33% второму и третьему слоям). Дефекты остаются видны.




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




Рис. 6. Более удачный вариант очистки после изменения
яркости одного из кадров.




Рис. 7. Фрагмент другого снимка. Простое усреднение 3-х кадров.
“След снежного человека”.




Рис. 8. Он же после обработки. “А нас тут не стояло...”




Рис. 9. Другой фрагмент предыдущего снимка. Простое среднее.
Много мелких дефектов, трудноотличимых от звёзд.




Рис. 10. Он же после обработки.


открывается в отдельном окне

Рис. 11. Полный кадр, фрагменты которого показаны на рис. 1-6, с нормальным
контрастом, без какой-либо дополнительной обработки.
(Нажмите для увеличения)


открывается в отдельном окне

Рис. 12. Полная версия снимка кометы Hyakutake 1996 г., фрагменты которого показаны на
рис. 7-10. Здесь уже применялась дополнительная обработка с усилением контраста.
(Нажмите для увеличения)



См. также:

Александр Юферев, Увеличение контраста изображений астрономических объектов

Александр Юферев, Экзотические беседы о Фотошопе



Обсуждение материала

Материал еще не обсуждался.
Вы можете создать первую тему обсуждения
Создать новую тему

Астрономия и телескопостроение - Copyright © 1999-2006 Коллектив авторов