FCOS3D论文笔记

FCOS3D是一种基于FCOS设计的单阶段3D物体检测器,不依赖深度图。它将3D检测转化为2D图像坐标系的问题,通过解耦2D和3D属性并使用二维高斯分布定义中心度来提高准确性。网络使用ResNet-101和可变形卷积,预测包括3D中心、大小、朝向等参数,并利用中心度进行预测框的抑制。
摘要由CSDN通过智能技术生成

论文链接:FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
所属任务:单目3D检测(不预测深度图)

1 引言

FCOS3D是基于FCOS进行设计,FCOS 论文笔记链接
在这里插入图片描述

图1

图1说明了2D和3D anchor-free单目检测的区别,2D检测预测边界框四边到物体中心的距离,3D检测预测3D中心的投影、3D物体大小以及朝向。

FCOS3D 提出了一种单阶段目标检测器,首先将通常定义的7-DoF(物体中心坐标、长宽高、方向角)3D目标转换到2D的图像坐标系,并将其解耦为2D和3D属性。然后根据尺寸大小将其分配到不同的特征层,并根据训练过程中投影的3d中心匹配正样本。此外,在三维中心的基础上,用二维高斯分布重新定义中心度用于降低离物体中心远的预测框的置信度,从而在NMS中将其抑制,提高准确率。

2 方法

2.1 网络结构

网络结构如图1所示。
网络结构图

图2. FCOS3D 网络结构

2.1.1 框架

  • Backbone:ResNet-101 + deformable convolution
  • Neck:FPN
  • Head:如图2。

2.1.2 模型预测参数

正样本定义:将特征图上的点映射回2d原图,3d物体中心投影到2d图像,当前者在后者附近时,特征图上该点才为正样本。
角度编码

图3. 角度编码
回归分支:

不同于2D预测框的4条边与物体中心点之间的距离,3D的预测参数如下:
回归的参数: Δ x , Δ y , d , w , l , h , θ , v x , v y \Delta x,\Delta y,d,w,l,h,\theta,v_x,v_y Δx,Δy,d,w,l,h,θ,vx,vy,方向类别 C θ C_\theta Cθ,center-ness c c c

  • Δ x , Δ y , h \Delta x,\Delta y,h Δx,Δy,h:对于特征图上的正样本点,预测与3D物体中心投影的偏移量,同时预测该点深度
  • 角度编码为两部分 θ , C θ \theta,C_\theta θ,Cθ,分别是以 π \pi π 为周期的角 θ \theta θ,和一个二分类标签。
    角度编码如图3所示,两个方向相反的航向角(图2右图是 θ \theta θ上面的钝角), ∣ s i n ( θ − θ ^ ) ∣ |sin(\theta-\hat \theta)| sin(θθ^)相同( θ ^ \hat \theta θ^ 是真实值),所以用 C θ C_\theta Cθ 预测是0-180°还是180-360°。
  • 通过预测中心度center-ness判断哪些点更靠近中心,用于抑制远离中心的低质量预测框,具体见2.3节。

回归分支的每个输出参数 x x x 换成 s i x s_ix six s i s_i si 是一个可学习参数,对应于第 i i i 个特征层,因为不同特征层预测的目标大小不同又共享head权重参数,所以添加参数用于区分。

分类分支:

预测类别和属性(如静止还是运动)。

2.1.3 损失函数

分类损失:

类别预测损失 L c l s L_{cls} Lcls使用 focal loss,属性预测损失 L a t t r L_{attr} Lattr使用 softmax 分类损失。
L c l s = − α ( 1 − p ) γ l o g p L_{cls}=-\alpha(1-p)^\gamma logp Lcls=α(1p)γlogp
其中 p p p 是预测框的类别概率

回归损失:

L l o c = ∑ b ∈ ( Δ x , Δ y , d , w , l , h , θ , v x , v y ) S m o o t h L 1 ( Δ b ) L_{loc}=\sum_{b\in (\Delta x,\Delta y,d,w,l,h,\theta,v_x,v_y)}SmoothL1(\Delta b) Lloc=b(Δx,Δy,d,w,l,h,θ,vx,vy)SmoothL1(Δb)
其中 Δ x , Δ y , w , l , h , θ \Delta x,\Delta y,w,l,h,\theta Δx,Δy,w,l,h,θ 的权重是1, d d d 的权重是0.2, v x , v y v_x,v_y vx,vy 的权重是0.05。

总损失:

1 N p o s ( β c l s L c l s + β a t t r L a t t r + β l o c L l o c + β d i r L d i r + β c t L c t ) \frac{1}{N_{pos}}(\beta_{cls}L_{cls}+\beta_{attr}L_{attr}+\beta_{loc}L_{loc}+\beta_{dir}L_{dir}+\beta_{ct}L_{ct}) Npos1(βclsLcls+βattrLattr+βlocLloc+βdirLdir+βctLct)
N p o s N_{pos} Npos 是预测的正样本数,论文中把所有系数 β \beta β 都设为1。

2.1.4 推理

推理时,输入一张图片,前向传播预测边界框及其对应的类别分数、属性分数、中心度,然后把类别分数和中心度相乘作为置信度,再在鸟瞰图视角使用NMS。

2.2 2D 指导的多尺度 3D 预测

2.2.1 标签分配

FCOS3D还要用FCOS进行2D检测,预测的2D中心用于计算3D中心投影,预测的四条边与中心的距离用于每个特征图的正样本分配。为每个特征图分配标签和定义正样本的规则与 FCOS 一致,见 FCOS 论文笔记 2.2节。为每个特征图设定回归长度的范围,在范围内的才是正样本,不在范围内的为负样本,由其它特征图负责预测,这使得不同分辨率的特征图负责不同尺度的物体。
但是为一个特征图里的每个点定义正样本的规则不同:FCOS3D 定义了一个超参数radius,当距离小于 r a d i u s × s t r i d e radius\times stride radius×stride 时才是正样本(更严格),论文把radius设为1.5。

2.2.2 歧义样本标签分配

问题:当特征图上的一个点落在多个 gt box 里面时,应该为它分配哪个 gt box?不采用 FCOS 里选择小面积的方法,因为会更少关注大物体。FCOS3D 选择离得最近的gt box中心所在gt box作为目标。

2.3 3D 中心度计算

用以3D物体投影的中心为原点的二维高斯分布度量距离,作用与FCOS中相同,用于降低离3D物体中心远的预测框的置信度,从而在NMS中过滤。
c = e − α ( ( Δ x ) 2 + ( Δ y ) 2 ) c=e^{-\alpha((\Delta x)^2+(\Delta y)^2)} c=eα((Δx)2+(Δy)2)
其中超参数 α \alpha α 用于调节从中心到外围的衰减强度,论文中设为2.5。中心度的取值范围是0到1,所以用 BCE 损失。

3 实验

略。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值