当前位置: 首页 > news >正文

点云的无监督语义分割方法

深度学习和人工智能是点云分割的优秀且强大的解决方案,但语义分割能否在数据处理方面更简单、更快速?如今,我们专注于深度学习,但人工智能是以数据为中心的。生成这些数据是一项劳动密集型的解决方案,我们能否尝试采用简单的无监督语义分割来有效地“预标记”点云?

目前已有一些成熟的方法可以基于颜色、强度、几何形状、拓扑关系以及混合方式对点云进行分割。因此,我们将在此回顾这些方法,并探索一种融合解决方案,以更快、更高效的方式解决“预标记”过程。

基于颜色

  • 根据一系列颜色
  • 从点云中提取定义的颜色
  • 所谓的“半监督”——需要一些手动标记或颜色范围的先验知识
  • 例如,可以使用 K 均值聚类根据颜色相似性对点进行分组,从而实现进一步的分类或分割

基于几何

  • 点的几何特性,坐标(X,Y,Z)
  • 聚类算法,例如 K-means 或 DBSCAN
  • 识别点云中的不同形状或结构

关于 DBSCAN 的更多信息

DBSCAN 工作原理示例

  • 根据其密度
  • 将密集的点视为属于同一簇
  • 将点分类为核心点、边界点或噪声
  • 核心点在指定距离(epsilon)内有足够数量的邻近点
  • 边界点具有较少的相邻点,但在核心点的 epsilon 距离内
  • 噪声点是不属于任何聚类的孤立点
  • 通过将核心点连接到其相邻的核心点或边界点来扩展聚类

与基于几何的解决方案相比,基于颜色的分割的优点和局限性

对于样本 1 和样本 2,基于几何的分割以及基于颜色和几何的混合融合解决方案可以更好、更有效地从低密度和超小占地面积的 LiDAR 点云中分割出这些椅子。

样本1(原椅子数量:14)

仅基于几何:5/14(35.7%),混合:14/14(100%)

样本2(原椅子数量:20)

仅基于几何:8/20(40%),混合:18/20(90%)

混合解决方案可以对目标椅子实现约 90% 到 100% 的分割准确率。然而,由于基于颜色的分割,一些点可能会从点云中被预先过滤掉。这是因为基于颜色的方法可能无法覆盖椅子所有可能的颜色范围。

在拥有更宽的颜色范围和实现更有效的几何分割之间存在权衡。增加颜色范围可能会削弱几何分割,导致分割精度降低。

换句话说,如果颜色范围扩大到包含更多变化,几何分割的效果可能会降低,因为颜色相似但几何属性不同的点可能会被归为一类。另一方面,如果颜色范围较窄,几何分割会更加精确,因为它将更多地依赖于点的空间排列,而不是颜色信息。

基于拓扑

  • 点云的拓扑特征
  • 地面点和非地面点之间的区别
  • 通过模拟或预定义的高度阈值分析点的高度信息,可以将地面点与非地面点分离
  • 例如,通过布料流体模拟提取地面
  • 在机载激光雷达点云中,高度检测是方法之一

有关布料模拟过滤器(CSF)的更多信息

用布料模拟滤波器(CSF)处理的机载LiDAR点云样本

  • 旨在从点云中提取地面点
  • 模拟布料覆盖在点云上的行为
  • 模拟假设地面的行为类似于具有某些物理特性的布料
  • 通过将顶点分配给点云中的地面点来定义布料的初始状态
  • 对布料应用物理特性,例如弹性、重力和摩擦力
  • 根据这些特性模拟布料的运动和变形。
  • 在模拟过程中,布料顶点与点云中的周围点相互作用
  • 不属于地面的点对布料施加力,导致其变形或脱落
  • 布料逐渐贴近地面
  • 提取已达到稳定状态的布料顶点,因为它们代表地面点。

基于几何的混合解

与基于几何的解决方案相比,基于拓扑的分割的优点

对于样本 3 和样本 4,混合拓扑和几何的分割比仅基于几何的方法更好。

样本 3 和 4(原椅子:19)

仅基于几何:11/19(57.8%),混合:19/19(100%)

基于布料模拟滤波器的特性,非地面点的去除会大大促进基于几何的分割。一旦我们将地面点和非地面点进行分类,点云特征形状的差异就会更大。

基于强度

  • 根据反射率的性质 -> 传感器捕获的强度值
  • 从点云中提取相似的强度值,并根据强度阈值或聚类方法分配类标签
  • 根据反射特性区分不同的材料或物体
  • 样本使用叶上和叶下分割

GeoSLAM 样本数据集,按强度提取的树枝,有叶(左)和无叶(右)点云

混合方法

  • 结合不同的方法并将它们集成到一个工作流程中

点云无监督语义分割方法的建议方法和工作流程

http://www.dtcms.com/a/269977.html

相关文章:

  • 寻找两个正序数组的中位数(C++)
  • 成都算力租赁新趋势:H20 八卡服务器如何重塑 AI 产业格局?
  • 基于 Rust 的Actix Web 框架的应用与优化实例
  • C++ 选择排序、冒泡排序、插入排序
  • mac安装docker
  • APISEC安全平台
  • 嵌入式学习笔记-MCU阶段-DAY01
  • WPF之命令
  • 使用elasticdump高效备份与恢复Elasticsearch数据
  • WebSocket详细教程 - SpringBoot实战指南
  • EPLAN 电气制图(四):EPLAN 总电源电路设计知识详解
  • mit6.5840-lab3-3D-SnapShot-25Summer
  • 常见前端开发问题的解决办法
  • 深度学习——神经网络1
  • JK触发器Multisim电路仿真——硬件工程师笔记
  • HMI安全设计规范:ISO 26262合规的功能安全实现路径
  • python2.7/lib-dynload/_ssl.so: undefined symbol: sk_pop_free
  • 查询依赖冲突工具maven Helper
  • 常见的网络攻击方式及防御措施
  • 人工智能与人工智障———仙盟创梦IDE
  • Go HTTP 调用(上)
  • LeetCode 1248.统计优美子数组
  • cocos2dx3.x项目升级到xcode15以上的iconv与duplicate symbols报错问题
  • 云原生时代的日志管理:ELK、Loki、Fluentd 如何选型?
  • C++11 算法详解:std::copy_if 与 std::copy_n
  • UVC(USB Video Class,USB 视频类)协议
  • 代码详细注释:ARM-Linux字符设备驱动开发案例:LCD汉字输出改进建议开发板断电重启还能显示汉字,显示汉字位置自定义
  • 高版本的MacOS如何降级?
  • 数据库|达梦DM数据库配置实例步骤
  • npm 包 scheduler 介绍