occupancy_networks demo复现

部署运行你感兴趣的模型镜像

一、环境部署

创建镜像

本人使用Ubuntu18.04,cuda10.0,python3.6的镜像

(1)拉取镜像
docker pull rogerchen/cuda10.0-cudnn7-py3.6:latest
(2)创建容器
 run -it --gpus all -v 需要挂载的文件夹:/home/work/ rogerchen/cuda10.0-cudnn7-py3.6:latest /bin/bash
(3)安装Anaconda3

清华大学开源软件镜像站下载地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下载 Anaconda3-2019.07-Linux-x86_64.sh(其他也可以)

 sudo sh Anaconda3-2019.07-Linux-x86_64.sh

然后一直回车键,直到出现

Please answer 'yes' or 'no'
输入 yes

最后退出镜像再重新进入

 conda --version  #输出conda 4.5.12 之类的版本信息,就说明安装成功了
(4)使用environment.yaml创建环境
conda env create -f environment.yaml
conda activate mesh_funcspace

如果遇见以下情况

ResolvePackageNotFound: 
  - pytorch=1.0.0

可以在environment.yaml中将对应行删掉,后续自己安装对应版本包
以我为例:
无法安装pytorch,去https://pytorch.org/get-started/previous-versions/下载torch-1.0.0-cp36-cp36m-linux_x86_64.whl,

pip install torch-1.0.0-cp36-cp36m-linux_x86_64.whl

二、 编译

(1)代码修改

setup.py 106行修改

setup(
    ext_modules=cythonize(ext_modules),
    cmdclass={
        'build_ext': BuildExtension
    },
    include_dirs=[np.get_include()]
)

setup.py中关于dmc_的全部注释掉
在这里插入图片描述**
同时将im2mesh/config.py.中的import dmc和下面的dmc注释掉**

(2)编译
python setup.py build_ext --inplace
(3)运行

运行前下载pt模型(官方的url没法用),csdn中就有(链接:https://download.youkuaiyun.com/download/qq_20044829/84993305?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168387504316800213038136%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fdownload.%2522%257D&request_id=168387504316800213038136&biz_id=1&utm_medium=distribute.pc_search_result.none-task-download-2allinsert_down_v2~default-3-84993305-null-null.142v87control_2,239v2insert_chatgpt&utm_term=Occupancy%20Networks&spm=1018.2226.3001.4187.4)
修改yaml
在这里插入图片描述
修改代码im2mesh/checkpoints.py
为了方便
在这里插入图片描述
最后运行

python generate.py configs/demo.yaml

最后在occupancy_networks/demo/generation/meshes输出结果
在这里插入图片描述在这里插入图片描述

三、后续

由于这个只是demo,如果要实现更好的效果,需要自己训练,由于官方提供的预处理数据集太大,本人没法训练;

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

要测试自己的数据集,可以按照以下步骤使用occupancy_networks进行操作: 1. 数据集准备:首先,需要准备自己的数据集。数据集应包含3D物体的点云数据以及对应的表面网格数据。数据集可以从现有的3D模型数据库中获得,或者通过扫描实际物体获得。确保数据集包含足够的物体样本以及它们的形状、尺寸、姿态等多样性。 2. 数据预处理:对于点云数据,可以使用现有的点云处理软件(如CloudCompare、MeshLab)进行滤波、对齐和下采样等处理,以确保数据的质量和一致性。对于表面网格数据,可以使用网格处理软件(如QGIS、MeshLab)进行一些处理,如去除不必要的顶点、边缘和面,以及修复可能存在的孔洞和噪声。 3. 数据划分:将数据集分成训练集、验证集和测试集。通常,训练集用于模型训练,验证集用于调整模型的超参数,测试集用于评估模型的性能。确保每个集合中的物体样本具有多样性和均衡性,以避免对特定样本过拟合。 4. 数据格式转换:将点云数据和表面网格数据转换成occupancy_networks可接受的格式。occupancy_networks通常接受3D点的坐标信息和一个二值标记,表示点是否在物体内部。可以使用Python库如Open3D或trimesh来读取和转换数据格式。 5. 模型训练与测试:使用occupancy_networks代码库提供的训练与测试脚本,按照其文档说明进行模型训练和测试。在训练阶段,指定训练集路径和参数,训练网络进行物体的隐式表示学习。在测试阶段,使用测试集评估网络对输入数据的预测准确性。 6. 结果评估:根据测试集的标签和网络的预测结果,可以计算指标如准确率、召回率、F1分数等来评估occupancy_networks在自己的数据集上的性能表现。同时,可以可视化预测结果,比较真实标签和网络预测的差异。 通过以上步骤,可以使用occupancy_networks对自己的数据集进行测试,评估模型在物体重建和隐式表示学习任务上的性能。
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值