移动机器人学-第八章 感知 学习笔记

主要介绍用于实现感知自主层的理论。

感知是在观测的基础上理解环境的过程,也通常是一个模型构建的过程。

虽然定位技术使机器人的移动成为可能,但是环境感知能够使系统对外界激励产生智能响应——即使环境与所有预设情况都不同。

通常,只有通过感知,机器人才能自然地表现出足够智能的行为。

8.1图像处理算子与算法

8.1.1计算机视觉算法分类

在本书中出现的计算机视觉算法分为以下三类:

  • 图像处理:对像素进行操作,在图像中创建和处理任意几何形状。
  • 计算机视觉几何:侧重理解空间位置关系,场景中物体的定位以及传感器和物体间的相对运动。
  • 计算机视觉语义:识别或推理自然物体或场景要素,以及试图理解或解释场景内容。

1.图像处理算法

主要处理摄像头数据或图像测距传感器数据,部分重要算法包括:

  • 边缘检测(高通滤波):提取图像数据的空间导数,以这种方式找到的边缘来定义对象边界
  • 平滑(低通滤波):滤出图像中的噪声
  • 图像分割:提出图像中的连接区域,这些区域通常对应着场景中的对象
  • 特征检测:提取线,感兴趣点,角点等特征信息,对位姿估计和校正非常有用
  • 光流:近似表示图像中部分或全部像素的速度

2.计算机视觉几何

在最基本的图像处理之上,做进一步的处理。部分重要算法包括:

  • 形状推理:最重要的还是计算机立体视觉
  • 特征跟踪:跟踪图像间的点,线,角点等的位置变化,来推测表现运动
  • 视觉里程计:在禁止场景中,利用特征跟踪来推测传感器的运动
  • 从运动恢复结构(SFM):可以同时推断形状和运动。当摄像头做传感器时,视觉里程计和SFM相似

3.计算机视觉语义

在基本的图像处理和计算机视觉几何之外,再进行一些额外的处理。往往包括先验知识,复杂的概率模型或搜索过程,或两者兼有。部分重要算法包括:

像素分类:将每个像素分配到场景中的不同地物类型中,对路径跟踪时的道路选择,避障时的障碍物识别非常有用。

  • 对象检测:搜索场景以探测指定对象的一个或多个实例
  • 对象识别:为多种目的对对象进行分类和标记,对象类型可以是人,其他机器人或者路标等
  • 障碍物探测:根据通行难度或对车辆运动的阻碍程度,对场景中的物体或区域进行分类评估
  • 位置识别:基于先前的经验标记传感器位置
  • 场景理解:解释场景中的内容或行为,以提取其中的语义信息

8.1.2高通滤波算子

高通滤波算子能增强信息中的高频信号,并抑制低频信号。当高频信号是我们关注的主要信息时,就要用到高通滤波。如果噪声中也包含高频信息时,那么噪声也会被高通滤波算子放大。

使用中心差分方法可以从激光雷达的城市道路点云数据中探测出各边缘。

对二维图,一个著名的中心差分算子是索贝尔算子,索贝尔算子是一个3×3模板,它生成一个向量值输出。更复杂的边缘检测算法会搜索梯度方向上一阶导数的局部最大值。

8.1.3低通算子

对信号进行低通滤波算子是为了增强低频信息,同时抑制高频信息。当对信号中的低频信息感兴趣时,就会用到低通滤波算子。当信号中存在高频噪声干扰,低通滤波算子会倾向于抑制高频信息。

在信号处理中,求导运算可以增强高频信息,反之,积分运算则会增强低频信息,因此低通算子更接近于积分运算。

1.均值滤波

最简单的高频滤波方法就是围绕该点的邻域均值代替其实际值。

如果希望利用变尺度掩膜对一幅图像进行多次滤波,那么通常可以定义一个递归图像金字塔。

2.高斯滤波

为对接近邻域中心的信号值赋予更高的权重,因此选择使用类似高斯分布的掩膜。

8.1.4 信号和图像匹配

信号匹配时图像处理中的另一个基本运算,其具有广泛用途:

  • 检测:判断图像中是否出现对象实例;
  • 识别:对图像中的对象打上正确的标签;
  • 配准拼接:将两张局部图像拼接在一起以生成一幅大型图像;
  • 跟踪:确定已知区域因视差或运动而引起的位移。

1.卷积

在计算机视觉领域中,数字图像是一个二维的离散信号,对数字图像做卷积操作起始就是利用卷积核(卷积模板)在图像上滑动,将图像点上的像素灰度值与对应的卷积核上的数值相乘,然后将所有相乘后的值相加作为卷积核中间像素对应的图像上像素的灰度值,并最终滑动完成所有图像的过程。

图像处理中,平滑 模糊 去噪 锐化 边缘提取等等工作,起始都可以通过卷积操作来完成。

不同的卷积核作用于图像,可以更清晰的获取图像的某种特征,如轮廓,颜色等。

在卷积神经网络中,卷积核对输入的图像数据分区域进行卷积运算,通过运算的结果判定图像区域是否符合某种预设特征(如判断人脸,鼻子,眼睛,嘴巴)

将卷积核作用于图片,直接进行卷积运算,就会发现对于识别的特征计算出来的值非常大,对于不能识别的特征,计算的值非常小。

提取图片特征的关键是合理的卷积核。卷积神经网络训练的过程,就是提供合理的样本,让程序通过样本自动为各种卷积核给出阈值的过程。 

2.相关计算

3.二维空间的相关性

利用模板相关计算,通过找到插头模板图像在现实拍摄图像中的位置,机器人可以定位插头的位置,以便将插头插入插座中进行充电。

与待寻精确信号进行相关计算被称作匹配滤波,广泛应用于立体视觉,特征跟踪,表面配准,甚至GPS信号处理等领域。

4.误差和

基于相关计算的信号匹配是使匹配标准最大化,也使误差最小化。

可以证明,最小化SSD(误差平方和)等价于相关最大化。

该运算可以看最两幅图像之间的残差平方,或者是两个面之间体积平方,也可以看做两个向量信号之间或矩阵图像之间的欧氏距离。

8.1.5 特征检测

特征也被称为“兴趣点”,指的是图像中有区分度且具有某种特定功能的点,曲线,或者区域,主要包括:

  • 图像中纹理明显的点;
  • 图像中直线的交点;
  • 距离图像中的大曲率点;
  • 图像中类似边缘,直线,形状的区域;
  • 距离图像中的等曲率区域;
  • 声纳数据中的等深度区域;

边缘检测与(点)特征检测问题密切相关,都希望在图像中找到信号不连续性位置。

当特征被用于几何推理时,主要关心他们在图像中位置;当特征被用于分类和识别时,特征属性,如长度 纹理 曲率等则更加重要。

1.特征检测在图像跟踪中的应用

对应运动推理而言,主要聚集于评估图像中纹理丰富的位置的强度快速变化。

哈里斯(Harris)角点检测器通过在像素邻域内对梯度向量的加权协方差矩阵进行特征值计算(在两个特征值中,如果只有一个比较大,那么表示该区域是一条边缘;如果过两个特征值都比较大,那么该区域就是一个“角点”),可以识别出沿两个方向都有较大梯度的特征。这些特征在图像之间通常较为稳定,特别适合用于匹配和跟踪。

2.提取测距数据中的角点

激光雷达在室内场景中的扫描数据包含很多直角,利用这些直角特征可用于计算机器人自身的运动或基于地图的导航。

8.1.6 区域处理

具有相对一致性的特性。特征具有位置属性,并且可能具有方向属性,而区域具有几何形状属性。常用的区域处理算法如下:

  • 分割:提取有某种相似性的像素区域,通常这些区域对应着场景中的对象;
  • 生长于细化:图像区域的缩小或扩大,可以有效滤出小的噪声干扰;
  • 分裂与合并:可搜索对目标对象的关键描述。此外,这也是针对给定类型物体,找出其最大可能性的理想方法;
  • 中轴变换与烧草(Grassfire)算法:包含一系列高效算子,可以搜寻任意结构形状的骨架和距离轮廓
  • 矩与尺度不变性计算:把图像区域抽象或称具有尺度不变性且有时具有透视变换不变性的若干子区域。这些计算提供了一种便于通过比较形状进行对象识别的准则;
  • 直方图和阈值:通过统计找到不同像素类别之间的自然边界;

8.4 几何级与语义级计算机视觉概述

8.4.1像素级分类

8.4.2 计算机立体视觉

8.4.3 障碍物探测

某些物体或区域会给机器人带来碰撞风险,因此需要探测机器人移动范围内是否存在障碍物并确定其位置。

1.障碍物识别依据

与期望值的偏差:对环境特性进行强假设,那么相对于假设的微小测量偏差就可以可靠的指示障碍物,如假设环境地面时平面的;

占有率/存在概率:

颜色/组成:颜色和纹理在很多情况下是进行识别障碍物的好途径。例如,高大的绿色物体可能比高大的棕褐色物体更容易识别为树木;

密度:对应激光雷达这一类传感器,能沿着激光束的精确指向穿透叶簇,或被遮挡。在三维栅格中,通过统计阻挡激光束与被激光束穿透的栅格单元的相对比例,可以估计区域密度。当穿过与遮挡比较高时,则栅格单元中很可能是稀疏植被。但是需要高了季节变化的因素。

PCA特征值:求解散布矩阵的特征值,如果只有一个大的特征值,则表示数据可能代表场景中的一根线状物体,如果其中只有两个明显特征值,则说明数据可能代表一个二维平面。

形状:确定哪些形状是不利于车轮与之碰撞的

类:如果知道物体属于某一类,就足以断定它是否是一个障碍物

2.性能

可靠性:障碍物找全与障碍物找准的平衡;

车辆速度:在实现实时障碍物探测及实时反应的前提下对应的车辆速度上限;

意外障碍物:在某些视角存在障碍物被遮挡的情况,传感器无法探测到这些危险。有时一个非常小的突起物,就可能遮挡住位于测距阴影范围内的车轮大小的孔洞。

你可能感兴趣的:(机器人环境感知,学习,计算机视觉,人工智能,图像处理,1024程序员节)