目录 / 文档-技术白皮书 / 17-EFT.WP.Methods.Imaging v1.0
一句话目标:建立从物理空间到像素空间的可逆几何映射,输出可审计的 K, d, {R_i,t_i}, LUT_undistort 与跨视角/跨模态配准变换,确保重投影误差与极线误差满足契约并可在流式场景稳定运行。
I. 范围与对象
- 输入
- 标定图像与元数据:{I_i}, pattern ∈ {chessboard, charuco, aruco, dot-grid}, f_mode, focus/zoom, T_cam, ts|tau_mono。
- 目标几何:标定板格距 d_board、板面法向与平面性公差。
- 先验/外参:多相机装配初值或联机观测同步数据(第5章、第11章)。
- 输出
- 内参与畸变:K, d = {k1,k2,k3,p1,p2,...} 或 fisheye {k1,k2,k3,k4}。
- 外参集:{R_i,t_i}(相机坐标系 C 相对世界系 W),与每帧可用性标签。
- 配准/对准:H(平面单应)、E,F、T_12 ∈ SE(3)、rectify maps、warp map。
- 工件与清单:LUT_undistort, LUT_rectify, manifest.imaging.geom, hash_sha256(blob), signature。
- 适用边界
- 默认针孔+Brown-Conrady 畸变;鱼眼采用等距或等固体角模型。
- 平面板假设用于初值;最终用捆绑调整全局最小化重投影误差。
- 滚动快门可选线性运动补偿;强动态场景需与时间同步清洗联动(见《Methods.Cleaning v1.0》第5章)。
II. 名词与变量
- 相机与坐标
- K ∈ R^{3×3}:内参矩阵,fx, fy, cx, cy, s。
- R ∈ SO(3), t ∈ R^3:外参,X_C = R * X_W + t。
- 归一坐标与像素:x_n = ( x_c / z_c , y_c / z_c ),x_p = (u,v,1)^T ~ K * ( x_d, y_d, 1 )^T。
- 畸变
- Brown-Conrady:d = {k1,k2,k3,p1,p2},r^2 = x_n^2 + y_n^2。
- Fisheye(equidistant):r_d = f * theta * ( 1 + k1 theta^2 + k2 theta^4 + ... ),theta = atan2( sqrt( x_n^2 + y_n^2 ), 1 )。
- 配准
- 单应:H ∈ PGL(3),s * x_2 = H * x_1(平面/远景)。
- 极几何:x_2^T * F * x_1 = 0,E = K_2^T * F * K_1,E = [t]_x * R。
- 误差度量:eps_reproj(px),eps_epi(px),coverage_r(径向覆盖)。
- 单位与量纲
unit(u,v)="px", unit(X_W)="m", unit(theta)="rad";check_dim 必须通过。
III. 公设 P209-*
- P209-1(可观测性):标定影像集必须覆盖 r ∈ [0, r_max] 且具有足够角度/距离变化,避免退化。
- P209-2(模型选择一致):同一镜头配置的内参/畸变模型在采集与发布阶段一致,model_id 受控。
- P209-3(像素坐标系规范):像素坐标右手系,u 向右、v 向下;倾斜 s 默认 0,非零需显式发布。
- P209-4(平面性与尺度):标定板平面误差在阈值内,标称格距 d_board 为唯一尺度锚。
- P209-5(稳健最小化):最终参数由带鲁棒损失 rho(·) 的非线性最小二乘估计,离群特征点降权或移除。
- P209-6(时间一致):用于配准/外参的帧满足时间同步契约,必要时使用 tau_mono 与插值(见《Methods.Cleaning v1.0》第5章)。
- P209-7(可逆与边界):发布的 LUT_undistort 在 Omega_valid 内单调且可逆,边缘外推有界。
IV. 最小方程 S209-*
- S209-1(成像投影)
X_C = R * X_W + t;
x_n = ( X_C.x / X_C.z , X_C.y / X_C.z );
x_r = ( 1 + k1*r^2 + k2*r^4 + k3*r^6 ) * x_n;
x_t = ( 2*p1*x_n*y_n + p2*( r^2 + 2*x_n^2 ), p1*( r^2 + 2*y_n^2 ) + 2*p2*x_n*y_n );
x_d = x_r.x + x_t.x,y_d = x_r.y + x_t.y;
[u, v, 1]^T ~ K * [ x_d, y_d, 1 ]^T。 - S209-2(平面板单应性)
若 X_W = (X,Y,0,1)^T 落在板平面,s * x = K * [ r1 r2 t ] * [ X, Y, 1 ]^T,用于内参与外参初值(Zhang)。 - S209-3(重投影误差)
eps_reproj = ( 1 / N ) * ( ∑ || x_obs - x_hat ||_2 ),并统计 rmse, p95, p99。 - S209-4(极线误差与本质矩阵)
E = [t]_x * R,F = K_2^{-T} * E * K_1^{-1};
eps_epi = ( 1 / N ) * ( ∑ | x_2^T * F * x_1 | / || F * x_1 ||_2 )。 - S209-5(鱼眼等距模型)
theta = atan2( sqrt( x_n^2 + y_n^2 ), 1 );
theta_d = theta * ( 1 + k1*theta^2 + k2*theta^4 + k3*theta^6 + k4*theta^8 );
r_d = f * theta_d,x_d = ( r_d / max( eps, sqrt( x_n^2 + y_n^2 ) ) ) * x_n。 - S209-6(滚动快门近似)
行时间 tau(v) = tau_0 + v * dt_row;
R(v) ≈ Exp( hat(omega) * tau(v) ),t(v) ≈ t_0 + v * v_lin * dt_row,用于线性补偿。 - S209-7(捆绑调整)
argmin_{K,d,{R_i,t_i}} ∑_i ∑_j rho( || x_{ij} - Pi( K,d,R_i,t_i; X_j ) ||_2 )。
V. 标定与配准流程 M90-*
- M90-1 准备与就绪:校核 unit/dim,加载 d_board 与板平面公差,设定模型类型与初值策略。
- M90-2 采集策略:覆盖近/远、中心/边缘、旋转/倾斜;多相机需共视同一板且记录 tau_mono。
- M90-3 特征检测:在每帧检测角点/Marker,亚像素精炼与 Omega_valid 掩码,剔除运动模糊与过曝帧。
- M90-4 初值估计:基于 S209-2 求每帧单应,推得 K0 与每帧 R0,t0;若鱼眼则用广角初值库。
- M90-5 非线性优化:最小化 S209-7,使用 Huber 或 Cauchy 损失与梯度终止准则;并行求解多配置(不同 focus/zoom)。
- M90-6 模型选择:比较 AIC/BIC 与交叉验证误差,选择 Brown-Conrady vs Fisheye 多项式阶数。
- M90-7 生成工件:构建 LUT_undistort, rectify maps,并固定 Omega_valid 与外推策略。
- M90-8 多视几何:计算 E,F 与 T_12,执行极线矫正与双目校正;必要时全局 BA 对齐多相机阵列。
- M90-9 质量与契约:评估 eps_reproj, eps_epi, coverage_r, cond(K),执行断言与回退策略。
- M90-10 落盘与签名:输出 {K,d,{R_i,t_i}, LUT_undistort, rectify maps},写入 manifest.imaging.geom 并签名。
VI. 契约与断言
- assert reproj_rmse:rmse(eps_reproj) ≤ tol_reproj_rmse 且 p99(eps_reproj) ≤ tol_reproj_p99。
- assert epi_error(多相机):p95(eps_epi) ≤ tol_epi,极线方向残差无系统偏置。
- assert radial_coverage:coverage_r ≥ r_min_cover,外周段至少覆盖 q_edge 的角点。
- assert condK:1 ≤ cond(K) ≤ tol_condK,焦距合理且 fx/fy 在 tol_aspect 内。
- assert dist_monotone:dr_d/dr ≥ 0 于 r ∈ [0, r_max];若不满足,降低多项式阶并重估。
- assert cheirality:所有 inlier 对应 z_c > 0,负深度点比例 ≤ tol_neg_depth。
- assert rs_model(滚动快门可选):omega, v_lin 的拟合 R^2 ≥ tol_rs_r2。
- assert manifest_bind:hash_sha256( LUT_undistort ) 与清单一致,可追溯机位、时间与温度。
VII. 实现绑定 I90-*
- I90-1 detect_calib_points(I, pattern_cfg) -> {points}, quality_tags
- I90-2 init_homographies({points}, d_board) -> {H_i}
- I90-3 solve_intrinsics({H_i}) -> K0, pose0
- I90-4 refine_with_bundle({points}, K0, pose0, model_cfg) -> K, d, {R_i,t_i}, report
- I90-5 build_undistort_LUT(K, d, Omega_valid) -> LUT_undistort
- I90-6 undistort_apply(I, LUT_undistort) -> I_ud
- I90-7 estimate_EF_T({matches}, K1, K2) -> E, F, T_12, inliers
- I90-8 stereo_rectify(K1,d1,K2,d2,T_12) -> rectify_maps, Q
- I90-9 global_bundle_multi({tracks}, {K_m, d_m}) -> {R_i^m, t_i^m}, report_global
- I90-10 validate_geom_contracts(metrics, contracts) -> assert_report.geom
- I90-11 emit_manifest_geom(params, artifacts, hashes) -> manifest.imaging.geom
VIII. 交叉引用
- 辐射计量与线性域:见本卷第4章,保证几何与辐射流程解耦但单位一致。
- 光学成像与 PSF:见本卷第5章,边缘 MTF 与几何畸变可能耦合的风险提示。
- 采样与插值:见本卷第6章,undistort/rectify 的重采样核与频谱保持策略。
- 噪声与稳健估计:见本卷第7章,角点检测与匹配的置信度与降权。
- 平场/暗场:见本卷第8章,LUT_undistort 应在 FPN 校正后的 RAW 域应用优先。
- 时间同步与流式:见《Methods.Cleaning v1.0》第5章与第11章,配准在流式图中作为算子参与背压控制。
- 数据规范与清单:见《EFT.WP.Core.DataSpec v1.0》与配套白皮书《能量丝》之接口字段与工件签名。
IX. 质量度量与风控
- 核心度量
- rmse/p95/p99(eps_reproj),p95(eps_epi),coverage_r,inlier_rate,cond(K)。
- 运行期漂移:drift_fx, drift_cx, drift_k1 按窗口 Delta_t 评估;告警阈值与回退策略。
- 资源指标(流式):latency_undistort, cpu/mem, drop_rate。
- 主要风险与处置
- 板平面性或尺寸误差:启用尺度交叉校验或双板互证。
- 运动/滚快失配:启用 S209-6 模型或丢弃高速帧;与同步清洗联动。
- 模型过拟合:dist_monotone 失败时降阶或改用分段 LUT。
- 焦段/温度漂移:建立配置映射 {focus, zoom, T_cam} -> {K,d} 并在运行期切换。
- 多模态配准失败:改用互信息或边缘结构度量,必要时半自动锚点。
小结
本章给出从平面标定与极几何到全局 BA 的统一几何建模与配准流程,产出 K, d, {R_i,t_i}、LUT_undistort/rectify 与质量报告,并以清单与签名保障可追溯与可回退;在多相机/多模态与流式场景中通过契约与度量维持稳定运行。版权与许可(CC BY 4.0)
版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。
首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/