https://github.com/HuangCongQing/plane_fit_ground_filter
点云分割论文2017 Fast segmentation of 3d point clouds: A paradigm on lidar data for autonomous vehicle applications
https://github.com/HuangCongQing/plane_fit_ground_filter
3d-segmentation cloud-point ground-segmentation pcl ros-melodic segmentation
Last synced: 2 months ago
JSON representation
点云分割论文2017 Fast segmentation of 3d point clouds: A paradigm on lidar data for autonomous vehicle applications
- Host: GitHub
- URL: https://github.com/HuangCongQing/plane_fit_ground_filter
- Owner: HuangCongQing
- License: bsd-3-clause
- Created: 2021-01-28T07:50:15.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-09T15:11:04.000Z (9 months ago)
- Last Synced: 2025-03-14T14:06:36.026Z (3 months ago)
- Topics: 3d-segmentation, cloud-point, ground-segmentation, pcl, ros-melodic, segmentation
- Language: C++
- Homepage:
- Size: 36.1 KB
- Stars: 131
- Watchers: 4
- Forks: 22
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## plane_fit_ground_filter
点云分割论文2017 Fast segmentation of 3d point clouds: A paradigm on lidar data for autonomous vehicle applications
@[双愚](https://github.com/HuangCongQing/) , 若fork或star请注明来源
```
@inproceedings{Zermas2017Fast,
title={Fast segmentation of 3D point clouds: A paradigm on LiDAR data for autonomous vehicle applications},
author={Zermas, Dimitris and Izzat, Izzat and Papanikolopoulos, Nikolaos},
booktitle={IEEE International Conference on Robotics and Automation},
year={2017},
}
```**相关算法(带中文详细注解):https://github.com/HuangCongQing/linefit_ground_segmentation_details**
## Introduction
**笔记已传送到个人知识星球:https://t.zsxq.com/0fqSUPOmD**
Plus: 本人创建知识星球 **【自动驾驶感知(PCL/ROS+DL)】** 专注于自动驾驶感知领域,包括传统方法(PCL点云库,ROS)和深度学习(目标检测+语义分割)方法。同时涉及Apollo,Autoware(基于ros2),BEV感知,三维重建,SLAM(视觉+激光雷达) ,模型压缩(蒸馏+剪枝+量化等),自动驾驶模拟仿真,自动驾驶数据集标注&数据闭环等自动驾驶全栈技术,欢迎扫码二维码加入,一起登顶自动驾驶的高峰!
更多自动驾驶相关交流群,欢迎扫码加入:[自动驾驶感知(PCL/ROS+DL):技术交流群汇总(新版)](https://mp.weixin.qq.com/s?__biz=MzI4OTY1MjA3Mg==&mid=2247486575&idx=1&sn=3145b7a5e9dda45595e1b51aa7e45171&chksm=ec2aa068db5d297efec6ba982d6a73d2170ef09a01130b7f44819b01de46b30f13644347dbf2#rd)
## Dataset bag
数据集已处理好,放在百度网盘上,需要自己下载
* kitti_2011_09_26_drive_0005_synced.bag
* 链接: https://pan.baidu.com/s/1sYWHzF11RpyEW25cQ_iNGA 密码: b6pd## 编译
将本仓库下的2个文件夹`plane_fit_ground_filter&Run_based_segmentation`移动到catkin_wp/src下,然后执行下面操作
```shell
// 创建环境变量 src中运行
mkdir -p catkin_wp/src
cd catkin_wp/src
catkin_init_workspace// 编译(需要回到工作空间catkin_wp)
cd ..
catkin_make // 产生build和devel文件夹//设置环境变量,找到src里的功能包(每个新的shell窗口都要执行以下source devel/setup.bash)
source devel/setup.bash // 不同shell,不同哦.sh .zsh 通过设置gedit ~/.zshrc,不用每次都source
```详情可参考:https://www.yuque.com/docs/share/e59d5c91-b46d-426a-9957-cd262f5fc241?# 《09.创建工作空间与功能包※※※》
## plane_fit_ground_filter
> 参考:https://github.com/AbangLZU/plane_fit_ground_filter
### 修改配置文件
举例:修改输入topic,需要修改两处
```bash
cd plane_fit_ground_filter/src/plane_ground_filter_core.cpp
# 16行 需要修改 "/kitti/velo/pointcloud"
sub_point_cloud_ = nh.subscribe("/kitti/velo/pointcloud", 10, &PlaneGroundFilter::point_cb, this)cd plane_fit_ground_filter/plane_ground_filter.launch
#第2行 修改 value="/kitti/velo/pointcloud" 修改你的雷达点云话题
```
### Run(Terminal)
```
# Terminal1
roscore# Terminal2 注意修改bag路径
rosbag play ~/data/KittiRawdata/2011_09_26_drive_0005_sync/kitti_2011_09_26_drive_0005_synced.bag --loop# Terminal3
roslaunch plane_ground_filter plane_ground_filter.launch
```### Result

## Run_based_segmentation
> 参考:https://github.com/VincentCheungM/Run_based_segmentation
### Requirement
* [PCL](https://github.com/PointCloudLibrary/pcl)
* [ROS Kinetic](http://wiki.ros.org/kinetic/Installation/Ubuntu)
* [ROS Velodyne_driver](https://github.com/ros-drivers/velodyne)安装`velodyne_pointcloud` 官网链接:[http://wiki.ros.org/velodyne/Tutorials/Getting%20Started%20with%20the%20Velodyne%20VLP16](https://links.jianshu.com/go?to=http%3A%2F%2Fwiki.ros.org%2Fvelodyne%2FTutorials%2FGetting%2520Started%2520with%2520the%2520Velodyne%2520VLP16)
```shell
# melodic
sudo apt-get install ros-melodic-velodyne
# kinetic
sudo apt-get install ros-kinetic-velodyne
```**修改输入Topic**
> Run_based_segmentation/nodes/ground_filter/groundplanfit.cpp
```
node_handle_.param("point_topic", point_topic_, " /kitti/velo/pointcloud"); // 输入topoc /velodyne_points OR /kitti/velo/pointcloud```
### 修改配置文件
举例:修改输入topic
```bash
cd Run_based_segmentation/nodes/ground_filter/groundplanfit.cpp#第129行 修改 node_handle_.param("point_topic", point_topic_, "/kitti/velo/pointcloud");
node_handle_.param("point_topic", point_topic_, "/kitti/velo/pointcloud"); // 输入topoc /velodyne_points OR /kitti/velo/pointcloud```
### Run(Terminal)
```
catkin_make # 编译# Terminal1 注意修改bag路径
rosrun points_preprocessor_usi groundplanfit# Terminal2
rosrun points_preprocessor_usi scanlinerun
```And cluster point cloud will be published as `cluster` with different label.
### Result

## License
Copyright (c) [双愚](https://github.com/HuangCongQing/). All rights reserved.
Licensed under the [BSD 3-Clause License](./LICENSE) License.