随着计算机技术以及互联网技术的快速发展,人们已经不仅仅满足于物体检测[1-2],而是希望进一步定位具有某一些特定属性的物体。 例如,在监控视频中找出一段时间内经过的所有跑车; 在一系列狗的图片中找出所有柯基狗。 这样的物体被称为特定属性物体,是一种介于高层抽象语义(例如“美”“豪华”等)与低层物体(例如“车”“狗”等)的中层表达,是建立高层语义与低层物体的重要桥梁。 特定属性物体检测是计算机视觉中非常重要的研究课题,有助于增进计算机对图像的理解,在图像检索、电子商务等领域有着广阔的应用前景。
Borth等[3-5]提出的形容词名词对(adjective noun pair,ANP)与特定属性物体最为相关。 ANP主要用于图像的分类及检索,结合了形容词的表达能力以及名词的可检测性,可以很好地对高层的情感概念进行建模[6]。 然而,ANP仅包括含有强烈情感的形容词。 特定属性物体是ANP的一种扩展,包含更多种类的形容词。 由于一个名词可以通过不同的属性扩展成几十甚至上百个特定属性物体,特定属性物体的数量远比物体本身的数量多。
细粒度物体分类(fine-grained recognition)[7-8]也与特定属性物体检测密切相关。 细粒度物体分类是从大的物体类别中识别出细粒度子类。 例如,从狗中识别不同种类的狗。 细粒度分类与特定属性物体检测的主要区别在于子类之间的关系。 在细粒度分类中,不同概念之间是层次关系,不同子类之间是互斥的。 例如,如果一只狗是柯基,就不可能是哈士奇。 因此,在细粒度物体分类中,“一对多”(One-vs-All)的训练方法是适用的。 而在特定物体检测中,子类之间的关系往往非常复杂,这些关系主要包括: 近义(“废弃的车”与“破旧的车”)、层次(“亚洲车”与“日本车”)、反义(“干净的车”与“脏车”)以及没有关系(“豪车”与“红色的车”)。 在这种情况下,使用“一对多”的训练方法会引入大量错误负样本。
传统的物体检测方法并不能直接用于特定属性物体检测,特定属性物体检测问题有如下2个重大挑战:
1) 用户对属性物体的查询是多变且不可预测的。 因此,需要维护一个很大的特定属性物体列表,甚至需要在线添加新的特定属性物体。 由于每一个物体可能含有几十甚至几百个不同的属性,为如此巨大的特定属性物体集合收集含有边界框的训练图片非常困难。
2) 难以为特定属性物体收集高质量的负样本图片。 例如,训练“废弃的车”分类器不仅需要“非车”样本,还需要一定数量的“非废弃的车”的样本。 获得“非车”样本相对简单,而获取高质量的“非废弃的车”样本则比较困难。 在搜索引擎中直接搜索“非废弃的车”关键词,返回的图片存在大量干扰。 同时,由于特定属性物体之间的关系比较复杂,存在大量近义词或者无关词,使用“一对多”的训练方法会引入大量的错误负样本。
本文提出一种训练特定属性物体检测器方法并构建一个特定属性物体检测数据库用于评测特定属性物体检测器的性能。
1 方法概述受到近年来分类器扩展工作[9-10]的启发,本文提出通过扩展物体检测器构成特定属性物体检测器的方法。 所提出的特定属性物体检测器包含2个部分,其结构如图 1所示。 第1部分是物体检测器(实验中使用的是基于深度学习[11]的区域卷积神经网络(region-based convolutional neural networks,R-CNN)物体检测器[12],实际应用中也可以使用其他的物体检测器[13-14]); 第2部分是“自动”训练的特定属性物体分类器。 检测器最终的概率输出是物体检测器的概率输出与特定属性物体分类器的概率输出的乘积。 这种融合方式一方面充分利用了物体检测器的高精度,另一方面使得特定属性分类器相对独立,可以利用不同于物体检测特征[15]的属性敏感特征来提升属性分类器的性能。
图 2a和2b分别是“废弃的车”检测器和“车辆”检测器在同一组测试图片中检测分数最高的3个检测窗口。 可以看出,相比“车辆”检测器,“废弃的车”检测器能够从车中识别出目标。
2 特定属性物体分类器 2.1 整体流程
为了便于讨论,只探讨所有特定属性物体的关键词都已经给出的情况。 为了获取训练图片,与文[4]类似,对于特定属性物体列表中的每一个关键词,计算机从Flickr网站上搜索并下载若干被用户标记该关键词的图片。 这种标签并不一定准确,例如一张图片被标记为“废弃的车”并不代表图片中所有的车都是“废弃的车”,因此这样的训练图片被称为“弱标记”图片。
图 3是训练“废弃的车”分类器的流程图。 首先,所有的训练图片均通过物体检测器找出物体的可能位置。 由于用户在进行标注时通常关注的是图片中最显著的物体,因此为了解决弱标记的问题,物体检测器输出图片中高置信度(概率大于0.6)的检测结果中置信度最大的一个作为训练样本。 同时,使用自然语言处理工具对所有的关键词进行分析,找出每一个特定属性物体的反义词。 最后,使用支持向量机(SVM)[16]训练特定属性物体分类器。 在训练分类器时,对每一个特定属性物体来说,训练数据中的正样本是其自身关键词对应图片的检测结果,负样本是其关键词的反义词对应图片的检测结果。
2.2 特征提取
训练特定属性物体分类器需要提取一种对属性敏感的特征。 文[3-4]提出使用底层图像特征(例如SIFT[17]、Gist和LBP[18]等)以及一些美学特征(例如白平衡、锐度等)对情感概念进行分类。 但是,这些特征并不是针对特定属性物体分类设计的。
为了提取针对特定属性物体分类的特征,本文没有采用传统的图像特征,而是使用“深度特征”作为属性分类特征。 深度特征通常抽取于深度神经网络的中间层,其主要优势是可以通过学习的方法适应特定的任务。 Chen等[19]验证了卷积神经网络可以解决图像级别的情感概念检索问题。 受文[12, 19]的启发,本文同样通过微调适用于图像分类的“Deep SentiBank”网络[19]来获取适用于物体分类的特定属性物体分类网络。
由于微调深度神经网络时间复杂度很高,算法希望获取一个不仅仅针对某些特定属性物体而是可以广泛使用的属性敏感特征。 因此,VSO数据库[3]被用于微调深度神经网络,这个数据库含有664个可以检测的概念(即概念中的名词与ILSVRC 2013数据库[20]中200个可检测的类相重叠 ),可以使用这664个ANP微调整个网络。 为了使得网络能够适用这664个概念以外的其他特定属性物体,在微调网络时增加第665个标签,代表其他特定属性物体以及背景。
微调网络的方法与文[12]方法类似。 需要注意的是,特定属性物体检测的训练图片没有物体边界框的信息,因此无法直接用于微调。 为了解决这个问题,可以使用物体检测器对训练图片进行物体检测,将其输出的结果作为伪边界框用于网络的微调。 如果定义一次完整的前向-后向传播为一次迭代,微调整个网络需要迭代2.6×105次。
从网络第7层全连接层(fc-7)提取4 096维输出向量作为图片的特征,并将这个特征称为“属性敏感特征”。 为了便于比较,从物体检测网络第7层全连接层提取的4 096维特征被称为“物体敏感特征”。
2.3 自然语言处理工具训练特定属性物体分类器同时需要正样本与负样本。 在传统的物体检测或者细粒度分类问题中,由于不同子类之间是互斥的,某一特定子类的负样本可以是其他子类的所有样本。
在特定属性物体的分类中,各个概念之间的关系非常复杂。 将某个特定属性物体关键词的近义词或者不相关概念对应的样本作为该物体的负样本,会引入错误而降低检测器的性能。 为了解决这个问题,可以从一个特定属性物体的反义词对应的图片中挖掘负样本。 例如,“脏车”的图片中含有很多“干净的车”的负样本。 这种方法要求获取各个特定属性物体之间的关系。 标定特定属性物体的反义词可以人工完成,然而这种标定非常繁琐,假定有1 000个特定属性物体,则总共需要标定9.99×105对属性的关系,这需要耗费大量的时间与人力。
本文提出使用自然语言处理(natural language processing,NLP)工具ConceptNet 5[21]和Swoogle[22]来自动寻找特定属性物体的反义词。 与文[4]类似,自然语言处理工具只对形容词进行分析。 对ConceptNet 5来说,2个概念的关系如果是负面的且相关值大于0.2,则被视为反义词; 对Swoogle来说,2个概念的相关值在0.001~0.05之间时被视为反义词。 如果一个特定属性物体在2个自然语言处理工具中都没有找到反义词,那么所有其他的特定属性物体均视为它的反义词。 同时使用2个NLP工具的原因是: ConceptNet 5的准确度较高,但是其包含的概念对数目较少; Swoogle包含了更多的概念,是ConceptNet 5的一个很好的补充。
3 实 验 3.1 特定属性物体检测数据集为了评价特定属性物体检测器的准确度,本文构建了一个新的特定属性物体检测数据集。 这个数据集的图像主要有3个来源: VSO数据集[3]、多语言VSO数据集[5]以及Flickr上一些热门搜索关键词的图片。 数据库主要包含如下几种类别的属性: 颜色(如红色、蓝色)、尺寸(如大的、小的)、情感(如可爱、邪恶)以及用途(如军用的、运动的)。 不失一般性,数据库包含了4种常见的物体,分别是“车”“猫”“狗”和“人”。 这4类物体分别通过不同属性扩展成50个不同的特定属性物体,每一个特定属性物体大致包含500张图像。
从每一个特定属性物体所有的图像中随机选取40张图像作为测试图片,其余的作为训练图片。 由于特定属性物体的数目较多(192个),对每一幅测试图像标注所有的特定属性物体标签非常困难。 为了解决这个问题,可以独立构建每一个特定属性物体的测试集[4]。 具体方法是:对每一个特定属性物体,选取全部40张测试图片以及随机选取120张被标记其他属性物体(同一个物体类别)关键词的图片,构造一个包含160张图片的候选测试集。 然后人工标定这160张图片的特定属性物体的边界框,需要注意的是,这种标定只针对一类特定属性物体。 为了平衡正负样本之间数量的差异,与文[4]类似,进一步在已标定的测试集中随机选取20张正图像(图像中至少含有一个该特定属性物体)和40张负图像(图像中不包含该特定属性物体)作为该特定属性物体的测试集。 如果某一特定属性物体测试集中正图像的数量不到10,则抛弃这个特定属性物体。 最终,这个数据库包含特定属性物体192个,训练图片82 457张,测试图片8 789张。
3.2 基准方法实验中使用平均精度均值(mAP)对检测器的性能进行评价。 为了能够准确评价特定属性物体检测器每一部分的性能,本文在数据库上对多个基准方法进行了评测,这些基准方法包括:
1) R-CNN物体检测器[12];
2) 使用“一对多”方法以及物体敏感特征训练出来的特定属性物体检测器;
3) 使用“一对多”方法以及属性敏感特征训练出来的特定属性物体检测器;
4) 使用NLP找到的反义词以及物体敏感特征训练出来的特定属性物体检测器;
5) 使用NLP找到的反义词及属性敏感特征训练的特定属性物体检测器。
3.3 性能与算法比较图 4与5是特定属性物体检测器(图 4a和图 5a)以及物体检测器(图 4b和图 5b)分别在“布偶猫”和“惠比特犬” 2个特定属性物体测试集上得分最高的3个检测结果。 可以看出,利用自动训练的特定属性物体分类器,特定属性物体检测器可以很好地把特定属性物体区分出来。
图 6是特定属性物体检测器相对物体检测器在不同特定属性物体上的性能提升图。 可以看到,相对物体检测器的性能,特定属性物体检测器的性能在大多数类别上(192中的150个)有提升,在类内表观比较一致,同时与不含此属性的物体有较大区别的特定属性物体的检测上性能提升较为明显。 例如,“废弃的车”往往非常破旧,并且表面常常覆盖有铁锈,这与一般意义上的车有较大区别。 因此,“废弃的车”检测器相对“车”检测器在废弃的车测试集上有明显的性能提升。 对一些表观不太一致(如“火辣的车”)以及一些相对难以定义(如“超级狗”)的特定属性物体,特定属性物体检测器的表现并不十分理想。
不同检测器在不同物体上的检测性能如表 1所示。 可以看出,方法1的性能最差,因为其不含属性的信息。 这也说明,通过弱标记图像训练得到的特定属性物体分类器可以有效提升特定属性物体检测器的性能。 特定属性物体检测器的性能相对物体检测器的性能提高了30%,考虑到不需要人工标定特定属性物体边界框,这个性能的提升非常可观。
方法 | 类别 | 平均 | |||
车 | 猫 | 狗 | 人 | ||
1 | 0.355 | 0.321 | 0.415 | 0.258 | 0.337 |
2 | 0.405 | 0.361 | 0.457 | 0.300 | 0.381 |
3 | 0.415 | 0.368 | 0.475 | 0.333 | 0.398 |
4 | 0.433 | 0.380 | 0.471 | 0.330 | 0.404 |
5 | 0.437 | 0.398 | 0.484 | 0.363 | 0.421 |
方法1的性能优于方法2的性能,方法5的性能优于方法3的性能。 这表明,通过自然语言处理工具挖掘特定属性物体的反义词,并从这些反义词对应的图片中获取高质量的负样本可以有效提升算法性能。 其原因是: 在关键词列表中,每一个特定属性物体可能含有大量近义词或者无关联词,使用“一对多”的训练方法可能会引入大量错误负样本。 本文提出的从反义词中获取负样本的方法能够有效提高负样本的质量。
对于2种训练方法(“一对多”以及“NLP”),使用属性敏感特征都比使用物体敏感特征效果更好。 这说明在特定属性物体分类中,属性敏感特征比物体敏感特征更有效。
4 结 论本文提出使用特定属性物体分类器将物体检测器扩展成特定属性物体检测器的方法,避免了标注特定属性物体边界框的困难。 同时提出使用自然语言处理工具挖掘关键词的反义词以获得高质量的负样本的方法,并以此训练更好的特定属性物体分类器。 大量的实验结果验证了该方法的有效性。
由于通过关键词从互联网上获取的图片并不像人工标注的图片那样准确,下一步将研究如何提高训练样本的质量以及如何训练更好的属性物体分类器。
[1] | 杨德亮, 谢旭东, 李春文, 等. 基于分布式视频网络的交叉口车辆精确定位方法[J]. 清华大学学报(自然科学版) , 2016, 56 (3) : 281–286. YANG Deliang, XIE Xudong, Li Chunwen, et al. Accurate vehicle location method at an intersection based on distributed video networks[J]. J Tsinghua Univ (Sci and Tech) , 2016, 56 (3) : 281–286. (in Chinese) |
[2] | Zhang X, He F, Tian L, et al. Cognitive pedestrian detector:Adapting detector to specific scene by transferring attributes[J]. Neurocomputing , 2015, 149 : 800–810. DOI:10.1016/j.neucom.2014.07.054 |
[3] | Borth D, Ji R, Chen T, et al. Large-scale visual sentiment ontology and detectors using adjective noun pairs[C]//Proceedings of ACM MM. Barcelona, Spain:ACM, 2013:223-232. |
[4] | Chen T, Yu F X, Chen J, et al. Object-based visual sentiment concept analysis and application[C]//Proceedings of ACM MM. Orlando, USA:ACM, 2014:367-376. |
[5] | Jou B, Chen T, Pappas N, et al. Visual affect around the world:A large-scale multilingual visual sentiment ontology[C]//Proceedings of ACM MM. Brisbane, Australia:ACM, 2015:159-168. |
[6] | Wang X, Jia J, Tang J, et al. Modeling emotion influence in image social networks[J]. Affective Computing, IEEE Transactions on , 2015, 6 (3) : 286–297. DOI:10.1109/TAFFC.2015.2400917 |
[7] | Duan K, Parikh D, Crandall D, et al. Discovering localized attributes for fine-grained recognition[C]//Proceedings of CVPR. Providence, USA:IEEE, 2012:3474-3481. |
[8] | Branson S, Van Horn G, Wah C, et al. The ignorant led by the blind:A hybrid human-machine vision system for fine-grained categorization[J]. International Journal of Computer Vision , 2014, 108 (1-2) : 3–29. |
[9] | Hoffman J, Guadarrama S, Tzeng E S, et al. LSDA:Large scale detection through adaptation[C]//Advances in Neural Information Processing Systems. Montréal, Canada:MIT Press, 2014:3536-3544. |
[10] | Tommasi T, Patricia N, Caputo B, et al. A deeper look at dataset bias[J]. Pattern Recognition , 2015 : 504–516. |
[11] | Schmidhuber J. Deep learning in neural networks:An overview[J]. Neural Networks , 2015, 61 : 85–117. DOI:10.1016/j.neunet.2014.09.003 |
[12] | Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of CVPR. Columbus, USA:IEEE, 2014:580-587. |
[13] | He K, Zhang X, Ren S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on , 2015, 37 (9) : 1904–1916. DOI:10.1109/TPAMI.2015.2389824 |
[14] | Felzenszwalb P F, Girshick R B, McAllester D, et al. Object detection with discriminatively trained part-based models[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on , 2010, 32 (9) : 1627–1645. DOI:10.1109/TPAMI.2009.167 |
[15] | Li Y, Wang S, Tian Q, et al. Feature representation for statistical-learning-based object detection:A review[J]. Pattern Recognition , 2015, 48 (11) : 3542–3559. DOI:10.1016/j.patcog.2015.04.018 |
[16] | Cortes C, Vapnik V. Support vector machine[J]. Machine learning , 1995, 20 (3) : 273–297. |
[17] | Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision , 2004, 60 (2) : 91–110. DOI:10.1023/B:VISI.0000029664.99615.94 |
[18] | Guo Z, Zhang L, Zhang D. A completed modeling of local binary pattern operator for texture classification[J]. Image Processing, IEEE Transactions on , 2010, 19 (6) : 1657–1663. DOI:10.1109/TIP.2010.2044957 |
[19] | Chen T, Borth D, Darrell T, et al. Deepsentibank:Visual sentiment concept classification with deep convolutional neural networks[R/OL].[2014-10-30]. http://arxiv.org/abs/1410.8586. |
[20] | Russakovsky O, Deng J, Su H, et al. ImageNet large scale visual recognition challenge[J]. International Journal of Computer Vision , 2015, 115 (3) : 211–252. DOI:10.1007/s11263-015-0816-y |
[21] | Speer R, Havasi C. ConceptNet 5:A Large Semantic Network for Relational Knowledge[M]. Berlin: The People's Web Meets NLP, 2013 . |
[22] | Ding L, Finin T, Joshi A, et al. Swoogle:A search and metadata engine for the semantic web[C]//Proceedings of ACM CIKM. Washington DC, USA:ACM, 2004:652-659. |