基于视觉里程计的单目红外视频三维重建方法与流程

文档序号:12675501阅读:279来源:国知局
基于视觉里程计的单目红外视频三维重建方法与流程

本发明涉及一种基于直接法和稀疏法视觉里程计的单目红外视频三维重建方法,通过本方法可对红外视频中的场景进行三维结构重建,使图像具有空间感,显著增强夜视图像的场景感知性。



背景技术:

三维重建是在二维图像信息中获得图像的信息,并通过对这些信息进行处理得到图像的三维信息,它是计算机视觉的重要组成部分。恢复彩色图像中的三维结构现在已有比较理想的算法,但对于红外图像来说,因其反映的是场景的温度分布,有着低信噪比、低对比度、缺乏纹理等缺陷,恢复该图像的三维重建算法较少。若能恢复红外图像的三维结构,那么将极大地提高人眼对该图像的理解效果。

目前,针对单目彩色图像进行三维重建的主要方法有纹理法、轮廓法、运动法、同时定位与建图(simultaneous localization and mapping)以及基于机器学习的方法。通过分析图像中物体表面重复纹理单元的大小、形状,恢复出物体法向、深度等信息,得到物体的三维几何模型,即纹理法。轮廓法则是通过多个角度物体的轮廓图像得到物体的三维模型。运动法即基于运动的建模(structure from motion),是通过在多幅未标定图像中检测匹配特征点集,使用数值方法恢复摄像机参数与三维信息的一种方法。同时定位与建图是机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。基于机器学习的方法就是利用配准的深度图和彩色图作为训练集训练网络,再将测试集输入到训练好的网络中得到场景的深度。而目前针对单目红外图像进行三维重建只有基于机器学习的方法,并且训练集的获取增加了硬件成本。



技术实现要素:

本发明要解决的技术问题是如何对夜视红外视频的场景进行三维重建,使图像具有空间感,增强夜视图像的场景感知性。

为了解决上述技术问题,本发明的技术方案是提供一种基于视觉里程计的单目红外视频三维重建方法,其特征在于,包括如下步骤:

步骤1:红外热像仪标定;制作针对红外热像仪标定的棋盘标定板,然后将红外热像仪固定,采集多张不同位姿的红外棋盘标定板图像,利用matlab的摄像机标定工具箱计算出红外热像仪的内参矩阵;

步骤2:构建直接法和稀疏法视觉里程计模型;通过所述模型刻画红外热像仪的小孔成像模型、红外热像仪位姿、红外热像仪内参、空间点的逆深度以及待优化的光度误差;

步骤3:帧管理;从待处理的连续红外图像序列中产生关键帧,并边缘化关键帧;

步骤4:对关键帧上的像素进行点管理;点管理的目标是在优化时始终保持固定数量的激活点,在三维空间和激活帧中均匀分布;

步骤5:窗口优化;对步骤3所产生的关键帧进行滑动窗口优化,最小化步骤2中构建的直接法和稀疏法视觉里程计模型的光度误差,借助高斯-牛顿法迭代求解出红外热像仪位姿、红外热像仪内参、空间点的逆深度,最终得到场景的三维点云。

优选地,所述步骤1中,针对红外热像仪标定的棋盘标定板由装满温水的导热热水箱、硬纸板、能够隔热1000度高温的石棉隔热板依次连接组成。

优选地,所述步骤2中,构建直接法和稀疏法视觉里程计模型时,考虑到热像仪和普通彩色摄像头成像原理的不同,在实际运行时不考虑镜头的光度标定模型。

优选地,所述步骤3中,总是保留最多Nf个关键帧,Nf为正整数,新来的每帧图像,只和最新的关键帧比较,追踪红外热像仪位姿,之后新来的这帧图像被用于产生一个新的关键帧或者被丢弃;如果被用于产生新的关键帧,在所有的关键帧进行总光度误差优化之后,该关键帧在满足设定条件将被边缘化。

更优选地,所述步骤3具体如下:

步骤3.1:新帧跟踪;当新的关键帧被创建时,所有激活的地图点投影到该帧上,从而创建半稠密地图;当新帧产生时,仅相对最近关键帧进行图像直接配准,从而完成跟追踪;

步骤3.2:创建关键帧;以下三种情况会创建新的关键帧:一、在视角变化时,会创建新的关键帧;二、在相机平移导致遮挡或遮挡去除时,会创建新的关键帧;三、在曝光时间显著变化时,会创建新的关键帧;

步骤3.3:边缘化关键帧;假设I1...In是已被激活的关键帧集合,其中I1是最新的关键帧,In是最旧的关键帧;边缘化策略是:一、总是保留最新的两个关键帧I1和I2;二、若某关键帧的少于5%的点在关键帧I1中被观测到,则边缘化该关键帧;三、如果激活的关键帧多于设定的最大个数Nf,则边缘化距离分数最大的关键帧,不包括I1和I2

优选地,所述步骤4中,点管理包括以下三步:候选点选择、候选点追踪、候选点激活。

更优选地,所述候选点选择的策略是:一、在图像中良好分布;二、相对其周围的环境具有较高的图像梯度。

更优选地,所述候选点追踪的策略是:在后续帧中沿着候选点的极线进行离散化搜索,追踪候选点,从而最小化光度误差。

更优选地,所述候选点激活的策略是:在一组旧点被边缘化之后,需要激活候选点以替换它们;候选点激活的目标是保持地图点在整个图像中均匀分布;首先将所有激活点投影到最近的关键帧上,然后激活与现有的地图点距离最大的候选点。

本发明将直接法应用于最小化光度误差,跳过传统的特征点检测与匹配,通过对像素的灰度值的直接操作,直接计算待优化的光度误差所依赖的所有变量,从而实现夜视场景的三维重建,保证了三维重建的实时性,增强了场景的空间感,可用于无人车、机器人领域。

附图说明

图1为基于直接法和稀疏法视觉里程计的单目红外视频三维重建方法流程图;

图2为构建直接法和稀疏法视觉里程计所使用的模式示意图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

如图1所示,基于直接法和稀疏法视觉里程计的单目红外视频三维重建方法,首先需要对红外热像仪标定,得到红外热像仪的的内参矩阵。然后构建直接法和稀疏法视觉里程计模型,再从待处理的连续红外图像序列中进行帧管理,选择符合要求的关键帧以及边缘化关键帧。接着对关键帧上的像素进行点管理,之后再对关键帧进行滑动窗口优化,借助高斯-牛顿迭代求解出待优化的所有变量,最终得到场景的三维点云。具体方法如下:

步骤1:红外热像仪标定。首先制作针对红外热像仪的棋盘标定板,红外棋盘标定板由三部分组成,从后往前依次是热水箱、硬纸板、石棉隔热板。通过附加热源和隔热板的方案,在红外热像仪上获取到黑白相间的棋盘,然后将20张具有不同位姿的红外棋盘标定板图像输入到matlab标定工具箱中进行热像仪内参标定。

红外热像仪成像原理不同于普通彩色摄像头,为了获得高对比度的黑白相间的棋盘格红外图像,采用附加热源及隔热板的方案,附加热源选用装满温水的导热热水箱,水温大约在35度左右,隔热板选用可以隔热1000度高温的石棉板,石棉板的大小为30mm×30mm,石棉板的个数为41个,然后用matlab脚本在硬纸板上打印针对普通彩色摄像头的棋盘标定板,再将石棉板依次准确地固定在硬纸板上,之后再将硬纸板固定在装有温水的热水箱上。将热像仪固定,平移和旋转标定板,录制一个红外视频,然后对红外视频抽帧选取20张具有不同位姿且对比度较高的标定板图像,将其输入到matlab标定工具箱中,手工选取4个最边缘的角点,程序会自动提取其余角点,并计算出热像仪内参。标定结果为:像素焦距fc=[1636.10735 1516.22703]、主点坐标cc=[206.06274 344.97944]、畸变系数kc=[-0.21301 5.85797 0.01173 -0.03941 0.00000]、误差err=[1.11672 1.68977]。由最后的误差可以看出标定的误差在1到2个像素级,热像仪标定结果是比较准确的。

步骤2:构建直接法和稀疏法视觉里程计模型。首先假设所有的模型都是一个把噪声Y作为输入并计算未知估计量X的概率模型,要寻找使得在X发生这个条件下Y最小这一事件达到最大概率的X,可以记作X*:=argmaxXP(Y|X)。噪声Y在不同的方法中有不同的定义方式,在直接法和稀疏法视觉里程计模型中,将光度误差看做噪声Y,光度误差的定义如下:

其中,Epj表示两帧的一个像素点的光度误差,NP是以像素点p为中心的像素集合,参见图2;ti、tj分别是图像Ii、Ij的曝光时间;ai,bi,aj,bj是光照变化函数的参数;||·||γ表示Huber范数;p′表示p点的投影点位置,可以通过下式计算:

p′=Πc(RΠc-1(p,dp)+t)

其中

Πc表示投影矩阵;∏c-1表示重投影矩阵;dp表示p点的逆深度;R表示旋转矩阵;t表示平移向量;Ti,Tj分别表示第i帧和第j帧热像仪的位姿。另外权重系数wp如下:

其中c为常量;表示p点为中心的图像梯度。

总结上面的内容,误差Epj取决于以下变量:(1)该点的逆深度值dp;(2)热像仪内参;(3)所涉及的热像仪位姿Ti,Tj;(4)光照变化函数参数ai,bi,aj,bj。对于两帧的一个像素点的光度误差,用上面的方法定义,待优化的所有帧和所有点的总光度误差给出如下:

式中,i遍历所有集合F中的图像帧,p遍历图像帧i的所有地图点Pi,j遍历所有帧中能够观测到点p的对应点obs(p)。这样求解一个极大似然估计的问题转化成了一个无约束的非线性优化问题,通过最小化Ephoto求解出它所依赖的所有变量。

步骤3:帧管理。总是保留最多Nf=7个关键帧,新来的每帧图像,只和最新的关键帧比较,追踪热像仪位姿,之后新来的这帧图像被用于产生一个新的关键帧或者被丢弃,如果被用于产生关键帧,在所有的关键帧进行总光度误差优化之后,该关键帧在满足一定条件将被边缘化。下面是详细的步骤:

步骤3.1:新帧跟踪。当新的关键帧被创建时,所有激活的地图点投影到该帧上,从而创建半稠密地图。当新帧产生时,仅相对最近关键帧进行图像直接配准,从而完成跟追踪,其中会使用到多尺度图像金字塔和恒速运动模型。

步骤3.2:创建关键帧。以下三种情况会创建新的关键帧:(1)在视角变化时会创建新的关键帧。(2)在相机平移导致遮挡或遮挡去除时会创建新的关键帧。(3)在曝光时间显著变化时会创建新的关键帧。

步骤3.3:边缘化关键帧。假设I1...In是已被激活的关键帧集合,其中I1是最新的关键帧,In是最旧的关键帧。边缘化策略是:(1)总是保留最新的两个关键帧I1和I2。(2)该关键帧的少于5%的点在关键帧I1中被观测到,则边缘化该关键帧。(3)如果激活的关键帧多于Nf,则边缘化“距离分数”s(Ii)最大的关键帧(不包括I1和I2),公式为:

其中i,j为关键帧的序号,n为关键帧的总数,d(i,1)是关键帧Ii和I1间的欧几里得距离,d(i,j)是关键帧Ii和Ij间的欧几里得距离,c为常数。采用距离分数是为了保证激活的关键帧在3D空间中的良好分布,使更多的关键帧靠近最近的关键帧。

步骤4:点管理。目标是在优化时始终保持固定数量Np的激活点(使用Np=2000),在3D空间和激活帧中均匀分布。首先,识别每个新关键帧中的Np个候选点。候选点不立即添加到优化框架中,而是在后续帧中单独追踪,生成粗略的深度值估计以用于初始化。当需要将新点添加到优化框架中时,激活一些候选点(来自优化窗口中的所有帧),添加到优化框架中。注意,在每个帧中选择Np个候选点,但只保留所有激活帧中的Np个激活点。具体点管理的步骤分为以下三步:

步骤4.1:候选点选择。所选取点的策略是:(1)在图像中良好分布。(2)相对它们周围的环境具有较高的图像梯度。通过将图像分成32×32块可以获取一个区域自适应梯度阈值。对于每一个图像块,规定它的阈值为其中,是该块中所有像素的强度梯度的中值,gth为全局常数(使用gth=7)。为了在整幅图像获得一个均匀的分布,将图像分成32×32块,针对每一块区域如果有大于区域自适应阈值的点,选择区域具有最大像素梯度的点,如果该区域没有大于区域自适应阈值的点,舍弃该区域。

步骤4.2:候选点追踪。在后续帧中沿着候选点的极线进行离散化搜索,追踪候选点,从而最小化光度误差。从最佳匹配结果中,计算深度值及其方差,其用于约束后续帧的搜索空间。这种跟踪策略的灵感来自LSD-SLAM算法。注意,一旦点被激活,计算的深度值仅用于初始化。

步骤4.3:候选点激活。在一组旧点被边缘化之后,需要激活候选点以替换它们。同样,目标是保持地图点在整个图像中均匀分布。为此,首先将所有激活点投影到最近的关键帧上。然后激活与现有的地图点距离最大的候选点(在第二和第三次候选点选择时创建的候选点需要更大的距离阈值)。

步骤5:窗口优化算法。步骤2所构建的直接法和稀疏法视觉里程计模型,模型公式给出了总光度误差公式。步骤3给出了待优化的所有关键帧。步骤4给出了关键帧中的激活点。然后利用滑动窗口并借助高斯-牛顿法最小化总的光度误差,这样可以迭代求解出总光度误差所依赖的所有变量。

所计算的高斯-牛顿系统如下定义:

H=JTWJ且b=-JTWr

其中,W是包含权重的对角矩阵;r是残差向量;J是r的雅克比。

如图2所示,每一个点为能量值贡献|NP|=8个残差,为了简单的表示,接下来只考虑一个残差rk和它所对应的雅克比Jk。在优化或者边缘化过程中残差总是从当前状态开始计算的:

其中,(Ti,Tj,d,c,ai,aj,bi,bj):=x(ζ0残差所依赖的当前状态变量;ζ0表示初始的状态;x为更新值。计算雅克比Jk的公式为:

它可以分解为:

其中Ij为第j个关键帧,p′为关键帧的一个像素点,δgeo表示几何参数,δphoto表示光度参数,JI表示图像对像素的导数,Jgeo表示像素对几何参数的导数,Jphoto表示残差对光度参数的导数。

在计算Jgeo和Jphoto时,借助雅克比第一次估计,之后迭代求解出相机位姿和点的逆深度,完成定位和建图的任务。

试验表明,本实施例构建的直接法和稀疏法视觉里程计对红外视频场景有非常好的三维重建效果,实现了夜视红外视频的场景三维重建,使图像具有空间感,增强了夜视图像的场景感知性。

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