# Soccer_Cube **Repository Path**: fitz_gitee/Soccer_Cube ## Basic Information - **Project Name**: Soccer_Cube - **Description**: 本项目聚焦**具身智能中的 3D 视觉感知任务**,通过纯几何方法,实现从虚拟场景生成→点云预处理→语义分割→目标提取的全流程自动化,最终输出带语义标签的立方体、足球点云文件,为具身智能的3D场景理解与目标识别任务提供基础数据。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-01 - **Last Updated**: 2025-10-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 3D 点云语义分割与目标重构(立方体 + 足球) ## 项目简介 本项目聚焦**具身智能中的 3D 视觉感知任务**,通过**纯几何方法**(无深度学习依赖),实现从虚拟场景生成→点云预处理→语义分割→目标提取的全流程自动化,最终输出带语义标签的立方体、足球点云文件,为具身智能的3D场景理解与目标识别任务提供基础数据。 ## 技术栈 - **虚拟场景生成**:**Pybullet**(物理3D仿真、RGB-D渲染) - **点云处理与语义分割**:**Open3d**(RGB-D转点云、统计滤波、点云下采样、平面分割、DBSCAN聚类) - **数值计算与图像处理**:**Numpy**、**OpenCV**(格式转换) - **环境管理**:**conda**(Python3.10) ## 实现流程 1. **虚拟场景与RGB-D生成:** 用 **PyBullet** 搭建包含 “桌字、蓝色立方体、绿色足球” 的场景,通过虚拟相机渲染640×480的 RGB 图和深度图。 2. **RGBD→原始点云:** 通过**Open3D**的**PinholeCameraIntrinsic**与**RGBDImage**,将RGB-D转化为3D点云,并修正点云方向。 3. **点云预处理** **统计滤波**去除孤立噪声点 + 体素下采样减少点数,平衡精度与计算效率。 4. **几何语义分割** - **平面分割**:桌面提取以及法向量点积验证,排除桌脚等干扰;“桌面”(标签0)。 - **DBSCAN聚类**:基于空间距离区分“立方体”(标签1)和“足球”(标签2)。(优化eps和min_points适配小物体) 5. **目标提取与语义标签保存:** 筛选出立方体、足球的点云,通过颜色通道编码语义标签(立方体→蓝色通道,足球→绿色通道),保存为带标签的 PLY 文件。 ## 成果展示 ### 1. RGB-D ![RGB](./data/cube_soccer_rgb.jpg) ![Depth](./data/cube_soccer_depth.png) ### 2. 虚拟场景与点云(原始、预处理) ![原始点云](./docs/原始点云.png) ![预处理后点云](./docs/预处理后点云.png) ### 3. 语义分割结果 ![语义分割结果](./docs/语义分割结果.png) ### 4. 最终提取的目标点云 ![提取结果](./docs/提取结果.png) ## 输出文件说明 运行后会生成如下文件: - **cube_final.ply** - **preprocessed_cube_soccer.ply** - **raw_cube_soccer.ply** - **soccer_final.ply** - **cube_soccer_rgb.jpg** - **cube_soccer_depth.png** ## 快速运行指南 1. **环境准备:** ```bash conda create -n embodied_3d python=3.10 -y conda activate embodied_3d pip install -r requirements.txt ``` 2. **依赖列表(requirements.txt)** 可能需要看看自己的cuda版本适配open3d版本否,方便日后使用 ```txt open3d numpy opencv-python pybullet ``` 3. **执行程序:** ```bash python src/Recreate_PointCloud_No_ML.py ``` 4. **结果查看:** 用MeshLab打开PLY文件,可直观查看3D点云与语义标签 ## 适用场景 - 具身智能体的3D 物体识别与重构(如机器人抓取前的感知)。 - 边缘设备的轻量级 3D 语义分割(无 GPU 时替代深度学习模型)。 - 虚拟仿真环境的3D 数据生成与标注(为深度学习任务提供 synthetic data)。