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++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

### 关于CNNSVO算法复现的方法 CNNSVO(Convolutional Neural Network Semi-Voxel Occupancy)是一种结合卷积神经网络与半体素占用表示的技术,通常用于三维场景重建、机器人导航等领域。以下是有关其复现的关键点: #### 数据准备 为了成功复现CNNSVO算法,需要准备好高质量的输入数据集。这些数据可以来源于公开的数据集,例如KITTI或TUM RGB-D[^3]。确保数据预处理阶段能够正确提取特征并转换为适合模型训练的形式。 #### 模型架构设计 CNNSVO的核心在于通过CNN来估计空间中的体素占用概率。具体实现上,可采用如下结构: - 输入层接收RGB图像以及深度图作为主要信息源。 - 中间多层感知机(MLP)负责融合视觉特征与几何线索。 - 输出预测每个体素被占据的可能性分布。 下面给出一段简化版伪代码展示基本流程: ```python import torch.nn as nn class CNNSVONet(nn.Module): def __init__(self, input_channels=4): # Assuming RGBA or Depth + Color channels super(CNNSVONet, self).__init__() self.conv1 = nn.Conv3d(input_channels, 64, kernel_size=(3,3,3)) ... def forward(self, x): out = F.relu(self.conv1(x)) ... return occupancy_probabilities ``` #### 训练策略 在构建好上述框架之后,还需要定义损失函数指导优化过程。常用的交叉熵损失适用于此类二元分类任务[^2]: \[ L(y,\hat{y})=-\sum_{i} y_i \log(\hat{y}_i)+(1-y_i)\log(1-\hat{y}_i). \] 同时建议引入正则化项防止过拟合现象发生。 #### 测试评估指标 完成训练后需利用精确率(Precision),召回率(Recall),F1分数等多种度量标准全面衡量性能表现。 ---
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值