视觉几何(3D->2D,2D->3D)

成像基本原理

相机标定指建立相机图像像素位置与场景点位置之间的关系,即求解相机模型的参数。

(u,v)为图像点

K为相机内参数(相机硬件)

R为相机旋转,t为相机平移(相机位姿)

(X,Y,Z)为空间点

f为焦距,dx,dy为每个像素的距离,u0,v0为主点坐标

世界坐标系->相机坐标系(刚体变换)

相机坐标系->图像坐标系(透视投影)

图像坐标系->像素坐标系(仿射变换)

  • 三角化:已知图像点,内参和外参,求空间点
  • 姿态估计:已知图像点,内参和空间点,求外参
  • 相机标定:已知图像点和空间点,求内参和外参
  • 稀疏重建:已知图像点,求其他

相机畸变

  • 像素坐标轴倾斜
  • 透镜形状缺陷

径向畸变:枕形畸变和桶形畸变(k1,k2,k3矫正系数)

切向畸变(p1,p2矫正系数)

  • 组装工艺偏差

手眼关系

手在眼上:顾名思义,也就是相机与机械臂是一体,那么此时相机与机械臂末端的位置是相对不变的,手眼矩阵就是相机与机械臂之间的转换

手在眼外:相机与机械臂是固定在不同地方的,那么此时相机与机械臂底座的位置是相对不变的,手眼矩阵是相机与机械臂底座的转换

相机看到一个物体的 3D 坐标 → 用手眼矩阵转一下 → 变成机械臂能直接用的坐标 → 去抓。

手眼就是相机和机械手之间的固定变换,用来把相机看到的东西转给机械臂用。

2D->3D

核心逻辑链(能口述)

  1. 相机拍出来的是2D 像素点
  2. 像素点 → 反推回相机坐标系下的 3D 射线
  3. 再结合深度 / 外参 / 手眼 → 得到世界坐标系 3D 点
  • 图上取一点:(u,v)
  • 得到深度:Zc(来自双目 / 深度相机 / 激光)
  • 像素 → 相机 3D
  • 相机 → 世界 3D

双目相机计算深度原理,也就是视差图转为深度图:

f为焦距,b为基线长度,d为视差

流程:

  • 获取左右图像
  • 提取特征点(SIFT/ORB...)
  • 粗匹配(得到一堆初始匹配对KNN/BF)
  • 计算基础矩阵 F / 本质矩阵 E → 得到极线约束
  • 根据极线约束,剔除错误匹配
  • 双目矫正(rectification) → 让极线变成水平共线
  • 在水平极线上做密集匹配 → 这就是你说的:必须在极线上匹配!
  • 得到视差图 → 深度图
相关推荐
腾飞开源2 分钟前
05_Dify接入Ollama本地大模型
人工智能·项目实战·dify·ai智能体·ollama·企业级应用·接入模型
HavenlonLabs6 分钟前
重塑链上未来的隐形基石:长期主义下的生态演进
大数据·人工智能·安全·区块链
Jutick10 分钟前
远程 MCP 已配置,为什么你的 AI 开发工具仍查不到 A 股行情?
人工智能·mcp
phltxy11 分钟前
Spring AI Agents 智能体模式实战
java·人工智能·spring
li-xun14 分钟前
2026年6月14日博客精选
人工智能·ai
DogDaoDao25 分钟前
【GitHub】 Headroom 深度解析:AI Agent 上下文压缩层的完整技术拆解
人工智能·深度学习·程序员·github·ai agent·智能体·agent skill
挖坑的张师傅31 分钟前
方便 Mac 本机运行 e2b 的沙箱方案 e2b-local
人工智能·后端
生成论实验室37 分钟前
认知芯片:让判断力在物理定律上运行——AI芯片的第三条路
人工智能·语言模型·机器人·自动驾驶·安全架构
浦信仿真大讲堂37 分钟前
达索系统SIMULIA Abaqus 2026接触和约束的增强新功能介绍
人工智能·python·算法·仿真软件·达索软件
文艺倾年44 分钟前
【强化学习】MDP、贝尔曼方程与CartPole 编程,20W字总结(二)
人工智能·软件工程·强化学习