查看原文
其他

低碳AI好科技(1)顶会冠军Writeup:目标检测比赛的常用方法有哪些?


ICCV 2021 VIPriors图像分类赛道和工业检测赛道的双料冠军方案有何亮点?测在工业场景有何应用?

《追AI的人》第3期直播《国际AI视觉大赛冠军方案分享》圆满结束,AAIG的三位学霸做客现场,畅聊顶会Paper的获奖方案。


接下来,我们将用文字分享3个议题,《训练AI要“什么自行车” 只用了1万辆“小破车”》,《低碳AI“如何降低超30%的成本”》,《AI一眼识别“你算什么鸟”》。本文为第一个议题,共计5175字。


🔻点击查看直播详情:三个学霸的顶会Paper中奖座谈会:《追AI的人》直播第3期来咯!


张慧明

阿里安全算法工程师,南京大学硕士。目前聚焦于安全领域的目标检测方向,内容安全算法的能力建设。

慧明,来自阿里图灵实验室,毕业于南京大学,目前的研究方向主要是安全领域的目标检测方向。此次分享主要介绍目标检测比赛的基本流程和常用方法,以及本次ICCV2021 workshop比赛的具体情况和我们的冠军方案。


框架要点


一、比赛背景二、检测比赛基本流程·  检测比赛的基本步骤·  检测性能的主要提升点三、数据集分析四、冠军方案与实验对比·  冠军方案概要、自监督预训练模型、数据增强、模型backbone、 Trick、后处理-类间NMS、实验对比与解决方案
01比赛背景



什么是目标检测?目标检测和图像分类的区别在于给定一张图片,图像分类只需要去确认搜寻目标是不是在图片里面,而目标检测则不仅需要去确认是否存在该目标物体,还需要用包围框去框出该目标物体,因此目标检测其实是一个定位加分类的任务

目标检测在工业场景有什么应用?比如说机械的零部件缺失的检测、缺陷检测、电子元器件的检测等。本次比赛应用背景是自行车的零部件存在缺失的情况,可以通过目标检测算法检测出已经存在的零部件,对于没有检测出来的零部件就会被判定为缺失。本次比赛收集了一些自行车的数据,包括完整的自行车图片数据以及残缺自行车图片的数据,我们的检测目标就是检测自行车存在的零部件。

02检测比赛基本流程


  • 我们需要了解比赛的规则。一般的比赛会对模型大小、模型预测框数量、数据以及运行时间会做一些限制,此次比赛则限制选手不能使用额外的数据,包括在其他数据集上的预训练模型。

  • 选择较好的检测开源项目。因为这些开源项目已经实现好了最新的检测模型,我们可以基于它的框架对一些模块的进行修改,这样相对于从头复现论文代码能节省大量的时间。

  • 对数据集进行分析。我们需要知道本次比赛重点考核的问题是什么。其次通过数据分析,可以对模型的超参进行设置,比如说基于Anchor-based的方法,可以通过数据分析调整Anchor的大小以及尺寸。

  • 选择合适的目标检测算法。基于Anchor-based的方法(RCNN系列和RetinaNet等);Anchor free的方法(FCOS和CornerNet等);以及one stage和two stage的方法。目标检测比赛通常会使用Anchor based +two-stage的方法。


检测性能的主要提升点在几个方面:数据增强,Backbone、FPN、检测头、loss函数、后处理方法等。比如Backbone可以选择ResNext、Res2Net和EfficientNet等,在Normalization上可以使用Sync-BN或者GN替代。也可加一些模块比如,DCN(deformable convolution network)和自注意力模型(Non-local),FPN可以采用它的升级版本,比如说bifpn等。

关于head,可以使用Cascade-head或 double-head。最后再加一些后处理的方法,比如soft-NMS、 Matrix-NMS和 WBF等方法,也可以将通过数据分析得到的先验信息,用于后处理。

03数据集分析


本次比赛采用的是自行车的图片,标签包含着自行车的22个零部件。主办方一共提供了1万张图片,包括训练集8000张验证集和测试集分别1000张。主办方对于提交次数是有次数限制的,一天最多提交一次,总共能提交20次,所以一般都会在训练集上进行训练,在验证集上进行验证得到一个比较好的模型结果之后,再在测试集上进行测试。

每张图片它都有22个零部件的标注信息,每个零部件都有4种状态,分别为完全无损的,损坏的、遮挡的以及缺失的。前三种状态,可以认为它是存在的,第4种则是不存在的。

对于第4种,标注也用boxes框进行框选,只不过标注的是缺失的部分。之后我们对训练集进行分析,统计出图像大小分布、GT boxes大小及长宽比例分布、GT boxes与图像大小比例分布以及GT boxes类别分布,从而调整训练尺度、anchor大小和比例等。

举个例子,比如有2000×2000像素的一个图像,但是它实际上要检测的目标只有20×20像素那么大,那么我们可以统计GT boxes与图像大小的比例关系,而后通过一些方法如图像裁剪将目标区域裁剪出来,将裁减后的图片用于模型的训练。

通过对训练标签类别数量的分布进行分析,当遇到某一类别数量比较少的情况,可以通过图像增强的方法来进行调整其分布,增加该类别出现的概率。当遇到某一类别数量特别多的情况,则可以通过随机采样的方法去降低该类别出现的概率。


对于比赛数据集,我们对零部件出现的位置做了一个统计分析。在训练图片中,自行车出现的位置大概是在同一块区域,并且零部件在自行车上的位置也相对固定,所以可以统计每个零部件它的大概位置情况,以及它在图片中的分布情况。同时我们也对不同零部件的数量也进行了相应分析。经分析,每个类别的实例大概在1500~6000左右,没有明显长尾分布的情况。


之后快速地迭代一个baseline模型,将baseline模型在验证集上进行验证。实验结果表明有些类别表现得比较好,比如前轮和后轮;有些类别的表现则非常差,比如说铃铛和前刹车等类别,它们的mAP值都在10%以下。

通过统计可以发现像铃铛这类零件,训练标签的平均大小为182×76像素,但是因为铃铛是一个比较小的物体,实际的大小只有50×50像素左右。我们对标签进行可视化发现它框出来的目标包含了大量背景以及其他的目标物体。

因此通过数据分析可得到结论,比赛中提供的框选目标是有问题的,它含有了很多噪声标签。一部分是标签框框成其他目标物体,一部分是标签框的范围包含大量背景。

对于框选范围过大的问题,可以通过先验统计位置的大小信息,根据先验信息去除掉噪声框。后续也可以进行后处理,比如基于 soft-NMS的后处理或基于它们之间的位置关系进行后处理。另外,也可以迭代模型,对训练集进行训练,然后用训练集预测出来的标签作为我们的训练伪标签,再加到训练集中进行训练。

04冠军方案与实验对比


我们的解决方案的话主要分两个部分,自监督预训练模型和检测模型

比赛主办方禁止选手使用任何预训练模型,因此可以采用了自监督或者无监督的方法,用比赛方提供的数据集去做预训练。检测算法是基于Cascade RCNN ResNet50的模型,然后再加DCN和Group Normalization模块。


预训练模型采用的是基于动量对比的无监督视觉表征学习(Moco)方法,它的主要思想是通过学习区分样本对的特征来学习到一个比较好的特征。样本对主要分为两种,分别为正样本对副样本对

两个样本来自于同一张图片,那么两个样本就是一组正样本对;两个样本来自于不同图片,那么两个样本就是一组负样本对。如果是正样本对,那么它是相似的;如果是负样本对,那么它是不相似的。所以说它的 Loss函数就是一个分类交叉熵损失函数。


在模型训练的时候,我们会用数据增强的方法来对训练数据进行增强,方法包括添加噪声、滤波、transform、亮度变化等。我们也会对图像进行融合和裁减等,比如说MixUp,CutOut,CopyPaste等。针对小目标物体,我们可以把它从图片中抠出来放到另外一张图片中,在进行相应处理。


我们采用的backbone模型是基于Cascade RCNN和 ResNet50,后处理方法采用的是soft-NMS。为什么我们不用更好的检测网络模型或网络更深的模型,因为网络更深的模型和更好的检测模型框架并不能在mAP上带来任何增益。

我们在训练集上进行测试,它的mAP也只有33%左右。也就是说,即使检测器的检测性能非常好,网络的深度更深,但是如果它的测试标签含有有噪声标签,因此它的测试性能有可能是没有提升的。所以说我们的提升点不在于更好的检测器或者更深层次的网络。


由于模型的参数属于高维空间,SGD训练出来的模型,往往会收敛在最优解的边界区域(如图右侧),当对边界区域的几个模型进行平均后,它可能会更接近于最优解。

我们使用了Cyclic learning rate的方法,先初始化一个较高的学习率,在一个epoch里迅速降低到较低的学习率,然后保存每个epoch权重参数checkpoint,最后将所有的checkpoint平均得到的模型会接近于最优解。


对于刚接触目标检测的小白来说,一般会认为右侧的检测效果要比左侧好,实际上并非如此。阈值设定的越低,mAp反而会越高,但是也会带来大量FP的问题。


如图所示,红色框和黄色框分别标注出了前车轮和前挡泥板的坐标,蓝色框是预测的前车轮的目标框。从图中可以看出,蓝色框与黄色框有许多重叠部分,可以通过计算它们之间的Iou值以及类间的预测框来减少FP的问题。


模型训练完之后,我们会对错误进行分析和统计。我们用到的统计工具Tide,一共分为6种错误信息,包括分类错误、定位错误、分类+定位错误、预测框重复、将背景预测为目标、漏检等问题。通过分析结果可知,最多的是定位问题


图中是我们比赛中用到的解决方案。在检测比赛中,前10名的得分差距非常小,因此一些trick的改进就非常有效。本次比赛中,我们使用了自监督预训练模型、baseline模型+DCN + Group normalization、数据增强等方法,Cyclic learning + SWA、多尺度训练 + 多尺度测试、Soft-NMS、基于先验知识的后处理方法、预测结果Ensemble等。


从表1可以看出,我们实验了无预训练模型直接随机初始化、ImageNet预训练以及三种自监督的模型预训练方法(DenseCL,InstanceLoc和Moco),使用自监督的模型预训练方法相比于使用ImageNet预训练模型初始化都有提升。

其中MoCo预训练方法效果最好,使用MoCo自监督预训练模型比使用ImageNet预训练模型在mAP提升了0.65%,比没有使用预训练模型提升了1.15%。

从表3可以看出,soft-NMS能在NMS基础上提升1.57%,soft-NMS能提升这么多是因为测试标签中含有大量的噪声标签,模型预测准确的预测框不一定是最贴合Ground Truth的。因此通过soft-NMS可以保留下得分低但是更贴合gt的预测框,从而大大的增强模型的召回率,使用soft-nms之后模型的召回率提升了4%。


Table4 给出了我们实验所有的方法和trick,模型的自监督预训练、DCN/GN、TTA、soft-nms、emsemble等,最终我们将baseline模型mAp从28.40提升到30.92。需要注意的是由于测试集噪声标签的影响,模型在训练集上的mAp也只有33.17。

 关注AAIG公众号收获更多干货


 PPT原件下载

请添加【AAIG课代表】微信号




追AI的人 往期推荐点击标题查看文章

三个学霸的顶会Paper中奖座谈会:《追AI的人》直播第3期来咯!



(下)算法黑箱到底要不要打开?万字长文讲述:如何构建更合理的算法透明规则



算法黑箱到底要不要打开?万字长文讲述:如何构建更合理的算法透明规则(上)



打通外卖骑手算法的任督二脉:《追AI的人》直播第2期



50页!《AI与安全治理的恩怨情仇》PPT快来下载~真香!



正在直播!AI讲师的PPT里竟然还有软色情...



AI与安全治理的恩怨情仇?《追AI的人》第1期直播来咯!


产业实践 往期推荐点击标题查看文章

博士毕业后,他在淘宝“扫垃圾”?



阿里AI黑科技成团出道,可防火防伪防疫还能反诈鉴黄与打假……



阿里“塔玑”太逼真:外籍模特不再吃香?



万能的淘宝上买不到什么?



阿里建全球最大奢侈品商标数据库:无偿提供给全球科研团队使用识别假货



AAIG参与发布《人工智能产业担当宣言》



一场猎杀AI的残酷游戏:把枪口对准人工智能,是为了吓退黑暗丛林中的对手



阿里实人认证安全性通过FIDO全球权威认证



多举措提升直播品质 阿里协助警方侦破直播售假案



为AI攻防测能力,清华联合阿里、RealAI发布全新测试基准平台Adversarial Robustness Benchmark



阿里巴巴成立人工智能治理与可持续发展实验室(AAIG)



巡检「局部抄袭」,阿里服饰版权算法入选AAAI 2020



阿里新一代安全架构核心AI技术夺冠,机器阅读理解准确率战胜人工



复工潮的疫情防控多了一双“火眼金睛”——AI防疫师



阿里研发AI技术可识别拦截数十国多语种脏话图



为了对付羊毛党和黑灰产,电商平台的AI大招是这样放的



阿里自研芯片亮相的同时,张勇对外公布了这一计划



治理重构,塑造平台经济的健康生态——《中国平台经济健康指数》报告发布


技术干货 往期推荐点击标题查看文章

AI在茫茫人海中,看到只有你被Deepfake了



给AI系统做“安全体检”,阿里安全提出自动化AI对抗平台CAA | AAAI 2021



给图片打「马赛克」可骗过AI视觉系统,阿里安全新研究入选ICCV 2021



你算个什么鸟?AI十级“找茬”选手诞生



「启发式领域适应」成果入选NIPS2020,新一代算法「鉴黄师」诞生



4项新一代安全架构核心AI技术沉淀的论文被国际会议ICASSP收录



用“算法”模拟光束可攻击自动驾驶车辆,专家呼吁重视AI安全



张钹院士解读AI安全治理三大痛点+信通院AI数据安全治理的七条建议



准确检测DeepFake视频,阿里新算法从多个人物中识别被篡改的人脸



只要AI跑得快,色情黑话就追不上我



让 AI 训练 AI:揭秘阿里、浙大的 AI 训练师助手



阿里AI技术获国际视觉大赛双冠军 “低碳AI”降低30%算力成本


大咖视角 往期推荐点击标题查看文章

阿里巴巴副总裁陈龙:数字科技是绿色低碳发展的催化剂、连通器、放大器



阿里巴巴CTO程立:科技的价值锚点永远是“人”


爱心公益 往期推荐点击标题查看文章

为数十万盲人修建网络盲道:阿里的追光者每天为数亿张图片把脉,帮助盲人“听图”




半夜,他偷偷在互联网上呼救



被隔离的阿里安全工程师们:11 天造出疫情 AI 防控系统


AAIG CUP 往期推荐点击标题查看文章

抱大腿攻击是什么?AAIG CUP暨第三届 Apache Flink 极客挑战赛启动!


更多人工智能治理和可持续发展

技术干货+产业实践分享

点击下方名片关注和星标

【阿里巴巴人工智能治理与可持续发展实验室】


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存