首页 > 科技 >

细粒度物体检测算法的升级揭秘

2019-10-10 16:31:19 暂无 阅读:1815 评论:0

EasyDL是百度大脑的定制化模型练习和办事..,用户经由EasyDL能够低成内陆练习本身的深度进修模型,从而获得结果优异的定制化AI办事。自上线以来,EasyDL的用户规模和使用场景敏捷增进,也收到了深度进修业内子士的赞赏和青睐。在浩瀚模型使用场景中,小方针物体的检测对照常见,一样的方针检测算法往往结果不睬想;是以,EasyDL团队针对小方针物体的检测进行了专项优化,并取得了令人瞩目的结果提拔。

自AlexNet在2012年ImageNet竞赛上展露头角以来,较量机视觉各个偏向和神经收集的关联变得更加慎密,物体检测也不破例。2014年的RCNN[1]是代表之一,它在传统的Selective Search根蒂上,行使AlexNet来提取特征进行分类。随后在2016年,完全依靠神经收集完成端到端的识别和练习的FasterRCNN[2]也同样证实神经收集在物体检测义务上的伟大优势。本文我们会先简洁介绍FasterRCNN的检测方案,然后针对各类后续改善,尤其是小方针检测的改善内容,进行分类介绍。

FasterRCNN检测方案使用CNN收集来提取特征图(feature map),然后在特征图的每个单元(cell)上基于锚框(anchor box)去做是否有物体的二分类义务,及物体相对于锚框位移的回来义务。这个阶段被称作Region Proposal Network(RPN)。一些方式把这里的二分类义务加上关心的类别直接完成整个检测义务,如YoloV1[3],被称为单阶段(single stage)的检测方式。

而FasterRCNN在RPN拿到候选框(Region of Interest, RoI)之后,会把特征图上所有候选框位置的区域抠出来,然后行使线性插值把它们调整到沟通巨细。这个把持被称为RoI pooling。经由RoI pooling之后,本来特征图上的分歧候选区都有了沟通的巨细,我们在后背去接卷积层和全保持层的头部收集(head network)就能够展望最终的物体类别和物体位置了。所以FasterRCNN被称为两阶段(two stage)方式,RoI pooling就是保持这两个阶段的枢纽。

细粒度物体检测算法的升级揭秘

除了上面所说的首要收集构造外,FasterRCNN还有一些主要的练习和展望的细节:在预备练习数据时,会先将真实的标注框和收集锚框做成家,成家的原则是两者的IoU要大于阈值(0.5),且IoU大者优先。因为会有大量的锚框成家不到真实框,所以实际练习时会对成家不到真实框的负例锚框做采样,包管它和成家到真实框的正例锚框比例平衡。在第一阶段和第二阶段里,一样分类的损失函数用交叉熵,框回来的损失函数用Smooth L1。在RPN展望候选框和第二阶段展望检测框的时候,还会对输出究竟做非极大值按捺(NMS)以削减输出框数,并过滤大部门的配景框。能够看到在FasterRCNN中包含主体的CNN收集、锚框和RPN收集、RoI pooling、分类和回来损失函数、标注框和锚框成家采样、NMS等各个组件。

细粒度物体检测算法的升级揭秘

2016年,研究人员提出了SSD(Single Shot MultiBox Detector)[4]的单阶段检测模型,使得检测的速度大大提拔,而且精度更高。检测速度提拔来自于它去除了FasterRCNN里的RoI pooling和第二个阶段,因为其时还没有GPU能实现高效的RoI pooling。精度的提拔来自于它采用了分歧标准的多个特征图,如下图所示。分歧标准的特征图上每个cell的感触野各有分歧,因而更适合用来展望分歧尺寸的物体。SSD仍然采用了锚框的体式(文章中称为 default box),在6个分歧尺寸的特征图上针对锚框做出展望,并对所有的展望究竟做NMS后处理获得最终的展望框。在YoloV2[5]中,也采用了这种多标准特征图的体式。

细粒度物体检测算法的升级揭秘

跟着检测手艺的成长,SSD模型也露出了本身的瑕玷,固然它行使多标准特征来展望分歧尺寸的物体,然则对于小方针的检测平日欠安。一样来说小方针的检测究竟来自最底层的特征图,好比上图里的Conv5_3 layer。然则它处于收集的前几层,提取的语义特征并不雄厚,或者没法子提取到物体的抽象特征。因而学者们就若何将高层雄厚的语义特征融合进底层特征图进行了测验。2017年,有研究者提出了DSSD(Deconvolutional Single Shot Detector)[6],收集构造如下图。DSSD是在SSD的根蒂上,到场了Deconvolution模块,将高层语义信息雄厚的特征图放大尺寸,然后和底层位置信息雄厚的特征图相加,获得更好的特征用来展望小方针的物体。

细粒度物体检测算法的升级揭秘

2017年的另一项工作FPN(Feature Pyramid Networks)[7]就更有名了,它的思路跟上面雷同。作者开导于在传统物体检测方式中,图像金字塔是一个非常主要的手段,并且在深度进修方式风行之后多标准的测试仍然可以有效地提拔检测结果。并且SSD中多标准特征处理已经初步验证了在CNN特征层上做多标准的有效性。FPN总体上分为两个部门。第一个是自底向上的部门:如在ResNet的收集里分歧巨细的特征图会分为分歧的stage,每个stage的最后一层特征被选为响应级别(level)的特征。第二个部门是自顶向下的过程和侧向保持,它采用上采样的体式将顶层的特征图放大到上一个级别特征图的巨细,然后与之融合。融合后的特征便拥有了底层特征的位置信息和顶层特征的语义信息,可以更好地完成小方针检测义务。FPN可以风行的另一个原因是它应用场景非常普遍,既能应用在两阶段的FasterRCNN中,也能够用在单阶段检测方式如RetinaNet[8]中,还能够应用在实例朋分MaskRCNN[9]中。

细粒度物体检测算法的升级揭秘

------朋分线

FPN固然带来了检测结果上的提拔,但也带来了较量量更多的问题(额外的上采样和跳层较量)。SNIP中的实验发现基于更大差别率图像(RetinaNet中平日练习尺寸为(1333,800),此处放大至(2000, 1400))练习的模型能够提高对小方针物体的检测,但对中大物体的检测反而会受到负面影响。练习数据中那些尺寸非常大或非常小的object会影响练习结果,是以这篇文章限制了分歧尺寸的object在练习过程中的梯度回传。

SNIP[10]借鉴了Multi-Scale Training(MST)的思惟,multi-scale training/testing最早见于[11],练习时,预先界说几个固定的标准,每个epoch随机选择一个标准进行练习。测试时,生成几个分歧标准的feature map,对每个Region Proposal,在分歧的feature map上也有分歧的标准,我们选择最接近某一固定尺寸(即检测头部的输入尺寸)的Region Proposal作为后续的输入。在[12]中,选择单一标准的体式被Maxout(element-wise max,逐元素取最大【cascade rcnn中就是】)庖代:随机选两个相邻标准,经由Pooling后使用Maxout进行归并,如下图所示。

细粒度物体检测算法的升级揭秘

常见的是multi-scale training只是从多个标准中随机遴选一个标准去练习,实际中照样单个标准的练习。而multi-scale test则是对单张图片进行展望后一路进入NMS阶段。

在MST方式中,因为练习数据中尺寸极大或极小的方针会影响实验究竟,是以SNIP的做法就是只对尺寸在指定局限内的方针回传损失(该局限需接近预练习模型的练习数据尺寸);也就是说练习过程实际上只是针对这些方针进行的,如许就能削减domain-shift带来的影响。又因为练习过程采用了雷同MST的做法,所以每个方针在练习时都邑有几个分歧的尺寸,那么总有一个尺寸在指定的尺寸局限内,是以很难显现漏掉方针的情形。

细粒度物体检测算法的升级揭秘

为了能对多标准物体能进行更精准的识别而且可以降低较量压力,SNIPER[16]另辟门路,对每个标准大类下都维护一个重点存眷区域(chips)。chips是图片的某个scale上的一系列固定巨细的(好比KxK个像素)的以恒定距离(好比d个像素)排布的小窗(window),每个window都或者包含一个或几个objects。

细粒度物体检测算法的升级揭秘

从原图也能够看出,原图中有一大部门的配景区域(没被postive chip笼盖的区域)被丢弃了,并且实际上彀络真正输入的是chip(比原图差别率小好多),这对于削减较量量来说很主要。这个处所很巧妙,在分歧的scale上截取沟通巨细的chip,并且包含的是不完全沟通的方针。这个体式很接近RCNN。对较小的方针起到一种zoom in的感化,而对较大的方针起到一种zoom out的感化。而对于收集来说,输入的照样固定巨细的chip,如许的构造加倍接近于分类问题收集的拓扑。因为练习时使用的是较低差别率的chip,SNIPER可以解脱对较高差别率图像的依靠。所以batch也能够做的很大,好比能够做到每张卡20的batch。

今朝主流的方针检测方式大体分为两类:single-stage和two-stage。然而还有另一类方式,固然不是主流,但依然能取得SOTA的机能,这就是anchor-free的方式,代表算法有CornerNet、ExtremeNet、FSAF(CVPR2019)等。Anchor free based method一样采用bottom-up的思路,师长成带有类别信息和位置信息的feature map。CornerNet[13]顾名思义,展望左上角和右下角来获得最后的bounding boxes。所以最根基的需要两个feature map透露对应的Corner,文中称为heatmap。如下图所示,两个heatmap离别透露top-left(左上角)和bottom-right(右下角)的corner,作者借鉴Associative Embedding method(NIPS2017)行使了两个embedding层做grouping把持,将属于统一个object的corner聚合都一路获得最后的bounding box。

细粒度物体检测算法的升级揭秘

模型的整体构造如下图,backbone采用hourglass network以获得高质量的feature map,接两个分支离别展望top-left Corner 和bottom-right Corner,两个分支的构造完全一般。

细粒度物体检测算法的升级揭秘

CornerNet-Lite[14]是CornerNet两种变形的组合:一个是CornerNet-Saccade,基于attention机制,从而并不需要对图片中的每个像素做详尽的处理。另一个是CornerNet-Squeeze,引入了新的复杂的backbone构造。连系这两个变形能够应用到两个主要情形中:在不降低正确率的情形下挺高效率,同时,在实时检测过程中提高了正确率,CornerNet-Saccade即适合做离线处理,也适用于实时的检测。

CornerNet-Saccade经由削减处理的像素的个数来提高inference的效率。行使一种雷同于人眼扫视的注重力机制,首先经由一个下采样后的输入图片,生成一个attention map,然后再将其进行放大处理,接着进行后续模型的处理。这与之前原始的CornerNet在分歧尺寸上使用全卷积是有区其余,CornerNet-Saccade经由选择一系列高差别率的裁剪图来提高效率及正确率。

CornerNet-Squeeze经由削减每个像素的处理过程来加快inference,其连系了SqueezeNet及MobileNet的思惟,同时,引入了一个新的backbone hourglass,行使了1x1的卷积,bottleneck层及深度星散卷积。

CornerNet珠玉在前,方针检测问题酿成了一个尺度的要害点估量问题。我们仅仅将图像传入全卷积收集,获得一个热力争,热力争峰值点即中心点,每个特征图的峰值点位置展望了方针的宽高信息。模型练习采用尺度的监视进修,推理仅仅是单个前向流传收集,不存在NMS这类后处理。

细粒度物体检测算法的升级揭秘

CenterNet[15]比拟较传统方针检测而言(缩放16倍标准),使用更大差别率的输出特征图(缩放了4倍)是以更有利于小方针检测。测试时能够使用flip增加,multiscale test增加的体式。个中flip的体式是直接将最后一层的feature map进行融合,MST则是经由nms的体式进行整合。

直观上,当我们看到一幅图片时,我们首先存眷的是图像中对照精明的影像。一样来说,这些精明的影像往往在图中所占的比例对照大,而比例较小的方针往往会被我们忽略。数据集中也存在这种情形,好多图像中包含的小物体并没有被标出。此外,小方针地点区域较小,在提取特征的过程中,其提取到的特征也会非常少,这些都晦气于我们对小方针的检测。

[17]经由剖析COCO数据集,能够发现大部门的小方针都集中在一些少量的图片中。这就导致在练习的过程中,模型有一半的时间是进修不到小方针的特征的。此外,对于小方针,平均可以成家的anchor数量为1个,平均最大的IoU为0.29,这解说好多情形下,有些小方针是没有对应anchor的,或许对应的anchor非常少,且即使有对应的anchor,他们的IoU也对照小,平均最大的IoU也才0.29。有如下两种改善方式:

1)对于数据集中含有小方针图片较少的情形,使用过度采样(oversample)的体式,即多次练习这类样本。

2)对于第二类问题,则是对于那些包含小物体的图像,将小物体在图片中复制多分,在包管不影响其他物体的根蒂上,人工增加小物体在图片中显现的次数,提拔被anchor包含的概率。

细粒度物体检测算法的升级揭秘

方针检测近两年的进展放缓,但仍然有好多值得存眷、值得深究的处所。连系实际前提来看,方针检测在实际运用场景中仍有好多优化空间。百度大脑EasyDL也将持续把更多与场景连系的、深入优化预练习的模型开放给用户,加快鞭策AI的财富落地。

参考文献

[1]. Ross Girshick, 2014, Rich feature hierarchies for accurate object detection and semantic segmentation

[2]. Shaoqing Ren, 2016, Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

[3]. Joseph Redmon, 2015, You only look once: Unified, real-time object detection

[4]. Wei Liu, 2016, SSD: Single Shot MultiBox Detector

[5]. Joseph Redmon, 2016, YOLO9000: Better, Faster, Stronger Joseph

[6]. Cheng-Yang Fu, 2017, DSSD : Deconvolutional Single Shot Detector

[7]. Tsung-Yi Lin, 2017, Feature Pyramid Networks for Object Detection

[8]. Tsung-Yi Lin, 2018, Focal Loss for Dense Object Detection

[9]. Kaiming He, 2018, Mask R-CNN

[10]. An Analysis of Scale Invariance in Object Detection – SNIP

[11].Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

[12].Object Detection Networks on Convolutional Feature Maps

[13].CornerNet: Detecting Objects as Paired Keypoints

[14].CornerNet-Lite: Efficient Keypoint Based Object Detection

[15].CenterNet :Objects as Points

[16].SNIPER: Efficient Multi-Scale Training

[17].Augmentation for small object detection

相关文章