一种车辆检测方法与流程

文档序号:16147180发布日期:2018-12-05 16:40阅读:162来源:国知局

本发明涉及一种目标检测方法,尤其是涉及一种车辆检测方法。

背景技术

随着我国经济的持续快速增长,车辆的持有率大幅度上升,汽车已成为不可缺少的代步工具,人们对于汽车的舒适度和安全度也提出了更高的要求。随着2016年世纪围棋大战的落幕,2017年迎来了人工智能年,无人驾驶作为人工智能的热门应用迎来了巨大的发展。在无人驾驶领域,车辆检测是车辆感知外界环境的基础环节,也是计算机视觉和图像处理方向的重要分支。

车辆检测方法主要分为传统的手工特征设计并通过机器学习的方法和深度学习的方法。传统的手工特征设计并通过机器学习的方法对于特征设计要求较高,需要具体问题具体分析;深度学习的方法主要依赖于大量的训练数据集,但对于常见的诸如光照、遮挡等问题具有一定的抗干扰性。近年来,深度学习的方法在目标检测领域已发展起来了,主要分为不基于区域建议和基于区域建议两种方式。

不基于区域建议的算法主要采用回归的思想,通过计算图像中可能出现感兴趣区域的概率得分并加以比较,具有速度快的优点,基本可以实现实时监测,但这类算法的检测效果略逊于基于区域建议的算法。基于区域建议的算法主要分为两步,第一步:通过卷积神经网络提取特征,从而找到感兴趣区域;第二步:通过卷积神经网络对感兴趣区域进行检测得到目标,并标定矩形框确定目标的具体位置,这类算法由于分为两步走,检测速度略慢,但是检测精度较高。



技术实现要素:

本发明所要解决的技术问题是提供一种车辆检测方法,其检测速度快,且检测精度高。

本发明解决上述技术问题所采用的技术方案为:一种车辆检测方法,其特征在于包括训练阶段和测试阶段两个过程;

所述的训练阶段过程的具体步骤如下:

步骤①_1:选取包含车辆的原始图像和不包含车辆的原始图像共q幅原始图像,并构成图像集,将图像集中的第q幅原始图像记为{iq(i,j)};然后将图像集中的每幅包含车辆的原始图像中的每辆车辆用矩形框框出,假设{iq(i,j)}为包含车辆的原始图像,则将{iq(i,j)}中框出的任意一个包含一辆车辆的矩形框记为t(xq,yq,hq,wq);其中,q≥5,q为正整数,1≤q≤q,1≤i≤w,1≤j≤h,w表示{iq(i,j)}的宽度,h表示{iq(i,j)}的高度,iq(i,j)表示{iq(i,j)}中坐标位置为(i,j)的像素点的像素值,xq表示t(xq,yq,hq,wq)的中心像素点的横坐标,yq表示t(xq,yq,hq,wq)的中心像素点的纵坐标,hq表示t(xq,yq,hq,wq)的高,wq表示t(xq,yq,hq,wq)的宽;

步骤①_2:将图像集中的每幅原始图像输入到神经网络中的squeezenet网络框架中,输出图像集中的每幅原始图像的多幅特征图,将{iq(i,j)}的第k幅特征图记为然后将图像集中的每幅原始图像的每幅特征图输入到神经网络中的基于区域推荐网络的网络层中,输出图像集中的每幅原始图像的每幅特征图对应的前n个可能性最大的包含车辆的建议窗口,将对应的第n个可能性最大的包含车辆的建议窗口记为其中,k为正整数,1≤k≤k,k表示图像集中的每幅原始图像的特征图的总幅数,k>1,符号为向上取整运算符号,的宽度为的高度为表示中坐标位置为(i',j')的像素点的像素值,n>1,n为正整数,1≤n≤n,的宽度为的高度为表示中坐标位置为(i',j')的像素点的像素值;

步骤①_3:将图像集中的每幅原始图像的所有特征图及其对应的所有建议窗口输入到神经网络中的感兴趣区域池化层中,输出图像集中的每幅原始图像对应的m幅感兴趣区域图像,将{iq(i,j)}对应的第m幅感兴趣区域图像记为其中,m>1,m为正整数,1≤m≤m,的宽度为的高度为表示中坐标位置为(i',j')的像素点的像素值;

步骤①_4:将图像集中的每幅原始图像对应的每幅感兴趣区域图像输入到神经网络中的全连接层中,输出图像集中的每幅原始图像对应的所有感兴趣区域图像通过神经网络中的全连接层映射到该原始图像上形成的包含特征信息的图像,将{iq(i,j)}对应的所有感兴趣区域图像通过神经网络中的全连接层映射到{iq(i,j)}上形成的包含特征信息的图像记为然后将图像集中的每幅原始图像上形成的包含特征信息的图像输入到神经网络中的多分类层中,输出图像集中的每幅原始图像上形成的包含特征信息的图像的分类得分,分类得分的范围为0~1;接着根据图像集中的每幅原始图像上形成的包含特征信息的图像的分类得分,判定图像集中的每幅原始图像上形成的包含特征信息的图像是否包含车辆,若的分类得分大于或等于0.8,则判定包含车辆,若的分类得分小于0.8,则判定不包含车辆;之后采用线性回归方式在图像集范围内判定为包含车辆的包含特征信息的图像中框出包含每辆车辆的矩形框,假设包含车辆,则将中框出的任意一个包含一辆车辆的矩形框记为再计算图像集中的每幅原始图像与其上形成的包含特征信息的图像的损失函数值,将{iq(i,j)}与的损失函数值记为l(p,p*,k*,t,t*),l(p,p*,k*,t,t*)=lcls(p*,k*)+λ×loc(t,t*),其中,的宽度为w,的高度为h,表示中坐标位置为(i,j)的像素点的像素值,表示的中心像素点的横坐标,表示的中心像素点的纵坐标,表示的高,表示的宽,p表示{iq(i,j)}是否包含车辆的标记,{iq(i,j)}包含车辆时p=1,{iq(i,j)}不包含车辆时p=0,p*表示是否包含车辆的标记,包含车辆时p*=1,不包含车辆时p*=0,k*表示分类的个数,k*=2,t代表t(xq,yq,hq,wq),t*代表λ表示常数,e表示自然基数,

符号“||”为取绝对值符号;

步骤①_5:按大小对步骤①_4得到的q个损失函数值进行排序;然后将值最大的l个损失函数值对应的原始图像构成疑难样本集合;接着将疑难样本集合中的每幅原始图像的所有特征图及其对应的所有建议窗口输入到神经网络中的感兴趣区域池化层中,输出疑难样本集合中的每幅原始图像对应的m幅感兴趣区域图像;之后将疑难样本集合中的每幅原始图像对应的每幅感兴趣区域图像输入到神经网络中的全连接层中,输出疑难样本集合中的每幅原始图像对应的所有感兴趣区域图像通过神经网络中的全连接层映射到该原始图像上形成的包含特征信息的图像;将疑难样本集合中的每幅原始图像上形成的包含特征信息的图像输入到神经网络中的多分类层中,输出疑难样本集合中的每幅原始图像上形成的包含特征信息的图像的分类得分;根据疑难样本集合中的每幅原始图像上形成的包含特征信息的图像的分类得分,判定疑难样本集合中的每幅原始图像上形成的包含特征信息的图像是否包含车辆,分类得分大于或等于0.8时判定包含车辆,分类得分小于0.8时判定不包含车辆;再采用线性回归方式在疑难样本集合范围内判定为包含车辆的包含特征信息的图像中框出包含每辆车辆的矩形框;最后计算疑难样本集合中的每幅原始图像与其上形成的包含特征信息的图像的损失函数值;至此得到疑难样本集合中的所有原始图像对应的损失函数值与图像集中排除疑难样本集合外的所有原始图像对应的损失函数值共q个损失函数值,并构成损失函数值子集;其中,1<l<q;

步骤①_6:重复执行步骤①_1至步骤①_5共v次,训练得到神经网络模型,并将v个损失函数值子集中共q×v个损失函数值中的最小损失函数值对应的权值矢量和偏置项对应作为神经网络模型的最优权值矢量和最优偏置项,对应记为wbest和bbest;其中,v>1;

所述的测试阶段过程的具体步骤如下:

步骤②_1:令表示待检测图像;其中,1≤i”≤w”,1≤j”≤h”,w”表示的宽度,h”表示的高度,表示中坐标位置为(i”,j”)的像素点的像素值;

步骤②_2:将输入到训练阶段过程得到的神经网络模型中,并利用wbest和bbest进行测试,若神经网络模型无输出,则认为不包含车辆;若神经网络模型输出测试结果:上形成的包含特征信息的图像的分类得分及上形成的包含特征信息的图像中框出的每辆车辆的多个矩形框,则认为包含车辆,然后利用soft-nms算法对上形成的包含特征信息的图像包含的每辆车辆的多个矩形框进行筛选,使上形成的包含特征信息的图像包含的每辆车辆仅由一个矩形框框出,得到的每个矩形框的具体位置即为中检测出的每辆车辆的具体位置。

与现有技术相比,本发明的优点在于:

1)本发明方法利用神经网络中的squeezenet网络框架用于提取图像的多幅特征图,能在保证特征图提取精度的前提下通过多尺度的卷积核(如3×3和1×1两种尺寸的卷积核),有效地减少训练过程中的神经网络的拟合参数个数,从而提高了本发明方法的运算性能。

2)本发明方法通过对神经网络中的感兴趣区域池化层输出的感兴趣区域图像对应的损失函数值进行排序,对于疑难样本集合进行再学习,保证了训练过程中样本学习的充分率,利于提高检测精度。

3)本发明方法最后输出车辆的具体位置时,考虑到可能会出现重叠的矩形框的存在性,通过soft-nms算法有效减少了重叠的矩形框的存在。

4)本发明方法利用了神经网络自主学习的特性,对于车辆检测中常见的尺度变化、姿态变化等问题具有一定的抗干扰性。

附图说明

图1为本发明方法的总体实现框图;

图2a为测试集中的其中一幅待检测图像(有重叠车辆)的测试结果;

图2b为测试集中的另一幅待检测图像(车辆小尺度)的测试结果。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

本发明提出的一种车辆检测方法,其总体实现框图如图1所示,其包括训练阶段和测试阶段两个过程。

所述的训练阶段过程的具体步骤如下:

步骤①_1:选取包含车辆的原始图像和不包含车辆的原始图像共q幅原始图像,并构成图像集,将图像集中的第q幅原始图像记为{iq(i,j)};然后将图像集中的每幅包含车辆的原始图像中的每辆车辆用矩形框人工框出,假设{iq(i,j)}为包含车辆的原始图像,则将{iq(i,j)}中框出的任意一个包含一辆车辆的矩形框记为t(xq,yq,hq,wq);其中,q≥5,如取q=100,包含车辆的原始图像与不包含车辆的原始图像的比率为4:1~6:1,即若共选择q=6幅原始图像,则选取包含车辆的原始图像5幅,选取不包含车辆的原始图像1幅,q为正整数,1≤q≤q,1≤i≤w,1≤j≤h,w表示{iq(i,j)}的宽度,h表示{iq(i,j)}的高度,iq(i,j)表示{iq(i,j)}中坐标位置为(i,j)的像素点的像素值,xq表示t(xq,yq,hq,wq)的中心像素点的横坐标,yq表示t(xq,yq,hq,wq)的中心像素点的纵坐标,hq表示t(xq,yq,hq,wq)的高,wq表示t(xq,yq,hq,wq)的宽。

步骤①_2:由于神经网络中的squeezenet网络框架在不牺牲精度的前提条件下可以减少必需的参数个数,能有效提高计算效率,因此本发明将图像集中的每幅原始图像输入到现有的神经网络中的squeezenet网络框架中,输出图像集中的每幅原始图像的多幅特征图,将{iq(i,j)}的第k幅特征图记为然后将图像集中的每幅原始图像的每幅特征图输入到现有的神经网络中的基于区域推荐网络(regionproposalnetworks,rpn)的网络层中,输出图像集中的每幅原始图像的每幅特征图对应的前n个可能性最大的包含车辆的建议窗口,每幅特征图对应有超过n个的包含车辆的建议窗口,选择可能性最大的前n个包含车辆的建议窗口,将对应的第n个可能性最大的包含车辆的建议窗口记为其中,k为正整数,1≤k≤k,k表示图像集中的每幅原始图像的特征图的总幅数,k>1,在本实施例中取k=64,符号为向上取整运算符号,的宽度为的高度为表示中坐标位置为(i',j')的像素点的像素值,n>1,在本实施例中取n=300,n为正整数,1≤n≤n,的宽度为的高度为表示中坐标位置为(i',j')的像素点的像素值。

步骤①_3:将图像集中的每幅原始图像的所有特征图及其对应的所有建议窗口输入到现有的神经网络中的感兴趣区域(roi)池化层中,输出图像集中的每幅原始图像对应的m幅感兴趣区域图像,将{iq(i,j)}对应的第m幅感兴趣区域图像记为其中,m>1,m为正整数,1≤m≤m,的宽度为的高度为表示中坐标位置为(i',j')的像素点的像素值。

步骤①_4:将图像集中的每幅原始图像对应的每幅感兴趣区域图像输入到现有的神经网络中的全连接层中,输出图像集中的每幅原始图像对应的所有感兴趣区域图像通过神经网络中的全连接层映射到该原始图像上形成的包含特征信息的图像,将{iq(i,j)}对应的所有感兴趣区域图像通过神经网络中的全连接层映射到{iq(i,j)}上形成的包含特征信息的图像记为然后将图像集中的每幅原始图像上形成的包含特征信息的图像输入到现有的神经网络中的多分类层中,输出图像集中的每幅原始图像上形成的包含特征信息的图像的分类得分,分类得分的范围为0~1;接着根据图像集中的每幅原始图像上形成的包含特征信息的图像的分类得分,判定图像集中的每幅原始图像上形成的包含特征信息的图像是否包含车辆,若的分类得分大于或等于0.8,则判定包含车辆,若的分类得分小于0.8,则判定不包含车辆;之后采用现有的线性回归方式在图像集范围内判定为包含车辆的包含特征信息的图像中框出包含每辆车辆的矩形框,假设包含车辆,则将中框出的任意一个包含一辆车辆的矩形框记为再计算图像集中的每幅原始图像与其上形成的包含特征信息的图像的损失函数值,将{iq(i,j)}与的损失函数值记为其中,的宽度为w,的高度为h,表示中坐标位置为(i,j)的像素点的像素值,表示的中心像素点的横坐标,表示的中心像素点的纵坐标,表示的高,表示的宽,p表示{iq(i,j)}是否包含车辆的标记,{iq(i,j)}包含车辆时p=1,{iq(i,j)}不包含车辆时p=0,p*表示是否包含车辆的标记,包含车辆时p*=1,不包含车辆时p*=0,k*表示分类的个数,k*=2,t代表t(xq,yq,hq,wq),t*代表λ表示常数,在本实施例中取λ=1,e表示自然基数,符号“||”为取绝对值符号。

步骤①_5:通过步骤①_4中的损失函数值的计算,发现有疑难样本的存在,这些疑难样本具有损失函数值较高的特点,因此按大小对步骤①_4得到的q个损失函数值进行排序;然后将值最大的l个损失函数值对应的原始图像构成疑难样本集合;接着将疑难样本集合中的每幅原始图像的所有特征图及其对应的所有建议窗口输入到现有的神经网络中的感兴趣区域(roi)池化层中,输出疑难样本集合中的每幅原始图像对应的m幅感兴趣区域图像;之后将疑难样本集合中的每幅原始图像对应的每幅感兴趣区域图像输入到现有的神经网络中的全连接层中,输出疑难样本集合中的每幅原始图像对应的所有感兴趣区域图像通过神经网络中的全连接层映射到该原始图像上形成的包含特征信息的图像;将疑难样本集合中的每幅原始图像上形成的包含特征信息的图像输入到现有的神经网络中的多分类层中,输出疑难样本集合中的每幅原始图像上形成的包含特征信息的图像的分类得分;根据疑难样本集合中的每幅原始图像上形成的包含特征信息的图像的分类得分,判定疑难样本集合中的每幅原始图像上形成的包含特征信息的图像是否包含车辆,分类得分大于或等于0.8时判定包含车辆,分类得分小于0.8时判定不包含车辆;再采用现有的线性回归方式在疑难样本集合范围内判定为包含车辆的包含特征信息的图像中框出包含每辆车辆的矩形框;最后计算疑难样本集合中的每幅原始图像与其上形成的包含特征信息的图像的损失函数值;至此得到疑难样本集合中的所有原始图像对应的损失函数值与图像集中排除疑难样本集合外的所有原始图像对应的损失函数值共q个损失函数值,并构成损失函数值子集;其中,1<l<q,在本实施例中取l=600,损失函数值的计算方式与步骤①_4中的损失函数值的计算方式相同。

步骤①_6:重复执行步骤①_1至步骤①_5共v次,训练得到神经网络模型,并将v个损失函数值子集中共q×v个损失函数值中的最小损失函数值对应的权值矢量和偏置项对应作为神经网络模型的最优权值矢量和最优偏置项,对应记为wbest和bbest;其中,v>1,在本实施例中取v=2000。

所述的测试阶段过程的具体步骤如下:

步骤②_1:令表示待检测图像;其中,1≤i”≤w”,1≤j”≤h”,w”表示的宽度,h”表示的高度,表示中坐标位置为(i”,j”)的像素点的像素值。

步骤②_2:将输入到训练阶段过程得到的神经网络模型中,并利用wbest和bbest进行测试,若神经网络模型无输出,则认为不包含车辆;若神经网络模型输出测试结果:上形成的包含特征信息的图像的分类得分及上形成的包含特征信息的图像中框出的每辆车辆的多个矩形框,则认为包含车辆,然后利用现有的soft-nms算法对上形成的包含特征信息的图像包含的每辆车辆的多个矩形框进行筛选,使上形成的包含特征信息的图像包含的每辆车辆仅由一个矩形框框出,得到的每个矩形框的具体位置即为中检测出的每辆车辆的具体位置。

由于现有的线性回归方式对于同一位置的同一辆车辆会输出多个重叠的矩形框,通常利用现有的非极大值抑制(nonmaximumsuppression,nms)算法对检测获得的多个矩形框进行筛选,只保留覆盖面积最广的一个矩形框,然而一幅待检测图像中可能存在两辆甚至多辆车辆相互位置重叠的情况,此时若只通过现有的非极大值抑制算法会出现漏检的情况,考虑到此种情况,因此本发明利用现有的soft-nms算法进行矩形框筛选,这样有效地提高了检测精度。

为了验证本发明方法的可行性与有效性,进行如下实验。

选用kitti官网提供的数据集作为测试集,通过对测试集中的每幅待检测图像进行一定的格式处理之后,将测试集中的每幅待检测图像输入到卷积神经网络模型中,并利用wbest和bbest进行测试,得到测试结果。图2a给出了测试集中的其中一幅待检测图像(有重叠车辆)的测试结果,图2b给出了测试集中的另一幅待检测图像(车辆小尺度)的测试结果。图2a和图2b中的“cardetectionswithp(car|box)>=0.8”表示分类得分值大于或等于0.8。从图2a和图2b中可以看出,当待检测图像存在不同问题时,如车辆重叠、车辆尺寸较小等,利用本发明方法都能够很好地检测到车辆信息,针对视角不同的车辆也能精确地检测出来,对于复杂情况具有一定的抗干扰性。

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