多层前馈结构从大规模数据集学习层次特征,在图像分类识别任务中取得了出色的性能。目前基于 CNN 的车辆识别研究中,在采用端到端模式的识别方法在性能上达到一个瓶颈时,通常会采用 2 种方案提升性能:一种是结合浅层学习知识和深度特征完成分类识别;另一种是将相关的领域知识和浅层学习技术融入到深度网络中,构建一个新的端到端网络结构,从而提升图像分类的精度。
数据集
车辆识别常用公共数据集
Stanford-Cars [51]、CompCar [66]、Vehicle Color [18]
Stanford-Cars 数据集 [51]
是覆盖了多种规格 (轿车、轿跑车、敞篷车、两厢车和货车等)、不同拍摄角度、不同分辨率等变化的细粒度车辆数据集,具体包含了 2 个评测集:一个是超细粒度车辆识别数据集,称为 BMW-10,包含 10 款宝马轿车,共 512 幅图像。另一个是细粒度车辆识别数据集,称为 Car-196,共包含 196 类的车辆,总共有 16185 幅图像。由于涵盖了车辆的不同角度,尺度变化极大,同时还包括了多种规格车型。
浅层学习方法主要以基于局部特征结合不同的特征表达方法为主。随着识别方法的不断改进,提升幅度较小,这说明对于车型的精细识别而言,基于浅层学习的车辆识别方法难以达到理想识别效果。随着端到端模式深度网络的应用,车辆识别算法的精度提升幅度明显升高 (13% 以上)。
传统的浅层学习技术仍具有一定的研究价值,不能因为深度学习的成功而忽视传统领域知识对车辆识别性能的影响。
CompCar [66] 数据集
是目前规模最大、类别最丰富、用于评测车辆精细识别的公开数据集。数据集通过网络和监控设备采集得到车辆图像,其中网络图像共 136726 幅,涵盖了 163 个汽车厂家的 1 716 类车型,监控图像共 44481 幅车辆正面图像,包含 281 类车型。
CompCar 数据集的另一个部分是局部图像子集,包括 123 个厂家的 956 类车型的 27 618 幅局部图像,每类车辆分别包含大灯、尾灯、雾灯、进气口、控制台、方向盘、仪表板、变速杆等 8 个部分的局部图像。
车色的精确识别同样也是车辆识别领域一个重要研究方向,相关的数据集有 NTOU Car Color [65]、Vehicle Color [18]、Sv_Dataset [66] 等。
NTOU Car Color 数据集
包括 7 类颜色,共有 16648 幅不同拍摄角度的车辆图像。
Vehicle Color 数据集包含 15601 幅、8 种颜色的车辆图像。Vehicle Color 数据集中所有图像均来自道路监控拍摄得到的正面图像,同时图像采集环境变化较大 (光照、天气等),数据集中同时存在多种车型,例如卡车、轿车、公交车等。
Com Car 数据集的监控子集 Sv_Dataset 同样可以用来评测车辆颜色识别算法。 Sv_Dataset 数据集包含 44 481 幅车辆图像,包括黑、白、红、黄、蓝、绿、紫、棕、香槟、银共 10 种颜色,其中黑色车辆图像最多,为 14 911 幅,紫色车辆图像最少,为 221 幅。此外,由于监控数据采集的时间跨度较大,导致数据集中图像光照变化明显,因此存在无法进行人工标注颜色的 40 幅车辆图像。
几种方法
基于局部特征
提取底层局部特征 (包括兴趣点检测和密集提取 2 种方式) 进行描述;然后,使用一种特征变换算法对底层特征进行编码 (向量量化、稀疏编码等),经过特征汇聚等操作,从而获得更具区分性、更加鲁棒的特征表达,得到一个紧致的特征向量;最后,选择适当的浅层学习结构学习得到一个分类器 (SVM 等) 完成对车辆的分类识别。
核心是如何有效地对局部特征进行紧凑表达,提升识别性能。
Csurka 等[21] 应用词袋模型 (bag of word, BoW) 解决对局部特征进行紧凑表达的问题。BoW 方法,首先从关键点特征的描述出发,通过学习构建视觉词典;然后,用一个或多个单词来表示局部特征,实现了图像细节信息的良好表达。在 BoW 模型的基础上,Behley 等 [22] 引入不同尺度的图像信息,构建混合 BoW 模型,实现了对车辆细节信息的多尺度表达。与单一的 BoW 模型相比,混合模型识别精度有明显的提升。
BoW 模型将图像表示成无序的局部特征集,这一做法忽略了特征的空间位置信息,降低了特征的区分能力。针对这一问题,Li 等 [23] 提出一种目标银行 (object bank) 的方法,用图像中的目标作为特征,采用空间金字塔 (spatial pyramid matching,SPM) [24] 技术引入空间信息实现对特征的表达。
Felzenszwalb 等 [25] 提出的可变部件模型 (deformable parts model,DPM) 则应用基于目标局部信息进行识别,实现了特征区分能力的提升。Li 等 [26] 延续 DPM 的思想,应用层次性与或图模型自适应地从训练数据中挖掘出具有判别性的上下文模式和遮挡模式,较好地解决了遮挡问题对车辆识别的影响。
三维信息
对二维图像中的车辆进行三维 (three dimensions,3D) 建模获得三维信息,然后通过训练固定的 3D 模型进行车辆识别 [28-31]。
Buch 等 [32] 使用 3D 模型提取运动轮廓并与投影的模型轮廓进行比较以识别车辆的地平面位置和类别,很好地解决了车辆阴影对车辆识别的影响问题。
Leotta 等 [33] 提出的可变形 3D 模型构建方法则有效解决了预先构建的 3D 车辆形状模型与图像的约束对准问题。
3D 建模的方法可以在一定程度上解决视点变化的问题,但是固定不变的 3D 车辆模型往往无法区分其他不同形状的对象。同时,由于特征提取、图像表示和模型匹配等环节会随着模型数量的增加而变得更为复杂,这无疑增加了计算和时间上的开销,对于类别较多的车辆精细识别任务来说实现相对困难。
充分表达车辆类别之间细微的外观变化,使得没有领域知识的人不能容易地识别细粒度模型。
深度特征
与在浅层学习方法中使用手工制作特征相比,CNN 能够使用其多层前馈结构从大规模数据集学习层次特征,在图像分类识别任务中取得了出色的性能。
目前基于 CNN 的车辆识别研究中,在采用端到端模式的识别方法在性能上达到一个瓶颈时,通常会采用 2 种方案提升性能:一种是结合浅层学习知识和深度特征完成分类识别;另一种是将相关的领域知识和浅层学习技术融入到深度网络中,构建一个新的端到端网络结构,从而提升图像分类的精度。
利用 DBM 可以有效地融合特征的优点,不使用原始图像作为模型的输入,而是采用方向梯度直方图 (histogram of oriented gradient, HOG) 等 3 种手工设计特征分别作为深度网络源数据,并使用融合的特征作为深层网络的输入单元。所有 3 个特征向量的融合向量经过多层非线性隐层进行学习,应用线性分类器得到预测的车辆类别结果。
、