【问题标题】:What is an object detection "head"?什么是物体检测“头”?
【发布时间】:2019-03-31 10:59:33
【问题描述】:

我目前正在阅读 SSD Single Shot Detector,但有一个术语我很难理解。这个词是“头”。一听到这个词,我就想起了网络掌门人,一如当初。

我查看了 google 创建的 object detection API,发现 "heads" folder 具有不同的头部类型,一种用于框编码,另一种用于类预测。

抽象“头”类的文档并不是很有启发性:

不同模型中所有不同种类的预测头都会继承 从这堂课。所有头类之间的共同点是它们都有一个 predict 函数接收 features 作为其第一个参数。

我想我对它们有较高的了解,但我对它们没有具体的定义。有人可以定义“头”并解释如何拥有“框预测头”或“分类头”吗?

【问题讨论】:

    标签: machine-learning neural-network computer-vision conv-neural-network object-detection-api


    【解决方案1】:

    在某些领域,head 是表示某事开始或开始的术语。 在这个领域它是不同的。 在计算机视觉的许多任务中,您通常使用“主干”,通常在 ImageNet 上进行预训练。这样,主干被用作特征提取器,它为您提供输入的特征图表示。 现在你有了这样的特征图,你需要执行实际的任务,比如检测、分割等。 你这样做的方式通常是在特征图上应用一个“检测头”,所以它就像一个连接到主干上的头。

    在对象检测的情况下,您需要两种输出类型:分类置信度和边界框。它们可以是两个不同的解耦头(例如 RetinaNet),也可以是一个计算两个输出的头(例如 SSD)。在这两种情况下,您都需要指出解释输出的确切方式。例如,边界框回归输出,它们是否与锚相关?或者可能相对于整个图像?分类置信度 - 您是否在输出上使用 softmax 来接收置信度?等等

    【讨论】:

    • 好像在主干和头部之间,还有一个叫“颈部”的部分。请您也详细说明一下吗?或者指出术语“骨干/颈部/头部”的起源。谢谢!
    • 非常简单,模型的结构是这样的:输入 -> 主干 -> 颈部 -> 头部 -> 输出。对于目标检测模型,主干提取特征(通常是用于图像分类的网络的一部分),颈部提取一些更精细的特征(例如查看特征金字塔网络),头部计算输出。跨度>
    猜你喜欢
    • 1970-01-01
    • 2017-08-20
    • 2015-10-23
    • 2022-12-04
    • 2020-10-30
    • 1970-01-01
    • 2013-12-15
    • 2011-08-06
    • 1970-01-01
    相关资源
    最近更新 更多