【ECCV 2018】谷歌AI超大规模图像竞赛,中国团队获目标检测冠军
精品文章,第一时间送达
转载自:新智元,未经允许不得二次转载
眼睛是人类接触外部世界的第一感官,对于机器而言,计算机视觉技术就是它们的“眼睛”。近日,百度视觉团队在全球最大规模目标检测竞赛Google AI Open Images-Object Detection Track中从全球450多支参赛队伍中脱颖而出,获得世界第一,并在ECCV 2018上进行分享。
Google AI Open Images-Object Detection Track是大规模目标检测任务的权威挑战赛事,由Google AI Research举办,赛事遵循 PASCAL VOC、ImageNet和COCO等赛事传统,但数据规模远大于这些赛事。
据介绍,大赛采用Google今年5月份发布的Open Images V4数据集作为训练数据集,包含超过170万的图片数据,500个类别以及超过1200万物体框,数据没有完全精细标注,属于弱监督任务,框选类别数目不均衡且有非常广泛的类别分布,这更符合实际情况,也意味着参加竞赛的团队需要考虑到类别的分布,而不能统一对所有类别做处理,因此更具挑战性。这项赛事有助于复杂模型的研究,同时对评估不同检测模型的性能有积极的促进作用。下图为Open Image V4 与 MS COCO 和 ImageNet 检测任务数据对比情况。
Open Image V4 与 MS COCO及ImageNet 检测数据对比情况
与传统的检测数据集合相比,该赛事除了数据规模大、更真实之外,还存在一系列的挑战。具体来说,主要集中在以下三个方面:
-
数据分布不均衡:最少的类别框选只有14个,而最多的类别框选超过了140w,数据分布严重不均衡。
类别框数量分布
-
漏标框:很多图片存在只标注主体类别,其他小物体或者非目标物体没有标注出来。
漏标注图片举例
-
尺度变化大:大部分物体框只占整个图片的0.1以下,而有些框选却占了整个图片区域。如图所示,Open Image V4集合存在更多的小物体,参赛者也会在检测数据中遇到更大的挑战。
框尺度大小分布对比
在比赛过程中百度视觉团队采用了不同复杂度、不同骨架网络进行模型的训练,并对这些模型进行融合。从整体方案框架来看,可分为Fast R-CNN和Faster R-CNN两种不同的训练模式。Fast R-CNN版本是该团队研发的一套PaddlePaddle版本,在此基础上Faster R-CNN加入了 FPN、Deformable、Cascade等最新的检测算法,模型性能实现了大幅度的提升。
整体方案框架流程图
-
骨架网络为ResNet-101 的Fast R-CNN,模型收敛后可以达到0.481,在测试阶段加入Soft NMS以及 Multi-Scale Testing策略,可以达到0.508。研究人员也尝试了其他骨架网络(dpn98,Inception-v4,Se-ResNext101),并把不同骨架网络的检测算法融合到一起,最终mAP可以达到0.546。在Proposal采样阶段,团队使用在不同位置进行不同尺度的候选框生成,然后对这些框选进行分类以及调整他们的位置。
-
Faster R-CNN: 采用这种框架可以达到略高于Fast R-CNN,mAP为0.495。在测试阶段使用Soft NMS以及 Multi-Scale Testing策略后,性能达到0.525。
-
Deformable Convolutional Networks使用Soft NMS以及 Multi-Scale Testing策略前后,性能分别达到0.528及0.559。
-
Deformable Cascade R-CNN : 使用Soft NMS以及 Multi-Scale Testing策略前后,性能分别可以达到0.581和0.590.
简言之,在Fast R-CNN框架下,该团队采用了不同的骨架网络进行训练,而在Faster R-CNN框架下只使用了ResNet101这种骨架网络进行训练。在训练过程中,还通过不同的策略有效解决了各种技术问题。详情如下:
动态采样
Google Open Images V4 数据集大概有170w图片,1220w框选,500个类别信息。最大的类别框选超过了140w,最小的类别只有14个框选,如果简单使用所有的图片及框选,需要几十天才能进行模型训练,而且很难训练出来一个无偏的模型。因此,需要在训练过程中进行动态采样,如果样本数量多则减少采样概率,而样本数量少则增加采样概率。研究人员分别进行全集数据训练、固定框选子集训练、动态采样模型训练三种策略进行。
-
全集数据训练:按照主办方提供数据进行训练,mAP达到0.50。
-
固定框选子集训练:线下固定对每个类别最多选择1000个框,mAP达到0.53。
-
动态采样模型训练:对每个GPU、每个Epoch采用线上动态采样,每次采集的数据都不同,轮数达到一定数目后,整个全集的数据都能参与整体训练。最后mAp达到0.56。
动态采样策略
FPN
基于训练数据集的分析,研究人员发现其中500个类别的尺度有很大的差异。因此他们将FPN引入到检测模型中,即利用多尺度多层次金字塔结构构建特征金字塔网络。在实验中,他们以ResNet101作为骨干网络,在不同阶段的最后一层添加了自顶向下的侧连接。自顶向下的过程是向上采样进行的,水平连接是将上采样的结果与自底向上生成的相同大小的feature map合并。融合后,对每个融合结果进行3*3卷积以消除上采样的混叠效应。值得注意的是,FPN应该嵌入到RPN网络中,以生成不同的尺度特征并整合为RPN网络的输入。最终,引入FPN后的mAP可达到0.528。
Deformable Convolution Networks
该团队采用可变形卷积神经网络增强了CNNs的建模能力。可变形卷积网络的思想是在不需要额外监督的情况下,通过对目标任务的学习,在空间采样点上增加额外的偏移量模块。同时将可变形卷积网络应用于以ResNet101作为骨架网络的Faster R-CNN架构,并在ResNet101的res5a、5b、5c层之后应用可变形卷积层,并将ROI Pooling层改进为可变形位置敏感ROI Pooling层。可变形卷积网络的mAP性能为0.552。
Cascade R-CNN
比赛中,该团队使用级联的R-CNN来训练检测模型。除训练基本模型外,还使用包含五个尺度特征金字塔网络(FPN)和3个尺度anchors的RPN网络。此外,他们还训练了一个针对全类模型中表现最差的150类的小类模型,并对这150类的模型别进行评估。得出的结论是,500类模型的MAP为0.477,而用150类单模型训练结果替换500类的后150类的结果,则模型的MAP提升为0.498。使用以上方法进行训练的单尺度模型的性能为0.573。
Testing Tricks
在后处理阶段,团队使Soft NMS和多尺度测试的方法。用Soft NMS的方法代替NMS后,在不同模型上有0.5-1.3点的改进,而Multi-Scale Testing在不同模型上则有0.6-2个点的提升。
模型融合
对于每个模型,该团队在NMS后预测边界框。来自不同模型的预测框则使用一个改进版的NMS进行合并,具体如下:
-
给每个模型一个0~1之间的标量权重。所有的权重总和为1;
-
从每个模型得到边界框的置信分数乘以它对应的权重;
-
合并从所有模型得到的预测框并使用NMS,此外,除此之外,研究人员采用不同模型的分数叠加的方式代替只保留最高分模型,在这个步骤中IOU阈值为0.5。
其实,不论是在学术圈还是工业界,大规模目标检测都是计算机视觉极为重要的基础技术。通过这一技术,软硬件应用产品可以深度定位图片中的物体位置以及类别,并用于新零售、通用多物品识别等场景。
你也许还想看:
● 基础 | numpy ndarray 之内功心法,理解高维操作!
欢迎扫码关注:
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2018/09/21/455a5d8337/