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

文档序号:15640542发布日期:2018-10-12 22:00阅读:400来源:国知局

本发明属于双目视觉图像处理技术领域,具体是涉及一种基于非对称核卷积神经网络的双目视觉障碍物检测系统及检测方法。



背景技术:

机器人是一种能够模拟人类或其他动物行为的一种设备。目前,机器人作为一种智能化设备常见于智能家居、自动化工厂和水下等应用场合中。其中,障碍物检测是机器人的一项关键技术,利用双目视觉检测障碍物是其中的一种方法。

双目视觉障碍物检测的关键问题之一是立体匹配技术,其目的是找出两幅图像中相对应的两个相似点,从而实现视差选择。然而,目前常见的立体匹配方法在匹配速度和匹配效果上不能够很好平衡,匹配效果较好的方法,往往需要大量的运算时间,不能够满足机器人使用要求。

近些年来,深度学习快速发展,并用于解决很多计算机视觉方面的问题。其中,卷积神经网络用于立体匹配技术中,虽然该网络结构能有较好的匹配结果,但是网络结构设计臃肿,匹配速度不理想。本发明针对匹配速度问题,对网络结构进行改进设计,设计一种非对称核卷积神经网络的障碍物检测系统和检测方法,具有较快的检测速度以及良好的检测精度



技术实现要素:

本发明的目的是针对机器人双目视觉的障碍物检测,提供一种非对称核卷积神经网络的双目视觉障碍物检测系统和检测方法。

本发明利用一种非对称卷积神经网络,学习并计算左右视图中待匹配图块的匹配代价,并使用十字交叉聚合的方式进行单个像素代价聚合,能有效快速的获取双目图像的视差图。非对称结构网络结构不仅具有传统卷积神经网络特征提取性能好,鲁棒性好的优点,而且其采用非对称卷积结构,使用更少的参数获取图像特征,极大的降低计算量,减少计算时间。

为实现上述目的,本发明通过以下技术方案予以实现,

一种非对称核卷积神经网络的双目视觉障碍物检测系统,由依次相连接的图像采集模块、立体匹配模块和障碍物检测模块组成。其中所述的图像采集模块用于采集场景中的左图像和右图像,其中左右图像均为光学图像;所述的立体匹配模块用于对采集的图像进行相应的数据处理,获得对应的稠密视差图;所述的障碍物检测模块对获得的稠密视差图进行后续处理,获得最终障碍物区域。

进一步,所述图像采集模块采用型号为mt9v034的双目相机,其中双目相机的分辨率为752×480,帧率为20fps,视差角度为150°。水平固定,用于采集前方场景双目图像,并通过usb接口将图像传输给立体匹配模块进行处理。

进一步,所述立体匹配模块配由一台高性能gpu服务器组成,其中gpu型号为nvidiagtx1070,显存为8gb,用于加速非对称核卷积神经网络的立体匹配过程。立体匹配模块与障碍物检测模块采用网线连接,将匹配结果传输给障碍物检测模块进一步处理。

进一步,所述障碍物检测模块由cpu为i5-6500,12gb内存的计算机构成,用于处理立体匹配模块得到的数据,获取障碍物区域。

为实现上述目的,本发明采用的另一技术方案是:

一种非对称核卷积神经网络的双目视觉障碍物检测方法,具体包括如下步骤:

步骤1:从图像采集模块获取双目图像,并对原始图像进行预处理,消除图像中噪声;

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

步骤3:设计出一种非对称核卷积神经网络结构用于快速计算两个图块的相似度,使得神经网络输出为相似度得分;

步骤4:构建一种用于步骤3设计的网络结构能使用的训练数据集,数据集包括真实视差及其对应的左右图像中的图块;

步骤5:使用步骤4构建的训练数据集,对神经网络进行迭代训练,获得最优参数;

步骤6:将训练良好的神经网络输出相似度得分作为匹配代价,并利用十字交叉聚合的方法求取聚合区域内像素点匹配代价的平均值;

步骤7:基于赢者通吃策略择优选择视差搜索范围内视差,并用插值法对结果进行亚像素增强;

步骤8:利用点云图法对步骤7得到的视差图进行处理,检测出障碍物区域。

其中,步骤3所述的非对称核卷积神经网络结构的具体设计:特征提取网络有两个并列的非对称卷积核卷积层叠加而成,再将它们的结果做点积运算进行汇总并输出。每个并行特征提取分支,仅有非对称结构卷积核与传统卷积神经网络构成,无池化操作。具体如下:

1、以n×n大小的窗口作为网络输入,

2、后接多个非对称卷积单元,卷积单元可分解为三层卷积核,第一层为1×k大小矩形卷积核,后接k×1矩形卷积核,再接1×1像素卷积核,使用激活函数为relu函数但在最后一层不使用激活函数。

并列的非对称卷积核组合的特征提取网络实现参数共享。

左右子分支不同在于:

左侧分支在训练时输入左图待匹配图像方块,右侧分支训练时输入视差搜索范围内图像长条。

最后将特征提取网络用内积的方式进行融合,并输出相似度得分。

步骤4所述的构建训练数据集,具体如下:

所有数据和对应的标签均从双目数据库获取。对于训练数据集,需要为每个像素点,划分出左图对应网络输入大小的方块,和右图同等宽度且对应视差搜索范围的图像长条,并标记真实视差。

1、样本裁剪

在训练阶段,使用双目数据集中图像数据,其提供的多幅图像数据为完整图像,不能直接作为本发明cnn结构的输入层,需要将其进行相应的裁剪,具体步骤如下:

a)根据双目数据集中提供的真实视差数据,在左图像中选取具有真实视差的像素点pl=(x,y),并记录该点图像坐标(x,y),然后提取以像素点pl为中心的大小为n×n图像块il(p);

b)在右图像中选取像素点pr=(x,y),其坐标也为(x,y),并以pr为中心选择大小为n×n的图像块ir(p),再根据视差搜索范围d,在右图像中选择图像块ir(p)右边界左侧大小为n×d的图块长条从而该图块长条包含了视差搜索范围d内所有待匹配图像块ir(p-d)。

以此步骤,提取双目数据集中所有的图像构建训练集,并选用双目数据集中部分图像进行裁剪用于网络训练。

2、样本标准化处理

样本裁剪后得到的训练集中,保存的为原始图像数据,其范围为[0,255],不适合直接作为网络的输入,需要将数据进行标准化处理。利用公式(1)将原始图像数据变换到[1,1]范围内,并以此作为网络的输入。

其中,

式中,u是标准化后图像块的灰度值矩阵;x是经裁剪的原始图像块灰度值矩阵;是原始图像块灰度值矩阵x的平均值;xi是原始图像块灰度值矩阵x中各像素灰度值;s是原始图像块灰度值矩阵x的标准差;n是图像块中像素点的个数。

步骤5所描述的训练非对称结构卷积神经网络具体如下:

在训练阶段,网络的输出为softmax分类器,从而需要对网络权重w最小化互熵损失函数。

针对本发明的应用场景,对原始互熵损失函数作相应的修改,如公式(4)。

其中,

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

本发明采用自适应矩估计的随机梯度下降算法来优化公式(4)的损失函数,并调整网络权值w。其中,随机梯度下降算法根据损失函数对每个权重的梯度的一阶矩估计和二阶矩估计,动态的调整每个权重的学习速率,使得网络权重平稳、迅速的达到最优解。

在步骤6中,需要将卷积神经网络相似度得分转换为匹配代价。同时,由于场景图像中各区域纹理复杂度不同,需要引入自适应窗口的匹配代价聚合窗口,具体方法如下:

在匹配代价计算阶段,只使用了训练阶段孪生卷积神经网络结构中的特征提取子网络并且输入层为大小一致的图像块。在良好训练的条件下,其能够有效的提取左、右图像对中以各像素点为中心的图像块的特征向量vl(p)和vr(pd);将左右图像块特征向量vl(p)和vr(pd)作点积运算得到图像块对相似性得分s(p,d),然后,将该相似性得分取相反数作为图像对之间的匹配代价ccnn(p,d)。

ccnn(p,d)=-s(p,d)=-(vl(p)·vr(pd))(6)

由于通过孪生卷积神经网络的处理只能得到单个像素的匹配代价,直接用于视差判定,其鉴别性不高,需要聚合当前像素周围领域像素匹配代价以提高视差判定的鉴别性。聚合窗口的大小直接决定着周围领域像素的个数。在图像低纹理区域,需要更多的领域像素信息,即更大的聚合窗口以提高匹配精度;在图像密集纹理区域,则需要更少的领域像素信息即更小的聚合窗口,以防止图像中边缘出现模糊现象。传统的局部匹配算法一般采用固定大小的聚合窗口,难以适应图像在低纹理与密集纹理区域对窗口大小的要求。

本发明使用一种基于十字交叉的聚合窗口生成方法,即利用相邻像素的颜色关系构建自适应聚合窗口,能够不同纹理区域对聚合窗口的要求。其核心是根据相邻像素的颜色和空间位置关系构建自适应窗口。首先,对于当前待匹配像素p,在水平方向和垂直方向分别扩展其领域像素构成一个十字交叉区域,作为聚合窗口的初始骨架,分别用h(p)和v(p)表示。区域的大小由4个方向的臂长确定,并随着图像的局部颜色信息自适应的改变。

为例,臂长的判别准则如下:

准则1:dc(pi,p)<τ;

准则2:ds(pi,p)<l;

其中dc(pi,p)为像素pi和p的颜色差,定义为ds(pi,p)为像素pi和p的空间距离,τ,l为预设的颜色阈值和距离阈值。准则1限定了pi和p的颜色差异性,准则2限定了臂长最大值。当像素pi违反上述判别准则后,则臂长停止生长,得到

利用上述判别准则可得到像素p的臂长大小,进而得到十字交叉区域h(p)和v(p):

最后,沿着竖直方向对v(p)中每一个像素q重复上述过程,求得q的水平支持区域h(q),联合所有h(q)即可得到图像中任意像素p的自适应区域为

对于左右图像中对应的匹配点pl利用该方法生成对应的自适应区域u(pl)和将联合公共区域作为最终支持区域:

然后,求得支持区域内所有像素的匹配代价,聚合为总的匹配代价:

其中,n为支持区域ud(p)像素个数。

步骤7采用赢者通吃策略在视差搜索范围内选择匹配代价最小点作为视差选择,获得视差:

此时获取的视差值为正整数,精确度不够,本发明引入亚像素增强技术,增加视差的精确度,公式如:

式中,dp为亚像素增强后的精确结果,dp为赢者通吃策略的粗略结果,c,c+,c-分别c(p,d),c(p,d+1),c(p,d-1)。

步骤8所述的点云图法对视差图进行处理,检测障碍物区域的具体方法,包括:

1、通过视差图计算得到点云图,再通过包围盒法简化点云;

2、将简化后点云投影到地面栅格中,并统计每个投射在每个栅格中散点数目,得到实际点云密度栅格图;

3、使用无障碍场景拟合出该相机配置条件下理想点云密度栅格图;

4、通过阈值比较分割出点云密度栅格图中障碍物所在区域,有公式:

式(13)表示,如果在栅格图中实际点云密度与理想点云密度比值大于阈值tρ,则判断为障碍物栅格,否则不是障碍物栅格;

5、使用形态学滤波去除障碍栅格图中孤立点与连接空洞;

6、将障碍栅格图重映射回双目图像原图,标记出障碍物区域。

本发明的一种非对称核卷积神经网络双目视觉障碍物检测系统与方法,有以下优点和有益效果。

(1)本发明改进卷积神经网络结构,采用一种非对称结构的卷积核作为卷积神经网络的卷积层,可以降低卷积神经网络的参数量,从而降低运算量,减少运算时间。

(2)本发明通过十字交叉的自适应窗口聚合方法,将单个像素周围的匹配代价进行聚合,满足图像中不同复杂度纹理的视差计算需求。

(3)本发明运用点云图法进行障碍物检测。直接计算场景的三维点云,并投射到地面栅格中,生成点云密度栅格图,进而实现障碍物检测,可减小检测过程的计算量,拥有较高的检测精度和检测鲁棒性。

附图说明

图1为本发明的非对称核卷积神经网络双目视觉障碍物检测系统示意图,

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

图3为本发明非对称核卷积神经网络进行快速立体匹配流程图,

图4为本发明公开的点云图检测障碍物流程图,

图5为非对称核卷积神经网络的结构示意图,

图6为非对称卷积核示意图,

图7样本裁剪示意图,

图8为自适应窗口扩展示意图。

具体实施方式

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

参考图1,为本发明的一种非对称核卷积神经网络的双目视觉障碍物检测系统的结构示意图。非对称核卷积神经网络的双目视觉障碍物检测系统,由相连接图像采集模块、立体匹配模块和障碍物检测模块组成。其中所述的图像采集模块用于采集场景中的左图像和右图像,其中左右图像均为光学图像;所述的立体匹配模块用于对采集的图像进行相应的数据处理,获得对应的稠密视差图;所述的障碍物检测模块对获得的稠密视差图进行后续处理,获得最终障碍物区域。

其中所述的图像采集模块采用型号为mt9v034的双目相机,其中相机分辨率为752×480,帧率为20fps,视差角度为150°。水平固定,用于采集前方场景双目图像,并通过usb接口将图像传输给立体匹配模块进行处理。

所述的立体匹配模块配由一台高性能gpu服务器组成,其中gpu型号为nvidiagtx1070,显存为8gb,用于加速非对称核卷积神经网络的立体匹配过程。立体匹配模块与障碍物检测模块采用网线连接,将匹配结果传输给障碍物检测模块进一步处理。

所述的障碍物检测模块由cpu为i5-6500,12gb内存的计算机构成,用于处理立体匹配模块得到的数据,获取障碍物区域。

本发明的一种非对称核卷积神经网络的双目视觉障碍物检测方法,图2为本发明的障碍物检测方法总体流程图;图3为设计非对称核卷积神经网络计算视差图流程图;图4为点云图法检测障碍物区域流程图,具体包括如下步骤:

步骤1:从图像采集模块获取双目图像,并对原始图像进行预处理,消除图像中噪声;

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

步骤3:设计出一种非对称核卷积神经网络结构用于快速计算两个图块的相似度,使得神经网络输出为相似度得分;

步骤4:构建一种用于步骤3设计的网络结构能使用的训练数据集,数据集包括真实视差及其对应的左右图像中的图块;

步骤5:使用步骤4构建的数据集,对神经网络进行迭代训练,获得最优参数;

步骤6:将训练良好的神经网络输出相似度得分作为匹配代价,并利用十字交叉聚合的方法求取聚合区域内像素点匹配代价的平均值;

步骤7:基于赢者通吃策略择优选择视差搜索范围内视差,并用插值法对结果进行亚像素增强;

步骤8:利用点云图法对步骤7得到的视差图进行处理,检测出障碍物区域。

上述步骤3所使用的非对称核卷积神经网络结构的具体设计,如图5所示:特征提取网络有两个并列的非对称卷积核卷积层叠加而成,再将它们的结果做点积运算进行汇总并输出。每个并行特征提取分支,仅有非对称结构卷积核与传统卷积神经网络构成,无池化操作。具体如下:

1、以37×37大小的窗口作为网络输入

2、后接多个非对称卷积单元,如图6所示,卷积单元可分解为三层卷积核,第一层为1×9大小矩形卷积核,后接9×1矩形卷积核,再接1×1像素卷积核,使用激活函数为relu函数但在最后一层不使用激活函数。

并列的非对称卷积核组合的特征提取网络实现参数共享。

左右子分支不同在于:

左侧分支在训练时输入左图待匹配图像方块,右侧分支训练时输入视差搜索范围内图像长条。

最后将特征提取网络用内积的方式进行融合,并输出相似度得分。

上述步骤4所述的构建训练数据集具体如下:

所有数据和对应的标签均从kitti2015数据库获取,本发明仅测试rgb彩色图像。对于训练数据集,需要为每个像素点,划分出左图对应网络输入大小的方块,和右图同等宽度且对应视差搜索范围的图像长条,并标记真实视差。

1、样本裁剪

在训练阶段,本发明使用kitti2015双目数据集中图像数据,其提供的200幅图像数据为完整图像,不能直接作为本发明cnn结构的输入层,需要将其进行相应的裁剪,步骤如下:

a)根据kitti2015双目数据集中提供的真实视差数据,在左图像中选取具有真实视差的像素点pl=(x,y),并记录该点图像坐标(x,y),然后提取以像素点pl为中心的大小为37×37图像块il(p),如图7所示。

b)在右图像中选取像素点pr=(x,y),其坐标也为(x,y),并以pr为中心选择大小为37×37的图像块ir(p),再根据视差搜索范围d,在右图像中选择图像块ir(p)右边界左侧大小为37×128的图块长条从而该图块长条包含了视差搜索范围d内所有待匹配图像块ir(pd)。

以此步骤,提取kitti2015双目数据集中所有的图像构建训练集,并选用kitti2015双目数据集中200对图像中160对图像进行裁剪用于网络训练,由此方法提取的图像块共有14,248,394对。

2、样本标准化处理

样本裁剪后得到的训练集中,保存的为原始图像数据,其范围为[0,255],不适合直接作为网络的输入,需要将数据进行标准化处理。利用公式(1)将原始图像数据变换到[1,1]范围内,并以此作为网络的输入。

其中,

式中,u是标准化后图像块的灰度值矩阵;x是经裁剪的原始图像块灰度值矩阵;是原始图像块灰度值矩阵x的平均值;xi是原始图像块灰度值矩阵x中各像素灰度值;s是原始图像块灰度值矩阵x的标准差;n是图像块中像素点的个数。

上述步骤5所描述的训练非对称结构卷积神经网络具体如下:

在训练阶段,网络的输出为softmax分类器,从而需要对网络权重w最小化互熵损失函数。

针对本发明的应用场景,对原始互熵损失函数作相应的修改,如公式(4)。

其中,

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

本发明采用自适应矩估计的随机梯度下降算法来优化公式(4)的损失函数,并调整网络权值w。其中,随机梯度下降算法根据损失函数对每个权重的梯度的一阶矩估计和二阶矩估计,动态的调整每个权重的学习速率,使得网络权重平稳、迅速的达到最优解。

上述步骤6中,需要将卷积神经网络相似度得分转换为匹配代价。同时,由于场景图像中各区域纹理复杂度不同,需要引入自适应窗口的匹配代价聚合窗口,具体方法如下:

在匹配代价计算阶段,只使用了训练阶段孪生卷积神经网络结构中的特征提取子网络并且输入层为大小一致的图像块。在良好训练的条件下,其能够有效的提取左、右图像对中以各像素点为中心的图像块的特征向量vl(p)和vr(p-d);将左右图像块特征向量vl(p)和vr(p-d)作点积运算得到图像块对相似性得分s(p,d),然后,将该相似性得分取相反数作为图像对之间的匹配代价ccnn(p,d)。

ccnn(p,d)=-s(p,d)=-(vl(p)·vr(pd))(6)

由于通过孪生卷积神经网络的处理只能得到单个像素的匹配代价,直接用于视差判定,其鉴别性不高,需要聚合当前像素周围领域像素匹配代价以提高视差判定的鉴别性。聚合窗口的大小直接决定着周围领域像素的个数。在图像低纹理区域,需要更多的领域像素信息,即更大的聚合窗口以提高匹配精度;在图像密集纹理区域,则需要更少的领域像素信息即更小的聚合窗口,以防止图像中边缘出现模糊现象。传统的局部匹配算法一般采用固定大小的聚合窗口,难以适应图像在低纹理与密集纹理区域对窗口大小的要求。

本发明使用一种基于十字交叉的聚合窗口生成方法,即利用相邻像素的颜色关系构建自适应聚合窗口,能够不同纹理区域对聚合窗口的要求。其核心是根据相邻像素的颜色和空间位置关系构建自适应窗口,具体构建过程如图8所示。。首先,对于当前待匹配像素p,在水平方向和垂直方向分别扩展其领域像素构成一个十字交叉区域,作为聚合窗口的初始骨架,分别用h(p)和v(p)表示。区域的大小由4个方向的臂长确定,并随着图像的局部颜色信息自适应的改变。

为例,臂长的判别准则如下:

准则1:dc(pi,p)<τ;

准则2:ds(pi,p)<l;

其中dc(pi,p)为像素pi和p的颜色差,定义为ds(pi,p)为像素pi和p的空间距离,τ,l为预设的颜色阈值和距离阈值。准则1限定了pi和p的颜色差异性,准则2限定了臂长最大值。当像素pi违反上述判别准则后,则臂长停止生长,得到

利用上述判别准则可得到像素p的臂长大小,进而得到十字交叉区域h(p)和v(p):

最后,沿着竖直方向对v(p)中每一个像素q重复上述过程,求得q的水平支持区域h(q),联合所有h(q)即可得到图像中任意像素p的自适应区域为

对于左右图像中对应的匹配点pl利用该方法生成对应的自适应区域u(pl)和将联合公共区域作为最终支持区域:

然后,求得支持区域内所有像素的匹配代价,聚合为总的匹配代价:

其中,n为支持区域ud(p)像素个数。

上述步骤7采用赢者通吃策略在视差搜索范围内选择匹配代价最小点作为视差选择,获得视差:

此时获取的视差值为正整数,精确度不够,本发明引入亚像素增强技术,增加视差的精确度,公式如:

式中,dp为亚像素增强后的精确结果,dp为赢者通吃策略的粗略结果,c,c+,c-分别c(p,d),c(p,d+1),c(p,d-1)。

上述步骤8所述的点云图法对视差图进行处理,检测障碍物区域的具体方法,包括:

1、通过视差图计算得到点云图,再通过包围盒法简化点云;

2、将简化后点云投影到地面栅格中,并统计每个投射在每个栅格中散点数目,得到实际点云密度栅格图;

3、使用无障碍场景拟合出该相机配置条件下理想点云密度栅格图;

4、通过阈值比较分割出点云密度栅格图中障碍物所在区域,有公式:

式(13)表示,如果在栅格图中实际点云密度与理想点云密度比值大于阈值tρ,则判断为障碍物栅格,否则不是障碍物栅格;

5、使用形态学滤波去除障碍栅格图中孤立点与连接空洞;

6、将障碍栅格图重映射回双目图像原图,标记出障碍物区域。

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