介绍

机器学习框架或库有时会更改该领域的格局。前不久,Facebook开源了一个这样的框架,DETR(DEtection TRansformer)

目标检测模型大小 目标检测detr_目标检测模型大小

在本文中,我们将快速了解目标检测的概念,然后研究DETR及其带来的好处。

目标检测

在计算机视觉中,目标检测是一项将对象与背景区分开,并预测图像中存在的对象的位置和类别的任务。当前的深度学习方法试图将其作为分类问题或回归问题或综合两者的目标检测任务来解决。

例如,在RCNN算法中,从输入图像中识别出几个感兴趣的区域,然后将这些区域分类为对象或背景,最后使用回归模型为所标识的对象生成边界框。

另一方面,YOLO框架(只看一次)以不同的方式处理目标检测,它在单个实例中获取整个图像,并预测这些框的边界框坐标和类概率。

要了解有关目标检测的更多信息,请参阅以下文章:

基本目标检测算法的分步介绍https://www.analyticsvidhya.com/blog/2018/10/a-step-by-step-introduction-to-the-basic-object-detection-algorithms-part-1/?utm_source=blog&utm_medium=facebook-detection-transformer-detr-a-transformer-based-object-detection-approach

使用流行的YOLO框架进行目标检测的实用指南https://www.analyticsvidhya.com/blog/2018/12/practical-guide-object-detection-yolo-framewor-python/?utm_source=blog&utm_medium=facebook-detection-transformer-detr-a-transformer-based-object-detection-approach

Facebook AI引入DETR

如上一节所述,当前的深度学习算法以多步方式执行目标检测,这些算法几乎都会遇到误报问题。为简化起见,Facebook AI的研究人员提出了DETR,这是一种解决物体检测问题的创新高效方法。

论文:https://arxiv.org/pdf/2005.12872.pdf

开放源代码:https://github.com/facebookresearch/detr

Colab Notebook:https://colab.research.google.com/github/facebookresearch/detr/blob/colab/notebooks/detr_demo.ipynb

目标检测模型大小 目标检测detr_目标检测模型大小_02

这个新模型非常简单,你无需安装任何库即可使用它。DETR借助基于Transformer的编码器-解码器体系结构将目标检测问题视为集合预测问题,所谓集合,是指边界框的集合。Transformer是在NLP领域中表现出色的新型深度学习模型。

本文作者对比了Faster R-CNN,并且在最流行的物体检测数据集之一COCO上评估了DETR 

结果,DETR取得了可比的性能,更准确地说,DETR在大型物体上表现出明显更好的性能,但是它在小型物体上的效果不佳。我相信研究人员很快就会解决这个问题。

DETR的体系结构

实际上,整个DETR架构很容易理解。它包含三个主要组件:

  • CNN骨干网
  • 编码器-解码器transformer
  • 一个简单的前馈网络

目标检测变压器

首先,CNN骨干网将输入图像生成特征图。

然后,将CNN骨干网的输出转换为一维特征图,并将其作为输入传递到Transformer编码器,该编码器的输出是N个固定长度的嵌入(向量),其中N是模型假设的图像中的对象数。

Transformer解码器借助自身和编码器-解码器注意机制将这些嵌入解码为边界框坐标。

最后,前馈神经网络预测边界框的标准化中心坐标,高度和宽度,而线性层使用softmax函数预测类别标签。