pointnet代码复现(代码片段)

jiangxiaoju jiangxiaoju     2022-11-30     782

关键词:

文章目录

一、环境准备

根据作者描述使用python2.7+tensorflow1.0.1+cuda8.0。在Ubuntu16.04中复现。

1. 配置cuda8.0+cudnn5.1

具体过程可参考网上教程

2. 配置python2.7+tensorflow1.0.1

使用conda创建虚拟环境便于管理

conda create -n pointnet python=2.7 anaconda

进入虚拟环境。

source activate pointnet

安装tensorlfow1.0.1。

pip install tensorflow-gpu==1.0.1

如果网不好建议切换清华源下载。

pip install tensorflow-gpu==1.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 一些必要的库

sudo apt-get install libhdf5-dev
sudo pip install h5py

如果你是使用conda虚拟环境,安装h5py可用下面代码

pip install h5py

二、数据集准备

代码一共有三个部分,分别是分类网络,和两个分割网络。每个部分都有各自对应的数据集

1. 点云分类数据集

代码检测不到数据会自动下载。

2. part_seg部分的数据集

cd part_seg
sh download_data.sh

3. sem_seg部分的数据集

cd sem_seg
sh download_data.sh

三、训练模型

三个模型均运行train.py文件即可

python train.py

分类网络,经过以上训练,可以评估模型并输出一些错误案例的可视化图像。

python python evaluate.py --visu

四、实验结果

1. 分类网络

训练log

**** EPOCH 249 ****
----0-----
mean loss: 0.073358
accuracy: 0.976074
----1-----
mean loss: 0.078584
accuracy: 0.966912
----2-----
mean loss: 0.067263
accuracy: 0.978516
----3-----
mean loss: 0.074200
accuracy: 0.979004
----4-----
mean loss: 0.075995
accuracy: 0.975098
----0-----
----1-----
eval mean loss: 0.550484
eval accuracy: 0.878247
eval avg class acc: 0.845228

test结果

Namespace(batch_size=4, dump_dir='dump', gpu=0, model='pointnet_cls', model_path='log/model.ckpt', num_point=1024, visu=True)
Model restored.
----0----
----1----
eval mean loss: 0.551200
eval accuracy: 0.878849
eval avg class acc: 0.847773
  airplane:	1.000
   bathtub:	0.860
       bed:	0.970
     bench:	0.700
 bookshelf:	0.910
    bottle:	0.940
      bowl:	0.950
       car:	0.990
     chair:	0.990
      cone:	0.900
       cup:	0.700
   curtain:	0.850
      desk:	0.826
      door:	0.850
   dresser:	0.686
flower_pot:	0.250
 glass_box:	0.960
    guitar:	1.000
  keyboard:	1.000
      lamp:	0.800
    laptop:	1.000
    mantel:	0.950
   monitor:	0.950
night_stand:	0.709
    person:	0.950
     piano:	0.870
     plant:	0.770
     radio:	0.750
range_hood:	0.920
      sink:	0.650
      sofa:	0.950
    stairs:	0.900
     stool:	0.800
     table:	0.810
      tent:	0.950
    toilet:	0.970
  tv_stand:	0.780
      vase:	0.750
  wardrobe:	0.600
      xbox:	0.750

一些可视化效果.




2. 部分分割网络

训练log

>>> Training for the epoch 199/200 ...
Loading train file 
/pointnet/pointnet/part_seg/./hdf5_data/ply_data_train0.h5
	Training Total Mean_loss: 0.082099
		Training Label Mean_loss: 3.379165
		Training Label Accuracy: 0.050293
		Training Seg Mean_loss: 0.082023
		Training Seg Accuracy: 0.968230
Loading train file 
/pointnet/pointnet/part_seg/./hdf5_data/ply_data_train5.h5
	Training Total Mean_loss: 0.081096
		Training Label Mean_loss: 3.370121
		Training Label Accuracy: 0.055614
		Training Seg Mean_loss: 0.081020
		Training Seg Accuracy: 0.968714
Loading train file 
/pointnet/pointnet/part_seg/./hdf5_data/ply_data_train4.h5
	Training Total Mean_loss: 0.081863
		Training Label Mean_loss: 3.373602
		Training Label Accuracy: 0.058594
		Training Seg Mean_loss: 0.081786
		Training Seg Accuracy: 0.968368
Loading train file 
/pointnet/pointnet/part_seg/./hdf5_data/ply_data_train3.h5
	Training Total Mean_loss: 0.081906
		Training Label Mean_loss: 3.324682
		Training Label Accuracy: 0.056152
		Training Seg Mean_loss: 0.081837
		Training Seg Accuracy: 0.968433
Loading train file 
/pointnet/pointnet/part_seg/./hdf5_data/ply_data_train2.h5
	Training Total Mean_loss: 0.080512
		Training Label Mean_loss: 3.353689
		Training Label Accuracy: 0.060547
		Training Seg Mean_loss: 0.080434
		Training Seg Accuracy: 0.968954
Loading train file 
/pointnet/pointnet/part_seg/./hdf5_data/ply_data_train1.h5
	Training Total Mean_loss: 0.081348
		Training Label Mean_loss: 3.364903
		Training Label Accuracy: 0.059570
		Training Seg Mean_loss: 0.081274
		Training Seg Accuracy: 0.968459
Successfully store the checkpoint model into train_results/trained_models/epoch_200.ckpt

3.场景语义分割网络

训练log

**** EPOCH 049 ****
----
mean loss: 0.099005
accuracy: 0.964090
----
eval mean loss: 0.577622
eval accuracy: 0.877734
eval avg class acc: 0.754512

pointnet基于pointnet的三维点云目标分类识别matlab仿真(代码片段)

1.软件版本matlab2021a2.系统概述这里,采用的pointnet网络结构如下图所示:    在整体网络结构中,   首先进行setabstraction,这一部分主要即对点云中的点进行局部划分,提取整体特征,如图可见,在s... 查看详情

三维深度学习pytorch-pointnet系列之win10下环境安装与demo运行(代码片段)

【三维深度学习】Pytorch-PointNet系列之win10下环境安装与demo运行提示:最近开始在三维深度学习方面进行研究,从PointNet开始入手,对这个系列的网络进入深入学习,记录相关知识点,分享学习中遇到的问题已经解决的方法。文章目录【... 查看详情

yolo-tensorflow复现解析(代码片段)

看到有人使用tensorflow复现了yoloV3,来此记录下代码阅读。感觉复现的代码写的不是很好,会加一部分其他人用keras复现的代码。tensorflow代码地址:https://blog.csdn.net/IronMastiff/article/details/79940118源代码分为以下几部分:Train.py为主... 查看详情

任意代码执行漏洞复现(代码片段)

漏洞简介在PostgreSQL数据库的jdbc驱动程序中发现一个安全漏洞。当攻击者控制jdbcurl或者属性时,使用PostgreSQL数据库的系统将受到攻击。pgjdbc根据通过authenticationPluginClassName、sslhostnameverifier、socketFactory、sslfactory、sslpasswordcallb... 查看详情

深度学习算法简要总结系列

...回来看看,以框架流程为主,不涉及细节、点云pointnet代码仓库https://github.com/yanx27/Pointnet_Pointnet2_pytorch参考博客最远点采样(FarthestPointSampling)介绍【3D计算机视觉】PointNet++的pytorch实现代码阅读论文阅读笔记|三维目... 查看详情

中间件漏洞汇总(代码片段)

...围复现防御iis7x篇文件解析漏洞原理复现防御HTTP.SYS远程代码执行(MS15-034)介绍影响范围影响版本复现修复建议apache篇未知扩展名解析漏洞漏洞原理复现修复建议AddHandler导致的解析漏洞原理复现修复建议目录遍历漏洞原理复现防御... 查看详情

模型复现超简单复现轻量架构网络模型<shufflenet—v2>(代码片段)

...详情1.模型简介2.关键词3.应用场景4.模型结构5.论文地址6.代码地址二、效果展示三、平台环境准备1.打开极链AI云平台2.点击模型3.选择并创建实例4.使用jupyte 查看详情

漏洞复现海洋cms6.28远程代码执行(代码片段)

【漏洞复现】海洋CMS6.28远程代码执行文章目录【漏洞复现】海洋CMS6.28远程代码执行一、漏洞背景二、漏洞原理三、漏洞复现一、漏洞背景海洋影视管理系统(seacms,海洋cms)是一套专为不同需求的站长而设计的视频... 查看详情

matchnet论文复现过程记录(代码片段)

MatchNet论文复现过程记录原文为《Matchnet:Unifyingfeatureandmetriclearningforpatch-basedmatching》1:本文复现基于PyTorch深度学习框架,版本(1.7.1+cu110)。I.Networkarchitecture根据论文中描述,MatchNet包括:A.Feat 查看详情

论文复现(代码片段)

配置jdk将下载下来的jdk-8u241-linux-x64.tar.gz进行解压sudotarzxvf./jdk-8u241-linux-x64.tar.gz设置环境变量sudovim/etc/profile在其中添加:#setJavaenvironmentexportJAVA_HOME=/home/ubuntu/jdk1.8.0_241exportJRE_HOME=$JAVA_HOME/jre 查看详情

基于paddlepaddle实现mobilenet_v2复现(代码片段)

...整体网络架构四、论文复现1、导入相关库2、建立基础的代码运行块3、建立Bottleneck_residual_block4、搭建整体的网络结构5、查看网络结构一、介绍Mobilenet_v2继承了Mobil 查看详情

红帽杯2021决赛opensns复现(代码片段)

前言因为某些事情,没有参加今年的红帽杯决赛,所以来复现一下决赛的Web题里面的opensns,学习一下思路。复现根据网上的文章进行复现学习。感觉能找到这个洞的师傅实在tql。漏洞点位于Application/Weibo/Controller/ShareC... 查看详情

红帽杯2021决赛opensns复现(代码片段)

前言因为某些事情,没有参加今年的红帽杯决赛,所以来复现一下决赛的Web题里面的opensns,学习一下思路。复现根据网上的文章进行复现学习。感觉能找到这个洞的师傅实在tql。漏洞点位于Application/Weibo/Controller/ShareC... 查看详情

一次漫长的代码复现经历(代码片段)

最近一位外国友人在复现某个项目的代码时环境配置出了些问题,找我帮忙解决。说实话,游戏和增强学习这两方面我都不是很熟悉,但好在对Ubuntu还算熟悉,前前后后折腾了好久,终于让程序顺利运行了起来。不得不说,这些... 查看详情

漏洞复现--条件竞争--toctou(代码片段)

今天有点无聊在YouTube上瞎看看到了liveoverflow的一个视频,提到TOCTOU,所以打算复现一下via:https://www.youtube.com/watch?v=5g137gsB9Wkdemo代码:via:https://gist.github.com/LiveOverflow/590edaf5cf3adeea31c73e303692dec0#include<string 查看详情

记一次比赛复现(代码片段)

WEBsuper_php<?phperror_reporting(E_NOTICE);highlight_file(__FILE__);@session_start();$username=@$_GET['username'];if(!@isset($username['admin'])||$username['admi 查看详情

复现openuba(代码片段)

一、GitHub上的开源项目https://github.com/helloworld-creator/OpenUBA/找到这这里https://github.com/helloworld-creator/OpenUBA/blob/master/docs/INSTALL.md,会有教你怎样install的步骤。1.点击GitHub右上角的fork按钮,fork一份到自己 查看详情

resnet(代码片段)

...f08;PaddlePaddle)复现卷积神经网络ResNet。本文ResNet复现代码比PaddlePaddle官方内置ResNet代码结构更加清晰,建议参考本文中ResNet复现代码了解ResNet模型搭建流程。本人全部文章请参见:博客文章导航目录本文归属于:... 查看详情