PointNet复现

本文详细介绍了PointNet的复现过程,包括分类任务的训练与测试,以及部分segmentation任务。代码运行中,由于显存限制,batch size较小,导致结果与论文略有差距。在train.py中解析参数,设计学习率和BN衰减策略,并实现训练与评估流程。模型部分使用TensorFlow实现,重点关注网络结构和损失函数设计。数据预处理和处理工具包含数据加载、点云转换和可视化等功能。
摘要由CSDN通过智能技术生成

一、代码运行

1.分类任务

1.1训练
python train.py --batch_size=8

显卡显存太小,只能跑batch size为8的,训练250个epoch。

1.2测试
python  evaluate.py --visu

结果:

eval mean loss: 0.488872
eval accuracy: 0.878444
eval avg class acc: 0.851238
  airplane:     0.980
   bathtub:     0.860
       bed:     0.950
     bench:     0.700
 bookshelf:     0.900
    bottle:     0.950
      bowl:     0.950
       car:     1.000
     chair:     0.970
      cone:     0.900
       cup:     0.650
   curtain:     0.800
      desk:     0.791
      door:     0.850
   dresser:     0.651
flower_pot:     0.200
 glass_box:     0.950
    guitar:     1.000
  keyboard:     1.000
      lamp:     0.950
    laptop:     1.000
    mantel:     0.950
   monitor:     0.940
night_stand:    0.698
    person:     0.950
     piano:     0.860
     plant:     0.780
     radio:     0.800
range_hood:     0.910
      sink:     0.750
      sofa:     0.960
    stairs:     0.850
     stool:     0.800
     table:     0.810
      tent:     0.950
    toilet:     0.960
  tv_stand:     0.820
      vase:     0.810
  wardrobe:     0.650
      xbox:     0.800

论文中的结果是:86.2/89.2,相比论文中差了一些,可能是batch size的问题。

2. part segmentation

代码在part_seg下,进去sh download_data.sh下载数据集,然后运行trian.py训练,test.py测试。分割任务的显存占用更高,我只能跑batchsize=4的…。最终模型的结果比论文里也低了接近两个点(0.8197/0.837)。

Accuracy: 0.923867
IoU: 0.819725
         02691156 Total Number: 341
         02691156 Accuracy: 0.9096132876935942
         02691156 IoU: 0.8228572722404234
         02773838 Total Number: 14
         02773838 Ac
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值