Advertisement

PointNet和PointNet++的Pytorch代码实现。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
更新于2021年3月27日:(1)发布了语义分割的预训练模型,其中PointNet++取得了53.5%的mIoU分数。(2) 同时,发布了这些预训练模型,以便用于分类和部分分割任务的日志记录。 2021年3月20日:对分类代码进行了更新,具体包括:(1)加入了用于训练ModelNet10数据集的代码,并设置了--num_category 10参数。(2)添加了仅在CPU上运行的代码,通过使用--use_cpu参数实现。(3)进一步增强了离线数据预处理代码,以加速训练过程,并使用了--process_data参数。(4)还增加了用于均匀采样训练的代码,通过使用--use_uniform_sample参数实现。 2019年11月26日:(1)修正了先前代码中的一些缺陷,并引入了数据增强技术,从而使得仅使用1024分就能达到92.8%的准确率。(2) 增加了测试代码模块,涵盖分类、分割以及语义分割的可视化功能。(3)将所有模型整理至./models文件目录中,以便于用户轻松访问和利用。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • PointNetPointNet++Pytorch
    优质
    本项目提供PointNet和PointNet++在PyTorch框架下的完整实现,适用于点云数据的分类、语义分割等任务。 更新如下: 2021/03/27: (1)发布语义分割的预训练模型,其中PointNet++可以达到53.5%的mIoU。 (2)发布用于分类和部分分割任务的预训练模型。 2021/03/20: 更新了分类代码,包括以下内容: (1)添加了用于ModelNet10数据集训练的代码。使用--num_category 10参数进行设置。 (2)增加了仅在 CPU 上运行的选项。通过使用--use_cpu 参数启用此功能。 (3)加入了离线数据预处理代码以加速训练过程,可以通过使用 --process_data 参数来激活该功能。 (4)添加了用于均匀采样训练的数据增强方法。利用--use_uniform_sample参数实现。 2019/11/26: (1)修复了一些先前版本中存在的错误,并引入了数据增强技巧。现在仅用1024点即可达到92.8%的准确率。 (2)添加了测试代码,包括分类和分割任务以及可视化语义分割结果的功能。 (3)将所有模型整理到./models文件夹中,方便用户使用。
  • PyTorchPointNet++
    优质
    本项目提供了基于PyTorch框架实现的PointNet++源码,适用于点云数据处理任务,包含分类和语义分割功能。 @article{Pytorch_Pointnet_Pointnet2, Author = {Xu Yan}, Title = {Pointnet/Pointnet++ Pytorch}, Journal = {https://github.com/yanx27/Pointnet_Pointnet2_pytorch}, Year = {2019}} 重写后的内容如下: @article{Pytorch_Pointnet_Pointnet2, Author = {Xu Yan}, Title = {Pointnet/Pointnet++ Pytorch}, Journal = {}, Year = {2019}}
  • PointNet_pytorch_PointNetPyTorch.zip
    优质
    本资源提供了一个用PyTorch框架实现的PointNet代码库,适用于点云数据处理与分类任务。包含模型训练、测试及预处理脚本。 PointNet.pytorch 是 PointNet (https://arxiv.org/abs/1612.00593) 在 PyTorch 中的实现。模型代码位于 pointnet.py 文件中。下载数据并运行 bash 脚本即可使用。
  • PointNet2_PyTorch: PointNet++PyTorch版本
    优质
    简介:PointNet2_PyTorch是PointNet++的PyTorch版实现,适用于点云理解任务,支持多种数据集与模型架构,便于研究和开发。 Pointnet2/Pointnet++ PyTorch 项目状态:未维护。由于时间有限,我没有更新此代码的计划,并且不会响应问题。 该项目是用 PyTorch 编写的 Pointnet2/Pointnet++ 版本,支持多 GPU 使用和 PyTorch 版本 >= 1.0.0 的环境。对于旧版本的 PyTorch 支持,请参考官方发布的模型定义和超参数(在 tensorflow 中)。 注意:Pointnet++ 所使用的自定义操作目前仅在使用 CUDA 的 GPU 上受支持。该项目已通过 Python {3.6, 3.7} 版本进行测试,安装依赖项时请运行 `pip install -r requirements.txt` 命令,并且该 repo 已经用 PyTorch {1.4, 1.5} 进行了测试。它可能适用于比 1.5 更新的版本,但这不能保证。
  • PointNet2.PyTorch:基于PyTorch更快PointNet++
    优质
    PointNet2.PyTorch是基于PyTorch框架的一个更快速、高效的PointNet++实现版本,适用于点云处理任务。 Pointnet2.PyTorch 是基于 PyTorch 的实现,并通过重新编写 CUDA 操作使其比原始代码更快。 安装要求: - Linux(已在 Ubuntu 14.04 / 16.04 上测试) - Python 3.6+ - PyTorch 1.0 安装方法:运行以下命令来安装此库。 ``` cd pointnet2 python setup.py install cd ../ ``` 示例: 这里提供了一个简单的例子,展示如何在 KITTI Outdoor 前景点云分割任务中使用这个库。有关任务描述和前景标签生成的详细信息,请参考相关论文。 下载训练数据后,文件应按照以下方式组织: Pointnet2.PyTorch ├── pointnet2 ├── tools │ ├── data │ │ ├── KITTI │ │ │ ├── ImageSets
  • PointNet-Pytorch模型
    优质
    PointNet-Pytorch模型是一款基于PyTorch框架实现的深度学习点云处理工具,它能够直接从原始点云数据中提取特征,适用于分类、语义分割等多种任务。 PointNet-PyTorch 是 PyTorch 中 PointNet 的实现。分类数据集为 ModelNet10。下载脚本是 sh modelnet_data_download.sh,训练脚本为 python train_cls.py。 相关论文链接:PointNet: https://arxiv.org/pdf/1612.00593.pdf(arxiv) 3D ShapeNets
  • PointNet2/PointNet++PyTorch- Python项目开发
    优质
    本Python项目提供PointNet2(又称PointNet++)的PyTorch实现,适用于点云数据处理和机器学习任务,助力深度学习研究与应用开发。 用PyTorch编写的Pointnet2/Pointnet++的实现支持多GPU,并通过nn.DataParallel进行扩展。该版本适用于PyTorch 1.0及以上版本。对于较旧版本,可以参考v1.0分支中的代码。正式的模型定义和超参数可以在charlesq34/pointnet2仓库中找到(以tensorflow格式)。使用CUDA的GPU当前仅支持Pointnet++使用的自定义操作。 安装环境:已通过Python 3.6 和 Python 3.7 测试过此仓库。
  • PointNet-QT
    优质
    PointNet-QT是一款创新的点云处理框架,专为快速原型设计与小型设备优化而生,它在保持高性能的同时大幅减少了模型体积和计算需求。 读研期间无聊时编写的一个小演示程序。 该应用基于Qt平台开发,并实现了PointNet算法的点云分类与分割功能,点击exe文件可以直接运行。 - classes 文件夹包含类别文件; - clouds 文件夹存放点云数据(支持txt或pcd格式); - models 文件夹内有模型文件; - source 文件夹则包含了源代码。
  • PyTorchPointNet++点云处理详解
    优质
    本篇教程深入解析了使用PyTorch实现PointNet++的方法与技巧,重点介绍了其在点云数据处理中的应用和优势。 三维点云是物理世界的三维数据表达形式,在自动驾驶、AR/VR、FaceID等领域得到广泛应用。PointNet网络模型作为直接对三维点云进行深度学习的开创性作品,而PointNet++则是其改进版本。这两项技术在点云处理领域具有里程碑意义,并启发了后续大量研究工作。 本课程将深入解析PyTorch版的PointNet++,涵盖原理讲解、论文复现以及代码详解等环节: 1. 提供ModelNet40(三维点云物体分类数据集)、ShapeNet(物体部件分割数据集)和S3DIS(场景分割数据集),并介绍如何下载这些数据集及可视化方法。 2. 在Ubuntu系统上展示使用PointNet++进行三维点云的物体分类、部件分割以及场景语义分割训练与测试的具体步骤。 3. 详细解释PointNet++的工作原理,程序代码及其实现细节,并通过PyCharm工具来进行调试和单步跟踪。
  • PointNet-ScanNet:在ScanNet数据集上评估PointNet++
    优质
    本文旨在评估PointNet++模型在ScanNet大规模3D场景理解数据集上的表现,并进行深入分析。 PointNet是一种基于点云数据的深度学习架构,由Charles R. Qi等人于2017年提出,主要用于3D形状理解和处理。它能够直接处理不规则的3D点云数据,解决了传统方法对网格或体素化的需求。PointNet++是其扩展版本,通过分层采样和聚集操作增强了模型对局部结构的理解能力,在复杂3D几何形状处理中表现更优。 标题中的“PointNet-ScanNet”指的是将PointNet++应用到ScanNet数据集上的实验研究。ScanNet是一个包含超过2500个场景的RGB-D视频的大规模室内3D扫描数据集,每个场景都配有精细的3D重建和语义分割注释,是评估三维深度学习模型性能的理想平台。 描述中的“点网扫描网”很可能是指使用PointNet++对ScanNet进行分析建模。由于其捕捉局部特征的能力,该方法在解析复杂室内环境时具有显著优势。 开发和测试基于Python的PointNet++模型通常包括以下步骤: 1. 数据预处理:将RGB-D图像转换为点云格式,并可能需要配准、去除噪声及标准化等操作。 2. 构建网络结构:利用PointNet++多尺度群聚架构,通过采样和聚合层逐步提取特征。 3. 训练与优化:使用ScanNet的标注信息作为监督信号训练模型。这通常涉及反向传播算法如Adam或SGD以最小化预测误差。 4. 模型评估:在验证集和测试集上根据IoU、精度及召回率等指标进行性能评价。 5. 应用与可视化:利用已训练好的模型对新场景做推理,并通过MeshLab或ParaView展示结果。 文件名PointNet-ScanNet-master可能表明这是一个包含实现代码的项目仓库,包括数据预处理脚本、网络结构定义及评估逻辑等。开发者可借此了解并实践PointNet++在实际3D场景理解任务中的应用。