这篇博客主要介绍三维计算机视觉中点云数据处理面对的问题,主要方法和技术,概述其特点。

ICP点云配准就是我们非常熟悉的点云处理算法之一。实际上点云数据在形状检测和分类、立体视觉、运动恢复结构、多视图重建中都有广泛的使用。点云的存储、压缩、渲染等问题也是研究的热点。随着点云采集设备的普及、双目立体视觉技术、VR和AR的发展,点云数据处理技术正成为最有前景的技术之一。PCL是三维点云数据处理领域必备的工具和基本技能,这篇博客也将粗略介绍。

三维点云数据处理方法

1. 点云滤波(数据预处理)

点云滤波,顾名思义,就是滤掉噪声。原始采集的点云数据往往包含大量散列点、孤立点,比如下图为滤波前后的点云效果对比。

点云滤波的主要方法有:双边滤波、高斯滤波、条件滤波、直通滤波、随机采样一致滤波、VoxelGrid滤波等,这些算法都被封装在了PCL点云库中。

2. 点云关键点

我们都知道在二维图像上,有Harris、SIFT、SURF、KAZE这样的关键点提取算法,这种特征点的思想可以推广到三维空间。从技术上来说,关键点的数量相比于原始点云或图像的数据量减小很多,与局部特征描述子结合在一起,组成关键点描述子常用来形成原始数据的表示,而且不失代表性和描述性,从而加快了后续的识别,追踪等对数据的处理了速度,故而,关键点技术成为在2D和3D 信息处理中非常关键的技术。

常见的三维点云关键点提取算法有一下几种:ISS3D、Harris3D、NARF、SIFT3D

这些算法在PCL库中都有实现,其中NARF算法是博主见过用的比较多的。

3. 特征和特征描述

如果要对一个三维点云进行描述,光有点云的位置是不够的,常常需要计算一些额外的参数,比如法线方向、曲率、文理特征等等。如同图像的特征一样,我们需要使用类似的方式来描述三维点云的特征。

常用的特征描述算法有:法线和曲率计算、特征值分析、PFH、FPFH、3D Shape Context、Spin Image等。

PFH:点特征直方图描述子,FPFH:跨苏点特征直方图描述子,FPFH是PFH的简化形式。这里不提供具体描述了,具体细节去谷歌吧。

4. 点云配准

点云配准的概念也可以类比于二维图像中的配准,只不过二维图像配准获取得到的是x,y,alpha,beta等放射变化参数,二三维点云配准可以模拟三维点云的移动和对其,也就是会获得一个旋转矩阵和一个平移向量,通常表达为一个4×3的矩阵,其中3×3是旋转矩阵,1*3是平移向量。严格说来是6个参数,因为旋转矩阵也可以通过罗格里德斯变换转变成1*3的旋转向量。

常用的点云配准算法有两种:正太分布变换和著名的ICP点云配准,此外还有许多其它算法,列举如下:

ICP:稳健ICP、point to plane ICP、point to line ICP、MBICP、GICP

NDT 3D、Multil-Layer NDT

FPCS、KFPSC、SAC-IA

Line Segment Matching、ICL

5. 点云分割与分类

点云的分割与分类也算是一个大Topic了,这里因为多了一维就和二维图像比多了许多问题,点云分割又分为区域提取、线面提取、语义分割与聚类等。同样是分割问题,点云分割涉及面太广,确实是三言两语说不清楚的。只有从字面意思去理解了,遇到具体问题再具体归类。一般说来,点云分割是目标识别的基础。

分割:区域声场、Ransac线面提取、NDT-RANSAC、K-Means、Normalize Cut、3D Hough Transform(线面提取)、连通分析

分类:基于点的分类,基于分割的分类,监督分类与非监督分类

6. SLAM图优化

SLAM又是大Topic,SLAM技术中,在图像前端主要获取点云数据,而在后端优化主要就是依靠图优化工具。而SLAM技术近年来的发展也已经改变了这种技术策略。在过去的经典策略中,为了求解LandMark和Location,将它转化为一个稀疏图的优化,常常使用g2o工具来进行图优化。下面是一些常用的工具和方法。

g2o、LUM、ELCH、Toro、SPA

SLAM方法:ICP、MBICP、IDC、likehood Field、 Cross Correlation、NDT

7. 目标识别检索

这是点云数据处理中一个偏应用层面的问题,简单说来就是Hausdorff距离常被用来进行深度图的目标识别和检索,现在很多三维人脸识别都是用这种技术来做的。

8. 变化检测

当无序点云在连续变化中,八叉树算法常常被用于检测变化,这种算法需要和关键点提取技术结合起来,八叉树算法也算是经典中的经典了。

9. 三维重建

我们获取到的点云数据都是一个个孤立的点,如何从一个个孤立的点得到整个曲面呢,这就是三维重建的topic。

在玩kinectFusion时候,如果我们不懂,会发现曲面渐渐变平缓,这就是重建算法不断迭代的效果。我们采集到的点云是充满噪声和孤立点的,三维重建算法为了重构出曲面,常常要应对这种噪声,获得看上去很舒服的曲面。

常用的三维重建算法和技术有:

泊松重建、Delauary triangulatoins

表面重建,人体重建,建筑物重建,输入重建

实时重建:重建纸杯或者龙作物4D生长台式,人体姿势识别,表情识别

10. 点云数据管理

点云压缩,点云索引(KDtree、Octree),点云LOD(金字塔),海量点云的渲染

PCL库简介

点云数据处理中,不仅涉及前段数据的输入,中间数据和处理,还涉及到后端点云的渲染显示,如果这些函数都要我们亲自来实现,那么开发效率必然受到极大影响。在点云数据处理领域,有一个不可或缺的助手:PCL (Point Cloud Library)。PCL在点云数据处理中的地位犹如OpenCV在图像处理领域的地位,如果你接触三维点云数据处理,那么PCL将大大简化你的开发。

声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。

  • 增强现实核心技术产业联盟(ID:CARA--2019)

  • 内容来自:新机器视觉

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

3D视觉点云数据处理十大方法相关推荐

  1. macbook系统占用硬盘大_十大方法解决Mac“启动磁盘已满”!让你的Mac“飞起来”~~...

    原标题:十大方法解决Mac"启动磁盘已满"!让你的Mac"飞起来"~~ 当你的Mac说磁盘已满时,这是什么意思? 其实这有两个坏消息: 1.很快你就会完全耗尽空 ...

  2. Java数组的十大方法

    Java数组的十大方法 以下是Java Array的前10种方法.他们是来自stackoverflow的投票最多的问题. 0.声明一个数组 String[] aArray = new String[5 ...

  3. 第六十二期:腾讯云发布“小程序·云开发十大优秀实践”:猫眼、唯品会等入选

    作者:周小白 [TechWeb]10 月 19 日消息,今日,腾讯云首次对外公布了"小程序·云开发十大优秀实践",包括白鹭引擎.千墨科技.腾讯新闻.即速应用.微盟.唯品会.猫眼.香 ...

  4. java数组 方法_Java数组的十大方法

    Java数组的十大方法 以下是Java Array的前10种方法.他们是来自stackoverflow的投票最多的问题. 0.声明一个数组 String[] aArray = new String[5 ...

  5. 腾讯云发布“小程序·云开发十大优秀实践”,猫眼、唯品会、香格里拉等入选

    10月19日,腾讯云联合微信小程序团队举办"小程序·云开发"技术峰会.会上,腾讯云首次对外公布了"小程序·云开发十大优秀实践", 包括白鹭引擎.千墨科技.腾讯新 ...

  6. 2018 年度阿里云存储十大新闻盘点篇

    数据量的爆炸式增长和企业对数据价值挖掘的渴求,让存储市场迎来前所未有的发展机遇.在过去的一年中,我们看到工业制造.在线教育.智能驾驶.基因生命科学.医疗健康.安防监控等行业正加速从数字化到智能化的转型 ...

  7. 2018 年度阿里云存储十大新闻盘点

    数据量的爆炸式增长和企业对数据价值挖掘的渴求,让存储市场迎来前所未有的发展机遇.在过去的一年中,我们看到工业制造.在线教育.智能驾驶.基因生命科学.医疗健康.安防监控等行业正加速从数字化到智能化的转型 ...

  8. 2018 年度阿里云存储十大新闻盘点篇 1

    数据量的爆炸式增长和企业对数据价值挖掘的渴求,让存储市场迎来前所未有的发展机遇.在过去的一年中,我们看到工业制造.在线教育.智能驾驶.基因生命科学.医疗健康.安防监控等行业正加速从数字化到智能化的转型 ...

  9. wifi提速技巧:十大方法瞬间提升wifi速度

    手机wifi速度慢真是很让人苦恼,有什么有效的wifi提速方法吗?当然有啦~绿茶小编今天就为大家带来了提升wifi速度的十大方法,能激活wifi表现,提升无线网络哦,快来看看吧! 十大方法瞬间提升wi ...

  10. 2016年中国云服务器产品十大品牌排行榜

    云服务器,是一种简单高效.安全可靠.处理能力可弹性伸缩的计算服务.其管理方式比物理服务器更简单高效.用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器.云服务器帮助您快速构建更稳定.安全的应用, ...

最新文章

  1. windows api中文文档_Web服务开发:Spring集成Swagger,3步自动生成API文档
  2. ContestHunter暑假欢乐赛 SRM 08
  3. time and value
  4. boost::multiprecision模块实现打印出所有的阶乘 这将适合一个 128 位整数相关的测试程序
  5. App Store审核被拒的23个理由
  6. Cannot resolve method ‘call(java.lang.String, org.apache.flink.table.api.ApiExpression)‘
  7. 程序员面试算法_程序员的前20个搜索和排序算法面试问题
  8. QT中生成字符串md5的方法
  9. 精通Android自定义View(九)绘制篇Canvas分析之绘制图片
  10. html如何实现字体逐个输入,HTML – 如何将字体真棒图标插入文本输入?
  11. mysql mvcc 读写阻塞_mysql面试题MVCC原理事务隔离级别_aiailingfei的博客-CSDN博客
  12. NPDP产品经理小知识:商业模式画布的9个构成要素
  13. Java设计模式及类图
  14. 攻击机靶机环境搭建——网络设置
  15. java微博模拟登陆_java+selenium模拟登陆新浪微博demo
  16. Legion使用:半自动化网络渗透工具
  17. PHP 获取服务器磁盘空间
  18. 产品经理的职责都有哪些
  19. Cacti之交换机端口无法正常显示
  20. python读取千万级数据库数据类型_解决python读取几千万行的大表内存问题

热门文章

  1. 使用API Monitor监测到目标程序对系统API函数的调用(常用分析工具)
  2. 机器人学导论复习笔记
  3. 树莓派4B之Windows XP系统安装游戏(二)
  4. 下载的java游戏怎么运行不了_不支持JAVA的手机如何下载运行游戏和QQ
  5. python办公自动化(入门)
  6. c语言课后答案详解,c语言课后练习题答案详解_0.doc
  7. LabVIEW在Windows10下调出软键盘的说明与例程
  8. Ubuntu中安装微信(wechat)
  9. 手机qq邮箱html,QQ邮箱
  10. C#Socket客户端