你的第一次单反叠加:从一文件夹 RAW 文件到一张照片

该把什么放进哪个文件夹、软件自己能识别什么,以及两次真实会话 —— 昴星团 111 帧、猎户座 134 帧 —— 在每一步都报告了什么。

一台架在跟踪器上的相机会写出一张装满 RAW 文件的存储卡,而从这一步到一张照片之间的那道鸿沟,正是大多数人卡住的地方。不是因为步骤难,而是没人把话说明白:什么该放在哪里,接下来会发生什么。这篇文章就把它说明白,用的是两次真实会话 —— 一台佳能拍昴星团,同一台相机拍猎户座 —— 并逐字引用软件在每个阶段实际报告的内容。

文件夹

校准的一切都由文件放在哪里决定。下面这个布局是每篇教程都教、每个叠加程序都认的:

Pleiades/
  lights/    111 x IMG_7156.CR2 ...   天空的照片
  darks/      37 x IMG_7260.CR2 ...   同样的曝光、同样的 ISO,盖上镜头盖
  flats/      17 x IMG_7290.CR2 ...   一块均匀照亮的素面
  biases/     17 x IMG_7724.CR2 ...   相机允许的最短曝光,盖上镜头盖

顶层文件夹拖到 Akastroid 上。它按名称读取那四个子文件夹(dark/darksflat/flatsbias/biases/offset 都可以),并且在做任何事之前先报告它找到了什么:

正在用 37 张暗场、17 张平场、17 张偏置进行校准。

RAW 文件里没有任何头字段说明这是哪种帧,所以文件夹就是声明。把一张暗场放进 lights/,它会被评为一张非常糟糕的、什么都没拍到的照片然后被拒绝 —— 这个结果没错,但让人摸不着头脑。

如果你只有亮场,也没关系。会话会不做校准地跑下去,并且会说明:

未检测到校准帧。继续进行亮场优化。

接着,热像素会在去马赛克之前,从帧本身用统计方法修复 —— 这一点很要紧,因为一旦热像素被插值进了相邻像素,它就不再是一个孤立的斑点,也就找不出来了。(每种校准帧到底修正了什么。

暗场经历了什么

37 张 2400 万像素的暗场,以浮点形式同时放在内存里,是 11 GB。当整组数据能装进两三个 GB 时,Akastroid 用中值来构建主暗场;装不下时则用滚动平均;在这么大的一组上,两者结果的差别是你看不出来的。

它还会检查暗场是否与亮场匹配。一张用不同曝光时间或 ISO 拍的暗场,测的是传感器的另一种状态,减掉它会留下残余图案。如果不匹配,会话会说明,照样把它们用上,并告诉你重拍:

暗场与亮场不匹配:暗场曝光 30s,亮场曝光 120s ……

在这两次真实会话里它们都匹配,没有出现警告。

评分,以及你会失去的帧

每一张亮场都会被测量:有多少颗星、有多锐、有多圆、天空有多亮、有没有卫星穿过。然后各帧相互之间打分,因为「对焦准」只有相对于那一夜的其余部分才有意义。

昴星团会话有 111 帧,选中了 67 帧;其余的分数低于这次会话自身的门槛 —— 跑焦、一片飘过的云 —— 质量判定是「有挑战」。猎户座:134 帧,选中 119 帧。两次会话都带着同一条警告:

整个会话的星点都略呈椭圆(偏心率 0.76)。这是光学系统而不是跟踪的问题 —— 彗差、场曲或相机倾斜 —— 所以没有帧因此被拒绝。

最后那句才是重点。每一帧里的星点都是椭圆的,那是镜头,不是跟踪误差;为了一个所有帧共有的毛病去拒绝帧,最后什么都剩不下来叠加。软件在会话层面告诉你一次,然后继续。

配准

各帧按星点图案对齐,而不是按赤道仪自以为指向了哪里。相机镜头会让视场略有畸变 —— 角落的拉伸方式与中心稍有不同 —— 所以在常规的旋转加平移拟合之后,第二遍会允许拟合也做拉伸,并且只有当它真的让角落的星点对得更近时才保留。每次会话里都有一小撮帧完全无法匹配(昴星团 3 帧,猎户座 7 帧),它们被排除,名字写进了日志。

整合

两次会话在这里分道扬镳,日志说明了原因:

昴星团: 整合:Sigma 剔除 —— 64 帧 —— 深度足够让 sigma 剔除干净地去掉轨迹

猎户座: 整合:线性拟合剔除 —— 112 帧的天空亮度在会话中漂移 —— 对每个像素的堆栈做拟合能剔除离群值,而不会把漂移误当成离群值

猎户座的天空在夜里逐渐变亮。普通的 sigma 剔除把每一帧都当作同一片天空的样本,于是一个平滑的漂移看起来就像是最早和最晚的帧成了离群值 —— 而那些往往是最好的数据。线性拟合剔除先拟合漂移,再拒绝剩下的部分。猎户座拒绝了 8.7% 的像素样本(单反的热像素群体加上漂移);昴星团是 3.4%。

两次会话都没有做 Drizzle,日志也说明了原因:星点跨 3.6 和 3.9 个像素,采样已经足够精细,更细的网格只会把文件变大而找不回细节。

边框

场旋转和抖动会留下一圈只有少数帧重叠的毛边。这圈边按它实际所在的位置修掉,而不是按固定百分比:

已修掉场旋转留下部分覆盖的帧边 —— 左 5 px、右 40、上 0、下 43。

色彩与梯度

两次会话都去掉了背景梯度,并根据视场内的星点做了色彩平衡 —— 昴星团 1473 颗,猎户座 1500 颗。昴星团需要二次曲面的梯度模型而不是平面,因为这支镜头对红和蓝的暗角与对绿的略有不同,而平场校正亮度比校正颜色更精确;软件从残差里检测到这一点,自己升了一级。(为什么参考星对色彩平衡很重要。

收尾

拉伸、降噪、星点处理和对比度,都是根据对完成的线性叠加图的测量来调的 —— 画面里有多少是天空、最亮的结构相对噪声有多亮、叠加有多干净 —— 日志列出每一项决定:

已调整背景 —— 画面 95% 是空旷的天空,所以背景设得更暗以免发灰 已调整高光 —— 画面有一个非常亮的核心,所以加强了高光保护以保留其结构

每一项在调整选项卡里都有一个滑块,在你动它之前都处于「自动」。

你得到什么

昴星团:64 帧,噪声相对单帧降低了 4.5 倍,Merope 和 Maia 周围的反射星云可见,星点直到角落都是圆的。猎户座:112 帧,噪声降低 6.5 倍,四边形星团区域没有过曝成白,奔跑者星云是蓝的,尘埃带干净。

两张都不是参赛级的图。两张都是照片,来自一个装着 RAW 文件的文件夹,用了大约四分钟,还附带一份日志说明做了什么、为什么。这就是第一次叠加。第二次,就是你开始读日志、开始不同意它的时候了。

简短版

  • 一个文件夹下放 lights/ darks/ flats/ biases/。把文件夹拖进去。
  • 软件会报告它找到了什么、暗场是否匹配。读那一行。
  • 各帧在会话内相互打分;每一帧共有的毛病不是拒绝任何一帧的理由。
  • 整合方法由数据决定,日志会告诉你用了哪种、为什么。
  • 每一项自动决定都有一个滑块。从「自动」开始。

阅读英文原文 · 其他语言 Deutsch · Español · Français · Italiano · 日本語 · 한국어 · Nederlands · Русский

用你自己的数据试一试

Akastroid 会自动完成本指南中的每一步,并告诉你它做了什么。

下载 Akastroid - 免费