Anchor Free系列模型10

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个中心点的偏差。

  1. 损失函数
    2.1 heatmap loss
    Anchor Free系列模型10
    otherwise的情况下:
    Anchor Free系列模型10
    Anchor Free系列模型10
    Anchor Free系列模型10
    2.2 offset loss
    由于三个骨干网络输出的feature map的空间分辨率变为原来输入图像的四分之一。相当于输出feature map上一个像素点对应原始图像的4x4的区域,这会带来较大的误差,因此引入了偏置值和偏置的损失值。设骨干网络输出的偏置值为Anchor Free系列模型10
    , 这个偏置值用L1 loss来训练:
    Anchor Free系列模型10
    2.3 size loss/wh loss
    Anchor Free系列模型10
    2.4 CenterNet Loss
    Anchor Free系列模型10
上一篇:轻松解决pycharm中游标变宽的问题


下一篇:65、malloc与free的实现原理?