视觉几何(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) → 让极线变成水平共线
  • 在水平极线上做密集匹配 → 这就是你说的:必须在极线上匹配!
  • 得到视差图 → 深度图
相关推荐
CQU_JIAKE13 小时前
10.30【大模型】
人工智能
LMT流氓兔13 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
小许学java13 小时前
AI通识与基础
人工智能·langchain
代码方舟13 小时前
零信任架构实战:基于天远企业法人四要素高级版构建自动化电子印章授权与签约准入网关
人工智能·架构·自动化·区块链
专注仿真13 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
IT_陈寒13 小时前
JavaScript的this坑人实录,这次我真的记下来了
前端·人工智能·后端
一只游鱼13 小时前
LangGraph快速入门 —— Agent 是怎么转起来的
人工智能·ai·agent·langgraph
Rocky Ding*14 小时前
深入浅出GroundingPI技术解析:精确空间感知如何迁移到机器人动作
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·具身智能
starzy199014 小时前
Scala循环与判断:一切皆表达式的控制流
开发语言·人工智能·scala
QYR_1114 小时前
全球新能源汽车热管理零部件市场2032年预计突破1854亿元,CAGR达8.2%
人工智能