当前位置:   article > 正文

总结!三维点云基础知识_3d点云入门

3d点云入门

39f873bdbb7e886101cce58c6789e991.jpeg

作者:PCIPG-Jing  来源:3DCV

添加微信:dddvisiona,备注:3D点云,拉你入群。文末附行业细分群。

1 三维信息获取

获取三维信息的形式一般分为接触式和非接触式:fc6664590a62ca873fb1618d8ad9e548.png

1.1 接触式测量

使用测量机来获取三维信息是最常用也是最方便的接触式测量方法。但是它比较依赖机械结构和传感器的精度和灵敏度来获取较高的测量精度。在实际使用的过程中这种方法存在较多的局限性。测量时需要接触待测物体表面,非常容易划伤物体表面破坏物体原有形貌。机械零件在长时间的使用下,会产生一定的误差,从而降低测量精度。在测量较大工件的时候,需要完全遍历整个物体花费时间和精力。

推荐学习3D视觉工坊三维点云课程:

[1]三维点云处理:算法与实战汇总   

[2]彻底搞懂基于Open3D的点云处理教程!

1.2 非接触式测量

(1)立体视觉法

该方法具体通过六个步骤实现:图像的采集、系统相机标定、特征模板匹配、图像处理、三维仿真匹配以及三维重建。首先,通过两个相机于不同位置对待测物体进行图像信息感知获取。然后根据三角测量原理获得待测表面的三维信息,还原三维模型并进行重建,立体视觉法原理如图所示。184a01b298345abb2e268f160b18583f.png但是双目视觉不适合单调缺乏纹理的场景,会出现匹配困难导致匹配误差较大甚至匹配失败等问题。

关注公众号后台回复「CV」,即可免费领取计算机视觉精品视频慕尼黑工业大学、巴塞罗那自治大学沉淀多年的计算机视觉课件资料,包括相机标定、立体匹配、三维重建、SLAM、三维点云、缺陷检测、深度估计、四旋翼无人机等。

(2)飞行时间法

飞行时间法是用激光对物体表面不断发射脉冲信号,并对其反射回来的信号进行捕获,计算激光来回传播的时间,接着根据光度即可确定物体空间位置,原理如图所示。50f28e241766593012d20ad0131f2897.png飞行时间测量法有很多优点:它可以用来测量较远距离的物体的三维信息,适用的范围较广,同时利用激光脉冲信号可以避免系统受到环境光的影响。但是此方法消耗功率大,会产生大量的热量以至于不适合长时间使用

(3)线激光法

线激光法是使用外部激光线进行主动投影,在待测物体表面形成可见光束,然后使用二维相机进行拍摄获取信息,根据计算还原待测物体的三维信息。利用三角测量原理:直射式测距法或是斜射式激光三角测距法,都可以完成对被测物体的全方位、高精度、非接触测量。直射式激光测量法在测量视野范围等方面视野更大具有一定的优势。相应的斜射式的分辨率更高,图像质量也会高于直射式激光测量法。在需要激光线处于固定位置的时候则优先选用直射式测量法。在对激光线与物体表面位置不固定时则需要选用斜射式测量法。691d8054f6c80961b773dd5c67b4c7df.png直射式光学三角法原理图197a05955bba81ea4b80e6111041e2c2.png斜射式光学三角法原理图

2 三维数据的表达形式

一般来说,三维数据的表达形式有体素网格、多视图、点云和多边形网格。体素网格可以理解为三维立体空间中的体积像素,概念上类似于二维图像中的像素概念。体素网格是具有固定大小和坐标位置的三维网格,是点云数据的规则化手段。体素网格需要从与其他体素之间的位置关系中推测出空间位置关系。由于体素网格具有规则的结构,所以可对其进行卷积操作,也可以构建基于体素化点云的卷积神经网络。但点云数据具有无序性和密度不一致性,体素网格的大小难以设置,又体素的数量巨大,从而影响处理三维数据的效率。

体素网格的表达形式一般适用于虚拟现实、医疗成像白动驾驶等领域。点云是三维空间中非结构化数据的集合。点云能够表达目标在三维空间中的空间分布及表面特性,每个点是独立的,点与点之间没有显著的联系。点云由一系列包含重要几何数据表示的点集组成。存储点云数据的文件一般只包括三维坐标,有些数据集会增加颜色和强度等信息。为了后续处理数据更加的高效,存储点云数据的文件一般以ASCII编码的形式呈现。点云数据也可以被处理成一组具有公共坐标系和全局参数的欧几里德集,该集合对缩放和平移具有不变性。因此可以通过网络模型直接提取点云数据的全局和局部特征,以实现各种计算机视觉任务。然而由于点云数据本身缺乏关联性,会导致物体的表面信息会被弱化。点云的表达形式一般适用于三维重建和目标检测等领域。多边形网格也是三维空间中非结构化数据的集合,是由近似多边形的几何面组成。几何面的交点叫共享顶点,几何面可以是三角形、四边形或其他凸多边形。共享顶点的坐标位置和顶点之间的连接关系会被记录在表中。多边形网格的表现形式有利于实现立体实物的渲染。但生成多边形网格是具有挑战的,主要原因是多边形网格是非结构化的表现形式,只能用传统的曲面重建方法生成,无法利用深度学习网络生成。

3 点云数据特点

(1)非结构化:不同于 RGB 图片这种结构化数据,点云是三维空间中一系列点的集合,是一种不规则的数据,没有一种准确的方法可以确定点与点之间的关系或者点与点的先后顺序,这就使得无法使用常规的二维卷积神经网络提取特征。

(2)顺序可变换性:点云本质上是一个n×3的矩阵,其中n为点云个数,3 代表每个点包含x,y,z坐标。不论这n个点的顺序怎么变化,它们表示在三维空间中的形状结构和几何特征是不变的,如下图所示,虽然点云中点的顺序改变了,但是投影到三维空间中的目标大小、形状等几何性质并未发生改变。这就使得点云中的点有n!种排列顺序,即同一个目标理论上有n!种可以表示它的点云。515b27f0116c1270615e3db75bc1e383.png(3)旋转不变性:当同一个目标在三维坐标系中经过旋转以后,点云中所有点的坐标基本上都会发生改变,但是旋转前的点云与旋转后的点云所代表的三维目标还是相同的。如下图所示,将三维坐标中的点云旋转以后,虽然各点的坐标值发生了变化,但是变化后的点云投影到三维空间中表示的目标的大小、形状等几何性质并未发生改变。716c7e18be6ee4fac87a1d0c98c38371.png(4)采样密度不均匀:由于激光雷达是以自身为中心放射状的发射激光射线,这就导致距离激光雷达近的目标点的密度较大,而离激光雷达距离较远的目标点的密度较小,甚至有些目标只能获取几个点的信息,如下图所示,同一个物体,在距离较近的时候采样点数量多,在距离较远的时候采样点数量少。f850fa67dea2a1abe3b36a4b9201d2d3.png


—END—

高效学习3D视觉三部曲

第一步 加入行业交流群,保持技术的先进性

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。[三维重建方向]NeRF、colmap、OpenMVS等。除了这些,还有求职、硬件选型、视觉产品落地等交流群。大家可以添加小助理微信: dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。

a12f884c8202bf0fe691342b67cde795.jpeg
添加小助理微信:cv3d007, 拉你入群
第二步 加入知识星球,问题及时得到解答

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

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

高质量教程资料、答疑解惑、助你高效解决问题
第三步 系统学习3D视觉,对模块知识体系,深刻理解并运行

如果大家对3D视觉某一个细分方向想系统学习[从理论、代码到实战],推荐3D视觉精品课程学习网址:www.3dcver.com

科研论文写作:

[1]国内首个面向三维视觉的科研方法与学术论文写作教程

基础课程:

[1]面向三维视觉算法的C++重要模块精讲:从零基础入门到进阶

[2]面向三维视觉的Linux嵌入式系统教程[理论+代码+实战]

[3]如何学习相机模型与标定?(代码+实战)

[4]ROS2从入门到精通:理论与实战

[5]彻底理解dToF雷达系统设计[理论+代码+实战]

工业3D视觉方向课程:

[1](第二期)从零搭建一套结构光3D重建系统[理论+源码+实践]

[2]保姆级线结构光(单目&双目)三维重建系统教程

[3]机械臂抓取从入门到实战课程(理论+源码)

[4]三维点云处理:算法与实战汇总

[5]彻底搞懂基于Open3D的点云处理教程!

[6]3D视觉缺陷检测教程:理论与实战!

SLAM方向课程:

[1]深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战

[1]彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战

[2](第二期)彻底搞懂基于LOAM框架的3D激光SLAM:源码剖析到算法优化

[3]彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析

[4]彻底剖析室内、室外激光SLAM关键算法和实战(cartographer+LOAM+LIO-SAM)

[5](第二期)ORB-SLAM3理论讲解与代码精析

视觉三维重建

[1]彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进)

自动驾驶方向课程:

[1] 深度剖析面向自动驾驶领域的车载传感器空间同步(标定)

[2] 国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

[3]单目深度估计方法:算法梳理与代码实现

[4]面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

[5]如何将深度学习模型部署到实际工程中?(分类+检测+分割)

最后

1、3D视觉文章投稿作者招募

2、3D视觉课程(自动驾驶、SLAM和工业3D视觉)主讲老师招募

3、顶会论文分享与3D视觉传感器行业直播邀请

—END—

高效学习3D视觉三部曲

第一步 加入行业交流群,保持技术的先进性

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。[三维重建方向]NeRF、colmap、OpenMVS等。除了这些,还有求职、硬件选型、视觉产品落地等交流群。大家可以添加小助理微信: dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。

f3b94d18239aba02ad5abeb7fd14c9b4.jpeg

添加小助理微信:cv3d007, 拉你入群
第二步 加入知识星球,问题及时得到解答

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

学习3D视觉核心技术,扫描查看,3天内无条件退款238c9c4472989c68453fe0a736fb0d2d.jpeg

高质量教程资料、答疑解惑、助你高效解决问题
第三步 系统学习3D视觉,对模块知识体系,深刻理解并运行

如果大家对3D视觉某一个细分方向想系统学习[从理论、代码到实战],推荐3D视觉精品课程学习网址:www.3dcver.com

科研论文写作:

[1]国内首个面向三维视觉的科研方法与学术论文写作教程

基础课程:

[1]面向三维视觉算法的C++重要模块精讲:从零基础入门到进阶

[2]面向三维视觉的Linux嵌入式系统教程[理论+代码+实战]

[3]如何学习相机模型与标定?(代码+实战)

[4]ROS2从入门到精通:理论与实战

[5]彻底理解dToF雷达系统设计[理论+代码+实战]

工业3D视觉方向课程:

[1](第二期)从零搭建一套结构光3D重建系统[理论+源码+实践]

[2]保姆级线结构光(单目&双目)三维重建系统教程

[3]机械臂抓取从入门到实战课程(理论+源码)

[4]三维点云处理:算法与实战汇总

[5]彻底搞懂基于Open3D的点云处理教程!

[6]3D视觉缺陷检测教程:理论与实战!

SLAM方向课程:

[1]深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战

[1]彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战

[2](第二期)彻底搞懂基于LOAM框架的3D激光SLAM:源码剖析到算法优化

[3]彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析

[4]彻底剖析室内、室外激光SLAM关键算法和实战(cartographer+LOAM+LIO-SAM)

[5](第二期)ORB-SLAM3理论讲解与代码精析

视觉三维重建

[1]彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进)

自动驾驶方向课程:

[1] 深度剖析面向自动驾驶领域的车载传感器空间同步(标定)

[2] 国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

[3]单目深度估计方法:算法梳理与代码实现

[4]面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

[5]如何将深度学习模型部署到实际工程中?(分类+检测+分割)

最后

1、3D视觉文章投稿作者招募

2、3D视觉课程(自动驾驶、SLAM和工业3D视觉)主讲老师招募

3、顶会论文分享与3D视觉传感器行业直播邀请

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/127860
推荐阅读
相关标签
  

闽ICP备14008679号