如果将synthetic gradient和capsule collider合并,能否创造出一个完全鲁棒的CNN?

基于matching-CNN的行人再识别--《西安电子科技大学》2015年硕士论文
基于matching-CNN的行人再识别
【摘要】:随着智慧城市建设的不断推进,信息技术扮演着越来越重要的角色。智能视频监控作为智慧城市中安全防范系统的重要组成部分,正越来越被大众所关注。行人再识别技术作为智能视频监控系统重要的环节,已经逐渐引起了研究人员的兴趣。然而由于这一问题本身的复杂性,目前的解决方案还非常不成熟。如何有效解决行人图片分辨率变化大,拍摄角度不统一,光照条件差,环境变化大,行人姿态不断变化这些问题,提高行人再识别的性能,将算法推进到应用实际生活中还需要很多努力。本文围绕基于matching-CNN的行人再识别问题提出了三个改进方案。针对一般所获得的行人特征表示难以有效区分匹配对和非匹配的问题,本文提出了一种通过特征增强的方法大大提高了行人再识别的匹配率。针对当前研究方案都未能完全利用行人图片的底层视觉特征的问题,本文又提出了将HSV颜色特征和LBP纹理特征,在利用特征增强后进行有效结合的方法。由于当前研究行人再识别问题所用到的公开数据库数据量都相当少,而人工制作、标注大规模的专用数据库又是一个非常繁重的过程,本文提取了利用海量无标签、非结构化的网络视频对模型进行进一步调整的方法,有效地利用了大量数据资源中所包含的隐藏信息。本文所做的三部分工作如下:1.通过在传统的网络模型中引入特征增强的思想,利用三元组作为网络的训练样本,在卷积神经网络已经提取到的很好的低层特征表示的基础上,再将低层特征图做像素级的叠加,对匹配对和非匹配对同时进行特征增强,在不断地迭代学习中使得匹配对的特征向量的能量更加集中,而非匹配对的特征向量的能量更加分散,从而达到在特征空间拉大匹配对度量值和非匹配对度量值的距离。特征增强能够过滤掉无关紧要的细节而保留了行人再识别所需要的关键特征。2.颜色特征和纹理特征是图像所特有的两个关键的低层视觉特征,一般的网络都只是利用到了RGB颜色特征,没有充分挖掘原始图像的信息。通过从原始样本的RGB颜色特征得到其HSV颜色特征图和LBP纹理特征图,将HSV颜色特征和LBP纹理特征同时输入到卷积神经网络中,利用机器学习强大的特征融合的特性,将这两个关键特征的高层表示在网络中进行组合,得到包含颜色特征和纹理特征的混合特征向量能有效提升算法的性能。3.由于行人再识别的训练数据获取困难,常常是研究人员安排特定场景后人工设计,然后经过大量的、枯燥繁重的人工挑选、标注而得到的数据,而且这方面的公开数据库的样本量都是非常有限的。通过从海量的视频数据中提取到大量的行人样本,对提取到的样本进行粗略的自动归类整理,然后利用这些整理后的数据对已经训练好的模型进行再一次的修正,有效挖掘了海量视频数据的信息使得算法模型具有更强的健壮性、鲁棒性和普适性。
【关键词】:
【学位授予单位】:西安电子科技大学【学位级别】:硕士【学位授予年份】:2015【分类号】:TP391.41【目录】:
摘要5-7ABSTRACT7-12符号对照表12-13缩略语对照表13-16第一章 绪论16-24 1.1 引言16-18 1.2 研究现状18-21
1.2.1 行人再识别概述18-20
1.2.2 行人再识别应用前景20
1.2.3 行人再识别研究难点20-21 1.3 行人再识别研究的方法和现状21-22 1.4 本文组织结构22-24第二章 相关算法介绍24-40 2.1 神经网络24-32 2.2 卷积和池化32-36
2.2.1 卷积33
2.2.2 池化33-36 2.3 相关数据库36-38 2.4 本章小结38-40第三章 基于三元组特征增强的matching-CNN40-54 3.1 将二值决策问题转换为排序问题41-42 3.2 相似性度量函数42-45
3.2.1 传统的对比损失的相似性度量函数43
3.2.2 基于三元组的相似性度量函数43-45 3.3 matching-CNN网络架构45-48 3.4 特征增强48 3.5 实验结果及分析48-53 3.6 本章小结53-54第四章 多种特征的特征增强向量相组合54-66 4.1 对HSV颜色特征的特征增强54-57 4.2 对LBP纹理特征的特征增强57-60 4.3 多特征的组合60-61 4.4 实验结果及分析61-65 4.5 本章小结65-66第五章 利用无标签非结构化视频数据的网络微调66-76 5.1 无标签视频数据66-67 5.2 获取可供训练的行人样本67-71
5.2.1 提取行人样本67-70
5.2.2 对行人样本进行快速整理70-71 5.3 对网络进行微调71-72 5.4 实验结果及分析72-74 5.5 本章小结74-76第六章 总结与展望76-80 6.1 本文小结76-77 6.2 展望77-80参考文献80-86致谢86-88作者简介88
欢迎:、、)
支持CAJ、PDF文件格式
【相似文献】
中国硕士学位论文全文数据库
徐志敏;[D];西安电子科技大学;2015年
&快捷付款方式
&订购知网充值卡
400-819-9993Patent CNA - 基于深度学习的自然场景多语言文本检测方法 - Google PatentsCN AApplicationCN Mar 15, 2017Nov 7, 2016Nov 7, 2016.6, CN
A, CN A, CN , CN-A-, CN A, CNA, CN, CN.6, , ,
(2) , 基于深度学习的自然场景多语言文本检测方法
本发明公开了基于深度学习的自然场景多语言文本检测方法,包括步骤为:转为灰度图片,构建ER树,获取LER,移除其中重复的LER,区分文字和背景杂质,种子生长、聚类,用随机森林进行文本识别。其中,区分文字和背景杂质时,使用了两阶段CNN,其中一阶 CNN用于将背景杂质与类文字符号Symbol区分开来;二阶CNN用于将类文字符号Symbol细划分为中文、英文以及标识符Sign,并去除其中的标识符Sign,使含有中文和英文的组件被保留下来。采用上述方法后,能够检测自然场景下的多语言文本以及断裂的文字。另外,与现有技术相比,本技术在自然场景下拥有较好的鲁棒性,对于多语言的复杂环境下也能较好适用,同时有不低于现有技术的检测速度。
1. 一种基于深度学习的自然场景多语言文本检测方法,其特征在于:包括如下步骤:
步骤1,转为灰度图片:输入待检测图片,并将该输入的待检测图片转化为灰度图片I;
步骤2,构建ER树:根据阈值从步骤1转化后的灰度图片I上获取若干张二值图片,每张 二值图片对应若干个ER,将所有ER通过它们在二值图片中的包含关系,将其组成一棵树,称 之为ER树;该ER树满足如下性质:
Vq e q e R;
其中,Ri和Rj为ER树上相连的两个节点,且Ri表示父节点,Rj表示子节点;p和q都代表 二值图片中像素的坐标;
所构建的ER树中的二值图片和ER定义解释如下:
1) 二值图片:根据阈值t从灰度图片I上获取得到,该二值图片由如下公式进行定义:
其中,P代表图片中的像素坐标:I (P)表示灰度图I上坐标P的像素值;Bt (p)表示二值图 片上坐标P的像素值;
2. ER:步骤1中的灰度图片I具有η个阈值,每个阈值均能获取一张二值图片,每张二值 图片对应若干个极值区域ER;每个ER均拥有一个属性L假定区域R为阈值t所对应的极 值区域ER,也即区域R的属性Level值等于阈值t,则每个ER均需满足下述公式:
Vq g R, \/p e boundary(R) -& B^q) & B,(p)
其中q和P都代表二值图片中的像素坐标;boundary (R)表示区域R的周围像素;Bt (q)表 示二值图片上坐标q的像素值;Bt (p)表示二值图片上坐标p的像素值;
步骤3,获取LER:将步骤2构建的ER树,使用如下所示公式获取二值图片上的所有LER;
其中,Q代表一个LER,也即为ER树上若干个极值区域ER的集合 Ra代表ER树上的节点Rb代表ER树上的节点b; lv (Ra)表示Ra对应的属性L lv (Rb)表示Rb对应的属性L ΡΛ (Ra)代表与Ra相差Λ个属性Level的祖先;ρλ (Rb)代表与Rb相差Λ个属性Level的祖先;
每个LER中的所有ER的属性Level均相等,且它们在ER树上拥有一样的祖先;
另外,上述获取的每个LER还需满足如下公式:
| centroid (Ra) -centroid (Rb) | 12&r (Ra) +r (Rb)
其中r (R)表示区域R的最小外接圆的半径,r (Ra)表示区域1的最小外接圆半径;r (Rb) 表示区域Rb的最小外接圆半径;centroid (Ra)表示区域Ra的矩心;centroid (Rb)表示区域Rb 的矩心;
步骤4,移除其中重复的LER:当有两个LER,分别为q和q。;其中q。中的所有极值区域ER都 是q中所有极值区域ER的孩子,则有如下公式表示两个LER的相似度:
式中,stable (q,qc)表示q和qc的相似度,当stable (q,qc)小于相似度设定值时,贝lj认为
两个LER重复,仅保留一个LER,将另一个重复LER进行移除;然后将保留下来的LER所对应的 所有ER截取出来,并全部等比例缩放为一个设定尺寸的二值化图片,等比例缩放后的二值 化图片称之为组件;
步骤5,区分文字和背景杂质:使用两阶段的卷积神经网络CNN来区分步骤4形成的组件 中的文字和背景杂质;两阶段的卷积神经网络CNN为一个包含两个CNN的框架,其中第一个 CNN用于将背景杂质与类文字符号Symbol区分开来;第二个CNN用于将类文字符号Symbol细 划分为中文、英文以及标识符Sign,并去除其中的标识符Sign,使含有中文和英文的组件被 保留下来;
步骤6,种子生长、聚类:将步骤5保留下来的中文和英文组件使用种子生法长Seed growing进行回溯寻找被错误过滤的组件;然后,将被错误过滤的组件通过聚类法形成组件 串;
步骤7,用随机森林进行文本识别:使用随机森林法来判别步骤6中形成的组件串是否 为文本,若判别后不是文本则将其进行过滤;若判别后为文本,则将其进行保留;这里被保 留下来的组件串以及步骤5中保留下来的含有中文和英文的组件,即为输出的最终多语言 检测结果。
2. 根据权利要求1所述的基于深度学习的自然场景多语言文本检测方法,其特征在于: 步骤2中,当灰度图片I为8位深度时,则该8位深度的灰度图片I具有256个阈值,也即η = 256〇
3. 根据权利要求2所述的基于深度学习的自然场景多语言文本检测方法,其特征在于: 步骤3中,祖先与ER的属性Level的差需要小于一个设定值,该设定值为11。
4. 根据权利要求1所述的基于深度学习的自然场景多语言文本检测方法,其特征在于: 所述步骤4中,stable (q,q。)小于相似度设定值,相似度设定值取值为0.3,当stable (q,q。) 小于0.3时,则判定为两个LER重复。
5. 根据权利要求1所述的基于深度学习的自然场景多语言文本检测方法,其特征在于: 步骤4中,二值化图片在等比例缩放时的设定尺寸32x32。
基于深度学习的自然场景多语言文本检测方法
[0001] 本发明涉及图像处理技术领域,特别是一种基于深度学习的自然场景多语言文本 检测方法。
[0002] 目前,自然场景下的多语言文本检测方法主要分为MSER方法和非MSER方法。前者 主要通过MSER来提取多语言文本中的连通区域。然而在实际应用中,多语言中的连通区域 与杂乱的背景较难区分。后者包括SWT和滑动窗口方法,SWT方法较难处理模糊的场景文本, 而滑动窗口对倾斜文本需要较多的处理步骤。本技术中使用了一种新型的文本提取方法一 可连接的极值区域(Linked Extremal Region,LER)。这种方法可以将多语言文本以非连通 区域的形式提取出来,方便后面的识别处理。之后本方法使用两阶段CNN来区分文字和背景 杂质。本方法能够检测自然场景下的多语言文本以及断裂的文字。
[0003] 本发明要解决的技术问题是针对上述现有技术的不足,而提供一种基于深度学习 的自然场景多语言文本检测方法,该基于深度学习的自然场景多语言文本检测方法能将多 语言文本以非连通区域的形式提取出来,方便后面的识别处理。同时,使用两阶段CNN来区 分文字和背景杂质,因而能够检测自然场景下的多语言文本以及断裂的文字。
[0004] 为解决上述技术问题,本发明采用的技术方案是:
[0005] -种基于深度学习的自然场景多语言文本检测方法,包括如下步骤。
[0006] 步骤1,转为灰度图片:输入待检测图片,并将该输入的待检测图片转化为灰度图 片Ιο
[0007] 步骤2,构建ER树:根据阈值从步骤1转化后的灰度图片I上获取若干张二值图片, 每张二值图片对应若干个ER,将所有ER通过它们在二值图片中的包含关系,将其组成一棵 树,称之为ER树;该ER树满足如下性质:
[0009] 其中,Ri和Rj为ER树上相连的两个节点,且Ri表示父节点,Rj表示子节点;P和q都 代表二值图片中像素的坐标。
[0010] 所构建的ER树中的二值图片和ER定义解释如下。
[0011] 1)二值图片:根据阈值t从灰度图片I上获取得到,该二值图片由如下公式进行定 义:
[0013] 其中,p代表图片中的像素坐标:I(p)表示灰度图I上坐标p的像素值;Bt(p)表示二 值图片上坐标P的像素值。
[0014] 2) ER:步骤1中的灰度图片I具有η个阈值,每个阈值均能获取一张二值图片,每张 二值图片对应若干个极值区域ER;每个ER均拥有一个属性L假定区域R为阈值t所对应 的极值区域ER,也即区域R的属性Level值等于阈值t,则每个ER均需满足下述公式:
[0016] 其中q和p都代表二值图片中的像素坐标;boundary (R)表示区域R的周围像素;Bt
(q)表示二值图片上坐标q的像素值;Bt (p)表示二值图片上坐标p的像素值。
[0017] 步骤3,获取LER:将步骤2构建的ER树,使用如下所示公式获取二值图片上的所有
[0019] 其中,Q代表一个LER,也即为ER树上若干个极值区域ER的集合Ra代表ER树上 的节点a;Rb代表ER树上的节点b; lv (Ra)表示Ra对应的属性L lv (Rb)表示Rb对应的属性 Lρλ (Ra)代表与Ra相差Λ个属性Level的祖先;ρλ (Rb)代表与Rb相差Λ个属性Level的 祖先;
[0020] 每个LER中的所有ER的属性Level均相等,且它们在ER树上拥有一样的祖先;
[0021] 另外,上述获取的每个LER还需满足如下公式:
[0022] | centroid (Ra) -centroid (Rb) | 12^;r (Ra) +r (Rb)
[0023] 其中r (R)表示区域R的最小外接圆的半径,r (Ra)表示区域1^的最小外接圆半径;r
(Rb)表示区域Rb的最小外接圆半径;centroid (Ra)表示区域Ra的矩心;centroid (Rb)表示区 域Rb的矩心。
[0024] 步骤4,移除其中重复的LER:当有两个LER,分别为q和q。;其中q。中的所有极值区域 ER都是q中所有极值区域ER的孩子,则有如下公式表示两个LER的相似度:
[0026] 式中,stable (q,qc)表示q和qc的相似度,当stable (q,qc)小于相似度设定值时,则 认为两个LER重复,仅保留一个LER,将另一个重复LER进行移除;然后将保留下来的LER所对 应的所有ER截取出来,并全部等比例缩放为一个设定尺寸的二值化图片,等比例缩放后的 二值化图片称之为组件。
[0027] 步骤5,区分文字和背景杂质:使用两阶段的卷积神经网络CNN来区分步骤4形成的 组件中的文字和背景杂质;两阶段的卷积神经网络CNN为一个包含两个CNN的框架,其中第 一个C顯用于将背景杂质与类文字符号Symbol区分开来;第二个C顯用于将类文字符号 Symbol细划分为中文、英文以及标识符Sign,并去除其中的标识符Sign,使含有中文和英文 的组件被保留下来。
[0028] 步骤6,种子生长、聚类:将步骤5保留下来的中文和英文组件使用种子生法长 Seedgrowing进行回溯寻找被错误过滤的组件;然后,将被错误过滤的组件通过聚类法形成 组件串。
[0029] 步骤7,用随机森林进行文本识别:使用随机森林法来判别步骤6中形成的组件串 是否为文本,若判别后不是文本则将其进行过滤;若判别后为文本,则将其进行保留;这里 被保留下来的组件串以及步骤5中保留下来的含有中文和英文的组件,即为输出的最终多 语言检测结果。
[0030] 步骤2中,当灰度图片I为8位深度时,则该8位深度的灰度图片I具有256个阈值,也 即 n = 256。
[0031] 步骤3中,祖先与ER的属性Level的差需要小于一个设定值,该设定值为11。
[0032] 所述步骤4中,stable (q,qc)小于相似度设定值,相似度设定值取值为0.3,当 stable (q,q。)小于0.3时,则判定为两个LER重复。
[0033] 步骤4中,二值化图片在等比例缩放时的设定尺寸32x32。
[0034] 本发明采用上述方法后,能将多语言文本以非连通区域的形式提取出来,方便后 面的识别处理。同时,使用两阶段CNN来区分文字和背景杂质,因而能够检测自然场景下的 多语言文本以及断裂的文字。另外,与现有技术相比,本技术在自然场景下拥有较好的鲁棒 性,对于多语言的复杂环境下也能较好适用,同时有不低于现有技术的检测速度。
[0035]图1显示了本发明基于深度学习的自然场景多语言文本检测方法的流程示意图。
[0036] 图2显示了使用两个CNN区分文字和背景杂质的示意图。
具体实施方式
[0037] 下面结合附图和具体较佳实施方式对本发明作进一步详细的说明。
[0038]如图1所示,一种基于深度学习的自然场景多语言文本检测方法,包括如下步骤。 [0039] 步骤1,转为灰度图片:输入待检测图片,并将该输入的待检测图片转化为灰度图 片1〇
[0040] 步骤2,构建ER树:根据阈值从步骤1转化后的灰度图片I上获取若干张二值图片, 每张二值图片对应若干个ER,将所有ER通过它们在二值图片中的包含关系,将其组成一棵 树,称之为ER树;该ER树满足如下性质:
[0042] 其中,Ri和Rj为ER树上相连的两个节点,且Ri表示父节点,Rj表示子节点;p和q都 代表二值图片中像素的坐标。
[0043] 所构建的ER树中的二值图片和ER定义解释如下。
[0044] 1)二值图片:根据阈值t从灰度图片I上获取得到,该二值图片由如下公式进行定 义:
[0046] 其中,p代表图片中的像素坐标:I (p)表示灰度图I上坐标p的像素值;Bt (p)表示二 值图片上坐标P的像素值。
[0047] 2) ER:步骤1中的灰度图片I具有η个阈值,当灰度图片I为8位深度时,则该8位深度 的灰度图片I具有256个阈值,也即η = 256。
[0048] 每个阈值均能获取一张二值图片,每张二值图片对应一个极值区域ER;每个ER均 拥有一个属性L假定区域R为阈值t所对应的极值区域ER,也即区域R的属性Level值等 于阈值t,则每个ER均需满足下述公式:
[0050] 其中q和p都代表二值图片中的像素坐标;boundary(R))表示区域R的周围像素;Bt (q)表示二值图片上坐标q的像素值;Bt (p)表示二值图片上坐标p的像素值。
[0051] 步骤3,获取LER:将步骤2构建的ER树,使用如下所示公式获取二值图片上的所有
[0053] 其中,Q代表一个LER,也即为ER树上若干个极值区域ER的集合Ra代表ER树上 的节点a;Rb代表ER树上的节点b; lv (Ra)表示Ra对应的属性L lv (Rb)表示Rb对应的属性 Lρλ (Ra)代表与Ra相差Λ个属性Level的祖先;ρλ (Rb)代表与Rb相差Λ个属性Level的 祖先。
[0054] 每个LER中的所有ER的属性Level相等,且它们在ER树上拥有一样的祖先;祖先与 ER的属性Level的差需要小于一个设定值,该设定值优选设置为11。
[0055] 另外,上述获取的每个LER还需满足如下公式:
[0056] | centroid (Ra) -centroid (Rb) | 12^;r (Ra) +r (Rb)
[0057] 其中r (R)表示区域R的最小外接圆的半径,r (Ra)表示区域匕的最小外接圆半径;r (Rb)表示区域Rb的最小外接圆半径;centroid (Ra)表示区域Ra的矩心;centroid (Rb)表示区 域Rb的矩心。
[0058] 步骤4,移除其中重复的LER:当有两个LER,分别为q和其中q c中的所有极值区域 ER都是q中所有极值区域ER的孩子,则有如下公式表示两个LER的相似度:
[0000] 式中,stable (q,qc)表示q和qc的相似度,当stable (q,qc)小于相似度设定值时,贝1J 认为两个LER重复。这里的相似度设定值优选取值为0.3,当stable (q,q。)小于0.3时,则判 定为两个LER重复。
[0061] 这时,仅需保留一个LER,将另一个重复LER进行移除。然后将保留下来的LER所对 应的所有ER截取出来,并全部等比例缩放为一个设定尺寸的二值化图片,这里的设定尺寸 优选为32x32;等比例缩放后的二值化图片均称之为组件。
[0062] 步骤5,区分文字和背景杂质:使用两阶段的卷积神经网络CNN来区分步骤4形成的 组件中的文字和背景杂质;两阶段的卷积神经网络CNN为一个包含两个CNN的框架,其中第 一个C顯用于将背景杂质与类文字符号Symbol区分开来;第二个C顯用于将类文字符号 Symbol细划分为中文、英文以及标识符Sign,并去除其中的标识符Sign,使含有中文和英文 的组件被保留下来。
[0063] 步骤6,种子生长、聚类:将步骤5保留下来的中文和英文组件使用种子生法长 Seedgrowing进行回溯寻找被错误过滤的组件;然后,将被错误过滤的组件通过聚类法形成 组件串。
[0064] 步骤7,用随机森林进行文本识别:使用随机森林法来判别步骤6中形成的组件串 是否为文本,若判别后不是文本则将其进行过滤;若判别后为文本,则将其进行保留;这里 被保留下来的组件串以及步骤5中保留下来的含有中文和英文的组件,即为输出的最终多 语言检测结果。
[0065] 以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中 的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这 些等同变换均属于本发明的保护范围。
International ClassificationC06PublicationSE01 Rotate工具类服务
编辑部专用服务
作者专用服务
基于卷积神经网络的鲁棒性基音检测方法
在语音信号中,基音是一个重要参数,且有重要用途。然而,检测噪声环境中语音的基音却是一项难度较大的工作。由于卷积神经网络(Convolutional neural network, CNN)具有平移不变性,能够很好地刻画语谱图中的谐波结构,因此我们提出使用CNN 来完成这项工作。具体地,我们使用CNN来选取候选基音,再用动态规划方法(Dynamic programming, DP)进行基音追踪,生成连续的基音轮廓。实验表明,与其他方法相比,本文的方法具有明显的性能优势,并且对新的说话人和噪声有很好的泛化性能,具有更好的鲁棒性。
Abstract:
Pitch is an important characteristic of speech and is useful for many applications. However, pitch determination in noisy conditions is di?cult. Because shift-invariant property of convolutional neural network (CNN) is suitable to model spectral feature for pitch detection, we propose a supervised learning algorithm to estimate pitch using CNN. Specifically, we use CNN for pitch candidate selection, and dynamic programming (DP) for pitch tracking. Our experimental results show that the proposed method can obtain accurate pitch estimation and that it has a good generalization ability in terms of new speakers and noisy conditions.
ZHANG Xue-Liang
GAO Guang-Lai
作者单位:
内蒙古大学计算机学院 呼和浩特 010020
ISTICEIPKU
年,卷(期):
Keywords:
在线出版日期:
基金项目:
国家自然科学基金(63037)资助Supported by National Natural Science Foundation of China
本文读者也读过
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社Patent CNA - 一种基于快速r-cnn深度神经网络的车型识别方法 - Google PatentsCN AApplicationCN Dec 21, 2016Jul 15, 2016Jul 15, 2016.1, CN
A, CN A, CN , CN-A-, CN A, CNA, CN, CN.1, , , ,
(2) , 一种基于快速r-cnn深度神经网络的车型识别方法
本发明公开一种基于快速R-CNN深度神经网络的车型识别方法,主要包括无监督的深度学习、多层的CNN卷积神经网络、区域建议网络、网络共享、softmax分类器;实现了一个真正意义上的使用一个快速R-CNN网络实现端到端的车辆检测和识别的框架,并具有适用于车辆目标的形态多样性,光照变化多样性,背景多样性等环境下快速、高精度和鲁棒性的车辆子类识别。
1. 一种基于快速R-CNN深度神经网络的车型识别方法,其特征在于:包括一个用于深度 学习和训练识别的VGG网络、一个用于提取出感兴趣区域的区域建议网络和一个用于车型 分类的Sof tmax分类器;
所述的VGG网络,包括8个卷基层,3个全连接层,共计11层;8个卷基层中有5个组的卷积 层、2个分类层提取图像特征、1个分类层分类特征;3个全连接层分别连接分类层6、分类层7 和分类层8;
所述的区域建议网络,包括1个分类层、1个窗口回归层、1个计算分类损失的模块和1个 计算窗口回归损失的模块,输出P个感兴趣的建议框;
所述的Softmax分类器,将提取到的输入数据特征与学习训练得到特征库数据进行比 对,计算出每一个分类结果的概率,然后取概率最高的一个结果进行输出;
快速R-CNN深度神经网络,在所述的VGG网络的第5层末尾接入了所述的区域建议网络, 使得所述的区域建议网络共享所述的VGG网络的前5层的底层特征提取过程与结果;
所述的VGG网络的第6层和第7层根据所述的区域建议网络输出的p个感兴趣的建议框 内的图像特征进行卷积和ReLU处理,得到p个含有4096向量的特征图,接着分别送给分类层 和窗口回归层进行处理,实现车辆图像的分割;另一方面,所述的Softmax分类器对p个含有 4096向量的特征图进行分类识别,得到车辆车型的分类结果。
2. 如权利要求1所述的车型识别方法,其特征在于:所述的Softmax分类器,在学习训练 期间将快速R-CNN深度神经网络中的学习结果作为sof tmax分类器的输入数据;Sof tmax回 归是面向多类分类问题的Logistic回归,是Logistic回归的一般形式,适用于类别之间互 斥的情况;假设对于训练集{(^ 1),7(1),"_,^),7("))},有7 (14{1,2,"_,幻,对于给定的样 本输入X,输出一个k维的向量来表示每一种分类结果出现的概率为p(y = i|x),假设函数h (X)如下:
02,··^是模型的参数,并且所有的概率和为1;加入规则项后的代价函数为:
代价函数对第j个类别的第1个参数的偏导数为:
式中,j为类别数,m为训练集的类别数,?(7(1)=」|1(1);0))}为1分为类别」的概率,\为 规则项参数,也称为权重衰减项,该规则项参数主要是防止过拟合的;
最后,通过最小化J( Θ ),实现sof tmax的分类回归,将分类回归结果保存到特征库中; 在识别分类时,将提取到的输入数据特征与学习训练得到特征库数据进行比对,计算 出每一个分类结果的概率,然后取概率最高的一个结果进行输出。
3. 如权利要求1所述的车型识别方法,其特征在于:所述的区域建议网络,为了生成区 域建议框,在所述的VGG网络的第5层末尾接入了所述的区域建议网络,即在第5层的卷积层 输出的卷积特征映射图上滑动一个小网络,这个网络全连接到输入卷积特征映射的ηΧη的 空间窗口上;每个滑动窗口映射到一个低维向量上,低维向量为256-d,每个特征映射的一 个滑动窗口对应一个数值;这个向量输出给两个同级的全连接的层;一个窗口回归层和一 个分类层;窗口回归层输出每一个位置上,9种推荐区域对应窗口需要具有平移缩放不变 性,窗口回归层从256维特征中输出4个平移缩放参数,有4k个输出,即k个建议框的坐标编 码;分类层从256维特征中输出属于前景和背景的概率,输出2k个建议框得分,即对每个建 议框是车辆目标/非车辆目标的估计概率。
4. 如权利要求1或3所述的车型识别方法,其特征在于:区域建议网络的训练,给每个候 选区域分配一个二进制的标签,即是否是车辆对象;这里分配正标签给两类候选区域: (i) 与某个GT的包围区域有最高的交集并集之比,IoU,重叠的候选区域;
(ii) 与任意GT包围区域大于0.7的IoU交叠的候选区域;同时分配负标签给与所有GT包 围区域的I〇U比率都低于0.3的候选区域;
删去非正非负的候选区域;具体算法如下:
STEP31:顺序读取训练集中的每张图;
STEP32:对每个标定的真值候选区域,与其重叠比例最大的候选区域记为前景样本; STEP33::对STEP32剩余的候选区域,如果其与某个标定重叠,IoU比例大于0.7,记为前 景样本;如果其与任意一个标定的重叠比例都小于〇. 3,记为背景样本;
STEP34:对STEP32和STEP33剩余的候选区域弃去不用;
STEP35:对跨越图像边界的候选区域弃去不用。
5. 如权利要求或4所述的车型识别方法,其特征在于:为了自动进行候选区域的筛选和 区域位置精修,这里采用最小化目标函数;对一个图像的代价函数用公式(14)表示,
式中,i是一个批处理中候选区域的索引,Ncls为分类层的归一化系数,Nreg为窗口回归 层的归一化系数,λ为平衡权重,Pl为车辆目标的预测概率,?为GT标签,如果候选区域为正 /;丨==丨,如果候选区域为负g :=〇 ;ti为一个向量,表示预测的包围框的4个参数化坐标,为 与正候选区域对应的GT包围框的坐标向量,Uis为分类的对数代价,L reg为回归对数代价,L ({Ρι},{ω)为总的对数代价;
分类的对数代价Uls由公式(15)计算,
-^?ρ,Ρι +(1-/^)(1 -p u5}
窗口回归对数代价Lreg由公式(16)计算,
々真(;)=峨-*::& (丨6)
式中,R为定义的鲁棒的代价函数,属于Smooth L1误差,对离群值不敏感,用公式(17) 计算,
公式(14)中的这一项意味着只有正候选区域,即p -埘才有回归代价,其 他情况由于没有回归代价;分类层和窗口回归层的输出分别由{pd和Hi}组成,这两 项分别由Ncis和Nreg以及一个平衡权重λ归一化,这里选择人=10其1 3 = 256具(^ = 2400,通过 这样的选择分类层和窗口回归层项差不多是等权重的;
关于位置精修,这里采用4个值,中心坐标、宽度和高度,计算方法如下,
式中,x、y、w、h分别表示包围框中心坐标、宽度和高度,xa、ya、wa、hj别表示候选区域中 心坐标、宽度和高度,x'y'w'C分别表示预测的包围框中心坐标、宽度和高度;用公式
(18)的计算结果进行位置精修区域建议网络。
6. 如权利要求1所述的车型识别方法,其特征在于:所述的VGG网络,在标签车辆图像数 据上建立多层神经网络的方法,分为两步,一是每次训练一层网络,二是调优,使原始表示X 向上生成的高级表示r和该高级表示r向下生成的X'尽可能一致; 卷积神经网络的前向传播过程,上一层的输出即为当前层的输入,并通过激活函数逐 层传递,因此整个网络的实际计算输出用公式(4)表示,
〇p = Fn(---(F2(Fl(Xffl)ff2)---)ffn) (4)
式中,X表示原始输入,Fi表示第1层的激活函数表示第1层的映射权值矩阵,0P表示 整个网络的实际计算输出;
当前层的输出用公式(5)表示,
X^fHffV^+b1) (5)
式中,1代表网络层数,X1表示当前层的输出,χκ表示上一层的输出,即当前层的输入, W1代表已经训练好的、当前网络层的映射权值矩阵,b1为当前网络的加性偏执,f1是当前网 络层的激活函数;采用的激活函数f 1为纠正线性单元,即ReLU,用公式(6)表示,
式中,1代表网络层数,W1代表已经训练好的、当前网络层的映射权值矩阵,f1是当前网 络层的激活函数;其作用是如果卷积计算结果小于0,则让其为0;否则保持其值不变。
7. 如权利要求1或6所述的车型识别方法,其特征在于:所述的VGG网络,前5层是一个典 型的深度卷积神经网络,该神经网络训练是一个反向传播过程,通过误差函数反向传播,利 用随机梯度下降法对卷积参数和偏置进行优化调整,直到网络收敛或者达到最大迭代次数 停止; 反向传播需要通过对带有标签的训练样本进行比较,采用平方误差代价函数,对于c个 类别,N个训练样本的多类别进行识别,网络最终输出误差函数用公式(7)来计算误差,
式中,ENS平方误差代价函数,t〗为第n个样本对应标签的第k维,y;;为第η个样本对应网 络预测的第k个输出;
对误差函数进行反向传播时,采用BP算法类似的计算方法,如公式(8)所示,
式中,δ1代表当前层的误差函数,δ1+1代表上一层的误差函数,W1+1为上一层映射矩阵,f' 表示激活函数的反函数,即上采样,u1表示未通过激活函数的上一层的输出,χΚ表示下一 层的输入,W 1为本层映射权值矩阵;
通过误差反向传播后,得到各个网络层的误差函数S1,然后采用随机梯度下降法对网络 权值W1进行修改,再进行下一次迭代,直至网络达到收敛条件;在进行误差传递时需要先通 过公式(8)中的上采样使得前后两层尺寸相同,再进行误差传递;
算法思想是:1)首先逐层构建单层神经元,这样每次都是训练一个单层网络;2)当所有 层训练完后,使用wake-sleep算法进行调优;
深度学习训练过程具体如下:
STEP21:使用自下而上的非监督学习,即从底层开始,一层一层的往顶层训练,学习车 辆图像特征:先用无标签车辆图像数据训练第一层,训练时先学习第一层的参数,由于模型 容量的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输 入更具有表示能力的特征;在学习得到第1-1层后,将1-1层的输出作为第1层的输入,训练 第1层,由此分别得到各层的参数;
STEP22:自顶向下的监督学习,即通过带标签的车辆图像数据去训练,误差自顶向下传 输,对网络进行微调。
8. 如权利要求1所述的车型识别方法,其特征在于:所述的VGG网络的前5层的模型初始 化:主要分为数据准备、计算图像均值、网络的定义、训练和恢复数据5个步骤; 1) 数据准备;收集各类车型的图像数据,得到的基本上是带有标签的车辆图像数据,将 其作为训练图像数据;另一类数据是通过卡口摄像机获取的车辆图像数据;
2) 计算图像均值;从每张图片减去均值;
3 )网络的定义;主要定义xml标签路径、图片的路径、存放train .txt、val.txt、 test · txt和trainval · txt文件的路径;
4) 训练;运行训练模块;
5) 恢复数据;删除前ReLu5的层,并将roi_pool5的bottom改为data和
经过上述处理完成了车辆车型预训练的模型初始化工作。
9. 如权利要求1或8所述的车型识别方法,其特征在于:所述的区域建议网络利用了所 述的VGG网络的前5层底层特征提取结果,即两个网络共享了所述的VGG网络的前5层底层特 征,需要通过交替优化来学习优化共享的特征;具体算法如下: STEP41:用区域建议网络的优化训练区域建议网络,用所述的数据准备、计算图像均 值、网络的定义、训练和恢复数据5个步骤完成模型初始化,并端到端微调用于区域建议任 务;
STEP42:用STEP 1的区域建议网络生成的建议框,由快速R-CNN训练一个单独的检测网 络,这个检测网络同样是由车辆车型预训练的模型初始化的,这时候两个网络还没有共享 卷积层;
STEP43:用检测网络初始化区域建议网络训练,固定共享的卷积层,并且只微调区域建 议网络独有的层,这时两个网络共享卷积层了;
STEP44:保持共享的卷积层固定,微调快速R-CNN的分类层;这样,两个网络共享相同的 卷积层,最终构成一个统一的网络。
10.如权利要求1所述的车型识别方法,其特征在于:车辆车型视觉识别主要流程如下; STEP51:读取待识别图像;
STEP52:对待识别图像进行归一化处理,得到RGB三个不同颜色224 X 224归一化的图像 数据;
STEP53:将RGB三个不同颜色224 X 224归一化的图像数据输入到三个CNN通道,经5层卷 积处理得到车辆车型特征图像数据;
STEP54:对车辆车型特征图像数据通过区域建议网络生成的建议框,选取一个最高得 分的建议框,即得到一个感兴趣区域,R〇I;将这个R〇I通过最大池化5层进行处理得到一个6 X6X256RoI的卷积图;
STEP55:将Ro I的卷积图输出给两个同级的全连接的层处理后得到4096维的特征向量, 作为sof tmax分类器的输入数据;
STEP56:对4096维的特征向量用softmax的分类回归分析得到车辆车型识别结果,识别 出被测图像中的车辆属于哪一款车型。
一种基于快速R-CNN深度神经网络的车型识别方法
[0001] 本发明涉及计算机技术、模式识别、人工智能、应用数学以及生物视觉技术在智能 交通领域的应用,尤其涉及一种基于快速R-CNN深度神经网络的车型识别方法。
[0002] 智能交通系统中的核心功能是对过往车辆的准确检测和正确的车型识别。当前对 车辆检测分类技术的研究主要有两个重要技术:即车辆自动识别和车辆自动分类。
[0003] 车辆自动识别是利用车载设备与地面基站设备互识进行,该技术主要用于收费系 统中,在一些技术发达国家使用范围较广,如美国的AE-PASS系统、日本的ETC系统,全球卫 星GPS定位等。
[0004] 车辆自动分类是通过检测车辆本身固有的参数,在一定车辆分类标准下运用适当 的分类识别算法,主动地对车辆进行分型,这一类技术应用比较广泛,己经有很多成熟的系 统应用在实际生活中,该类技术可以通过射频微波、红光、激光、声表面波等方式来自动识 别车辆信息,也可以使用视频图像处理的方式来识别车牌、车型等车辆信息。
[0005] 车辆自动分类比较成熟技术有环形线圈检测、激为红外线检测、超声波/微波检 测、地磁检测等,但这几种方法各有优劣,优点是识别精确比较高,但缺点也很明显,主要缺 点有施工和安装过程十分复杂,影响正常交通秩序,维护困难,主要设备易损坏,花费较大 等。
[0006] 近年来,视频检测技术己成为智能交通领域最重要的信息采集手段,综合评比,将 视频检测技术应用于高速公路和城市道路具有极大的实际应用价值,基于视频车型识别系 统,将全面提升城市道路的信息采集和安全管理的水平,在智能交通系统中会发挥越来越 重要的作用。
[0007] 车型的视觉识别,国内外很多学者进行了相关研究。论文"Robert T. Collins, Alan JoLipton,Hironobu Fujiyoshi, and Takeo Kanade.Algorith rns For cooperative multisensor surveillanee. In Proceedings of the IEEE"披露了一个路 上移动目标的检测、跟踪、识别系统,用训练过的神经网络来识别运动目标是人、人群、车辆 还是干扰,网络的输入特性量有目标的分散性度量、目标大小目标表面大小与摄影机监视 区域大小的相对值。车辆又进一步区分为不同类型和颜色。论文"TieniuN.Tan and Keith D.Baker Efficient image gradient based vehicle localization. IEEE Transaction on Iimage Proeessing,): ." 描述了一种车辆定位和识别的方法,在一 个小窗口内,该方法依据图像梯度进行。利用地面约束以及大部分车辆外形受两条直线约 束的事实,可得到车辆的姿态。论文"George Fung, NelsonYung, and Granthajm Pang.Vehicle shape approximation from motion for visual traffic surveillance. In Proc. IEEE Conf. Intelligent Transport System, ,用 高精度摄像机观察车辆的运动来估计车辆形状,通过估计特征点得到车辆轮廓。基本思想 是高特征点的移动速度大于低特征点的移动速度,因为高特征点离摄像机近,车辆轮廓可 用与车辆识另丨J 〇论文 "Ferryman,A.Worral,G. Sullivan,Ko Baker,A generic deformable model for Vehicle recognition,Proeeeding of British Machine Vision Conference,6提出了一个参数化的可变形三维模板,该模板通过演变,据称 是可适用于各种车辆识别。论文"Larry Davis,V.Philomin and R.Duralswami.Tracking humans from a moving platform. In Proc.Intematl on Conference on Pattern Recognition,2000用变形模板来研究车辆识别,首先,建立目标车辆车头部分的侧视图 以及正视图的变形模板。通过直方图交集,车辆的RGB直方图也必须比较,合适的车型模板 边的点集也通过点集间的Hausdorff距离与其他车辆模板进行比较。上述技术基本上还需 要人工来完成特征抽取,更大的问题是:1)受具体应用环境的影响太大,各类检测算法要求 的条件太苛刻;2)车辆种类繁多但差别不大,没有明显的区别特征;3)受视觉变化的影响 大,从不同角度所摄的汽车特征差别大;4)受自然环境影响太大,特别是光照影响,严重的 光照反射使得车辆轮廓线不分明,颜色偏离、变化太大,难以辨认;5)汽车的外形更新太快, 特征变化太快,使得算法适应性较差。国内在车型识别技术方面大多数仍停留在研究状态, 如中国科学院、西安公路所、上海交通大学、西安交通大学、四川大学等一些研究成果。其关 键问题是人类本身对车型识别过程的知识限制。
[0008] 用来进行车辆分类的特征需要对尺度、旋转以及一定的角度变换、光照变化都有 很好的鲁棒性,前深度学习时代的计算机视觉技术一般都是人工花费大量时间和精力去设 计合适的特征。为了能让计算机自动选择合适特征,人工神经网络就应运而生了,早在1999 年就有国外的研究者利用神经网络对物体进行分类,包括了模糊神经网络和BP网络等方 法;但由于其性能存在诸多问题,如难以解决模式识别中存在的复杂性和推广性的矛盾,神 经网络虽然有强大的建模能力,但对诸如车型大规模图像进行分类,其巨大的参数空间使 寻找优良的优化初始值较为困难等,因此被人们冷落了很长时间,直到深度学习的提出才 又重新成为研究热点。
[0009] 在图像分类领域,对数量庞大的图像分类主要有两种方法:一种为提取每张照片 的局部特征,将提取的特征进行聚类和编码得到一个高维向量,然后将其用分类器分类。其 中编码的方法有视觉词袋模型编码,稀疏编码和费舍尔向量编码等,从目前研究结果来看 费舍尔向量编码的性能较其他几种编码方式要好。另一种应用很广的图像分类方法是深度 神经网络,深度学习是神经网络研究中的一个新的热点,其目的在于通过非监督的预训练 为神经网络提供优良的参数初始值,通过贪婪的方式,一层一层的训练,对大规模图像分类 取得非常好的效果。
[0010] 深度学习的概念开始引起人们的注意是在大约2006年前后,论文"Hinton, G.E.and R.R.SalakhutdinovjReducing the dimensionality of data with neural networks .Science ,6): 504-507"提出了 一种多层的前向神经网络能够逐层 做高效的前期训练,采用无监督的限制性玻尔兹曼机对每一层进行训练,最后在利用有监 督的后向传播做微调,为解决模式识别中存在的复杂性和推广性的矛盾提供了一种新的方 法和思路,这样就拉开了深度学习时代的计算机视觉技术序幕。
[0011] 卷积神经网络,即CNN,是深度学习算法的一种,是专门处理图像领域中的模式识 另Ij,同时也是目前图像模式识别中成果最惊人的算法。卷积神经网络算法的好处在于训练 模型的时候不需要使用任何人工特征,算法可以自动探索图像所隐含的特征。
[0012] 申请号为.2的中国专利申请公开了一种车型识别方法及系统,包括 了机器训练生成分类器过程和对待测图片的判别过程,在生成分类器的过程中,基于车牌 确定训练集图片中所需要的图像范围,将已经确定的图像范围划分区域,选定各区域内的 特征信息,分别将选定的各自区域内所有特征信息投入机器训练生成一一对应各区域的分 类器,通过已经生成的分类器对待测图片进行单区域判别,依据单区域判别结果再经过多 区域置信度融合判断得到车型识别结果。该发明采用随机深林分类器进行车型识别,最大 的问题是缺少无监督的学习过程。
[0013] 申请号为.7的中国专利申请公开了一种车型识别方法,所述方法包 括:获取待检测图片;采用第一预设分类器对所述待检测图片进行检测;若所述待检测图片 中含目标车辆,提取所述待检测图片中的目标车辆;对所述目标车辆进行对齐处理,以使得 所述目标车辆的车头方向与所述目标区域的垂直方向之间的夹角小于预设阈值;对所述对 齐处理之后的目标车辆进行特征提取,以得到M个特征,所述M为大于1的整数;采用第二预 设分类器对所述M个特征进行分类;根据所述分类的结果确定所述目标车辆的车型。从某种 意义上说,该发明仍然属于浅神经网络,在架构上就难以实现无监督的学习过程。
[0014]申请号为.4的中国专利申请提出了一种基于卷积神经网络的车型 识别方法,基于特征提取模块与车型识别模块,包括以下步骤:通过设计卷积与池化层,全 连接层,分类器来构建车型识别的神经网络,其中卷积与池化层和全连接层用来提取车型 特征,分类器用来车型分类识别;利用包含不同车型特征的数据库训练该神经网络,训练方 式为带标签的数据进行的有监督的学习,并用随机梯度下降法进行权重参数矩阵和偏移量 的调整;得到训练好的各层中的权重参数矩阵和偏移量,把它们对应地赋值给该神经网络 中的各个层,则该网络具有车型特征提取及识别的功能。该发明缺少比较详细的实现细节, 只是从概念上提出了基于卷积神经网络的车型识别方法,尤其是训练方式为带标签的数据 进行的有监督的学习。车辆的外形图像量属于海量数据,要对这些图像数据进行标注是一 个极其困难的事情;此外车辆的外形更新太快造成特征变化快,所以造成该发明中的一些 算法难以满足实际应用。此外,实际路面釆集到的车型图像复杂;包括了背景复杂,车辆之 间的遮挡等干扰;若无对实际获得的图像进行分割处理,将会严重影响最终的识别结果。 [0015] 申请号为.5和.6的中国专利申请提出了一种基于深 度费舍尔网络的车型识别方法,首先构建费舍尔网络的第〇层,对有K种车型图像的数据库, 提取出每种车型车辆图像的SIFT特征;然后构建费舍尔网络的第1层,对提取到的SIFT特征 进行费舍尔向量编码,将编码后的向量在空间堆叠,再进行L2归一化和PCA降维;将第1层得 到的特征表示进行费舍尔向量编码,通过符号平方根和L2归一化处理,形成费舍尔网络的 第2层;最后将不同车型图像得到的全局特征表示用于线性支持向量机训练,得到具有K种 车型类别的识别系统;对待识别车辆,使其通过费舍尔网络得到测试特征向量,导入识别系 统即可识别出待识别车辆车型。该发明也有两个不足,其一是缺少深度学习过程,其二是缺 少对图像进行车辆分割处理步骤。
[0016]申请号为.4的中国专利申请提出了一种基于局部特征聚合描述符 的车型识别方法,首先提取车型数据库中车辆图像的SIFT特征;然后对所有车辆图像的 SIFT特征进行Kmeans聚类,形成K个聚类中心,得到具有K个视觉单词的字典;接着针对每张 车型图像将每个SIFT特征赋给离其最近的视觉单词;统计每个视觉单词周围的SIFT特征向 量与当前视觉单词的残差累积量,得到当前车辆图片的局部特征聚合描述符;最后,将训练 模块的n张车型图像的局部特征聚合描述符,通过量化编码,得到一个可索引的n类车型类 别的编码图像库;而对测试车辆图像,同样提取其局部特征聚合描述符,作为查询向量,导 入图像库进行索引,通过近似最近邻搜索方法进行匹配,识别出测试车辆车型。同样该发明 也有两个缺陷,其一是缺少深度学习,其二是缺少对图像进行车辆分割处理步骤。
[0017] 卷积神经网络在大货车、小货车、大巴、面包车、SUV和轿车识别上还是比较成功 的,但是在子类分类,如识别车的不同车型中的精度就远比不上大类分类的精度。通常来说 子类图像识别的困难一般在于两点:
[0018] (1)子类图像标注数据的获取十分困难,通常需要相关领域的专家进行标注。
[0019] (2)子类图像识别存在大的类内差别,如在车型识别中,车不同的观察角度,以及 小的类间差别。
[0020] 综上所述,采用卷积神经网络等深度神经网络技术对车型识别,目前尚存在着如 下若干个棘手的问题:1)如何从复杂的背景中准确分割出被测车辆的整体图像;2)如何尽 可能采用极少的标签图像数据来准确获得车辆车型的特征数据;3)如何在车辆车型大类识 别基础上还能识别出是哪一款、哪种颜色、哪个年代出的车;4)如何通过深度学习来自动获 取车辆车型的特征;5)如何兼顾好识别精度和检测效率,同时尽可能减少训练和学习时间; 6)如何在分类器设计时,该分类器即能满足车辆车型子类的分类要求,又能在汽车的外形 更新后无需再重新对整个网络进行训练学习;7)如何设计一个真正意义上的使用一个CNN 网络实现端到端的车辆检测和识别的框架;8)如何降低天气条件的影响,增加系统的自适 应性。
[0021] 为了克服已有的车辆车型视觉识别技术中的自动化和智能化水平低、缺乏深度学 习、难以对适应环境天气变化、难以准确提取出用于识别的车辆整体图像、难以用视觉方式 对车辆车型子类进行识别分类、难以兼顾识别精度与时间和检测效率等不足,本发明提供 一种基于快速R-CNN深度神经网络的车型识别方法,能有效提高车型视觉识别的自动化和 智能化水平、能较好适应环境天气变化具有广泛的自适应性、能保证在较好的检测识别精 度基础上有实时检测识别能力、能大大减少对标签车辆数据的依赖具有自动学习和提取车 型特征的能力、能较好解决车型识别的复杂性和推广性的矛盾具有较佳的普适性。
[0022]要实现上述发明内容,必须要解决几个核心问题:(1)设计一种车辆对象的快速视 觉分割算法;(2)研发一种深度学习方法,实现无监督的车型特征提取;(3)设计一种适用于 上千种的类型子类的分类器,并具有扩展性;(4)设计一个真正意义上的使用一个快速R- CNN网络实现端到端的车辆检测和识别的框架。
[0023]本发明解决其技术问题所采用的技术方案是:
[0024] 一种基于快速R-CNN深度神经网络的车型识别方法,包括一个用于深度学习和训 练识别的VGG网络、一个用于提取出感兴趣区域的区域建议网络和一个用于车型分类的 Softmax分类器;
[0025] 所述的VGG网络,包括8个卷基层,3个全连接层,共计11层;8个卷基层中有5个组的 卷积层、2个分类层提取图像特征、1个分类层分类特征;3个全连接层分别连接分类层6、分 类层7和分类层8;
[0026]所述的区域建议网络,包括1个分类层、1个窗口回归层、1个计算分类损失的模块 和1个计算窗口回归损失的模块,输出P个感兴趣的建议框;
[0027]所述的Softmax分类器,将提取到的输入数据特征与学习训练得到特征库数据进 行比对,计算出每一个分类结果的概率,然后取概率最高的一个结果进行输出;
[0028]快速R-CNN深度神经网络,在所述的VGG网络的第5层末尾接入了所述的区域建议 网络,使得所述的区域建议网络共享所述的VGG网络的前5层的底层特征提取过程与结果; [0029]所述的VGG网络的第6和第7层根据所述的区域建议网络输出的p个感兴趣的建议 框内的图像特征进行卷积和ReLU处理,得到p个含有4096向量的特征图,接着分别送给分类 层和窗口回归层进行处理,实现车辆图像的分割;另一方面,所述的Softmax分类器对p个含 有4096向量的特征图进行分类识别,得到车辆车型的分类结果。
[0030] 所述的Softmax分类器,在学习训练期间将快速R-CNN中的学习结果作为softmax 分类器的输入数据;Sof tmax回归是面向多类分类问题的Log i s t i c回归,是Log i s t i c回归的 一般形式,适用于类别之间互斥的情况;假设对于训练集{(x(1),y(1),…,x (m),y(m))},有y(1)
G {1,2,…,k},对于给定的样本输入x,输出一个k维的向量来表示每一种分类结果出现的 概率为P(y = i |x),假设函数h(x)如下:
[,…0k是模型的参数,并且所有的概率和为1;加入规则项后的代价函数为:
[0033] (123
[0035] (13)
[0036] 最后,通过最小化J(0),实现softmax的分类回归,将分类回归结果保存到特征库 中;
[0037] 在识别分类时,将提取到的输入数据特征与学习训练得到特征库数据进行比对, 计算出每一个分类结果的概率,然后取概率最高的一个结果进行输出。
[0038] 所述的区域建议网络,为了生成区域建议框,在所述的VGG网络的第5层末尾接入 了所述的区域建议网络,即在第5层的卷积层输出的卷积特征映射图上滑动一个小网络,这 个网络全连接到输入卷积特征映射的n Xn的空间窗口上;每个滑动窗口映射到一个低维向 量上,低维向量为256-d,每个特征映射的一个滑动窗口对应一个数值;这个向量输出给两 个同级的全连接的层;一个窗口回归层和一个分类层;窗口回归层输出每一个位置上,9种 推荐区域对应窗口需要具有平移缩放不变性,窗口回归层从256维特征中输出4个平移缩放 参数,有4k个输出,即k个建议框的坐标编码;分类层从256维特征中输出属于前景和背景的 概率,输出2k个建议框得分,即对每个建议框是车辆目标/非车辆目标的估计概率。
[0039] 区域建议网络的训练,给每个候选区域分配一个二进制的标签,即是否是车辆对 象;这里分配正标签给两类候选区域:(i)与某个GT的包围区域有最高的交集并集之比, I〇U,重叠的候选区域;(ii)与任意GT包围区域大于0.7的IoU交叠的候选区域;同时分配负 标签给与所有GT包围区域的IoU比率都低于0.3的候选区域;删去非正非负的候选区域;具 体算法如下:
[0040] STEP31:顺序读取训练集中的每张图;
[0041] STEP32:对每个标定的真值候选区域,与其重叠比例最大的候选区域记为前景样 本;
[0042] STEP33::对STEP32)剩余的候选区域,如果其与某个标定重叠,IoU比例大于0.7, 记为前景样本;如果其与任意一个标定的重叠比例都小于0.3,记为背景样本;
[0043] STEP34:对STEP32和STEP33剩余的候选区域弃去不用;
[0044] STEP35:对跨越图像边界的候选区域弃去不用。
[0045] 为了自动进行候选区域的筛选和区域位置精修,这里采用最小化目标函数;对一 个图像的代价函数用公式(14)表示,
[0047]式中,i是一个批处理中候选区域的索引,Ncls为分类层的归一化系数,Nreg为窗口 回归层的归一化系数,A为平衡权重,Pl为车辆目标的预测概率,i为GT标签,如果候选区域 为正g =1,如果候选区域为负' =0出为一个向量,表示预测的包围框的4个参数化坐标, &为与正候选区域对应的GT包围框的坐标向量,Lcls为分类的对数代价,L reg为回归对数代 价,以{?1},{^})为总的对数代价;
[0048]分类的对数代价Lcis由公式(15)计算,
[0050]窗口回归对数代价Lreg由公式(16)计算,
[0052] 式中,R为定义的鲁棒的代价函数,属于Smooth Ll误差,对离群值不敏感,用公式 (17)计算,
[0054] 公式(14)中的这一项意味着只有正候选区域,即时才有回归代 价,其他情况由亍
没有回归代价;分类层和窗口回归层的输出分别由化:丨和丨^丨组 成,这两项分别由Ncis和Nreg以及一个平衡权重人归一化,这里选择人=10,Nci s = 256 ,Nreg = 2400,通过这样的选择分类层和窗口回归层项差不多是等权重的;
[0055] 关于位置精修,这里采用4个值,中心坐标、宽度和高度,计算方法如下,
[0057] 式中,x、y、w、h分别表示包围框中心坐标、宽度和高度,xa、ya、wa、ha分别表示候选 区域中心坐标、宽度和高度,x'y'w'P分别表示预测的包围框中心坐标、宽度和高度;用 公式(18)的计算结果进行位置精修;实际上,并没有显式地提取任何候选窗口,完全使用区 域建议网络自身完成判断和位置精修。
[0058]所述的VGG网络,在标签车辆图像数据上建立多层神经网络的方法,分为两步,一 是每次训练一层网络,二是调优,使原始表示X向上生成的高级表示r和该高级表示r向下生 成的X '尽可能一致;
[0059] 卷积神经网络的前向传播过程,上一层的输出即为当前层的输入,并通过激活函 数逐层传递,因此整个网络的实际计算输出用公式(4)表示,
[0060] 0P = Fn(---(F2(Fi(Xffi)W2)--Offn) (4)
[0061]式中,X表示原始输入,F1表示第1层的激活函数,W1表示第1层的映射权值矩阵,O p 表示整个网络的实际计算输出;
[0062] 当前层的输出用(5)表示,
[0063] X1IfHw1X1-kb1) (5)
[0064] 式中,1代表网络层数,X1表示当前层的输出,X1^1表示上一层的输出,即当前层的 输入,W 1代表已经训练好的、当前网络层的映射权值矩阵,b1为当前网络的加性偏执,f1是当 前网络层的激活函数;采用的激活函数f 1为纠正线性单元,即ReLU,用公式(6)表示,
[0066] 式中,1代表网络层数,W1代表已经训练好的、当前网络层的映射权值矩阵,f1是当 前网络层的激活函数;其作用是如果卷积计算结果小于〇,则让其为〇;否则保持其值不变。 [0067]所述的VGG网络,前5层是一个典型的深度卷积神经网络,该神经网络训练是一个 反向传播过程,通过误差函数反向传播,利用随机梯度下降法对卷积参数和偏置进行优化 调整,直到网络收敛或者达到最大迭代次数停止;
[0068] 反向传播需要通过对带有标签的训练样本进行比较,采用平方误差代价函数,对 于c个类别,N个训练样本的多类别进行识别,网络最终输出误差函数用公式(7)来计算误 差,
[0070] 式中,EnS平方误差代价函数,t】为第n个样本对应标签的第k维,y〗为第n个样本 对应网络预测的第k个输出;
[0071] 对误差函数进行反向传播时,采用传统的BP算法类似的计算方法,如公式(8)所 示,
[0073] 式中,S1代表当前层的误差函数,S1+1代表上一层的误差函数,W 1+1为上一层映射矩 阵,f '表示激活函数的反函数,即上采样,U1表示未通过激活函数的上一层的输出,X1^1表示 下一层的输入,W 1为本层映射权值矩阵;
[0074] 通过误差反向传播后,得到各个网络层的误差函数S1,然后采用随机梯度下降法 对网络权值W1进行修改,再进行下一次迭代,直至网络达到收敛条件;在进行误差传递时需 要先通过公式(8)中的上采样使得前后两层尺寸相同,再进行误差传递;
[0075] 算法思想是:1)首先逐层构建单层神经元,这样每次都是训练一个单层网络;2)当 所有层训练完后,使用wake-sleep算法进行调优。
[0076]深度学习训练过程具体如下:
[0077] STEP21:使用自下而上的非监督学习,即从底层开始,一层一层的往顶层训练,学 习车辆图像特征:先用无标签车辆图像数据训练第一层,训练时先学习第一层的参数,由于 模型容量的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到 比输入更具有表示能力的特征;在学习得到第1-1层后,将1-1层的输出作为第1层的输入, 训练第1层,由此分别得到各层的参数;具体计算如公式(5)、(6)所示;
[0078] STEP22:自顶向下的监督学习,即通过带标签的车辆图像数据去训练,误差自顶向 下传输,对网络进行微调:具体计算如公式(7)、(8)所示;
[0079]基于STEP21得到的各层参数进一步微调整个多层模型的参数,这一步是一个有监 督训练过程;STEP21类似神经网络的随机初始化初值过程,由于深度学习的STEP21不是随 机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够 取得更好的效果。
[0080] 所述的VGG网络的前5层的模型初始化:主要分为数据准备、计算图像均值、网络的 定义、训练和恢复数据等5个步骤;
[0081] 1)数据准备;通过爬虫软件收集了各类车型的图像数据,得到的基本上是带有标 签的车辆图像数据,将其作为训练图像数据;另一类数据是通过卡口摄像机获取的车辆图 像数据;
[0082] 2)计算图像均值;模型需要从每张图片减去均值;
[0083] 3)网络的定义;主要定义xml标签路径、图片的路径、存放train, txt、vaI. txt、 test o txt和trainval o txt文件的路径;
[0084] 4)训练;运行训练模块;
[0085] 5)恢复数据;删除前ReLu5的层,并将roi_pool5的bottom改为data和
[0086]经过上述处理完成了车辆车型预训练的模型初始化工作。
[0087] 所述的区域建议网络利用了所述的VGG网络的前5层底层特征提取结果,即两个网 络共享了所述的VGG网络的前5层底层特征,需要通过交替优化来学习优化共享的特征;具 体算法如下:
[0088] STEP41:用区域建议网络的优化训练区域建议网络,用上述的数据准备、计算图像 均值、网络的定义、训练和恢复数据等5个步骤完成模型初始化,并端到端微调用于区域建 议任务;
[0089] STEP42:用STEPl的区域建议网络生成的建议框,由快速R-CNN训练一个单独的检 测网络,这个检测网络同样是由车辆车型预训练的模型初始化的,这时候两个网络还没有 共享卷积层;
[0090] STEP43:用检测网络初始化区域建议网络训练,固定共享的卷积层,并且只微调区 域建议网络独有的层,这时两个网络共享卷积层了;
[0091 ] STEP44:保持共享的卷积层固定,微调快速R-CNN的分类层;这样,两个网络共享相 同的卷积层,最终构成一个统一的网络。
[0092]本发明中,车辆车型视觉识别主要流程如下;
[0093] STEP51:读取待识别图像;
[0094] STEP52:对待识别图像进行归一化处理,得到RGB三个不同颜色224 X 224归一化的 图像数据;
[0095] STEP53:将RGB三个不同颜色224 X 224归一化的图像数据输入到三个CNN通道,经5 层卷积处理得到车辆车型特征图像数据;
[0096] STEP54:对车辆车型特征图像数据通过区域建议网络生成的建议框,选取一个最 高得分的建议框,即得到一个感兴趣区域,RoI;将这个RoI通过最大池化5层进行处理得到 一个6 X 6 X 256RoI的卷积图;
[0097] STEP55:将RoI的卷积图输出给两个同级的全连接的层处理后得到4096维的特征 向量,作为sof tmax分类器的输入数据;
[0098] STEP56:对4096维的特征向量用sof tmax的分类回归分析得到车辆车型识别结果, 识别出被测图像中的车辆属于哪一款车型。
[0099]本发明的有益效果主要表现在:
[0100] 1)提供了一种基于快速R-CNN深度神经网络的车型识别方法;
[0101] 2)研发一种深度学习方法,实现无监督的车型特征提取;
[0102] 3)设计一种适用于上千种的类型子类的分类器,并具有扩展性;
[0103] 4)实现了一个真正意义上的使用一个快速R-CNN网络实现端到端的车辆检测和识 别的框架,并具有适用于车辆目标的形态多样性,光照变化多样性,背景多样性等环境下快 速、高精度和鲁棒性的车辆子类识别。
[0104] 图1为边缘信息候选框的检测算法流程;
[0105] 图2为区域建议网络中的处理内容;
[0106] 图3为3种尺度和3种长宽比的滑动窗口示意图;
[0107]图4为区域建议网络的概要图;
[0108] 图5为区域建议框生成说明图;
[0109] 图6为快速R-CNN网络中的共享网络的说明图;
[0110] 图7为对实际道路上车辆通过区域建议网络处理后得到的候选区域;
[0111] 图8为用代价函数实现区域建议网络自身完成判断和位置精修示意图;
[0112] 图9为基于CNN的车型识别流程框图;
[0113] 图10为wake-sleep算法说明图;
[0114] 图11为VGG模型的CNN的车型识别流程框图;
[0115] 图12为快速R-CNN网络实现端到端的车辆检测和识别的训练过程图;
[0116] 图13为快速CNN网络实现端到端的车辆检测和识别流程概要图;
[0117] 图14为快速R-CNN网络实现端到端的车辆检测和识别的流程图。
具体实施方式
[0118] 下面结合附图对本发明的技术方案作进一步详细描述。
[0119] 实施例1
[0120] 参照图1~14,本发明解决其技术问题所采用的技术方案是:
[0121 ] (1)关于设计一种车辆对象的快速视觉分割算法;
[0122] 首先,设计一种车辆对象的快速视觉分割算法,即对车辆对象进行区域选择和定 位;
[0123] 为了对车辆目标的位置进行定位;由于车辆目标可能出现在图像的任何位置,而 且目标的大小、长宽比例也不确定,原有的技术是最初采用滑动窗口的策略对整幅图像进 行遍历,而且需要设置不同的尺度,不同的长宽比;这种穷举的策略虽然包含了目标所有可 能出现的位置,但是缺点也是显而易见的:时间复杂度太高,产生冗余窗口太多,这也严重 影响后续特征提取和分类的速度和性能;
[0124] 对于滑动窗口存在的问题,本发明提出了一种候选区域的解决方案;即预先找出 图中车辆目标可能出现的位置;由于候选区域利用了图像中的纹理、边缘、颜色等信息,能 保证在选取较少窗口的情况下保持较高的召回率;这样能有效降低后续操作的时间复杂 度,并且获取的候选窗口要比滑动窗口的质量更高;可选用的算法是选择性搜索,即 selective Search和边缘信息候选框,即edge B这些算法的核心是利用了人类视觉 的一眼"纵观全局",直接发现车辆目标在整幅图像中的"大概的位置";由于选择性搜索算 法耗时比较大,不适用与在线的车型识别与检测;本发明采用边缘信息候选框的检测算法。
[0125] 边缘信息候选框的检测算法思想是:利用边缘信息,确定候选框内的轮廓个数和 与候选框边缘重叠的轮廓个数,并基于此对候选框进行评分,进一步根据得分的高低顺序 确定由大小,长宽比,位置构成的候选区域信息;边缘信息候选框的检测算法流程如图1所 示;算法步骤如下:
[0126] STEPll:用结构深林边缘检测算法对原图像进行处理,得到的边缘图像,然后用非 极大值抑制算法对边缘图像进一步处理得到一个相对稀疏的边缘图像;
[0127] STEP12:将相对稀疏的边缘图像中近乎在一条直线上的边缘点,集中起来形成一 个边缘组,具体的做法是,不停地寻找8连通的边缘点,直到两两边缘点之间的方向角度差 值的和大于pi/2,这样便得到了 N多个边缘组Sl G S;
[0128] STEPl 3:用公式(1)计算两两边缘组之间的相似度,
[0129] a(Si,Sj)= I cos(9i-0ij)cos(9j-0ij) I Y(l)
[0130] 式中,0i和0」分别为两个边缘组的平均取向,Si和Sj分别表示两个边缘组,0ij为两 个边缘组的平均位置XdPx j之间的夹角,y为相似敏感系数,这里选择Y =2,a(Sl,Sj)两个 边缘组之间的相似度;为了提高计算效率,这里将相似度a( Sl,Sj)计算值超过阈值,Ts& 0.05的边缘组进行储存,其余均设置为零;
[0131] STEP14:给每一个边缘组赋予一个权值,权值计算方法由公式(2)给出,
[0133] 式中,T为从候选框的边缘开始到达Si的边缘组序列集合的路径,Wb(Si)为边缘Si 的权值,k为……,(参数解释);如果没有找到路径就将Wb(S1)设定为1;
[0134] STEP15:用公式(3)计算候选框的评分,
[0136] 式中,mi为对在边缘组Si中所有边缘p的大小mP的总和,Wb( Si)为边缘Si的权值,bw 和bh分别为候选框的宽度和高度,k为大小系数,这里定义k = l. 5;计算窗口内边缘个数进 行打分,最后排序打分来过滤掉低分的候选框;对于本发明主要应用于卡口车辆的提取,这 里就选择最高分的候选框作为被测车辆对象前景图像;
[0137] (2)关于研发一种深度学习方法,实现无监督的车型特征提取;
[0138] 由于车辆目标的形态多样性,光照变化多样性,背景多样性等因素使得设计一个 鲁棒的特征并不是那么容易;然而提取特征的好坏直接影响到分类的准确性;
[0139] 满足上述三个多样性需求的、鲁棒的车型特征提取必须通过无监督深度学习来实 现完成,逐层初始化是一个非常有用的解决方案;深度学习的实质,是通过构建具有很多隐 层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的 准确性;因此,本发明中通过以下两点来实现深度学习:1)模型结构的深度有5层~10多层 的隐层节点;2)通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从 而使分类或预测更加容易;
[0140] 本发明,提出了一种在非监督数据上,即无标签车辆图像数据上建立多层神经网 络的方法,简单的说,分为两步,一是每次训练一层网络,二是调优,使原始表示X向上生成 的高级表示r和该高级表示r向下生成的X'尽可能一致;
[0141] 卷积神经网络的前向传播过程,上一层的输出即为当前层的输入,并通过激活函 数逐层传递,因此整个网络的实际计算输出用公式(4)表示,
[0142] 0P = Fn(---(F2(Fi(Xffi)W2)--Offn) (4)
[0143] 式中,X表示原始输入,F1表示第1层的激活函数,W1表示第1层的映射权值矩阵,1 = 1,2,3…代表网络层数,Op表示整个网络的实际计算输出;
[0144] 当前层的输出用公式(5)表示,
[0145] X1 = THff1X1^b1) (5)
[0146] 式中,1代表网络层数,X1表示当前层的输出,XH表示上一层的输出,即当前层的 输入,W1代表已经训练好的、当前网络层的映射权值矩阵,b 1为当前网络的加性偏执,f1是当 前网络层的激活函数;本发明采用的激活函数f1为纠正线性单元,即Rectified Linear Units,ReLU,用公式(6)表示,
[0148] 式中,1代表网络层数,W1代表已经训练好的、当前网络层的映射权值矩阵,f1是当 前网络层的激活函数;其作用是如果卷积计算结果小于O,则让其为O;否则保持其值不变;
[0149] 在CNN中采用局部感受野以及权值共享的方法来进一步降低网络参数。所谓局部 感受野,指的是每种卷积核只与图像中的某个特定区域相连接,即每种卷积核只卷积图像 的一部分,接下来再在其他层中将这些局部卷积特征联系在一起,既符合图像像素在空间 上的关联性,又降低了卷积参数数量。而权值共享则是使得每种卷积核的权值均相同,通过 增加卷积核的种类来提取图像多方面特征;为了给车辆车型子类分类提供更多的细节特 征,本发明中适当地增加了卷积核的种类;
[0150] 卷积神经网络训练是一个反向传播过程,与传统的BP算法类似,通过误差函数反 向传播,利用随机梯度下降法对卷积参数和偏置进行优化调整,直到网络收敛或者达到最 大迭代次数停止。
[0151]反向传播需要通过对带有标签的训练样本进行比较,计算误差。例如采用平方误 差代价函数,对于c个类别,N个训练样本的多类别识别问题,网络最终输出误差函数用公式 (7)表示,
[0153] 式中,EnS平方误差代价函数,& 为第n个样本对应标签的第k维,y〖为第n个样本对 应网络预测的第k个输出;
[0154] 对误差函数进行反向传播时,采用传统的BP算法类似的计算方法,如公式(8)所 示,
[0156] 式中,S1代表当前层的误差函数,S1+1代表上一层的误差函数,W 1+1为上一层映射矩 阵,f '表示激活函数的反函数,即上采样,U1表示未通过激活函数的上一层的输出,X1^1表示 下一层的输入,W 1为本层映射权值矩阵;
[0157] 通过误差反向传播后,得到各个网络层的误差函数S1,然后采用随机梯度下降法 对网络权值W1进行修改,再进行下一次迭代,直至网络达到收敛条件;要注意的是,由于层 与层之间的大小尺寸不同,在进行误差传递时需要先通过公式(8)中的上采样使得前后两 层尺寸相同,再进行误差传递;
[0158] 算法思想是:1)首先逐层构建单层神经元,这样每次都是训练一个单层网络;2)当 所有层训练完后,使用wake-sleep算法进行调优。
[0159] 深度学习训练过程具体如下:
[0160] STEP21:使用自下而上的非监督学习,即从底层开始,一层一层的往顶层训练,学 习车辆图像特征:先用无标签车辆图像数据训练第一层,训练时先学习第一层的参数,由于 模型容量的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到 比输入更具有表示能力的特征;在学习得到第1-1层后,将1-1层的输出作为第1层的输入, 训练第1层,由此分别得到各层的参数;具体计算如公式(5)、(6)所示;
[0161] STEP22:自顶向下的监督学习,即通过带标签的车辆图像数据去训练,误差自顶向 下传输,对网络进行微调:具体计算如公式(7)、(8)所示;
[0162] 基于STEP21得到的各层参数进一步微调整个多层模型的参数,这一步是一个有监 督训练过程;STEP21类似神经网络的随机初始化初值过程,由于深度学习的STEP21不是随 机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够 取得更好的效果;所以深度学习效果好坏很大程度上归功于STEP21的特征学习过程;
[0163]对于带标签的车辆图像数据集,本发明采用网络爬虫技术收集各种车型的车辆图 像,这样收集到的车辆图像再经过人工确认作为带标签的车辆图像数据;
[0164] 关于wake-sleep算法,见附图8,其主要思想是在wake阶段对给定生成权值,通过 学习得到认知权值;在sle印阶段对给定认知权值,通过学习得到生成权值;
[0165] wake阶段,第1层生成权值gl,用公式(9)进行更新,
[0166] A gi= EsltHs1-P1) (9)
[0167] 式中,Ag1为第1层生成权值81的更新变化值,e为学习速率,S1+ 1为第1+1层神经元 活跃度,S1为第1层神经元活跃度,P1为第1层神经元的当前状态驱动时的激活概率;
[0168] sleep阶段,第1层认知权值W1,用公式(10)进行更新,
[0169] A Wi= es1-Hs1-Q1) (10)
[0170] 式中,A W1为第1层认知权值W1的更新变化值,e为学习速率,为第1-1层神经元 活跃度,S 1为第1层神经元活跃度,q1为第1层神经元被使用当前认知权值的前一层神经元的 当前状态驱动时的激活概率;
[0171] (3)设计一种适用于上千种的类型子类的分类器,并具有扩展性;
[0172] 本发明采用Softmax分类器对车型进行分类;Softmax分类器在特征鲁棒的情况 下,具有较好的分类效果,同时这种分类器具有扩展性,在新的车型出现后无需对原有训练 好的网络特征进行重新学习训练,增加了系统的实用性;softmax原理是将提取到的输入数 据特征与特征库进行比对,计算出每一个分类结果的概率,然后取概率最高的一个结果进 行输出;
[0173] 将CNN中的学习结果作为sof tmax分类器的输入数据;Softmax回归是面向多类分 类问题的Logistic回归,是Logistic回归的一般形式,适用于类别之间互斥的情况。假设对 于训练集{(x(1),y(1),…,x(m),y(m))},有y (1) G {1,2,…,k},对于给定的样本输入X,输出一个 k维的向量来表示每一种分类结果出现的概率为p(y = i|x),假设函数h(x)如下:
[,…0k是模型的参数,并且所有的概率和为1。加入规则项后的代价函数为:
[0177] 代价函数对第j个类别的第1个参数的偏导数为:
[0179] 最后,通过最小化J(0),实现softmax的分类回归。
[0180] (4)设计一个真正意义上的使用一个快速R-CNN网络实现端到端的车辆检测和识 别的框架;
[0181]本发明要着重解决以下三个问题:
[0182] 1)如何设计区域建议网络;
[0183] 2)如何训练区域建议网络;
[0184] 3)如何让区域建议网络和快速R-CNN网络共享特征提取网络;
[0185] 区域建议网络内容主要包括:区域建议网络结构、特征提取、区域建议网络的设计 和训练思路、候选区域、窗口分类和位置精修;
[0186] 区域建议网络结构、特征提取、区域建议网络的设计:
[0187] 区域建议网络结构、特征提取、区域建议网络的设计如附图11所示,为了能在多个 GPU上进行计算,在层内计算中划分为若干组,每组中的计算由其对应GPU完成,这样能提升 计算速度;图12所示是一种VGG网络,即visual geometry group,8个卷基层,3个全连接层, 共计11层;8个卷基层中有5个组的卷积层、2个分类层提取图像特征、1个分类层分类特征;3 个全连接层分别连接分类层6、分类层7和分类层8;
[0188] 图11中,归一化的224 X 224图像直接送入网络,前五阶段是基础的卷积+ReLU+池 化的形式,在第五阶段结尾处再输入P个候选区域,候选区域带有1个图像序号和4个几何位 置信息;在第五阶段结尾处的RoI-池化层将每个候选区域均匀分成MXN块,对每块进行最 大池化操作;将特征图上大小不一的候选区域转变为大小统一的数据,送入下一层训练和 识别;上述前五阶段技术都是卷积神经网络技术中被证明成熟的技术,关键是如何使得这 些候选区域可以复用这些图片前五个阶段的网络特征;
[0189] 区域建议网络和快速R-CNN网络共享特征提取网络:
[0190] 附图6描述了区域建议网络和快速R-CNN如何共享的卷积层输出,图11中前五阶段 属于一个原始特征提取网络,之后分别给区域建议网络生成区域建议框和给快速R-CNN检 测区域建议框内的图像特征,然后输出给两个同级的全连接的层,即图11中的分类层6+ ReLU6和分类层7+ReLU7,得到p个含有4096向量的特征图,接着分别送给分类层和窗口回归 层进行处理;
[0191] 生成区域建议框:
[0192] 为了生成区域建议框,本发明在最后一个共享的卷积层输出的卷积特征映射上滑 动小网络,这个网络全连接到输入卷积特征映射的nXn的空间窗口上,如附图5所示;每个 滑动窗口映射到一个低维向量上,附图5中的低维向量为256-d,每个特征映射的一个滑动 窗口对应一个数值;这个向量输出给两个同级的全连接的层;一个窗口回归层和一个分类 层;窗口回归层输出每一个位置上,9种推荐区域对应窗口需要具有平移缩放不变性,回归 层从256维特征中输出4个平移缩放参数;分类层从256维特征中输出属于前景和背景的概 率;
[0193] 比如,在每一个滑动窗口的位置,同时预测k个区域建议,因此窗口回归层有4k个 输出,即k个建议框的坐标编码;分类层输出2k个建议框得分,即对每个建议框是车辆目标/ 非车辆目标的估计概率;
[0194] 候选区域:k个建议框被相应的k个称为候选区域的框参数化,即每个候选区域以 当前滑动窗口中心为中心,并对应一种尺度和长宽比,本发明使用3种尺度和3种长宽比,如 附图3所示;这样在每一个滑动位置就有k = 9种候选区域;对于大小为WXH的卷积特征映 射,总共有W X H X k个候选区域;
[0195] 在整个快速R-CNN算法中,共有三种图像尺度:1)原图尺度:原始输入图像的大小, 不受任何限制,不影响性能;2)归一化尺度:输入特征提取网络的大小,在测试时设置,候选 区域在这个尺度上设定;这个参数和候选区域的相对大小决定了想要检测的目标范围;3) 网络输入尺度:输入特征检测网络的大小,在训练时设置,为224 X 224。
[0196] 综上所述,区域建议网络是将一个图像作为输入,输出矩形目标建议框的集合,每 个框有一个车辆对象的得分,如附图7所示;
[0197] 训练区域建议网络内容主要包括:训练样本、代价函数和超参数;
[0198] 区域建议网络的训练:
[0199] 区域建议网络的训练,本发明给每个候选区域分配一个二进制的标签,即是否是 车辆对象;这里分配正标签给两类候选区域:(i)与某个GT,ground truth的包围区域有最 高的交集并集之比,IoU,Intersection-over-Union,重叠的候选区域;(ii)与任意GT包围 区域大于0.7的IoU交叠的候选区域;同时分配负标签给与所有GT包围区域的IoU比率都低 于0.3的候选区域;删去非正非负的候选区域;
[0200] 训练样本算法:
[0201] STEP31:顺序读取训练集中的每张图;
[0202] STEP32:对每个标定的真值候选区域,与其重叠比例最大的候选区域记为前景样 本;
[0203] STEP33::对STEP32剩余的候选区域,如果其与某个标定重叠,IoU比例大于0.7,记 为前景样本;如果其与任意一个标定的重叠比例都小于〇. 3,记为背景样本;
[0204] STEP34:对STEP32和STEP33剩余的候选区域弃去不用;
[0205] STEP3 5:对跨越图像边界的候选区域弃去不用。
[0206] 代价函数:
[0207] 根据这些定义,这里遵循的多任务代价,采用最小化目标函数;对一个图像的代价 函数用公式(14)表示,
[0209]式中,i是一个批处理中候选区域的索引,Ncls为分类层的归一化系数,Nreg为回归 层的归一化系数,A为平衡权重,Pl为车辆目标的预测概率,?为GT标签,如果候选区域为正 ,如果候选区域为负& =Ort1为一个向量,表示预测的包围框的4个参数化坐标,&为 与正候选区域对应的GT包围框的坐标向量,Uis为分类的对数代价,L reg为回归对数代价,L Gp1Ut1D为总的对数代价;
[0210] 分类的对数代价Uls由公式(15)计算,
[0212] 窗口回归对数代价Lreg由公式(16)计算,
[0214] 式中,R为定义的鲁棒的代价函数,属于Smooth Ll误差,对离群值不敏感,用公式 (17)计算,
[0216] 公式(14)中的/这一项意味着只有正候选区域,即g=l时才有回归代 价,其他情况由于没有回归代价;分类层和窗口回归层的输出分别由化:丨和丨^丨组 成,这两项分别由Ncis和Nreg以及一个平衡权重人归一化,这里选择人=10,Nci s = 256 ,Nreg = 2400,通过这样的选择分类层和窗口回归层项差不多是等权重的;
[0217]关于位置精修,这里采用4个值,中心坐标、宽度和高度,计算方法如下,
[0219] 式中,X、y、W、h分别表示包围框中心坐标、宽度和高度,Xa、ya、W a、ha分别表示候选 区域中心坐标、宽度和高度,x'y'w'P分别表示预测的包围框中心坐标、宽度和高度;用 公式(18)的计算结果进行位置精修;实际上,并没有显式地提取任何候选窗口,完全使用区 域建议网络自身完成判断和位置精修;
[0220] 区域建议网络的优化:
[0221] 区域建议网络能自然地实现为全卷积网络,通过反向传播和随机梯度下降端到端 训练;这里采用图像中心的采样策略训练这个网络,每个批处理由包含了许多正负样本的 单个图像组成;随机地在一个图像中采样256个候选区域,用公式(14)计算批处理中的代价 函数,其中采样的正负候选区域的比例是1:1;如果一个图像中的正样本数小于128,我们就 用负样本填补这个批处理中的其他剩余候选区域;这里将批处理的大小设置为256;
[0222] 通过从零均值标准差为0.01的高斯分布中获取的权重来随机初始化所有新层,所 谓新层指的是在区域建议网络后面的层,如附图11中的分类层6+ReLU6和分类层7+ReLU7; 所有其他层,即共享的卷积层,如附图11中的前五层,通过对车辆车型的分类样本预训练的 模型来初始化的;本发明在车辆车型数据集上对于60k个批处理用的学习率为0.001,对于 下一 20k个批处理用的学习率是0.0001;动量是0.9,权重衰减为0.0005;
[0223] 车辆车型预训练的模型初始化:主要分为数据准备、计算图像均值、网络的定义、 训练和恢复数据等5个步骤;
[0224] 1)数据准备;在data中新建文件夹myself,我们通过爬虫软件收集了各类车型的 图像数据,由于带了关键字进行搜索得到的基本上是带有标签的车辆图像数据,我们将其 作为训练数据;另一类数据是我们通过卡口摄像机获取的车辆图像数据;
[0225]训练和测试的输入是用train, txt和val. txt描述的,列出所有文件和他们的标 签;分类的名字是ASCI I码的顺序,即0-999,对应的分类名和数字的映射在synSet_ words. txt中;val. txt不能标签,全部设置成0;然后将图片的大小统一成256 X 256;然后在 caffe-master/examples 中新建 myself 文件夹,然后将 caffe-maester/examples/imagenet 的create_imagenet o sh复制到该文件夹下,将其名改为create_animal o sh,修改训练和测 试路径的设置,运行该最后得到myself_train_lmdb和myself_val_
[0226] 2)计算图像均值;模型需要我们从每张图片减去均值,所以我们必须获得训练的 compute_image_mean . cpp^JJii , 1 3/4
^S!$l|caf f e-maester/ examples/ imagene t 的o /make_imagene t_mean 到 examp les/myself 中,将其改名为make_car_mean o sh, 加以修改路径;
[0227] 3)网络的定义;把caff e_master/models/bvlc_reference_caffenet 中所有文件 复制到。&EUREUR611&8七61'/61&11^)168/^文件夹中,修改1:瓜;[11_^141'01:(^11:,注意修改数 据层的路径;
[0228] 在训练中,我们用一个softmax-loss层计算损失函数和初始化反向传播,而在验 证,我们使用精度层检测我们的精度;还有一个运行的协议solver.prototxt,复制过来,将 第一行路径改为我们的路径net: "examples/myself/train_val .prototxt",
[0229] test」ter: 1000是指测试的批次;test_interval: 1000是指每1000次迭代测试一 次;base_lr :0.01是基础学习率;lr_poIicy: "step"学习率变化;gamma:0.1学习率变化的 比率;stepsize: 0000次迭代减少学习率;display: 20每20层显不一次;max_ iter: 450000最大迭代次数;momentum: 0 o 9学习的参数;we ight_decay: 0 o 0005学习的参数; snapshot: 10000每迭代10000次显示状态;solver_mode: GPU末尾加一行,代表用GPU运算;
[0230] 4)训练;把caffe-master/examples/imagenet 中的 train_caff enet o sh 复制过来 并修改名为trainjnyself. sh运行,修改里面的路径;
[0231 ] 5)恢复数据;把caffe-master/examples/imagenet中的resume_training. sh复制 过来并运行;
[0232] 经过上述处理完成了车辆车型预训练的模型初始化工作;进一步,本发明提出一 种4步训练算法,通过交替优化来学习共享的特征;
[0233] STEP41:用区域建议网络的优化训练区域建议网络,用上述数据准备、计算图像均 值、网络的定义、训练和恢复数据等5个步骤完成模型初始化,并端到端微调用于区域建议 任务;
[0234] STEP42:用STEPl的区域建议网络生成的建议框,由快速R-CNN训练一个单独的检 测网络,这个检测网络同样是由车辆车型预训练的模型初始化的,这时候两个网络还没有 共享卷积层;
[0235] STEP43:用检测网络初始化区域建议网络训练,固定共享的卷积层,并且只微调区 域建议网络独有的层,这时两个网络共享卷积层了;
[0236] STEP44:保持共享的卷积层固定,微调快速R-CNN的分类层;这样,两个网络共享相 同的卷积层,最终构成一个统一的网络;
[0237] 车辆车型的视觉识别:
[0238] 下面我们给出一个车辆车型视觉识别主要流程,整个处理流程如附图13所示;
[0239] STEP51:读取待识别图像;
[0240] STEP52:对待识别图像进行归一化处理,得到RGB三个不同颜色224 X 224归一化的 图像数据;
[0241] STEP53:将RGB三个不同颜色224 X 224归一化的图像数据输入到三个CNN通道,经5 层卷积处理得到车辆车型特征图像数据;
[0242] STEP54:对车辆车型特征}

我要回帖

更多关于 capsule collider 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信