目标检测论文解读Objects as Points:CenterNet

这篇论文中了CVPR 2019。作者的想法非常具有创新性,center net不仅仅可以用于目标检测,它具有很强的鲁棒性,可以迁移到姿态识别、3D检测等其他视觉任务中。相信读到这里的读者已经对之前的目标检测算法有了一定的了解,所以本文不再对比之前的做法,直接解释center net的做法,最后进行总结
目标检测论文解读Objects as Points:CenterNet_第1张图片

  • BackBone
  • detect points
    • how center be bbox
    • 实验结果
  • 总结

BackBone

CenterNet想要提取输入图像的特征,以heatmap的形式来检测目标。论文中给出了三种BackBone:ResNet-18、DLA-34、Hourglass-104,检测速度依次下降,检测精度依次上升。经过BackBone的提取,输出heatmap。输入的heatmap相比于初始图像,尺寸只减小了4倍,最后的offset微调也会方便很多。

detect points

我们这一步的目标是预测center,对于真实的标签来说,我们使用在这里插入图片描述对一个bbox进行说明,对于bbox的center,我们认为是在这里插入图片描述这样就找到了真实的图像中的center,然后再图像中使用二阶高斯分布,center为中心点,概率值为1,如果有多个目标在某个点的概率值重叠,选取较大的值作为概率值,对于预测corner,我们得到了经BackBone提取的热力图,这一步我们将heatmap中的峰值像素点找出,具体的方法是判断是否一个点大于或者等于他周围的八个点,就找到了预测center,可以带入高斯公式得到概率值。接下来便是计算损失函数
在这里插入图片描述
这一步的损失函数可以用focal loss表示为(论文中α=2,β=4属于超参数):
目标检测论文解读Objects as Points:CenterNet_第2张图片
N为峰值点数量,当GT为1时,如果预测准确,则该点的损失函数为0,若预测值在这里插入图片描述不为1时,随着在这里插入图片描述)的减小,损失也越大。
在经过4倍下采样后,关键点的位置信息会丢失一部分,为了弥补这部分误差,使用L1loss弥补偏差位置,以便于更好的得到关键点。
在这里插入图片描述
希望经过训练后得到一个对于所有class,值共享的O(offset)

how center be bbox

我们可以预测到center,那么如何得到他的bbox?,在这里插入图片描述是真实的bbox左上、右下点的坐标,为了得到预测的bbox的尺寸,用L1 loss训练Lsize
目标检测论文解读Objects as Points:CenterNet_第3张图片
在这里插入图片描述为预测的尺寸,Sk为真实尺寸。
至此,所有的损失函数已经提出在这里插入图片描述(λsize=0.1,λoff=1)
最后预测的bbox位置,大小是:在这里插入图片描述每个坐标的第一个值是预测到的center,第二个值是offset,第一个值加第二个值就是center,第三个值就是画出了bbox的大小和位置。
目标检测论文解读Objects as Points:CenterNet_第4张图片
整个网络最后输出的是一个C+4的值,C为类别数,4为坐标

实验结果

目标检测论文解读Objects as Points:CenterNet_第5张图片

目标检测论文解读Objects as Points:CenterNet_第6张图片
目标检测论文解读Objects as Points:CenterNet_第7张图片

总结

优点:

  • 不使用anchor,减少超参数量
  • 不使用NMS后端处理,直接输出Bbox
  • 由于没有了anchor NMS,速度快了许多,精度也提升了许多
  • 鲁棒性强,不仅仅可以用于普通的目标检测,在姿态检测、3D检测也取得了显著提升

缺点:

  • 当两个物体过于接近,会将他们检测为1个目标

你可能感兴趣的:(目标检测,深度学习,深度学习,计算机视觉)