点击上方“计算机视觉工坊”,选择“星标”
干货第一时间送达
作者丨小马
编辑丨极市平台
导读
作者专为目标检测任务“量身定制”了对比学习框架DetCo,在PASCAL VOC数据集上,DetCo在100个epoch时的性能就与MoCo V2 800个epoch的性能差不多,最终性能优于Mask RCNN-C4/FPN/RetinaNet等监督学习的方法。
深度学习两巨头 Bengio 和 LeCun 在 ICLR 2020 上点名 Self-Supervised Learning 是 AI 的未来。在Self-Supervised Learning的代表工作之一—— Contrastive Learning(对比学习)上,Hinton 和 Kaiming 两位大神在这个领域中提出了一系列代表工作MoCo、SimCLR、MoCo V2。而目前的对比学习工作大多是基于分类任务被提出,而由于分类任务和检测任务的不同,在分类任务上适用对比学习框架,不一定适用于目标检测。因此,作者专为目标检测任务“量身定制”了对比学习框架DetCo,在PASCAL VOC数据集上,DetCo在100个epoch时的性能就与MoCo V2 800个epoch的性能差不多,最终性能优于Mask RCNN-C4/FPN/RetinaNet等监督学习的方法。
论文地址:https://arxiv.org/abs/2102.04803
代码地址:https://github.com/xieenze/DetCo
视觉表示的自监督学习是计算机视觉中的一个重要问题,促进了许多下游任务。其中目前比较流行的方向之一是对比学习,它将一幅图像通过数据增强转换为多个视图,并最小化来自同一图像的视图之间的距离并最大化来自不同图像的视图之间的距离。
目前的对比学习方法大多旨在在分类任务上达到与监督学习类似的performance,但是由于分类任务和检测任务存在不同,而先前的方法又忽略了这种不同,所以将以前的对比学习方法用在检测任务上时,就会产生suboptimal的问题。比如:
第一,由于每张图片只属于一个类,图像分类通常是使用交叉熵等1-K形式的损失函数,这在目标检测中存在争议,因为一个图像通常有许多不同类别的对象。
第二,目标检测通常需要对局部图像区域进行对象分类和框回归,但图像分类只需要全局图像表示。
第三,最近先进的目标检测器通常在多层次特征上预测目标,而图像分类器通常学习高级判别特征(即最后面的特征)。
为了能够使得对比学习框架能够在detection、segmentation、pose estimation等下游任务上也能表现出非常好的性能。本文首先研究了最新的自监督方法存在的图像分类精度与目标检测精度之间的不一致性 。然后,作者提出了三种的practice ,以适应目标检测任务。最后,根据这些practice,作者设计了DetCo 。
本文的贡献点可以分为三个部分:
1)证明了当以前的自监督学习表示被转移到下游任务时,图像分类和目标检测之间准确性的不一致。
2)提出了一种新的检测友好自监督方法,DetCo,它能够结合多个全局和局部对比损失,以提高目标检测任务中对比学习的特征表示。
3)基于Palcal VOC、COCO和Cityscapes数据集,当转移到检测、分割、姿态估计等下游任务中时,DetCo优于以前的SOTA方法。
作者详细分析了最近的自监督学习方法的图像分类和目标检测方法的性能,发现分类任务的performance和检测任务基本不一致。作者对比了监督的ResNet50、Relative-Loc、MoCo v1、MoCo v2和SwAV。
如上图所示,在分类任务上,SwAV达到最佳的Top-1准确率72.7%,但是在检测任务中,MoCov2达到57.0%的mAP,而SwAV仅只有54.5%。这表明,同一个网络结构的分类和检测的准确性不一致,相关性较低。
从上图可以看出,虽然Relative-Loc的VOC分类性能远低于其他方法,但检测性能具有竞争力。这表明,对于目前的自监督学习方法,图像分类的传输性能与目标检测的相关性较低。
为什么这些方法的检测性能如此不同?
MoCov1和v2是对比学习的方法,而SwAV是一种基于聚类的方法 。因此,SwAV的训练过程在一定程度上与监督分类方法相似 。因此,与对比学习方法相比,基于聚类的方法对图像分类任务更友好,这就是为什么SwAV与监督的ResNet在图像分类和目标检测任务上具有相似的性能 。
此外,作者认为对比学习方法比基于聚类/分类的目标检测方法更好,还有一个原因是,基于聚类的方法假设先验是一个给定的图像中只有一个对象 ,这与对象检测的目标不对应的。而对比性的学习方法并不需要这样的先验知识,它从整体的角度来区分图像。
为什么不是基于对比学习的Relative-Loc也能在检测任务上具有非常好的性能?
从上图可以看出,虽然Relative-Loc(结构如下图所示)在分类任务上表现一般,但是在检测任务上性能还是比较好的。作者考虑了两个原因:
1)Relative-Loc不仅使用了最后的特征,而且使用了浅阶段的特征,具有较强的识别能力。
2)Relative-Loc专注于预测局部patch之间的相对位置,这对检测任务有利。
设计针对目标检测任务的对比学习框架,指导原则是什么?
针对上面的分析,作者提出了三个原则:
1)基于对比学习的方法比分类或聚类好。
2)同时保持低级和高级特征来进行目标检测。
3)除了全局图像特征外,local patch特性对目标检测也至关重要。
根据上面提出的guideline,作者基于MoCov2结构,加入了多阶段对比损失和跨局部和全局对比,提出了DetCo,如上图所示。DetCo的损失函数函数为多阶段,跨尺度的对比损失函数之和,具体表示如下:
为了满足上面的guideline2,作者将一幅图像送到一个标准的主干ResNet-50,它输出来自不同阶段的特征,称为Res2、Res3、Res4、Res5。MoCo只使用Res5,但本文使用所有级别的特征来计算对比损失。输出的特征,作者分别送入到4个参数不共享的MLP中,得到4个q和4个k,对于每一层的特征,损失函数如下:
本文的损失函数为4层特征的损失函数之和:
为了满足上面的guideline3,作者增强了DetCo的Local Patch表示,使用jigsaw augmentation将输入图像转换为9个Local Patch。这样,就减少了全局图像的上下文信息。这些Patch通过编码器,就可以得到9个局部特征表示。之后,将这些特征组合为一个特征表示,并构建一个跨全局和局部对比损失。具体方式为将这9个特征concat之后,放入到另一个MLP中,得到特征表示。
因此就可以得到了Global - Local 和Local - Local的对比,损失函数如下:
HIC为分层对比损失,从上表的(a)和(b)可以看出,加入多层特征之后,分类任务的准确率下降了,但是检测任务的准确率上升了。
CGLC为跨Local和Global对比,从上表的(c)和(b)可以看出,加入跨Local和Global对比之后,分类和检测任务的性能都上升了。
只用100个epoch的预训练,DetCo几乎达到了与MoCov2-800ep相同的性能。此外,DetCo-800ep达到了58.2mAP和65.0 AP75的SOTA性能。
上表展示了standard 1× schedule上的Mask R-CNN结果,DetCo在所有指标中优于MoCov2和其他方法。
上表的2-3列展示了one-stage检测器RetinaNet的结果。DetCo预训练也优于ImageNet监督方法和MoCov2。
上表的最后一列展示了DetCo在人体关键点检测任务上也能达到比较好的性能。
DetCo在实例分割和语义分割任务上也能达到比较好的性能。
在3D Human Shape Prediction任务上,DetCo也达到了很好的性能。
虽然本文的结构是为检测任务设计的,但是在分类任务上,本文的结构依旧能够达到比较好的性能。
上图可视化了DetCo和MoCov2的attention map。可以看到,当图像中有多个对象时,DetCo成功地定位了所有对象,而MoCov2则无法激活某些对象。
首先,作者详细分析了一系列自监督方法,并得出了分类和检测任务性能不一致性的结论。其次,作者提出了三个practice来设计一个对于检测任务友好的自我监督学习框架。第三,按照practice的做法,作者提出加入具有分层中间对比损失和跨全局和局部对比。最终DetCo在一系列与检测相关的任务上取得了最先进的性能。
本文的Motivation是解决了以前对比学习框架专注于提升分类任务的性能,从而忽略其他任务性能的问题。而作者设计了一些非常有效的结构使得模型的泛化性提高,能够适应不同的任务。基于对比学习的预训练是为了得到一个非常general的特征,因此个人觉得,作者跳出了特定任务的性能提升,将格局放大,旨在提升更多任务的性能,使模型更具泛化性,是非常有意义的。
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。
下载2
在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。
下载3
在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。
重磅!计算机视觉工坊-学习交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题