一种三维线图重建方法、装置和电子设备与流程

文档序号:21733676发布日期:2020-08-05 01:29阅读:208来源:国知局
一种三维线图重建方法、装置和电子设备与流程

本发明涉及图像处理技术领域,尤其涉及一种三维线图重建方法、装置和电子设备。



背景技术:

现有的三维线图重建的方法,使用线段的特征匹配的方式处理线段特征,需要使用一组采集好的数据联合优化,无法实时在采集过程中观察到当前重建的质量,运算量要求极大,往往需要数小时甚至数天的运算,例如line3d++等。

也就是说,现有的三维线图重建方法处理的数据量大,不能实时生成三维线图。



技术实现要素:

本发明的目的在于提供一种三维线图重建方法、装置和电子设备,以解决现有的三维线图重建方法处理的数据量大,不能实时生成三维线图的问题。

为了达到上述目的,本发明提供一种三维线图重建方法,包括:

获取前一帧图像的二维特征线段,以及当前帧图像的观测线段;

确定所述观测线段中与所述二维特征线段匹配的匹配线段;

根据所述匹配线段,确定拍摄设备的当前位姿;

根据所述当前位姿,对所述匹配线段求解三角化,获得所述当前帧图像的三维线图。

进一步的,所述确定所述观测线段中与所述二维特征线段匹配的匹配线段,包括:

对所述二维特征线段进行采样,获得采样点;

根据所述采样点,获取所述采样点在所述当前帧图像中的预测点;

对所述预测点进行拟合,获得预测线段;

若所述观测线段包括与所述预测线段部分重合或全部重合的线段,则将所述观测线段中与所述预测线段部分重合或全部重合的线段确定为候选线段;

将所述候选线段中长度最长的线段确定为与所述二维特征线段匹配的匹配线段。

进一步的,在所述对所述预测点进行拟合,获得预测线段之后,还包括:

若所述观测线段不包括与所述预测线段部分重合或全部重合的线段,则生成一条线段,并将生成的线段确定为与所述二维特征线段匹配的匹配线段。

进一步的,所述根据所述匹配线段,确定拍摄设备的当前位姿,包括:

获取所述前一帧图像的三维特征点和所述当前帧图像的二维特征点;

根据所述三维特征点、所述二维特征点,获得第一误差;

将所述前一帧图像的三维线图的三维线段投影到所述当前帧图像,获得二维投影线段;

根据所述二维投影线段与所述匹配线段,获得第二误差;

根据所述第一误差和所述第二误差,确定所述拍摄设备的当前位姿。

本发明实施例还提供一种三维线图重建装置,包括:

第一获取模块,用于获取前一帧图像的二维特征线段,以及当前帧图像的观测线段;

第一确定模块,用于确定所述观测线段中与所述二维特征线段匹配的匹配线段;

第二确定模块,用于根据所述匹配线段,确定拍摄设备的当前位姿;

第二获取模块,用于根据所述当前位姿,对所述匹配线段求解三角化,获得所述当前帧图像的三维线图。

进一步的,所述第一确定模块,包括:

采样子模块,用于对所述二维特征线段进行采样,获得采样点;

第一获取子模块,用于根据所述采样点,获取所述采样点在所述当前帧图像中的预测点;

第二获取子模块,用于对所述预测点进行拟合,获得预测线段;

第一确定子模块,用于若所述观测线段包括与所述预测线段部分重合或全部重合的线段,则将所述观测线段中与所述预测线段部分重合或全部重合的线段确定为候选线段;

第二确定子模块,用于将所述候选线段中长度最长的线段确定为与所述二维特征线段匹配的匹配线段。

进一步的,所述第一确定模块还包括:

第三确定子模块,用于若所述观测线段不包括与所述预测线段部分重合或全部重合的线段,则生成一条线段,并将生成的线段确定为与所述二维特征线段匹配的匹配线段。

进一步的,所述第二确定模块,包括:

第三获取子模块,用于获取所述前一帧图像的三维特征点和所述当前帧图像的二维特征点;

第四获取子模块,用于根据所述三维特征点、所述二维特征点,获得第一误差;

第五获取子模块,用于将所述前一帧图像的三维线图的三维线段投影到所述当前帧图像,获得二维投影线段;

第六获取子模块,用于根据二维投影线段与所述预测线段,获得第二误差;

第四确定子模块,用于根据所述第一误差和所述第二误差,确定所述拍摄设备的当前位姿。

本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现本发明实施例提供的三维线图重建方法中的步骤。

本发明实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的三维线图重建方法中的步骤。

本发明实施例中,获取前一帧图像的二维特征线段,以及当前帧图像的观测线段;确定所述观测线段中与所述二维特征线段匹配的匹配线段;根据所述匹配线段,确定拍摄设备的当前位姿;根据所述当前位姿,对所述匹配线段求解三角化,获得所述当前帧图像的三维线图。整个计算过程简单,提高了获取三维线图的效率,可实时获得当前帧图像的三维线图。

附图说明

图1是本发明实施例提供的一种三维线图重建方法的流程图;

图1a是本发明实施例提供三维线段在坐标系中的表示示意图;

图1b是本发明实施例提供三维线段的重投影示意图;

图1c是本发明实施例提供三维线段重投影后的二维投影线段示意图;

图1d是本发明实施例提供贝叶斯网络示意图;

图2是本发明实施例提供的一种三维线图重建装置的结构图;

图3是本发明实施例提供的一种电子设备的结构图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

请参见图1,图1是本发明实施例提供的一种三维线图重建方法的流程图,如图1所示,本实施例提供一种三维线图重建方法,应用于电子设备,包括以下步骤:

步骤101、获取前一帧图像的二维特征线段,以及当前帧图像的观测线段。

拍摄设备拍摄获得连续帧图像,前一帧图像为在当前帧图像之前拍摄获得,且与当前帧图像相邻的图像。在本步骤中,前一帧图像的二维特征线段,可理解为前一帧图像的匹配线段,该匹配线段根据前前一帧图像的二维特征线段获得。前前一帧图像为在前一帧图像之前拍摄获得,且与前一帧图像相邻的图像,依次类推,在此不做赘述。

对于首帧图像来说,首帧图像没有上一帧图像,因此,首帧图像的匹配线段的确定可采用现有技术中的方式确定,在此不做限定。对于除首帧图像之外的其他帧图像来说,均可以采用本实施例中的方法,来确定匹配线段。进一步的,将当前帧图像的匹配线段作为二维特征线段,参与确定下一帧图像的匹配线段。

当前帧图像的观测线段,可通过直线段检测算法(linesegmentdetector,简称lsd)算法获取。

步骤102、确定所述观测线段中与所述二维特征线段匹配的匹配线段。

本步骤为线段跟踪部分,前一帧的二维特征线段可以提供给当前帧,以对根据当前帧获取的观测线段进行优化,具体过程包括:

对所述二维特征线段进行采样,获得采样点;

根据所述采样点,获取所述采样点在所述当前帧图像中的预测点;

对所述预测点进行拟合,获得预测线段;

若所述观测线段包括与所述预测线段部分重合或全部重合的线段,则将所述观测线段中与所述预测线段部分重合或全部重合的线段确定为候选线段;

将所述候选线段中长度最长的线段确定为与所述二维特征线段匹配的匹配线段。

具体的,对于首帧图像来说,首帧图像没有上一帧图像,因此,首帧图像的匹配线段的确定可采用现有技术中的方式确定,在此不做限定。对于除首帧图像之外的其他帧图像来说,均可以采用本实施例中的方法,来确定匹配线段。进一步的,将当前帧图像的匹配线段作为二维特征线段,参与确定下一帧图像的匹配线段。

在对二维特征线段进行采样时,可采用等间距采样的方式进行采用,获得采样点;然后采用l-k光流算法求解采样点在当前帧图像中的位置点,该位置点为预测点,预测点也可称为光流点,再利用最小二乘法将光流点拟合成预测线段。观测线段包括一条或多条线段。

观测线段可包括一条或多条观测子线段,预测线段可包括一条或多条预测子线段。将预测线段与观测线段进行比较,依次确定观测线段中的每条观测子线段与预测线段的每条预测子线段是否存在部分重合或全部重合,若是,将所述观测线段中与所述预测线段部分重合或全部重合的线段确定为候选线段。上述部分重合或全部重合,是指观测子线段与预测子线段是部分重合或全部重合。例如,若观测子线段与预测子线段完全重合,则认为观测子线段与预测子线段全部重合;若观测子线段与预测子线段相交或某一段重合,则可认为观测子线段与预测子线段部分重合。

候选线段可包括一条或多条候选子线段,若候选线段包括一条候选子线段,则将该条候选子线段确定为与二维特征线段匹配的匹配线段;若候选线段包括多条候选子线段,则将所述候选线段中长度最长的线段确定为与所述二维特征线段匹配的匹配线段。

本实施中,在确定所述观测线段中与所述二维特征线段匹配的匹配线段时,由于整个处理过程是在二维层面上的处理,处理过程计算量小,处理效率高。

进一步的,在本发明一个实施例中,在所述对所述预测点进行拟合,获得预测线段之后,还包括:

若所述观测线段不包括与所述预测线段部分重合或全部重合的线段,则生成一条线段,并将生成的线段确定为与所述二维特征线段匹配的匹配线段。

具体的,若所述观测线段不包括与所述预测线段部分重合或全部重合的线段,则不能从观测线段中获取匹配线段,为了防止线段出现断裂,丢失的情况,可采用融合、鲁棒的检测等方法进行维护,例如生成一条线段,将生成的线段确定为与所述二维特征线段匹配的匹配线段。

步骤103、根据所述匹配线段,确定拍摄设备的当前位姿。

拍摄设备的当前位姿可包括拍摄设备的旋转和平移,拍摄设备可为摄像机、相机等等。拍摄设备为相机时,拍摄设备的当前位姿为当前相机的旋转和平移。

具体的,本步骤的处理过程包括:

获取所述前一帧图像的三维特征点和所述当前帧图像的二维特征点;

根据所述三维特征点、所述二维特征点,获得第一误差;

将所述前一帧图像的三维线图的三维线段投影到所述当前帧图像,获得二维投影线段;

根据所述二维投影线段与所述匹配线段,获得第二误差;

根据所述第一误差和所述第二误差,确定所述拍摄设备的当前位姿。

具体的,使用orb(orientedfastandrotatedbrief)特征提取法,确定前一帧图像的三维特征点与当前帧的二维特征点的对应关系。在拍摄设备的当前位姿的基础上,使用优化点和线重投影误差的方式求解当前帧对应的拍摄设备的姿态,并计算端点、线段的重投影误差,如下表达式所示:

l=k1(rn+[t]×rv)

其中,a点为前一帧图像的三维特征点,p为a点的坐标,b点为当前帧中与a点对应的二维特征点,p为b点的坐标,r为摄像机朝向,t为摄像机平移,kp为摄像机内参,∈p(即第一误差)为点的重投影误差,表示将a点投影到当前帧后,投影点与b点之间的距离。t为相机位姿。

使用plückercoordinates表示三维线段的参数l=(ntvt)t,如图1a所示,v为线段方向,n为v和原点所成平面的法向量。拍摄设备包括内参kp和外参r、t,前一帧图像的三维线图的三维线段投影到所述当前帧图像,获得二维投影线段,与获取的预测线段的端点c和d计算误差∈l(即第二误差)。

利用lm算法最小化误差函数,获得拍摄设备的当前位姿tφ=(r,t)。

如图1b-1c所示,lw是三维线段,lc是二维投影线段,fc表示当前帧图像,cw为拍摄前一帧图像时摄像机的位姿,cc为当前位姿,rc,tc分别为摄像机朝向和摄像机平移,图1c中虚线所示为匹配线段(即观测线段中与二维特征线段匹配的线段)。

步骤104、根据所述当前位姿,对所述匹配线段求解三角化,获得所述当前帧图像的三维线图。

利用拍摄设备当前位姿,对匹配线段求解三角化,得到三维的线段,从而得到当前帧图像的三维线图。

本实施例中,获取前一帧图像的二维特征线段,以及当前帧图像的观测线段;确定所述观测线段中与所述二维特征线段匹配的匹配线段;根据所述匹配线段,确定拍摄设备的当前位姿;根据所述当前位姿,对所述匹配线段求解三角化,获得所述当前帧图像的三维线图。整个计算过程简单,提高了获取三维线图的效率,可实时获得当前帧图像的三维线图。

另外,本发明提供的三维线图重建方法,未进行曼哈顿假设,可以用于任意的场景中;可以实时在线得到三维线图和拍摄设备位姿;使用特征跟踪的方式得到线特征序列,减少特匹配时间增加运行效率;使用特征跟踪的方式得到线特征序列,避免特征误匹配得到错误的三维线段,提高三维线图的准确率。

如图1d所示,为本发明提供的三维线图重建方法的建模过程,基于贝叶斯网络的形式进行了建模。假设t为相机姿态,lj为第j条三维线段,为第j条三维线段对应的2d前一时刻的线段位置,为第t时刻第j条三维线段的观测值,那么整体的优化方程有:

其中,st,sl,分别为对应的集合,是2d线段观测模型,p(tt|tt-1,tt-2)是对应的轨迹约束模型。此外,本模型也包含基于点的观测模型。在求解问题上,将图模型转化为最小二乘的优化方法,采用lm方法迭代优化获得最优解,可获得拍摄设备的当前位姿。

请参见图2,图2是本发明实施例提供的一种三维线图重建装置的结构图,如图2所示,三维线图重建装置200包括:

第一获取模块201,用于获取前一帧图像的二维特征线段,以及当前帧图像的观测线段;

第一确定模块202,用于确定所述观测线段中与所述二维特征线段匹配的匹配线段;

第二确定模块203,用于根据所述匹配线段,确定拍摄设备的当前位姿;

第二获取模块204,用于根据所述当前位姿,对所述匹配线段求解三角化,获得所述当前帧图像的三维线图。

在本发明一个实施例中,所述第一确定模块202,包括:

采样子模块,用于对所述二维特征线段进行采样,获得采样点;

第一获取子模块,用于根据所述采样点,获取所述采样点在所述当前帧图像中的预测点;

第二获取子模块,用于对所述预测点进行拟合,获得预测线段;

第一确定子模块,用于若所述观测线段包括与所述预测线段部分重合或全部重合的线段,则将所述观测线段中与所述预测线段部分重合或全部重合的线段确定为候选线段;

第二确定子模块,用于将所述候选线段中长度最长的线段确定为与所述二维特征线段匹配的匹配线段。

在本发明一个实施例中,所述第一确定模块202还包括:

第三确定子模块,用于若所述观测线段不包括与所述预测线段部分重合或全部重合的线段,则生成一条线段,并将生成的线段确定为与所述二维特征线段匹配的匹配线段。

在本发明一个实施例中,所述第二确定模块203,包括:

第三获取子模块,用于获取所述前一帧图像的三维特征点和所述当前帧图像的二维特征点;

第四获取子模块,用于根据所述三维特征点、所述二维特征点,获得第一误差;

第五获取子模块,用于将所述前一帧图像的三维线图的三维线段投影到所述当前帧图像,获得二维投影线段;

第六获取子模块,用于根据所述二维投影线段与所述匹配线段,获得第二误差;

第四确定子模块,用于根据所述第一误差和所述第二误差,确定所述拍摄设备的当前位姿。

需要说明的是,本实施例中上述三维线图重建装置200可以实现图1所示实施例中方法实施例中任意实施方式,也就是说,图1所示实施例中方法实施例中的任意实施方式都可以被本实施例中的上述三维线图重建装置200所实现,以及达到相同的有益效果,此处不再赘述。

请参见图3,图3是本发明实施例提供的一种电子设备的结构图,如图3所示,电子设备300,包括:存储器301、处理器302及存储在所述存储器301上并可在所述处理器302上运行的计算机程序,其中,

所述处理器302用于读取存储器301中的计算程序,执行下列过程:

获取前一帧图像的二维特征线段,以及当前帧图像的观测线段;

确定所述观测线段中与所述二维特征线段匹配的匹配线段;

根据所述匹配线段,确定拍摄设备的当前位姿;

根据所述当前位姿,对所述匹配线段求解三角化,获得所述当前帧图像的三维线图。

进一步的,处理器302,在执行所述确定所述观测线段中与所述二维特征线段匹配的匹配线段的步骤时,具体执行:

对所述二维特征线段进行采样,获得采样点;

根据所述采样点,获取所述采样点在所述当前帧图像中的预测点;

对所述预测点进行拟合,获得预测线段;

若所述观测线段包括与所述预测线段部分重合或全部重合的线段,则将所述观测线段中与所述预测线段部分重合或全部重合的线段确定为候选线段;

将所述候选线段中长度最长的线段确定为与所述二维特征线段匹配的匹配线段。

进一步的,处理器302,还执行:

若所述观测线段不包括与所述预测线段部分重合或全部重合的线段,则生成一条线段,并将生成的线段确定为与所述二维特征线段匹配的匹配线段。

进一步的,处理器302,在执行所述根据所述匹配线段,确定拍摄设备的当前位姿的步骤时,具体执行:

获取所述前一帧图像的三维特征点和所述当前帧图像的二维特征点;

根据所述三维特征点、所述二维特征点,获得第一误差;

将所述前一帧图像的三维线图的三维线段投影到所述当前帧图像,获得二维投影线段;

根据所述二维投影线段与所述匹配线段,获得第二误差;

根据所述第一误差和所述第二误差,确定所述拍摄设备的当前位姿。

需要说明的是,本实施例中上述电子设备可以实现图1所示实施例中方法实施例中任意实施方式,也就是说,图1所示实施例中方法实施例中的任意实施方式都可以被本实施例中的上述电子设备所实现,以及达到相同的有益效果,此处不再赘述。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的第一种的三维线图重建方法(图1所示的三维线图重建方法)中的步骤。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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