学习报告:基于transformer的端到端目标检测
来源: 黄鹏燃/
华南师范大学
285
0
0
2023-09-29

    本篇学习报告《End-to-End Object Detection with Transformers》,作者是Nicolas Carion为首的Facebook AI团队,于2020年11月在ECCV上发表。

一、背景

    Detection Transformer是近三年一直都很火的目标检测框架。在现实生活中,目标检测的应用也很多,如:自动驾驶对周围一切物体的实时检测,对遥感图像的类别检测等。现如今目标检测的SOTA模型主要有YOLO和Faster R-CNN,并且在各个实际落地项目中都有了广泛的应用。而本文的DETR模型,则是创新性地将transformer模型和encoder-decoder架构加入到了目标检测中,并且通过FFN得出N个预测框,再计算图像中的框和ground truth的loss,最后得到图像类别的预测框。这其中没有anchorbox预测操作和非极大值抑制去除重复框的操作,从而实现了端到端的预测,去除了YOLO和Fater R-CNN里的一些后处理的人工操作,因此减少了DETR的训练和推理时间。

二、方法

2.1总体框架

    本文采用CNN作为backbone,通过可学习的positional embedding连接,经过transformer的encoder和decoder层,再由FFN来预测固定的N个预测框,计算和ground truth的loss,最后对图像每个物体锚框判别class。这个过程直接由训练和推理过程直接完成预测,而不需要进行anchor和NMS这样的人工后处理操作,从而减少了推理和训练时间。

2.2损失函数

    通过FFN预测出来的有N个固定的预测框,并在N个预测框里加入背景类作为预测结果。因此我们会想要将损失最小化,定义如下:

    其中 Lmatch表示分类预测和预测置信度的成对匹配损失,但本文使用的损失函数为Hungarian loss,当ci预测为背景类时,负对数概率项的权重会除以10。定义如下:

    最后就是bounding box loss,其中λiou和λL1都是超参数,定义如下:

    这两个损失函数都对每个box在batch内进行归一化处理,在论文中也称为二分匹配损失。

三、实验

    本文主要和faster R-CNN对比目标检测和全景分割的任务,使用的数据集为COCO 2017,包括118k训练图像和5k验证集,每个图像都有bouding boxes和全景分割。每个模型的训练结果如下:

    本文的DETR模型使用的baseline是经过优化处理的Faster R-CNN,且本文中DETR并没有进行FPN的特征提取和之后的deformable attention处理,因此AP也并不高。

    在消融实验过程中,由上图可以看出最基本的DETR模型相对于优化后的Faster R-CNN模型依然可以有差不多的AP甚至更高,并且参数量也大幅降低,只有FPS相对不高。

    基于上图可以看出,在通过自注意力的encoder层后,已经能够分辨出该像素区域类别的形状。

    上图可以看出,transformer的架构能够很好的将重叠在一起的类别分开,并且预测的置信度都很高。

四、总结

    本文提出了新的模型架构,一种基于transformer的端到端目标检测模型。这种基础模型的方法也能够和优化后的Faster R-CNN的性能相对比,并且由于是基础模型,DETR能够轻易的将模型迁移到别的任务中,如:全景分割。该模型的框架结构也很简单,使用pytorch代码表示甚至不超过50行,也利于学习和研究。

    但基础模型也有需要改进的地方,虽然DETR在大目标检测任务上表现很好,但小目标检测任务的表现没有Faster R-CNN好;然后就是难以优化。

    一个新的模型提出,必然要经历一段时间的改进和优化,才能有更好的性能,因此在未来的时间里这些缺陷也一定能够得到解决。

撰稿:黄鹏燃

审稿:何乐为


登录用户可以查看和发表评论, 请前往  登录 或  注册
SCHOLAT.com 学者网
免责声明 | 关于我们 | 联系我们
联系我们: