一种融合深度学习特征光流与双目视觉的运动估计方法

文档序号:32604351发布日期:2022-12-17 19:10阅读:60来源:国知局
一种融合深度学习特征光流与双目视觉的运动估计方法

1.本发明涉及无人驾驶技术领域,具体涉及一种融合深度学习特征光流与双目视觉的运动估计方法。


背景技术:

2.光流是观察者与观察场景之间视觉上的相对运动,包含了视觉场景中物体表面和边缘等运动信息。光流可以看作是三维运动在二维平面上的投影,由于包含物体丰富的运动和三维结构信息,且因其具有鲁棒性高、实时性高、成本低且无误差累积的特点,故可以将光流应用于无人驾驶等领域。
3.现有主流测速方式主要依靠搭载的惯性传感器、gps定位测速或者混合测速等。惯性传感器实时性高,但会随着时间的增加而累积误差;gps定位测速精度高但是更新频率低、实时性差,且易收到信号干扰。当需要在无信号、长时间驾驶情况下,借助身边无处不在的光流信息进行测速不失为一种方式。
4.随着计算机技术的不断发展,通过人工神经网络(深度学习)进行生产学习能够进一步的提高处理精度与速度,且可以提取丰富的数据信息内涵,现有深度学习光流算法主要分为有监督学习和无监督/半监督学习算法,有监督光流模型通常通过改进梯度下降方式实现端对端的训练;而无监督算法由于无需真实光流图像作为训练样本,直接利用真实场景进行网络训练,除此之外通常使用亮度守恒函数、平滑变化函数等代替有监督学习模型中端对端的误差损失函数。现阶段通过人工神经网络,可以实现快速、准确的对运动物体进行光流估计,但是在弱光环境下的光流实现仍不稳定。现有的视觉里程计多为单目视觉里程计、视觉惯导里程计等,但是均存在估算精度较低,对环境光照强度要求高,稳定性差等缺陷。


技术实现要素:

5.本发明的目的在于,提供一种融合深度学习特征光流与双目视觉的运动估计方法,其改善了传统算法在弱光环境下光流估计能力弱、精度低的问题;并且避免了传统运动估计方法下有累积误差、实时性差的缺陷,为无人驾驶技术提供新的估计方法。
6.为实现上述目的,本技术提出一种融合深度学习特征光流与双目视觉的运动估计方法,包括:
7.对行车图像数据集进行基于可控自适应直方图均衡预处理;
8.构建基于深度学习的光流特征提取模型,对运动目标物进行识别训练;
9.通过双目相机进行测距,得到目标物位置;
10.获取车体运动速度。
11.进一步的,对行车图像数据集进行基于可控自适应直方图均衡预处理,具体为:将原始行车图像缩放为设定分辨率并进行可控自适应直方图均衡处理,然后将行车图像裁剪为预定值来限制放大强度,得到邻域累积分布函数:
[0012][0013]
其中,cdf
min
为像素值的累积分布函数最小值、m
×
n为行车图像像素数、gi为灰度级数。
[0014]
进一步的,构建基于深度学习的光流特征提取模型,对运动目标物进行识别训练,具体为:
[0015]
根据光流特性设计局部平滑假设,得到光流方程:
[0016][0017]
其中,x为像素横坐标,y为像素纵坐标,t为时间;dx、dy、dt为x、y、t的微分,/为光流图像信息;α为微分运算符号,δx、δy、δt为x、y、t的变化值;
[0018]
构建两个共享权重的cnn层对行车图像特征进行提取;
[0019]
将两张行车图像的特征对进行内积计算:特征f1∈rh×w×d和特征f2∈rh×w×d分别表示行车图像i1和i2的特征,将特征向量两两内积则得到视觉相似度,表示为:
[0020][0021]
其中c(f1,f2)∈rh×w×h×w,ij、kl分别为第一帧与第二帧图像光流点所在的位置信息,d为所取图像具体通道,取值范围为[0,d-1],c为四维向量特征;其中h、w为图像分辨率,d为通道数量;
[0022]
构建金字塔对所述四维向量特征进行池化操作;
[0023]
获取高分辨率行车图像的四维向量特征:由于金字塔层级之间存在数据代价,记两帧之间光流对应点x

=(u+f1(u),v+f2(v)),u为像素横坐标,v为像素纵坐标,f1为第一帧图像光流特征,f2为第二帧图像光流特征,邻域网格为m为层数,则通过查找光流在每层上所对应的任意位置,其中k为任意实数;根据该对应关系,高分辨率行车图像的四维向量特征表示为:
[0024][0025]
其中m为金字塔第m层,p、q分别为光流点在第m层上像素矩阵中的第p行第q列信息;
[0026]
所述cnn层对行车图像数据进行迭代更新:给定当前光流状态为fk,每次迭代生成一个相对于上次迭代输出的残差光流即更新值f1δf,则下一步光流预测值为δf+fk=f
k+1
;更新方式为:
[0027][0028]
其中,r
t
为重置门,z
t
为更新门,σ为函数运算,h
t
为保留的上一阶段隐藏状态的信
息量,h
t-1
为隐藏层,x
t
为光流输入值wr、wz为权重信息矩阵。
[0029]
得到高分辨率行车图像(运动强化后的运动物体图像)的四维向量特征后,在金字塔的原分辨率追踪下获取光流的像素信息,即得到运动目标活动区域,该区域的图像最小化位移量为v=[v
x
,vy]
t
,每个点邻域范围内的匹配误差和最小值ε(v)为:
[0030][0031]
其中,v
x
,vy分别为金字塔顶层横纵位移量,p
x
为光流点横坐标,w
x
为横坐标邻域范围,py为光流点横坐标,wy为纵坐标邻域范围,a(x,y)为第一帧光流特征,b(x,y)为第二帧光流特征;
[0032]
在活动区域对运动目标物进行识别训练;
[0033]
为模型选用监督算法,其损失函数设置为:
[0034][0035]
即迭代结果与真实值的l1范数,其中n为迭代次数,γ=0.8;f
gt
为估计光流特征、fi为实际光流特征、δx
gt
、δy
rt
为估计光流横、纵向位移量,δxi、δyi为实际光流横、纵向位移坐标。
[0036]
进一步的,所述cnn层包括两个1/2分辨率、两个1/4分辨率、两个1/8分辨率的残差层,所述残差层之间分辨率每降低一半,通道数进行增加;特征提取时输入两个连续帧,则有rh×w×3→
rh×w×d,其中h、w为图像分辨率,d为通道数量。
[0037]
进一步的,构建金字塔对所述四维向量特征进行池化操作,具体为:
[0038]
构建三层相似性行车图像金字塔,从一层到三层分别为1、2、4核,将所述四维向量特征的后两个维度进行池化处理;所述行车图像金字塔表示如下:
[0039][0040]
其中l为金字塔层、i
l
为l层的图像,x,y为光流点像素位置信息。
[0041]
更进一步的,通过双目相机进行测距,得到目标物位置,具体为:
[0042]
根据左右相机的参数与畸变系数,得到畸变描述;
[0043]
将同时摄于同一场景的左右图像进行投影变化,即获取矫正映射表、利用所述矫正映射表做重映射;
[0044]
通过立体匹配sgm找到左右图像中的对应点,得到视觉差disparity=u
l-ur,其中ul
、ur分别为目标对应点在左右图像中的列坐标,生成视差图后使用guided filter进行滤波处理;
[0045]
对目标物深度进行计算其中f为焦距长度,b为基线长度,d为视差,c
xr
、c
xl
为两个相机主点的列坐标。
[0046]
根据一组视差图构建3d空间,得到像素点的三维坐标:
[0047]
[x y z w]
t
=q*[g h disparity(g,h)1]
t
[0048][0049]
其中,x、y、z、w为矩阵变换后得到的四维信息;g、h为每个像素的位置信息,q为透视变换矩阵,3dimage(a,c,d)为视察坐标系下的(x,y,z)坐标信息。
[0050]
更进一步的,所述畸变disparity(g,h)描述为:
[0051][0052]
其中s1、s2、s3是薄棱镜畸变系数,k1、k2、k3、k4、k5、k6为径向畸变系数,p1、p2为切向畸变系数,r为畸变半径;
[0053]
更进一步的,将同时摄于同一场景的两个图像进行投影变化,具体为:
[0054]
将两个图像平面平行于基线,且同一目标点在左右两图中处在同一水平线上,即共面行对准;
[0055]
空间上x点,经相机左右镜头c1、c2的投影矩阵方程分别为:
[0056][0057][0058]
其中(u1,v1,1)与(u2,v2,1)分别为x1与x2在各自图像中的齐次坐标;(x,y,z,1)为p点在世界坐标下的齐次坐标;m
ij
为投影矩阵m的第i行j列元素;
[0059]
当点变为直线基元时,设c1、c2分别为左右相机对应于同一空间的直线s,在空间坐标系下的直线方程为:
[0060][0061][0062]
将上式带入投影矩阵,得到左右两个相机在投影平面下的映射方程:
[0063][0064][0065]
更进一步的,获取车体运动速度,具体为:
[0066][0067]
其中,dk、d
k-1
为当前帧与上一帧像素点的三维坐标z轴值。
[0068]
本发明采用的以上技术方案,与现有技术相比,具有的优点是:本发明基于深度学习光流以及双目成像原理,会根据视频数据实现对车体位移与速度的运动参数估计,使得在夜间驾驶时也能通过本方法进行运动估计,进一步提高了可靠性。同时该方法避免了传统依靠惯性传感器所具有的累积误差,以及依靠gps定位测速遇到的抗干扰能力差、更新频率低缺陷;本方法具有可移植性高、实时性高、鲁棒性优良、无累积误差、成本低等特点,为无人驾驶技术提供新的运动估计。
附图说明
[0069]
图1为实施例中涉及的硬件示意图;
[0070]
图2为运动估计方法原理框图;
[0071]
图3为运动估计方法流程示意图;
[0072]
图4为光流模型结构图;
[0073]
图5为光流模型实施方法图;
[0074]
图6为进行标定与校正时切向畸变形成示意图;
[0075]
图7为共面行对准原理图。
具体实施方式
[0076]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术,即所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。
[0077]
实施例1
[0078]
本发明方法通过基于人工神经网络的光流强化信息确定道路环境特征,识别道路两旁静止物,确定载体与目标物品间的距离,进而根据两帧间载体与目标物体之间的距离差以及时间得到速度,该方法集成在硬件载体上后放置于车内后视镜前端,根据视频实现对车辆测速。其相机与视频测速仪在物理状态上相互独立,如图1所示。其原理框图如图2所示,实施本方法的运动估计系统包括:视频采集单元,逐帧记录单元、存储单元、深度学习智能运动强化单元、光流特征目标识别单元与运动分析单元,其中运动强化单元与目标识别单元封装在一起,合为运动目标标定单元。双目相机所拍摄的影像通过视频采集单元经总线与存储单元相连,行使拍摄记录功能;计算机通过读取采集的图像数据,依次经由逐帧记录单元、运动目标标定单元、运动分析单元对路边事物进行识别,构建三维坐标信息,并通过其相对运动速度判断装置所在车辆的运动状态,最终将信息返回至存储单元,行使运动分析功能。
[0079]
如图3所示,一种融合深度学习特征光流与双目视觉的运动估计方法,包括:
[0080]
s1.对行车图像数据集进行基于可控自适应直方图均衡预处理;
[0081]
具体的,采集不同速度、路况状态下的行车视频,建立行车图像数据集x=x[n]1,x[n]2,x[n]3…
x[n]
fo
},其中n为视频序号,fo为视频帧数。
[0082]
将原始行车图像缩放为设定分辨率(如1088
×
436)并进行可控自适应直方图均衡(clahe)处理,然后将行车图像裁剪为预定值来限制放大强度,得到邻域累积分布函数:
[0083][0084]
其中,cdf
min
为像素值的累积分布函数最小值、m
×
n为行车图像像素数、gi为灰度级数(本实施例中可以设置为256)。其可以提高图像对比度,增强弱光环境下的图片色彩强度,方便后续分析。
[0085]
s2.构建光流模型,对运动目标物进行识别训练;如图4所示:
[0086]
s2.1根据光流特性设计局部平滑假设:假设一:亮度恒定,帧间运动时图像像素的亮度不发生改变;假设二:小运动,像素帧间运动比较小,即随时间的变化图像相对运动较小;假设三:空间一致,在同一场景中位于同一表面上的相邻点所具有的运动是相似的。根据以上假设得到光流方程:
[0087][0088]
s2.2构建两个共享权重的cnn层对行车图像特征进行提取,所述cnn层架构如图5所示;
[0089]
具体的,所述cnn层包括两个1/2分辨率、两个1/4分辨率、两个1/8分辨率,共计六个的残差层,所述残差层之间分辨率每降低一半,通道数进行增加;特征提取时输入两个连续帧,则有rh×w×3→
rh×w×d,其中d为通道数量,可以设置为256。
[0090]
s2.3将两张行车图像的特征对进行内积计算;
[0091]
具体的,特征f1∈rh×w×d和特征f2∈rh×w×d分别表示行车图像i1和i2的特征,将特征向量两两内积则得到视觉相似度,表示为:
[0092][0093]
其中c(f1,f2)∈rh×w×h×w,ij、kl分别为第一帧与第二帧图像光流点所在的位置信息,d为所取图像具体通道,取值范围为[0,d-1],c为四维向量特征;其中h、w为图像分辨率,d为通道数量;
[0094]
根据步骤s2.1中的光流方程与亮度恒定假设,通过最小二乘法得出图像间运动状态:
[0095][0096]
其中,i
x
(qi)、iy(qi)、i
t
(qi)为光流像素位置周围的领域像素的光流特征,i为1,2,3


[0097]
s2.4构建金字塔对所述四维向量特征进行池化操作;
[0098]
具体的,构建三层相关金字塔,从一层到三层分别为1、2、4核,将步骤2.3中得到的四维向量后两个维度进行池化处理,使运动变化更加显著。行车图像金字塔表示如下:
[0099][0100]
其中l为金字塔层、i
l
为l层的像。
[0101]
s2.5获取高分辨率行车图像的四维向量特征;
[0102]
具体的,记两帧之间光流对应点x

=(u+f1(u),v+f2(v)),u为像素横坐标,v为像素纵坐标,f1为第一帧图像光流特征,f2为第二帧图像光流特征,邻域网格为m为层数,则通过查找光流在每层上所对应的任意位置,其中k为任意实数;根据该对应关系,高分辨率行车图像的四维向量特征表示为:
[0103][0104]
其中m为金字塔第m层,p、q分别为光流点在第m层上像素矩阵中的第p行第q列信息;
[0105]
s2.6所述cnn层对行车图像数据进行迭代更新;
[0106]
具体的,cnn层除了进行光流估计生成图像特征外,还承担了数据迭代的功能。更新迭代是一个拥有之前数据的经典门控循环单元序列,可以通过共享权重卷积层进行训练。默认初始值为0,给定当前光流状态为fk,每次迭代生成一个相对于上次迭代输出的残差光流即更新值f1δf,则下一步光流预测值为δf+fk=f
k+1
;门控循环单元的更新门如下:
[0107][0108]
其中,r
t
为重置门,z
t
为更新门,σ为函数运算,h
t
为保留的上一阶段隐藏状态的信息量,h
t-1
为隐藏层,x
t
为光流输入值wr、wz为权重信息矩阵。
[0109]
s2.7得到高分辨率行车图像(运动强化后的运动物体图像)的四维向量特征后,在金字塔的原分辨率追踪下获取光流的像素信息,即得到运动目标活动区域,该区域的图像最小化位移量为v=[v
x
,vy]
t
,每个点邻域范围内的匹配误差和最小值ε(v)为:
[0110][0111]
其中,v
x
,vy分别为金字塔顶层横纵位移量,p
x
为光流点横坐标,w
x
为横坐标邻域范围,py为光流点横坐标,wy为纵坐标邻域范围,a(x,y)为第一帧光流特征,b(x,y)为第二帧光流特征;
[0112]
s2.8在活动区域对运动目标物进行识别训练;(如:行道树、标识牌、建筑物等常见
路边设施)
[0113]
为模型选用监督算法,其损失函数设置为:
[0114][0115]
即迭代结果与真实值的l1范数,其中n为迭代次数,γ=0.8。
[0116]
s3.通过双目相机进行测距,得到目标物位置;
[0117]
s3.1根据左右相机的参数与畸变系数,得到畸变描述;
[0118]
具体的,由于透镜的构造会引起桶形畸变,以及在相机的组装过程中由于透镜和成像面不能严格平行会导致切向畸变。故通过左右两个相机的内参、外参数与畸变系数,得到畸变向量;以便在后续步骤中进行矫正。所述畸变disparity(g,h)描述为:
[0119][0120]
其中s1、s2、s3是薄棱镜畸变系数,k1、k2、k3、k4、k5、k6为径向畸变系数,p1、p2为切向畸变系数,r为畸变半径。
[0121]
s3.2将同时摄于同一场景的左右图像进行投影变化,即获取矫正映射表、利用所述矫正映射表做重映射;
[0122]
具体的,由于视差,双目相机左右两镜头得到的图像不会完全重合,所以将同时摄于同一场景的两个视图进行投影变化:将两个图像平面平行于基线,且同一目标点在左右两图中处在同一水平线上,即共面行对准,如图7所示。
[0123]
空间上x点,经相机左右镜头c1、c2的投影矩阵方程分别为:
[0124][0125][0126]
其中(u1,v1,1)与(u2,v2,1)分别为x1与x2在各自图像中的图像齐次坐标;x,y,z,1)为p点在世界坐标下的齐次坐标;m
ij
为投影矩阵m的第i行j列元素。
[0127]
当点变为直线基元时,设c1、c2分别为左右相机对应于同一空间的直线s,在空间坐标系下的直线方程为:
[0128][0129][0130]
将上式带入投影矩阵,得到左右两个相机在投影平面下的映射方程:
[0131]
[0132][0133]
s3.3通过立体匹配sgm找到左右图像中的对应点,得到视觉差disparity=u
l-ur,其中u
l
、ur分别为目标对应点在左右图像中的列坐标,生成视差图后使用guided filter进行滤波处理,降低噪声。
[0134]
s3.4对目标物深度进行计算其中f为焦距长度,b为基线长度,d为视差,c
xr
、c
xl
为两个相机主点的列坐标;
[0135]
s3.5根据一组视差图构建3d空间,得到像素点的三维坐标:
[0136]
[x y z w]
t
=q*[g h disparity(g,h)1]
t
[0137][0138]
其中,x、y、z、w为矩阵变换后得到的四维信息;g、h为每个像素的位置信息,q为透视变换矩阵,3dimage(a,c,d)为视察坐标系下的(x,y,z)坐标信息。最终得到一个三维矩阵,分别记录了x、y、z坐标(以左侧相机为基准建立坐标系)。
[0139]
s4.获取车体运动速度;
[0140]
具体的,提取相邻两帧由步骤3.5中得到的z轴坐标值,由于相机摄像模式为25fps,以及相对运动原理,可以得到车体运动速度为其中,dk、d
k-1
为当前帧与上一帧像素点的三维坐标z轴值。
[0141]
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1