论文理解-CornerNet

本文介绍了CornerNet网络,包括两个Corner Pooling策略,通过求特定区域最大值相加得到关键点特征;Heatmaps模块预测关键点类别,使用改良版focal loss;Embeddings模块用于找到构成目标的两个关键点,通过两个损失函数训练;Offsets模块弥补特征图反算关键点位置的精度丢失,网络由两条支路组成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心部分:

  1. 两个Corner Pooling
    下图展示的是Top-left corner pooling的示意图,为了使得关键点的特征能够表征左上角和右下角关键点所包含的目标区域的特征,作者提出了如下所示的corner pooling的策略,比如下图所示,为求左上角关键点特征,需要求当前关键点同一行中的右边区域的最大值,和同一列中的下面区域的最大值,并将两个最大值相加才是当前位置的左上角关键点特征
    在这里插入图片描述

在这里插入图片描述
2. Heatmaps模块
通过Heatmaps模块,网络会预测每一个关键点所属于的类别,该过程中使用的损失函数(角点定位损失函数:)如下:

在这里插入图片描述
上述公式是针对角点预测(headmaps)的损失函数,整体上是改良版的focal loss。几个参数的含义:
pcij表示预测的heatmaps在第c个通道(类别c)的(i,j)位置的值
ycij表示对应位置的ground truth
N表示一张图片中目标的数量
α \alpha α β \beta β 是超参数控制每个点的权重(难易分类样本的损失权重不同)

ycij=1时候的损失函数容易理解,就是focal loss
ycij等于其他值时表示(i,j)点不是类别c的目标角点,照理说此时ycij应该是0(大部分算法都是这样处理的),但是这里ycij不是0,而是用基于ground truth角点的高斯分布计算得到,因此距离ground truth比较近的(i,j)点的ycij值接近1,这部分通过β参数控制权重,这是和focal loss的差别。为什么对不同的负样本点用不同权重的损失函数呢?这是因为靠近ground truth的误检角点组成的预测框仍会和ground truth有较大的重叠面积,如下图所示所示。

在这里插入图片描述
图中,红色实线框是ground truth;橘色圆圈是根据ground truth的左上角角点、右下角角点和设定的半径值画出来的,半径是根据圆圈内的角点组成的框和ground truth的IOU值大于0.7而设定的,圆圈内的点的数值是以圆心往外呈二维的高斯分布;绿色虚线是一个预测框,可以看出这个预测框的两个角点和ground truth并不重合,但是该预测框基本框住了目标,因此是有用的预测框,所以要有一定权重的损失返回,这就是为什么要对不同负样本点的损失函数采取不同权重值的原因

  1. Embeddings模块
    在Headmaps模块中对关键点类别的预测是没办法知道哪两个关键点能够构成一个目标,因此如何找到一个目标的两个关键点就是模块embedding做的工作。

在这里插入图片描述
embedding这部分的训练是通过两个损失函数实现的:
etk表示属于k类目标的左上角角点的embedding vector
ebk表示属于k类目标的右下角关键点的embedding vector,ek表示etk和ebk的均值。

公式4缩小属于同一个目标(k类目标)的两个关键点的embedding vector(etk和ebk)距离。
公式5扩大不属于同一个目标的两个角点的embedding vector距离。

  1. Offsets模块
    该模块主要用于弥补由于网络降采样得到的特征图,在反算关键点原始位置时的精度丢失。如下公式所示,由于向下取整,所以会导致精度丢失,而作者利用L1损失来减少这种精度损失。
    在这里插入图片描述
    网络结构:上半支路的网络结果如下所示,网络最终是由两条支路组成的。
    在这里插入图片描述
    在这里插入图片描述

一篇不错的论文翻译:https://blog.youkuaiyun.com/weixin_40414267/article/details/82379793
参考:
https://blog.youkuaiyun.com/qiu931110/article/details/89430747

https://nicehuster.github.io/2019/04/23/CornerNet/

https://blog.youkuaiyun.com/qq_41007606/article/details/89446054

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值