特征合并相关(concat)
1、合并方法
(1)FPN
先用1*1卷积合并通道数,然后上采样,对应元素直接相加。如此合并之后为减少混叠效应,再用3*3卷积进行处理得到每一层级最后的特征图;除此之外,为不同层次的输出通道设置固定维数(因为所有层次都像传统的特征化图像金字塔一样使用共享的分类器/回归器)
与此同时由于FPN不同级别特征图尺寸不同所以对应的锚框大小也不同(但是长宽比例都是相同的)。另外,由于不同尺度的存在,ROI Pooling层也要设置不同的尺度(用于提取ROI)(ResNets中没有预先训练的fc层:这些层是随机初始化的)
(2)BiFPN
对于特征融合,从FPN 开始普遍采用的是一个特征先 Resize ,再和另一层的特征相加。作者认为这样的方式是不合理。因为这样假设这两层的特征有了相同的权重。考虑它们最终的贡献应该不同,因此,一个常规的想法是加入权重参数w来自动学习重要性。
2、torch.cat()函数
torch.cat ( (A, B), dim=0)接受一个由两个(或多个)tensor组成的元组,按行拼接,所以两个(多个)tensor的列数要相同。
torch.cat (