Print

发布时间: 2017-11-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.170146
2017 | Volume 22 | Number 11




    图像分析和识别    




  <<上一篇 




  下一篇>> 





交通图像中机动车联合检测与识别
expand article info 郭少博, 刘旭, 王子磊
中国科学技术大学自动化系, 合肥 230027

摘要

目的 机动车检测和属性识别是智能交通系统中的基本任务,现有的方法通常将检测和识别分开进行,导致以下两个问题:一是检测算法与识别任务在时序上存在耦合问题,增加了算法设计的复杂度;二是多个任务模块及其交互会增加计算负载,降低了智能交通系统的执行效率。为了解决以上问题,结合机动车辆视觉属性与检测之间的联系,提出机动车联合检测与识别方法,将检测和属性识别任务整合在一个算法框架中完成。方法 首先,将车辆颜色与类型融合到检测算法中,使用多任务学习框架对机动车的属性识别任务与定位任务建模,在检测的同时完成属性识别。进一步地,针对智能交通系统中数据分布不均匀、呈现长尾现象的问题,将多任务学习框架与在线难例挖掘算法相结合,降低该现象给模型优化带来的危害。结果 为了验证本文提出的方法,构建了拥有12 712幅图像,包含19 398辆机动车的道路车辆图像数据集。在该数据集上,使用机动车联合检测与识别算法取得了85.6%的检测精度,优于SSD(single shot detector)与Faster-RCNN检测方法。针对识别任务,本文方法对于颜色与类型属性的识别准确率分别达到了91.3%和91.8%。结论 车辆颜色和类型作为机动车的重要视觉特征,综合利用以上线索有助于提高机动车检测的效果,同时能够得到良好的属性识别性能。除此之外,使用一个高度集成的框架完成多个任务,可以提升智能交通系统的运行效率。

关键词

机动车检测; 机动车属性识别; 难例挖掘; 长尾现象; 多任务学习

Unified method for vehicle detection and attribute recognition
expand article info Guo Shaobo, Liu Xu, Wang Zilei
Department of Automation, University of Science and Technology of China, Hefei 230027, China
Supported by: National Natural Science Foundation of China(61673362, 61233003)

Abstract

Objective Vehicle detection and attribute recognition are the basic tasks in an intelligent traffic system (ITS), which aims to extract the key features of target vehicles.Most solutions separate the key features into several individual modules, such as vehicle detection, vehicle color recognition, and vehicle type recognition.However, such type of solution suffers from many problems under the practical scenario.First, the coupling problem between detection and recognition algorithms increases the complexity of algorithm designation.Second, deep learning-based algorithms are data-driven methods; thus, the algorithm designer should collect data for every single function module for training.However, data collection is costly and time consuming.Moreover, the more the ITS modules ITS, the higher the cost of the computational and communication resources.We propose a unified framework, which is integrated with the vehicle detection and attribute recognition functions, to settle these issues. Method Vehicle detection and attribute recognition tasks can be viewed as a classification problem between background and foreground regions.Color and type are two important holistic features of a vehicle.Combining the two features as the foreground region label can enlarge the diversity between foreground and background regions.The more the diversity between foreground and background regions, the lesser the false positive and true negative detection cases.We utilize the scalability of the multitask learning algorithm to finish vehicle attribute recognition and detection tasks at the same time to implement this idea.Specifically, the multitask paradigm is added on top of the region-based detection algorithm.At the training phase, instead of deploying the raw multitask learning algorithm, we integrate the online hard example mining algorithm into our framework to cope with the negative effect caused by the long-tail phenomenon.At the prediction phase, the proposed framework outputs the vehicle location, vehicle color, and vehicle type information in forward pass. Result We construct a large-scale on-road vehicle dataset, which contains 12 712 images and 19 398 vehicles, in verifying the proposed vehicle detection and attribute recognition framework.In this image dataset, every vehicle in the image is annotated with a bounding box and its corresponding type and color label.We achieve a mean average precision of 85.6%, which is better than that of the SSD and Faster-RCNN algorithms.For the recognition tasks, we achieve 91.3% and 91.8% accuracy for color and type recognition, respectively. Conclusion Type and color are two important vision cues for vehicles.Thus, integrating these attributes into the detection algorithm can boost the detection performance to another level and result in a good recognition performance.Moreover, a highly integrated system can make the ITS computationally efficient.

Key words

vehicle detection; vehicle attributes recognition; hard example mining; long-tail distribution; multi-task learning

0 引言

机动车检测与识别[1]作为智能交通系统[2]中的基本任务,得到了广泛关注与研究。现有解决方案通常将机动车检测与属性识别任务分开进行,研究人员针对机动车检测和属性识别提出了大量的优化方法[3-10]。但这种分开进行的方法在实际应用中存在以下几个问题:一是算法之间的数据依赖问题,由于检测和识别被分为两个部分,需要分别训练检测算法和识别算法,而其中识别算法输入为检测算法输出的结果,使得识别算法输入依赖于检测算法,增加了系统优化难度;二是计算性能问题,车辆属性如类型、颜色等,识别难度较大,针对这些属性单独设计特征提取模块会引入大量的计算。除此之外,在部署系统时各个功能模块之间的数据通信与数据同步也会影响系统运行效率。

机动车的基本视觉属性包含车辆类型与车辆颜色,现有的属性识别方法[3-7]通常将这两种属性分开识别,但实际上这两种属性是相互联系的,不同车辆类型其颜色分布也不同。以图 1第1行机动车样本为例,卡车的颜色分布较为分散,主要分布在车窗周围的区域,而轿车的颜色主要集中在引擎盖上。因此,将两种属性结合有利于增加模型对于机动车属性的识别效果。另外这些视觉属性对于机动车检测也可以起到辅助作用,而现有的机动车检测算法[8-10]通常只利用机动车的轮廓与尺寸信息,忽略了颜色属性对于机动车检测的作用。除了机动车本身的属性特点,在实际道路环境中,不同类型的机动车数辆在不同道路场景下呈现出长尾现象[11],比如城市中公交车和私家车较多,国道上货车较多,这种现象也增加了机动车检测算法的设计难度。

图 1 车辆类型与颜色示意图
Fig. 1 Example vehicles of different color and type

基于以上想法,将机动车的多种视觉属性与检测算法相融合,提出基于深度学习[11]的机动车联合检测与识别方法,并且针对机动车数量分布的特点,结合在线难例挖掘算法[12](online hard example mining)与多任务学习框架[13]对检测算法加以改进。如图 2所示,机动车联合检测与识别方法输入为监控摄像头获取的道路图像,与其他检测方法不同,本文方法可以同时得到图像中所有车辆的位置以及对应位置的车辆颜色与车辆类型。为了验证该方法,构建了一个包含12 712幅图像的道路机动车图像数据集。在该数据集上,将本文方法与SSD[14](single shot detector)和Faster-RCNN[15]这两种具有代表性的检测算法作比较,本文方法取得85.6 %的检测精度,SSD和Faster-RCNN分别取得76.2 %与80.9 %的检测精度,可以看出本文方法有较大提升。除了检测任务,本文方法对于车辆颜色和类型的识别准确率与基于整车图像的分类算法相当。以上结果表明,针对机动车检测这一特定任务,颜色和类型属性作为机动车的基本属性,将其融入到检测算法中有助于提升机动车检测效果。综上,本文主要有以下3个方面的贡献:1) 将机动车的多种视觉属性与检测算法相融合,提出联合机动车检测与识别算法;2) 将多任务学习框架与在线难例挖掘算法有机的结合在一起,用于改善智能交通应用场景中机动车数量的长尾现象给模型优化带来的问题;3) 构建道路交通图像数据集,为今后的研究提供了数据支撑。

图 2 联合检测与识别算法示意
Fig. 2 Demo of unified vehicle detection and attributes recognition method

1 相关工作

在智能交通监控系统中,最基本的任务是对图像或者视频中的机动车辆进行识别,现有的解决方案通常将机动车检测与车辆属性识别视为两个单独的问题分别进行优化。

针对机动车检测问题,在现有检测算法的基础上,研究人员从以下两个方面加以改进。一方面,结合机动车的尺寸特点来优化机动车检测性能,在文献[8]中使用聚类算法统计机动车辆的尺寸信息作为Faster-RCNN检测算法中RPN(region proposal network)网络的默认框(anchor boxes)产生参数,通过提高候选区域的产生质量来提高检测效果。同样地,在文献[9]中通过向SSD检测算法中添加更多符合车辆尺寸的默认框来提高机动车的检测效果。另一方面,结合卷积神经网络的特点设计机动车检测网络。在卷积神经网络模型中,浅层网络体现轮廓信息,深层网络体现语义信息。机动车轮廓信息较为规律,文献[10]提出一个只有3层卷积层的检测模型进行机动车检测,但是浅层卷积层语义信息较少,所以在完成机动车检测之后,还需要进一步使用分类算法识别机动车属性。以上机动车检测算法都将机动车作为一类物体或者在机动车检测算法中只使用车辆的类型信息,未考虑机动车类别内部的差异与实际环境中其他物体的干扰,使得模型对前景样本的区分度不足,导致漏检和误检。

机动车属性识别难点主要集中在车辆类型与车辆颜色识别。车辆颜色识别主要有以下两个难点,一是车辆表面存在反光,影响颜色识别效果;二是车辆的颜色分布复杂,不易区分车身的主要颜色成分。为了解决以上问题,Chen等人[6]结合机动车辆的颜色分布特点,使用传统的颜色特征结合特征上下文对车辆的颜色进行建模,通过这种方法来过滤车身的无关颜色区域。在此基础之上,为了得到更加优良的颜色特征,文献[7]中使用卷积神经网络提取的特征替换传统特征用于车辆颜色识别。同样的,为了解决车辆类型特征难以设计的问题,Yang等人[3]提出使用卷积神经网络进行车辆类型识别,取得了较好的结果。特别地,Hu等人[5]提出利用卷积神经网络同时提取整车图像的光照特征、车辆类型特征以及车辆姿态特征,利用光照与类型特征作为车辆类型识别的辅助信息,从而提升车辆类型识别效果,但是该方法的输入是从图像中检测出来的整车图像,只能进行分类而无法进行检测。

除了以上将机动车检测和识别分开进行优化的方法,Yao等人[4]提出一种同时完成机动车检测和识别的算法框架,该算法的核心思想是结合检测区域的物体性度量[16]与检测区域的类型识别信息来判断候选区域是否为机动车,从而降低机动车的误检率,但是该算法在识别车辆类型时对每个候选区域都需要完整运行一次卷积神经网络,导致算法耗时较长,实用性较低。

2 机动车联合检测与识别算法

相较于将机动车检测与属性识别分开进行的方法,本文认为综合利用车辆类型与颜色属性可以提升模型对于机动车的表达能力。进一步地,将车辆颜色与类型属性融合到检测算法中有助于增加前景区域与背景区域的区分度,进而提高机动车检测的效果。

2.1 模型概述

首先明确模型优化目标,在机动车检测模型中融合机动车类型和颜色属性后,共包含颜色识别、类型识别、车辆定位3个任务,优化目标为

$ \mathop {\min }\limits_{\boldsymbol{W}} \sum\limits_{i = 1}^3 {{L_i}\left( {{\mathit{\boldsymbol{W}}_i}, \mathit{\boldsymbol{I}}, {y_i}} \right) + \mathit{{{\varPhi} }}\left( \mathit{\boldsymbol{W}} \right)} $ (1)

式中,W ={ W1W2W3}是优化参数集,$\mathit{Φ}( \mathit{\boldsymbol{W}} )$为正则化项,$i=1,2,3$别对应车辆类型分类、车辆颜色分类、车辆检测任务,$L_i(·)$为每个任务对应的损失函数,$ \mathit{\boldsymbol{I = }}\left\{ {{I_1}, \cdots, {I_j}, \cdots } \right\} $为训练图像集,$y$为对应任务样本的真实标签。具体地,属性分类任务的真实值为对应属性的标签,比如车辆类型使用公交车、轿车等作为标签,颜色使用黄色、绿色等作为标签。使用交叉熵损失函数作为分类任务的损失函数,即

$ cls\left( {{{{p}_{\text{k}}}}} \right) = \sum\limits_{i = 1}^n {-c_i^* \cdot \log \left( {{c_i}} \right)} $ (2)

式中,${{p}_{\text{k}}}$为个候选区域,$c$为模型预测该区域属于的类别,$c^*$为该区域的真实类别。因为候选区域${{p}_{\text{k}}}$可能为背景区域,因此针对车辆颜色分类任务$n$值为8+1=9,针对车辆类型分类任务$n$值为6+1=7。

车辆检测任务真实值为车辆在图像中的坐标,采用(${x_{\min }}$${y_{\min }}$$w, h$)表示,(${x_{\min }}$${y_{\min }}$)为左上角坐标,$(w,h)$对应区域的宽和高,该任务使用smooth-L1损失函数,具体为

$ l\left( {{{{p}_{\text{k}}}}} \right) = \left\{ \begin{array}{l} 0.5{\left( {\mathit{\boldsymbol{t}}-{\mathit{\boldsymbol{t}}^*}} \right)^2}\;\;\left| {\mathit{\boldsymbol{t}}-{\mathit{\boldsymbol{t}}^*}} \right| < 1\\ \left| {\mathit{\boldsymbol{t}}-{\mathit{\boldsymbol{t}}^*}} \right| - 0.5\;\left| {\mathit{\boldsymbol{t}} - {\mathit{\boldsymbol{t}}^*}} \right| \ge 1 \end{array} \right. $ (3)

式中,$ \mathit{\boldsymbol{t}} $代表候选区域坐标,$ \mathit{\boldsymbol{t}}^*$为车辆的真实坐标,为了满足回归算法的要求,将坐标值经过归一化后得到$ \mathit{\boldsymbol{t}} 、\mathit{\boldsymbol{t}}^*$。当候选区域${{p}_{\text{k}}}$为背景时不计算定位损失,仅当${{p}_{\text{k}}}$为前景时,才会对该区域计算定位损失。

确定优化目标后,使用图 3所示模型实现本文方法,以感兴趣区域(ROI)池化层为界可以分为特征提取、候选区域生成、多任务学习3个模块,ROI池化层是对不同尺寸候选区域提取的特征进行规整,将不同长度的特征映射到相同维度向量,作为多任务模块的输入。特征提取模块输入是三通道彩色图像I,其网络结构与VGG-16[18]相同,作用是将图像从像素域映射到特征域,得到特征图F;候选区域生成模块输入是特征图F,该模块由一个包含3个卷积层的全卷积网络构成,第1层由尺寸为3×3的卷积核构成,另两层为并列关系,均由尺寸为1×1的卷积核构成,分别输出候选区域的坐标与候选区域所属类别,最终该模块输出为可能存在车辆的候选区域集合$ \mathit{\boldsymbol{P = }}\left\{ {{p_1}, {p_2}, \cdots, {p_M}} \right\}$;多任务学习模块输入是从候选区域提取的特征,经过ROI池化层规整之后得到向量集合$ \left\{ {{\mathit{\boldsymbol{x}}}_{p1}}, \cdots, {{\mathit{\boldsymbol{x}}}_{pM}}|{{\mathit{\boldsymbol{x}}}_{pi}}\in {{\mathbb{R}}^{25\ 088}} \right\} $,即每个候选区域得到一个25 088维的特征向量,通过多任务框架将这些特征映射到每个区域对应的车辆颜色类别、类型类别以及车辆定位结果。

图 3 联合机动车检测与识别算法模型
Fig. 3 Model of unified vehicle detection and attributes recognition method

在训练阶段,多任务学习模块输入包含前景区域和背景区域,因此机动车颜色与类型信息一方面会提升前景区域在模型中的响应,另一方面则会对背景区域产生抑制,从而得提升模型对于前后背景的区分能力。进一步地,由于3个任务共用一个特征提取模块,得益于感兴趣区域池化层的反向传播能力,该模块的模型参数$ \mathit{\boldsymbol{W}} $同时受到3个任务的影响,使得模型可以提取更好的机动车特征。

在测试阶段,算法流程如下所述:针对一幅图像${{\mathit{\boldsymbol{I}}}_{j}}$,使用特征提取模块提取图像特征,得到特征图F,候选区域生成模块利用特征图F得到输入图像的所有候选区域$ \mathit{\boldsymbol{P=}}\left\{ {{p}_{1}}, {{p}_{2}}, \cdots, {{p}_{M}} \right\} $,利用ROI池化层对特征进行规整,得到每个候选区域对应的特征向量$\left\{ {{\mathit{\boldsymbol{x}}}_{p1}}, \cdots, {{\mathit{\boldsymbol{x}}}_{pM}}|{{\mathit{\boldsymbol{x}}}_{pi}}\in {{\mathbb{R}}^{25\ 088}} \right\}$。最后使用多任务模块将这些特征映射到车辆类型、车辆颜色与车辆检测结果。可以看出,在测试阶段针本文方法对一幅图像只需提取一次特征,各个模块通过大量的特征复用减少了模型计算量。

总体来看,机动车联合检测与识别算法具有以下几个优点:在训练阶段,使用端到端的方法训练模型,检测任务和颜色识别任务、类型识别任务共享训练数据,检测与分类任务不存在相互依赖关系;在测试阶段,本文方法充分复用图像特征,利用多任务模块同时完成属性识别与检测任务,节省了大量计算资源。

2.2 多任务在线难例挖掘算法

在不同道路场景中,不同类型的机动车数量存在差异,比如在市区中以公交车与私家车为主,而在高速路上货车的比例较高。同样的,不同颜色机动车之间的数量也相差较大。本文构建的道路图像数据集中各种车辆类型与车辆颜色的机动车数量分布如图 4所示,可以看出,该数据集中车辆无论按照类型或者颜色进行划分均呈现出长尾现象。在使用批量随机梯度下降算法训练模型时,这种现象会给模型优化带来负面影响。因此在2.1节提出的模型基础之上,本文在模型训练阶段引入多任务在线难例挖掘算法对这一现象带来的负面影响加以改善。

图 4 机动车数量分布
Fig. 4 Vehicle distribution((a)type; (b)color)

在使用批量随机梯度下降法训练模型时,假如一次前向运算共生成$M$个感兴趣区域,经过非极大值抑制后得到候选区域集合,记为$ \mathit{\boldsymbol{P=}}\left\{ {{p}_{1}}, {{p}_{2}}, \cdots, {{p}_{N}}|N\le M \right\}$。在前向过程中,每个批次(Mini-batch)的损失函数为

$ L\left( \mathit{\boldsymbol{W, }}X \right)=\sum\limits_{i=1}^{n}{T\left( {{p}_{i}} \right)} $ (4)

$ T\left( {{p}_{i}} \right)=\left\{ \begin{align} &c\left( {{p}_{i}} \right)\ \ \ \ \ \ \ \ \ \ \ \ {{p}_{i}}为背景 \\ &c\left( {{p}_{i}} \right)+l\left( {{p}_{i}} \right)\ \ \ {{p}_{i}} 为前景\\ \end{align} \right. $ (5)

式中,L(·)为该批次的损失函数,$ c$(·)、$ l $(·)分别对应车辆属性分类与车辆定位损失函数,X为该批次的样本集合,$\mathit{\boldsymbol{X}}\subset \mathit{\boldsymbol{P}} $$ n $为该批次样本的数量,X中的$ n $个样本从集合X中随机选取,由于区域生成算法生成的候选区域大多是背景样本,为了防止前景和背景样本数量的失调,通常将前景与背景样本数量比例控制在1: 3。这种训练策略存在以下两个问题:1) 在整个训练过程中,都会有背景样本被选中;2) 用于更新模型的样本依赖于随机抽样算法,在长尾数据中,样本数量较多的类别对于模型优化起到主导作用。为了解决以上问题,在线难例(hard example)挖掘算法在每次迭代过程中只使用难例样本更新模型参数,而不依赖随机采样策略确定使用哪些样本更新参数。单任务模型中每个样本的损失值函数如式(5) 所示。集合P中每个样本都会得到一个损失值,根据该值对P中样本进行排序,得到序列$ \left\{ l\left( {{p}_{i}} \right)\ge \cdots \ge l\left( {{p}_{j}} \right)\ge \cdots \right\} $,样本损失值越大,说明模型对于该样本的预测越不准确,需要更新模型的参数适应这些样本,这些样本称为难例样本,当批次大小为$ n $时,只需选取$ n $个难例样本更新模型参数。可以看出,在线难例挖掘算法通过难例挖掘的方式在一定程度上降低了样本分布,如长尾现象对模型优化的影响。进一步地,将多任务与在线难例挖掘算法融合,式(5) 中分类损失函数由单任务$ \text{c}\left( {{p}_{i}} \right)$转化为

$ c\left( {{p}_{i}} \right)={{c}_{\rm{type}}}\left( {{p}_{i}} \right)+{{c}_{\rm{color}}}\left( {{p}_{i}} \right) $ (6)

式中,$ {{c}_{*}}\left( {{p}_{i}} \right) $与式(2) 相同。可以看出,在融入车辆类型与颜色属性后,样本损失值来源由原来的一项变为两项,可以为挖掘难例样本提供更多依据。利用多任务在线难例挖掘算法,每次迭代过程中用于更新模型参数的样本不再依赖随机采样策略,不仅可以降低长尾现象对模型优化的影响,还可以充分利用多任务学习的优势,提升难例样本挖掘效果。

最终,在融合车辆类型、车辆颜色与车辆定位任务,并且在训练过程中融合多任务在线难例挖掘算法后,使用批量随机梯度下降法优化模型,采用L2范数作为正则化函数Φ(W),模型参数更新公式为

$ \mathit{\boldsymbol{W' = W-}}\eta \frac{{\partial \left( {L\left( {\mathit{\boldsymbol{W}}, \mathit{\boldsymbol{X}}} \right) + \mathit{{ {\varPhi} }}\left( \mathit{\boldsymbol{W}} \right)} \right)}}{{\partial \mathit{\boldsymbol{W}}}} $ (7)

$ L\left( {\mathit{\boldsymbol{W}}, \mathit{\boldsymbol{X}}} \right) = \sum\limits_{i = 1}^n {T\left( {{p_i}} \right)} $ (8)

式中,W为模型参数,η为学习率,$ n $为该批次大小,每个批次中的样本通过候选区域产生模块产生,并由多任务在线难例挖掘算法处理后得到。

3 实验与分析

为了验证联合机动车检测与识别算法的性能,本文构建了一个拥有12 712幅图像,19 378辆机动车的道路机动车数据集,该数据集中的图像如图 5所示。数据库中的每幅图像都标定了车辆位置,以及对应位置的车辆类型和颜色,数据集中不同类型与颜色的机动车数量如表 1所示。从数据集中随机选取7 630幅图像作为训练集,其余5 082幅图像作为测试集。在训练机动车联合检测与识别模型时,车辆定位、车辆颜色与车辆类型识别3个任务的权重分别是1: 1: 1。本文实验采用Caffe深度学习框架,使用配备NVIDIA K40显卡的服务器作为计算平台,所有检测与分类模型均使用VGG-16[17]卷积神经网络结构。从以下3个方面验证机动车联合检测与识别算法:检测性能、车辆类型与颜色的识别性能,以及计算性能。

图 5 数据集图像样本
Fig. 5 Example images in the dataset

表 1 数据集样本属性分布
Table 1 Dataset distribution

下载CSV
车辆类型 机动车数量 车辆颜色 机动车数量
轿车 8 222 淡色 6 923
大货车 4 124 黑色 4 482
面包车 2 326 红色 2 562
越野车 2 259 蓝色 2 091
公交车 1 606 绿色 1 296
小货车 861 灰色 1 230
棕色 414
黄色 400
总计 19 398 总计 19 398

3.1 检测性能测试

为了使得实验结果更具说服力,利用文献[8-9]中的方法,选取符合机动车尺寸特点的默认框作为SSD与Faster-RCNN中的默认框参数,将优化后的算法作为基准算法。在评估检测性能时,使用车辆类型作为检测结果。使用检测精度(AP)、召回率(R)评价每一类车辆检测结果的评估指标,使用mAP(mean AP)、mR(mean Recall)作为数据集检测结果的评估指标。

结合2.1节中对本文方法测试阶段的阐述,本文方法的具体检测流程如图 6所示,最终车辆检测实验结果如表 2所示。检测精度是反映模型误检程度的参数,检测精度高说明模型对于不同类型的机动车判别更准确。对比SSD与Faster-RCNN算法的检测精度可以看出,针对机动车检测这一特定任务,基于区域的检测算法在检测精度上要优于基于回归的检测算法,这说明基于区域的检测算法对于机动车的建模能力更强,可以较好地区分不同类型的车辆。

图 6 本文机动车检测方法流程图
Fig. 6 Flowchart of the proposed vehicle detection method

表 2 检测结果评估
Table 2 Measures of detection results

下载CSV
/ %
类型 指标 SSD Faster 本文方法
轿车 AP 88.0 80.7 89.5
R 92.0 88.8 93.1
大货车 AP 89.7 90.2 90.2
R 95.0 95.2 96.4
面包车 AP 76.4 85.1 87.3
R 87.4 86.3 93.9
越野车 AP 72.5 77.7 84.0
R 85.6 87.8 95.2
公交车 AP 78.9 87.7 88.7
R 89.2 90.7 94.2
小货车 AP 51.9 68.8 73.9
R 60.4 76.2 86.6
mAP 76.2 80.9 85.6
mR 72.8 75.0 79.9

对比SSD、Faster-RCNN,可以看出本文方法的检测精度最高,这说明在加入车辆的类型和颜色信息后,提升了模型对于不同类型的机动车判别能力。比如,在SSD与Faster-RCNN算法中小货车与越野车的检测精度较低,说明在检测时这两个车辆类型容易与其他类型的车辆混淆,而本文方法对这两个类别的机动车检测精度就要明显高于以上方法。

召回率指标反映的是模型的漏检情况。对比SSD、Faster-RCNN与本文方法的召回率指标,本文方法要明显高于其他算法,说明同时利用颜色与类型信息有助于改善机动车漏检的情况,提升模型对于机动车的响应能力。

3.2 多属性识别测试

为了验证联合检测算法对于车辆属性的识别效果,本文将其与基于整车图像的属性分类算法进行对比。

用于训练颜色与类型分类器的整车图像从道路图像数据集中裁剪得到,7 630幅训练集图像中共得到12 206辆机动车,分别用于训练车辆颜色和类型分类器,测试集中的7 192辆机动车用于测试识别准确率。本文均使用VGG-16模型作为整车图像的颜色与类型识别模型,先采用端到端的方式训练模型,完成端到端训练后,进一步使用模型中的全连接层响应作为机动车颜色或者类型特征,特征向量维度为4 096维,训练SVM分类器。

基于本文方法的多属性识别实验框架如图 7所示,利用训练完成的机动车检测模型从图像中提取机动车特征,同样使用全连接层响应作为机动车特征,每辆机动车得到长度为4 096维向量${\mathit{\boldsymbol{x}}_i} $,这些特征构成特征向量集合$ \left\{ {{\mathit{\boldsymbol{x}}}_{1}}, {{\mathit{\boldsymbol{x}}}_{2}}, \cdots, {{\mathit{\boldsymbol{x}}}_{\rm{k}}}|{{\mathit{\boldsymbol{x}}}_{i}}\in {{\mathbb{R}}^{4\ 096}} \right\}$。利用训练集中提取的特征训练SVM分类器,然后使用训练完成的SVM分类器在测试集上进行测试。

图 7 多属性识别框架
Fig. 7 Architecture of multi-attributes recognition

最终属性识别实验结果如表 3所示,从实验结果可以看出,本文方法的颜色与类型识别率与基于整车图像的分类模型效果相当,但本文方法能在检测的同时完成多属性分类,所以效率要远高于基于整车图像的识别方法。总而言之,本文将检测与识别整合在一个框架下,不仅提升了检测算法的性能,属性识别的性能也与基于整车图像的识别方法相当。

表 3 多属性分类结果
Table 3 Results of attributes recognition

下载CSV
/ %
任务 整车分类 本文方法
车辆颜色 90.6 91.1
车辆类型 92.3 91.8

3.3 计算性能测试

首先对SSD、Faster-RCNN与本文方法的计算量进行分析,本文采用的检测模型均以VGG模型为基础。在测试阶段,SSD算法仅需一次前向计算,而在Faster-RCNN与本文方法中,针对多个候选区域需要运行多次基于区域的子网络,因此本文方法与Faster-RCNN的计算量均要大于SSD算法。本文方法计算量与Faster-RCNN算法相当,仅需额外计算颜色分类结果,其计算量等同于$ {{\mathit{\boldsymbol{x}}}_{1\times 4096}}\cdot {{\mathit{\boldsymbol{W}}}_{4096\times 9}}$。在本文实验平台上各算法的运行时间如表 4所示。其中Faster-RCNN与本文方法输入为等比例缩放到短边为500像素的道路图像,可以看出针对机动车检测与识别任务,本文方法取得更好检测效果的同时,运行时间与其他方法处于同一数量级。

表 4 各算法运行时间
Table 4 Run-time of each algorithm

下载CSV
方法 输入图像尺寸 候选框数量 时间/ms
SSD (500,500) 20 097 121
Faster (500,*) 100 136
本文 (500,*) 100 136
注:*表示长边按照短边缩放比例缩放后的长度。

4 结论

本文针对智能交通系统中的机动车检测与识别任务,提出机动车联合检测与识别方法,将机动车检测任务和多个属性识别任务整合在同一算法框架下,利用多任务学习完成机动车属性识别和车辆定位任务。同时,针对交通场景中机动车类型与颜色分布的长尾现象给模型优化带来的影响,使用多任务在线难例挖掘算法加以改善。大量实验结果表明,通过在检测算法中融合机动车的类型与颜色信息,可以提高机动车检测性能,并且颜色与类型的识别准确率也达到了整车图像分类算法性能。除此之外,本文还构建了一个包含12 712幅图像的道路车辆图像数据集,为今后的研究工作提供了数据支撑。目前本文仅利用颜色与车辆类型等粗粒度熟悉作为机动车标记,但机动车还具有机动车品牌这种细粒度属性,在接下来的工作中将品牌属性融合到机动车检测中,研究不同性质的属性对于机动车检测效果的影响。

参考文献

  • [1] Sivaraman S, Trivedi M M. Looking at vehicles on the road:a survey of vision-based vehicle detection, tracking, and behavior analysis[J]. IEEE Transactions on Intelligent Transportation Systems, 2013, 14(4): 1773–1795. [DOI:10.1109/TITS.2013.2266661]
  • [2] Tian B, Morris B T, Tang M, et al. Hierarchical and networked vehicle surveillance in ITS:a survey[J]. IEEE Transactions on Intelligent Transportation Systems, 2017, 18(1): 25–48. [DOI:10.1109/TITS.2016.2552778]
  • [3] Yang L J, Luo P, Change Loy C, et al.A large-scale car dataset for fine-grained categorization and verification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Boston, USA:IEEE, 2015:3973-3981.[DOI:10.1109/CVPR.2015.7299023]
  • [4] Yao Y J, Tian B, Wang F Y. Coupled multivehicle detection and classification with priorobjectness measure[J]. IEEE Transactions on Vehicular Technology, 2017, 66(3): 1975–1984. [DOI:10.1109/TVT.2016.2582926]
  • [5] Huo Z, Xia Y, Zhang B.Vehicle type classification and attribute prediction using multi-task RCNN[C]//Proceeding of 9th International Congress on Image and Signal Proceeding, BioMedical Engineering and Informatics (CISP-BMEI).Datong, China:IEEE, 2016:564-569.[DOI:10.1109/CISP-BMEI.2016.7852774]
  • [6] Chen P, Bai X, Liu W Y. Vehicle color recognition on urban road by featurecontext[J]. IEEE Transactions on Intelligent Transportation Systems, 2014, 15(5): 2340–2346. [DOI:10.1109/TITS.2014.2308897]
  • [7] Hu C P, Bai X, Qi L, et al. Vehicle color recognition with spatial pyramid deeplearning[J]. IEEE Transactions on Intelligent Transportation Systems, 2015, 16(5): 2925–2934. [DOI:10.1109/TITS.2015.2430892]
  • [8] Kim H, Lee Y, Yim B, et al.On-road object detection using deep neural network[C]//Proceedings of the IEEE International Conference on Consumer Electronics-Asia (ICCE-Asia).Seoul:IEEE, 2016:1-4.[DOI:10.1109/ICCE-Asia.2016.7804765]
  • [9] Ashraf K, Wu B C, Iandola F N, et al.Shallow networks for high-accuracy road object-detection[J].arXiv:1606.01561, 2016.
  • [10] Zhou Y, Liu L, Shao L, et al.DAVE:a unified framework for fast vehicle detection and annotation[C]//Proceeding of 14th European Conference on Computer Vision.Amsterdam, Netherlands:Springer, 2016:278-293.[DOI:10.1007/978-3-319-46475-6_18]
  • [11] Ouyang W L, Wang X G, Zhang C, et al.Factors infinetuning deep model for object detection with long-tail distribution[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas, USA:IEEE, 2016:864-873.[DOI:10.1109/CVPR.2016.100]
  • [12] Shrivastava A, Gupta A, Girshick R.Training region-based object detectors with online hard example mining[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas, USA:IEEE, 2016:761-769.[DOI:10.1109/CVPR.2016.89]
  • [13] Caruana R. Multitask learning[J]. Machine Learning, 1997, 28(1): 41–75. [DOI:10.1023/A:1007379606734]
  • [14] Liu W, Anguelov D, Erhan D, et al.SSD:single shot multibox detector[C]//Proceeding of 14th European Conference on Computer Vision.Amsterdam, Netherlands:Springer, 2016:21-37.[DOI:10.1007/978-3-319-46448-0_2]
  • [15] Ren S, He K, Girshick R, et al. Faster R-CNN:towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 39(6): 1137–1149. [DOI:10.1109/TPAMI.2016.2577031]
  • [16] Alexe B, Deselaers T, Ferrari V. Measuring the objectness of image windows[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(11): 2189–2202. [DOI:10.1109/TPAMI.2012.28]
  • [17] Simonyan K, Zisserman A.Very deep convolutional networks for large-scale image recognition[J].arXiv:1409.1556, 2014.