平面诱导单应性矩阵

平面诱导单应性矩阵

用标准针孔模型,参考相机为 P1=K1[I∣0]P_1 = K_1[I\mid 0]P1=K1[I∣0],目标相机为 P2=K2[R∣t]P_2 = K_2[R\mid t]P2=K2[R∣t],平面方程在参考相机坐标系里是 N_c\^\\top X + d = 0

  • 像素到参考相机坐标:X=Z K1−1x1X = Z\,K_1^{-1} x_1X=ZK1−1x1,其中 x1=[u1,v1,1]⊤x_1 = [u_1,v_1,1]^\topx1=[u1,v1,1]⊤。

  • 把 XXX 代入平面方程,解出该点的深度:
    Nc⊤(ZK1−1x1)+d=0  ⇒  Z=−dNc⊤K1−1x1. N_c^\top (Z K_1^{-1} x_1) + d = 0 \;\Rightarrow\; Z = -\frac{d}{N_c^\top K_1^{-1} x_1}. Nc⊤(ZK1−1x1)+d=0⇒Z=−Nc⊤K1−1x1d.

    也即 X=−dNc⊤K1−1x1 K1−1x1X = -\dfrac{d}{N_c^\top K_1^{-1} x_1}\,K_1^{-1}x_1X=−Nc⊤K1−1x1dK1−1x1。

  • 投到目标相机:x2∼K2 (RX+t)x_2 \sim K_2\,(R X + t)x2∼K2(RX+t)。代入上面的 XXX:
    x2∼K2 ⁣(R(−dNc⊤K1−1x1K1−1x1)+t)=K2 ⁣(−dNc⊤K1−1x1RK1−1x1+t). x_2 \sim K_2\!\left(R \Bigl(-\frac{d}{N_c^\top K_1^{-1} x_1}K_1^{-1}x_1\Bigr) + t\right) = K_2\!\left(-\frac{d}{N_c^\top K_1^{-1} x_1} R K_1^{-1}x_1 + t\right). x2∼K2(R(−Nc⊤K1−1x1dK1−1x1)+t)=K2(−Nc⊤K1−1x1dRK1−1x1+t).

  • 提取分母并合并到矩阵右乘:
    x2∼K2(R−t Nc⊤d)K1−1x1. x_2 \sim K_2 \left(R - \frac{t\,N_c^\top}{d}\right) K_1^{-1} x_1. x2∼K2(R−dtNc⊤)K1−1x1.

    这就得到平面诱导单应矩阵
    H=K2(R−t Nc⊤d)K1−1, H = K_2 \left( R - \frac{t\,N_c^\top}{d} \right) K_1^{-1},H=K2(R−dtNc⊤)K1−1,

    使得x2∼Hx1x_2 \sim H x_1x2∼Hx1 (同一平面上对应点的像素齐次坐标)

相关推荐
种时光的人13 小时前
CANN仓库核心解读:catlass夯实AIGC大模型矩阵计算的算力基石
线性代数·矩阵·aigc
Zfox_16 小时前
CANN Catlass 算子模板库深度解析:高性能矩阵乘(GEMM)原理、融合优化与模板化开发实践
线性代数·矩阵
lbb 小魔仙1 天前
面向 NPU 的高性能矩阵乘法:CANN ops-nn 算子库架构与优化技术
线性代数·矩阵·架构
空白诗1 天前
CANN ops-nn 算子解读:大语言模型推理中的 MatMul 矩阵乘实现
人工智能·语言模型·矩阵
池央1 天前
ops-nn 算子库中的数据布局与混合精度策略:卷积、矩阵乘法与 RNN 的优化实践
rnn·线性代数·矩阵
深鱼~1 天前
大模型底层算力支撑:ops-math在矩阵乘法上的优化
人工智能·线性代数·矩阵·cann
Zfox_1 天前
CANN PyPTO 编程范式深度解析:并行张量与 Tile 分块操作的架构原理、内存控制与流水线调度机制
线性代数·矩阵·架构
TechWJ1 天前
catlass深度解析:Ascend平台的高性能矩阵运算模板库
线性代数·矩阵·ascend·cann·catlass
deep_drink2 天前
【基础知识一】线性代数的核心:从矩阵变换到 SVD 终极奥义
线性代数·机器学习·矩阵
数智工坊2 天前
【数据结构-特殊矩阵】3.5 特殊矩阵-压缩存储
数据结构·线性代数·矩阵