Retinanet网络结构简介

一、网络主干框架(resnet50, FPN, class子网络,reg子网络)

1.首先设置C1-C5层

C1

conv7x7,s=2,p=1

BN

relu

maxpool3x3,s=2,p=1

C2(3)

Block[1-3]:

conv1x1,BN,relu

conv3x3,s=1,,p=1,BN,relu

conv1x1,bn

add,relu

C3(4)

Block[1]:

conv1x1,BN,relu,

conv3x3,s=2,p=1,BN,relu

conv1x1,BN

x下采样:conv1x1,s=2,BN

add,relu

Block[2-4]:

conv1x1,BN,relu

conv3x3,s=2,p=1,BN,relu

conv1x1,BN

add,relu

C4(6)

Block[1]:

conv1x1,BN,relu,

conv3x3,s=2,p=1,BN,relu

conv1x1,BN

x下采样:conv1x1,s=2,BN

add,relu

Block[2-6]:

conv1x1,BN,relu

conv3x3,s=2,p=1,BN,relu

conv1x1,BN

add,relu

C5(3)

Block[1]:

conv1x1,BN,relu,

conv3x3,s=2,p=1,BN,relu

conv1x1,BN

x下采样:conv1x1,s=2,BN

add,relu

Block[2-3]:

conv1x1,BN,relu

conv3x3,s=2,p=1,BN,relu

conv1x1,BN

add,relu

但是train.py文件中有这一行代码:retinanet.module.freeze_bn()

个人理解是将网络结构中的BN层冻结。

2.FPN模块

Retinanet网络结构简介_第1张图片

 

3.class检测子网络

conv3x3,p=1,relu
conv3x3,p=1,relu
conv3x3,p=1,relu
conv3x3,p=1,relu
conv3x3,p=1,sigmoid

 

4.reg检测子网络

conv3x3,p=1,relu
conv3x3,p=1,relu
conv3x3,p=1,relu
conv3x3,p=1,relu
conv3x3,p=1

class与reg一开始是对每层特征图继续计算。最终的classification与regssion是将每层的class与reg进行torch.cat得到的。

以上内容纯属个人理解与记录。如有不对,可以指出,共同进步,谢谢。

你可能感兴趣的:(Retinanet网络结构简介)