图像增强方法分为两大类:空间域方法和频域方法。
此处讨论的是灰度图。空间域处理定义如下:
空间域图像增强 - 图1
空间域图像增强 - 图2表示原图像,空间域图像增强 - 图3表示处理后的图像。对图像的处理按照其依赖像素点个数可分为:点运算、局部运算和全局运算。此处的空间域图像增强 - 图4通常是一个局部运算,即输出图像在指定坐标的像素值依赖于原图对应坐标处的一个领域(如下图所示)。
image.png

显然,上面的操作和CNN中的卷积操作是对应的。

空间域图像增强 - 图6最简单的情况,即单像素依赖,即上图中的矩形框为空间域图像增强 - 图7,此时空间域图像增强 - 图8成为灰度级变换函数,只是实现了一个强度的映射:
空间域图像增强 - 图9
以下介绍经典的图像增强方法。并进行如下前提假设:

  • 灰度级范围为空间域图像增强 - 图10
  • 当图片中出现两图对比时:前图为原图,后图为增强图;

    1 某些基本灰度变换

    此处讨论单像素依赖的简单情况,这些方法都是按像素对原图像进行一定操作。空间域图像增强 - 图11包括三类基本函数:线性函数、对数函数和幂次函数,它们的效果如下图所示:
    image.png

    1.1 图像反转

    如果灰度级范围为空间域图像增强 - 图13那么反转表达式:
    空间域图像增强 - 图14
    图像反转适用场合:增强嵌入与图像暗色区域的白色或灰色细节,特别是当黑色占主导地位。

    将暗色背景变为浅色,将白色或灰色细节变为深色,从而突出细节。

image.png

1.2 对数变换

对数变换表达式:
空间域图像增强 - 图16
对数变换在数字信号处理中同样经常被用到,例如在绘制系统的幅频响应时。利用对数运算的原因:用于成像的信息动态范围非常大,这使得信息中的大值将成为重点,小值之间的差异难以分辨。所以对数变换适用场合:像素值具有非常大的动态范围。其效果:凸显暗背景下的细节信息
image.png

1.3 幂次变换

其表达式为:
空间域图像增强 - 图18
根据空间域图像增强 - 图19选择的不同,幂次函数可以实现不同的效果。

  • 空间域图像增强 - 图20,实现暗背景下的细节增强;
  • 空间域图像增强 - 图21,实现亮背景下的细节增强;

image.png

通常来说:图像获取、打印和显示的各种装置根据幂次规律产生相应(即原图和设备输出的图存在差异),在这种情况下需要进行伽马校正。

1.4 分段线性变换函数

分段线性变换函数优势在于形式可以任意合成,缺点在于需要更多的参数。

1.4.1 对比拉伸

对比拉伸,对不同像素范围的点进行不同的函数变换。对比拉伸的函数通常都是单调增加的,从而保持灰度级的次序。
image.png
如下图的电子显微镜获取的花粉图像:(c为对比拉伸之后的结果,d为极端情况)
image.png

1.4.2 灰度切割

灰度切割是提高指定灰度范围的亮度,其应用包括:增强特征、增强X射线图中的缺陷
下图展示了两种常用的灰度切割方式:
image.png

1.4.3 位图切割

位图切割不从“图像像素值的整体”来进行变换,它针对灰度值的指定位进行变换从而实现图像增强。比如表示灰度值是采用空间域图像增强 - 图26,那么我们用每bit来生成一张二值化图像,从而可以产生8张二值化的图像。显然,最高阶的图像对原图影响是最大的;最低阶的影响最小,它们主要对图像中的一些微小细节有作用。
那么如何得到8张图像呢?

  • 最高阶:空间域图像增强 - 图27为0,空间域图像增强 - 图28为1,即以127为阈值进行二值化;
  • 次阶:原图像素值除2取整,得到新的图像,新的图像像素范围空间域图像增强 - 图29,同样根据中间值63(除2取整)为阈值进行二值化;
  • 以此类推……

image.png

2 直方图处理

直方图统计的是特定灰度级的像素个数,由于灰度级是离散的,所以直方图同样是离散的:空间域图像增强 - 图31,其中空间域图像增强 - 图32表示第空间域图像增强 - 图33级灰度,空间域图像增强 - 图34表示该灰度的像素统计个数,归一化之后则得到比率:空间域图像增强 - 图35
image.png
如上图所示,不同类型的图像其直方图分布有存在差异。例如暗图像,其直方图组成成分集中在灰度级低的一侧。直方图处理方法基于如下结论:若一幅图像的像素占有全部可能的灰度级并且分布均匀,则这样的图像有高对比度和多变的色调(这是我们希望的)。

2.1 直方图均衡化

连续公式推导

首先,考虑连续函数空间域图像增强 - 图37,其中的空间域图像增强 - 图38是归一化的像素级,并且其连续变换,即空间域图像增强 - 图39
假设函数满足如下条件:

  • 空间域图像增强 - 图40在区间空间域图像增强 - 图41中为单值且单调递增;
  • 空间域图像增强 - 图42时,空间域图像增强 - 图43

当然其反变换为空间域图像增强 - 图44
一张图像的连续灰度级可视为区间空间域图像增强 - 图45的随机变量,设空间域图像增强 - 图46分别代表随机变量空间域图像增强 - 图47的概率密度函数。(空间域图像增强 - 图48表示不同的函数,这是符合实际情况的)

连续的可以用PDF,即随机密度函数,离散的则是采用归一化的比率,或者说归一化的概率。 在概率论中,对于随机变量概率分布的表征都是利用累积分布函数:空间域图像增强 - 图49,其概率密度函数空间域图像增强 - 图50,求取在空间域图像增强 - 图51区间的概率:空间域图像增强 - 图52

以下推导两个成函数关系的随机变量的概率密度函数的关系:
空间域图像增强 - 图53空间域图像增强 - 图54空间域图像增强 - 图55,并且他们的概率密度函数分别为为空间域图像增强 - 图56空间域图像增强 - 图57,并假设函数空间域图像增强 - 图58单调并且其逆变换空间域图像增强 - 图59同样单调
由于:
空间域图像增强 - 图60
利用概率密度函数表示则为:
空间域图像增强 - 图61
两边对空间域图像增强 - 图62求导,则得到:
空间域图像增强 - 图63

将此公式迁移到此处有:
空间域图像增强 - 图64
现在我们选取特定的空间域图像增强 - 图65,其满足入校条件:
空间域图像增强 - 图66
那么,将其带入(1.5.4)有:
空间域图像增强 - 图67
显然此时输出图像在空间域图像增强 - 图68上均匀分布!

上面选取的空间域图像增强 - 图69即是随机变量的概率分布定义式,其又被成为累积分布函数CDF。

离散情况

离散情况下,我们知道得就是一些离散灰度级的概率分布:空间域图像增强 - 图70
当然可以类似连续的操作,首先将梯度级归一化到空间域图像增强 - 图71,然后将上面的积分转为求和进行近似。
算法描述如下:

  • 求出各个灰度级的直方图:空间域图像增强 - 图72
  • 利用公式:空间域图像增强 - 图73
  • 空间域图像增强 - 图74扩展到空间域图像增强 - 图75,并进行量化操作即可

由于量化的原因使得,计算的不同的未被量化的空间域图像增强 - 图76之间差异较小的被合并,空间域图像增强 - 图77差异小表征的是对应的概率小,所以换句话说,概率小的点将被合并从而产生更大概率,从而使得输出图像的概率分布更为均匀。

将像素值和概率相联系起来,谁能想得到?太强了!

2.2 直方图匹配

连续公式推导

直方图均衡事实上是直方图匹配的一个特殊情况,在直方图匹配中,我们希望输出规定的概率密度函数空间域图像增强 - 图78
空间域图像增强 - 图79为一随机变量,其满足:
空间域图像增强 - 图80
再设空间域图像增强 - 图81同样为一随机变量,其满足:
空间域图像增强 - 图82
也就是希望在原图和目标图中间,利用空间域图像增强 - 图83作为桥接(因为空间域图像增强 - 图84是均匀分布,并且根据上面的推导知道,任意的分布经过CDF之后都是得到空间域图像增强 - 图85):
空间域图像增强 - 图86
所以:
空间域图像增强 - 图87

离散情况

同样是积分变为求和:
空间域图像增强 - 图88
空间域图像增强 - 图89
所以:
空间域图像增强 - 图90
其过程如下所示:(当然存在多个空间域图像增强 - 图91值对应一个空间域图像增强 - 图92的情况,此处暂不讨论)
image.png

上面的过程类似于是一个查表的过程。

2.3 局部增强

3 用算术/逻辑操作增强

4 空间滤波基础

空间滤波和频域滤波存在对应的关系,但是存在差异。
滤波主要在领域上以及和领域同样大小的子图像上进行。子图像叫做滤波器(模板)等。
image.png
与卷积操作非常类似,滑动模板从而获取不同坐标的响应输出。为了对称,模板的大小一般取为奇数。
image.png
不考虑卷积操作的具体实现,公式简化为:
image.png
例如空间域图像增强 - 图97卷积操作:
image.png
卷积操作,由于考虑图像的边界情况,不做任何操作则会出错:

  • 限制卷积操作的范围;
  • 边界运算只考虑部分像素;(相当于补零)
  • padding边界像素;

    平滑空域滤波器

    目标:通过对邻域操作,抑制图像中的噪声信号;模糊图像(平滑之后,图像会变模糊,从而去掉小的细节信息,连接中断线等)
    平滑滤波器通过对领域像素取平均从而得到响应,所以又被称为低通滤波器或者平均值滤波器。
    应用:噪声去除,模糊伪轮廓,消除图像中的不需要关注的细节信息;
    平滑滤波器权值类型参考如下:
    image.png
    加权平滑滤波器:希望原位置处的像素对响应影响最大。
    image.png
    对比不同size kenel的平滑滤波器:
    image.png
    当细节的size小于等于kernel size时将被明显模糊化。
    通过模糊操作进行感兴趣目标的提取(首先要根据目标的size确定kernel size):
    image.png

    其他平均手段

    其它的平均化方法通常是非线性的,其希望保留边界信息。

  • 被限制的数据平均操作;

  • 逆梯度;
  • 旋转mask;

    Kuwahara filter

    image.png
    将滤波器分为四个部分,选取方差较小的一个区域来产生响应。

    Order-Statistics filter

    对领域灰度值进行统计排序,然后选取特定位置的灰度值作为响应。典型:中值滤波器,选取排序过程中中间部分的灰度值作为输出。
    中值滤波器:可以抑制椒盐噪声(噪声要么为0,要么为255,也被叫做脉冲噪声)

    中值滤波器

    窗口内像素排序,选择中间像素值。
    image.png
    中值滤波器变体:百分比滤波器,选取的是某个占取特定百分比的像素值作为输出。(百分比是亮度的百分比,例如窗内亮度最低则记为0%,最高100%)
    image.png
    窗的大小要大于脉冲的2倍(貌似是2倍,未细究)宽度。

    锐化空间滤波器

    平滑滤波器采用的求和—积分;
    锐化滤波器与之相反—微分,从而提取差异,获取细节或边界信息。
    导数算子与相邻像素的不连续性成正比。所以其对边界,噪声等突变有增强作用,对平滑区域有抑制作用。

    导数算子

    离散一阶导数定义:
    空间域图像增强 - 图106
    离散二阶导:
    空间域图像增强 - 图107
    image.png
    一阶导数将会扩充边界宽带,二阶导数对精细细节有更大的响应;一阶导数对灰度阶跃有比较高的响应,二阶导数对灰度变换的地方会产生双向响应值。

    拉普拉斯算子

    目标:对灰度变换以及精细细节进行增强,实现旋转不变性。
    image.png
    拉普拉斯算子对应的kernel:
    image.png

  • 普通拉普拉斯kernel其具有90°的选择不变性;

  • 右边两个扩充了对角线,具有45°选择不变性;(对对角线也求取导数)

通过拉普拉斯kernel求取了拉普拉斯分量之后加到原像素值得到响应:
image.png
image.png
合并分量求取和分量合并:
image.png
从而设计kernel如下:
image.png

反锐化掩膜和高频提升滤波器

image.png
image.png
image.png
其kernel设计如下:
image.png
其实拉普拉斯算子方式的一般化,当空间域图像增强 - 图119时退化为拉普拉斯算子方式。

一阶梯度增强

我们只关注梯度的幅值,并为了减少计算量,梯度算子定义如下:
image.png
考虑空间域图像增强 - 图121窗:
image.png

Prewitt 算子

image.png