视觉几何(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) → 让极线变成水平共线
  • 在水平极线上做密集匹配 → 这就是你说的:必须在极线上匹配!
  • 得到视差图 → 深度图
相关推荐
AI服务老曹2 小时前
异构计算与边缘协同:基于 Docker 的企业级 AI 视频中台硬件适配架构
人工智能·docker·音视频
小超同学你好2 小时前
Transformer 17. Qwen 1 / Qwen 1.5 架构介绍以及与 Transformer、LLaMA 的对比
人工智能·语言模型·架构·transformer
新缸中之脑2 小时前
Nano Banana 相机控制
人工智能·数码相机·计算机视觉
东离与糖宝2 小时前
aiX-apply-4B小模型Java部署指南:消费级显卡跑AI编程,成本直降95%
java·人工智能
薛不痒2 小时前
Llamafactory的使用(1)
人工智能·python·llama
AI人工智能+2 小时前
基于OCR与大模型融合的文档抽取技术,可自动化完成证照信息抽取
人工智能·计算机视觉·语言模型·自然语言处理·ocr
沫儿笙2 小时前
KUKA库卡焊接机器人智能节气仪
大数据·人工智能·机器人
zhangshuang-peta2 小时前
MCP 的落地路径:从 PoC 到规模化部署的 4 个阶段
人工智能·ai agent·mcp·peta
nap-joker2 小时前
TIP:表格图像预训练模型用于不完整数据的多模态分类
人工智能·分类·数据挖掘·表格-影像融合·不完整数据