安装MinkowskiEngine记录

安装参考官方代码库指导: https://github.com/NVIDIA/MinkowskiEngine

在我的环境中, 直接pip安装一直编译错误。 一开始是因为gcc版本过高(11.x), 无法编译MinkowskiEngine, 后来降低gcc版本到7.5 编译依然报错。 降低gcc版本, 请参考 Unbuntu 22.04 安装 GCC 7.5版本
最后下载了源码, 通过python setup.py install就成功安装了。

环境信息:

Ubuntu 22.04
gcc 7.5
python 3.8.20
CUDA 11.7
torch 1.13.1+cu117
ninja  1.11.1.3
### 使用YOLOv11训练点云数据集 目前主流的目标检测框架如YOLO系列主要用于处理二维图像中的物体识别任务。然而,对于三维空间内的点云数据,传统基于图像的YOLO架构并不适用。为了适应点云数据的特点,研究人员开发了一系列专门针对此类数据的任务特定网络。 #### 一、环境准备 在开始之前,需确认已安装必要的依赖库和支持工具链。考虑到YOLOv11可能尚未公开发布或其特性未被广泛记录,在实际操作中可以参照相近版本(比如YOLOv5)的基础设置[^1],同时引入额外的支持包用于处理3D几何信息: - PyTorch: 主要计算引擎。 - Open3D: 处理和可视化点云数据的有效工具。 - MinkowskiEngine: 支持稀疏张量运算,特别适合于不规则分布的数据形式如点云。 ```bash pip install torch torchvision open3d minkowskiengine ``` #### 二、数据预处理 由于原始点云文件通常不具备标准格式,因此需要先对其进行转换以匹配模型输入需求。这一步骤涉及但不限于以下几个方面: - 数据清洗:去除噪声点和平滑表面; - 坐标变换:统一坐标系下的表示方法; - 特征提取:从每一点获取局部描述符作为附加属性; 对于MVTEC AD这样的工业缺陷检测场景,建议按照类似的分层结构组织样本集合[^4],只是此时每个子文件夹内应存储`.pcd`或其他兼容类型的点云文档而非图片。 #### 三、构建自定义Dataset类 为了让PyTorch能够加载并迭代遍历整个数据集,编写继承自`torch.utils.data.Dataset`的新类是必不可少的一环。该类至少实现两个核心函数:`__init__()`, `__getitem__()`以及`__len__()`: ```python import os from pathlib import Path import numpy as np import open3d as o3d class PointCloudDataset(torch.utils.data.Dataset): def __init__(self, root_dir, transform=None): self.root_dir = Path(root_dir) self.transform = transform # 获取所有类别名称及其对应的路径列表 categories = sorted([item.name for item in self.root_dir.iterdir() if item.is_dir()]) self.samples = [] for cat in categories: sample_paths = list((self.root_dir / cat).glob('*.pcd')) labels = [cat]*len(sample_paths) self.samples.extend(zip(sample_paths, labels)) def __len__(self): return len(self.samples) def __getitem__(self, idx): pcd_path, label = self.samples[idx] point_cloud = o3d.io.read_point_cloud(str(pcd_path)) points = np.asarray(point_cloud.points).astype(np.float32) if self.transform is not None: points = self.transform(points) return {'points': points, 'label': label} ``` #### 四、调整YOLO Backbone设计 鉴于现有YOLO变体多围绕RGB影像优化的事实,直接应用于点云可能会遇到困难。为此,有必要探索替代性的骨干网路设计方案,例如PointNet++, DGCNN等专为捕捉三维形状特征而生的模块[^3]。这些改进型组件往往能更好地理解复杂的空间关系,并有助于提高最终预测精度。 #### 五、集成与测试 完成上述准备工作之后,即可着手整合各部分功能并将新建立的Pipeline部署至GPU设备上运行。期间务必密切监控性能指标变化情况,及时调整超参数直至获得满意的效果为止。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值