论文链接:https://arxiv.org/pdf/1909.00700.pdf
代码:https://github.com/ZJULearning/ttfnet
启示
1. 单纯的数据扩增虽然能增加数据的数量,但是也会降低数据的质量,导致需要更多的训练时间才会收敛。
2. 根据Linear Scaling Rule,学习率与batchsize一般情况下呈线性正比,增加高质量的sample(也就是监督过程中正样本的个数)也能起到类似batchsize的作用,从而可以提高学习率,缩短模型训练时间。
3.在精度上面,虽然实验显示res18下与CenterNet都在COCO上达到了28.1的mAP,但0.5的mAP比CenterNet低了1个点左右,0.75的mAP比CenterNet高了0.6个点,所以猜测TTFNet可能检测出的bbox更加紧凑,因此提高了mAP。
局限
1. 该文主要是对比CenterNet进行改进的,实验也表明了相比CenterNet,提出的方法确实可以通过产生更多的高质量sample从而提高学习率,缩短模型的训练时间。但是这样的方法比较局限,只能适用于基于heatmap 的检测方法(CenterNet),不太可能拓展到其他模型中。
2. 这个网络对小物体还是不太友好,作者为了弥补这个不足,在Encoder-Decoder上额外增加了ShortCut连接来丰富特征,因此也牺牲了部分速度。
Abstract
文章是在目标检测模型的training time, inference speed, 和accuracy之间寻找trade off,重点关注如何在保持另外两个指标的情况下,减少模型的训练时间。作者提出了TTFNet,实际上是基于Anchor-free模型CenterNet(Objects as points)作出的一种改进,主要内容是采取高斯核的方式,在训练过程中生成了更多的高质量正样本,达到类似增大Batchsize的作用,从而能够为每个trainning step提供更多的监督信息,继而可以提高训练的学习率,最终达到减少模型训练时间的目的。
解决的问题
一些双阶段的或者实时性不高的目标检测器虽然inference time很慢,但是由于其复杂的设计,往往在训练过程中容易收敛,所需的epoch较少,模型的训练时间较短,如在COCO上faster-rcnn 12个epoch就基本上收敛了。但是目前的实时目标检测器,尤其是Anchor-free的模型(CenterNet等)由于其网络较为简单,为了实现较高的精度,一般都需要进行各式各样的数据扩增和长时间的训练才能达到较好的精度。如CenterNet在COCO上需要140个epoch才能收敛。
这篇文章就是针对实时检测模型训练时间过长的问题,提出了一种解决方法。
Motivation
根据Linear Scaling Rule,可以通过增大batchsize提高learning rate,然而仔细分析SGD的公式,我们也可以通过增加高质量的正样本个数来起到同样的作用。也就是不仅可以增大n,也可以增大m。
方法
对齐CenterNet,主要在两方面进行改进
center localization:
对于Center 点的位置回归,两个方法都用到了高斯核来增加正样本的数量,也都用到了Focal Loss。
但是CenterNet核CornerNet一样,高斯核里的参数sigema只和bbox的面积有关,没有充分考虑bbox的纵横比,而TFFNet为长和宽分别设置了sigema,从而更加合适。
CenterNet | TFFNet |
![]() | ![]() |
![]() | ![]() |
size regression:
这部分才是本论文的重点,也是增加高质量样本的实际做法。
CenterNet只把heatmap上Object的Center点以及相邻的4个点作为正样本进行物体的大小回归监督,并且只回归bbox的w和h。
而TFFNet继续采取高斯核的方式增加正样本的个数,同时每个正样本回归对应点到bbox四个边的距离。
CenterNet | TFFNet |
![]() | ![]() |
![]() | ![]() ![]() |