一种基于双目视觉的深度学习障碍物测距方法与流程

文档序号:16393187发布日期:2018-12-25 19:31阅读:1011来源:国知局
一种基于双目视觉的深度学习障碍物测距方法与流程

本发明属于立体视觉测距方法技术领域,具体涉及一种基于双目视觉的深度学习障碍物测距方法。

背景技术

随着人们生活水平的提高,全国汽车保有数量不断增高,截止2017年底全国机动车数量已达3.1亿。汽车数量的增多不仅使生活更加便利,同时也伴随着安全隐患,仅2016一年就发生了道路交通事故864.3万起。由于通常在倒车过程中驾驶员只能通过后视镜、倒车雷达等技术判断车辆后方环境情况,不可避免的有功能单一或存在盲区的问题,给交通参与者产生巨大不便。汽车事故中有很大部分是由于行驶视野不良造成的。随着人们对汽车安全性、智能化要求的增长,需要一个能够识别、检测障碍物的预警系统保障车辆及驾驶人的安全。

目前家用轿车上主流的安全预警系统中,激光、雷达、超声波等主动式测量技术的应用较为普遍,但是这些技术存在着成本昂贵、安装复杂、受环境影响因素较大等缺点。而且主动测量方法仅能简单的测量车辆与周围环境的距离,不足以实现对车辆周围环境的直观判断。相比于主动检测方法,本专利使用的视觉信息测量具有安装简单、成本低、视野开阔等优势,在测量距离的同时也能够得到目标的内容。同时,为实现智能视觉交通预警系统,需要一种能够在复杂交通环境下实时运行的目标检测算法,但是传统的算法基于手工设计的图像特征,不仅依赖于特征设计者的先验知识,而且模型算法性能无法满足应用需求。

综上所述,在对目标进行距离测量时,存在如下问题:(1)面对复杂场景无法找到障碍物目标;(2)主动测量成本高、安装复杂、需要主动发出能量;(3)传统检测方法识别障碍目标速度慢、精度低。



技术实现要素:

本发明的目的是提供一种基于双目视觉的深度学习障碍物测距方法,解决了现有测距方法中面对复杂场景无法找到障碍物目标,检测速度慢的问题。

本发明所采用的技术方案是,一种基于双目视觉的深度学习障碍物测距方法,

步骤1:搭建包含双目相机的双目视觉数据采集系统,所述双目相机包包括第一相机和第二相机,所述第一相机和第二相机相对固定在相机支撑架上;

步骤2:基于针孔相机原理建立双目相机投影模型,随后对双目相机进行标定,分别求出投影模型内双目相机的内参数矩阵、第一相机与第二相机的相对几何关系;

步骤3:使用双目相机投影模型中的两个摄像头采集视场中的图像信息,并对包含障碍物的图像制作标签,将所有标签以2:8的比例分割成测试集和训练集;

步骤4:搭建基于tensorflow网络的深度学习目标检测模型,检测模型中包含特征提取、候选区域生成和多任务输出层三部分;

步骤5:初始化tensorflow网络参数,利用步骤3获得的训练集采用梯度下降算法不断调整优化网络权重参数,直到网络能够准确检测障碍物目标;

步骤6:利用步骤5调整好的网络检测步骤3获得的测试集图片,由网络输出分别输出第一相机和第二相机的障碍物目标形心坐标x1(u1,v1)、x2(ur,vr);

步骤7:将步骤6中两个摄像头的两个二维形心坐标分别代入步骤2得到的双目视觉数据采集系统模型,从而求出障碍物目标在空间中的三维坐标,并通过距离计算公式求出障碍物距离,实现目标的识别与测距。

本发明的特点还在于,

步骤2具体为,

使用棋盘格标定板标定,计算出双目相机的内参数和两个相机间的相对位置,即可确定双目相机投影模型,建立图像上投影点到三维世界坐标之间的关系,标时使用张正友标定法,首先制作标定平板并将其固定在木板上,再移动标定板,获取不同角度位置的至少3组照片,检测出照片中所有角点,通过求解线性方程组,求得双目相机的内参数与两个相机之间的相对位置;

在双目相机投影模型下,三维空间点与二维投影点坐标间的映射关系如公式(5)所示,齐次坐标形式如公式(6)所示。

m=pm(5)

0t是0向量,m是空间点m在成像平面上投影的的坐标,p是内参数矩阵,其中,f表示焦距,即图像平面和照相机中心间的距离,dx、dy分别代表x、y轴上的归一化焦距,其中dx、dy是单个像素的物理尺寸,光轴和图像平面的交点c为图像坐标原点,其中c=[cx,cy],它们组成的维数为3×3矩阵k称为相机的内参数矩阵,r是照相机方向的旋转矩阵,t是相机光心位置的三维平移向量,r和t共同组成的4×4的矩阵为第一相机和第二相机的镜头间相对几何关系。

步骤4中目标检测模型由特征提取、候选区域生成,目标位置输出三部分组成,其中特征提取利用卷积层与池化层交替组合而成的vgg卷积神经网络进行,将输入图像组合成更抽象的特征图,随后将特征图输入rpn区域建议网络提取目标的候选区域;再利用roi池化层将目标候选区域池化到同一个固定的尺度连接全连接层,最后使用softmax回归算法对目标进行分类,并使用多任务损失函数得到目标边界框,网络的输出是一个包含目标类别和位置信息的5维向量,

步骤5具体为,

输入图像经过了特征提取与候选区域选择后,将大小不同的候选区域连接到roi池化层,将这些候选区域的特征图转化为固定的尺寸大小,最后将固定大小的卷积特征图连接到全连接层,模型使用的多任务损失函数如公式(1)所示,

其中,

其中,

式(1)中,pi是目标预测概率,如果区域内包含目标pi*为1,否则为0;ti是预测的边界框坐标,是边界框真实值;ncls和nreg分别是分类项和回归项的归一化参数,λ是平衡权重,lcls是分类的交叉熵损失,lreg是回归损失,其中r是鲁棒损失函数;

在训练过程中,随着多任务损失函数迭代次数的增加,初始的学习率逐渐衰减,目标检测模型首先将训练集图片大小统一,再使用rmsprop算法迭代n次,直到多任务损失函数达到最小,使得不同远近、角度的障碍物都能够被检测识别。

步骤7具体为,

第一相机和第二相机投影矩阵公式(7)、(8):

p1=k1(i|0)(7)

p2=k2(r|t)(8)

其中,k1为第一相机的内参数矩阵,k2为第二相机的内参数矩阵,p1为第一相机投影矩阵、p2为第二相机投影矩阵、i为单位矩阵矩,

根据摄像机的投影模型公式(5)我们可以得到三维点m与二维投影点关系如下:

目标障碍物三维点m的在第一相机投影点为x1、三维点m的在第二相机投影点的为x2。

测距时,通过双目相机模型和深度学习方法结合得到目标在第一相机坐标系下的三维坐标(xl,yl,zl),接下来计算障碍物目标与双目相机装置之间的距离,因此,根据公式(7)、(8)得到第二相机齐次坐标(xr,yr,zr,1)t在世界坐标系下的位置关系,

由计算出来的第一相机坐标(xl,yl,zl)和第二相机齐次坐标(xr,yr,zr,1)t,由余弦定理(11),可以求出第一相机和障碍物连线v1、第一相机与第二相机之间连线v2两条线段之间夹角θ,得到障碍物目标与双目相机光心之间连线的距离d如公式(12)所示

d=sinθ·v1(12)

本发明的有益效果是,本发明的一种基于双目视觉的深度学习障碍物测距方法针对主动测量方法成本高、安装复杂、需要主动发出能量,非接触测量方法对目标测距时目的性不强等缺点。提供了一种智能检测汽车盲区障碍物种距离的方法,只需在车身安装双目相机获取数据,就可以通过深度学习目标检测算法和双目相机投影模型检测出环境中障碍物与车辆的距离。该方法快速、有效、安装简便,能够满足车辆盲区实时检测的需求,对驾驶人起到预警作用,预防交通事故的发生,保障驾驶人生命及财产安全。

附图说明

图1是本发明的一种基于双目视觉的深度学习障碍物测距方法系统流程图;

图2是本发明的目标检测模型结构图;

图3是本发明的双目视觉模型图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明的一种基于双目视觉的深度学习障碍物测距方法,如图1所示,

步骤1:搭建包含双目相机的双目视觉数据采集系统,所述双目相机包包括第一相机和第二相机,所述第一相机和第二相机相对固定在相机支撑架上;

步骤2:基于针孔相机原理建立双目相机投影模型,随后对双目相机进行标定,分别求出投影模型内双目相机的内参数矩阵、第一相机与第二相机的相对几何关系;

使用棋盘格标定板标定,计算出双目相机的内参数和两个相机间的相对位置,即可确定双目相机投影模型,建立图像上投影点到三维世界坐标之间的关系,标时使用张正友标定法,首先制作标定平板并将其固定在木板上,再移动标定板,获取不同角度位置的至少3组照片,检测出照片中所有角点,通过求解线性方程组,求得双目相机的内参数与两个相机之间的相对位置;

在双目相机投影模型下,三维空间点与二维投影点坐标间的映射关系如公式(5)所示,齐次坐标形式如公式(6)所示。

m=pm(5)

0t是0向量,m是空间点m在成像平面上投影的的坐标,p是内参数矩阵,其中,f表示焦距,即图像平面和相机中心间的距离,dx、dy分别代表x、y轴上的归一化焦距,其中dx、dy是单个像素的物理尺寸,光轴和图像平面的交点c为图像坐标原点,其中c=[cx,cy],它们组成的维数为3×3矩阵k为相机的内参数矩阵,用来描述照相机的投影性质,r是描述照相机方向的旋转矩阵,t是描述相机中心位置的三维平移向量,r和t共同组成的4×4的矩阵为第一相机和第二相机的镜头间相对几何关系。

步骤3:使用双目相机投影模型中的两个摄像头采集视场中的图像信息,并对包含障碍物的图像制作标签,将所有标签以2:8的比例分割成测试集和训练集;

步骤4:搭建基于tensorflow网络的深度学习目标检测模型,检测模型中包含特征提取、候选区域生成和多任务输出层三部分;

如图2所示,目标检测模型由特征提取、候选区域生成,目标位置输出三部分组成,其中特征提取利用卷积层与池化层交替组合而成的vgg卷积神经网络进行,将输入图像组合成更抽象的特征图,随后将特征图输入rpn区域建议网络提取目标的候选区域;再利用roi池化层将目标候选区域池化到同一个固定的尺度连接全连接层,最后使用softmax回归算法对目标进行分类,并使用多任务损失函数得到目标边界框,网络的输出是一个包含目标类别和位置信息的5维向量,

这种方法不仅降低了实现的复杂性,并且面对不同种类,不同光照、遮挡条件的图像数据有着很强的拓展性;

步骤5:初始化tensorflow网络参数,利用步骤3获得的训练集采用梯度下降算法不断调整优化网络权重参数,直到网络能够准确检测障碍物目标;

输入图像经过了特征提取与候选区域选择后,将大小不同的候选区域连接到roi池化层,将这些候选区域的特征图转化为固定的尺寸大小,最后将固定大小的卷积特征图连接到全连接层,模型使用的多任务损失函数如公式(1)所示,

其中,

其中,

式(1)中,pi是目标预测概率,如果区域内包含目标pi*为1,否则为0;ti是预测的边界框坐标,是边界框真实值;ncls和nreg分别是分类项和回归项的归一化参数,λ是平衡权重,lcls是分类的交叉熵损失,lreg是回归损失,其中r是鲁棒损失函数;

在训练过程中,随着多任务损失函数迭代次数的增加,初始的学习率逐渐衰减,目标检测模型首先将训练集图片大小统一,再使用rmsprop算法迭代n次,直到多任务损失函数达到最小,使得不同远近、角度的障碍物都能够被检测识别。

步骤6:利用步骤5调整好的网络检测步骤3获得的测试集图片,由网络输出分别输出第一相机和第二相机的障碍物目标形心坐标x1(u1,v1)、x2(ur,vr);

步骤7:将步骤6中两个摄像头的两个二维形心坐标分别代入步骤2得到的双目视觉数据采集系统模型,从而求出障碍物目标在空间中的三维坐标,并通过距离计算公式求出障碍物距离,实现目标的识别与测距。

双目相机在成像过程中只能获得二维图像,失去了深度信息,因此,要实现视觉距离测量我们可以模仿人眼采用不同位置的两台摄像机采集图像,再利用像点位置与三维空间点之间的投影关系计算目标空间位置。本文实验中,两台相机位置如图3所示,两个相机间光轴无需平行但视野范围重叠,其中ol、or分别是两个相机的光心,空间点m在两个相机成像平面上的投影分别是x1与x2,zl与zr分别是两个相机的光轴,

在分析双目几何关系时,两个相机间的相对位置关系用单应性矩阵表示。由于两个相机间只做刚体变换,即只通过单应性矩阵变换了坐标系,所以两个相机间的几何结构可以由旋转矩阵r和平移矩阵t表示,为了计算方便,将坐标轴及坐标原点与第一个相机坐标系对齐,即空间坐标系原点为第一相机光心ol,坐标z轴与光轴zl重合且与图像平面垂直,xl、yl轴分别平行于图像x轴、y轴,由此可得第一相机和第二相机投影矩阵公式(7)、(8):

p1=k1(i|0)(7)

p2=k2(r|t)(8)

其中,k1为第一相机的内参数矩阵,k2为第二相机的内参数矩阵,p1为第一相机投影矩阵、p2为第二相机投影矩阵、i为单位矩阵矩,

根据摄像机的投影模型公式(5)我们可以得到三维点m与二维投影点关系如下:

目标障碍物三维点m的在第一相机投影点为x1、三维点m的在第二相机投影点的为x2。

测距时,通过深度学习第一相机和第二相机检测到的图像对应坐标分别为x1(ul,vl)、x2(ur,vr),投影矩阵p1、p2中的内外参数可以通过双目相机立体标定获得,空间点m就能通过式(9)计算得到坐标,由于图像噪声、照相机参数误差和其他系统误差,空间坐标m(xl,yl,zl)可能没有精确解,所以通过最小二乘svd算法来得到三维点的估计值。

通过双目相机模型和深度学习方法结合得到目标在第一相机坐标系下的三维坐标(xl,yl,zl),接下来计算障碍物目标与双目相机装置之间的距离,因此,可以根据公式(7)(8)得到第二相机齐次坐标(xr,yr,zr,1)t在世界坐标系下的位置关系,

由计算出来的第一相机坐标(xl,yl,zl)和第二相机齐次坐标(xr,yr,zr,1)t,由余弦定理(11),可以求出第一相机和障碍物连线v1、第一相机与第二相机之间连线v2两条线段之间夹角θ,得到障碍物目标与双目相机光心之间连线的距离d如公式(12)所示

d=sinθ·v1(12)

下面结合具体实施例对本发明做出详细解释,

对相机进行标定的主要任务是求解摄像机的内外参数矩阵,准确的标定出摄像机的参数对测距精度有着很重要的影响,调整好相机的位置与角度,对标定板分别从不同角度拍摄28张图片,利用软件matlab标定工具箱stereocameracalibrator,对标定板提取角点,获取角点后,采用张正友标定法,求解两个相机内外参数如表1所示,再通过同一时刻对标定板拍摄图像计算双目相机间的结构关系,即旋转矩阵r和平移向量t结果如表2所示。

表1双目立体视觉系统内参数标定结果

表2双目立体视觉系统外参数标定结果

两个相机对空间障碍物目标摄像,同一时刻目标特征点m在左右相机成像平面上的投影分别为x1(ul,vl)、x2(ur,vr)。利用深度学习检测算法检测到x1、x2坐标后可以代入公式(9)进行三维坐标计算,得到目标在左相机坐标系下的三维坐标(xl,yl,zl)。因此,可以根据公式(7)(8)得到第二相机光心齐次坐标(xr,yr,zr,1)t在坐标系下的位置关系。

由计算出来的第一相机坐标(xl,yl,zl)和第二相机齐次坐标(xr,yr,zr,1)t,由余弦定理(11),可以求出第一相机和障碍物连线v1、第一相机与第二相机之间连线v2两条线段之间夹角θ,得到障碍物目标与双目相机光心之间连线的距离d如公式(12)所示

d=sinθ·v1(12)

为验证本文提出的测距方法,进行实物测量实验,双目相机对不同距离和角度的障碍物进行拍摄,得到的图像数据输入已经训练好的目标检测网络中该模型能够自动分辨障碍物种类与坐标位置,以第一相机和第二相机视觉图像中同一个物体形心为匹配点xl、xr,将匹配点xl、xr与之前的双目标定得到的相机投影矩阵p1、p2代入公式(9),就能求得障碍物在空间中的三维坐标m,利用距离计算公式(11)(12)即可求得障碍物距离车辆的距离。

在距离双目相机为5米-7.5米的4组不同的距离对移动障碍物进行测距实验,如表3所示。

表3距离检测数据

根据表3的距离检测结果可以看出,此方法测出的障碍物距离与实际距离误差控制在0-5%内,检测结果精准,且不会放过视场内任何一个障碍物信息,具有良好的工业应用前景。

本发明的深度学习视觉目标检测技术具有拓展性,也适用于其他子类的识别,只要参与训练的数据运行在搭建的深度学习模型中进行学习,学习到该类对象的特征后就能实现该类对象的子类识别任务。当需要识别新的子类时,对新子类进行学习,并在网络输出的softmax分类器上扩展分类的数据即可。

以上所述仅为本发明的较佳实施举例,并不用于限制本发明,凡在本发明精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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