查看: 63|回复: 0

CenterNet网络详解(Objects as Points)

[复制链接]

3

主题

4

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-7-16 17:55:07 | 显示全部楼层 |阅读模式
Objects as Points

因为有篇论文名字跟CenterNet重名了,这里贴一下原文链接:
Objects as Points


整体思想:

使用单个网络来预测关键点 Y、偏移量 O 和大小 S。
网络在每个位置预测总共 C + 4 个输出。
将对象建模为单个点——其边界框的中心点。使用关键点估计来找到中心点,其他属性则根据关键点特征回归出来,例如目标大小、3D 位置、方向,或者姿势。
1.主要工作

输入尺寸为W x H x 3的图像,经过卷积得到W/4 x H/4 x C大小的heatmap
1.1 训练

根据训练集标注信息得到的heatmap作为标注信息训练网络
heatmap中每个值在 [0,1] 区间内,当某(x,y)处值=1 时,表示heatmap的 (x,y) 处是一个关键点(key point),若为0 ,表示(x,y)处无目标。
关键点所在的位置对应原图像中目标的bounding box中心
类别Ck的对象k的bounding box:


则bbox中心点表示为:


若图像中位置p处是类别c的bounding box中心,则heatmap的第c个通道处的值为:


即高斯函数,式中的方差与物体尺寸有关,即用二维高斯函数确定heatmap中p点处周围位置的值。
高斯圆的半径确定方法主要还是依赖于目标box的宽高,其计算方法为下图所示。实际情况中会取IOU=0.7,即下图中的overlap=0.7作为临界值,然后分别计算出三种情况的半径,取最小值作为高斯核的半径r:


若输入图片中有多个类别为c的目标,在求取heatmap时,某个位置处的元素可能会得到根据多个目标求到的多个值,此时取最大值作为heatmap中该位置的值。
1.2 损失函数

heatmap中关键点损失(改进的focal loss):


偏移量损失(L1损失):只对正样本的偏移值损失进行计算


O为预测出来的偏置, ()内则是在训练过程中提前计算出来的真实值
Size损失(L1损失):只对正样本的偏移值损失进行计算


前者为预测size,后者为真实值
总损失:



2. 推理:

在推理时,独立地为每个类别提取热图中的峰值。
对于每类物体,我们都有一个heatmap,在heatmap上检测其值大于或等于其 8 个连接的点的所有点,我们视之为关键点,也就是说在这个点附近是有这类的一个物体的,且这个物体的检测框中心点就是这个关键点。
有了物体的中心点之后就可以生成检测框
使用C+4个特征图中的后四个特征图。这四个特征图上的数值,分别代表检测框高度(h),检测框宽度(w),检测框中心点横坐标偏移(x_offset),检测框中心点纵坐标偏移(y_offset)
我们使用该点处heatmap值作为其检测置信度,并在该位置处生成如下边界框


3.3D检测

3D 检测为每个中心点需要三个附加属性:深度、3D 维度和方向。
我们为他们每个添加一个单独的head。
(这里原论文放在附录部分详细解释,并且引用了其他论文的工作)
深度 d:

heatmap大小:



损失函数(L1损失):


dk 是真值绝对深度(以米为单位),dk^为预测值, σ 是 sigmoid 函数
单个标量。深度很难直接回归。这里使用 Eigen 等人 [13] 和 d = 1/σ( ^d) − 1 的输出变换,其中 σ 是 sigmoid 函数。我们将深度计算为关键点估计器的附加输出通道 ^D ∈ [0, 1] W R × H R。它再次使用由 ReLU 分隔的两个卷积层。与以前的模态不同,它在输出层使用了反 sigmoid 变换。在 S 形变换之后,使用 L1 损失来训练深度估计器。
使用方法:Depth map prediction from a single image using a multi-scale deep network
3D维度:



三个标量。同样直接回归到它们以米为单位的绝对值。
损失函数(L1损失):


方向:



单个标量。同样很难直接回归。我们遵循 Mousavian 等人 [38] 并将方向表示为具有 in-bin 回归的两个 bin。
具体来说,方向使用 8 个标量进行编码,每个 bin 有 4 个标量。对于一个 bin,两个标量用于 softmax 分类,其余两个标量回归到每个 bin 内的一个角度。
使用方法:3d bounding box estimation using deep learning and geometry.
4.实验

2D:比其他单阶段的效果要好,不如一些双阶段,但是速度比双阶段快


3D:在 BEV 中表现稍好,但centernet比这两种方法快两个数量级

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表