Challenge_4: 基于特征匹配的摄像头姿态估计

本文介绍了如何使用特征匹配来实现摄像头姿态估计。首先,通过摄像头标定获取内参数,然后结合特征检测和匹配,计算基础矩阵和本征矩阵,从而得到摄像机的旋转和平移矩阵,实现摄像头的运动估计。opencv库提供了相关的标定和计算工具,通过理解基础矩阵、本征矩阵和单应性矩阵等概念,可以更好地进行摄像头姿态估计。
摘要由CSDN通过智能技术生成

基于之前所做的特征匹配来实现摄像头姿态估计,即通过移动摄像头拍摄同一物体(如一本书)在不同姿态下的图片而计算出两次或者多次摄像头拍摄的位置。
要实现这一点,首先要对摄像头进行标定,获得摄像头的内参数,建立起摄像头的成像模型,才能够将图像物理坐标系(即照片中)中的点的信息与世界坐标系中的信息(即摄像头拍摄的位置)联系起来。
摄像头标定opencv已经提供了例程。
代码见。
https://github.com/opencv/opencv/blob/master/samples/cpp/tutorial_code/calib3d/camera_calibration/camera_calibration.cpp
代码比较长,你们不需要具体弄懂这个代码。只需要会使用它。
官方文档的解释如下
http://docs.opencv.org/3.1.0/d4/d94/tutorial_camera_calibration.html
http://wiki.opencv.org.cn/index.php/%E6%91%84%E5%83%8F%E5%A4%B4%E6%A0%87%E5%AE%9A
基本原理的参考
http://www.xuebuyuan.com/1497516.html
标定的概念可以顺带了解一下,但对数学细节也不用太在意。
标定需要摄像头和棋盘格,可以自行打印。
对于用过Matlab的同学更推荐Caltech的标定工具箱,见
http://www.vision.caltech.edu/bouguetj/calib_doc/

在完成摄像机标定后可以获得摄像机内参数矩阵K,我们就可以与之前的特征检测结合起来,从摄像头不同角度位置拍摄同一本书的图像中获取摄像头的位置(即旋转平移矩阵)。
方法可以见下述博客一直到重构场景上面的内容。
http://blog.csdn.net/zkl99999/article/details/46467277
重点看找到相机矩阵小结。
方法是通过特征匹配的点,求出摄像机之间的基础矩阵,再与摄像机内参数矩阵K进行运算,算出本征矩阵。
通过对本征矩阵奇异值分解,可以求解出两张图对应的摄像机的旋转和平移矩阵,这也就代表了两张图拍摄间摄像机的相对运动。
大家也可以看到特征提取和匹配,摄像机运动估计确实用途特别广泛,是很多算法的先行步骤,包括进行三维重建也要先进行这些步骤。
大家首先要理解三个基本概念,即基础矩阵,本征矩阵以及奇异值分解。

基础矩阵(Fundamental Matrix)
是双视图几何中的一个概念,指的是当存在两个摄像头的情况,描述空间中某一点在两个摄像机像平面中成像点的位置关系,简单说是两张照片中对应特征点的图像坐标的关系,这种关系也被称为对极线约束。
两摄像机光心分别是C和C’,图像平面是两白色的平面,空间中某一个点X在两张图的投影点分别是x和x’。
(x’)T*F*x=0
假设已知像x和光心位置,我们通过连线可以得到空间点X可能在的一条射线位置,假设已知X在射线上某点,与另一个摄像头光心相连,在另一个像平面上可以得到一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值