/RetinaNet

RetinaNet的tensorflow2.0实现

Primary LanguagePython

retinanet的主网络部分结构并不与FPN中提到的结构完全一致,retinanet使用特征金字塔层P3,P4,P5,P6,P7,
其中,P3,P4,P5与FPN中的产生方式一样,通过上采样和横向连接从C3,C4,C5中产生,
P6是在C5的基础上通过3x3的卷积核,步长为2的卷积得到的,P7在P6的基础上加了个RELU再通过3x3的卷积核,步长为2的卷积得到的。


在p3-p7层上选用的anchors拥有的像素区域大小从32x32到512x512,每层之间的长度是两倍的关系。
每个金字塔层有三种长宽比例[1:2 ,1:1 ,2:1],有三种尺寸大小[2^0, 2^(1/3), 2^(2/3)]。
总共便是每层9个anchors。大小从32像素到813像素。 32 = 32 * 2^0, 813 = 512 * 2^(2/3)


分类子网络和回归子网络的参数是分开的,但结构却相似。都是用小型FCN网络,
将金字塔层作为输入,接着连接4个3x3的卷积层,fliter为金字塔层的通道数(论文中是256),
每个卷积层后都有RELU激活函数,这之后连接的是fliter为KA
(K是目标种类数,A是每层的anchors数,论文中是9)的3x3的卷积层,激活函数是sigmoid。