一种城市环境中的混合相机标定方法与流程

文档序号:18122097发布日期:2019-07-10 09:42阅读:351来源:国知局
一种城市环境中的混合相机标定方法与流程

本发明涉及一种混合相机标定方法。



背景技术:

随着技术的发展,越来越多的城市构建了完整的三维模型场景,这对于如何有效规划城市具有重要意义。而完整的城市三维场景也提供了丰富的三维建筑模型,这对于城市建筑的在线视觉注册提供了丰富的素材。城市建筑在线视觉注册是根据连续视频帧中的3d-2d对应点求解相机位置和姿态信息,是计算机视觉的一个重要组成部分:城市建筑在线视觉注册在机器人伺服、无人驾驶、增强现实等领域具有广泛应用。

在城市场景中,由于建筑之间存在遮挡问题,并且树木、行人、车辆也会对建筑存在遮挡;此外,建筑的表面纹理信息各式各样,很难进行统一处理,而且光照、阴影对于纹理信息也具有较大的影响,这对于解决城市场景在线视觉注册是重大的挑战。

利用计算机视觉算法进行相机标定和目标跟踪现有很多方法:基于特征点的方法、基于区域划分的方法和基于轮廓边的方法等。由于存在遮挡,并且建筑表面可能纹理信息并不充分,所以基于特征点的方法并不适用于城市建筑在线视觉注册;同样的,基于区域的方法很难在拥有复杂遮挡和背景的城市场景下准确的划分出前景和背景,所以同样不适用。而在城市户外场景下,由于存在光照环境复杂、遮挡复杂、背景复杂等因素,想要从图像中提取出准确的轮廓边是一个巨大的挑战,在现有方法的基础上难以实现,所以基于轮廓边的方法也不适用于复杂城市环境下的相机标定。因此,亟需一种城市环境中的混合相机标定方法,在复杂的城市户外场景下也能够实时标定出相机的外参并结合计算机视觉跟踪算法实现实时跟踪城市建筑。



技术实现要素:

为解决城市户外建筑跟踪方法缺乏的问题,本发明提供了一种城市环境中的混合相机标定方法,通过高精度gps获取相机的位置信息,通过陀螺仪获取相机的朝向信息,然后由此计算出相机的外参。当计算机视觉算法因为遮挡等问题而发生跟踪失败时(误差大于给定阈值),可以利用得到的相机内外参数求出外参矩阵,用以持续跟踪目标;当后续视频帧中计算机视觉算法又能够精确跟踪目标时,因为此时计算机视觉算法相比gps和陀螺仪数据更加精确,因此继续使用计算机视觉算法,从而实现复杂城市环境下的实时目标跟踪。

本发明的城市环境中的混合相机标定方法,具体步骤如下:

步骤1、对于第一帧通过手动进行标定。

步骤2、对于后续每一帧:通过计算机视觉算法进行跟踪,如果误差大于给定阈值,则转到步骤3。

步骤3、获取当前帧下的gps和陀螺仪数据,计算出外参矩阵并跟踪目标,然后转步骤2。

步骤1中,需要提供相机的内参矩阵k,其形式如下所示:

其中fx和fy分别是相机水平方向和竖直方向的焦距,u0和v0是水平方向和竖直方向的主点偏移。然后通过鼠标交互获取指定的四个3d点在图像上的2d点位置,然后根据opencv视觉计算库的cv::solvepnp函数求出第一帧的外参矩阵[r|t],其中r为相机的旋转矩阵,t为相机的位移向量。得到外参矩阵后,将三维模型的每一条边li的两个端点pi、pj按照以下公式:

mi=k[r|t]pi

投影到二维图像上的二维点mi、mj,这样就得到了二维图像上的线条li,然后将每一个二维线条绘制在图像上,完成初始化操作。其中k是相机内部参数。

步骤2中,根据前一帧的投影矩阵,将三维模型投影到图像上,然后在二维图像上的线条上采样二维点si,并找出这些采样点的法线,接着沿着法线方向寻找与采样点颜色梯度明显变化的像素点作为对应点ci;当在所有的二维线条上都采样完二维点,并且每一个采样点都寻找完对应点后,采用非线性最小二乘算法求出当前帧的外参矩阵,并计算和判断误差大小,如果误差小于给定阈值,就根据新得到的外参矩阵将三维模型投影到二维平面;如果误差大于给定的阈值,则转到步骤3。

步骤3中,获取通过gps得到的平移向量,获取陀螺仪得到的旋转向量,然后根据平移向量和旋转向量,利用opencv视觉计算库的cv::rodrigues函数求出当前帧下的外参矩阵,将模型投影到二维图像上。然后转步骤2。

本发明的技术构思是:利用高精度的gps定位信息和高精度的陀螺仪数据,可以得到当前帧下的相机外参矩阵,用于遮挡情况下的目标跟踪;采用现有的计算机视觉算法,可以解决无遮挡情况下的目标跟踪问题。将这两者结合起来,从而可以对复杂环境下的城市建筑进行实时的跟踪。

本发明的优点在于:利用现有的计算机视觉算法仅仅可以解决无遮挡或者轻微遮挡的目标跟踪问题,但是对于复杂环境下的城市建筑跟踪问题,现有算法都不能解决;然而利用高精度的gps和陀螺仪数据,可以帮助现有计算机视觉算法解决复杂情况下的城市建筑跟踪问题。因此通过这两者的结合,可以实现复杂遮挡、复杂背景等情况下的目标跟踪问题。

附图说明

图1为本发明的总的流程图

具体实施方式

参照附图,进一步说明本发明:

基于gis技术的混合相机标定方法,包括以下步骤:

步骤1、对于第一帧通过手动进行标定。

步骤2、对于后续每一帧:通过计算机视觉算法进行跟踪,如果跟踪失败,则转到步骤3。

步骤3、获取当前帧下的gps和陀螺仪数据,就算出外参矩阵并跟踪目标,然后转步骤2。

步骤1中,需要提供相机的内参矩阵k,其形式如下所示:

其中fx和fy分别是相机水平方向和竖直方向的焦距,u0和v0是水平方向和竖直方向的主点偏移。然后通过鼠标交互获取指定的四个3d点在图像上的2d点位置,然后根据opencv视觉计算库的cv::solvepnp函数求出第一帧的外参矩阵[r|t],其中r为相机的旋转矩阵,t为相机的位移向量。得到外参矩阵后,将三维模型的每一条边li的两个端点pi、pj按照以下公式:

mi=k[r|t]pi

投影到二维图像上的二维点mi、mj,这样就得到了二维图像上的线条li,然后将每一个二维线条绘制在图像上,完成初始化操作。其中k是相机内部参数。

步骤2中,根据前一帧的投影矩阵,将三维模型投影到图像上,然后在二维图像上的线条上采样二维点si,并找出这些采样点的法线,接着沿着法线方向寻找与采样点颜色梯度明显变化的像素点作为对应点ci;当在所有的二维线条上都采样完二维点,并且每一个采样点都寻找完对应点后,采用非线性最小二乘算法求出当前帧的外参矩阵,并计算和判断误差大小,如果误差小于给定阈值,就根据新得到的外参矩阵将三维模型投影到二维平面;如果误差大于给定的阈值,则转到步骤3。

步骤3中,获取通过gps得到的平移向量,获取陀螺仪得到的旋转向量,然后根据平移向量和旋转向量,利用opencv视觉计算库的cv::rodrigues函数求出当前帧下的外参矩阵,将模型投影到二维图像上。然后转步骤2。

目前,通过计算计算机视觉算法进行目标跟踪的算法有很多,现有算法基本可以解决无遮挡、无纹理、部分遮挡、复杂背景、光照变化等多种情况下的目标跟踪问题,但是对于复杂遮挡情况下的目标跟踪问题,现有的所有算法都无能为力。然而高精度gps和陀螺仪数据不受遮挡等任何外部环境的影响,因此照样可以通过这些数据获取相机的外参矩阵。所以本发明提出一种城市环境中的混合相机标定方法,通过结合计算机视觉算法跟踪无遮挡情况下的目标,利用gps和陀螺仪数据跟踪复杂情况下的目标,从而可以解决复杂环境下的实时目标跟踪问题,填补了目标跟踪问题在复杂环境下的空白。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

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