Skip to content

nicetryzz/ROS_convert_Waymo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS数据预处理工具

本仓库提供了一套完整的ROS数据预处理工具,用于处理和转换自动驾驶数据集。主要功能包括数据格式转换、单目深度估计、法向量估计以及平面检测。

RosbagReader

rosbag_reader.py 模块用于从ROS包中提取和同步多相机图像数据与点云数据。支持6个环视相机的图像提取,并将点云数据转换为PLY格式保存。

输入

  • rosbag文件:包含多相机图像数据和点云数据的ROS包文件。
  • 输出目录:用于存储提取后的图像和点云数据的目录路径。

输出

  • 图像数据:提取的多相机图像,按相机名称存储为PNG格式。输出目录结构如下:

  • 点云数据:提取的点云数据,存储为PLY格式。

LidarTransform

lidar_transform.py 模块用于将雷达点云数据从雷达坐标系转换到世界坐标系。

输入

  • 点云数据:原始雷达点云数据(PLY格式)。
  • 位姿数据:雷达在世界坐标系下的位姿信息(3*4的RT矩阵,TXT格式)。

输出

  • 转换后的点云:世界坐标系下的点云数据(PLY格式)。

DepthEstimator

depth_estimator.py 模块使用Depth-Anything-V2模型对提取的图像进行单目深度估计。支持处理6个环视相机的图像,并输出深度图和可视化结果。

输入

  • 图像数据:从ROS包中提取的多相机图像(PNG格式)。

输出

  • 深度图数据:估计的深度图,按相机名称存储为NPZ格式。

NormalEstimator

normal_estimator.py 模块使用StableNormal模型对提取的图像进行法向量估计。支持处理6个环视相机的图像,并输出法向量图和可视化结果。

输入

  • 图像数据:从ROS包中提取的多相机图像(PNG格式)。

输出

  • 法向量数据:估计的法向量图,按相机名称存储为PNG格式。

SemanticEstimator

semantic_estimator.py 模块使用DINOv2模型对图像进行语义分割。支持处理6个环视相机的图像,并输出分割结果和可视化图像。

输入

  • 图像数据:从ROS包中提取的多相机图像(PNG格式)。
  • ego_masks:手动标注的自车mask。

输出

  • 分割数据:语义分割结果,存储为NPZ格式。
  • 可视化结果:(可选)分割结果的可视化图像。

PlaneDetector

plane_detector.py 模块用于检测和生成场景中的平面。该模块结合深度图、法向量和语义分割信息,通过区域生长的方式检测平面区域。

输入

  • 深度图:从Depth-Anything-V2生成的深度图(NPZ格式)
  • 法向量:从StableNormal生成的法向量图(NPZ格式)
  • 语义分割:从DINOv2生成的语义分割结果(NPZ格式)

输出

  • 平面检测结果:检测到的平面参数和分割结果,存储为NPZ格式,包含:
    • planes:平面参数数组 [N, 4],每行为[nx, ny, nz, d]表示平面方程 nxx + nyy + nz*z + d = 0
    • segments:平面分割结果 [H, W],像素值表示对应的平面ID
  • 可视化结果:(可选)平面检测的可视化图像,不同颜色表示不同平面

目前已完成输出

  • images/
  • pointcloud/
  • depths/
  • normals/
  • semantic/
  • lidar_world/
  • planes/

TODO

待完成输出:

  • planes/ # 平面检测结果

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published