当前位置: 首页 > news >正文

单应矩阵H

一、为什么需要单应矩阵?

张正友标定

单应矩阵(Homography)是3×3 齐次矩阵,描述同一个平面两幅图像之间的像素齐次坐标映射

如果说:

  • DLT解决的是"如何建立投影方程"
  • PnP解决的是"已知3D-2D求位姿"
  • 本质矩阵E解决的是"双目运动"
  • 基础矩阵F解决的是"未标定双目"

单应矩阵的核心价值在于:它充分利用了平面场景这一特殊几何约束,把原本需要三维恢复的问题降维为二维到二维的映射,使得许多视觉任务(标定、拼接、透视校正、SLAM初始化等)都可以用一个 3×3 矩阵高效解决;而在已知相机内参的情况下,它又能进一步恢复相机相对于平面的姿态(R,tR,tR,t),成为连接二维图像与三维几何的重要桥梁。

为什么需要单应矩阵

先看一个最简单的问题。

有一张A4纸:

问题:

为什么同一张纸,
像素坐标完全变化了?不能简单: x'=x+10

因为:

不是平移 也不是旋转 ,而是

透视变化(Perspective Transform)

例如:

近处放大 远处缩小

所以:

需要一个新的变换: Homography

二、它解决了什么问题?

它把:

Plane ↓ Image1 ↓ Image2

全部统一起来。

消掉世界坐标以后,得到:

好处1:相机标定,没有Homography,就没有张正友标定,先求H 再求K

好处2:透视矫正

三、Homography数学模型

Homography的来历

这是张正友标定最大的前提。

棋盘格:

于是世界点

因此三维投影

采用齐次坐标:

设 世界平面 (X,Y) 转换成齐次之后就是P=[X,Y,1]^T

图片: (u,v) 转换成 p=[u,v,1]^T

定义:

展开

透视投影。

为什么只有8个自由度?

H和2H 完全一样。

所以: 整体比例没有意义 9-1=8

四、如何求解H(DLT)

方程式

每个点:

(X,Y) ↓ (u,v)

给两个方程。

那我们假设:

SVD求解A

由于 h=0 没有意义,所以我们需要加上约束:

那么

五、为什么H可以分解出R、t,K?

1、为什么能分解出

设世界点位于 Z=0

那么相机投影模型就是:

2、H 为什么能帮助求 K?

如何由 H 求 K

利用旋转矩阵性质

旋转矩阵满足:

正交

等长

第一条约束

第二条约束

同样:

一张图片得到两条约束

因此:

每一张棋盘图片可以得到:

如何解出 K?

因此:

一张图片提供:2 个约束。

至少需要:3 张图片(提供 6 条约束)。

实际工程:

一般:10~20 张。

将所有图片的约束写成:

由 B 恢复 K

利用 Cholesky 分解(或 Zhang 论文中的闭式公式):

得到: K

3、如何分解R t

现在:

已经知道:K以及:H。

根据:

a、消除内参

左乘:K−1

b、计算尺度

由于:旋转向量长度:

所以:

c、求 t

4、最后一步:LM 优化

上面的 K、R、t 都是线性初值

张正友标定最后还会进行一次非线性优化:

目标函数:

六、算法流程

棋盘格(Z=0) │ ▼ DLT │ ▼ 单应矩阵 H │ ▼ H = λK[r1 r2 t] │ ▼ 旋转矩阵正交约束 r1⊥r2 |r1|=|r2| │ ▼ Vb = 0 │ ▼ SVD │ ▼ B = K⁻ᵀK⁻¹ │ ▼ 恢复 K │ ▼ λ = 1 / ||K⁻¹h1|| │ ▼ r1 = λK⁻¹h1 r2 = λK⁻¹h2 r3 = r1 × r2 t = λK⁻¹h3 │ ▼ LM优化(最小化重投影误差)

http://www.jsqmd.com/news/1195674/

相关文章:

  • UVa 11724 Evaluate the Expression
  • 效率工具实战指南:从自动化到跨平台同步的核心应用
  • 每天认识一种投资品类:期货
  • C++17文件系统毫秒级目录扫描:4大优化策略与并发实战
  • 宝格丽闲置奢品安心变现指南,北京连锁实体一站式回收全解析 - 分享测评官
  • 2026天津迪奥二手流通市场深度测评:五大回收机构星级评级与避坑指南 - 二奢行情速报
  • 大连黄金回收选合扬,紧跟大盘报价,便捷服务更贴心 - 全国奢侈品回收
  • STM32 HAL库串口中断回调机制深度解析与实战应用
  • Cursor AI分页功能实战优化手册(企业级分页架构首次公开)
  • 郑州金水二手名表回收靠谱渠道,不套路不压价现场验货 - 全城热点
  • PilotGo-plugin-container与其他容器监控工具对比:为什么它更适合你?
  • GitLab CI/CD配置文件管理:从单一文件到集中化配置的进阶实践
  • GitHub Copilot 四大模型实战对比:Free/Pro/Business/Enterprise 如何选
  • N皇后遗传算法Python实战:编码设计、适应度函数与精英变异策略
  • 【P3128】树上路径点权加1|倍增LCA + 树上差分
  • Excel公式不刷新、表格乱码、中文断行——Kimi阅读异常全诊断手册,含5类高频报错代码对照表
  • CCPS监控与告警系统:Prometheus、Grafana与自定义指标的实战配置
  • 福州名表全套溢价被吞?认准靠谱手表回收店铺,附件加价明细全部公开 - 每日生活报
  • 为什么说大模型的推理,其实是“两份工作”?
  • 成都市金牛区轮胎更换靠谱的 - 资讯纵览
  • 亲身到店探访长沙劳力士官方售后服务中心|官方地址及24小时售后电话(2026年7月最新) - 劳力士官方服务中心
  • 51单片机(三)独立按键消抖与状态机实战
  • TK1终端优化五步法:从卡顿到秒响应的实操指南
  • 金水花园路名表回收,线上免费估价,30 分钟上门 - 全城热点
  • 科研信息过滤系统:90分钟精读4篇论文的方法论
  • 宁波蒂芙尼六爪钻戒回收,微笑项链钥匙吊坠,发图即估价 - 大牌深度测评
  • 长沙岳麓区保洁收纳|维小达|日常保洁、深度保洁、开荒保洁、窗户保洁、收纳整理、暖气清洗、家电清洗全屋家政一站式清洁收纳养护服务 - 一点传媒
  • 前端三基石:从后端视角理解 HTML、CSS 与 JavaScript
  • 每天认识一种投资品类:股票
  • kucx实战指南:5个步骤集成不同通信库的完整方案