曼哈顿世界中实时消失点估计的2行穷尽搜索

1.Abstract

本文介绍了一种非常简单和高效的算法,用于在曼哈顿世界中的校准图像上估计1、2或3个正交消失点。与传统方法使用1、3、4或6条线生成消失点假设不同,(基本方法)我们建议使用2条线获取第一个消失点v1,然后在等效球面上v1的大圆上均匀取样第二个消失点v2,最后通过v1和v2的叉积计算第三个消失点v3。该方法有三个优点。首先,2条线模型比多线方法更健壮和可靠,可应用于具有1、2或3个正交消失点的场景中。其次,可以根据异常值比例计算2条线模型内部线段的形成概率,这意味着可以确定迭代次数,从而可以通过非传统的RANSAC方法非常简单地进行消失点估计。第三,通过为线交点建立极坐标网格,实现了实时性能,该网格作为验证消失点假设的查找表。我们的算法在YUD数据集和一组具有挑战性的真实图像中得到了成功验证。

在这篇论文中,我们研究了在曼哈顿世界中对已校准图像中消失点估计的问题。正交消失点提供了相机方向、世界结构和图像内参数的信息,因此可以在许多应用中使用,例如单视图重建[6]、相机自标定[4]、视觉导航[8,2]等等。在曼哈顿世界中消失点的估计是一个艰巨的任务,因为需要考虑两个条件:(1)全局约束,即解决方案应为全局最优;(2)正交约束,即消失点应该互相正交。在过去的几十年中,已经提出了许多算法来处理这些问题,从不同的角度进行分类。一般来说,这些算法可以分为四类:基于穷举搜索的算法、基于期望最大化(EM)的算法、基于RANSAC的算法和基于优化的算法。

基于穷举搜索的方法[10,13]最早出现,因为它们可以很简单地提取消失点的穷举样本,然后逐个地验证假设,从而得到最佳的估计结果。在[13]的工作中,等价球被划分为小的累加单元,每个线段为这些单元进行投票。然后选择投票率最高的单元格作为第一个消失点v1,并在剩余的单元格中穷尽搜索v2和v3的对。投票最高的一对被认为是估计的估计消失点。然而,搜索步骤的计算复杂度为O(n 5),这意味着它不能应用于一些实时应用。Bazin等人[2]也使用了穷举搜索策略,但他们的方法应用于导航系统,需要由其他传感器提供的消失点的初始估计。


2.Algorithm

2.1. Polar Grid Building

建立极坐标网格是通过扩展等价球上的单位矢量与像平面相交来确立的。首先,我们简要介绍了在本工作中应用的等价球面。然后,我们将展示如何构建极坐标网格的细节。

Equivalent Sphere

等效球是一个单位球,以相机的焦点为中心,如图2所示。

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举_02

在本工作中,等效球应用右手坐标系,x轴和y轴分别与图像的x轴和y轴重合,z轴从相机的焦点指向图像的主点。给定图像的principal point主点读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举_03和焦距f,图像上的一个像素读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举_04可以通过以下公式转换为等效球坐标系:

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索_05

对于坐标为读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索_06的等效球面坐标中的三维点P,P(φ、λ)计算为:

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索_07

Polar Grid

给定像平面上的一个点p,我们可以通过方程式得到它在等价球面上的(φ,λ)。φ和λ的跨度分别为[0,π/2]和[0,2π]。因此,极坐标网格G可以通过以下三个步骤来构建。

在第一步中,极坐标网格G为零初始化,大小为90×360,精度为1◦,即G(i,j)= 0,对于i = 1,2,...,90和j = 1,2,...,360的。

在第二步中,对于图像上的每一对线段l1和l2,计算它们的交点p,然后根据方程式得到p的经纬度(φ、λ)。然后,我们更新相应的网格单元G(φdeg,λdeg),积累方程如下:

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举_08

其中φdeg和λdeg分别代表φ和λ对应的轮度,即φdeg = [φ×180/π]和λdeg = [λ×180/π],||l||表示线段l的长度,θ是l1和l2之间的小夹角。Eq.(3)旨在对长度较长、方向偏差中等的线段对施加更多的权重,这意味着l1和l2之间的角度θ既不能太小(接近0◦),也不能太大(接近90◦)。

最后一步,在极坐标网格上应用3×3高斯平滑滤波器,得到更鲁棒的积累结果。

极坐标网格构建过程的结果是一个90×360网格,它记录了线段对每个网格单元的响应。一旦构建完毕,极性网格就可以作为一个查找表,这对于实时应用程序是非常有效的。


2.2. Hypotheses Generation

现有的消失点估计方法通常使用多线MSS [3,19,11,18]来生成消失点假设。正如威尔德纳和Allan [18]所指出的那样,如果没有每个消失点对应的线段的种群大小,通常很难直接计算多线MSS的可能性。因此,在大多数情况下,RANSAC的迭代次数是由经验来确定的。与那些多线MSS方法不同,我们建议使用2线MSS只对第一个消失点生成假设,然后对第二个消失点进行详尽的采样,并通过第一个和第二个消失点生成第三个消失点。图3说明了我们如何通过以下三个步骤生成三个正交的消失点。

首先,随机选择两个线段进行相交,生成第一个消失点v1。然后,在等价球面中v1的大圆上均匀采样第二个消失点v2。最后,用v1和v2的交叉积计算出第三个消失点v3。在本节的以下部分中,我们将介绍这三个步骤的细节。

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索_09

第一个消失点

首先,我们将讨论2线MSS的概率。给定一个共有N个无异常值线段的图像,与v1、v2和v3对应的线段数分别为n1、n2和n3。通过随机选择两段形成2线MSS,这两条线段都对应于同一消失点的概率P为:

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索_10

其中C是组合的意思。当n1 = n2 = n3 = N/3时,概率P得到的最小值为1/3。然后,给定线段的异常值比为0.5,这意味着一半的线段没有相应的消失点,P的最小值现在变成读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索_11,在置信系数为0.9999的情况下,获得至少一条内双线MSS所需的迭代次数为:

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索_12

这意味着在异常值比为0.5和可信系数为0.9999的情况下,我们需要105次迭代才能获得至少一条内双线MSS。因此,对于第一个消失点v1,我们迭代随机选择两段并计算它们的交点,然后根据方程将交点转换为等价球面上的单位向量。这样,我们得到了v1的105个假设。

第二个消失点

考虑正交约束,给定第一个消失点读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索_13第二个消失点必须位于等价球面中v1的大圆上,如图3所示。因此,我们对这个圆上的第二个消失点均匀地对360个假设进行采样,精度为1◦,执行如下。首先,将经度跨度[0,2π]被均匀地划分为360个分数,每个分数对应于v2假设的经度λ。然后,对于经度为i×2π/360的第i个假设,其纬度φ可以通过以下约束方程来计算:

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举_14

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_搜索_15

第三个消失点

给定第一个和第二个消失点v1和v2,第三个消失点可以得到为v3 = v1×v2。综上所述,经过假设生成过程,三个正交消失点总共有105个×360 = 37800个假设,然后验证选择最佳消失点。

2.3. Hypotheses Validation

该方法的最后一步是验证消失点假设。这个过程的目的是在所有的37800个假设中找出线段响应最大的一个。计算每个假设的线段响应是很耗时的,然而,在第2.1节中引入的极坐标网格可以将这个问题转换为一个复杂度为O (n)的查找问题。假设验证执行如下。对于每个假设,我们通过等式计算经度和纬度(λ1,φ1)、(λ2,φ2)和(λ3,φ3)(2)分别为v1、v2和v3。然后我们搜索极坐标网格,并将G([φ1×180 π ],[λ1×180 π ])+ G([φ2×180 π ],[λ2×180 π ])+G([φ3×180 π ],[λ3×180 π ])作为该假设的线段响应。最后,选择响应最大的一个作为最佳估计的消失点。

总结

读论文2-Line Exhaustive Searching for Real-Time Vanishing Point Estimation in Manhattan World_穷举搜索_16

极坐标网格的构建,本质是预先建立一种加权投票机制,正确的消影点必定其对应的网格数值越高,这样在后续验证 37800 个消影点假设的时候,就可以迅速的以查表的方式找出网格响应最大、也就是最为符合的一组消影点。

参考文章

https://blog.csdn.net/ydy1107/article/details/121355836