C/C++教程

Anchor Free系列模型10

本文主要是介绍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
    在这里插入图片描述
    otherwise的情况下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    2.2 offset loss
    由于三个骨干网络输出的feature map的空间分辨率变为原来输入图像的四分之一。相当于输出feature map上一个像素点对应原始图像的4x4的区域,这会带来较大的误差,因此引入了偏置值和偏置的损失值。设骨干网络输出的偏置值为在这里插入图片描述
    , 这个偏置值用L1 loss来训练:
    在这里插入图片描述
    2.3 size loss/wh loss
    在这里插入图片描述
    2.4 CenterNet Loss
    在这里插入图片描述
这篇关于Anchor Free系列模型10的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!