计算机视觉基础知识(八)--点云模型

发布时间:2024年01月22日

1.点云模型

点云与三维图像

三维图像

  • 一种特殊的信息表达形式;
  • 特征是表达的空间中有三个维度的数据;
  • 是对一类信息的统称;
  • 信息的表现形式:
  1. 深度图:以灰度表达物体与相机的距离
  2. 几何模型:由cad软件建立
  3. 点云模型:所有逆向工程设备都将物体采样为点云
  • 和二维图像相比;
  • 三维图像借助第三个维度的信息;
  • 可实现物体和背景的解耦;
  • 二维图像信息对于视觉测量来讲随摄影方式而变化
  • 三维特征对不同的测量方式具有更好的统一性

点云概述

  • 点云数据是最常见也是最基础的三维模型;
  • 扫描数据以点的形式记录;
  • 每一个点包含有三维坐标;
  • 有些肯能含有颜色信息;
  • 或者反射强度信息(Intensity)。

点云概念

  • 是在同一空间参考系下;
  • 表达目标空间分布;
  • 和目标表面特性的;
  • 海量点集合;
  • 所获取的物体表面采样点的空间坐标点的集合,称为点云(Point Cloud);

点云内容

  • 根据激光测量原理得到的点云:
  • 包括三维坐标和激光反射强度(Intensity);
  • 强度信息的影响因素
  1. 目标的表面材质;
  2. 目标的表面粗糙度;
  3. 入射角方向;
  4. 仪器发射的能量;
  5. 激光波长;
  • 根据摄影原理测量得到的点云:
  • 包含三维坐标(XYZ)和颜色信息(RGB);
  • 结合激光测量和摄影测量原理获得的点云:
  • 包含三维坐标(XYZ);
  • 激光反射强度(Intensity);
  • 颜色信息(RGB)

点云处理的三个层次

低层次处理方法

  • 滤波方法:双边滤波、高斯滤波、条件滤波、直通滤波、随机采样一致性滤波;
  • 关键点:ISS3D\Harris3D\NARF\SIFT3D

中层次处理方法

  • 特征描述:法线和曲率的计算、特征值分析、SHOT\PFH\FPFH\3D Shape\Context\Spin Image
  • 分割与分类:
  • 分割:区域生长、Ransac线面提取、全局优化平面提取、K-means、NormalizeCut(Context based)
  • 分类:基于点,基于分割、基于深度学习的分类(PointNet,OctNet)

高层次处理方法

1.配准
  • 点云配准分为粗配准(Coarse Registration)和精配准(Fine Registration)两个阶段;
  • 粗配准:在点云相对位姿未知的情况下对点云的配准,为精配准提供良好的初始值;
  • 精配准:在粗配准的基础上让点云之间的空间位置差别最小化;
基于穷举搜索的配准算法:
  • 遍历整个变换空间;
  • 选取使误差函数最小化的变换关系;
  • 或者列举使最多点对满足的变换关系
  • 算法举例:
  • RANSAC配准算法;
  • 四点一致集配准算法(4-point Congruent set,4PCS);
  • Super4PCS算法
基于特征匹配的配准算法:
  • 通过被测物体本身高德形态特性构建点云间的匹配对应;
  • 采用算法对变换关系进行估计;
  • 算法举例:
  • 基于点FPFH特征的SAC-IA,FGR等算法;
  • 基于点SHOT特征的AO算法;
  • 基于线特征的ICL算法
2.SLAM图优化
相关库
  • Ceres(Google的最小二乘优化库,比较强大);
  • g2o、LUM、ELCH、Toro、SPA
SLAM 方法
  • ICP
  • MBICP
  • IDC
  • Likehood Field
  • NDT
3.三维重建
泊松重建
  • Delaunay trangulations
  • 表面重建;
  • 人体重建;
  • 建筑物重建;
  • 数目重建;
实时重建
  • 植被重建
  • 农作物4D(3D+时间)生长态势;
  • 人体姿势识别;
  • 表情识别;
4.点云数据管理
  • 点云压缩
  • 点云索引(KD,Octree)
  • 点云LOD(金字塔)
  • 海量点云的渲染

2.Spin image

  • 基于点云空间分布的最经典的特征描述方法;
  • 思想是将一定区域的点云分布转换成二维spin image;
  • 对场景和模型的spin image 进行相似性度量;

生成spin image的步骤

  1. 定义一个Oriented point;
  2. 以Oriented point 为轴生成一个圆柱坐标系;
  3. 定义spin image的参数:
  • spin image的大小:行数和列数;
  • spin image的分辨率:二维网格大小;

?????4.将圆柱体内的三维坐标投影到二维spin image;

  • 该过程可理解为:
  • 一个spin image绕着法向量n旋转360°;
  • spin image扫到的三维空间点会落到spin image网格中;

????5.根据spin image每个网格中落入的点数,计算网格的强度。

  • 为了降低对位置的敏感度、降低噪音影响、增加稳定性;
  • 当一个点落入网格(i,j)中时,可以采用双线性插值;
  • 将该点分散到(i,j),(i,j+1),(i+1,j),(i+1,j+1)四个网格中。

spin image的三个关键参数

1.分辨率:

  • 像素的实际尺寸与三维网格的尺寸相近比较合适;
  • 通常取三维网格所有边的平均值作为spin image的网格尺寸;
  • 通常将网格的长和宽设置为相等;

2.大小:

  • spin image的行数和列数;
  • 两者一般相等;

3.support angle:

  • 空间中顶点的法向量和创建圆柱坐标系所选点法向量之间的夹角;
  • 一般角度限制范围为60度-90度之间;
  • 对角度限制后,那些大于90度(相当于切面的凹点)点被剔除;
  • 保留了主要信息;
  • 降低了后续的计算量;

3.三维重建

  • 包含三个方面:
  • 基于SFM的运动恢复结构;
  • 基于Deep learning的深度估计和结构重建;
  • 基于RGB-D深度摄像头的三维重建;

SFM

  • 主要基于多视觉几何原理;
  • 用于从运动中实现3D重建;
  • 即从无时间序列的2D图像中推算三维信息;
  • 是计算机视觉学科的重要分支;
  • 广泛应用于AR、VR、自动驾驶领域;
  • 实际应用以多视几何为主;
  • 深度的方法离实用还有一定的距离;
  • 是一个估计相机参数及三维点位置的问题;

SFM pipeline

  1. 对每张二维图片检测特征点(feature point);
  2. 对每队图片中的特征点进行匹配;
  3. 只保留满足几何约束的匹配;
  4. 执行一个迭代的、鲁棒的SFM方法;
  5. 恢复摄像机的内参(intrinsic parameter)和外参(extrinsic parameter);
  6. 由三角化得到三维点坐标。

SFM方法分类

  • 根据SFM过程中图像添加顺序的拓扑结构来分:
  • 增量式(incremental/sequential SFM);
  • 全局式(global SFM);
  • 混合式(hybrid SFM);
  • 层次式(hierachica SFM);
  • 基于语义的SFM(Semantic SFM);
  • 基于Deep learning 的SFM。

增量式SFM

  • 增量式SFM首先使用SIFT特征检测器提取特征点;
  • 计算特征点对应的描述子(descriptor);
  • 使用ANN(Approximate nearest neighbor)方法进行匹配;
  • 低于匹配数阈值的匹配对被移除;
  • 保留下来的匹配对;
  • 使用RANSAC(Random Sample Consensus)估计基本矩阵(fundamental matrix);
  • ?被判定为外点(outlier)的匹配是错误的匹配被移除;
  • 满足以上几何约束的匹配对,被合并为tracks;
  • 通过incremental 方式的SFM方法恢复场景结构;
  • 首先选择一对好的初始匹配对;
  • 一对好的匹配对应满足的条件:
  • 足够多的匹配点;
  • 宽基线;
  • 增量式的增加摄像机;
  • 估计摄像机的内外参;
  • 由三角化得到三维点坐标;
  • 使用Bundle Adjustment进行优化;
  • 增量式SFM是从无序图像几何计算三维重建的常用方法;
  • 分为几个阶段:
  • 图像特征提取
  • 特征匹配;
  • 几何约束;
  • 重建初始化;
  • 图像注册;
  • 三角化;
  • outlier过滤;
  • Bundle Adjustment;

增量式SFM优势:

  1. ?对特征匹配以及外极几何关系的外点比较鲁棒;
  2. 重建场景精度高;
  3. 标定过程中通过RANSAC不断过滤外点;
  4. 捆绑调整不断的优化场景结构;

增量式SFM缺点:

  1. 对初始图像的选择以及摄像机的添加顺序敏感;
  2. 场景漂移,大场景重建时具有累积误差;
  3. 效率不足,反复捆绑调整需要大量计算时间。

全局式SFM

  • 估计所有摄像机的旋转矩阵和位置;
  • 三角化初始场景点;

全局式SFM优势:?

  1. 将误差均匀分布于外极几何图上;
  2. 没有累积误差;
  3. 不需要考率初始图像和图像的添加顺序;
  4. 仅执行一次捆绑调整;
  5. 重建效率高;

全局式SFM缺点:

  1. ?鲁棒性不足;
  2. 旋转矩阵求解时L1范数对外点相对鲁棒;
  3. 但摄像机位置求解时相对平移关系对匹配外点比较敏感;
  4. 场景完整性,过滤外极几何边,可能丢失部分图像。

混合式SFM

  • 在一定程度上综合了增量式和全局式SFM各自的优点;
  • 混合式SFM的pipeline:
  • 全局估计摄像机旋转矩阵;
  • 增量估计摄像机位置;
  • 三角化初始场景点;

?

?OpenMVG

  • OpenMVG(Open Multiple View Geometry):开源多视角几何库;
  • 一个cv界处理多视角立体几何的著名开源库;
  • 信奉:简单,可维护的理念;
  • 提供一套强大的接口;
  • 实现的典型应用:
  1. 解决多视角立体几何的精准匹配问题;
  2. 提供SFM用到的特征提取和匹配方法;
  3. 具有完整的SFM工具链(校正,参估,重建,表面处理等);
  4. 尽力提供可读性强的代码;
  5. 方便二次开发;
  6. 核心功能尽量精简;
  7. 可能需要其他库来完善你的项目;

CMVS-PMVS

  • ?a modified version
  • 将运动结构(SFM)软件的输出作为输入;
  • 将输入图像分解成一组可管理大小的图像簇;
  • MVS软件课独立和并行的处理每个簇;
  • 来自所有簇的重建不错过任何细节;

SFM与三维重建

计算机视觉的基本任务:

  • 从二维图像中恢复三维场景结构式计算机视觉的基本任务;
  • 广泛应用于3D导航、3D打印、虚拟游戏等;

SFM的劣势?

  • 尽管SFM在计算机视觉领域取得显著成果;
  • 但大多数SFM基于周围环境是静止的假设;
  • 即相机是运动的,目标是静止的;
  • 当物体移动时,系统重建效果显著降低;
  • 传统SFM基于目标位刚体的假设。

三维计算机视觉发展趋势

趋势1:多视觉几何与Deep learning 方法融合

  • 在深度学习一统天下的计算机视觉领域;
  • 三维视觉方向主导算法仍是传统的多视角几何方法;
  • 深度学习方法是一种重要而有效的辅助;

趋势2:多传感器融合

  • 基于普通摄像头的视觉传感器仍是主导;
  • 工业界对算法的鲁棒性要求比较高;
  • 纯视觉方法很难保证在复杂的环境下保持鲁棒效果;
  • 采用廉价的激光传感器、IMU(惯性测量单元);
  • 与视觉传感器进行融合;
  • 是一种比较靠谱的方法;
  • 在移动端目前基于摄像头+IMU方法渐多;

趋势3:算法与硬件的结合

  • 深度相机厂商尽力把视觉算法嵌入到相机前端;
  • 提升相机的本地处理能力;

趋势4:算法与具体应用的结合能更快的推动算法进步

  • 三维视觉算法目前较好的应用集中体现在:
  • 无人驾驶
  • 无人搬运车
  • AR(教育,影音游戏)
  • 机器人领域
文章来源:https://blog.csdn.net/newsymme/article/details/135717276
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。