首页> 中国专利> 一种基于卷积神经网络和光流特征视觉里程计的实现方法

一种基于卷积神经网络和光流特征视觉里程计的实现方法

摘要

本发明涉及一种基于卷积神经网络和光流特征视觉里程计的实现方法,有如下步骤,图像序列中的相邻两帧输入基于PWC‑net的光流特征提取网络,由光流特征提取网络进行光流特征图提取;通过卷积神经网络对获得的光流特征图进行进一步特征提取,建立光流特征图与地面真值图像之间的映射关系,从而估计相邻帧图像之间的相对位姿;对步骤二中的相对位姿变换为绝对位姿,恢复出原始的运动轨迹。本发明中先进行光流特征图的提取,再通过卷积神经网络对光流特征图进一步进行特征提取,使得加快对图像计算光流图的速度,进而提高整体的运行速度。

著录项

说明书

技术领域

本发明涉及无人机自主巡检中基于视觉的定位与导航领域,更具体地,涉及一种基于卷积神经网络和光流特征视觉里程计的实现方法。

背景技术

移动机器人技术越来越成为万众瞩目的焦点。在未来,同时定位和环境建图(SLAM)技术,不仅和无人驾驶结合方便人们出行,而且与工业运输相结合使得无人卡车无人飞机提高流通效率,也应用于VR和AR眼镜,改变人们生活娱乐的交互理念。这些生活中熟悉的场景,将为会因这项技术的进步而取得翻天覆地的变化。视觉SLAM目前遇到的挑战有两方面:第一是移动机器人持续运动视角的动态场景下,能够保持算法系统的稳定性,第二是,高效利用从传感器获取的丰富的数据信息,并在现有的硬件设备下高效的优化计算结果。

视觉里程计是在同时定位和制图(SLAM)系统中十分具有挑战性的任务,旨在通过视觉数据流生成地图。视觉里程计系统通常基于一个或两个摄像头,根据特征和像素估算运动图像帧之间的差异。由于不同帧速率相机,通常在后续帧之间会有微小的增量变化,根据这种特征,可以假定以移动机器人上的相机本身作为参考中心坐标,光流与移动的物理距离成正比。本发明中,称为里程计的视觉里程计系统是提出了基于光流和深度学习的思想。光流特征图像用作卷积神经网络的输入,该卷积神经网络计算每个卷积的旋转和位移图像像素。应用位移和旋转逐步构建摄像机位置的地图旅行。本发明中提出的系统在以下方面进行了训练和测试:选择KITTI视觉里程表数据集作为测试数据集,并通过比较地面真实坐标与预测的驾驶轨迹对系统进行评估。

公开号为“CN110490928A”,公开日为2019年11月22日的中国专利申请文件公开了一种基于深度神经网络的相机姿态估计方法,1)构建相机姿态估计网络;2)构建无监督训练方案,利用估计的深度图、帧间相对位姿及光流从输入的前后帧图像中分别重建出相应的图像,利用输入图像和重建图像之间的光度误差构建网络的损失函数;3)位姿估计模块与光流估计模块共享特征提取部分,加强特征对于帧间的几何联系;4)输入待训练单视点视频,输出对应帧间相对位姿,通过最优化手段降低损失函数来训练模型,以至网络达到收敛。本发明所提出的模型通过输入单视点视频序列输出对应序列的相机位姿,训练过程以一种端到端无监督的方式进行,通过光流与位姿联合训练,提高位姿估计性能。

但是上述的方案中,在一个神经网络包括了位姿估计模块和光流估计模块,通过一个神经网络同时提取位姿信息和光流信息,将两个信息在同一个网络进行结合,虽然提高了位姿估计的性能,但是导致了总体的运算速度下降。

发明内容

本发明为克服上述现有技术中运算速度交底的问题,提供一种基于卷积神经网络和光流特征视觉里程计的实现方法,在保障视觉里程计系统的功能前提下,充分发挥深度学习算法的良好优势,采用基于PWC-net的光流神经网络提取相邻帧图像之间的光流图,进而采用特征提取网络获得光流特征建立视觉里程计模型,有效提升视觉里程计系统的运算速度。

为解决上述技术问题,本发明采用的技术方案是:一种基于卷积神经网络和光流特征视觉里程计的实现方法,包括如下步骤:

步骤一:图像序列中的相邻两帧输入基于PWC-net的光流特征提取网络,由光流特征提取网络进行光流特征图提取;光流提取网络主要用于提取图像序列中相邻帧图像之间的光流信息,相邻帧图像之间的光流信息代表相邻帧图像深度的变化关系,所以获得精度更高的光流特征图对整个系统的精度的提升具有十分重要的意义。

步骤二:通过卷积神经网络对获得的光流特征图进行进一步特征提取,建立光流特征图与地面真值图像之间的映射关系,从而估计相邻帧图像之间的相对位姿;

步骤三:对步骤二中的相对位姿变换为绝对位姿,恢复出原始的运动轨迹。

优选的,所述光流特征提取网络采用可学习的特征金字塔模式,使用当前的光流估计值来扭曲变换第二张图片,然后使用变形的特征和第一个图像的特征来构建成本量,并用CNN网络结构处理以估计光流。相较于目前的网络模型,该形式使得光流特征提取网络的训练参数量小17倍,因此非常易于训练。此外,它在MPI Sintel最终通道和KITTI 2015基准测试,在Sintel上以约35fps的速度运行分辨率(1024×436)的图像。

因为原始图像是阴影和光照变化的变体,PWC-net采用具有可学习特征金字塔的学习方式。其次,将传统光流提取算法中的扭曲变换操作为网络中的一层来估算运动相邻帧图像运动关系。第三,与原始图像相比,成本量更能代表光流提取效果,因此PWC-net网络结构中含有相应一层构建成本量,然后利用卷积神经网络来估算扭曲层和成本层中可学习的参数。最后,采用传统方法利用上下文信息(例如中值滤波和双边信息)对光流进行进一步处理过滤。

优选的,输入卷积神经网络的的信息包括光流特征图和该光流特征图对应的运动相对位姿信息。

优选的,在所述步骤一前,先对不同图像对应的实际绝对位姿数据进行预处理,获得相对位姿;相对位姿数据表示物体沿着X,Y,Z轴的移动距离,旋转角度表示物体绕X,Y,Z轴旋转的角度,转角可由四元数,欧拉角,旋转矩阵表示;通过相对位姿进行姿态结算得到每张图像的绝对姿态,绝对姿态的生成标签表示为:

P=[x,y,z,ψ,χ,γ]

式中:x、y、z分别表示为物体在X,Y,Z轴方向的移动距离;后三个参数表示物体在X,Y,Z轴方向的转动角度。

生成单张图片的绝对姿态可以为后面的两张图片序列的相对姿态提供数据标签,相对姿态可以通过姿态解算可以得到每张图片的绝对姿态,从而恢复出原始位姿的轨迹图,并与原始的真实数据值比较计算出误差并优化网络。

优选的,为与绝对误差标签一致,所述相对位姿采用欧拉角表示:

ΔP=[Δx,Δy,Δz,Δψ,Δχ,Δγ]

式中,ΔP中前三个物理量分别表示物体在t时刻至t+1时刻沿X,Y,Z轴的位移差;后三个物理量表示绕X,Y,Z轴旋转的角度差。

优选的,经过光流特征提取网络获得网络中第l层的特征图

其中,x是像素索引,up

其中,其中T是转置运算符,N是列向量

优选的,卷积神经网络对输入的光流特征图

其中,fc代表全连接层,

优选的,所述卷积神经网络由十个卷积层、激活函数层和Max-pooling层构成,将原始输入数据映射到抽象特征空间。

优选的,每个卷积层后面连接了一个激活函数ReLU,其中有六层卷积步长为2,得到的特征图谱相应的缩减为原来的两倍;卷积核的大小从7*7,逐渐减小为5*5,最终变为3*3。先从整体宏观提取特征,随着卷积核的减小,有利于局部特征的获取。随着卷积滤波器的层数不断增加,网络的权重W也在增大,使得输出的图像深度也随之增加,即获得特征图谱的数目增加,以增加提取的抽象化特征。

优选的,卷积神经网络的卷积层后面设计了三层全连接层,隐藏单元数依次为4096、1024、128,每层全连接层后面都加了一个非线性激活函数Relu;得到128维的特征后,进行最后一次特征浓缩,得到6维特征,表示输入的两张图片之间的相对姿态:

[Δx,Δy,Δz,Δψ,Δχ,Δγ]

式中:ΔP中前三个物理量分别表示物体在t时刻至t+1时刻沿X,Y,Z轴的位移差;后三个物理量表示绕X,Y,Z轴旋转的角度差;

最后由估计得到的6维姿态与原始真是数据值进行误差计算并优化网络参数。

优选的,通过网络误差优化函数对卷积神经网络进行训练实现迭代优化,函数具体为:

式中:P

上述误差函数的获得过程如下:

假设给定的第k组相邻的图片序列为X

P(Y

要求得此概率的最大值的关键是求解出最优化网络参数

最终,网络误差优化函数使用均方误差函数(MSE),最终可得上述的优化函数。

优选的,使用数据集对光流特征提取网络和卷积神经网络进行训练,所述数据集包括相机图像和地面的真值信息,地面真值信息转换为相对位姿;地面真值信息在数据集采集过程中进行事先标定,并且每一帧图像信息对应相应的地面真值信息。

优选的,在所述步骤三中,对获得的相对位姿对其采用矩阵变换进而获得原始的绝对位姿,即原始轨迹。恢复出原始的绝对位姿的过程可以采用旋转矩阵的进行姿态解算,具体的过程如下:

第i张图片的对应地面真值数据可以转换为3×4的矩阵[R|t],其属于特殊正交群,又因为是在三维空间的旋转,所以可以表示为SO(3)。将该3×4的矩阵左下角补0,右下角补1,可以得到4×4的齐次变换矩阵,又称为特硃欧式群:

对于两张相邻的图片,设第i张图片的齐次变换矩阵为T

对所有的相对位姿进行运算获得绝对位姿,从而得到原始轨迹。

与现有技术相比,本发明的有益效果是:光流提取网络选择目前性能比较好的PWC-net来提取相邻帧图像之间的光流特征图,PWC-net提取的光流特征图相对于现在其他的光流提取网络具有更高的精度。同时,本发明中先进行光流特征图的提取,再通过卷积神经网络对光流特征图进一步进行特征提取,直接使用光流图作为输入,利用卷积神经网络学习图片中尽可能多的特征,并且避免了人工标定相机参数和选择特征,从而提高算法的计算精度与鲁棒性,使得加快对图像计算光流图的速度,进而提高整体的运行速度。

附图说明

图1是本发明的一种基于卷积神经网络和光流特征视觉里程计的实现方法的流程图;

图2是本发明的光流特征提取网络的网络框架图;

图3是本发明的卷积神经网络的网络框架图;

图4是本发明在测试序列sequence08进行验证的效果图;

图5是本发明在测试序列sequence09进行验证的效果图;

图6是本发明在测试序列sequence10进行验证的效果图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”“长”“短”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体描述:

实施例

如图1-3所示为一种基于卷积神经网络和光流特征视觉里程计的实现方法的实施例,包括如下步骤:

对不同图像对应的实际绝对位姿数据进行预处理,获得相对位姿。相对位移数据表示物体沿着X,Y,Z轴的移动距离,旋转角度表示物体绕X,Y,Z轴旋转的角度,转角可由四元数,欧拉角,旋转矩阵表示,最终绝对姿态的生成标签可表示为下面公式所示的向量:

P=[x,y,z,ψ,χ,γ]

生成单张图片的绝对姿态可以为后面的两张图片序列的相对姿态提供数据标签,相对姿态可以通过姿态解算可以得到每张图片的绝对姿态,从而恢复出原始位姿的轨迹图,并与原始的真实数据值比较计算出误差并优化网络。

为与绝对误差标签一致,本发明的相对位姿也采用欧拉角表示:

ΔP=[Δx,Δy,Δz,Δψ,Δχ,Δγ]

其中,ΔP中前三个物理量分别表示物体在t时刻至t+1时刻沿X,Y,Z轴的位移差,后三个物理量表示绕X,Y,Z轴旋转的角度差。

步骤一:图像序列中的相邻两帧输入基于PWC-net的光流特征提取网络,由光流特征提取网络进行光流特征图提取;

流特征提取网络采用可学习的特征金字塔模式,使用当前的光流估计值来扭曲变换第二张图片,然后使用变形的特征和第一个图像的特征来构建成本量,并用CNN网络结构处理以估计光流。相较于目前的网络模型,该形式使得光流特征提取网络的训练参数量小17倍,因此非常易于训练。此外,它在MPI Sintel最终通道和KITTI 2015基准测试,在Sintel上以约35fps的速度运行分辨率(1024×436)的图像。

光流特征提取网络获得网络中第l层的特征图

其中,x是像素索引;up

再使用获得的特征图来构建存储关联的匹配成本,计算下一帧图像中具有相应像素,具体方式如下:

其中,其中T是转置运算符;N是列向量

在一个多层卷积神经网络,以成本量cv

因为原始图像是阴影和光照变化的变体,PWC-net采用具有可学习特征金字塔的学习方式。其次,将传统光流提取算法中的扭曲变换操作为网络中的一层来估算运动相邻帧图像运动关系。第三,与原始图像相比,成本量更能代表光流提取效果,因此PWC-net网络结构中含有相应一层构建成本量,然后利用卷积神经网络来估算扭曲层和成本层中可学习的参数。最后,采用传统方法利用上下文信息(例如中值滤波和双边信息)对光流进行进一步处理过滤。

步骤二:通过卷积神经网络对获得的光流特征图进行进一步特征提取,建立光流特征图与地面真值图像之间的映射关系,从而估计相邻帧图像之间的相对位姿;对输入的光流特征图

其中,fc代表全连接层,

步骤三:对步骤二中的相对位姿变换为绝对位姿,恢复出原始的运动轨迹。

在本实施例中,卷积神经网络由十个卷积层、激活函数层和Max-pooling层构成,将原始输入数据映射到抽象特征空间。恢复出原始的绝对位姿的过程可以采用旋转矩阵的进行姿态解算,具体的过程如下:

第i张图片的对应地面真值数据可以转换为3×4的矩阵[R|t],表示为SO(3);将该3×4的矩阵左下角补0,右下角补1,可以得到4×4的齐次变换矩阵,得到特硃欧式群:

对于两张相邻的图片,设第i张图片的齐次变换矩阵为T

对所有的相对位姿进行运算获得绝对位姿,从而得到原始轨迹。

具体的,每个卷积层后面连接了一个激活函数ReLU,其中有六层卷积步长为2,得到的特征图谱相应的缩减为原来的两倍;卷积核的大小从7*7,逐渐减小为5*5,最终变为3*3。先从整体宏观提取特征,随着卷积核的减小,有利于局部特征的获取。随着卷积滤波器的层数不断增加,网络的权重W也在增大,使得输出的图像深度也随之增加,即获得特征图谱的数目增加,以增加提取的抽象化特征。

其中,卷积神经网络的卷积层后面设计了三层全连接层,隐藏单元数依次为4096、1024、128,每层全连接层后面都加了一个非线性激活函数Relu;得到128维的特征后,进行最后一次特征浓缩,得到6维特征,表示输入的两张图片之间的相对姿态:

[Δx,Δy,Δz,Δψ,Δχ,Δγ]

式中:ΔP中前三个物理量分别表示物体在t时刻至t+1时刻沿X,Y,Z轴的位移差;后三个物理量表示绕X,Y,Z轴旋转的角度差;

最后由估计得到的6维姿态与原始真是数据值进行误差计算并优化网络参数。

在步骤二中,通过网络误差优化函数对卷积神经网络进行训练实现迭代优化,函数具体为:

式中:P

上述误差函数的获得过程如下:

假设给定的第k组相邻的图片序列为X

P(Y

要求得此概率的最大值的关键是求解出最优化网络参数

最终,网络误差优化函数使用均方误差函数(MSE),最终可得上述的优化函数。

另外的,使用数据集对光流特征提取网络和卷积神经网络进行训练,所述数据集包括相机图像和地面的真值信息,地面真值信息转换为相对位姿;地面真值信息在数据集采集过程中进行事先标定,并且每一帧图像信息对应相应的地面真值信息。

还提供对本实施例方法的验证过程,包括以下步骤:

1.数据准备

本实施例在公开数据集上验证系统的有效性。本实施例数据集选择自动驾驶数据集KITTI Odometry。KITTI VO benchmark总共包含22个室外场景(sequence00-21),每个场景的数据都由双目相机拍摄的一系列连续图片组成。其中前11个场景(sequence00-10)除了双目图片数据外,还提供了汽车行驶轨迹的真值数据,该真值数据是由车载的各种传感器精确定位计算而得。本发明中采用sequence00-07作为训练序列,采用sequence08-10作为测试序列。

2.验证实验结果如图4-6所示

本方案中选择不同长度(100m,200m,……,800m)子序列计算平均平移误差(t

表格1不同序列的评估结果

本实施例的有益效果是:光流提取网络选择目前性能比较好的PWC-net来提取相邻帧图像之间的光流特征图,PWC-net提取的光流特征图相对于现在其他的光流提取网络具有更高的精度。同时,本发明中先进行光流特征图的提取,再通过卷积神经网络对光流特征图进一步进行特征提取,直接使用光流图作为输入,利用卷积神经网络学习图片中尽可能多的特征,并且避免了人工标定相机参数和选择特征,从而提高算法的计算精度与鲁棒性,使得加快对图像计算光流图的速度,进而提高整体的运行速度。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号