首页 > 其他分享 >读论文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

时间:2023-04-10 23:11:00浏览次数:44  
标签:Real Point 消失 网格 Searching 算法 图像 极坐标 deg

曼哈顿世界中实时消失点估计的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

标签:Real,Point,消失,网格,Searching,算法,图像,极坐标,deg
From: https://blog.51cto.com/u_12074581/6181570

相关文章

  • poj 3090 Visible Lattice Points
     #include<iostream>#include<algorithm>usingnamespacestd;constintM=1e6;intvis[M+4],P[M+4],cnt;intfi[M+4];voidshai(inttop){ cnt=0; fi[1]=1; for(inti=2;i<=top;i++){ if(vis[i]==0){ P[++cnt]=i; fi[i]=i-1;......
  • MySQL笔记之Checkpoint机制
    CheckPoint是MySQL的WAL和Redolog的一个优化技术。 一、Checkpoint机制CheckPoint做了什么事情?将缓存池中的脏页刷回磁盘。checkpoint定期将dbbuffer的内容刷新到datafile,当遇到内存不足、dbbuffer已满等情况时,需要将dbbuffer中的内容/部分内容(特别是脏数据)转储到datafi......
  • 论文阅读笔记《Sim-to-real learning for bipedal locomotion under unsensed dynamic
    Sim-to-reallearningforbipedallocomotionunderunsenseddynamicloads目录Sim-to-reallearningforbipedallocomotionunderunsenseddynamicloads介绍背景研究现状本文贡献学习策略无负载策略的训练有负载策略的训练实验模拟器实验虚实迁移实验总结本文的贡献对研究......
  • c_pointer
    #include<iostream>usingnamespacestd;intf(int**r,int**s){inttemp=**r;inttemp2=**s;int*z=*r;*r=*s;*s=z;printf("**r=%d\n",**r);printf("**s=%d\n",**......
  • [paper reading]|IC-FPS: Instance-Centroid Faster Point Sampling Module for 3D Po
    摘要:本文说首次实现了大规模点云场景中基于点的模型的实时检测(<30ms);首先指出FPS采样策略进行下采样是耗时的,尤其当点云增加的时候,计算量和推理时间快速增加;本文提出IC-FPS;包含两个模块:localfeaturediffusionbasedbackgroundpointfilter(LFDBF);CentroidInstanceSampl......
  • 什么是 Angular library 的 secondary entry points?
    在Angular应用程序和库中,secondaryentrypoints(次要入口点)是指与主入口点不同的导出和发布方式。主入口点是指在package.json文件中声明的默认的入口点,它通常包含了该库的主要功能和API。而secondaryentrypoints则是在Angularlibrary项目中定义的额外的入口点,它们可......
  • Unable to handle kernel NULL pointer dereference at virtual address 分析
    引用:https://blog.csdn.net/agave7/article/details/119875023虽然问题不一样,但是分析问题的方法是一致的。UnabletohandlekernelNULLpointerdereferenceatvirtualaddress分析现象[136.847780]br-lan:receivedpacketoneth0.1withownaddressassourceadd......
  • Insert a scratch project into a ppt (MSPowerPoinT file)在powerpoint中播放Scratch
    Insertascratchprojectintoappt(MSPowerPoinTfile)在powerpoint中播放Scratch动画Contributedbyliupeng,March01,20120Comments4BookmarksAsupersimplewaytoinsertasbtoappt,asfollows:超级简单的实现Scratch的sb文件在ppt中播放,具体......
  • oracle之检查点(Checkpoint)
    转载于:oracle之检查点(Checkpoint)-张冲andy-博客园(cnblogs.com)检查点是一个数据库事件,它把修改数据从高速缓存写入磁盘,并更新控制文件和数据文件。检查点分为三类:1)局部检查点:单个实例执行数据库所有数据文件的一个检查点操作,属于此实例的全部脏缓存区写入数据文件。触发......
  • Verilog中的real类型及注意事项
    Verilog中的real类型变量为双精度浮点数,且符合IEEEStd754-1985对双精度浮点数的规定,即双精度浮点数为64位,其中1位符号位,11位指数位,53位尾数(其中包含1位隐含位).在IEEEStd754-1985中一般用{S、E、M}对双精度浮点数进行描述,一个64位双精度浮点数的表示格式如下:其中S为符......