Skip to content

85256638/stable_pcd_selector

Repository files navigation

📋 点云稳定性筛选 Workflow 总结

本项目旨在从大量每秒生成的 PCD 文件中筛选出高质量、稳定的帧,后续可用于点云合并和数据分析。流程主要包括以下几个步骤:


1. 🚀 IMU 震动筛选

  • 目标:利用 IMU 数据筛选出震动较低的时刻,剔除受震动影响的帧。
  • 方法
    • 读取以 imu_data_ 为前缀的 CSV 文件。
    • "Timestamp of last PCD" 分组,计算每组内加速度相对于 1g 的偏差。
    • 保留所有加速度偏差均低于预设阈值(如 0.001)的时间戳。
  • 输出:得到一组稳定的时间戳(例如 "2025-03-11 02:13:21" 等)。

2. 🔍 候选 PCD 文件筛选

  • 目标:从所有 PCD 文件中筛选出与稳定时间戳匹配的文件。
  • 方法
    • 利用正则表达式从 PCD 文件名中提取时间戳(格式:YYYY-MM-DD_HH_MM_SS),转换为 "YYYY-MM-DD HH:MM:SS" 格式。
    • 与第一步得到的稳定时间戳比对,筛选出候选文件。
  • 输出
    • 候选 PCD 文件列表。
    • 统计信息:总数、排除数、保留数。

3. 📊 质心稳定性分析(滑动窗口)

  • 目标:在候选 PCD 文件中进一步筛选出连续帧中质心变化最小的一段。
  • 方法
    • 对每个候选 PCD 文件计算点云质心。
    • 使用固定大小(例如 5 帧)的滑动窗口,计算窗口内各帧质心与窗口均值的欧氏距离标准差作为稳定性指标。
    • 选择标准差最小的窗口,认为该窗口内帧的质心变化最稳定。
  • 输出
    • 稳定窗口内的 PCD 文件列表。
    • 详细信息:窗口均值、各帧质心、以及每帧与窗口均值的偏离值和标准差(关键数值部分以红色高亮显示,便于观察)。

4. 🎯 ICP 精细筛选

  • 目标:在稳定窗口内选出最佳代表帧,进一步验证其几何一致性。
  • 方法
    • 参考帧选择:计算稳定窗口内每一帧与窗口均值的偏离,选择偏离最小的帧作为 ICP 的参考点云。
    • 对窗口内其他帧与参考帧进行 ICP 配准,计算每帧的 fitness 值(反映匹配质量)。
    • 根据 fitness 值排序,选出排名靠前的帧作为最终稳定帧。
  • 输出
    • ICP 配准后的统计信息(总数、排除数、保留数)。
    • 最终选中的 PCD 文件列表。

5. 📁 结果输出

  • 目标:将最终经过所有筛选步骤后选出的稳定 PCD 文件复制到指定的输出目录(例如 refined_pcd 文件夹)。
  • 方法:自动复制文件,便于后续处理或点云合并。

总结说明

  • 数据预处理:通过 IMU 数据和 PCD 文件时间戳匹配,初步过滤震动帧。
  • 稳定性评估:利用滑动窗口对连续帧的质心稳定性进行量化,确保后续 ICP 筛选基于连续、稳定的数据。
  • 精细匹配:采用 ICP 配准计算 fitness 值,选择配准效果最佳的帧作为最终结果。
  • 灵活调参:各步骤参数(如窗口大小、ICP 距离阈值、最终保留帧数)均可根据实际数据进行调整,以达到最优筛选效果。

这种工作流程能帮助我们从大量点云数据中自动筛选出高质量的帧,为后续点云合并和数据分析提供坚实的数据基础。希望这份总结能帮助你和你的同事更好地理解和使用该项目!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages