ModelNet40 中加入自己的数据集

ModelNet40 中加入自己的数据集

ModelNet40 :http://modelnet.cs.princeton.edu/#
含有40个内别的CAD三维模型,是评价点云深度学习模型进行语意分割、实例分割和分类的标准数据集
代码功能:对自己的点云目标进行标准化融合到ModleNet40中
主要步骤:

  1. 中心化:将点云中心移动到坐标原点;
  2. 尺度缩放:将所有点的坐标的绝对值限制在1以内;
  3. 采样:将点云采样到固定大小点数;
  4. 输出保存文件的格式;
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 25 21:53:03 2019

@author: sgl
"""
import os
import sys
import numpy as np
import h5py
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
sys.path.append(BASE_DIR)

def getDataFiles(list_filename):
    return [line.rstrip() for line in open(list_filename)]

def loadDataFile(path):
    data = np.loadtxt(path)
    num = data.shape[0]
    point_xyz = data[:,0:3]
    point_normal = data[:,3:6]
    point_rgb = data[:,6:9]
    # label just a example, should be repalced the real.
    # modlenet40 is 0-39, so the label can be 40 and 41
    label = np.ones((num,1), dtype=int)+39
    return point_xyz, label

def change_scale(data):
    #centre 
    xyz_min = np.min(data[:,0:3],axis=0)
    xyz_max = np.max(data[:,0:3],axis=0)
    xyz_move = xyz_min+(xyz_max-xyz_min)/2
    data[:,0:3] = data[:,0:3]-xyz_move
    #scale
    scale = np.max(data[:,0:3])
    data[:,0:3] 
### 关于深度学习降噪任务的数据集 对于深度学习点云降噪的任务,通常需要高质量的三维点云数据来训练和验证模型。以下是几个常用且适合此类任务的数据集及其下载方式: #### 1. **ModelNet** ModelNet 是一个广泛使用的三维物体识别数据集,包含了多种类别的 CAD 模型。虽然它主要用于分类任务,但也被用来测试点云处理算法的效果。该数据集中包含大量人工生成的干净点云,可以作为基准用于研究如何向其中加入合成噪声并进行去噪实验。 - 官方网站: [http://modelnet.cs.princeton.edu/](http://modelnet.cs.princeton.edu/) - 特征描述:由 Princeton University 提供,分为 ModelNet40ModelNet10 两个版本[^3]。 #### 2. **ShapeNet** ShapeNet 是另一个大规模的三维形状库,拥有超过 51,000 种独特类别下的 3D 模型。由于其多样性高,因此非常适合开发复杂的几何结构理解技术,比如降噪网络的设计与优化。 - 访问地址: [https://www.shapenet.org/](https://www.shapenet.org/) - 主要特点:斯坦福大学维护;覆盖范围广,适用于各种计算机视觉应用领域[^4]。 #### 3. **KITTI Vision Benchmark Suite (带噪声扩展版)** 原本 KITTI 更侧重自动驾驶相关感知挑战赛项目,但后来社区贡献了一些额外资源——即针对 LiDAR 扫描仪获取的真实世界环境添加随机误差后的模拟版本。这使得研究人员能够探索实际条件下可能遇到的各种干扰因素的影响程度。 - 获取链接: [http://www.cvlibs.net/datasets/kitti/index.php](http://www.cvlibs.net/datasets/kitti/index.php) - 备注说明:Karlsruhe Institute of Technology & Toyota Technological Institute at Chicago 联合发布;特别推荐给关注室外场景分析的人士尝试使用[^5]。 #### 4. **S3DIS (Stanford Large-Scale 3D Indoor Spaces Dataset)** 此室内空间扫描数据库不仅记录了建筑物内部详细的物理布局情况,而且通过人为注入不同程度的异常值形成新的变体形式,从而便于考察特定环境下执行降噪操作的能力表现如何。 - 查询入口: [http://buildingparser.stanford.edu/dataset.html](http://buildingparser.stanford.edu/dataset.html) - 额外优势:专注于复杂建筑群组内的细部刻画工作,有助于提升局部特征捕捉精度[^6]。 --- ```python import numpy as np from sklearn.model_selection import train_test_split def load_point_cloud_data(dataset_path): """ 加载指定路径下存储的标准格式化点云文件。 参数: dataset_path (str): 数据源目录位置 返回值: tuple: X_train, X_val, y_train, y_val 表示划分好的训练和验证合标签信息数组 """ # 假设读取的是 .npy 文件类型 data = np.load(f"{dataset_path}/point_clouds.npy") # 替换为对应真实名称 labels = np.load(f"{dataset_path}/labels.npy") return train_test_split(data, labels, test_size=0.2) if __name__ == "__main__": path_to_dataset = "/path/to/downloaded/dataset" X_train, X_val, _, _ = load_point_cloud_data(path_to_dataset) print("Data loaded successfully!") ``` 上述代码片段展示了加载预定义点云数据的一种简单实现方法,并将其拆分成训练与验证以便进一步开展机器学习建模活动。 ---
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值