CN112419411B - 一种基于卷积神经网络和光流特征视觉里程计的实现方法 - Google Patents
一种基于卷积神经网络和光流特征视觉里程计的实现方法 Download PDFInfo
- Publication number
- CN112419411B CN112419411B CN202011365131.1A CN202011365131A CN112419411B CN 112419411 B CN112419411 B CN 112419411B CN 202011365131 A CN202011365131 A CN 202011365131A CN 112419411 B CN112419411 B CN 112419411B
- Authority
- CN
- China
- Prior art keywords
- optical flow
- neural network
- network
- layer
- convolutional neural
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 103
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000000605 extraction Methods 0.000 claims abstract description 40
- 230000000007 visual effect Effects 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 claims description 15
- 238000005457 optimization Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 9
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000001228 spectrum Methods 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims 1
- 230000007423 decrease Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 22
- 230000000694 effects Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于卷积神经网络和光流特征视觉里程计的实现方法,有如下步骤,图像序列中的相邻两帧输入基于PWC‑net的光流特征提取网络,由光流特征提取网络进行光流特征图提取;通过卷积神经网络对获得的光流特征图进行进一步特征提取,建立光流特征图与地面真值图像之间的映射关系,从而估计相邻帧图像之间的相对位姿;对步骤二中的相对位姿变换为绝对位姿,恢复出原始的运动轨迹。本发明中先进行光流特征图的提取,再通过卷积神经网络对光流特征图进一步进行特征提取,使得加快对图像计算光流图的速度,进而提高整体的运行速度。
Description
技术领域
本发明涉及无人机自主巡检中基于视觉的定位与导航领域,更具体地,涉及一种基于卷积神经网络和光流特征视觉里程计的实现方法。
背景技术
移动机器人技术越来越成为万众瞩目的焦点。在未来,同时定位和环境建图(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层的特征图和第l-1层的特征图之后光流提取网络中的Warping layer对之前输出的特征图按照如下方式进行处理:
其中,x是像素索引,up2(wl+1)是l+1层的采样光流特征图,在第一层的时候up2(wl +1)被设置为0。接下来,使用获得的特征图来构建存储关联的匹配成本,计算下一帧图像中具有相应像素。具体方式如下:
其中,其中T是转置运算符,N是列向量的长度。在一个多层CNN,以成本量cvl(x1,x2),第一个图像的特征c1以及上采样的光流up2(wl+1)作为输入,进而获得第l层的光流特征图wl。
优选的,卷积神经网络对输入的光流特征图进行特征提取获得相对的位姿的过程可以表示为:
其中,fc代表全连接层,代表步长为2,卷积核为2×2的最大池化层。进而获得估计的相对位姿。
优选的,所述卷积神经网络由十个卷积层、激活函数层和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维姿态与原始真是数据值进行误差计算并优化网络参数。
优选的,通过网络误差优化函数对卷积神经网络进行训练实现迭代优化,函数具体为:
式中:Pk和Φk是第k对图片序列的真实相对位姿;和/>是第k对图片序列的预测相对位姿;β是相对位姿的尺度因子;/>表示为二范数。
上述误差函数的获得过程如下:
假设给定的第k组相邻的图片序列为Xk=(Xk,Xk+1),从概率的角度出发,这两张连续时间序列的RGB图片的相对姿态Yk的概率为:
P(Yk|Xk)
要求得此概率的最大值的关键是求解出最优化网络参数 的参数表示如下公式所示:
最终,网络误差优化函数使用均方误差函数(MSE),最终可得上述的优化函数。
优选的,使用数据集对光流特征提取网络和卷积神经网络进行训练,所述数据集包括相机图像和地面的真值信息,地面真值信息转换为相对位姿;地面真值信息在数据集采集过程中进行事先标定,并且每一帧图像信息对应相应的地面真值信息。
优选的,在所述步骤三中,对获得的相对位姿对其采用矩阵变换进而获得原始的绝对位姿,即原始轨迹。恢复出原始的绝对位姿的过程可以采用旋转矩阵的进行姿态解算,具体的过程如下:
第i张图片的对应地面真值数据可以转换为3×4的矩阵[R|t],其属于特殊正交群,又因为是在三维空间的旋转,所以可以表示为SO(3)。将该3×4的矩阵左下角补0,右下角补1,可以得到4×4的齐次变换矩阵,又称为特硃欧式群:
对于两张相邻的图片,设第i张图片的齐次变换矩阵为Ti,第i+1张图片的齐次变换矩阵为Ti+1,因此相对位姿可以表示为:
对所有的相对位姿进行运算获得绝对位姿,从而得到原始轨迹。
与现有技术相比,本发明的有益效果是:光流提取网络选择目前性能比较好的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层的特征图和第l-1层的特征图/>光流提取网络对之前输出的特征图按照如下方式进行处理:
其中,x是像素索引;up2(wl+1)是l+1层的采样光流特征图;在第一层的时候up2(wl +1)被设置为0;
再使用获得的特征图来构建存储关联的匹配成本,计算下一帧图像中具有相应像素,具体方式如下:
其中,其中T是转置运算符;N是列向量的长度;
在一个多层卷积神经网络,以成本量cvl(x1,x2),第一个图像的特征c1以及上采样的光流up2(wl+1)作为输入,获得第l层的光流特征图wl。
因为原始图像是阴影和光照变化的变体,PWC-net采用具有可学习特征金字塔的学习方式。其次,将传统光流提取算法中的扭曲变换操作为网络中的一层来估算运动相邻帧图像运动关系。第三,与原始图像相比,成本量更能代表光流提取效果,因此PWC-net网络结构中含有相应一层构建成本量,然后利用卷积神经网络来估算扭曲层和成本层中可学习的参数。最后,采用传统方法利用上下文信息(例如中值滤波和双边信息)对光流进行进一步处理过滤。
步骤二:通过卷积神经网络对获得的光流特征图进行进一步特征提取,建立光流特征图与地面真值图像之间的映射关系,从而估计相邻帧图像之间的相对位姿;对输入的光流特征图进行特征提取获得相对的位姿的过程表示为:
其中,fc代表全连接层,代表步长为2,卷积核为2×2的最大池化层;进而获得估计的相对位姿。
步骤三:对步骤二中的相对位姿变换为绝对位姿,恢复出原始的运动轨迹。
在本实施例中,卷积神经网络由十个卷积层、激活函数层和Max-pooling层构成,将原始输入数据映射到抽象特征空间。恢复出原始的绝对位姿的过程可以采用旋转矩阵的进行姿态解算,具体的过程如下:
第i张图片的对应地面真值数据可以转换为3×4的矩阵[R|t],表示为SO(3);将该3×4的矩阵左下角补0,右下角补1,可以得到4×4的齐次变换矩阵,得到特硃欧式群:
对于两张相邻的图片,设第i张图片的齐次变换矩阵为Ti,第i+1张图片的齐次变换矩阵为Ti+1,因此相对位姿可以表示为:
对所有的相对位姿进行运算获得绝对位姿,从而得到原始轨迹。
具体的,每个卷积层后面连接了一个激活函数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维姿态与原始真是数据值进行误差计算并优化网络参数。
在步骤二中,通过网络误差优化函数对卷积神经网络进行训练实现迭代优化,函数具体为:
式中:Pk和Φk是第k对图片序列的真实相对位姿;和/>是第k对图片序列的预测相对位姿;β是相对位姿的尺度因子;/>表示为二范数。
上述误差函数的获得过程如下:
假设给定的第k组相邻的图片序列为Xk=(Xk,Xk+1),从概率的角度出发,这两张连续时间序列的RGB图片的相对姿态Yk的概率为:
P(Yk|Xk)
要求得此概率的最大值的关键是求解出最优化网络参数 的参数表示如下公式所示:
最终,网络误差优化函数使用均方误差函数(MSE),最终可得上述的优化函数。
另外的,使用数据集对光流特征提取网络和卷积神经网络进行训练,所述数据集包括相机图像和地面的真值信息,地面真值信息转换为相对位姿;地面真值信息在数据集采集过程中进行事先标定,并且每一帧图像信息对应相应的地面真值信息。
还提供对本实施例方法的验证过程,包括以下步骤:
1.数据准备
本实施例在公开数据集上验证系统的有效性。本实施例数据集选择自动驾驶数据集KITTI Odometry。KITTI VO benchmark总共包含22个室外场景(sequence00-21),每个场景的数据都由双目相机拍摄的一系列连续图片组成。其中前11个场景(sequence00-10)除了双目图片数据外,还提供了汽车行驶轨迹的真值数据,该真值数据是由车载的各种传感器精确定位计算而得。本发明中采用sequence00-07作为训练序列,采用sequence08-10作为测试序列。
2.验证实验结果如图4-6所示
本方案中选择不同长度(100m,200m,……,800m)子序列计算平均平移误差(trel,单位:%)和旋转误差(rrel,单位:°/100m)。误差越小代表估计值与真值越吻合,从图4-6中也可以看出估计的轨迹曲线与真值曲线越贴合。通过表格1,可以说明本发明中提出的视觉里程计方法能够基本满足系统功能。
表格1不同序列的评估结果
本实施例的有益效果是:光流提取网络选择目前性能比较好的PWC-net来提取相邻帧图像之间的光流特征图,PWC-net提取的光流特征图相对于现在其他的光流提取网络具有更高的精度。同时,本发明中先进行光流特征图的提取,再通过卷积神经网络对光流特征图进一步进行特征提取,直接使用光流图作为输入,利用卷积神经网络学习图片中尽可能多的特征,并且避免了人工标定相机参数和选择特征,从而提高算法的计算精度与鲁棒性,使得加快对图像计算光流图的速度,进而提高整体的运行速度。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
1.一种基于卷积神经网络和光流特征视觉里程计的实现方法,其特征在于,包括如下步骤:
步骤一:图像序列中的相邻两帧输入基于PWC-net的光流特征提取网络,由光流特征提取网络进行光流特征图提取;
步骤二:通过卷积神经网络对获得的光流特征图进行进一步特征提取,建立光流特征图与地面真值图像之间的映射关系,从而估计相邻帧图像之间的相对位姿;对输入的光流特征图进行特征提取获得相对位姿的过程表示为:
其中,代表全连接层,/>代表步长为2,卷积核为/>的最大池化层;进而获得估计的相对位姿;
所述卷积神经网络由十个卷积层、激活函数层和Max-pooling层构成,将原始输入数据映射到抽象特征空间;每个卷积层后面连接了一个激活函数ReLU,其中有六层卷积步长为2,得到的特征图谱相应的缩减为原来的两倍;卷积核的大小从7*7,逐渐减小为5*5,最终变为3*3;卷积神经网络的卷积层后面设计了三层全连接层,隐藏单元数依次为4096、1024、128,每层全连接层后面都加了一个非线性激活函数Relu;得到128维的特征后,进行最后一次特征浓缩,得到6维特征,表示输入的两张图片之间的相对姿态:
式中:中前三个物理量分别表示物体在t时刻至t+1时刻沿X,Y,Z轴的位移差;后三个物理量表示绕X,Y,Z轴旋转的角度差;
最后由估计得到的6维姿态与原始真实数据值进行误差计算并优化网络参数;
通过网络误差优化函数对卷积神经网络进行训练实现迭代优化,函数具体为:
式中:和/>是第k对图片序列的真实相对位姿;/>和/>是第k对图片序列的预测相对位姿;/>是相对位姿的尺度因子;/>表示为二范数;
步骤三:对步骤二中的相对位姿变换为绝对位姿,恢复出原始的运动轨迹。
2.根据权利要求1所述基于卷积神经网络和光流特征视觉里程计的实现方法,其特征在于,所述光流特征提取网络采用可学习的特征金字塔模式,使用当前的光流估计值来扭曲变换第二张图片,然后使用变形的特征和第一个图像的特征来构建成本量,并用CNN网络结构处理以估计光流。
3.根据权利要求2所述基于卷积神经网络和光流特征视觉里程计的实现方法,其特征在于,在所述步骤一中,光流特征提取网络获得网络中第l层的特征图和第l-1层的特征图/>;光流提取网络对之前输出的特征图按照如下方式进行处理:
其中,x是像素索引;是l+1层的采样光流特征图;在第一层的时候/>被设置为0;
再使用获得的特征图来构建存储关联的匹配成本,计算下一帧图像中具有相应像素,具体方式如下:
其中,其中T是转置运算符;N是列向量的长度;
在一个多层卷积神经网络,以成本量,第一个图像的特征/>以及上采样的光流/>作为输入,获得第l层的光流特征图/>。
4.根据权利要求1所述基于卷积神经网络和光流特征视觉里程计的实现方法,其特征在于,在实现所述步骤一前,先对不同图像对应的实际绝对位姿数据进行预处理,获得相对位姿;通过相对位姿进行姿态结算得到每张图像的绝对姿态,绝对姿态的生成标签表示为:
式中:x、y、z分别表示为物体在X,Y,Z轴方向的移动距离;后三个参数表示物体在X,Y,Z轴方向的转动角度。
5.根据权利要求2所述基于卷积神经网络和光流特征视觉里程计的实现方法,其特征在于,所述相对位姿采用欧拉角表示:
式中,中前三个物理量分别表示物体在t时刻至t+1时刻沿X,Y,Z轴的位移差;后三个物理量表示绕X,Y,Z轴旋转的角度差。
6.根据权利要求1所述基于卷积神经网络和光流特征视觉里程计的实现方法,其特征在于,恢复出原始的绝对位姿的过程采用旋转矩阵的进行姿态解算,具体的过程如下:
第i张图片的对应地面真值数据转换为的矩阵/>,表示为SO(3);将该/>的矩阵左下角补0,右下角补1,得到/>的齐次变换矩阵,得到特殊欧式群:
对于两张相邻的图片,设第i张图片的齐次变换矩阵为,第i+1张图片的齐次变换矩阵为/>,因此相对位姿表示为:
对所有的相对位姿进行运算获得绝对位姿,从而得到原始轨迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011365131.1A CN112419411B (zh) | 2020-11-27 | 2020-11-27 | 一种基于卷积神经网络和光流特征视觉里程计的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011365131.1A CN112419411B (zh) | 2020-11-27 | 2020-11-27 | 一种基于卷积神经网络和光流特征视觉里程计的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112419411A CN112419411A (zh) | 2021-02-26 |
CN112419411B true CN112419411B (zh) | 2024-03-26 |
Family
ID=74843013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011365131.1A Active CN112419411B (zh) | 2020-11-27 | 2020-11-27 | 一种基于卷积神经网络和光流特征视觉里程计的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112419411B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113744301A (zh) * | 2021-08-05 | 2021-12-03 | 深圳供电局有限公司 | 移动机器人的运动轨迹估计方法、装置和存储介质 |
CN114463420A (zh) * | 2022-01-29 | 2022-05-10 | 北京工业大学 | 一种基于注意力卷积神经网络的视觉里程计算法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708048A (zh) * | 2016-12-22 | 2017-05-24 | 清华大学 | 机器人的天花板图像定位方法和系统 |
CN108648216A (zh) * | 2018-04-19 | 2018-10-12 | 长沙学院 | 一种基于光流与深度学习的视觉里程计实现方法和系统 |
CN110111366A (zh) * | 2019-05-06 | 2019-08-09 | 北京理工大学 | 一种基于多级损失量的端到端光流估计方法 |
CN111311666A (zh) * | 2020-05-13 | 2020-06-19 | 南京晓庄学院 | 一种融合边缘特征和深度学习的单目视觉里程计方法 |
-
2020
- 2020-11-27 CN CN202011365131.1A patent/CN112419411B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708048A (zh) * | 2016-12-22 | 2017-05-24 | 清华大学 | 机器人的天花板图像定位方法和系统 |
CN108648216A (zh) * | 2018-04-19 | 2018-10-12 | 长沙学院 | 一种基于光流与深度学习的视觉里程计实现方法和系统 |
CN110111366A (zh) * | 2019-05-06 | 2019-08-09 | 北京理工大学 | 一种基于多级损失量的端到端光流估计方法 |
CN111311666A (zh) * | 2020-05-13 | 2020-06-19 | 南京晓庄学院 | 一种融合边缘特征和深度学习的单目视觉里程计方法 |
Non-Patent Citations (1)
Title |
---|
Deqing Sun et al..PWC-Net: CNNs for Optical Flow Using Pyramid,Warping, and Cost Volume.arXiv.2018,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112419411A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108665496B (zh) | 一种基于深度学习的端到端的语义即时定位与建图方法 | |
CN111325797B (zh) | 一种基于自监督学习的位姿估计方法 | |
CN111583136B (zh) | 一种救援场景下自主移动平台同时定位与建图方法 | |
CN107564061B (zh) | 一种基于图像梯度联合优化的双目视觉里程计算方法 | |
CN111862126B (zh) | 深度学习与几何算法结合的非合作目标相对位姿估计方法 | |
CN111210463B (zh) | 基于特征点辅助匹配的虚拟宽视角视觉里程计方法及系统 | |
US20140105486A1 (en) | Method for locating a camera and for 3d reconstruction in a partially known environment | |
CN113108771B (zh) | 一种基于闭环直接稀疏视觉里程计的移动位姿估计方法 | |
CN113160375B (zh) | 一种基于多任务学习算法的三维重建及相机位姿估计方法 | |
CN110766024B (zh) | 基于深度学习的视觉里程计特征点提取方法及视觉里程计 | |
CN110009675B (zh) | 生成视差图的方法、装置、介质及设备 | |
CN112419411B (zh) | 一种基于卷积神经网络和光流特征视觉里程计的实现方法 | |
Meilland et al. | Dense omnidirectional RGB‐D mapping of large‐scale outdoor environments for real‐time localization and autonomous navigation | |
CN102521586B (zh) | 一种用于拍照手机的高分辨率三维人脸扫描方法 | |
CN112556719B (zh) | 一种基于cnn-ekf的视觉惯性里程计实现方法 | |
CN112233179B (zh) | 一种视觉里程计测量方法 | |
CN111798373A (zh) | 一种基于局部平面假设及六自由度位姿优化的快速无人机图像拼接方法 | |
CN114719848B (zh) | 基于视觉与惯性导航信息融合神经网络的无人机高度估算方法 | |
CN111145255A (zh) | 一种结合深度学习和几何优化的位姿计算方法和系统 | |
CN114693720A (zh) | 基于无监督深度学习的单目视觉里程计的设计方法 | |
CN114996814A (zh) | 一种基于深度学习与三维重建的家具设计系统 | |
CN113345032B (zh) | 一种基于广角相机大畸变图的初始化建图方法及系统 | |
Gokhool et al. | A dense map building approach from spherical RGBD images | |
Zhu et al. | PairCon-SLAM: Distributed, online, and real-time RGBD-SLAM in large scenarios | |
CN116188550A (zh) | 一种基于几何约束的自监督深度视觉里程计 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |