这里是keypoints Head特征提取部分。p2~p5 做keypoint head的特征提取部分,并构建了后面的层。
也就是ROIAlign→14*14*256→14*14*512→*8→14*14*512这部分
先对不同P2~P5特征图(list[Tensor])的proposals(list[BoxList])进行ROIAlign。生成5个 14*14*256的ROI特征图。接着对五个ROI特征图(list[Tensor]),逐步进行*8的卷积+relu。(5个特征图是以list形式放一起的,写在一起往后处理)
注意:没有7*7*17和后面回归的部分
'''# 整体思路:先为网络定义一个Darknet类,然后里面肯定有init,foward函数,
# 这里还有load_weight函数,在init初始化的时候,需要将利用cfg构建一个网络框架。具体关系在forward函数中'''
#todo 1. 转换输入:根据cfg文件,先把每个block单独存储(作为字典),放到blocks(列表)当中。
#一 、 在init的时候,需要利用cfg构建网络框架。需要创建两个函数parse_cfg(cfgfile) 和 create_modules(self.blocks)
#todo 2.根据blocks中的block字典信息可以创建module(nn.Sequential() #不断创造新的module),放到module_list(nn.moduleList)当中。
#二 、 再定义forward函数: def forward(self, x, CUD

本文详细记录了maskrcnn_benchmark中Keypoint Head的特征提取过程,包括从P2到P5的ROIAlign操作,以及后续的14*14*256至14*14*512的卷积网络结构。重点解析了网络构造和前向传播函数的实现。
最低0.47元/天 解锁文章
635

被折叠的 条评论
为什么被折叠?



