基于卷积神经网络的双目视觉障碍物检测系统及方法与流程

文档序号:13282886阅读:518来源:国知局
基于卷积神经网络的双目视觉障碍物检测系统及方法与流程

本发明涉及双目视觉图像处理技术领域,尤其涉及一种基于卷积神经网络的双目视觉障碍物检测系统及其检测方法。



背景技术:

随着计算机技术的进步,智能车得到了快速的发展,广泛的应用于国防、科研和日常生活等领域中。其中,障碍物检测是智能车导航中的核心问题。

卷积神经网络是一种前馈网络,其人工神经元可以响应覆盖范围内的单元,包括了卷积层和池化层,对图像处理有着出色的表现。近年来受到人们越来越多的关注,且应用领域也越来越广泛。

目前,基于双目视觉的障碍检测方法逐渐成为研究的热点问题,通过双目匹配寻找双目图像中的同一场景,生成改空间场景的视差关系图,在运用特定的检测方法对视差图进行处理得到对应的障碍检测区域。

然而,当场景出现复杂的光线以及较小的障碍物等情况时,现有的方法很难做到精确的障碍物区域检测和维持系统的鲁棒性。因此,对于智能车的复杂环境而言,如何精确的检测障碍物区域以及维持系统的鲁棒性成为了一个亟待解决的问题。



技术实现要素:

针对上述问题,本发明的目的是提供一种基于卷积神经网络的双目视觉障碍物检测系统及其检测方法,以解决传统双目视觉障碍物检测方法在障碍物检测精度以及系统鲁棒性等方面的不足。

为实现上述目的,本发明采取以下技术方案:

一种基于卷积神经网络的双目视觉障碍物检测系统,由相连接的图像采集模块和障碍物检测模块组成。其中所述的图像采集模块用于采集场景中的左图像和右图像,其中左右图像均为光学图像。所述的障碍物检测模块用于对采集的图像数据进行相应的数据处理,获取最终精确的障碍物区域。

进一步,上述所述图像采集模块为两个水平平行放置的型号为pikef-100的工业摄像机,并用ieee-1394b接口通过采集卡将图像数据传输给计算机进行后续处理。

进一步,上述所述障碍检测模块为配有nvidiagtx1070的gpu的计算机。

为了实现上述的目的,本发明采用如下另一技术方案予以实现。

一种基于卷积神经网络的双目视觉障碍物检测系统的检测方法,其步骤为:

(1)从图像采集模块获取双目图像,并对双目图像进行预处理,消除图像中噪声;

(2)标定图像采集模块,获取图像采集模块内参与畸变参数,对双目图像进行校正处理;

(3)设计孪生卷积神经网络生成精确的双目图像的视差图;

(4)利用改进的v视差法对视差图处理从而检测图像中的障碍物区域。

上述步骤(3)所述的设计孪生卷积神经网络生成精确的双目图像视差图的具体方法,包括:

a)设计孪生卷积神经网络结构,其左右分支参数共享。该孪生卷积神经网络由特征提取子网络和特征分类子网络组成。特征提取子网络左右分支能够分别从输入的图像方块和图像长条中提取对应的特征描述;特征分类子网络将提取的左右分支特征描述作点积运算,得到视差搜索范围内待匹配像素点的相似性得分,然后作为softmax层的输入得到视差概率分布。

其中,特征提取子网络左右分支均由卷积层构成。卷积层采用一种新的卷积核来提取各层信息,该卷积核采用间隔传递信息的方式,仅可调整通道部分的权值。这样设计卷积核有着与传统卷积核同样的感受野,同时将传统卷积核(2n-1)×(2n-1)个参数减少到(2n-3)×(2n-3)个参数,降低计算量,并且较少的参数量也能克服过拟合现象。同时,使用batchnormalization技术以弱化网络对初始化的依赖,使得网络更容易训练。卷积层上使用prelu(parametricrectifiedlinearunit)激活函数,输出卷积层结果,但是在最后一层卷积层中不使用激活函数是为了保留输出的特征描述负值信息。最终,特征提取层左右分支输出多维特征描述。

b)样本裁剪。根据kitti数据集中真实视差数据,在左图像中选取具有真实视差的像素点p(xi,yi),提取以该像素点为中心的图像块;在右图像中选取像素点q,使其坐标为(xi,yi),并以q为中心选择同样大小的图像块。根据视差搜索范围,在右图像中选择以q为中心的图像方块右边界左侧的图像长条。以此方法完成样本裁剪。

c)标准化样本数据,构建训练集。利用公式(1)将步骤b)裁剪的图像块灰度值变换到[-1,1]范围内,以此作为网络的输入。

其中,

式中,u是进行标准化后的图像块;x是裁剪的原始图像块;是图像块x的平均值;xi是图像块x中的像素值;s是图像块x的标准差;n是图像块中像素个数。

d)训练孪生卷积神经网络。采用自适应矩估计的随机梯度下降算法(adam)来训练由步骤a)设计的孪生卷积神经网络。并根据本发明的应用场景,修改互熵损失函数为:

其中,

式中,j(ω)表示一组样本的互熵损失;pi(di,ω)表示第i个样本的概率分布;di为预测视差值;为真实视差值;λ1,λ2,λ3为预设值。本发明中,分别设定λ1=0.5,λ2=0.2,λ3=0.05。

e)视差图计算。取双目图像对,采用步骤c)对其标准化。运用由步骤d)训练好的网络模型提取左右图像中像素点的64维特征,分别记作sl(p)和sr(q);将sl(p)和sr(q)作点积运算得到图像对相似性得分,取相反数作为匹配代价:

ccnn(p,d)=-s(<sl(p),sr(q)>)(6)

其中,s(<sl(p),sr(q)>)表示图像对相似性得分。最后,在视差搜索范围内,选择匹配代价最小的点作为匹配点进行视差选择,进而生成视差图。

上述步骤(4)所述的利用改进的v视差法对步骤(3)获得的视差图处理从而检测图像中的障碍物区域的具体方法,,包括:

f)采用prewitt算子计算由步骤(4)生成的视差图列方向的梯度,并保留梯度为负值位置的视差,将其他位置视差值置0,滤除障碍物像素点,生成滤波后的视差图。

g)对由步骤f)生成的滤波后视差图统计每一行像素相同灰度值个数生成其v视差图i1。

h)搜索v视差图i1中的每一行最大值并保留,其余的像素点灰度值置0,生成最大值v视差图i2。

i)设定阈值t,将i2中大于t的像素灰度值置1,其余置0,生成仅包含道路信息的v视差二值图i3,阈值t的计算公式为:

式中,xi为i2中各像素值;n为i2中像素总个数;1{xi≠0}表示xi不等于0时取1,否则取0。

j)运用hough直线检测方法提取i3中道路直线。

k)利用直线两点方程计算步骤j)提取的道路直线在v视差图中图像坐标系的斜率k和截距b。

l)按照光栅扫描法,从下往上从左往右逐点扫描视差图d(x,y,d),对每个像素点计算f=kd+b。

m)若(f-y)>t1,则视差图中像素点投影在v视差图中路面直线上方,即高于路面,则该像素点为障碍点。本发明实施例取阈值t1=5。

n)重复步骤l)、m),直至完全扫面视差图,得到图像中障碍物区域。

本发明具有以下优点和有益效果:

(1)本发明运用卷积神经网络进行视差图计算,在复杂光线以及较小障碍物等情况下鲁棒性好,并可获取精确的视差图;从而再通过改进v视差法可以获取精确的障碍物区域以及拥有好的鲁棒性。

(2)本发明设计了一种卷积核,与传统的卷积核相比,该卷积核有着与传统卷积核同样的感受野,同时极大的减少了参数量,进而减少了计算量并且更少的参数量有利于克服过拟合现象。

(3)本发明改进了v视差法用于障碍物区域检测,可以有效、稳定提取v视差图中的道路直线,进而实现图像中障碍物区域检测,拥有较高检测精度与检测鲁棒性。

附图说明

图1是本发明公开的障碍物检测系统示意图,

图2是本发明公开的障碍物检测方法总体流程图,

图3是设计孪生卷积神经网络生成视差图部分的流程图,

图4是改进v视差法检测障碍物部分的流程图,

图5是本发明设计的卷积神经网络结构示意图,

图6是本发明设计的新的卷积核结构示意图。

具体实施方式

下面结合附图和实施例对本发明进行详细的描述。

参考图1,为本发明的一种基于卷积神经网络的双目视觉障碍物检测系统的结构示意图。该基于卷积神经网络的双目视觉障碍物检测系统,包括:图像采集模块和障碍物检测模块。在实施例中,本发明图像采集模块中采用两个水平平行放置的型号为pikef-100的工业摄像机用于采集实际场景中的左右光学图像,并用ieee-1394b接口通过采集卡将图像数据传输给计算机进行后续处理。本发明实施例中,障碍检测模块采用一台配有nvidiagtx1070的gpu的计算机对采集到的双目图像数据进行处理,完成障碍物区域检测的目的。

本发明还公开了一种基于卷积神经网络的双目视觉障碍物检测方法,图2为本发明公开的障碍物检测方法总体流程图;图3为设计孪生卷积神经网路生成视差图部分流程图;图4为本发明改进v视差法检测障碍物部分流程图,具体包括以下步骤:

(1)利用双目摄像机获取待检测场景的图像对,然后将采集到图像传送到计算机,进行处理;

(2)对图像对进行去噪处理。本发明实施例中采用3×3大小的窗口对图像对进行中值滤波,有效的去除图像中椒盐噪声和斑点噪声,保留图像轮廓与细节;

(3)本发明实施例运用张正友标定方法对双目摄像机进行标定,取得内参与畸变参数,对双目图像对进行校正处理,获得共面且行对准的图像对;

(4)设计孪生卷积神经网络生成精确双目图像的视差图,其具体步骤包括:

a)设计如图5所示的孪生卷积神经网络结构,其左右分支参数共享。该孪生卷积神经网络由特征提取子网络(l1-l9)和特征分类子网络(l10-l11)组成。特征提取子网络左右分支能够分别从输入的图像方块和图像长条中提取对应的特征描述;特征分类子网络将提取的左右分支特征描述作点积运算,得到视差搜索范围内待匹配像素点的相似性得分,然后作为softmax层的输入得到视差概率分布。

其中,特征提取子网络左右分支均包含9个卷积层。卷积层采用如图6所示的卷积核来提取各层信息,白色块可通过数据且可正常学习其权重,灰色块不可通过数据,在实施例中其值设置为0。这样设计卷积核有着与传统卷积核同样的感受野,同时将传统卷积核25个参数减少到9个参数,降低计算量,并且较少的参数量也能减缓过拟合。同时,使用batchnormalization技术以弱化网络对初始化的依赖,使得网络更容易训练。最后在卷积层上使用prelu激活函数,输出卷积层结果。在l9卷积层中不使用激活函数是为了保留输出的特征描述负值信息。最终,特征提取层左分支输出1×64维特征描述,右分支输出201×64维特征描述。

b)样本裁剪。根据kitti数据集中真实视差数据,在左图像中选取具有真实视差的像素点p(xi,yi),提取以该像素点为中心的37×37图像块;在右图像中选取像素点q,使其坐标为(xi,yi),并以q为中心选择37×37的图像块。根据视差搜索范围,在右图像中选择以q为中心的图像方块右边界左侧大小为37×237的图像长条。以此方法完成样本裁剪。

c)标准化样本数据,构建训练集。利用公式(1)将步骤b)裁剪的图像块灰度值变换到[-1,1]范围内,以此作为网络的输入。

其中,

式中,u是进行标准化后的图像块;x是裁剪的原始图像块;是图像块x的平均值;xi是图像块x中的像素值;s是图像块x的标准差;n是图像块中像素个数。

d)训练孪生卷积神经网络。采用自适应矩估计的随机梯度下降算法(adam)来训练由步骤a)设计的孪生卷积神经网络。并根据本发明的应用场景,修改互熵损失函数为:

其中,

式中,j(ω)表示一组样本的互熵损失;pi(di,ω)表示第i个样本的概率分布;di为预测视差值;为真实视差值;λ1,λ2,λ3为预设值。本发明中,分别设定λ1=0.5,λ2=0.2,λ3=0.05。

e)视差图计算。取双目图像对,采用步骤c)对其标准化。运用由步骤d)训练好的网络模型提取左右图像中像素点的64维特征,分别记作sl(p)和sr(q);将sl(p)和sr(q)作点积运算得到图像对相似性得分,取相反数作为匹配代价:

ccnn(p,d)=-s(<sl(p),sr(q)>)(6)

其中,s(<sl(p),sr(q)>)表示图像对相似性得分。最后,以赢者通吃策略(winner-take-all,wta)在视差搜索范围内,选择匹配代价最小的点作为匹配点进行视差选择,进而生成视差图。

(5)改进v视差法对视差图处理从而检测图像中障碍物区域,其步骤具体如下:

f)采用prewitt算子计算由步骤(4)生成的视差图列方向的梯度,并保留梯度为负值位置的视差,将其他位置视差值置0,滤除障碍物像素点,生成滤波后的视差图。

g)对由步骤f)生成的滤波后视差图统计每一行像素相同灰度值个数生成其v视差图i1。

h)搜索v视差图i1中的每一行最大值并保留,其余的像素点灰度值置0,生成最大值v视差图i2。

i)设定阈值t,将i2中大于t的像素灰度值置1,其余置0,生成仅包含道路信息的v视差二值图i3,阈值t的计算公式为:

式中,xi为i2中各像素值;n为i2中像素总个数;1{xi≠0}表示xi不等于0时取1,否则取0。

j)运用hough直线检测方法提取i3中道路直线。

k)利用直线两点方程计算步骤j)提取的道路直线在v视差图中图像坐标系的斜率k和截距b。

l)按照光栅扫描法,从下往上从左往右逐点扫描视差图d(x,y,d),对每个像素点计算f=kd+b,其中d视差值,f为视差图像素点投影在v视差图中的纵坐标。

m)若(f-y)>t1,则视差图中像素点投影在v视差图中路面直线上方,即高于路面,则该像素点为障碍点。本发明实施例取阈值t1=5。

n)重复步骤l)、m),直至完全扫面视差图,得到图像中障碍物区域。

以上所述,仅为本发明较佳的具体实施方式。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,任何熟悉本技术领域的技术人员,当可根据本发明作出各种相应的等效改变和变形,都应属于本发明所附的权利要求的保护范围。

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