maskrcnn_benchmark理解记录——modeling\backbone\fpn.py

之前我一直不懂这个FPN怎么配合的,今天看到了,其实是在basebone.py里根据config,创建resnet后,选取指定层(Conv2~Conv5),到此文件下,进行构建FPN部分,也是在这里添加了P6层,构建成(P2~P6)完了再返给backbone.py,从而构建resnet+fpn的backbone。即build_resnet_fpn_backbone。

这个roi 是指在原图上的也就是proposals。而不是说roialign之后的roifeature
如果FPN生成的proposals越大,就在尺寸越小的特征图上取(如将proposals映射到1/32的特征图)。因为这时候框里面更可能是一个大的物体,需要在视野域更大的特征上提取特征。不然下方的特征视野域过小,看不到物体的全貌,就盲人摸象了。

        参数:
             x(list [Tensor]):每个特征层的特征图。大概是Conv2~Conv5
        返回:
             results(tuple [Tensor]):FPN图层后的特征图,大概是P2~P6  (在这里又加了一层)
                 它们是从最高分辨率开始排序的。 也就是#P2〜P6
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
import torch
import torch.nn.functional as F
from torch import nn


class FPN(nn.Module):
    "
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值