2021SC@SDUSC
CenterNet之loss计算代码解析
网络输出
# heatmap 输出的tensor的通道个数是80,每个通道代表对应类别的heatmap (hm): Sequential( (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (1): ReLU(inplace) (2): Conv2d(64, 80, kernel_size=(1, 1), stride=(1, 1)) ) # wh 输出是中心对应的长和宽,通道数为2 (wh): Sequential( (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (1): ReLU(inplace) (2): Conv2d(64, 2, kernel_size=(1, 1), stride=(1, 1)) ) # reg 输出的tensor通道个数为2,分别是w,h方向上的偏移量 (reg): Sequential( (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (1): ReLU(inplace) (2): Conv2d(64, 2, kernel_size=(1, 1), stride=(1, 1)) )
三个用于目标检测的网络,都是基于编码解码的结构构建的。
ResNet18 + upsample + deformable convolution : COCO AP 28%/142FPS
DLA34 + upsample + deformable convolution : COCO AP 37.4%/52FPS
Hourglass104: COCO AP 45.1%/1.4FPS
这三个网络中输出内容都是一样的,80个类别,2个预测中心对应的长和宽,2个中心点的偏差。