Learn Structure from motion

date
Aug 9, 2022
slug
learn_sfm
status
Published
tags
Website
summary
type
Post
re
Research
基础矩阵_lp201721124039的博客-CSDN博客_基础矩阵
在计算机视觉中,基础矩阵(Fundamental matrix)F是一个3×3的矩阵,表达了 立体像对的像点之间的对应关系。在对极几何中,对于立体像对中的一对同名点,它们的齐次化图像坐标分别为p与 p',Fp 表示一条必定经过p'的直线(极线)。这意味着立体像对的所有同名点对都满足: F矩阵中蕴含了立体像对的两幅图像在拍摄时相互之间的空间几何关系(外参数)以及相机检校参数(内参数),包括旋转、位移、像主点坐标和焦距。因为F矩阵的秩为2,并且可以自由缩放(尺度化),所以只需7对同名点即可估算出F的值。 要将一幅图像上的像点x映射到另一幅图像对应的对极线l′可以分为两步:第一步,将像点x映射到另一幅图像上与之对应的对极线l′上的某点x′上,x′是x的匹配点;第二步,连接对极点e′与点x′得到的直线就是对极线l′。 点通过平面转移 如下图,平面π不通过两相机中心,过第一个相机的中心C和像点x的射线与π相交于点X。该点X再投影到第二幅图像上得到像点x′,这个过程称为点通过平面的转移。 点X位于像点x和相机中心确定的射线上,其在另一幅图像上的像点x′必然位于该射线在另一幅图像的投影也就是对极线l′上。点x和点x′都是三维点X的像点,这样第一副图像上的像点集合xixi和第二幅图像上的像点集合xi′是射影等价的,它们都射影等价于共面的三维点集合Xi。因此,存在一个2D单应Hπ,把每一个点x映射到对应的点x′上。 2D单应Hπ指的是将射影平面上的点集映射到另一个射影平面的点集xi′上的射影变换,在实际情况中xi和xi′通常是两幅图像上的像点,每幅图像都被视为一个射影平面。 即仅通过匹配的点对==(最少7对)==可以计算出两视图的基础矩阵F,然后再从F中分解得到相机的位姿势。 相机的相对位姿可以通过特征点匹配估计出来: 提取两幅图像的特征点,并进行匹配 利用匹配得像点计算两视图的基础矩阵F 从基础矩阵F中分解得到相机的选择矩阵R和平移向量t 实验代码 : from PIL import Image from numpy import * from pylab import * from PCV.geometry import camera from PCV.geometry import homography from PCV.geometry import sfm from PCV.localdescriptors import sift from PCV.tools import ransac
 

© Yang 2021 - 2024