Computer vision 立体视觉理论在三维重建中的应用

Computer vision 立体视觉理论在三维重建中的应用,computer-vision,triangulation,stereo-3d,disparity-mapping,photogrammetry,Computer Vision,Triangulation,Stereo 3d,Disparity Mapping,Photogrammetry,我目前正在阅读立体视觉的主题,使用Hartley&Zimmerman的书和一些论文,因为我试图开发一种能够从两幅图像创建高程地图的算法 我正试图提出这种算法的基本步骤。这就是我认为我必须做的: 如果我有两张图像,我必须找到基本矩阵F,以便在以后的三角测量中找到所有点的实际高程值。如果摄像机进行了校准,这是简单的,如果没有,则会稍微复杂一些(H&Z中有很多方法) 为了获得极线,必须知道F。这些线用于在第一个图像中找到图像点x并返回到第二个图像中 接下来是让我有点困惑的部分: 现在,我将开始在第一张

我目前正在阅读立体视觉的主题,使用Hartley&Zimmerman的书和一些论文,因为我试图开发一种能够从两幅图像创建高程地图的算法

我正试图提出这种算法的基本步骤。这就是我认为我必须做的:

如果我有两张图像,我必须找到基本矩阵F,以便在以后的三角测量中找到所有点的实际高程值。如果摄像机进行了校准,这是简单的,如果没有,则会稍微复杂一些(H&Z中有很多方法)

为了获得极线,必须知道F。这些线用于在第一个图像中找到图像点x并返回到第二个图像中

接下来是让我有点困惑的部分: 现在,我将开始在第一张图片中拍摄一个图像点
xi
,并尝试使用一些匹配算法在第二张图片中找到相应的点
xi'
。使用三角测量,现在可以计算真实世界的点X,并由此计算高程。此过程将对右图像中的每个像素重复

在完美世界(无噪音等)中,三角测量将基于

x1=P1X
x2=P2X

在现实世界中,有必要找到最合适的

对所有像素执行此操作将生成所需的完整高程地图,但有些像素无法匹配,因此无法进行三角剖分

最让我困惑的是,我觉得Hartley&Zimmerman跳过了关于如何获得点对应关系(匹配?)的整个讨论,而且除了这本书之外,我还读了很多关于视差图的文章,这些在H&Z中根本没有提到。然而,我认为我正确地理解了差异仅仅是差异
x1_I-x2_I


这种方法正确吗?如果不正确,我在哪里犯了错误?

你的方法大体上是正确的

您可以将立体相机系统视为空间中的两点,它们的相对方向已知。这是光学中心。在每个光学中心的前面,都有一个坐标系。这些是图像平面。找到两个对应的像素后,可以为每个像素计算一条线,该线穿过像素和各自的光学中心。两条线相交的地方,就是三维中的对象点。由于世界并不完美,它们可能不会相交,人们可能会使用直线彼此最接近的点

有几种算法可以检测哪些点对应


使用差异时,两个图像平面需要对齐,以使图像平行,并且图像1中的每一行对应于图像2中的同一行。然后,只需要按行搜索对应关系。然后,了解单个对应点在x轴上的差异也就足够了。这就是差距。

我必须承认,以结构化的方式提出这个问题对我理解这个主题有很大帮助。由于我仍然想知道这是否确实正确,而且我相信它也会帮助许多其他人,所以我决定不删除它。