点击上方“”,选择加"
重磅干货,第一时间送达
本文转自:新机器视觉
点云与三维图像的关系:三维图像是一种特殊的信息表达形式,其特征是表达空间中三个维度的数据,包括深度图(灰度与相机的距离)、几何模型(由CAD点云模型(所有逆向工程设备都将物体采样成点云)。和二维图像相比,三维图像借助第三个维度的信息,可以实现天然的物体——背景解耦。点云数据是最常见、最基本的三维模型。点云模型通常通过测量直接获得,每个点对应一个测量点,没有其他处理方法,因此包含最大的信息量。这些信息隐藏在点云中,需要通过其他提取方法提取,提取点云中信息的过程是三维图像处理。
点云的概念:点云是在同一空间参考系下表达目标空间分布和目标表面特征的大量点集合。在获得物体表面每个采样点的空间坐标后,点集合被称为点云(Point Cloud)。
获取点云的设备:RGBD设备是获取点云的设备,如PrimeSense公司的PrimeSensor、微软的Kinect、华硕的XTionPRO。
点云的内容:根据激光测量原理得到的点云,包括三维坐标(XYZ)激光反射强度(Intensity),强度信息与仪器的表面材料、粗糙度、入射角方向、发射能量和激光波长有关。
根据摄影测量原理获得的点云包括三维坐标(XYZ)和颜色信息(RGB)。
点云结合激光测量和摄影测量原理,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB)。
点云属性:空间分辨率、点精度、表面法向量等。
点云存储格式:*.pts; *.asc ; *.dat; .stl ; [1] .imw;.xyz;.las。LAS格式文件已文件LiDAR工业标准格式的数据,LAS数据存储在每条扫描线中,包括激光点的三维坐标、多回波信息、强度信息、扫描角度、分类信息、飞行带信息、飞行姿态信息、项目信息、GPS信息、数据点颜色信息等。
C–class(所属类)
F一flight(航线号)
T一time(GPS时间)
I一intensity(回波强度)
R一return(第几次回波)
N一number of return(回波次数)
A一scan angle(扫描角)
RGB一red green blue(RGB颜色值)
点云数据类型:
(1)pcl::PointCloudpcl::PointXYZ
PointXYZ 成员:float x,y,z;表示了xyz3D可以通过信息points[i].data[0]或points[i].x访问点X的坐标值
(2)pcl::PointCloudpcl::PointXYZI
PointXYZI成员:float x, y, z, intensity; 表示XYZ信息加强度信息类型。
(3)pcl::PointCloudpcl::PointXYZRGB
PointXYZRGB 成员:float x,y,z,rgb; 表示XYZ信息加上RGB信息,RGB存储为一个float。
(4)pcl::PointCloudpcl::PointXYZRGBA
PointXYZRGBA 成员:float x , y, z; uint32_t rgba; 表示XYZ信息加上RGBA信息,RGBA用32bit的int型存储的。
(5) PointXY 成员:float x,y;简单的二维x-y点结构
(6)Normal结构:用第四个元素占据给定点样本曲面上的法线方向和相应曲率的测量值,并与之兼容SSE和高效计算。
点云处理的三个层次:Marr图像处理分为三个层次,包括图像强化、滤波、关键点/边缘检测等基本操作。中层包括连接域标记(label),图像分割等操作。高层次包括物体识别、场景分析等操作。工程中的任务往往需要多层次的图像处理。
PCL官网对点云处理方法给出了明确的层次划分,如图所示。
此处的common指点云数据的类型,包括XYZ,XYZC,XYZN,XYZG归根结底,最重要的信息包含在许多类型的点云中pointpcl::point::xyz中。可以看出,低级点云处理主要包括滤波(filters),关键点(keypoints)/边缘检测。点云的中层处理是特征描述(feature),分割(segmention)与分类。高层处理包括配准(registration),识别(recognition)。可见,点云在分割难度上比图像处理更有优势,准确的分割也为识别奠定了良好的基础。
低层次处理方法:
①滤波方法:双边滤波、高斯滤波、条件滤波、直接滤波、随机采样一致性滤波。②关键点:ISS3D、Harris3D、NARF,SIFT3D
中层处理方法:
①特征描述:计算法线和曲率,分析特征值SHOT、PFH、FPFH、3D Shape Context、Spin Image
②分类与分类:
分割:区域生长,Ransac线面提取,平面提取全局优化
K-Means、Normalize Cut(Context based)
3D Hough Transform连通分析
分类:基于点的分类、深度学习的分类(PointNet,OctNet)
高层次处理方法:
①配准:点云配准分为粗配准(Coarse Registration)和精配准(Fine Registration)两个阶段。
精准的目的是在粗准的基础上最大限度地减少点云之间的空间位置差异。应用最广泛的精准算法应该是ICP以及ICP各种变种(稳定ICP、point to plane ICP、Point to line ICP、MBICP、GICP、NICP)。
粗配准是指在点云相对位置完全未知的情况下对点云进行配准,可以为精配准提供良好的初始值。目前,较为常见的点云自动粗配准算法包括基于穷举搜索的配准算法和基于特征的配准算法。
基于穷举搜索的配准算法:通过整个变换空间,选择误差函数最小化的变换关系或列出最多点满足的变换关系。RANSAC配准算法,四点一致配准算法(4)-Point Congruent Set, 4PCS)、Super4PCS算法等……
基于特征匹配的匹配算法:通过测量对象本身的形态特征构建点云之间的匹配对应,然后使用相关算法来估计变换关系。例如,基于点FPFH特征的SAC-IA、FGR等算法,基点SHOT特征的AO基于线特征的算法和算法ICL等…
②SLAM图优化
Ceres(Google最小二乘优化库,非常强大), g2o、LUM、ELCH、Toro、SPA
SLAM方法:ICP、MBICP、IDC、likehood Field、NDT
③三维重建
泊松重建、 Delaunay triangulations、表面重建、人体重建、建筑重建、树木重建。结构化重建:不是简单的构建Mesh网格,分割场景,给场景结构赋予语义信息。场景结构分层次,几何层次为点线面。实时重建:4.重建植被或作物D(3D 时间)成长趋势;人体姿势识别;表情识别;
④点云数据管理:点云压缩,点云索引(KD、Octree),点云LOD(金字塔)渲染大量点云
版权声明:本文为CSDN博主「Daisey_tang」的原创文章,遵循CC 4.0 BY-SA版权协议,请附上原始来源链接和本声明。
原文链接:https://blog.csdn.net/hongju_tang/java/article/details/85008888
在「
在「
在「
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。