Code Monkey home page Code Monkey logo

pointcloudobstacledetection's Introduction

算法设计

障碍物检测流程

直通滤波模块

参数设置
过滤轴为x轴和y轴
x轴过滤范围[0, 50]
y轴过滤范围[-20, 10]

右图为原始点云   左图为直通滤波后的点云

地面分割模块

算法步骤
1 在数据中随机选择三个点设定为内群
2 计算拟合内群的模型
3 把其它刚才没选到的点带入刚才建立的模型中,根据距离阈值参数(DistanceThreshold)判断是否为内群
4 记下内群点数量
5 重复以上步骤,直至达到最大迭代次数(MaxIterations)
6 比较哪次计算中内群点数量最多,内群点最多的那次所建的模型就是地面模型

参数设置
距离阈值参数(DistanceThreshold)设置为0.191
迭代次数(MaxIterations)设置为1000

RANSAC 地面分割示意图

分割前的点云

地面点云


去除地面点云后的点云

欧式聚类模块

在聚类之前,先使用Kd-tree存储点云
Kd-tree数据结构如图所示,构建Kd-tree时,随着树的深度轮流选择轴当作分割面,从点云中取出的点如果小于当前结点的值,则将它放在左子树,如果大于当前结点的值,则将它放在右子树。

算法步骤

参数设置
距离阈值(ClusterToleranc) 设置为1.0
MinClusterSize 设置为10
MaxClusterSize 设置为2000


欧式聚类效果

编译(Ubuntu16.04)

依赖

  • CMake >=3.12
  • GCC
  • boost 1.58.0
  • pcl (sudo apt install libpcl-dev)

使用

$> mkdir build && cd build
$> cmake ..
$> make
$> bash command.sh

pointcloudobstacledetection's People

Contributors

1274085042 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.