一种基于GMM聚类的多尺度识别交通信号标志的方法[发明专利]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202010505035.6
(22)申请日 2020.06.05
(71)申请人 杭州电子科技大学
地址 310018 浙江省杭州市下沙高教园区2
号大街
申请人 星际控股集团有限公司
(72)发明人 高明煜 陈超 董哲康 杨宇翔
阮成杨 陈利丰
(74)专利代理机构 杭州君度专利代理事务所
(特殊普通合伙) 33240
代理人 杨舟涛
(51)Int.Cl.
G06K 9/62(2006.01)
G06N 3/04(2006.01)
G06K 9/00(2006.01)
(54)发明名称
一种基于GMM聚类的多尺度识别交通信号标
志的方法
(57)摘要
本发明公开了一种基于GMM聚类的多尺度识
别交通信号标志的方法。
识别方法为:通过GMM聚
类得到先验框尺寸作为网络的参数参与训练;先
训练数据集中出现过多类的样本图像:将待训练
图像输入神经网络中,网络提取输入图像不同层
次的特征图,再通过上采样和特征融合,最后输
出五个不同尺度的预测结果。
通过迭代训练更新
模型参数,得到过渡模型;按上述方法训练出现
过少类的样本图像,得到最终模型;识别时将待
识别图像输入最终模型,得到图像相应位置上的
识别结果。
通过GMM聚类,提高了网络的训练速
度、识别速度和精度;通过多尺度预测,解决了交
通信号标志太小,难以检测的问题;通过迁移学
习的方法,解决了数据集少导致识别效果差的问
题。
权利要求书4页 说明书10页 附图5页CN 111950583 A 2020.11.17
C N 111950583
A
1.一种基于GMM聚类的多尺度识别交通信号标志的方法,其特征在于:包括以下步骤:
1)通过GMM聚类得到先验框尺寸作为网络的参数参与训练;
2)先训练数据集中出现过多类的样本图像,若该样本图像中出现少类,也同时参与训练:将待训练图像输入神经网络中,网络提取输入图像不同层次的特征图,再通过上采样和特征融合,最后输出五个不同尺度的预测结果;通过迭代训练可以更新模型参数,得到过渡模型;其中多类为数据集中出现次数大于设定阈值的类,少类为数据集中出现次数小于设定阈值的类;
3)按步骤2)的训练方法训练少类,得到最终模型;
4)识别时将待识别图像输入最终模型,可得到图像相应位置上的识别结果。
2.根据权利要求1所述的一种基于GMM聚类的多尺度识别交通信号标志的方法,其特征在于:所述的步骤1)之前需要进行数据准备,步骤如下:通过对中国交通违章事件进行的统计,选择违章概率最高的25类交通标志作为数据集类别;一共收集到10000张包含有交通灯和交通标志牌的数据集,标定数据集并生成xml格式文件;随机选取2000张样本图片作为测试集,不参与神经网络的训练,只用来测试网络模型的性能;剩下的8000张样本图片被分为6000张训练样本和2000张验证样本后,需要参与神经网络模型的训练;计算并保存每个训练样本和验证样本中所有标定框的长宽大小。
3.根据权利要求1所述的一种基于GMM聚类的多尺度识别交通信号标志的方法,其特征在于:所述的步骤1)中的GMM是以n个训练样本和验证样本中所有标定框的长宽大小作为二维数据点来构成;设有样本X i,则GMM的表达式:
其中:N是GMM中单一高斯模型的个数;πm是每个单一高斯模型的占比;P(X i|μm,Var m)是样本X i在第m个单一高斯模型中的概率密度函数;μm、Var m依次表示第m个高斯模型的均值、方差;
通过EM算法对GMM的参数进行迭代更新:首先,分别初始化每个单一高斯模型的均值μ、方差Var和每个单一高斯模型的占比π;通过以下公式(2)计算样本X i属于第m个单一高斯模型的概率,可称为样本X i对第m个单一高斯模型的贡献系数:
通过以下公式(3)计算似然函数初始值:
在得到W i,m之后,通过公式(4)、公式(5)和公式(6)依次更新πm、μm和Var m:
以上便完成了一次GMM参数的更新,而通过更新后的πm、μm和Var m可以进一步更新贡献系数和计算出此时的似然函数值,并往复迭代;随着参数的更新,似然函数值会不断变大,直到似然函数值的变化量小于预设阈值,此时GMM的参数达到收敛,聚类过程结束;
考虑到在多尺度识别网络中,最后需要输出五个尺度的预测结果,而每个尺度的预测结果需要三个不同大小的先验框;因此,需要通过GMM聚类出15个不同大小的先验框,即取N =15。
4.根据权利要求1所述的一种基于GMM聚类的多尺度识别交通信号标志的方法,其特征在于:所述的步骤2)中神经网络的构建步骤如下:
设计由卷积层、BN归一化层、Leaky ReLU非线性激活函数串联构成的CBL基本单元;设计由步长为1的1×1CBL卷积和步长为1的3×3CBL卷积构成的res残差单元结构;设计由一个步长为2的3×3CBL卷积和N个res残差单元结构串联构成的resN结构;
神经网络分为特征提取网络和多尺度预测网络;特征提取网络会先调整输入图像的尺寸为512×512×3,再用1个输出通道为16的CBL卷积单元对输入图像进行滤波;再依次使用res1、res2、res8、res8、res4、res4残差结构对特征图进行下采样操作,同时增加特征图的通道数;通过特征提取网络可以依次得到128×128、64×64、32×32、16×16、8×8这些不同尺度的特征图,五个不同尺度的特征图将会被用于下一阶段的多尺度预测;
多尺度预测网络会将尺度为8×8的特征图依次通过步长为1的1×1、3×3、1×1、3×3、1×1五个CBL卷积来调整通道数,再通过一个步长为1的3×3CBL卷积和一个步长为1的1×1CBL卷积后可以得到8×8×90的预测结果;同时,尺度为8×8的特征图在依次通过步长为1的1×1、3×3、1×1、3×3、1×1、1×1六个CBL卷积和一次上采样后需要与尺度为16×16的特征图进行特征融合,得到新的特征图;新的特征图将会进行与尺度为8×8的特征图相同的变换,然后得到16×16×90的预测结果;同时,将会进一步与尺度为32×32的特征图进行特征融合;依次对特征提取网络得到的五个特征图进行上述变换,最后将得到128×128×
90、64×64×90、32×32×90、16×16×90、8×8×90五个不同尺度的预测结果;
最终的预测结果会分别将输入图像分割成了128×128、64×64、32×32、16×16、8×8个网格,每个网格会产生三个预测框;预测框是由该网格对应的先验框通过回归过程得到的;每个预测框又由30个参数构成;参数分别为预测框中心的相对位置(x_offset,y_ offset)、预测框的长宽(h,w)、预测置信度和25个类别的分类结果。
5.根据权利要求1所述的一种基于GMM聚类的多尺度识别交通信号标志的方法,其特征在于:所述的步骤2)中的训练步骤如下:
依据训练集和验证集的所有样本中出现次数是否大于500,将所有类别分为多类和少类,并分别保存出现过多类和少类的样本序号;先用步骤2)中的神经网络训练多类序号的样本,同时也要训练这些样本中出现的少类目标;训练多类的步骤如下:
1)将多类序号的样本按照3:1的比例分离出训练集和验证集,两者都需参加训练;而验证集是通过训练网络的超参数来提高网络的识别准确度;
2)将训练集和验证集的xml格式的标定文件转换成训练所需的文件格式并保存;
3)设置训练超参数中的class为所有类别的class,输入预先搭建好的预训练模型,并解冻模型的所有层,设置为可训练;
4)设计损失函数等于位置预测损失函数、置信度预测损失函数和类别预测损失函数之和,其值大小为预测结果和标定的真实结果之间的差距大小;
5)设置初始学习率和学习率衰减策略,训练中选择用Adam算法作为优化器来自动调整神经网络的权重参数,来使损失函数值不断减小;
6)将输入图像尺寸调整为512×512,并输入到神经网络中进行50轮的迭代训练;直到达到训练次数或损失函数的变化量小于阈值,则停止训练,得到并保存为过渡模型。
6.根据权利要求1所述的一种基于GMM聚类的多尺度识别交通信号标志的方法,其特征在于:所述的步骤3)中的少类样本训练步骤如下:
1)将少类序号的样本按照3:1的比例分离出训练集和验证集;
2)将训练集和验证集的xml格式的标定文件转换成训练所需的文件格式并保存;
3)设置训练超参数中的class为所有类别的class,输入过渡模型作为预训练模型,并解冻模型的最后七层,设置为可训练;
4)设计损失函数等于位置预测损失函数、置信度预测损失函数和类别预测损失函数之和,其值大小为预测结果和标定的真实结果之间的差距大小;
5)设置初始学习率和学习率衰减策略;训练中选择用Adam算法作为优化器来自动调整神经网络的权重参数,来使损失函数值不断减小;
6)将输入图像尺寸调整为512×512,并输入到神经网络中进行100轮的迭代训练;训练时,也要训练少类样本中出现的多类目标;直到达到训练次数或损失函数的变化量小于阈值,则停止训练,得到并保存为最终模型。
7.根据权利要求1所述的一种基于GMM聚类的多尺度识别交通信号标志的方法,其特征在于:所述的步骤4)中的识别具体步骤为:
将待识别的交通信号标志图像或视频输入到最终模型中,经过特征提取、上采样、特征融合,神经网络模型最终将会输出五个不同尺度的预测结果,从预测结果中可以得知每个预测框的位置、大小信息以及框内出现各类别的概率;将所有预测框聚集在一起,通过NMS
算法去除冗余的预测框,最终可在图像或视频的相应位置上框出识别出的交通信号标志类别;
上述的NMS算法具体步骤如下:
1)设定预测结果中每个预测框的预测置信度与其预测出的每类分类结果的乘积最大值作为该预测框的得分,而该最大值对应的类别即是该预测框预测出的框内所属类别;
2)设定得分阈值,将得分低于得分阈值的所有预测框剔除,保留得分高于得分阈值的所有预测框;
3)设定交并比阈值,在剩下的预测框中选取得分最高的预测框为标准,剔除所有与该预测框交并比大于交并比阈值的预测框;
4)重复步骤3),直到完成对所有预测框的处理。
一种基于GMM聚类的多尺度识别交通信号标志的方法
技术领域
[0001]本发明涉及一种交通信号标志识别方法,尤其是涉及一种基于GMM聚类的多尺度识别交通信号标志的方法。
背景技术
[0002]交通信号灯和交通标志牌的实时识别是自动驾驶和辅助驾驶技术的重要组成部分,也是实现安全驾驶的重要环节。
车辆需要在行驶过程中快速识别出前方路段的交通信号灯和交通标志牌并以此为依据做出正确的行车操作或提醒驾驶员保持安全驾驶。
这样做提高了自动驾驶的安全性且减小了交通事故发生的可能性。
[0003]传统的方法主要根据交通信号标志的颜色和形状等特征来识别。
RGB颜色分割是一种基于颜色特征的识别方法,但该方法的识别准确度较差。
针对这一缺点,相继出现了HIS颜色分割、HSV多阈值分割等算法,虽然满足了一定的识别要求,但计算耗时太长,无法实现实时检测。
基于形状特征的识别方法有Hough变换、梯度方向信息、Canny边缘检测等方法,但这些方法受限于形状匹配的模板,存在鲁棒性差等问题。
[0004]为了克服传统识别方法的缺点,目前性能最好且用的最多的就是基于深度学习的目标检测方法,它又可大体分为single-stage和two-stage两大类。
但是基于two-stage的方法需要产生大量的候选区域,导致识别速度非常慢,无法实现实时检测。
虽然现有的基于single-stage的方法拥有较快的识别速度,但其对小目标的识别效果大多都较差。
小目标指的是在图像中占据较小像素的目标,一般其长宽不到图像尺寸的10%,只有几十个像素。
而在交通信号标志图像中会以小目标居多。
所以,现有的基于single-stage的目标检测方法对交通信号标志的识别效果欠佳。
[0005]除此以外,现有的基于single-stage的目标检测方法使用的先验框是通过K-means聚类得到的。
但K-means的每个聚类在所有维度上的协方差都为零,使聚类结果局限于圆形。
而由所有标定框的长宽大小构成的二维数据集是不规则形状的,如果使用圆形来聚类将会使聚类结果产生巨大误差,导致训练过程中预测框的回归过程耗时严重,影响到了训练速度和识别速度;并且,由于聚类结果的不准确也会直接造成神经网络识别准确度低下。
[0006]同时,现有的目标检测方法大多要求训练数据集样本充足且数量均匀,如果有几个类别的数据集样本太少,那么最终这几类的识别效果将会非常差,会出现误检和漏检的现象。
[0007]针对现有的基于single-stage的交通信号标志识别方法的这几大问题,寻找一种训练速度快、识别速度快和识别准确度高的新方法,以代替现有的识别方法,便成为了目前亟需解决的问题。
发明内容
[0008]为解决上述问题,本发明提出一种基于GMM聚类的多尺度识别交通信号标志的方
法,显著提高了识别准确度、训练和识别速度且对小目标对象也能实现高准确度识别。
[0009]本发明的技术方案采用如下步骤:
[0010]步骤一:数据准备;
[0011]通过对中国交通违章事件进行的统计,选择违章概率最高的25类交通标志作为数据集类别;一共收集到10000张包含有交通灯和交通标志牌的数据集,标定数据集并生成xml格式文件;随机选取2000张样本图片作为测试集,不参与神经网络的训练,只用来测试网络模型的性能;剩下的8000张样本图片被分为6000张训练样本和2000张验证样本后,需要参与神经网络模型的训练;计算并保存每个训练样本和验证样本中所有标定框的长宽大小。
[0012]步骤二:通过GMM聚类得到先验框尺寸作为网络的参数参与训练;
[0013]所述的步骤二中的GMM是以n个训练样本和验证样本中所有标定框的长宽大小作为二维数据点来构成;设有样本X i,则GMM的表达式:
[0014]
[0015]其中:N是GMM中单一高斯模型的个数;πm是每个单一高斯模型的占比;P(X i|μm, Var m)是样本X i在第m个单一高斯模型中的概率密度函数;μm、Var m依次表示第m个高斯模型的均值、方差;
[0016]由公式(1)可知:GMM由单一高斯模型通过一定权重比叠加而成;因此,GMM可以用N 个单一高斯模型无限逼近,就可认为所有标定框尺寸可被聚类为N个不同大小的先验框尺度;通过EM算法对GMM的参数进行迭代更新:首先,分别初始化每个单一高斯模型的均值μ、方差Var和每个单一高斯模型的占比π;通过以下公式(2)计算样本X i属于第m个单一高斯模型的概率,可称为样本X i对第m个单一高斯模型的贡献系数:
[0017]
[0018]通过以下公式(3)计算似然函数初始值:
[0019]
[0020]在得到W i,m之后,通过公式(4)、公式(5)和公式(6)依次更新πm、μm和Var m:
[0021]
[0022]
[0023]
[0024]以上便完成了一次GMM参数的更新,而通过更新后的πm、μm和Var m可以进一步更新贡献系数和计算出此时的似然函数值,并往复迭代;随着参数的更新,似然函数值会不断变大,直到似然函数值的变化量小于预设阈值,此时GMM的参数达到收敛,聚类过程结束;[0025]考虑到在多尺度识别网络中,最后需要输出五个尺度的预测结果,而每个尺度的预测结果需要三个不同大小的先验框;因此,需要通过GMM聚类出15个不同大小的先验框,即取N=15。
[0026]步骤三:先训练数据集中出现过多类的样本图像,若该样本图像中出现少类,也同时参与训练:将待训练图像输入神经网络中,网络提取输入图像不同层次的特征图,再通过上采样和特征融合,最后输出五个不同尺度的预测结果;通过迭代训练可以更新模型参数,得到过渡模型;其中多类为数据集中出现次数大于设定阈值的类,少类为数据集中出现次数小于设定阈值的类;
[0027]所述的神经网络的构建步骤如下:
[0028]设计由卷积层、BN归一化层、Leaky ReLU非线性激活函数串联构成的CBL基本单元;设计由步长为1的1×1CBL卷积和步长为1的3×3CBL卷积构成的res残差单元结构;设计由一个步长为2的3×3CBL卷积和N个res残差单元结构串联构成的resN结构;
[0029]神经网络分为特征提取网络和多尺度预测网络;特征提取网络会先调整输入图像的尺寸为512×512×3,再用1个输出通道为16的CBL卷积单元对输入图像进行滤波;再依次使用res1、res2、res8、res8、res4、res4残差结构对特征图进行下采样操作,同时增加特征图的通道数;通过特征提取网络可以依次得到128×128、64×64、32×32、16×16、8×8这些不同尺度的特征图,五个不同尺度的特征图将会被用于下一阶段的多尺度预测;
[0030]多尺度预测网络会将尺度为8×8的特征图依次通过步长为1的1×1、3×3、1×1、3×3、1×1五个CBL卷积来调整通道数,再通过一个步长为1的3×3CBL卷积和一个步长为1的1×1CBL卷积后可以得到8×8×90的预测结果;同时,尺度为8×8的特征图在依次通过步长为1的1×1、3×3、1×1、3×3、1×1、1×1六个CBL卷积和一次上采样后需要与尺度为16×16的特征图进行特征融合,得到新的特征图;新的特征图将会进行与尺度为8×8的特征图相同的变换,然后得到16×16×90的预测结果;同时,将会进一步与尺度为32×32的特征图进行特征融合;依次对特征提取网络得到的五个特征图进行上述变换,最后将得到128×128×90、64×64×90、32×32×90、16×16×90、8×8×90五个不同尺度的预测结果;
[0031]最终的预测结果会分别将输入图像分割成了128×128、64×64、32×32、16×16、8×8个网格,每个网格会产生三个预测框;预测框是由该网格对应的先验框通过回归过程得到的;每个预测框又由30个参数构成;参数分别为预测框中心的相对位置(x_offset,y_ offset)、预测框的长宽(h,w)、预测置信度和25个类别的分类结果。
[0032]所述的步骤三中的训练步骤如下:
[0033]依据训练集和验证集的所有样本中出现次数是否大于500,将所有类别分为多类和少类,并分别保存出现过多类和少类的样本序号;先用步骤三中的神经网络训练多类序号的样本,同时也要训练这些样本中出现的少类目标;训练多类的步骤如下:
[0034]1)将多类序号的样本按照3:1的比例分离出训练集和验证集,两者都需参加训练;而验证集是通过训练网络的超参数来提高网络的识别准确度;
[0035]2)将训练集和验证集的xml格式的标定文件转换成训练所需的文件格式并保存;[0036]3)设置训练超参数中的class为所有类别的class,输入预先搭建好的预训练模型,并解冻模型的所有层,设置为可训练;
[0037]4)设计损失函数等于位置预测损失函数、置信度预测损失函数和类别预测损失函数之和,其值大小为预测结果和标定的真实结果之间的差距大小;
[0038]5)设置初始学习率和学习率衰减策略,训练中选择用Adam算法作为优化器来自动调整神经网络的权重参数,来使损失函数值不断减小;
[0039]6)将输入图像尺寸调整为512×512,并输入到神经网络中进行50轮的迭代训练;直到达到训练次数或损失函数的变化量小于阈值,则停止训练,得到并保存为过渡模型。
[0040]步骤四:按步骤三的训练方法训练少类,得到最终模型;
[0041]少类样本训练步骤如下:
[0042]1)将少类序号的样本按照3:1的比例分离出训练集和验证集;
[0043]2)将训练集和验证集的xml格式的标定文件转换成训练所需的文件格式并保存;[0044]3)设置训练超参数中的class为所有类别的class,输入过渡模型作为预训练模型,并解冻模型的最后七层,设置为可训练;
[0045]4)设计损失函数等于位置预测损失函数、置信度预测损失函数和类别预测损失函数之和,其值大小为预测结果和标定的真实结果之间的差距大小;
[0046]5)设置初始学习率和学习率衰减策略;训练中选择用Adam算法作为优化器来自动调整神经网络的权重参数,来使损失函数值不断减小;
[0047]6)将输入图像尺寸调整为512×512,并输入到神经网络中进行100轮的迭代训练;训练时,也要训练少类样本中出现的多类目标;直到达到训练次数或损失函数的变化量小于阈值,则停止训练,得到并保存为最终模型。
[0048]步骤五:识别时将待识别图像输入最终模型,可得到图像相应位置上的识别结果。
[0049]识别具体步骤为:将待识别的交通信号标志图像或视频输入到最终模型中,经过特征提取、上采样、特征融合,神经网络模型最终将会输出五个不同尺度的预测结果,从预测结果中可以得知每个预测框的位置、大小信息以及框内出现各类别的概率;将所有预测框聚集在一起,通过NMS算法去除冗余的预测框,最终可在图像或视频的相应位置上框出识别出的交通信号标志类别;
[0050]上述的NMS算法具体步骤如下:
[0051]1)设定预测结果中每个预测框的预测置信度与其预测出的每类分类结果的乘积最大值作为该预测框的得分,而该最大值对应的类别即是该预测框预测出的框内所属类别;
[0052]2)设定得分阈值,将得分低于得分阈值的所有预测框剔除,保留得分高于得分阈值的所有预测框;
[0053]3)设定交并比阈值,在剩下的预测框中选取得分最高的预测框为标准,剔除所有与该预测框交并比大于交并比阈值的预测框;
[0054]4)重复步骤3),直到完成对所有预测框的处理。
[0055]本发明具有的有益效果是:
[0056]本发明提出了基于特征金字塔的五尺度识别网络。
其中,8×8尺度的特征图有最大感受野,能够很好地检测图像中的大目标,而128×128尺度的特征图有最小的感受野,对图像中的小目标具有很好的识别效果。
所以,本发明方法解决了现有的基于single-stage 的交通信号标志识别方法无法较好识别小目标的问题,达到了很好的小目标识别效果。
[0057]相比于现有识别方法存在先验框聚类误差大的问题,本发明方法通过GMM来进行先验框聚类,使聚类结果可以拥有任意椭圆的形状,更加符合实际情况。
这样做提高了聚类的灵活性,明显降低了聚类误差,加快了训练和识别过程中预测框的回归过程,从而提高了神经网络的识别准确度、训练速度和识别速度。
[0058]相比于现有识别方法对数据样本少的类别无法达到较好识别效果的问题,本发明方法先迭代训练多类样本得到过渡模型,再用过渡模型作为预训练模型,且用更多的训练次数迭代训练少类样本并得到最终模型。
最后实现了对数据样本少的类别也能达到较好的识别效果,提高了整体识别准确度。
附图说明
[0059]图1为本发明的流程图;
[0060]图2为本发明的高斯混合聚类流程图;
[0061]图3为本发明的神经网络整体结构图;
[0062]图4为实施例的测试样本图像;
[0063]图5为实施例本方法得到的识别结果图。
具体实施方式
[0064]下面结合附图及具体实施例对本发明作进一步详细说明。
[0065]如图1所示,本发明包括以下步骤:
[0066]步骤一:数据准备;
[0067]通过对中国交通违章事件进行的统计,选择违章概率最高的25类交通标志作为数据集类别;一共收集到10000张包含有交通灯和交通标志牌的数据集,标定数据集并生成xml格式文件;随机选取2000张样本图片作为测试集,不参与神经网络的训练,只用来测试网络模型的性能;剩下的8000张样本图片被分为6000张训练样本和2000张验证样本后,需要参与神经网络模型的训练;计算并保存每个训练样本和验证样本中所有标定框的长宽大小。