规模与设备
1,466 个 ARW,125.106 GB(116.514 GiB),平均每张 85.34 MB,文件大小仅在 85.28–85.50 MB 间波动。相机型号均为 ILCE-7RM3,RAW 尺寸均为 8000×5320。
这不是一组普通的 1,466 帧延时素材,而是 296 个时间点、以 5 张为主的包围曝光序列。路线一已经用 ARW 内嵌 PreviewImage 跑通,并针对亮度跳闪、误分组和月面角度漂移完成第二轮修正。
路线一已经证明“只用 ARW 内嵌 JPEG 也能把几何流程跑通”。但这批原片的结构决定了:正式质量版本不应继续把每组只挑一张 JPEG 当终点,而应先做路线三,再把 HDR master 交给路线一或路线二。
以上为演示路线的 16-bit PNG 输出抽帧。亮度模式是 presentation,不代表月食各阶段的真实相对辐亮度。
统计来自 ARW 清单、EXIF 与 Windows 源目录只读盘点。时间以相机记录的北京时间解释;由于 EXIF 时间只有整秒精度,同一包围组内存在大量同秒记录。
1,466 个 ARW,125.106 GB(116.514 GiB),平均每张 85.34 MB,文件大小仅在 85.28–85.50 MB 间波动。相机型号均为 ILCE-7RM3,RAW 尺寸均为 8000×5320。
从 2025-09-08 00:32:38 到 02:29:41,跨度 1:57:03。1,466 张只有 732 个不同的整秒时间戳,说明不能靠“时间戳是否相同”直接定义时刻。
快门和 ISO 可用,但当前 manifest 中光圈与焦距为 0。再叠加 PreviewImage 已经过相机色调曲线、白平衡与压缩,路线一只能做观赏性一致化,不能声称完成绝对辐亮度标定。
| 出现次数 | 组内快门顺序 | 跨度 | 解释 |
|---|---|---|---|
| 133 组 | 1/40 → 1/320 → 1/5 → 1/2500 → 1.6 s | ≈12 EV | 全场最常见的五档周期;非单调顺序本身就是相机包围序列的强特征。 |
| 68 组 | 1/60 → 1/500 → 1/8 → 1/4000 → 1.0 s | ≈12 EV | 较亮阶段的另一套五档梯级。 |
| 42 组 | 1/80 → 1/640 → 1/10 → 1/5000 → 0.8 s | ≈12 EV | 尾段常见梯级;有少数组缺一档。 |
| 2 组 | 1/5 → 1/40 → 1.6 s → 1/320 → 13 s | ≈12 EV | 13 秒长曝光正是最初被固定时间窗错误拆出的来源之一。 |
当前版本是 PreviewImage 演示管线:优先验证“分组、月缘跟踪、中心/角度配准、亮度中心化、一次重采样和 QC”能否闭环。正式 RAW 线性开发尚未接入。
食相变化会让明亮区域从圆盘一侧移动。亮度质心必然跟着亮月牙漂移,而真实月心没有移动。因此检测器只把前一时刻当先验,在预测半径附近沿多条径向剖面寻找月缘梯度,再用 RANSAC 与稳健损失拟合圆。
pₖ(u) = c + (r + u)[cos φₖ, sin φₖ]
edgeₖ = arg max |∂P(pₖ(u)) / ∂u|
(c, r) = robust_circle_fit({edgeₖ})直方图匹配会把月影边界、红色和局部对比度也改掉。单一标量只改变整体曝光感,不改变帧内食相结构。最终增益为 0.187×–40.27×,中位数 0.757×,没有帧触及 100× 安全上限。
先把每帧月盘缩放到 256×256 的标准 patch,只保留内侧 78% 圆盘并做 CLAHE。SIFT 提取月海与环形山关键点,KNN 比值筛选后,由 RANSAC 部分仿射模型求相邻帧小角度,再把可靠增量逐帧累积。
matches = SIFT(t−1) ↔ SIFT(t) good if d₁ < 0.76·d₂ A = RANSAC_affine_partial(good, threshold=1.7 px) Δθₜ = atan2(A₀₁, A₀₀) θₜ = θₜ₋₁ + accepted(Δθₜ)
用户看到的“亮度大跳”和“角度没对齐”都不是单点参数问题,而是分组、渲染源、测光指标和旋转观测之间的耦合。下面按根因排列。
13 秒和 4 秒快门天然会超出固定组窗口。旧版得到 300 个“时刻”,其中有 4 个单张组和 2 个双张组;实际应是 296 组。曾对两个明显闪帧做线性时间插值,但那只是在遮掩症状。最终改为“快门开放预算 + 相邻曝光预算 + 重复 EV 边界”,伪组归零,时间修复归零。
旧指标先减低分位再取高分位,明亮月牙面积变化会让同一物理曝光得到完全不同的代表值;多档 PreviewImage 切换后更严重。最终改为局部天空环带扣底 + 月盘积分信号 + 高光 2% 截尾。
长曝光最容易找完整月缘,但不一定适合输出;中位曝光适合保高光,却可能让暗红月面几乎无信号。现在把检测用长曝光向导和最终渲染候选分离,同组共享几何。
规格建议平滑 log 增益,这对线性 RAW 很合理;但 Preview JPEG 的非线性色调和同组多档源切换会让平滑误差延续到多帧。演示版改成每时刻显式中心化;正式 RAW/HDR 路线可恢复平滑物理增益。
高通互相关容易追着明暗边界跑,出现交替的小角度;对累计角再平滑还会改变一阶差分。现在用内盘 SIFT、RANSAC 和置信筛选,只插值失败的相邻测量,不平滑可靠累积角。
Windows 上没有可直接依赖的 ExifTool/FFmpeg 组合,因此实现了只读 TIFF/IFD 内嵌 JPEG 提取,并用 OpenCV MP4 编码回退。该解析器已用真实 Sony ARW 与 ExifTool 输出做字节一致性核对。
这条路线不把月亮居中,而是保留它在天空中的真实位置,把多个食相叠加到一张背景图。最大风险不是“怎么贴月亮”,而是不能在相机被碰动时错误地把天空运动也对齐掉。
一张背景稳定、月亮沿真实轨迹排列的合成图;每个食相没有矩形天空边界,也不会因 Lighten/Maximum 把不同曝光的天空一起叠进去。
B(x,y) = a + bx + cy # 局部天空 F(x,y) = I(x,y) − B(x,y) # 月球增量 α(d) = 1 − smoothstep(r−f, r+f, d) Cnew(x) = Cold(x) + α(x)·F(x)
这比整层 Lighten/Maximum 更稳,因为不会复制每张源图的天空底色、云层渐变和矩形裁切边界。
这是最应该优先补齐的路线。它把每组 3–9 张曝光合成一张线性 master,同时保住明亮月牙和地影内红月,从根源上降低路线一的 40× 暗部增益与 Preview JPEG 跳闪。
radiance:输出 float32 EXR/TIFF,作为路线一、二的正式输入;mertens:直接生成观赏性曝光融合图。第一版优先 radiance,因为后续还能统一色调映射。
eᵢ ∝ tᵢ · ISOᵢ / Nᵢ² sᵢ = robust_fit(Pref ≈ sᵢ·Pᵢ | Ωvalid) Rᵢ(x) = sᵢPᵢ(x) wᵢ(x) = mᵢ(x)·q(zᵢ) / [σread² + βᵢRᵢ(x)] L(x) = ΣwᵢRᵢ / (Σwᵢ + ε)
RGB 三通道不应分别自由拟合,否则容易改变月食颜色;用亮度或绿通道估计公共标量。
当前最值钱的工作不是继续微调 Preview JPEG 的亮度阈值,而是把已验证的分组与月缘模块接到线性 RAW 和 bracket master 上。
| 阶段 | 交付物 | 复用当前成果 | 新增核心 | 验收重点 |
|---|---|---|---|---|
| P0 · 固化路线一 v2 | 当前 MP4、PNG、CSV、QC 作为回归基线 | 全部 | 补时间比例模式与代表帧人工抽查 | 亮度 P95、角度 P95 不退化;296 时间点稳定 |
| P1 · 路线三 radiance | 每个 bracket 一个 float32 master | 分组、月缘、候选与 QC | RAW 线性开发、亚像素平移、曝光标定、权重/去鬼影 | 亮部不剪切、暗部 SNR 提升、无月缘双影 |
| P2 · RAW 路线一 | 由 HDR master 生成正式居中延时 | surface-lock 与一次重采样 | 全局色调映射、10-bit/ProRes 编码 | 红色不漂、噪声可控、物理/观赏模式分离 |
| P3 · 路线二 | 真实轨迹合成图 | 月心与 HDR master | 地景 ROI 配准、空间选帧、天空平面与 Alpha 合成 | 轨迹真实、无矩形边、无重叠与越界 |
physical 保留月食真实变暗;presentation 便于观看。二者必须在文件名、manifest 和报告中显式标记。
保留初段亮月牙、全食红月、重新生光、长曝光周期、机位跳动与尾段不完整 bracket 等困难片。
补齐光圈、白平衡、黑/白电平、位深与固定镜头参数;否则 HDR 曲线再漂亮,也无法清楚解释物理口径。
这份报告只使用本地规格、源目录盘点、manifest、实现代码和完整输出审计;没有把网络资料或天象时间表混入本次工程结论。