基于全景图的室外全景相机姿态估计方法与流程

文档序号:15824164发布日期:2018-11-02 23:27阅读:1313来源:国知局

本发明涉及相机姿态估计领域,尤其是一种室外全景相机的姿态估计方法。

背景技术

相机姿态估计是利用传感器或图像信息对相机的位置和方向进行估计的过程。室外全景相机的绝对位姿估计就是利用全景相机获取的全景图,对其在世界坐标系下的位置信息以及绕坐标系三个方向的旋转角度进行估计。考虑到全景相机具有宽视角、畸变大、成像过程较普通相机更为复杂等特性,以及室外环境宽广和辽阔的特点,适用于传统相机的一般的姿态估计方法并不适用。

目前,室外相机的姿态估计方法分为基于传感器的方法和基于视觉的方法。前者利用gps(globalpositioningsystem,全球定位系统)和其他传感器直接获取相机绝对三维位置信息甚至方向信息。在这种方法中,位置估计完全依赖gps系统,在一些gps信号相对较差的环境中,精确度不高。基于视觉的方法,一般需要用户离线准备图像数据库或者环境的点云地图,通过用户提供查询的图像和数据库或者点云地图的匹配,决定该图像的姿态。这种方法往往在效率和延展性方面存在缺陷。



技术实现要素:

为了克服已有的室外相机姿态估计过度依赖gps和传感器带来的不足,以及使用图像数据库和点云地图效率不高延展性不强的缺点。本发明提供了一种自动、快速、精确度较高的基于单张的全景图和2.5d的城市建筑模型的全景相机室外姿态估计方法。

本发明解决其技术问题所采用的技术方案是:

一种基于全景图的室外全景相机姿态估计方法,所述相机姿态估计方法包括如下步骤:

1)描述球面全景成像模型及相关坐标系之间的转换关系

所述全景图包括左右360度和上下180度的场景信息。本发明建立世界坐标系,球面模型的相机坐标系以及二维图像坐标系以表示球面全景的成像过程和坐标之间的相互变换;

2)使用全景图中有效的线和点信息估计相机旋转方向,分为两步;

2.1),首先使用fcn(fullyconvolutionalnetworks)算法分割全景图中非建筑部分的背景区域,然后利用分割后的全景图像,从中提取的线段并且线段应满足相应的条件,接下来根据线段计算消影点以估计相机的垂直轴,从而确定相机的旋转分量roll角和pitch角;

2.2),估计相机围绕垂直轴的旋转量yaw角

绝对的yaw角是指全景相机的朝向和绝对坐标系下的正北方向的夹角,首先,根据水平消影点计算相机朝向和水平轴之间夹角,得到相对的yaw角δθ,然后,利用指南针信息,得到大概的相机朝向directionc,是东或南或西或北。由此,得到修正后的全局世界坐标系的yaw角θ;

directionc=θ+δθ(1)

3)估计相机绝对位置,寻找绝对坐标系下的城市2.5d地图和对应城市全景图之间的匹配,即提取全景图中建筑物的竖直轮廓信息匹配2.5d地图中相应的建筑物信息估计相机的在绝对位置,绝对姿态是指由2.5d地图提供真实的尺度;过程如下:

首先,根据2)中全景图的分割结果,提取建筑物区域与背景区域的分界线作为2维信息,接下来基于球面全景投影模型,利用全景图上竖直线偏离相机中心线的角度,找到其在2.5d城市地图中对应的建筑物角边的3维信息;

然后,利用每一对地图和全景图像上建筑物边的对应关系,计算可能的相机位置,列出如下二元一次方程:

其中,n1、n2分别是球体坐标系中建筑物竖直轮廓线的表示,x1、x2分别表示对应的地图中建筑物3d坐标。

进一步,所述步骤2)中,公式(3)中向量表示相机垂直方向的消影点,代表竖直方向:

公式(4)(5)表示利用竖直方向的消影点确定相机的旋转角度roll和pitch:

ρ=arctan(nx,ny,nz)(4)

再进一步,所述步骤3)中,对计算的结果过滤,首先删除掉位于建筑物内的相机位置,然后,定义粗略的相机初始位置为半径的12.5m为半径的圆,删除位于该圆以外的相机位置。

本发明的有益效果主要表现在:基于全景图的室外相机位姿估计算法,既能快速准确获取室外大场景环境下相机的位姿又能保证位姿的绝对尺度。

附图说明

图1是球面全景投影模型示意图。

图2是球面全景相机坐标系下竖直消影点和roll角和pitch角的关系,其中,(a)表示roll角的估计过程,(b)表示pitch角的估计过程。

图3是球面全景相机坐标系下水平消影点和相对yaw角的关系。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1~图3,一种基于全景图的室外全景相机姿态估计方法,包括如下步骤:

1)球面全景成像模型

全景成像不同于一般传统相机的小孔成像,全景图包括左右360度和上下180度的场景信息,虽然能够提供更多像素信息,但是也存在大畸变的影响。本发明中包括世界坐标系,采用球面模型建立的相机坐标系以及二维图像坐标系,如图1所示,坐标系和投影变换的描述如图1。

世界坐标系是一个三维坐标系,x轴指向正东方向,y轴指向正北方向,z轴垂直指向天空。世界坐标系下的点表示为pw=(xw,yw,zw)

球面相机坐标系是一个三维坐标系,以球体的中心点为原点o,球体的半径为r。坐标系的x轴由原点o指向全景图的中心点,赤道截面为oxy,z轴垂直于赤道平面向上。pc=(xc,yc,zc)代表相机坐标系下一个空间点,ps=(α,β,r)表示将pc投影到球表面的对应点,其中α表示经度,β表示纬度,r表示球的半径。

图像坐标系是一个二维平面坐标系,它以全景图的左上端点为原点,x轴由原点指向全景图宽度方向,y轴由原点指向全景图的高度方向。全景图的宽度w对应2πr,高度h对应πr。点p=(x,y)代表全景图坐标系下的一个二维像素点。

空间一点pw由世界坐标系投影变换到全景图图像坐标系下的p点的过程如下:

pc=rcwpw+tcw(6)

公式(6)表示根据相机的位姿即旋转向量rcw和位移向量tcw,将世界坐标系下的空间点pw变换到相机坐标系下的一点pc。

公式(7)(8)(9)根据球面成像模型,再将相机坐标系下的一点pc映射到球体表面,分别用α,β,r表示球面点的三维坐标。

α=arctan(yc/xc)(8)

公式(10)(11)表示将球面上3d点投影到全景图上,得到图像二维像素点。

x=(α+π)·w/2π(10)

y=(β+π)·h/2π(11)

2)使用全景图中有效的线和点信息估计相机旋转方向,由三个旋转分量构成,分为两步;

2.1),首先使用fcn(fullyconvolutionalnetworks)算法分割全景图中非建筑部分的背景区域,然后利用分割后的全景图像,从中提取的线段并且线段应满足相应的条件,接下来根据线段计算消影点以估计相机的垂直轴,从而估计相机的垂直轴以确定相机的旋转分量roll角和pitch角;

2.2),估计相机围绕垂直轴的旋转量yaw角,即第三个旋转分量,过程如下:

估计roll和pitch;

为了估计相机的垂直轴,本发明首先利用全景图中的点线信息估计图像的消影点。这个过程主要分为三步:

首先,使用fcn(fullyconvolutionalnetworks)算法,对全景图进行语义分割,将图像中非建筑物区域的背景区域分离。同时,我们将全景图的上方区域和下方区域也划分为背景区域,因为它们往往是天空和地面。

接下来,采用bazin等人在motionestimationbydecouplingrotationandtranslationincatadioptricvision一文中提出的线段检测方法,提取全景图中建筑区域的线段,同时保证提取的线段必须满足两个条件:第一,这些线段的长度超过一定的阈值,第二,线段的位置在图像中的地平线以上。

最后,基于bazin等人在rotationestimationandvanishingpointextractionbyomnidirectionalvisioninurbanenvironment一文中的方法,使用提取的线段计算消影点。开始先随机选择线段计算消影点,随着方法不断迭代得到最佳的相机坐标系下三个方向的消影点。向量表示相机垂直方向的消影点,代表竖直方向。

公式(4)(5)分别表示利用竖直方向的消影点确定相机的旋转角度roll角ρ和pitch角

ρ=arctan(nx,ny,nz)(4)

公式(12)用roll和pitch计算相机的旋转矩阵rv,rv的作用是将相机的垂直轴和竖直的重力方向对齐。重力方向为[001]t

估计绝对的yaw角;

绝对的yaw角是指全景相机的朝向和绝对坐标系(世界坐标系)下的正北方向的夹角。本发明中所用的全景相机是由前后两个视角均超过180度的鱼眼相机组合而成。全景相机的朝向指相机前置鱼眼相机的中心线方向。

首先,根据水平消影点计算其和水平轴之间夹角,得到相对的yaw角δθ。如图3所示。然后,利用指南针信息,得到大概的相机朝向directionc,是东或南或西或北。由此,得到修正后的全局世界坐标系的yaw角θ。

图3水平消影点和相对的yaw角之间的关系

directionc=θ+δθ(1)

3)估计相机绝对位置,过程如下;

根据城市模型和对应图像之间3d到2d的匹配关系可以估计相机姿态的理论。本发明尝试寻找绝对坐标系下的城市2.5d地图和对应城市全景图之间的匹配,估计全景相机的绝对姿态信息。

首先,提取全景图像中建筑物的竖直轮廓信息。根据2)中全景图语义分割的结果,建筑物的竖直轮廓线可以在建筑物区域和非建筑背景区域(例如天空)的交线上找到。

对绝对坐标系下的2.5d地图点进行处理,世界坐标系下的地图点是wgs84坐标(椭球体坐标系下的经纬度表示的坐标),需要对其进行坐标转换,转为平面直角坐标系utm(universaltransversemercartorgridsystem)的坐标。2.5d地图特别之处在于包括建筑物坐标点的高度信息,即2d地图加上高度信息。可以从开源的地图工具,例如openstreetmap获取。

使用球面全景投影模型,利用全景图上竖直线偏离相机中心线的角度,找到其在2.5d城市地图中对应的建筑物角边。

然后,利用每一对地图和全景图像上建筑物边的对应关系,计算可能的相机位置,列出如下二元一次方程:

其中,n1、n2分别是球体坐标系中建筑物竖直轮廓线段的法向量表示,x1、x2分别表示对应的地图中建筑物3d坐标。

进一步,对计算的结果过滤,首先删除掉位于建筑物内的相机位置,然后,定义粗略的相机初始位置为半径的12.5m为半径的圆,删除位于该圆以外的相机位置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1