Center net 详解
由于最近换工作,很久没有开始写博客了,今天难得有空开始写进三个月来第一个博客。
这篇论文主要讲解关于检测的一篇anchor free的经典论文center net。
本文主要分成三个部分进行讲解
- 第一个部分为模型大体结构。
- 第二个部分为重要组件
- 第三个部分为loss 详解
模型结构
模型的结构主主体为decode 和 encode两个部分,总体下采样倍数为4.
文中介绍的网路结构有三种
- Resnet-18 + up conv layers
- DLA-34
- Hourglass-104
网络有一个有一个必不可少的组件。就是其head 部分。有三个分支
- heat map分支预测关键中心点
- Center offset map 预测中心点的偏移(由于resize 和下采样导致的偏移,可以不用精度会差一点)
- Height width map 预测框的长和宽
Head 组件
Heat map 的大小是w/R x h/R x C 其中 C是类别的数量。 每个类别的heatmap对应属于这个类别的中心点位。
其中中心点位的groudtruth 是根据一个高斯核得到,高斯核中方差的大小和框的大小有关。
Center offset map 是一个维度为2 的feature maps, 分别预测x, y中心点位的偏移。
Height width map 也是一个维度为2的feature maps, 分别预测框的长和宽。
Loss 详解
Loss 分成三个部分分别对应这三个重要的组件
- heat map loss 由于模型是anchor free的并不能向anchor 模型一样可以根据IOU区分背景前景用来限制背景前景的比例,所以模型中背景前景比例极端不均衡,为了解决这一问题模型使用了改良的focal loss loss function 如下图所示
其中Y 的值表示heat map中的元素值。 y^是heatmap 元素预测值。
(2)center offset map
这一部分为简单的L1 loss
- height width loss如下
最后总的loss如下
思考
文中给出一个结论, 再相同推理速度的情况下,其AP要比yolov3高四个点。
主要原因可以这么理解
因为这个文章是一个没有anchor 运算,以及FPN等一系列操作的模型。模型速度本来就快,这里可以把它看作一个关键点预测+回归模型。对比点位可比性较小,前一段时间我做过一个pose estimation的点位模型,经过优化infer可以达到8ms .
并且现在yolo 系列一直很强势, yolov4, yolov5 连接出世, 且yolov5霸榜很多榜单,速度与精度相对于v3有了极大的提升。所以这篇论文可以作为一个比较有意思的思想,对于落地很多都再使用yolo 系列。