美文网首页
机器/视觉/六十讲(课程一)

机器/视觉/六十讲(课程一)

作者: 时间之友 | 来源:发表于2020-02-21 15:36 被阅读0次

    第一章 图像处理

    01、数字图像概述

    像素是数字图像的基本元素。像素是在模拟图像数字化时对连续空间离散化得到的。

    02、 颜色空间

    RGB颜色最大的好处是适合显示系统,直观且容易理解,但是有如下不足:
    1.RGB利用3个颜色分量的线性组合来表示颜色,因此不同的色彩难以用精确的数值表示,定量分析困难
    2.在RGB颜色系统中,3个颜色分量之间是高度相关的,即只要亮度改变,三个分量都会相应改变,如果一个颜色的某个分量发生了改变,那么这颜色也可能要发生改变
    3.RGB颜色空间是一种均匀性较差的颜色空间

    03、视觉传感器

    TOF、双目、结构光


    仅供参考,并不准确

    04、深度图像

    深度图像也被称为距离影像,是将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见的几何形状,深度图像经过坐标转化可以计算出点云数据。

    在PCL [(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库] 中深度图像和点云图像区别在于,其邻近的检索方式不同,并且可以相互转换。

    05、图像灰度化

    我们日常处理图片时候很多时候是把图像灰度化,因为灰度图像是单通道的,RGB图像是三通道的,计算量少。


    加权平均值法灰度转换公式。灰度转换还有两种最高值、平均值转换法,最常见的还是加权,跟进人眼对于RGB的敏感程度推算得来

    06、直方图

    直方图又称质量分布图,是一种统计报告图,一般用一些纵向条纹表示数据分布的情况。

    07、直方图均衡化

    就是通过一个数学公式,增强图像对比度,便于把特征区分开。

    09、边缘检测

    边缘检测是检测灰度变换较大的区域,常见的算法如Sobel算子,或叫sobel滤波,它的原理是使用3*3矩阵对原图进行卷积,计算出两个方向的灰度差分(偏导);另外还有Canny边缘检测算子

    10、图像卷积

    卷积在图像中最大的应用是平滑化(应该是平滑吧,锐化主要是高通滤波和微分滤波法,锐化是使得灰度变换大的区域更清晰,即图像高频部分,这部分要多保留) 和 边缘检测(常用于计算图像边缘或者说梯度值)。
    色彩剧烈变化的地方,就是图像的高频区域;色彩稳定平滑的地方,就是低频区域

    11、图像去噪

    消除图像中的噪声成分也叫做图像的平滑化或滤波操作。
    高斯噪声:是指它的概率密度函数符合高斯分布(正态分布)的一类噪声。
    椒盐噪声:也称脉冲噪声,它是一种随机出现的白点或者黑点。
    信噪比(SNR):信号与噪声的比值。

    高斯滤波:一种线性平滑滤波,可以消除高斯噪声。高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值都是像素本身和邻域内其他像素加权获得。
    另外还有 均值滤波;邻域平均法;中值滤波;形态学噪声滤波;小波去噪;

    12、图像缩放

    最邻近图像插值算法;双线性插值算法;



    第二章 相机标定

    13、相机模型 和 标定

    相机的模型即为小孔成像

    14、内外参定义

    相机中有四个坐标系:世界坐标系;相机坐标系;图像坐标系;像素坐标系;

    相机坐标之间的转换就是 RT矩阵变换,即刚体的旋转平移。


    相机的标定就是 标定相机的 内参 和 外参

    15、标定方法的概述

    通常使用棋盘格作为相机标定的工具,因为角点就是很好的特征。
    大致步骤,打印一张A4纸的棋盘格(黑白间距需要已知,用于外参标定),并贴在一个平板上,针对棋盘格拍摄若干照片(10-20张),在图片中检测特征点(Harris特征),利用 解析解 估算方法 计算出5个内部参数,以及6个外部参数,根据极大似然估计策略,设计优化目标并实现参数的refinement (改善;也就是 张正友标定法)

    机器人一般用:xyz-4点标定法(TCP以不同的姿态移动到参考点的位置)
    2D视觉常用标定板:实心圆阵列图案;国际象棋盘图案

    17、张正友标定方法

    张正友标定法 整理后得出 计算外参 计算内参

    内参外参标定,技术较为复杂

    18、手眼标定



    第三章 图形检测

    19、直线检测

    说到图形检测,必提 Hough 变换(霍夫变换),是一种特征提取技术,用于隔离图像中 特定形状的技术。比如直线检测,就可以通过霍夫变换。


    如图,左边是像素坐标,那么可得知 y=kx+b即为直线,xy为变量,kb为常量;那么我可以这样,当xy为常量,kb为变量时,所组成的图如右边,当这个k-b空间中可发现直线相交一点,就证明这个交点就是我们要的直线

    圆形检测,也是认为图像中一个非零像素点都有可能是 一个潜在的圆上的点,跟霍夫变换一样,也是通过投票,生产累计坐标平面,设置一个累计权重来定位圆。

    矩形检测,利用直线检测的功能,将检测的直线段存储在一个列表里;从列表中提取出一条直线段,检测与它相连的直线;检测是否有四条直线段,依次垂直闭合相连。



    第四章 二维检测

    22、二维码作用和种类概述

    一维码和二维码 矩阵式二维码

    23、二维码检测

    第一步是图像预处理。滤波一般高斯滤波用的多

    预处理 之后,就开始 进行 四边形检测,步骤如下:

    • 边缘检测。常见的有 Canny边缘检测算子;Sobel算子。
    • 过滤四边形或者较小的四边形。
    • 利用角度对四边形 进一步筛选。
    • 在RGB图中标示出检测到的四边形(就是类似halcon里面的一些过程)

    24、图像仿射原理

    在摄像头得到的图像中,比如上方二维码,四边形会有旋转畸变,我们需要判断二维码是左偏还是右偏了,这就需要仿射变换将它扭正。

    25、汉明码

    汉明码的设计初衷是作为 信息校验码存在的,就是防止数据出错。

    26、二维码的识别

    就是这么简单

    27、二维码测距

    前面的工作完成后,再解算一下二维码在相机下的位姿并转换至机器人坐标系,得到二维码相对于机器人的坐标系,即两个齐次变换矩阵 图示

    二维码坐标系相对于机器人相机坐标系的位置,我们可以通过PnP来判定。再通过齐次变换矩阵连乘的方式,就可以获得二维码坐标在机器人坐标系下的位置。

    28、二维码的应用

    前身是一维码,应用很多了。普通的二维码,很多就是一个网页链接;对于付款二维码,就比较复杂了,需要有个秘钥的校验;也可以作为slam的路标,比如贴在玻璃上;



    第五章 LK光流

    29、光流法概述

    光流(optical flow) 是空间运动物体在观察平面上的 像素运动的瞬时速度。

    光流法是利用图像序列中 像素在时域上的变化,以及相邻帧之间的 相关性来找到 上一帧和当前帧之间存在的对应关系,从而计算出相邻帧之间物体运动信息的一种方法。

    该图展示三维空间物体的运动在二维成像平面上的投影。得到的是一个描述位置变化的二维矢量,但在运动间隔极小的情况下,我们通常视其为一个描述该点瞬时速度的二维矢量u=(u,v),称为光流矢量

    30、光流方程

    光流方程有两个基本假设条件:

    1. 亮度恒定不变; 2. 时间连续或运动是小运动;

    31、卢卡斯卡内德方法

    LK光流算法的原理和数学推导方法

    32、Pyramid LK(金字塔光流法)

    常规LK算法的约束条件是小速度、亮度不变,图像区域一致性较强,但这种情况并不容易得到满足。如果以上约束条件没有满足,最终算出来的结果误差较大,那么金字塔光流法就是来解决这个问题的。

    33、辅助人脸识别的LK光流法实例

    大致方法是先获得实时人脸,再通过LK光流算法计算人脸的中心位置,并使用seetaface开源人脸识别库进行人脸位置校正,然后根据人脸位置相对于图像中心位置,来计算机器人头部跟随人运动的方向。

    34、其他追踪方法介绍

    传统追踪算法:LK;卡尔曼滤波以及各种相关滤波;CSK相关滤波;



    第六章、传感器融合

    35、传感器融合概述

    比如里程计、比如 IMU(惯性测量单元)

    卡尔曼滤波:是一种线性系统 状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包含系统中的噪声和干扰的影响,所以最优估计也可以看成是滤波过程。

    粒子滤波:通过寻找一组在状态空间中传播的随机样本 来近似的表述概率密度函数,用样板均值代替积分算法,进而获得系统状态的最小方差估计的过程,这些样本被形象称为粒子,故称为粒子滤波。

    36、卡尔曼滤波(一)

    以下暂略,都是关联视觉slam技术 (simultaneous localization and mapping 即时定位与地图构建) 这块的。



    第七章 视觉里程计

    47、视觉里程计概述

    Visual Odometry 视觉里程计:通过分析处理下相关图像序列来确定机器人的位置和姿态。 其目标是跟进相机拍摄的图像来 估算相机运动的特征。通常来说,可以认为是VSLAM(视觉slam)的前端。
    视觉里程计主要有两个方向,一是特征点法:能够在噪声较大,相机运动较快时运动,但缺点是 地图是稀疏特征点; 二是 直接法,直接法不需要计算特征点,能够建立稠密地图,但是存在计算量大,鲁棒性不好的缺点。

    48、特征点

    特征点:图像中具有鲜明特性的部分 并能够有效反应 图像本质特征,能够标识图像中目标物体的点。
    特征点要具备 可重复性、可区别性、高效性。
    特征点的信息包括: 关键点-位置、大小、方向、评分等;描述性-特征点周围的图像信息。
    常见的特征点:SIFTSURFORB

    。。。。。

    56、构造一个简单的视觉里程计

    设计VO

    57、直接法概述

    尽管特征点法在视觉里程计中 占主流地位,不少研究者任务它有以下缺点:

    • 关键点的提取与描述子的计算 非常耗时。实践中,SIFT在CPU中是无法实时计算的,而ORB也需要20毫秒的计算。如果整个SLAM以 30毫秒/帧 的速度运行,那么一大半的时间都花在特征点计算上。
    • 使用特征点时,忽略了特征点以外的所有信息。一张图有几十万个像素,而特征点通常只有几百个,会丢失大量信息。
    • 相机有时候会运动到特征点缺失的地方,往往这些地方没有明显的纹理特征,比如大白墙,造成我们可能找不到足够的匹配点来计算相机运动。

    解决 方法是 采用多种方法根据使用场景 搭配使用。

    58、光流法OV

    直接法是从光流演变而来的,它们非常相似,具有相同的假设条件。光流描述了像素在图像中的运动,而直接法则附带了一个相机运动模型。
    计算部分像素运动,称之为 稀疏光流;计算所有像素运动称为 稠密光流。稀疏光流主要以 卢卡斯卡内 为代表,可以在SLAM中用于跟踪特征点位置。

    59、直接法

    最常用的获取特征点方式就是直接法

    60、VSLAM简介

    slam主要解决“定位”与“地图构建”这两个问题。也就是说一边要估算传感器的位置,一边要建立周围环境的模型。
    怎么解决呢?这就需要用到传感器。传感器能以一定的形式观察外部世界,不过,不同传感器的观察方式是不同的。当用相机作为传感器时,我们要做的,就是根据一张张连续的图片(或视频,一个意思),从中推断相机的运动,以及周围环境的情况。

    常见的开源slam算法

    大体上来说,SLAM发展有两大趋势:

    • 往轻量级、小型化发展,让其能嵌入到手机等小型化设备里,然后考虑以它为底层的功能应用。毕竟,大部分的应用都是实现机器人或VR、AR的功能,比如运动导航娱乐等。
    • 利用高性能计算设备,实现高精度三维重建、场景理解等功能。

    视觉惯导-融合SLAM方案。实际使用的时候,视觉结合惯导(又叫惯性传感器,主要是检测和测量加速度、倾斜、冲击、振动、旋转和多自由度(DoF)运动,是解决导航、定向和运动载体控制的重要部件)

    相关文章

      网友评论

          本文标题:机器/视觉/六十讲(课程一)

          本文链接:https://www.haomeiwen.com/subject/zimcqhtx.html