目标检测 CenterNet 模型原理与论文精读(一)

简介

在这里插入图片描述
在这里插入图片描述
Faster R-CNN和RetinaNet都是基于Anchor机制的。
Faster R-CNN是需要RPN进行预选框的筛选,300个框左右。
RetinaNet是one-stage的方法,没有RPN,直接暴力枚举所有anchor,直接做分类和回归。一个图片里只存在少量物体,但是我们枚举的框很多,如果在Faster R-CNN 300个框计算loss,会造成正负样本不均衡,loss倾向于负样本的loss。而RetinaNet改进了loss,使用了focal loss,可以大幅度缓解样本不均衡。

在这里插入图片描述
CenterNet是Anchor free的方法。还有CornerNet和ExtremeNet都是keypoint和anchor free的方法。CornerNet是预测目标框左上角和右下角的点。如何知道左上角和右下角是一个物体呢?CornerNet还预测了其他的东西,把他们组合在一起。ExtremeNet是预测5个点,4个边框+1个中心点。后面也是需要group的操作,CenterNet直接预测物体的中心点,以及预测宽高或者offset等,完成物体的检测,非常的简单。
在这里插入图片描述
input size resize成512512,然后进入Backbone,Hourglass是一个沙漏网络,在检测人体骨骼很好用。得到的feature map是128128,分辨率下采样了4倍。将feature map输入3个head,分别预测不同的东西。
heatmap是HWC(128128class类别数,不包含背景)()用于分类;wh:是去预测对应位置的宽高,这里的宽高是heatmap预测出的类别的宽高。
offset:是一个偏移量,是对中心点的调整。因为下采样的时候,精度会损失,对于小物体可能不准确了,offset对于中心点的x,y坐标做一个精细化的调整。HW2,2 就是对x,y的回归。offset也是heatmap预测出的类别的offset。
所以,CenterNet对于物体重合的时候,不能很好的解决。

Backbone

在这里插入图片描述
这两个论文可以看一下。Hourglass在keypoint的检测,效果最好,但是参数和计算量比较大。ResNet可能比它快,但是没有Hourglass好。这里做一个折中,backbone用了DLA。
在这里插入图片描述
中心点最大,其他8个点比较小,那么这个就是中心点,把它设置为1,其他位置为0。但是实际是,我们在标定gt的时候,是用了一个高斯分布,不是只有中心点是1。

如何制作数据集的Ground Truth

Center的设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Corner说,左上角和右下角只有在一定的范围之内,都是可以约束的,比如设置一个iou,大于ioc阈值的都是可以的,找到半径r,计算sigma=r/3。CenterNet的keypoint的检测,也是借鉴的这个思想。

CornerNet 几种情况:
情况一:
在这里插入图片描述
情况二:
在这里插入图片描述
情况三:
在这里插入图片描述
CenterNet直接用了CornetNet的r,这里具体是不是完全的精确,还不太确定。但是不要纠结太多。拿过来用即可。(不太严谨)

如何计算Loss

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
offset。原始图片512512,output是128128,scale factor=4,实际上x,y向下取整,造成了精度损失,对于很小的物体。这里loss错了,实际是L1,不是smooth L1。

在这里插入图片描述
points —> bounding box的decode过程。

总结

在这里插入图片描述
1.anchor free
2. 可以增加head头,比价灵活

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CenterNet是一种基于目标中心点检测的目标检测算法,其主要思想是将目标检测任务转化为目标中心点的回归问题,即在图像中预测目标的中心点,并通过回归预测目标的边界框、分类等信息。以下是CenterNet算法的实现原理: 1.网络结构 CenterNet网络采用Hourglass结构,由多个Hourglass模块组成。每个Hourglass模块由两个分支组成:特征提取分支和中心点预测分支。特征提取分支用于从输入图像中提取特征,中心点预测分支用于预测目标的中心点。 2.目标中心点检测 CenterNet采用高斯分布函数对目标中心点进行建模,即将每个目标的中心点表示为一个高斯分布函数。在训练阶段,通过计算预测的中心点和真实中心点之间的欧几里得距离,来计算中心点的损失函数。 3.目标边界框预测 通过预测目标中心点相对于其左上角的偏移量,以及目标的宽度和高度来预测目标的边界框。在训练阶段,通过计算预测的边界框和真实边界框之间的IoU(交并比)来计算边界框的损失函数。 4.目标类别预测 CenterNet采用Softmax函数对每个目标的类别进行预测。在训练阶段,通过计算预测的类别和真实类别之间的交叉熵来计算类别的损失函数。 总的来说,CenterNet算法通过预测目标中心点、边界框和类别来完成目标检测任务。其相较于传统的目标检测算法,具有更高的准确率和更快的速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值