基于深度学习的车辆检测方法与流程

文档序号:15983811发布日期:2018-11-17 00:38阅读:178来源:国知局
本发明属于计算机视觉识别
技术领域
,具体涉及一种基于深度学习的车辆检测方法。
背景技术
车辆检测是智能交通系统中一个不可或缺的重要环节,通过车辆检测方式采集有效的道路交通信息,获得交通流量、车速、道路占有率、车间距、车辆类型等基础数据,有目的地实现监测、控制、分析、决策、调度和疏导,实现交通资源的最大化,从而能够提升整个智能交通系统的健壮性及鲁棒性。当前主流的车辆检测方法通过hog和sift等方法对车辆进行特征提取,并将其提取到的特征输入至支持向量机(svm),迭代器(adaboost)等分类器进行车辆检测。这类方法本质上都是依赖人工提取的特征,需要研究人员具有相当坚实的专业知识和大量的经验,并且设计的特征为低层特征,可分性较差,不但耗费时间精力,而且难以适应天气和光线等条件的变化,泛化能力差。随着人工智能的发展,卷积神经网络替代了以上特征提取方法,可以灵活的在训练数据的驱动下根据不同的需求任务自动地去学习有用的特征来帮助算法完成检测和识别的任务。公开号为cn104036323a的专利公开了“一种基于卷积神经网络的车辆检测方法”,但是这类方法由于目标可能位于待检测图像的任何位置,而且目标的大小不确定,需要构建待检测图像的图像金字塔,在多个尺度上滑动窗口,以穷举的方式搜索目标的位置,导致候选区的数量庞大。所以,这类方法的检测速度非常慢,很难应用于实际工程中。技术实现要素:本发明的目的是提供一种基于深度学习的车辆检测方法,解决了现有基于特征的车辆检测方法在复杂环境中易受光照、目标尺度和图像质量等因素影响,效率低下且泛化能力较差的问题。本发明所采用的技术方案是,一种基于深度学习的车辆检测方法,具体按照以下步骤实施:步骤1,构建带有标注和标签的图片库作为训练样本集和测试样本集;步骤2,构建改进的fasterr-cnn模型,所述改进的fasterr-cnn模型由区域建议网络和改进的fastr-cnn网络组成;步骤3,利用edgeboxes初步提取出较为准确的车辆候选区域;步骤4,对改进的fasterr-cnn模型参数进行初始化;步骤5,进行特征提取,对候选区域进行系列卷积、池化和非线性运算,得到特征图;步骤6,利用rpn过滤掉不包含车辆区域的候选框,即,将步骤5提取的特征图矩阵输入到步骤2中构建的区域建议网络中,利用softmax对提取到的特征进行分类判别过滤掉不包含车辆的候选框,并利用非极大值抑制算法去除多余的候选框,得到候选框集合c'。步骤7,融合第三、第四和第五层卷积层特征对车辆进行描述,利用改进的fastr-cnn模型对步骤6中rpn模型产生的候选框进行分类判别,得到图像中车辆所在的位置和所属类别;步骤8,根据步骤7得到的结果划分用于训练的正负样本;步骤9,根据实际输出与期望输出得到总体误差,利用反向传播算法和随机梯度下降算法,通过交替训练的方式对模型进行训练,依次调整每层神经网络的权值,最终得到改进的fasterr-cnn模型;步骤10,使用训练集测试初步训练好的改进的fasterr-cnn模型,从而产生难负样本;将步骤9输出的得分高于0.7并且与任意真实区域包围盒的iou值(两个区域的交集面积与并集面积之比)小于0.5的候选框作为难负样本。步骤11,将步骤9产生的难负样本加入到训练集中,对网络再次训练,从而加强模型的类别判定能力,得到最优的改进的fasterr-cnn模型;步骤12,利用步骤11得到的最优的改进的fasterr-cnn模型,对实际中采集的待检测图像进行处理,从而得到车辆检测结果。本发明的特点还在于,步骤1具体为:利用开源标定软件labelimg构建带有标注和标签的图片库作为训练样本集和测试样本集,其中样本集包含相同天气情况不同场景下和不同天气情况相同场景下拍摄的车辆照片(包括背景),标注是记录车辆在一整张图像中的左上角点和右下角点的坐标,标签是指每个给定的车辆位置上车辆所属的类别;步骤2中,rpn由六个串联的卷积层和两个并行的卷积层构成,两个并行的卷积层中一个卷积层负责输出一系列的矩形候选框的位置坐标值,另一个卷积层负责输出该矩形候选区域是否为目标的置信度;改进的fastr-cnn由五个卷积层、三个roi池化层、一个全连接层和两个并行的全连接层构成,两个并行的全连接层中一个全连接层通过softmax预测候选区域属于每个类别的概率(置信度),另一个全连接层通过边框回归输出矩形候选框更合适的位置。步骤3具体按照以下步骤实施:步骤3.1,根据结构化边缘算法计算整张图片中每一个像素点的边缘响应;步骤3.2,确定边缘组,将近似在同一直线上的边缘线段集中起来形成一个边缘组,使用贪心算法计算相邻8条边的曲率,如果方向变化小于一个阈值π/2,则把这8条边确定为一个边缘组,得到所有边缘组集合r;步骤3.3,计算边缘组之间的相似度,,定义相似度集合为s,s初始化为根据公式(1)计算边缘组ri与边缘组rj相似度,并将其添加到相似度集合s中;s(ri,rj)=|cos(θi-θij)cos(θj-θij)|γ(1)其中θij表示di,dj之间的夹角,di为边缘组ri的平均距离,dj为边缘组rj的平均距离,θi表示边缘组ri的平均角度,θj表示边缘组rj的平均角度,γ表示相似度的敏感度,用来调整两个边缘组ri和rj之间的相似度,在实际应用中一般取值为2。当s(ri,rj)大于0.05时,则认定认为这两个边缘组ri,rj之间具有相似性,则相似性的值即为s(ri,rj),添加至相似度集合s中,当s(ri,rj)小于等于0.05时,将边缘组ri,rj之间的相似性值记为0,并添加至相似度集合s中。步骤3.4,使用一个滑动窗口扫描整个图像搜索候选框,每滑动一步根据步骤3.1、步骤3.2和步骤3.3得到一个窗口中的边缘组以及相似度之后,按照公式(2)计算每一个边缘组的权值;若wb(si)=0,则判定该边缘组不属于窗口中物体轮廓,若wb(si)=1,则把该边缘组判定为该窗口中物体轮廓的一部分;其中t为物体轮廓边缘组按顺序排列的路径;步骤3.5根据步骤步骤3.4得到的边缘组权值以及候选框的长宽等参数计算出其置信度;其中,bw与bh分别为候选款的宽度与长度,其中κ=1.5;mi表示每一个像素点的幅度值;步骤3.6,设置置信度阈值,如果该候选框的置信度hb小于置信度阈值,则去除该候选框,如果hb大于置信度阈值,则保留该候选框,得到可能包含车辆的候选框集合c;本发明中将置信度阈值设置为0.75。步骤4具体为,其中rpn和改进的fastr-cnn共享的卷积层参数使用imagenet上训练好的zf权值参数进行初始化,两个网络独有的层采用均值为0,标准差为0.01的高斯分布随机初始化。步骤5具体为,对步骤3提取的候选框集合c输入到改进的fasterr-cnn模型中通过前五层的卷积层进行系列卷积和池化处理,得到特征图矩阵,其中候选框集合c={x1,x2,...xj},卷积运算公式为:其中为第l层卷积层的第j个特征图矩阵;f(g)为非线性激活函数,本发明采用relu激活函数对卷积运算结果进行非线性处理,;nj代表输入特征图的组合,*代表卷积运算,为卷积核矩阵,表示第l层第j个特征图与第l-1层第i个特征图连接之间的卷积核,为偏置矩阵,表示第j个特征图对应的偏置项;池化运算公式为:其中down(·)表示采样函数,表示第l层第j个特征图对应的系数,bjl为其对应的偏置项。步骤7具体按照以下步骤实施:利用fastr-cnn模型对步骤6中rpn模型产生的候选框集合c'进行分类判别,得到检测框p和检测框中车辆所属的类别;在这一步骤中,融合第三、第四和第五层卷积层特征对车辆进行描述,通过roi池化将每一个候选区域分别映射到卷积层第三层、第四层和第五层的特征图中,获取相应的特征图信息,并采样到固定的长度,然后将各层提取到的特征经过l2归一化之后进行合并缩放,最后再利用1×1的卷积核对特征进行进一步的降维之后输出到全连接层进行分类和回归。步骤8具体为:划分正负样本,根据公式(6)计算步骤7输出的检测矩形框bp与步骤1中人工标注的真实矩形框bgt的交并比iou划分正负样本;其中将与真实矩形框有最大iou值的检测矩形框和与任意真实矩形框的iou值大于0.7的检测矩形框划分为正样本,将所有与真实矩形框的iou值低于0.3的检测矩形框划分为负样本。步骤9具体为,步骤9.1,根据实际输出与期望输出得到总体误差,其公式为:式中i是一次批处理中选取的候选框索引,pi为候选框i是车辆的概率;如果候选框是一个正样本,其对应的真实区域标签为1,否则为0;ti表示预测的矩形框的4个参数化坐标向量,是相对应的真实区域矩形框的坐标向量;步骤9.2,通过交替训练的方式对模型进行训练,交替训练指的是rpn和fastr-cnn两个模型之间的交替;利用反向传播算法将一定比例的误差分配给每个权值,随机梯度下降学习算法依次调整每层神经网络的权值以减少误差,得到初步训练好的fasterr-cnn模型;其中交替训练时网络初始学习率设置为0.01,按照polynomial多项式衰减策略进行衰减,最低的学习率设置为0.0001,动量设置为0.9,权重衰减系数设置为0.0005,dropout值设置为0.5。步骤9.2具体为,步骤9.2.1,采用反向传播算法和随机梯度下降算法独立训练一个rpn模型,该阶段迭代80000次;步骤9.2.2,将步骤9.2.1中生成的候选框作为fastr-cnn模型的输入,独立训练一个fastr-cnn模型,该阶段迭代40000次;步骤9.2.3,微调rpn模型参数,使用步骤9.2.2中得到的权值参数对rpn进行初始化,将共享卷积层的学习率设置为0,只更新rpn独有层的参数,该阶段迭代80000次;步骤9.2.4,微调fastr-cnn模型参数,同样将共享卷积层的学习率设置为0,只更新fastr-cnn全连接层的参数,该阶段迭代40000次。本发明的有益效果是,本发明结合edgeboxes和改进的fasterr-cnn模型进行复杂环境中的车辆检测,首先使用edgeboxes对图像进行处理,初步提取出较为准确的车辆候选区域;其次将候选区域输入到改进的fasterr-cnn模型中进一步对车辆进行精定位并通过分类判别得到最终的检测结果。同时为了增强模型对于小尺寸车辆的检测能力以及模型的判别能力,将不同层的卷积特征组合起来,补充一些车辆的细节信息,并在训练阶段加入难负样本挖掘策略,使得模型更加关注困难样本,能够很好的将车辆与疑似车辆的背景区分开来。附图说明图1为本发明方法进行车辆检测的整体框图;图2为本发明方法中改进的fasterr-cnn模型框图;图3为本发明方法中edgeboxes处理图像的流程图。具体实施方式下面结合附图和具体实施方式对本发明进行详细说明。一种基于深度学习的车辆检测方法,如图1所示,具体按照以下步骤实施:步骤1、构建带有标注和标签的图片库作为训练样本集和测试样本集;具体为:利用开源标定软件labelimg构建带有标注和标签的图片库作为训练样本集和测试样本集,其中样本集包含相同天气情况不同场景下和不同天气情况相同场景下拍摄的车辆照片(包括背景),标注是记录车辆在一整张图像中的左上角点和右下角点的坐标,标签是指每个给定的车辆位置上车辆所属的类别;步骤2、构建改进的fasterr-cnn模型,所述改进的fasterr-cnn模型由区域建议网络(regionproposalnetworks,rpn)和改进的fastr-cnn网络组成;其中,rpn由六个串联的卷积层和两个并行的卷积层构成,两个并行的卷积层中一个卷积层负责输出一系列的矩形候选框的位置坐标值,另一个卷积层负责输出该矩形候选区域是否为目标的置信度;改进的fastr-cnn由五个卷积层、三个roi池化层、一个全连接层和两个并行的全连接层构成,两个并行的全连接层中一个全连接层通过softmax预测候选区域属于每个类别的概率(置信度),另一个全连接层通过边框回归输出矩形候选框更合适的位置。模型示意图见图2所示。步骤3、利用edgeboxes初步提取出较为准确的车辆候选区域;流程图见图3所示,具体过程如下:步骤3.1,根据结构化边缘算法计算整张图片中每一个像素点的边缘响应。步骤3.2,确定边缘组,将近似在同一直线上的边缘线段集中起来形成一个边缘组,使用贪心算法计算相邻8条边的曲率,如果方向变化小于一个阈值π/2,则把这8条边确定为一个边缘组,得到所有边缘组集合r。步骤3.3,计算边缘组之间的相似度,,定义相似度集合为s,s初始化为根据公式(1)计算边缘组ri与边缘组rj相似度,并将其添加到相似度集合s中。s(ri,rj)=|cos(θi-θij)cos(θj-θij)|γ(1)其中,θij表示di,dj之间的夹角,di为边缘组ri的平均距离,dj为边缘组rj的平均距离,θi表示边缘组ri的平均角度,θj表示边缘组rj的平均角度,γ表示相似度的敏感度,用来调整两个边缘组ri和rj之间的相似度,在实际应用中一般取值为2。当s(ri,rj)大于0.05时,则认定认为这两个边缘组ri,rj之间具有相似性,则相似性的值即为s(ri,rj),添加至相似度集合s中,当s(ri,rj)小于等于0.05时,将边缘组ri,rj之间的相似性值记为0,并添加至相似度集合s中。步骤3.4,使用一个滑动窗口扫描整个图像搜索候选框,每滑动一步根据步骤3.1、步骤3.2和步骤3.3得到一个窗口中的边缘组以及相似度之后,按照公式(2)计算每一个边缘组的权值。若wb(si)=0,则判定该边缘组不属于窗口中物体轮廓,若wb(si)=1,则把该边缘组判定为该窗口中物体轮廓的一部分。其中t为物体轮廓边缘组按顺序排列的路径。步骤3.5根据步骤步骤3.4得到的边缘组权值以及候选框的长宽等参数计算出其置信度。其中,bw与bh分别为候选款的宽度与长度,其中κ=1.5。mi表示每一个像素点的幅度值。步骤3.6,设置置信度阈值,如果该候选框的置信度hb小于置信度阈值,则去除该候选框,如果hb大于置信度阈值,则保留该候选框,得到可能包含车辆的候选框集合c。本发明中将置信度阈值设置为0.75。步骤4,初始化改进的fasterr-cnn模型参数。其中rpn和改进的fastr-cnn共享的卷积层参数使用imagenet上训练好的zf权值参数进行初始化,zf模型前五层卷积层参数见表1所示,两个网络独有的层采用均值为0,标准差为0.01的高斯分布随机初始化。表1zf模型前五层卷积层参数层数1122345阶段卷积池化卷积池化卷积卷积卷积处理通道数9696256256384384256卷积核尺寸7*7-5*5-3*33*33*3卷积移动步径2*2-2*2-1*11*11*1池化尺寸-3*3-3*3---池化移动步径-2*2-2*2---步骤5、进行特征提取,对候选区域进行系列卷积、池化和非线性运算,得到特征图,具体步骤为,对步骤3提取的候选框集合c输入到改进的fasterr-cnn模型中通过前五层的卷积层进行系列卷积和池化处理,得到特征图矩阵,其中候选框集合c={x1,x2,...xj},卷积运算公式为:其中为第l层卷积层的第j个特征图矩阵;f(g)为非线性激活函数,本发明采用relu激活函数对卷积运算结果进行非线性处理,;nj代表输入特征图的组合,*代表卷积运算,为卷积核矩阵,表示第l层第j个特征图与第l-1层第i个特征图连接之间的卷积核,为偏置矩阵,表示第j个特征图对应的偏置项。池化运算公式为:其中down(·)表示采样函数,表示第l层第j个特征图对应的系数,为其对应的偏置项。步骤6、利用rpn过滤掉不包含车辆区域的候选框;将步骤5提取的特征图矩阵输入到步骤2中构建的区域建议网络(regionproposalnetworks,rpn)中,利用softmax对提取到的特征进行分类判别过滤掉不包含车辆的候选框,并利用非极大值抑制算法去除多余的候选框,得到候选框集合c'。步骤7,融合第三、第四和第五层卷积层特征对车辆进行描述,利用改进的fastr-cnn模型对步骤6中rpn模型产生的候选框进行分类判别,得到图像中车辆所在的位置和所属类别;具体步骤为:利用fastr-cnn模型对步骤6中rpn模型产生的候选框集合c'进行分类判别,得到检测框p和检测框中车辆所属的类别。在这一步骤中,融合第三、第四和第五层卷积层特征对车辆进行描述,通过roi池化将每一个候选区域分别映射到卷积层第三层、第四层和第五层的特征图中,获取相应的特征图信息,并采样到固定的长度,然后将各层提取到的特征经过l2归一化之后进行合并缩放,最后再利用1×1的卷积核对特征进行进一步的降维之后输出到全连接层进行分类和回归。步骤8,根据步骤7得到的结果划分用于训练的正负样本,具体步骤为:划分正负样本,根据公式(6)计算步骤7输出的检测矩形框bp与步骤1中人工标注的真实矩形框bgt的交并比iou划分正负样本。其中将与真实矩形框有最大iou值检测矩形框和与任意真实矩形框的iou值大于0.7的检测矩形框划分为正样本,将所有与真实矩形框的iou值低于0.3的检测矩形框划分为负样本,步骤9,根据实际输出与期望输出得到总体误差,利用反向传播算法和随机梯度下降算法,通过交替训练的方式对模型进行训练,依次调整每层神经网络的权值,最终得到改进的fasterr-cnn模型;具体的步骤为:步骤9.1,根据实际输出与期望输出得到总体误差,其公式为:式中i是一次批处理中选取的候选框索引,pi为候选框i是车辆的概率。如果候选框是一个正样本,其对应的真实区域标签为1,否则为0。ti表示预测的矩形框的4个参数化坐标向量,是相对应的真实区域矩形框的坐标向量。步骤9.2,通过交替训练的方式对模型进行训练,交替训练指的是rpn和fastr-cnn两个模型之间的交替。利用反向传播算法将一定比例的误差分配给每个权值,随机梯度下降学习算法依次调整每层神经网络的权值以减少误差,得到初步训练好的fasterr-cnn模型。其中交替训练时网络初始学习率设置为0.01,按照polynomial多项式衰减策略进行衰减,最低的学习率设置为0.0001,动量设置为0.9,权重衰减系数设置为0.0005,dropout值设置为0.5。交替训练的具体过程如下:步骤9.2.1,采用反向传播算法和随机梯度下降算法独立训练一个rpn模型,该阶段迭代80000次。步骤9.2.2,将步骤9.2.1中生成的候选框作为fastr-cnn模型的输入,独立训练一个fastr-cnn模型,该阶段迭代40000次。步骤9.2.3,微调rpn模型参数,使用步骤9.2.2中得到的权值参数对rpn进行初始化,将共享卷积层的学习率设置为0,只更新rpn独有层的参数,该阶段迭代80000次。步骤9.2.4,微调fastr-cnn模型参数,同样将共享卷积层的学习率设置为0,只更新fastr-cnn全连接层的参数,该阶段迭代40000次。步骤10,使用训练集测试初步训练好的改进的fasterr-cnn模型,从而产生难负样本;具体为,使用训练集测试步骤9初步训练好的fasterr-cnn模型,从而产生难负样本。其中难负样本指的是第一次训练时在负样本原图(没有目标)上进行目标检测时所有检测到的矩形框。本发明中将步骤9输出的得分高于0.7并且与任意真实区域包围盒的iou值(两个区域的交集面积与并集面积之比)小于0.5的候选框作为难负样本。步骤11,将步骤9产生的难负样本加入到训练集中,对网络再次训练,从而加强模型的类别判定能力,得到最优的改进的fasterr-cnn模型。步骤12,利用步骤11得到的最优的改进的fasterr-cnn模型,对实际中采集的待检测图像进行处理,从而得到车辆检测结果。为了验证本发明的方法实际应用时的准确性和有效性,在得到了改进的fasterr-cnn模型后,利用测试集按照步骤3到步骤7的顺序对步骤11得到的模型进行测试,测试结果符合准确性的要求,说明步骤10得到的改进的fasterr-cnn模型可以用于实际的测量检测。测试的平均精确度可达到95%,检测一幅图像的平均时间可达0.34ms。相比传统的基于特征的车辆检测方法平均精确度提升了约8%,并满足实时检测的要求。本发明的方法,与现有技术相比,具备如下的有益效果:1、区别于现有技术的情况,本发明采用利用基于深度学习的改进的fasterr-cnn模型进行车辆检测,能够在训练数据的驱动下自动提取车辆的特征,既对位移、尺度和光照等具有一定程度的不变性,又能保证理想的检测率,基本实现实时检测。2、采用edgeboxes得到较为准确的车辆区域,使得改进的fasterr-cnn模型无需处理整幅图像,减少了计算量。3、在特征提取阶段将不同层的卷积特征组合起来,得到更多的细节特征,增强了小尺寸车辆的检测能力。同时在训练阶段加入难负样本挖掘策略,使得模型能够更好的将目标与复杂环境中的疑似目标区分开来,从而增强了模型的判别能力,提高了检测精确度。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1