TotalDenoising阅读笔记

文章:Total Denoising: Unsupervised Learning of 3D Point Cloud Cleaning

代码:https://github.com/phermosilla/TotalDenoising

1 环境配置:

1.1 系统环境

ubuntu18.04
python3.7
tensorflow1.13.1

1.2 终端下安装conda环境并下载相关依赖包

1.2.1 创建conda虚拟环境并激活

# 创建名为Py37TotalDenoising的虚拟环境
conda create -n Py37TotalDenoising python=3.7
# 激活
conda activate Py37TotalDenoising

1.2.2 安装tensorflow-gpu并指定版本

# 安装指定版本的tensorflow-gpu,下载速度慢的话可以选择镜像源
pip install tensorflow-gpu==1.13.1 -i https://pypi.mirrors.ustc.edu.cn/simple/ 

1.2.3 验证tenssortflow版本

# 进入python编程环境
python

# 执行脚本
import tensorflow as tf

# 查看tf版本
tf.__version__

# 查看gpu是否可用
# print(tf.test.is_gpu_available())  # ---- tf 1.x 版本测试
print(tf.config.list_physical_devices("GPU"))  # ---- tf 2.x 版本测试

# 查看tf相关库(包括头文件库和库文件)
tf.__path__

结果路径类似于:
/home/username/anaconda3/envs/Py37TotalDenoising/lib/python3.7/site-packages/tensorflow

至此,我们需要手动安装的环境就搞定了,接下来按照官方提供操作步骤来操作

2 编译算子

2.1 安装MCCNN库并编译

首先,将MCCNN文件存放在源码的根目录下(…/TotalDenoising/MCCNN),然后进入到MCCNN目录并编译算子

cd tf_ops
python genCompileScript.py --cudaFolder *path_to_cuda*
sh compile.sh
# 或者
./compile.sh

1.path_to_cuda修改为安装cuda的文件位置,一般为/usr/local/cuda;
2.此外如果g++的版本太高(一般大于4.8.0的话),则需要通过vi或者vim编辑(通过3.第二行命令生成的compile.sh)compile.sh并将-D_GLIBCXX_USE_CXX11_ABI=0 改成 -D_GLIBCXX_USE_CXX11_ABI=1即可,不然会报错:symbol not define…;
4.最后在当前目录下会生成一些.o(目标文件)和.so(共享库文件)文件

2.2 编译源码算子

然后,回到源码目录下(…/TotalDenoising),创建进入到tf_ops目录(…/TotalDenoising/tf_ops),在该目录下手动创建build文件夹

mkdir build

tf_ops目录下的文件

其次,编译算子执行compile.sh命令,再该执行命令之前,需要修改一些里面的内容

vim compile.sh

在这里插入图片描述
圈出来的地方:
1.如果报symbol not define…的错误还是要将-D_GLIBCXX_USE_CXX11_ABI=0 改成 -D_GLIBCXX_USE_CXX11_ABI=1
2.相关路径需要改成你的tensorflow的路径(tf.__path__的输出结果)

修改完后,在执行脚本

sh compile.sh
# 或者
./compile.sh

同样会生成.o和.so文件(在build文件夹下)

3 训练

准备工作已经做完了,现在可以开始训练了,训练之前需要先下载官网的数据集。由于数据集RueMadame的官网连接失效,只能选择提供的另一个数据集NoisyDataSets下载解压到…/TotalDenoising目录下,然后使用命令

# 官网提供的命令--dataset 3是用于RueMadame数据集的,没有3则默认为dataset0,即使用的NoisyDataSets/NoisyColoredGaussianDataSet下的数据集
python Train.py --dataset

开始训练:
训练完成后生成的log文件夹下的log.txt文件的训练过程的内容
训练完成后生成的log文件夹下的log.txt文件的训练过程
生成的模型位于log文件夹下

4 测试

测试数据是TestMeshes下的点.off格式的文件,需要先将其转为.vox体素格式的文件

# 运行生成体素文件的代码
python GenerateVoxelMeshes.py

TestMeshes下会生成.vox文件

然后,运行测试脚本命令

# 选择官网给的命令,也可以自行选择相关参数
python3 Test.py --gaussFilter --dataset 0 --saveModels

在这里插入图片描述
生成的测试结果数据位于dnTestModels文件夹下

参考链接:https://blog.csdn.net/Meet_csdn/article/details/119615049

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值