pointpillars 复现

pointpillars

参考:https://www.dazhuanlan.com/2019/12/26/5e043fad59593/

第3.3步生成pkl修改
按照官网文档改

python create_data.py create_kitti_info_file --data_path=KITTI_DATASET_ROOT

第4步,替换路径
2021-4-19,替换/root/data/kitti

cd second.pytorch/second/configs
sed -i "s:/root/data/kitti:${new_path}:" *.config
sed -i "s:/root/data/kitti:${new_path}:" ./pointpillars/car/*.proto
sed -i "s:/root/data/kitti:${new_path}:" ./pointpillars/ped_cycle/*.proto
sed -i "s:/data/sets/kitti_second:${new_path}:" ./pointpillars/car/*.proto
sed -i "s:/data/sets/kitti_second:${new_path}:" ./pointpillars/ped_cycle/*.proto

除了/root/data/kitti 还有 /data/sets/kitti_second需要替换
亲测成功,官网对文件目录和配置修改说的有点少

先修改配置文件,再运行第3.3步


其他问题

RuntimeError: result type Byte can’t be cast to the desired output type Bool 报错
将dir_labels.byte() 修改为 dir_labels.bool()
或者使用pytorch1.1

eval.py 的 function_base.py报错
报错:float64类型不能被安全地转换成整型。
报错原因:当前版本的numpy不支持使用浮点数作为步长,需要降低numpy版本。
TypeError: ‘numpy.float64‘ object cannot be interpreted as an integer
安装低版本如:1.17.0

但是总体感觉还是装pytorch1.1比较好,作者之前的代码应该是在1.1上运行的

测试成功!


数据增强,先按照z旋转精度73%
续训练按照y旋转精度60%
并不好,直接应该按照y旋转,不进行续训练,数据本身也是按照y旋转的


在这里插入图片描述
Net

  1. 二维栅格得到pillars(栅格柱子),可以理解为图像里的一个像素,并保留稠密的
  2. 每个pillar的大小:D=[x, y, z, r, x_c, y_c, z_c, x_p, y_p], 其中r代表intensity/reflection, [x_c, y_c, z_c] 代表Pillar中所有点的质心坐标, [ x_p, y_p] 代表质心和Pillar几何中心的偏移.
  3. 就得到stack pillars,其后接PointNet,BN,ReLU,此时维度为(C, P, N),然后max操作,维度为(C, P)。
  4. 反投影到伪图像上,也就是将P拆成xy,空白使用0填
  5. 使用FPN网络(特征金子塔)提取伪图像特征

Loss
Loss分为三部分, 定位Loss, 方向Loss 和分类Loss,Pointpillar 可以识别朝向,也就是会做是否旋转180°的处理。
L = 1 N p o s ( β l o c L l o c + β c l s L c l s + β d i r L d i r ) L = \dfrac{ 1 }{ { N }_{ pos } } \left( { \beta }_{ loc } { L }_{ loc } + { \beta }_{ cls } { L }_{ cls } + { \beta }_{ dir } { L }_{ dir } \right) L=Npos1(βlocLloc+βclsLcls+βdirLdir)
N p o s { N }_{ pos } Npos正例anchor数量, β l o c = 2 { \beta }_{ loc } =2 βloc=2 β c l s = 1 { \beta }_{ cls } =1 βcls=1 β d i r = 0.2 { \beta }_{ dir } =0.2 βdir=0.2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值