赞
踩
原始的modelnet40是off文件,是cad模型
OFF文件是一种用于存储三维对象信息的文件格式,全称为"Object File Format"。它主要用于存储几何体的顶点、边和面信息,以及可能的颜色和纹理数据,从而描述了一个或多个三维模型的结构。OFF文件格式因其简洁明了的结构而被广泛用于学术研究和三维图形应用中,特别是在计算机图形学、三维建模和可视化领域。
OFF文件的结构相对简单,通常以"OFF"作为文件的开头,随后是顶点(vertices)、面(faces)和(可选的)边(edges)的数量。之后的部分包含了每个顶点的坐标(通常是X、Y、Z三维坐标)以及每个面的信息,包括组成该面的顶点数和这些顶点在文件中的索引。面的部分还可以包含颜色信息。
一个简单的OFF文件示例如下:
OFF # 顶点数 面数 边数 8 6 0 # 顶点坐标列表 -0.5 -0.5 0.5 0.5 -0.5 0.5 0.5 0.5 0.5 -0.5 0.5 0.5 -0.5 -0.5 -0.5 0.5 -0.5 -0.5 0.5 0.5 -0.5 -0.5 0.5 -0.5 # 面的列表,每个面的第一个数字是该面的顶点数,后面是顶点的索引 4 0 1 2 3 4 7 6 5 4 4 0 4 5 1 4 1 5 6 2 4 2 6 7 3 4 3 7 4 0
这个示例描述了一个立方体,其中包括8个顶点和6个面。OFF格式的一个重要特点是其灵活性和简单性,它允许快速读写三维几何数据,而无需处理复杂的文件结构或解析算法。
ModelNet40是一个广泛使用的三维物体识别和分类的标准数据集。它由普林斯顿大学的研究小组创建,旨在促进三维形状识别和检索领域的研究。ModelNet40包含了从网络上收集的各种三维CAD模型,这些模型代表了40个不同的类别,如桌子、椅子、飞机、植物等。总共包括12311个模型,其中有9843个用于训练,而剩下的2468个用于测试。
ModelNet40的三维模型主要以网格的形式提供,每个模型都是由一系列顶点和构成表面的多边形(通常是三角形)组成的。这些三维模型被用来训练和测试计算机视觉算法,特别是深度学习模型,以实现对三维形状的自动识别和分类。
使用ModelNet40数据集的研究可以帮助改进三维对象的自动识别技术,这对于机器人视觉、自动驾驶汽车、增强现实和许多其他应用都非常重要。数据集的设计旨在提供足够的多样性,以确保算法可以学习到从基本几何形状到复杂物体结构的广泛特征。
ModelNet40数据集的发布促进了三维计算机视觉领域的研究和发展,许多先进的模型和算法,如PointNet和PointNet++,都是在这个数据集上进行训练和评估的,显示出了在处理三维数据方面的突出能力。
我们使用的txt文件是经过采样的,meshlab设置如下:
打开后,这是10000个点的点云
用cloudcompare打开
百度网盘下载链接:
链接:https://pan.baidu.com/s/15hYqo3leOFXBKekFq561_w 提取码:thek
从百度网盘下载modelnet40分类数据集文件modelnet40_normal_resampled.zip并放置到data目录下
解压后产生文件夹:data/modelnet40_normal_resampled
训练时可选择不同的model
##Check model in ./models
##E.g. pointnet2_msg
python3 train_classification.py --model pointnet2_cls_msg --use_normals --log_dir pointnet2_cls_msg
如有显存溢出情况,如: RuntimeError: CUDA out of memory. Tried to allocate 1.41 GiB (GPU 0;
11.91 GiB total capacity; 9.99 GiB already allocated; 999.81 MiB free; 104.72 MiB cached)
训练命令改为:
python3 train_classification.py --model pointnet2_cls_msg --use_normals --log_dir pointnet2_cls_msg --batch_size 8
训练完会自动生成log文件夹,里面保存了日志文件和网络参数
训练结果
因为时间关系,我只测试了3个epoch,用小的batch-size可能会导致accuracy降低,
以下是官方测试结果
python3 test_classification.py --use_normals --log_dir pointnet2_cls_msg
测试结果
数据准备(Data Preparation)
数据集:Preprocessed ShapeNetPart dataset (XYZ, normal and part labels)
从百度网盘下载shapenetcore_partanno_segmentation_benchmark_v0_normal.zip,并解压到:
data/shapenetcore_partanno_segmentation_benchmark_v0_normal
X Y Z Nx Ny Nz Scalar
meshlab无法打开以上数据格式,用
能看到红绿蓝三种颜色
## Check model in ./models
## e.g., pointnet2_msg
python train_partseg.py --model pointnet2_part_seg_msg --normal --log_dir pointnet2_part_seg_msg
python test_partseg.py --normal --log_dir pointnet2_part_seg_msg
下载3D indoor parsing dataset (S3DIS)数据集Stanford3dDataset_v1.2_Aligned_Version.zip并解压
到 data/s3dis/Stanford3dDataset_v1.2_Aligned_Version/ .
cd data_utils
python collect_indoor3d_data.py
处理后的数据被保存在 data/stanford_indoor3d/ .
处理后的数据是npy,产生这样的文件后
这个训练任务需要很高的显存,这里就不做了
执行训练命令
Check model in ./models
E.g. pointnet2_ssg
python train_semseg.py --model pointnet2_sem_seg --test_area 5 --log_dir
pointnet2_sem_seg
可视化结果保存在 log/sem_seg/pointnet2_sem_seg/visual/ ;这些.obj文件可以用MashLab软件
可视化。
执行测试命令
python test_semseg.py --log_dir pointnet2_sem_seg --test_area 5 --visual
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。