一种基于残差SSD模型的交通标志检测与识别方法与流程

文档序号:16211168发布日期:2018-12-08 07:45阅读:635来源:国知局
一种基于残差SSD模型的交通标志检测与识别方法与流程
本发明涉及图像检测与识别领域、深度学习应用
技术领域
,特别涉及一种交通标志图像检测与识别方法。
背景技术
智能交通标志检测与识别是高级驾驶辅助系统(adas)的一项重要的技术,对实现路况预警、防撞避障做出了重大的贡献。传统的机器学习方法一般通过分割感兴趣区域提取图像特征,利用单一的或几种分类算子对目标进行识别。主要依据的特征有图像的浅层信息如颜色、形状等,视觉显著性信息如混合颜色、亮度、朝向等多个特征的特征图等,局部不变特征信息如梯度直方图等三种。尽管相应的分类器检测速度很快,但由于特征表达片面而单一,不具有普适性,在复杂的背景或是干扰物众多、标志本身存在扭曲损坏的情况下,误检率漏检率极高。深度学习尤其是深度卷积神经网络(dcnn)的出现打破了图像语义表达的局限,通过丰富的特征表达和匹配、评估策略,大幅提高了识别精度。r-cnn(regionproposalneutralnetwork,区域卷积神经网络)通过区域建议网络自底向上定位和分割目标,结合cnn分类和回归器实现精准的检测与识别,开启了区域建议和卷积神经网络(cnn)相结合的先河。fastr-cnn在r-cnn的基础上,在最后一层卷积后加入roipoolinglayer,并将边框回归加入到cnn网络中训练,加快了网络的检测速度。fasterr-cnn使用一个全卷积的rpn网络取代selectivesearch来产生建议窗口,并且rpn网络和前后端网络权值共享,构成了一个端对端的高性能网络框架。rfcn(region-basedfullyconvolutionneutralnetwork,区域全卷积神经网络)则设计出了一个位置敏感的roipoolinglayer,实现了分类与定位精度的双高。依靠区域建议的网络虽然精度较高,但在速度上的表现却不尽如人意。为此,一些不依赖区域建议的网络结构也陆续出现。yolo网络将物体框的提取和识别两步操作进行了结合,利用整张图作为网络的输入,直接在输出层输出回归框的位置和所属的类别。ssd网络则优化了yolo直接划分网格的方法,在不同层级的featuremap下进行识别,实现了多尺度检测。另外,一些像素级别的分割与识别网络如segnet、deeplab等也陆续被提出,但由于分割精度不高目前还没有得到广泛的应用。另一方面,德国、比利时等国家交通标志数据集陆续公开发布,推动交通标志检测与识别领域蓬勃发展。尤其是在德国交通检测数据集gtsdb和识别数据集gtsrb的研究上,国内外研究已经实现了100%的检测正确率和99.67%的分类正确率。但由于交通标志在这些图像中占比过大,背景信息严重缺失,且我国的交通往往比国外更加复杂,因而这些研究都不能满足我国交通场景的实际检测需求。技术实现要素:将深度学习应用到交通检测领域,本发明提出一种基于残差ssd模型的交通标志检测与识别方法,利用ssd网络对小目标的检测技术,实现对中国真实交通场景中多类不同尺寸标志牌的有效检测与识别。本发明的一种基于残差ssd模型的交通标志检测与识别方法,该方法具体包括以下步骤:第一步:对图像进行多尺度分块,即使用滑窗法对待检测图像划分出多组图像块;相应地,对图像的包括其中标志包围框的四个坐标值、标志的类别在内的标签信息也进行分解到图像块层级;对每个图像块进行搜索,当存在某个标志包围框50%以上的面积区域落在此图像块上时,认为此图像块包含该标志,保留此图像块;否则舍弃;将所有包含标志的图像块全部投入网络,并随机筛选一部分不包含标志的图像块进行训练以实现网络对背景区域的识别;第二步:构建残差ssd模型,即用残差网络resnet101作为ssd的基础网络,所构建的残差ssd模型由原卷积层conv1、残差结构层res2x~res5x以及新添加的辅助卷积层conv2~conv5组成;具体特征描述如下:(1)在残差网络resnet101的最顶层res5c之后依次添加4组卷积层conv2~conv5,构成更加丰富的特征图,其中,每一组卷积层都包含256个1×1卷积滤波器和512个3×3卷积滤波器,实现多尺度特征图检测;(2)将与原图中对象包围框重叠率高于0.5的默认框作为网络的预测目标区域,并产生预测目标在此区域属于每一类的softmax分数值以及与默认框的相对位置偏移量。softmax计算公式如式(1)所示,其中ci表示第i类标志的预测值(各类标志及其名称见图1):经过softmax之后各类标志的预测值将分布在(0,1)之间,作为每一类的分数值;(3)将默认框与网络顶层(包括res3b3、res5c、pool6以及新添加的conv2、conv3、conv4、con5)每个特征图单元关联,默认框对特征图作卷积运算,使得每个框实例相对于各单元格的位置是固定的;使用具有不同宽高比的默认框,有效地离散输出框的形状,提高匹配的可能性和速度;第三步:网络训练,即首先对残差网络的权重进行高斯随机初始化,然后采用如下的学习策略对网络进行训练:(1)综合使用第二步所述的7个不同尺度层的特征图进行预测,实现多尺度检测与识别,res5c之后每个特征图上的默认框尺度计算公式如式(1)所示:其中smin、smax分别表示res5c和最顶层pool6中默认框的尺度,设置为0.04和0.49,中间各层的尺度在此范围内等差间隔。特别的,选择res3b3层默认框的尺度为0.01;此外,7个尺度层的宽高比a均设置为则相应默认框的宽w、高h计算公式如式(2)所示:其中,w、h分别表示默认框的宽、高;除最后一层外,还在每层增加一组a=1、尺度为的默认框,设置默认框的中心为其中是第k层上方形特征图的尺寸,i,j∈[0,lk)。由此可以得到最后一层特征图包含默认框数量为5,其他各层特征图上默认框的数量为6lk2,网络产生的默认框总数为32765。对于512×512的图像块,利用上面的默认框则能够检测出尺寸大小在(5,273)范围内的标志,这与我们数据集标志的大小范围一致。(2)使用jaccardoverlap策略来匹配目标框和默认框;首先对每一个目标框,找到与其jaccardoverlap最大的默认框,作为最佳匹配;之后为了简化学习,计算每个默认框与目标框的jaccardoverlap,只要大于某个阈值时,则认为此默认框与目标框相匹配。jaccardoverlap计算公式如式(3)所示:其中,a、b分别表示默认框与目标框内所有像素组成的集合区域。本发明中,jaccardoverlap的阈值设置为0.5。(3)将模型训练的目标函数用预测总误差表示,预测总误差由分类与检测的误差加权求和得到,计算公式如式(4)所示。其中,l表示总误差,权值α设置为1,lconf和lloc分别表示分类误差和检测误差;如式(5)所示和式(6)所示,其中,x表示每个预测框与目标框的匹配标志(x=1表示匹配,x=0表示不匹配),例如表示类别为p的第i个默认框与第j个目标框相匹配;c表示类别预测的分数(置信度),l表示预测框,g表示目标框,n表示默认框的数量。若n=0,认为总误差l为0。(4)数据扩充为了增加样本数量,提高训练出适应各种大小和形状输入的健壮模型,对每个原始图像块采用以下方法之一生成新的图像块数据:a.使用原始图像块;b.对原始图像块进行采样,使得采样后的图像块与原图像块的jaccardoverlap(杰卡尔重叠率,即交并比)分别为0.1,0.3,0.5,0.7,0.9;c.对原始图像块随机采样。其中抽样后的图像块是原图像块大小的0.1~1倍,宽高比在0.5~2之间。最后将所有图像块统一至512×512大小,并添加水平翻转和失真;(5)负样本挖掘当目标框的中点落在抽样后的图像块中时,裁去目标框落在图像块外面的部分,并在该图像块中将裁剪后的目标框标记为一个正样本;否则标记为负样本;在每次迭代之后都对所有默认框的lconf值进行排序,将值最大的若干默认框标记为负样本,使得正负样本的数量比例保持在1:3;第四步:完成具有泛化能力的检测与识别:考虑滑窗法滑动至图像宽、高方向的边界时残留图像块的面积可能小于滑窗面积,而测试图像在边缘处一般不存在标志;此时不再滑动,将不完整的块丢弃;另外,采取一种由粗到精的检测策略,该流程包括:首先,对中等尺度下的全部图像块进行初步残差ssd检测;接着将置信度高于0.3的结果映射回原图;对其他四个尺度下的图像块,若其与初检预测框重叠(jaccardoverlap>0),则将其选中投入残差ssd检测,否则舍弃;将以上两步的结果进行综合,在原图像上利用非极大值抑制进行筛选,完成检测与识别。本发明旨在提高现有ssd网络对小目标检测的正确率,实现对中国真实交通场景中多类不同尺寸标志牌的有效检测与识别。附图标记图1为本发明45类标志图像以及相应的类别名称;图2为本发明的一种基于残差ssd模型的交通标志检测与识别方法的整体流程图;图3为本发明多尺度分块实施例示意图;图4为残差ssd模型图;图5为由粗到精的检测流程图图6本发明与其他方法对不同尺寸标志的检测性能比较;图7为本发明模型对低分辨率图像的检测结果,(7a)小型标志检测结果;(7b)中型标志检测结果;(7c)大型标志检测结果。具体实施方式下面将结合附图对本发明的具体实施方式作进一步的详细描述。本发明实施例以清华大学与腾讯联合实验室最新公开的交通标志数据集tsinghua-tencent100k为研究对象。在tsinghua-tencent100k数据集中,图像的分辨率均为2048×2048,每个标志只占图像的很小一部分(例如1%),且每张图像中可能存在多个不同尺寸的标志牌。考虑到gpu内存有限,本发明提出的一种基于残差ssd模型的交通标志检测与识别方法,首先将大尺寸图像分解为多尺度图像块检测,再将块层级的检测结果映射到原图像层级,构建残差ssd结构并利用部分图像数据训练出一个网络模型。在另一部分图像上进行测试以验证模型的泛化能力,结合由粗到精和非极大值抑制的策略,优化测试结果。具体实现步骤如下:第一步:对图像进行多尺度分块;如图3所示的实施例示意图中,使用滑窗法划分出五组大小分别为256×256、320×320、384×384、448×448、512×512的图像块,滑动步长依次为(64,96,128,160,256)。由于小型标志在小尺寸图像窗中所占的面积比例较大,因而对小尺寸图像窗采用较小的步长进行滑动,以获得更多的小型标志实例。相应地,对图像的标签信息(包括其中标志包围框的四个坐标值、标志的类别)也进行分解到图像块层级。标签分解方法为统一所有图像块至512×512大小,将图像块中的标志包围框的4个坐标值映射到[0,512]之间,标志类别与包围框一一对应。统一图像块的大小另一方面也利于后面的批训练,可加快网络收敛速度。由于滑窗法产生的图像块数量庞大,且多是背景信息,不适宜全部输入网络训练。而残差ssd网络中已对输入图像进行了数据扩充处理,并且提出了有效的负样本挖掘方法,所以本发明将所有包含标志的图像块全部投入网络,并随机筛选一部分不包含标志的图像块进行训练以实现网络对背景区域的识别(二者数量比例约为1:2)。判定图像块是否包含标志的方法是:对每个图像块进行搜索,当存在某个标志包围框50%以上的面积区域落在此图像块上时,认为此图像块包含该标志,保留此图像块;否则舍弃。第二步:构建残差ssd模型本发明用残差网络resnet101代替原vggnet作为ssd的基础网络,构成残差ssd模型,残差ssd模型是由基础特征提取网络附加若干辅助卷积层构成的前馈卷积神经网络,它利用一组离散的默认大小的边框来匹配不同特征图中的对象,计算匹配目标属于各类别的分数,并且对边框不断进行调整以更好地近似对象包围框,综合基础特征提取网络的最后几层以及辅助层上的输出结果进行预测。如图4所示,残差ssd模型由原卷积层conv1、残差结构层res2x~res5x以及新添加的辅助卷积层conv2~conv5组成,如图4所示,具体特征描述如下:1)对图像进行多尺度分块,即使用滑窗法对待检测图像划分出多组图像块;相应地,对图像的包括其中标志包围框的四个坐标值、标志的类别在内的标签信息也进行分解到图像块层级;对每个图像块进行搜索,当存在某个标志包围框50%以上的面积区域落在此图像块上时,认为此图像块包含该标志,保留此图像块;否则舍弃;将所有包含标志的图像块全部投入网络,并随机筛选一部分不包含标志的图像块进行训练以实现网络对背景区域的识别;2)将与原图中对象包围框重叠率高于0.5的默认框作为网络的预测目标区域,并产生预测目标在此区域属于每一类的softmax分数值以及与默认框的相对位置偏移量。softmax计算公式如式(1)所示,其中ci表示第i类标志的预测值(各类标志及其名称见图1):可见,经过softmax之后各类标志的预测值将分布在(0,1)之间,可以将其看作每一类的分数值。3)将默认框与网络顶层(包括res3b3、res5c、pool6以及新添加的conv2、conv3、conv4、con5)每个特征图单元关联,默认框对特征图作卷积运算,使得每个框实例相对于各单元格的位置是固定的;计算每个特征图相对于每个框实例位置的偏移量,以及所有的类别分数。具体来说,对于每个特征图单元,计算c个类别分数和相对于k个默认框的4个偏移量(δ(cx,cy,w,h)),从而每个特征图需要(c+4)×k个滤波器,对于m×n的特征图就会产生(c+4)×k×m×n个输出。不同宽高比默认框的使用,可以有效地离散输出框的形状,提高匹配的可能性和速度。第三步:网络训练,即首先对残差网络的权重进行高斯随机初始化,然后采用如下的学习策略对网络进行训练:1)综合使用第二步所述的7个不同尺度层的特征图进行预测,实现多尺度检测与识别。res5c之后每个特征图上的默认框尺度计算公式如式(2)所示:其中smin、smax分别表示res5c和最顶层pool6中默认框的尺度,设置为0.04和0.49,中间各层的尺度在此范围内等差间隔。特别的,选择res3b3层默认框的尺度为0.01。此外,为了使默认框更好地拟合目标框的形状,还需要设置不同的宽高比a,本发明7个尺度层的宽高比a均设置为则相应默认框的宽w、高h计算公式如式(2)所示:其中,w、h分别表示默认框的宽、高;除最后一层外,还在每层增加一组a=1、尺度为的默认框,设置默认框的中心为其中是第k层上方形特征图的尺寸,i,j∈[0,lk)。由此可以得到最后一层特征图包含默认框数量为5,其他各层特征图上默认框的数量为6lk2,网络产生的默认框总数为32765。对于512×512的图像块,利用上面的默认框则能够检测出尺寸大小在(5,273)范围内的标志,这与我们数据集标志的大小范围一致。2)使用jaccardoverlap策略来匹配目标框和默认框。首先对每一个目标框,找到与其jaccardoverlap最大的默认框,作为最佳匹配;之后为了简化学习,计算每个默认框与目标框的jaccardoverlap,只要大于某个阈值时,则认为此默认框与目标框相匹配。jaccardoverlap计算公式如式(3)所示:其中,a、b分别表示默认框与目标框内所有像素组成的集合区域。本发明中,jaccardoverlap的阈值设置为0.5。3)目标函数模型训练的目标函数用预测总误差表示,通过减小预测总误差,达到优化训练的目的。预测总误差由分类与检测的误差加权求和得到,计算公式如式(4)所示。其中,l表示总误差,权值α设置为1,lconf和lloc分别表示分类误差和检测误差;如式(5)所示和式(6)所示,其中,x表示每个预测框与目标框的匹配标志(x=1表示匹配,x=0表示不匹配),例如表示类别为p的第i个默认框与第j个目标框相匹配;c表示类别预测的分数(置信度),l表示预测框,g表示目标框,n表示默认框的数量。若n=0,认为总误差l为0。4)数据扩充为了增加样本数量,提高训练出适应各种大小和形状输入的健壮模型,对每个原始图像块采用以下方法之一生成新的图像块数据:a、使用原始图像块;b、对原始图像块进行采样,使得采样后的图像块与原图像块的jaccardoverlap(杰卡尔重叠率,即交并比)分别为0.1,0.3,0.5,0.7,0.9;c、对原始图像块随机采样。其中抽样后的图像块是原图像块大小的0.1~1倍,宽高比在0.5~2之间。最后将所有图像块统一至512×512大小,并添加水平翻转和失真。其中抽样后的图像块是原图像块大小的0.1~1倍,宽高比在0.5~2之间。最后将所有图像块统一至512×512大小,并添加水平翻转和失真。5)负样本挖掘正负样本数量的平衡对维持模型稳定至关重要。为此,在每次迭代之后都对所有默认框的lconf值进行排序,将值最大的若干默认框标记为负样本,使得正负样本的数量比例保持在1:3。第四步:完成具有泛化能力的检测与识别:考虑滑窗法滑动至图像宽、高方向的边界时残留图像块的面积可能小于滑窗面积,而测试图像在边缘处一般不存在标志;此时不再滑动,将不完整的块丢弃;另外,采取一种由粗到精的检测策略,该流程包括:首先,对中等尺度下的全部图像块进行初步残差ssd检测;接着将置信度高于0.3的结果映射回原图;对其他四个尺度下的图像块,若其与初检预测框重叠(jaccardoverlap>0),则将其选中投入残差ssd检测,否则舍弃;将以上两步的结果进行综合,在原图像上利用非极大值抑制进行筛选,完成检测与识别。非极大值抑制的过程如下:对所有预测框按照分数值进行从高到低排序,判断分数最高的预测框与其他预测框的jaccardoverlap,若大于一定阈值(本发明中选择0.5),则将其他预测框丢弃;接着判断分数次高的预测框与其他预测框的jaccardoverlap,丢弃大于0.5的那些预测框;接着判断分数第三高的预测框.......如此进行下去,直到遍历完所有预测框。本发明实施方式描述如下:1、数据预处理tsinghua-tencent100k数据集中训练和测试图片的数量比例大致为2:1。选取45类出现次数大于100的标志作为检测与识别的目标,将包围框坐标、类别分别作为检测与识别的标签。2、实验环境模型的训练和测试都在linuxpc端进行,包括一台32gb内存的inteli7-7700kcpu和两台11g显存的nvidiageforcegtx1080tigpu。3、学习参数配置训练的初始学习率设置为0.001,在40000次迭代之后降到0.0001,之后以0.0001的学习率继续迭代40000次停止。采用0.9的动量和0.0005的取值衰减率。在caffe架构上进行实验,每训练20000次进行一次测试。4、测试结果及方法对比将标志的尺寸划分为小型(面积≤322)、中型(322<面积≤962)、大型(962<面积≤4002)三组,在测试集上进行由粗到精的检测。采用microsoftcoco的评价指标,统计所有置信度大于等于0.01的结果进行评估并与zhu、meng等人的结果进行对比,如图6所示。其中(6a)、(6b)、(6c)分别表示本发明方法与其他两种方法对小型、中型、大型标志的召回率-精确度曲线。可以看出,本发明方法对不同尺寸的标志均取得了更优的检测结果。统计所有置信度大于等于0.5的结果,得出本发明方法与其他两种方法的总体精确度和召回率对比,如表1所示的总体精确度和召回率对比结果。表1方法总体精确度总体召回率zhu88%91%meng90%93%本发明94%95%表1反映出本发明方法总体性能上也明显优于其他两种方法。相比zhu使用的区域建议网络,本发明的初步检测采用与后面精检相同的网络,避免了额外的开销且对感兴趣区域的提取效果更好。相比于meng采用的图像下采样分块方式,本发明方法在原图像上采用不同尺度进行划分,并减小搜索步长,使得图像块中标志的占比更高,结合resnet网络提取到更为丰富的特征。相比于zhu、meng在单一网络层上进行检测与定位的模型,本发明方法采用的残差ssd模型在多个不同的网络层上进行特征匹配,能适应各种尺寸的检测目标,鲁棒性更强。此外,本发明方法resize得到的512×512像素级的图像块已能较好地反映大多数真实交通场景的特征,因此本发明的网络模型也可用于低分辨率交通场景图像的检测与识别。为了展现本发明方法的这一性能,对测试图像中所有包含交通标志的图像块进行补充实验。将测试图像块根据resize之前的尺寸分成256×256、320×320、384×384、448×448、512×512五种,分别对另外三组小型(面积≤502)、中型(502<面积≤1002)、大型(1002<面积≤5122)标志进行检测,结果如图7所示。需要说明的是,这里的面积是标志在512×512图像块中而非原图中的大小。由图7可见,本发明方法使用的残差ssd模型对低分辨率交通图像的检测同样有效,且对于不同尺寸的交通标志牌均取得了较好的精确度和召回率。相比meng采用200×200的图像块,本发明方法的多尺度分块方式应用性更广泛。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1