点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者:梦寐mayshine
https://zhuanlan.zhihu.com/p/129681081
本文转载自知乎,作者已授权,未经许可请勿二次转载。
相机模型:针孔相机模型(普通相机)+ 鱼眼相机模型(视角更广,飞行器,无人机等)
针孔相机模型-成像过程 一、针孔相机模型——外参数矩阵1.点的世界坐标系到相机坐标系(右手坐标系)
-
世界坐标系:可以定义空间中任意一个位置,原点位置+三个坐标轴方向=坐标系姿态
-
相机坐标系:定义在相机上,原点是相机中心,z轴沿着相机朝向,需要定义Y轴上下
-
点的世界坐标:
-
点相机坐标:
-
刚体变换:旋转+平移 -> 齐次坐标形式
-
逆变换:
2. 相机中心在世界坐标系中的位置
-
:相机中心在相机坐标系中的坐标
-
:相机中心在世界坐标系中的坐标
3. 相机朝向(z轴)在世界坐标系中的方向
-
-
旋转矩阵第三行
-
相机坐标系中z轴上的一点
-
1.相机坐标系到归一化像平面坐标系
归一化像平面是虚拟的平面坐标,它与物理像平面平行,且距离相机光心距离为f=1
2.归一化像平面标系到物理像平面坐标系 ——小孔成像过程
物理像平面是实际存在的平面,它是相机CCD阵列所在的平面
3.归一化像平面到像素坐标系
一般以左上角为坐标原点,需要进行坐标系平移
正方形->像素一样,
单位是像素/毫米
步骤1:世界坐标系->刚体变化(旋转+平移)=外参数->相机坐标系
步骤2:相机坐标系->投影=内参数->相平面
步骤3:相平面->像素坐标变换=内参数->像素
-
姿态估计:6个外参数 R,t
-
相机标定:5个内参数:
(k1,k2为径向畸变系数)
1.成因:透镜不能完全满足针孔模型假设
-
近焦容易发生,可能产生更高阶只取两阶,越偏离图像中心畸变效果越明显
2. 径向畸变系数的最小乘估计
3. 径向畸变矫正
-
x1, x2像素坐标
-
x1^, x2^ 相机坐标
叉乘:[t]x R 向量构造成反对称矩阵
1.基础矩阵性质
-
3x3的矩阵,秩为2->不可逆
-
具有7个自由度,没有尺度少了一个自由度,秩为2少一个自由度
-
奇异值为:
-
极线约束:
2. 基础矩阵求解方法
-
直接线性变换法
-
-
8点法
-
最小二乘法
-
-
基于RANSAC的鲁棒方法
3. 直接线性变换法
对于一对匹配点, 根据对极约束,
1.RANSAC——随机一致性采样
-
N:样本点个数
-
K:求解模型需要最少的点的个数
-
流程:
-
-
1)随机采样 K 个点
-
2)对该 K个点拟合模型
-
3)计算其它点到拟合模型的距离 小于一定阈值,当作内点,统计内点个数
-
4)重复 M 次,选择内点数最多的模型
-
5)利用所有的内点重新估计模型(可选)
-
2. RANSAC——拟合直线
3. RANSAC——采样次数的计算
-
N -样本点个数
-
K -求解模型需要最少的点的个数
-
p -表示内点的概率
-
:K个点都是内点概率
-
:K个至少有一个外点(采样失败)的概率
-
:M次采样全部失败的概率
-
:M次采样至少有一次成功的概率
-
:计算p=0.9,K=8时,想要采样成功率达到z≥0.99所需要采样次数
4. RANSAC——估计基础矩阵
-
算法流程
-
-
1)随机采样8对匹配点
-
2)8点法求解基础矩阵 Fˆ
-
3)奇异值约束获取基础矩阵F
-
4)计算误差,并统计内点个数
-
5)重复上述过程,选择内点数最多的结果
-
6)对所有内点执行2,3,重新计算 F
-
-
内点判断标准——Sampson Distance
-
-
1.本征矩阵性质
-
3x3的矩阵,秩为2
-
具有5个自由度——E是反对称矩阵
-
奇异值为
——两个不为零的奇异值相等
2.相机姿态的恢复
-
选择正确的相机姿态
-
-
相机的世界坐标O1, O2:
,
-
相机的世界坐标中的朝向d1,d2
-
-
利用相机姿态R,t 和匹配点p1, p2进行三角量测得到三维点P
-
P 需满足同时位于两个相机的前方:
-
-
方法1:
-
方法2:
对两个相机成立
-
1.空间中特征点位于一平面上
2.直接线性变换法
3.RANSAC-估计单应矩阵
-
算法流程
-
-
1)随机采样4对匹配点
-
2)8点法求解基础矩阵H
-
3)计算误差,并统计内点个数
-
4)重复上述过程,选择内点数最多的结果
-
5)对所有内点执行3,4,重新计算H
-
-
内点判断标准:
推荐阅读:
吐血整理|3D视觉系统化学习路线
那些精贵的3D视觉系统学习资源总结(附书籍、网址与视频教程)
超全的3D视觉数据集汇总
大盘点|6D姿态估计算法汇总(上)
大盘点|6D姿态估计算法汇总(下)
机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划
汇总|3D点云目标检测算法
汇总|3D人脸重建算法
那些年,我们一起刷过的计算机视觉比赛
总结|深度学习实现缺陷检测
深度学习在3-D环境重建中的应用
汇总|医学图像分析领域论文
大盘点|OCR算法汇总
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会(ICRA/IROS/ROBIO/CVPR/ICCV/ECCV等)、顶刊(IJCV/TPAMI/TIP等)、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题