概率论

概率论学习笔记

中心极限定律

独立同分布序列(序列数量要足够大)平均值分布服从正态分布!例如已知序列 传统视觉 - 图1是独立同分布序列,并且有 传统视觉 - 图2,那么 传统视觉 - 图3服从传统视觉 - 图4正态分布

大数定律

采样值的统计平均值趋向于真实均值。即 传统视觉 - 图5依概率收敛于 传统视觉 - 图6

视觉方向

图像就是二维数字信号,处理方法和一维数字信号是本质相同的。很多一维信号处理的方法只需要进行维度的扩张即可用于二维图像的处理。定义图像为传统视觉 - 图7

真实图像是离散的,所以 传统视觉 - 图8函数应该是离散函数,但是很多时候为了分析方便也可以将其看做连续函数,真实图像是对其的采样。

图像增强

图像增强是指对图像进行一定的变换,使其能够适应特定任务。例如对图像进行去噪,提高图像对比度等。图像增强可以从空域和频率两个维度进行入手。

空域图像增强

像素角度

传统视觉 - 图9,其中 传统视觉 - 图10为原始的灰度,传统视觉 - 图11为变换之后的灰度。传统视觉 - 图12变换可以用各种函数实现(值得注意的是传统视觉 - 图13需要转换到表示灰度值的取值域)

直方图处理

假设图像为灰度图像,那么其直方图函数可以表示为 传统视觉 - 图14,表示的是灰度值为 传统视觉 - 图15传统视觉 - 图16表示该灰度值的概率密度。由于灰度值是离散的,可以通过比率来替代概率密度:传统视觉 - 图17,由于所有的比率值分母相同,可以将其省略,改为 传统视觉 - 图18

直方图均衡化

直方图统计之后可以得出原图中灰度值的分布情况,从而进行对应的变换。理论上来说灰度值分布均匀的我们称之为高对比度图像,这样的图像视觉效果更佳。将具有不均匀直方图分布的图像转变为均匀分布的过程叫做直方图均衡化。
设变换函数为 传统视觉 - 图19满足如下条件:

  1. 传统视觉 - 图20单增
  2. 传统视觉 - 图21

显然有如下关系:
传统视觉 - 图22
两边对传统视觉 - 图23进行求导得到:
传统视觉 - 图24
目标:传统视觉 - 图25
结论当:传统视觉 - 图26传统视觉 - 图27

传统视觉 - 图28是图像处理中常用的函数,其名称为累积分布函数(CDF)

考虑离散情况:传统视觉 - 图29

直方图匹配

目标是使得原分布变为目标分布,和直方图均衡化可以采用同样的分析方法。

空间滤波

和 CNN 中的卷积滤波是相同的,常见滤波方法:

  • 均值滤波,实现图像平滑化
  • 中值滤波,输出每个 kernel 排序中值
  • 拉普拉斯算子传统视觉 - 图30,利用差分替代求导
    • 传统视觉 - 图31
    • 传统视觉 - 图32
  • 梯度法,一阶微分传统视觉 - 图33,例如 Sobel 算子

    频域图像增强

    频率增强首先需要对图像进行傅里叶变换:传统视觉 - 图34。由此可以得到空域滤波和频域滤波的对应关系:传统视觉 - 图35
    • 傅里叶变换之后需要进行进一步变换,使得中心点表示的意义为最低频 0(因为傅里叶变换之后,默认是中间为高频,四周为低频;即中心变为(0, 0)点)
    • 空域滤波的卷积运算对应到频域直接变为对应元素相乘,所以频域滤波最重要的是如何设计传统视觉 - 图36

常见滤波器:

  • 高斯滤波器:是一个低通滤波器(高斯函数平移到以图像中心为中心)

    高斯函数傅里叶变换之后还是高斯函数,只是方差和前面的常数项变了。 高斯滤波在频域直接和原图相乘,在空域需要得到卷积核(近似,中间大,四周小)

  • 理想低通滤波器:有截断面,振铃现象严重

  • 巴特沃斯低通滤波器:平滑曲线,通带、阻带都平滑
  • 切比雪夫低通滤波:通带内有波纹,相对较陡峭
  • 贝塞尔:比巴特沃斯更加平滑

    Canny 算子

    Canny 算子是进行边缘检测的算子,其步骤为:
    转换为灰度图 -> 高斯滤波降噪 -> 差分计算幅值和方向 -> 非极大值抑制 -> 滞后阈值

    图像转灰度

    RGB 图像转为灰度图按照如下公式进行转换(一个简单的线性映射)
    传统视觉 - 图37

    高斯滤波降噪

    频域高斯函数 传统视觉 - 图38经过傅里叶反变换之后仍旧是高斯函数,只是方差和前面系数发生变化,所以根据此可以构造中间大,四周小的卷积核来近似高斯低通滤波的效果。

    均值滤波,在空域是方波函数 -> 频域波形类似低通滤波

梯度计算

借助 Sobel 算子分别计算 x 方向和 y 方向的一阶差分:
传统视觉 - 图39
利用两个卷积核分别进行卷积之后可以得到:传统视觉 - 图40,因而可以得到梯度的大小和方向。

非极大值抑制

沿着梯度方向进行非极大值抑制:在梯度计算步骤可以得到每个像素点的梯度值和梯度的方向,非极大值抑制时,以该像素点为中心考虑其 8 邻域内的信息,在该像素点梯度方向进行比较(即只考虑梯度方向上的像素点)其为最大值则保留,否则其置为 0。

注意梯度方向是连续变换的,而像素值却是离散的,为了提高精度,往往采用插值的方式来产生比较的像素值

滞后阈值

选取一个高阈值和低阈值,非极大值抑制滞后得到的矩阵中,高于高阈值的边缘被保留,低于低阈值的边缘被判读为假阈值,中间的留着后续处理。

HoG 特征

HoG + SVM 进行行人检测:采用滑动窗口的方式提取每个窗口的 HoG 特征,HoG 特征输入训练好的分类器进行分类。
方法概要:提取一个 patch 内部的梯度幅度和角度(角度取绝对值变到 0-180 度),然后根据幅度和角度进行编码。具体编码方法为:将角度分为离散的 [0, 20, 40, …, 160] 一共 9 个 bin,然后根据每个像素点的角度将其幅度值分配到对应的 bin 中,例如某个像素值的角度为 40,其幅度为 15,那么 bins 中 40 度对应的值加上 15。对于一些中间角度,例如 35 度,则按距离反比比例分配到 20 度和 40 度对应的 bins 中。

计算梯度

利用 Sobel 等计算一阶梯度的核对图像进行梯度求取,得到梯度的幅度和角度(角度取绝对值变为 0-180)。

梯度量化

将角度量化为 9 个 bins [0, 20, 40, …, 160],然后根据像素的角度和幅度进行梯度的统计得到最终的 bins。

  • 论文中采用 传统视觉 - 图41为一个 patch 进行 bins 的量化
  • 显然对于 传统视觉 - 图42大小的图像,经过量化之后得到传统视觉 - 图43个直方图

16x16 大小 block 归一化

类似于卷积操作,每 4 个 patch (2 x 2 大小的 kernel)得到的向量进行拼接之后进行归一化操作,以此来降低对光照等因素的影响。kernel 移动时步长为 1(有重叠)。基于此得到最终的向量,此向量作为后续分类器的输入。

Harr 特征

提到 Harr 首先想到的是 Harr 小波,其在小波变换应用非常广泛。

SIFT 特征

其全称为:Scale-invariant feature transform,是希望找到一种位置、尺度以及旋转不变的特征描述。

SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。