FCN头部如何在RetinaNet的FPN特征上进行卷积?

我最近阅读了RetinaNet的论文,但仍未理解一个小细节:
我们从FPN(P2,…P7)获得了多尺度特征图。
然后,两个FCN头部(分类头和回归头)分别对每个特征图进行卷积。
然而,每个特征图的空间尺度不同,那么,分类头和回归头如何在所有卷积参数固定(例如3×3滤波器,步长为1等)的情况下保持固定的输出体积呢?

在查看PyTorch对RetinaNet的实现中的这一行时,我看到头部只是对每个特征进行卷积,然后以某种方式堆叠所有特征(它们唯一的共同维度是通道维度,为256,但在空间上它们是彼此的两倍)。
我很想知道它们是如何组合的,我没能理解这一点。


回答:

在每个金字塔步骤的卷积之后,你将输出重塑为形状(H*W, out_dim)(对于分类头,out_dimnum_classes * num_anchors,对于bbox回归器是4 * num_anchors)。最后,你可以沿着H*W维度连接生成的张量,现在这是可能的,因为所有其他维度都匹配,并且你可以像在具有单一特征层的网络上一样计算损失。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注