【文章阅读】Patch Refinement - Localized 3D Object Detection

Brief

这一篇文章发表在NIPS2019上,目前(19/110/18)依然在KITTI数据集上是在保持了car、easy的第一名,而且看标题应该不是架构上的优化,应该是一种在trick上的使用,像是回到三维上进行的优化,一样,最近的3D文章中还有IOU_IOSS的使用的,也是很值得一读的。
这里是 paper

Abstruct

  • two-stage的方法
  • patch refinement是把三个网络:Voxel_based network,RPN network和LRN(Local refine )组合在一起的

前两个网络架构足够预测一些精度,但是可能效果并不是特别好,第三个网络可能也是用于定位的一些方法,最后结合这三个网络的特征,再对此做一次优化。

  • 作者把定位阶段分成了初步鸟视图定位3D局部定位两个步骤,最后会在通过RPN在BEV上得到的proposals提取3D的一小部分的点云块,成为“patches”

这也就是说,作者回归的框可能仅仅只是一个BEV视图上的2D框,再通过BVE回到3D上做一refine的操作。

  • 作者的训练集也仅仅只是使用了50%,效果很好

1 Introduction

  • 3D 检测较之于2D检测的难点
  • 目前的一些方法

总结一下,目前做3D检测的大概有这样几种方式

  1. pointnet_based的方法(pointrcnn,std,ipod等)
  2. 2D_based方法(F-pointnet等)
    3.Voxelnet_based,作者也是使用的这一类方法
  • Patch Refinement

(1)目的:为了得到更轻量级的、仅仅只是关注于3D bbox回归的任务,作者把该任务分解成回归在BEV视图上的BBOX(2维的,更加轻量级);
(2)作者使用LRN定位网络和固定的长方体anchor(patch)作用于small subject,在训练定位网络时,可以在RPN生成的框上进行随机的偏移,以达到效果;因此不同区扭曲RPN的参数等
原文:
The RPN does not have to perform warping and independence of the LRN can be achieved by training with some noise to account for proposed locations that are slightly offset.

在这里插入图片描述

左图中的“patches”表示的是绿色点的部分,也就是包含了object的一小块略大的区域,是LRN的输入。右图表示训练LRN时,把同一个objects被放置在不同的surface上并且朝向也不相同

总结一下,作者的工作是:
BEV视图的proposals提取—>LRN_refine(包括三部分:VFE,Reduction Network,Backbone Network)如下图:
在这里插入图片描述

2 Related Work

papel-list:

  • MV3D
  • F-POINTNET
  • VoxelNet
  • SECOND
  • Pointpillars
  • PointRCNN

3 Method

3.1 Local Refinement Network

该架构第一部分是voxelnet的第一部分(VFE_layer),第二部分是把这个架构给降维到bev上去的网络,注意:这里的映射是映射的提取后局部信息后的3D特征,因此map到BEV上也是一个BEV_Fea_Map,接下来也就是采用2D卷积就可以了。

  • Grouping Points into Voxels

把点分到格子里去

  • Voxel Feature Encoding

作者并不是完全使用的Voxel-net的VFE,而是改进了一些参数,是的精度更高

  • Reduction Network and Backbone Network

这应该是核心网络。作者的设计如下:

在这里插入图片描述

(1)!!!!作者仅仅是说通过3D卷积把H维度给降维了,并不是特殊的映射(这不还是voexlnet吗?)我傻了,写的这么玄乎。那么现在有一个问题,RPN回归的是几个维度?
(2)上图表示的含义是RPN(Backbone Network),作者这里的reg任务和det任务是权值不共享的,同时reg的 receptive fields小于det的 receptive fields。对于每一个任务而言,也就是采用的上下采样的方式结合了前后层fea-map的特征。其实我觉得使用multi-head会更好。

  • LOSS
    Δ x = x g − x a l 2 + w 2 Δ z b = z g − h g 2 − z a + h a 2 Δ y = y g − y a l 2 + w 2 Δ z t = z g + h g 2 − z a − h a 2 Δ l = log ⁡ l g l a Δ w = log ⁡ w g w a Δ h = log ⁡ h g h a Δ ζ = ∣ cos ⁡ ( θ g − θ a ) ∣ Δ η = sin ⁡ ( θ g − θ a ) δ = { 1  if  cos ⁡ ( θ g − θ a ) > 0 0  otherwise  \begin{array}{ll}{\Delta x=\frac{x_{g}-x_{a}}{\sqrt{l^{2}+w^{2}}}} & {\Delta z_{b}=z_{g}-\frac{h_{g}}{2}-z_{a}+\frac{h_{a}}{2}} \\ {\Delta y=\frac{y_{g}-y_{a}}{\sqrt{l^{2}+w^{2}}}} & {\Delta z_{t}=z_{g}+\frac{h_{g}}{2}-z_{a}-\frac{h_{a}}{2}} \\ {\Delta l=\log \frac{l_{g}}{l_{a}}} & {\Delta w=\log \frac{w_{g}}{w_{a}} \quad \quad \Delta h=\log \frac{h_{g}}{h_{a}}} \\ {\Delta \zeta=\left|\cos \left(\theta_{g}-\theta_{a}\right)\right|} & {\Delta \eta=\sin \left(\theta_{g}-\theta_{a}\right) \quad \delta=\left\{\begin{array}{ll}{1} & {\text { if } \cos \left(\theta_{g}-\theta_{a}\right)>0} \\ {0} & {\text { otherwise }}\end{array}\right.}\end{array} Δx=l2+w2 xgxaΔy=l2+w2 ygyaΔl=loglalgΔζ=cos(θgθa)Δzb=zg2hgza+2haΔzt=zg+2hgza2haΔw=logwawgΔh=loghahgΔη=sin(θgθa)δ={10 if cos(θgθa)>0 otherwise 

内容先跳过。

3.2 Patch Construction

作者说 The independence of the LRN enables us to construct patches from ground truth annotations.

理解:这句话应该是说,作者的LRN可以直接通过gt进行训练。。有点意思。。这样的话RPN的好坏就完全不会影响到LRN的好坏了。

  • Surface Sampling

这个想法出自SECOND,最终的level分别采样为100%,80%,60%

  • Global & Per-Object Augmentation

一些标准的方法,比如镜像等等

  • Random Cropping - LRN Detection Objective

在patch里面随机噪声,最后根据BEV视图提取出来

3.3 Region Proposal Network

the silm of LRN

4 Experiments

在这里插入图片描述

5 code

目前还没有公布 源码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值