windows 下复习 PF-Net

GitHub - zztianzz/PF-Net-Point-Fractal-Network: CVPR2020 PF-Net: Point Fractal Network for 3D Point Cloud Completion源码链接

下载数据集

https://pan.baidu.com/s/1MavAO_GHa0a6BZh4Oaogug 提取码:3hoe 

cpu环境

baidu-aip==2.2.18.0
cached-property==1.5.2
certifi==2021.10.8
charset-normalizer==2.0.12
h5py==3.6.0
idna==3.3
numpy==1.21.5
Pillow==9.1.0
requests==2.27.1
torch==1.11.0
torchvision==0.12.0
typing_extensions==4.1.1
urllib3==1.26.8

gpu  环境

cuda 11.1的

安装 torch  记得去测能不能加速

pip3 install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio===0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

数据这么放   shapenetcore_partanno_segmentation_benchmark_v0

创一个文件夹放权重

 修改    把1,2 该 为0

    或者加入  if __name__ == '__main__':

if __name__ == '__main__':(这个地方加入if __name__ == '__main__':)
    dset = shapenet_part_loader.PartDataset( root='./dataset/shapenetcore_partanno_segmentation_benchmark_v0/',classification=True, class_choice=None, npoints=opt.pnum, split='train')
    assert dset

    dataloader = torch.utils.data.DataLoader(dset, batch_size=opt.batchSize,
                                             shuffle=True,num_workers = int(opt.workers))


    test_dset = shapenet_part_loader.PartDataset( root='./dataset/shapenetcore_partanno_segmentation_benchmark_v0/',classification=True, class_choice=None, npoints=opt.pnum, split='test')
    test_dataloader = torch.utils.data.DataLoader(test_dset, batch_size=opt.batchSize,
                                             shuffle=True,num_workers =int(opt.workers))

修改权重路径

 右键    run  就可以了  这是cpu的

 还在训练中。

gpu

内存不够    GPU对2的幂次的batch可以发挥更佳的性能(我的电脑太小了跑的太慢了)

 

代写中(等我训练好)

### 点云补全算法复现与代码实现 点云补全是一项重要的计算机视觉任务,其目标是通过对不完整点云数据的处理,恢复出完整的几何结构。目前主流的方法大多基于深度学习框架构建,例如 PF-Net 和 Seedformer。 #### 一、PF-Net 的理论基础与实现 PF-Net 是一种专门用于三维点云补全的深度学习模型[^2]。它借鉴了 GAN(生成对抗网络)的思想,在点云领域实现了类似的补全效果。具体来说,PF-Net 将输入的残缺点云作为条件,通过生成器生成缺失的部分,并由判别器评估生成结果的真实性。这种机制使得 PF-Net 能够有效捕捉点云的空间分布特性并完成高质量的补全操作[^3]。 以下是 PF-Net 的核心模块及其功能描述: 1. **编码器 (Encoder)**:负责提取输入点云的全局特征。 2. **解码器 (Decoder)**:利用全局特征生成新的点集以填补缺失区域。 3. **判别器 (Discriminator)**:区分真实点云与生成点云之间的差异,从而优化生成质量。 下面提供了一个简化版的 PyTorch 实现示例: ```python import torch import torch.nn as nn class Encoder(nn.Module): def __init__(self, input_dim=3, hidden_dim=128): super(Encoder, self).__init__() self.mlp = nn.Sequential( nn.Linear(input_dim, hidden_dim), nn.ReLU(), nn.Linear(hidden_dim, hidden_dim * 2) ) def forward(self, x): return self.mlp(x) class Decoder(nn.Module): def __init__(self, latent_dim=256, output_dim=3): super(Decoder, self).__init__() self.mlp = nn.Sequential( nn.Linear(latent_dim, 256), nn.ReLU(), nn.Linear(256, output_dim) ) def forward(self, z): return self.mlp(z) class Generator(nn.Module): def __init__(self, encoder, decoder): super(Generator, self).__init__() self.encoder = encoder self.decoder = decoder def forward(self, x): features = self.encoder(x).mean(dim=1) # Global feature pooling generated_points = self.decoder(features.unsqueeze(1)) return generated_points # Example usage encoder = Encoder() decoder = Decoder() generator = Generator(encoder, decoder) input_cloud = torch.randn((16, 1024, 3)) # Batch of point clouds output_cloud = generator(input_cloud) print(output_cloud.shape) # Output shape should match the desired number of points ``` 上述代码展示了如何定义一个基本的生成器架构,实际应用中还需要加入更多的细节以及损失函数的设计。 #### 二、环境配置建议 为了顺利运行点云补全的相关代码,通常需要搭建适合的开发环境。以下是一些常见的依赖库安装命令[^5]: ```bash pip install open3d==0.10.0 pip install opencv-python pip install transforms3d ``` 如果计划使用 GPU 加速计算,则需额外确认 CUDA 版本兼容性,并适当调整 `limit_val_batches` 参数以适应多卡训练需求[^4]。 --- ####
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WangSaLe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值