首页 > 其他分享 >六、点云学习

六、点云学习

时间:2023-09-09 11:33:15浏览次数:32  
标签:提取 学习 vector 扫描线 点云 PointCloud 方法

1、点云类型

pcl::PointCloud包含一个域,作为储存点集的容器,这个域是PointT类型的,PointT是基本的点的表现形式,包括PointXYZ、PointXYZRGB、Normal等。PointCloud被定义在point_cloud文件中。

1.1成员变量

points:保存点云的容器,类型为std::vector<PointT>

is_dense:bool类型(true/false),若点云中的数据都是有限的,则为true,否则为false。

1.2成员函数

points是PointCloud内部存放点集的vector容器,对点的操作都是基于对vector的操作,而PointCloud封装了vector的函数,可以直接对PointCloud调用操作vector的函数,与操作points一样。

2、路面点云的提取方法(一些论文用到的方法)

  1. 将车载点云数据利用统计学方法生成高度直方图,通过设置高度阈值提取路面点云。
  2. 根据路面法向量的分布特征,利用迭代模糊聚类算法对路面点云进行提取。
  3. 利用高度差异对点云数据进行 KNN 聚类,并根据路坎参数对提取结果进行优化.此类算法运行效率较低且容易出现分割问题。
  4. 用深度学习方法对图像进行语义分割,并将语义化的图像与点云数据融合进行粗分类,之后通过霍夫变换和区域生长方法对 点云数据进行细分类,最终精确提取道路点云,但该类方法的语义分割结果受二三维数据融合质量影响较大;
  5. 构造一种端到端深度学习网络,能够对城市大场景点云数据进行高效准确的语义标 识,但道路等实体目标的提取效果还需要进一步验证;
  6. 以扫描线为单位对点云数据进行处理,首先利用移动窗口高差对扫描线进行滤波,得到道路区域点云,然后根据高差、点密度和累计坡度三 个特征指标进行路坎点的提取,最后通过优化和跟踪手段提取道路边界。
  7. 在方法6的基础上建立双向扫描线索引,根据扫描线上不同地物目标的空间分布特征,采用移动动态窗口分类法提取 路面和路边点云。此类方法往往需要顾及多个特征因子,且要求道路具有较为规则的路坎,而在现实情况中,有些道路两侧是草地不存在路坎,以往利用路坎特征的道路提取方法不再适用 。


标签:提取,学习,vector,扫描线,点云,PointCloud,方法
From: https://blog.51cto.com/u_16244389/7418484

相关文章

  • 学习笔记1 代码
    学习所用代码test.c#include<stdio.h>intmain(){printf("hello");return0;}hello.h#ifndef_HELLO_H#define_HELLO_H/***fuction:printhellostring.*parm:void*returnvalue:void*/voidsay_hello()......
  • 快捷键学习
    快捷键学习ctrl+a全选ctrl+y反撤销ctrl+z撤销ctrl+s保存ctrl+x剪切ctrl+n新建空白窗口ctrl+f查找win+d显示桌面win+r黑框win+e打开文件资源管理器alt+f4关闭所有窗口ctrl+f4关闭单个窗口ctrl+shift......
  • 如何开始学习游戏编程
    如何开始学习游戏编程游戏编程是一项需要深入学习和实践的技能,首先你需要建立起一定的基础知识。了解王者新赛季中编程语言、游戏引擎和开发工具是开始学习游戏编程的第一步。首先,你需要学习一门编程语言,如C++、C#或Python。这些语言在游戏开发中被广泛使用,因此对于初学者来说,选......
  • 在公司学习日,学习了结构思考力
    大家好,我是Edison。近日,在公司的学习日上,学习了李忠秋老师的在线直播课《结构思考力》,虽然只有短短的一小时内容,但却令我印象深刻,以至于我开始逐渐刻意训练自己的结构化思维。所谓的《结构思考力》核心内容其实来源于一本经典的书籍巴巴拉·明托的《金字塔原理》,我老早就听说过,......
  • 数组学习
    这个是数组中的Arrays类,里面有很多种方法,然后几种常见的在PPT上 数组就是,如上图所示,行与行之间用逗号隔开,也装在大括号里,这个点不太熟悉......
  • 小白markdown学习记录
    Markdown学习芙卡洛斯水神芙卡洛斯美图吉祥物评价摆了很久的姿势了,就是为了让你们第一眼看到她的时候她能展现出自以为最帅气的样子--那维莱特图片列表在等芙芙审判非儿戏,与你共枕栖属性姓名属性生日芙宁娜水1.21小白代码......
  • java8学习
    java8安装与环境变量配置chocochoco官网安装命令:chocoinstalljdk8自动配置环境变量IDEA官网安装java语法注:由于默认具有cpp基础,所以和cpp极为相似的点我不会提及。enum枚举publicenumPlayerType{TENNIS("网球"),FOOTBALL("足球"),//常量FOOTBALL......
  • 深度学习模型训练中,输入数据维度和标签数据维度调整方法
    forinputs,labelsintrain_loader:#使用numpy的transpose函数调整维度顺序inputs=np.transpose(inputs,(0,3,1,2))#将原输入数据最后一个维度换到第二个维度inputs=inputs.to(device)print(inputs.shape)#调试代码用......
  • 机器学习日志 新闻标题分类
    根据标题内容,分类有财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐#导入必要的包importrandomimportjieba#处理中文fromsklearnimportmodel_selectionfromsklearn.naive_bayesimportMultinomialNBimportjoblibimportr......
  • Vue源码学习(三):<templete>渲染第二步,创建ast语法树
    好家伙,书接上回 在上一篇Vue源码学习(二):<templete>渲染第一步,模板解析中,我们完成了模板解析现在我们继续,将模板解析的转换为ast语法树 1.前情提要代码已开源https://github.com/Fattiger4399/analytic-vue.git手动调试一遍,胜过我解释给你听一万遍functionstart......