图像处理 常用数学算法

2018-10-04 22:38:10 yanghan742915081 阅读数 6730
  • 膨胀与腐蚀

    学完本课程,可以牢固掌握人工智能计算机视觉的基础知识与常见算法,对图像处理、图像分析可以理解与应用 掌握python opencv框架编程与相关算法原理与函数使用,可以完成基础的图像处理与图像分析项目任务 为进一步...

    111人学习 贾志刚
    免费试看
                          
               
图像处理基本算法操作从处理对象的多少可以有如下划分:
一)点运算:处理点单元信息的运算
二)群运算:处理群单元 (若干个相邻点的集合)的运算
                                              表1 图像处理操作按处理对象数量分类表格
操作类型
具体常用操作
点运算
二值化操作、直方图处理、亮度映射、加法运算、
翻转运 算 、尺度运算 、对数运算 、指数运算等
群运算
模板卷积运算、滤波运算(均值滤波、最大值滤波 、最小值滤波)、
各项异性扩散、形态学操作(膨胀和腐蚀)、力场变换等
      下图是一副普通的吉普车图像和我们生活中见到的并没有什么两样,但是在计算机看来则是另外一副“模样”了。图像中黄色部分则是几部车图像倒车镜的局部图像在计算机中的形态。                                                
图1 计算机图像的真实表现形态
      以上图为例说明几种重要的点运算和群运算。
      1.二值化操作
       图像二值化是图像处理中十分常见且重要的操作,它是将灰度图像转换为二值图像或灰度图像的过程。二值化操作有很多种,例如一般二值化、翻转二值化、截断二值化、置零二值化、置零翻转二值化。
其中src(x,y)表示的是原始图像中第x行第y列像素值。 
       如果去图像中左上角3X3的邻域,thresh取200,maxval取255,阈值方法选择一般二值化(THRESH_BINARY),那么操作过后的结果如下:
                                                                                                                                                     
                                                                                                                                     图2 一般二值化图示
       在图2中,一般二值化下底表示为0,上顶表示为maxval,其中蓝色横线则表示阈值(thresh)。超过该阈值则为maxval,否则为0。
                                                                                                                      
                                                                                                            (a) 操作前                                                      (b) 操作后
     2.直方图处理 
       直方图是图像处理中另一重要处理过程,它反映图像中不同像素值的统计信息。从这句话我们可以了解到直方图信息仅反映灰度统计信息,与像素具体位置没有关系。这一重要特性在许多识别类算法中直方图处理起到关键作用。假设现有3X3的大小的图像。像素值分别为6,3,3,8,6,8,3,3,3,那么它的统计直方图则为
       假设图1中反光镜的直方图为下图所示。
               
                    图3 图像直方图
     假设我们对直方图中中某一灰度信息进行置零操作,那么反映在直方图图上则是该灰度的柱状高度为0。
     值得一说的是二值化处理和某些直方图处理属于不可逆运算,而亮度映射、加法运算、翻转运算 、尺度运算 、对数运算 、指数运算等皆属于可逆运算。
    
     3.模板卷积运算
       模板运算是图像处理中使用频率相当高的一种运算,很多操作可以归结为模板运算,例如平滑处理,滤波处理以及边缘特征提取处理等。这里需要说明的是模板运算所使用的模板通常说来就是NXN的矩阵(N一般为奇数如3,5,7,...),如果这个矩阵是对称矩阵那么这个模板也称为卷积模板,如果不对称则是一般的运算模板。我们通常使用的模板一般都是卷积模板。如边缘提取中的Sobel算子模板。
            
图 4-a Mx算子模板                         图4-bMy算子模板
       模板运算一般操作过程分为以下三个步骤:
       1)定"锚点 ":就是处理之后的结果值的保存位置,该位置称为"锚点 ",有时候也不在中心。            
       2)对位相乘:模板和原图像的待处理区域,进行对位相乘运算           
       3)求和:将步骤2中模板区域内运算结果进行求和,将求和的结果置于"锚点 "

     4.形态学处理
     形态学处理是二值图像处理中的经典处理手段,主要有膨胀处理和腐蚀处理。也包含一些其他操作如 二值开闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换等。
    膨胀和腐蚀操作主要的功能有:1)消除杂波,噪声信息  2)填充图像内部的"孔洞"  3)平滑边缘毛刺
    膨胀和腐蚀具有类似的数学模型,这里就一起介绍了,简单来说膨胀就是取最大值,腐蚀操作是取最小值。
    膨胀操作的数学表达式为:
                                                                      
    腐蚀操作的数学表达式为:

    膨胀操作和腐蚀操作一般的处理过程如下:
    1)按照选定的处理核(NxN,一般N为奇数)与源图像的区域进行逐个“锚点”配对
    2)将配对的处理邻域信息进行相应操作,膨胀操作就取最大值,腐蚀操作就取最小值
    3)求的结果作为源图像中配对区域的数值。
                         
                                                          图a 原图                                                                图b 膨胀处理图                                                           图c 腐蚀处理
 

           
               
2016-07-04 10:38:28 qq_26499769 阅读数 23102
  • 膨胀与腐蚀

    学完本课程,可以牢固掌握人工智能计算机视觉的基础知识与常见算法,对图像处理、图像分析可以理解与应用 掌握python opencv框架编程与相关算法原理与函数使用,可以完成基础的图像处理与图像分析项目任务 为进一步...

    111人学习 贾志刚
    免费试看


2.3.3 赋范空间


每个实数或复数,都有相对应的绝对值或者模,每一个n维矢量,也都可以定义其长度。如果把“长度”的概念推广到一般抽象空间中的元素上,就可以得到范数这个概念。



本节完。



2.3.6 希尔伯特空间


定义:在由内积所定义的范数意义下完备的内积空间称为希尔伯特(Hilbert)空间
希尔伯特空间是一类性质非常好的线性赋范空间,在工程上有着非常广泛的应用,而且在希尔伯特空间中最佳逼近问题可以得到比较完满的解决。




傅立叶变换以高等数学(微积分)中的傅立叶级数为基础发展而来,它是信号处理(特别是图像处理)中非常重要的一种时频变换手段,具有重要应用。在图像编码、压缩、降噪、数字水印方面都有重要意义。此外,快速傅立叶变换算法还位列20世纪十大算法之列,它是“动态规划”策略在算法设计中的杰出代表。本文将详细介绍图像中的傅立叶变换及其快速算法。对于傅立叶变换的数学原理还不是很理解的同学,建议参考本系列前面已经发布的傅立叶级数相关内容,争取彻底搞懂相关数学原理。一知半解、不求甚解,都是自欺欺人的表现。


6.1.2   数字图像的傅立叶变换

为了在科学计算和数字信号处理等领域使用计算机进行傅立叶变换,必须将函数f(t)定义在离散点而非连续域内,且须满足有限性或周期性条件。这种情况下,使用离散傅立叶变换。将连续函数f(t)等间隔采样就得到一个离散序列f(x),假设采样N次,则这个离散序列可以表示为{f(0),f(1),f(2),...,f(N-1)}。如果令x为离散实变量,u为离散频率变量,则一维离散傅立叶变换的正变换定义为



图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。从傅立叶频谱图上看到的明暗不一的亮点,实际上图像上某一点与邻域点差异的强弱,即梯度的大小,也即该点的频率的大小(可以这么理解,图像中的低频部分指低梯度的点,高频部分相反)。通常,梯度大则该点的亮度强,否则该点亮度弱。这样通过观察傅立叶变换后的频谱图,也叫功率图。在功率图中我们可以看出图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,若频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。变换最慢的频率成分(u = v = 0)对应一幅图像的平均灰度级。当从变换的原点移开时,低频对应着图像的慢变换分量,较高的频率开始对应图像中变化越来越快的灰度级。这些是物体的边缘和由灰度级的突发改变(如噪声)标志的图像成分。通常在进行傅立叶变换之前用(-1)^(x+y)乘以输入的图像函数,这样便可将傅立叶变换的原点(0,0)移到(M/2,N/2)上。


6.1.3  快速傅立叶变换的算法


离散傅立叶变换(DFT)已经成为数字信号处理和图像处理的一种重要手段,但是DFT的计算量太大,速度太慢,这令其实用性大打折扣。1965年,Cooley和Tukey提出了一种快速傅立叶变换算法(Fast Fourier Transform,FFT),极大地提供了傅立叶变换的速度。正是FFT的出现,才使得傅立叶变换得以广泛地应用。


FFT并不是一种新的变换,它只是傅立叶变换算法实现过程的一种改进。FFT中比较常用的是蝶形算法。蝶形算法主要是利用傅立叶变换的可分性、对称性和周期性来简化DFT的运算量。下面就来介绍一下蝶形算法的基本思想。


由于二维离散傅立叶变换具有可分离性, 即它可由两次一维离散傅立叶变换计算得到,因此仅研究一维离散傅立叶变换的快速算法即可。一维离散傅立叶变换的公式为





上述FFT是将f(x)序列按x的奇偶进行分组计算的,称之为时间抽选FFT。如果将频域序列的F(u)按u的奇偶进行分组计算,也可实现快速傅立叶计算,这称为频率抽选FFT。

通过对图6-6的观察可以发现,蝶形算法的频率域是按照正常顺序排列的,而空间域是按照一种叫做“码位倒序”的方式排列的。这个倒序的过程可以采用下面的方法来实现:将十进制的数转化成二进制,然后将二进制的序列倒序重排,最后再把颠倒顺序后的二进制数转换成十进制数。倒序重排的程序是一段经典程序,它以巧妙的构思、简单的语句用完成了倒序重排的功能。表6-1给出了倒序重排的示例。






6.4.3 主成分变换的实现


本小节通过一个算例验证一下之前的推导。在前面给出的例子中,各点在原始的

由于方程是齐次的,所以不独立。因为系数矩阵有零行列式,所以方程有非无效解。从两个方程的任何一个可见

现在考虑该结论该如何解释。特征向量g1和g2是在原坐标系中用来定义主成分轴的向量,如图6-20所示,其中,e1和e2分别是水平和垂直的方向向量。显而易见,这些数据在新坐标系中是非相关的。该新坐标系是原坐标系的旋转,出于这种原因,可以将主成分变换理解为旋转变换(即使在高维空间上亦是如此)。

6.4.4 基于K-L变换的图像压缩

从图像压缩的角度出发,我们必然希望变换系数协方差矩阵Σ中除对角线外的所有协方差均为零,成为对角线矩阵,即原来像素间的相关性经变换后全部解除,或者至少大部分协方差要等于或接近于零。为此,需要选择适当的变换矩阵,它作用于Σx 后使其变成对角线型。通过前面的分析和推导,可知这样的变换矩阵是存在的。如果用协方差矩阵Σx 的特征向量作变换的基向量,即由Σx 的特征向量作为正交变换的变换矩阵,就可以得到对角线型的变换域协方差矩阵Σy 。K-L变换就是采用这种矩阵进行变换的正交变换,它可以在变换域完全解除相关性,因此是理论上的最佳变换。同时,换一个角度也可以证明,K-L变换是均方误差最小准则下的最佳变换,即当压缩比确定的情况下,采用K-L变换后,重建图像的均方误差比采用任何其他正交变换的都小。

但是回顾之前进行的K-L变换,哪个步骤可以称为图像压缩的切入点呢?一幅大小为M×N的图像,它的协方差矩阵Σx大小为MN×MN。由上述K-L变换理论可知,对X进行K-L变换的变换矩阵就是Σx的特征向量矩阵,该矩阵大小亦为MN×MN,其大小远远大于原始图像数据矩阵。而且要在解码时恢复原图像,不但需要变换后的系数矩阵Y,还需要知道逆变换矩阵(也就是变换矩阵的转置)。如果不经过任何处理就这样直接将K-L变换用于数字图像的压缩编码,不但达不到任何数据压缩的效果,还极大的增加了数据量。即使仅保留一个最大的特征值,变换矩阵中和该特征值对应的特征向量为M×N维,系数矩阵 Y 保留的元素为一个。要重建图像数据,需要保留的元素个数为仍大于原矩阵,所以达不到压缩的目的。另外,求一个矩阵的协方差矩阵和特征向量矩阵,都是非常复杂的运算过程,需要大量的计算。当X比较大时,运算时间的耗用可能是非常大的。有时甚至会出现因为过于复杂而导致Σx和变换矩阵无法求解的情况。


要解决上述问题,可以考虑将图像分成若干个小块,然后对每个小块分别进行K-L变换(这与本章前面的处理方式基本保持一致)。这样使得Σx和变换矩阵都比较小,计算机处理起来比较容易而且速度快。这里仍然将图像划分为多个不重叠的8×8小块(当图像垂直和水平方向的像素数不是8的倍数时补0,使之均为8的倍数)。然后再分别对每一个小块执行K-L变换,变换矩阵的数目为K个,每个矩阵大小为64×64,仅变换矩阵就要记录K×64×64个数据,还是远远大于原始数据的个数M×N。是否可以让变换矩阵的数量变得少些,最好只保留一个变换矩阵。回忆前面做K-L变换的例子,变换矩阵的大小与输入矩阵的维度有关,而与样本数量无关,据此可以将每个8×8小块变成一个行向量(也就是一个64维的数组),原图中的每一个小方块都是一个64维的样本。所以最后只需要一个64×64的变换矩阵即可,它对于原图像的任意一个数据块都适用。这样的处理方式并不是完全意义上的K-L 变换,因为采用分块的处理方式,各个数据块之间的相关性是没有消除的。但实验亦表明,这样的K-L 变换虽然不能完全消除图像各像素点之间的相关性,也能达到很好的去相关效果,在去相关性性能上优于离散余弦变换。


图像数据经K-L变换后,得到的系数矩阵Y大部分系数都很小,接近于零。只有很少的几个系数的数值比较大,这正是K-L变换所起到的去除像素间的相关性,把能量集中分布在较少的变换系数上的作用的结果。据此,在图像数据压缩时,系数矩阵Y保留M个分量,其余分量则舍去。在实际编程开发中,经K-L变换后的系数矩阵中的数值都是按从大到小的顺序排列的,所以直接舍去后面的64M个分量即可。通过这一步的处理,便可动态地调节压缩编码系统的压缩比和重建图像的质量。解码时,首先做K-L逆变换,然后将上述过程逆转,可以得到重建后的图像数据矩阵。


我们在MATLAB中编写的示例程序演示了运用上述方法对图像实施基于K-L变换的压缩处理的过程。最后可以通过编程实现基于K-L变换的图像压缩算法并测试其压缩效果,所得之测试结果如图6-22所示。该程序验证了三种不同的压缩比,即舍去排序后的系数矩阵中的32/64(对应压缩比50%)、48/64(对应压缩比75%)以及56/64(对应压缩比87.5%)。相关测试程序源码读者可以从本书的在线支持资源中下载得到。


最后需要补充说明的是尽管K-L变换可以将数据之间的相关性完全去除,所以理论上是一种最理想的数据压缩方案,但它在实际应用过程中仍然受到很大局限。例如,它没有快速算法,不同的图像所对应的变换矩阵也不同,从这个角度来说,单纯将K-L变换直接应用于图像数据压缩的理论价值要大于实际价值。它的存在意义,一方面是可以作为理论验证的参考模板,另一方面就是需要对原始算法加以改进后再付诸应用。




6.4.2 主成分变换的推导

前面提到的一国经济增长与城市化水平关系的问题是典型二维问题,而协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,所以自然会想到使用矩阵来组织这些数据。为了帮助读者理解上面给出的协方差矩阵定义,在此举一个简单的三维的例子,假设数据集有 {x,y,z} 三个维度,则协方差矩阵为


可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。下面通过一个例子来尝试演算协方差矩阵(很多数学软件都为该操作提供了支持)。需要提醒读者注意的是,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。例如有一个样本容量为 9 的三维数据,如下


根据公式,计算协方差需要计算均值,那是按行计算均值还是按列呢,前面也特别强调了,协方差矩阵是计算不同维度间的协方差,要时刻牢记这一点。样本矩阵的每行是一个样本,每列为一个维度,所以要按列计算均值。经过计算,不难得到上述数据对应的协方差矩阵如下


众所周知,为了描述一个点在直角坐标系中的位置,至少需要两个分量。图6-17所示是两个二维数组,其中左图显示的各个点之间相关性微乎其微,而右图所示的各个点之间则高度相关,显然数据散布在一定角度内较为集中。对于右图而言,只要知道某个点一维分量的大小就可以大致确定其位置,两个分量中任一分量的增加或者减少都能引起另一分量相应的增减。相反,左图中的情况却不是这样。


对之前给出的协方差矩阵定义式稍加改写,以使其获得计算上更为直观的便利。则有在X矢量空间(或坐标系下),协方差矩阵Σx的无偏计算公式为


表6-2给出了对于图6-17中左图所示的6个样本点的集合,以及经计算后求得的样本集协方差矩阵和相关矩阵的结果。应当注意,协方差矩阵和相关矩阵二者都是沿对角线对称的。从相关矩阵来看,各个数据分量间存在不相关关系的明显事实就是协方差矩阵(以及相关矩阵)中非对角线元素都是零。

最终计算可得





1.1.3 函数的极限


本小节介绍两个重要的函数极限,并讨论它们的应用。

重要极限1:


此外,该重要极限的另一种形式也常常被用到,即


综上,结论得证。
由此,也很容易推出如下结论,证明从略,有兴趣的读者可以自行尝试推导




1.3.2 内积与外积


因为cos(π/2)=0。当然,这也是众多教科书上介绍向量内积最开始时常常用到的一种定义方式。但必须明确,这种表示方式仅仅是一种非常狭隘的定义。如果从这个定义出发来介绍向量内积,其实是本末倒置的。因为对于高维向量而言,夹角的意义是不明确的。例如,在三维坐标空间中,再引入一维时间坐标,形成一个四维空间,那么时间向量与空间向量的夹角该如何解释呢?所以读者务必明确,首先应该是给出如本小节最开始时给出的内积定义,然后才能由此给出二维或三维空间下的夹角定义。在此基础上,我们来证明余弦定律。



若根据a·b = |a||b|cosθ这个定义,因为0<=cosθ<=1,显然柯西-施瓦茨不等式是成立的。但是这样的证明方式同样又犯了本末倒置的错误。柯西-施瓦茨不等式并没有限定向量的维度,换言之它对于任意维度的向量都是成立的,这时夹角的定义是不明确的。正确的思路同样应该从本小节最开始的定义出发来证明柯西-施瓦茨不等式,因为存在这样一个不等式关系,然后我们才会想到内积与向量模的乘积之间存在一个介于0和1之间的系数,然后我们才用cosθ来表述这个系数,于是才会得到a·b = |a||b|cosθ这个表达式。下面就来证明柯西-施瓦茨不等式。


证明:

与内积类似,向量a,b的外积也可以狭义地定义为






1.4.5   卷积定理及其证明


卷积定理是傅立叶变换满足的一个重要性质。卷积定理指出,函数卷积的傅立叶变换是函数傅立叶变换的乘积。换言之,一个域中的卷积对应于另一个域中的乘积,例如,时域中的卷积对应于频域中的乘积。


这一定理对拉普拉斯变换、Z变换等各种傅立叶变换的变体同样成立。需要注意的是,以上写法只对特定形式的变换正确,因为变换可能由其它方式正规化,从而使得上面的关系式中出现其它的常数因子。
下面我们来证明时域卷积定理,频域卷积定理的证明与此类似,读者可以自行证明。
证明:将卷积的定义


傅立叶变换的作用在频域对信号进行分析,我们可以把时域的信号看做是若干正弦波的线性叠加,傅立叶变换的作用正是求得这些信号的幅值和相位。既然固定的时域信号是若干固定正弦信号的叠加,在不改变幅值的情况下,在时间轴上移动信号,也就相当于同时移动若干正弦信号,这些正弦信号的相位改变、但幅值不变,反映在频域上就是傅立叶变换结果的模不变、而相位改变。所以,时移性质其实就表明当一个信号沿时间轴平移后,各频率成份的大小不发生改变,但相位发生变化。
既然这里提到了傅立叶变换的性质,这里我们还将补充一些关于帕塞瓦尔定理的有关内容。该定理最早是由法国数学家帕塞瓦尔(Marc-Antoine Parseval)在1799年推导出的一个关于级数的理论,该定理随后被应用于傅立叶级数。帕塞瓦尔定理的表述是这样的:




综上所述,原结论得证。
前面我们也介绍过复数形式的傅立叶级数,下面我们来推导与复数形式傅立叶变换相对应的帕塞瓦尔等式。这里再次给出傅立叶级数的复数形式表达式,具体推导过程请读者参阅前文



帕塞瓦尔定理把一个信号的能量或功率的计算和频谱函数或频谱联系起来了,它表明一个信号所含有的能量(功率)恒等于此信号在完备正交函数集中各分量能量(功率)之和。换言之,能量信号的总能量等于各个频率分量单独贡献出来的能量的连续和;而周期性功率信号的平均功率等于各个频率分量单独贡献出来的功率之和。


1.1.2 级数的敛散


关于上面这个级数敛散性的讨论,在数学史上曾经是一个非常有名的问题。大数学家莱布尼兹曾经在惠更斯的指导下对级数的敛散性进行过研究。后来莱布尼兹的学生伯努利兄弟(雅各·伯努利和约翰·伯努利)从他们老师的某些研究成果出发,最终证明了调和级数的发散性,以及几何级数的收敛性。但是几何级数最终收敛到多少这个问题却一直困扰着他们。最终,雅各布也不得不带着几分绝望的恳求宣告了他的失败:“如果有人能够发现并告知我们迄今为止尚未解出的难题的答案,我们将不胜感谢。”所幸的是,几何级数到底等于多少这个难题最终被约翰·伯努利的学生欧拉所破解。欧拉使用了一种极其巧妙的方法得出





1.1 极限及其应用


极限的概念是微积分理论赖以建立的基础。在研究极限的过程中,我们一方面会证明许多在图像处理中将要用到的公式,另一方面还会得到所谓的自然常数(或称纳皮尔常数)。图像处理技术中的很多地方都会遇到它,例如用来对图像进行模糊降噪的高斯函数,以及泊松噪声中都会有自然常数出现。而且在本文稍往后的内容还会讲到欧拉公式,届时自然常数还将会再次出现。

1.1.1 数列的极限






1.3.7 曲面积分





关于这部分内容的讨论,既阐明了第二类曲面积分的实际意义,其实也明确了两类曲面积分之间的关联。需要说明的是,在后面的介绍中,我们将更多地采用通量这个提法来替代此前所用的流量。通量是更广义的说法,如果考虑的向量场是流速场的话,那么通量就是流量,如果考虑的是电场或者磁场的话,那么通量就是电通量或者磁通量。






在泛函分析中,索伯列夫空间并不像 巴拿赫空间或者希尔伯特空间那么引入注意。但是在图像处理中,索伯列夫空间在介绍BV空间(有界变差函数空间)时,会被提到。而BV函数空间对于理解TV算法(偏微分方程在图像处理中的重要内容)至关重要!所以我特别在“图像处理中的数学原理详解”系列文章中留出一个小节来对索伯列夫空间进行必要的介绍。


2.3.7 索伯列夫空间



由广义导数的定义可以看出,这种导数不是关于函数的个别点处局部性质反映,因为它是通过在整个区间上积分的极限来确定的,而积分是一种关于函数的整体性质的概念。但也应该指出,广义导数其实是对通常意义下导数概念的推广。如果函数本身是通常意义下可微的,则其导函数与广义导数是一致的。






2.3.5 内积空间

      前面我们已经讨论过关于内积的话题,此处以公理化的形式给出内积的定义。





2.3.2 距离空间
        尽管在线性空间上我们已经可以完成简单的线性运算,但这仍然不能满足我们的需求。为了保证数学刻画的精确性,还必须引入距离的概念。本文最初是从极限开始讲起的,它是因此微积分的必备要素之一,而极限的概念显然也是基于距离上无限接近这样一种角度来描述的。



       由此,在距离空间中,可以引入“任意逼近”的概念,即极限概念。一般来说,一个集合如果能够在其中确切地引入任意逼近的概念,就称之为“拓扑空间”。而距离空间是一种最常用的拓扑空间。





2.3  泛函与抽象空间

牛顿说:“把简单的问题看得复杂,可以发现新领域;把复杂的问题看得简单,可以发现新规律。”而从历史的角度来看,一个学科的发展也亦是如此。随着学科的发展,最开始的一个主干方向会不断衍生出各自相对独立的分支,这也就是所谓“把简单的问题看得复杂”的过程。然而,一旦学科发展到一定程度之后,某些分支学科又开始被抽象综合起来,这也就是所谓“把复杂的问题看得简单”的过程。例如,在很长一段时间里,物理学家们都把电和磁看成是两种独立的物理现象在研究,当学科研究积累到一定程度时,麦克斯韦就创立了电磁学从而完成了物理学中的一次大综合。而在数学发展的历史中,几何与代数也曾经在很长的一段时间里是彼此独立的。直到笛卡尔引入了直角坐标系的概念之后,人们才开始建立了一种代数与几何之间的联系,也就是所谓的解析几何。泛函分析也是对以往许多数学问题或者领域进行高度抽象和综合的结果,其主要研究对象之一是抽象空间。其实在学习线性代数的过程中,读者已经建立了一种从矩阵到线性方程组之间的一种联系。而在泛函分析中,实数系、矩阵、多项式以及函数族这些看似关联不大的概念都可以抽成空间。由于泛函分析是一门比较晦涩抽象的学问,读者应该注意联系以往学习中比较熟悉的一些已知的、具体的概念,从而帮助自己理解那些全新的、抽象的概念。此外,需要说明的是本部分内容的重点在于有关定义或者概念的介绍,希望读者能够努力领会这些定义或者概念。

2.3.1  线性空间



2013-09-26 23:21:17 F_SUNNY 阅读数 2286
  • 膨胀与腐蚀

    学完本课程,可以牢固掌握人工智能计算机视觉的基础知识与常见算法,对图像处理、图像分析可以理解与应用 掌握python opencv框架编程与相关算法原理与函数使用,可以完成基础的图像处理与图像分析项目任务 为进一步...

    111人学习 贾志刚
    免费试看

     从事图像处理这个行当也已经有一段时间了,对于一个自动化毕业的本科生,确实是磕磕绊绊的走到现在了,前期的基础图像处理还基本上能够轻松上手,越到后面的机器学习算法,用到的数学知识也就越深了,所以越到后面会越困难的。现在回想下之前的图像处理基础算法,其实是可以归纳到数学各个领域的。下面简单介绍下一些基础图像处理算法,当然主要是讲自己对其的归类理解,有不对的之处,大伙一起探讨。如果想要这些算法的具体实现,给推荐几个博客(百度的),我也是从这些类似的博客起步的:

http://www.cnblogs.com/drizzlecrj/archive/2008/02/25/1077494.html

http://blog.csdn.net/xizero00/article/details/6631209

     主要的基础图像处理算法有:灰度化,二值化,投影法,差影法,图像采样,增强,分割,边缘提取,匹配等。

    下面讲讲这些算法最基础实现时按照数学知识归类:

     1. 初等代数类:

  ①.灰度化:一般灰度化是用加权平均的,这个在我们小学都可以解决了,f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j));

②二值化:其实二值化就是一个分段的0-1函数;

③差影法:这类的帧差发,前景提取法,都是一个减法,当然如果有背景建模之类的,那就背景建模的算法就属于高等代数或者概率统计的知识了;

④图像锐化:一般的图像锐化算法也是相邻像素点之间的初等代数运算,运算如下:

设f(i,j)像素为(r1, g1, b1) , f(i-1,j-1)像素为(r2,g2,b2), g(i,j)像素为(r,g,b),则
r = r1 + 0.25 * |r1 - r2|
g = g1 + 0.25 * |g1 - g2|
b = b1 + 0.25 * |b1 - b2|

⑤图像的叠加,浮雕效果等也都是属于初等代数的;

    2.概率统计类:

①.投影法:像直方图统计之类的,是属于统计类的;

②.匹配算法:当然匹配算法也可以用线性代数,高等代数做,但是像方差匹配之类是属于概统的;

③图像采样:一听采样就知道是概统的,其中有图像区域采样,随机采样,分布采样,上/下采样;但是一般的采样算法都要结合代数知识进行应用,比如对图像感兴趣区域进行提取,可能还要用到插值算法进行归一化之类的;

     3.高等代数:

①边缘提取:这主要用到的是一阶二阶微分,卷积等知识,这些都是高等代数中的基础;

②图像滤波:卷积滤波,高通滤波;

这有一片关于图像卷积实现方法的文章,讲的很好:

http://blog.sina.com.cn/s/blog_4bdb170b01019atv.html

     4.几何学:

这部分主要是在于图像中物体的形态特征的描述,像圆,直线,曲线,方形等几何图形的特征描述算子,了解这些可以进行物体的特征提取判别;

还有就是角度,使用正余弦定理结合线性代数,可以进行图像线性匹配;

     5. 线性代数:

其实个人认为线性代数也是属于高等代数,线代的矩阵问题也是可以转换为高等代数的方程计算的,当然高等数学的方程,转换为矩阵的话,计算起来会更加形象化,还会有很多简化算法;

①PCA降维:这个是基础的人脸识别算法,很好的引用了矩阵的特征值,特征向量等知识,是经典算法;

②匹配:结合几何等特征,可以对图像进行线性匹配;

③非线性的线性化,通过类hogh等变换,可以将高维非线性数据,线性化进行处理,这样可以提高效率,简化算法。


在图像基础处理算法中很多其实是各种数学知识的综合,要灵活应用各种数学知识才能更加高效率的对图像数据进行处理。这也足见数学知识对于图像处理的重要性,但是一些很简单的图像处理算法,其实用很简单的数学知识就能解决,所以学起来也要有信心,从简单到困难,一步一步脚踏实地的来。

以上属于个人的一点看法,如果不对,请各位武林高手指正补充。


2018-01-20 20:07:31 KYJL888 阅读数 15301
  • 膨胀与腐蚀

    学完本课程,可以牢固掌握人工智能计算机视觉的基础知识与常见算法,对图像处理、图像分析可以理解与应用 掌握python opencv框架编程与相关算法原理与函数使用,可以完成基础的图像处理与图像分析项目任务 为进一步...

    111人学习 贾志刚
    免费试看
(1)基于阈值的分割方法:可在各种颜色空间或不同通道中完成阈值、自适应阈值、
(2)基于边缘的分割方法:各种边缘检测算子
(3)基于区域的分割方法:分水岭、区域归并与分裂
(4)图割分割:最大流(最小割)算法
(5)基于深度信息的分割:

(6)基于先验信息的分割:


个人认为图像分割的算法可以从分割目标入手:通常是要将图像分成目标区域和背景。需要从图像的特征入手,以灰度图像为例(其余类型的图像处理均类似),图像图形很明显的特征有:图像灰度值特征、目标边界特征、纹理特征、形态学特征等等;还有一些基于这些特征所计算提取出的特征,比如信息熵、能量泛函等等。

最为简单的就是灰度值特征了,一幅图中有时候目标区域与背景区域有很明显的亮度区别,基于这个认识,只要试图找到某个亮度的值,我们假设低于该值的认为是背景,高于该值的认为是目标。关于找这个值的算法就是阈值分割算法了,像OTSU、迭代法、最大熵法等等都是属于这一范畴。

同时也可以注意到,在空域内,目标的边界是区分目标与背景的重要依据,因此区分边界也是一个重要的手段,通常边界点周围灰度值变化率很高,因此可以基于图像灰度梯度来识别。这就有一些sobel算子、canny算子等等方式,都是通过找到边界来确定目标区域与背景的。

在有些图像中,目标区域具有一定的连续性,基于区域连续性的一些方法像区域生长法、分水岭算法等(本人对这一块不是很熟悉)。

另外,基于图像原始的特征进行提取获得“精炼”的二级特征,并据此分割也是一种好的方法。像SNAKE算法,该算法认为目标区域的边界是“外力”,内力共同作用的结果,因此当外力内力平衡时找到边界,基于这种平衡,提出了判断能量泛函最小的判断原则。此外,还有基于几何活动轮廓模型的水平集方法,该方法是借助于目标区域的几何度量参数,可以比较好的处理一些拓扑变化。


这里主要简单介绍几类经典的方法:


基于边缘检测的方法
基于边缘检测的方法主要是通过检测出区域的边缘来进行分割,利用区域之间特征的不一致性,首先检测图像中的边缘点,然后按一定策略连接成闭合的曲线,从而构成分割区域图像中的边缘通常是灰度、颜色或纹理等性质不连续的地方。对于边缘的检测,经常需要借助边缘检测算子来进行,其中常用的边缘检测算子包括[3]:Roberts 算子、Laplace 算子、Prewitt 算子、Sobel 算子、Rosonfeld算子、Kirsch 算子以及Canny 算子等。
边缘检测算法比较适合边缘灰度值过渡比较显著且噪声较小的简单图像的分割。对于边缘比较复杂以及存在较强噪声的图像,则面临抗噪性和检测精度的矛盾。若提高检测精度,则噪声产生的伪边缘会导致不合理的轮廓:若提高抗噪性,则会产生轮廓漏检和位置偏差[4]。


阈值分割方法
阈值分割是最古老的分割技术,也是最简单实用的。许多情况下,图像中目标区域与背景区域或者说不同区域之间其灰度值存在差异,此时可以将灰度的均一性作为依据进行分割[3]。阈值分割即通过一个或几个阈值将图像分割成不同的区域。阈值分割方法的核心在于如何寻找适当的阈值。最常用的阈值方法是基于灰度直方图的方法,如最大类间方差法(OTSU)[5]、最小误差法、最大熵法等。此类方法通常对整幅图像使用固定的全局阈值,如果图像中有阴影或亮度分布不均等现象,分割效果会受到影响。基于局部阈值的分割方法对图像中的不同区域采用不同的阈值,相对于全局阈值方法具有更好的分割效果[6],该方法又称为自适应阈值方法。其中阈值的选取一般是基于图像的局部统计信息,如局部方差[7]、局部对比度[8]以及曲面拟合阈值[9]等。无论是基于全局阈值还是局部阈值,阈值方法通常受噪声影响较大。为了得到较好的分割结果,通常还需要与其他图像处理技术,如图像去噪等相结合。



基于聚类的分割方法
聚类分析是多元统计分析的方法之一,也是模式识别中非监督模式识别的一个重要分支。根据数据集合的内部结构将其分成不同的类别,使得同一类内样本的特征尽可能相似,而属于不同类别的样本点的差异尽可能大。聚类分析技术大致上可分为硬聚类、模糊聚类与可能性聚类方法[10]。

硬聚类方法中,样本点归属于不同类别的隶属度函数取值为0 或1,即每个样本只可能属于某一特定的类别。传统的硬聚类方法包括k 均值聚类[11]以及ISODATA[12等。模糊聚类方法是一种基于目标函数迭代优化的无监督聚类方法,样本点的隶属度函数取值为区间[0, 1],同时每个样本点对各类的隶属度之和为1,即认为样本点对每个聚类均有一个隶属度关系,允许样本点以不同的模糊隶属度函数同时归属于所有聚类。模糊聚类方法的软性划分,真实地反映了图像的模糊性和不确定性,因此其性能优于传统的硬分割方法。目前模糊聚类方法已经广泛应用于图像处理特别是医学图像处理中,其中最常用的是模糊C 均值聚类方法(FCM)[13,14]。可能性聚类样本点的隶属度函数同样取值为区间[0, 1],但其不要求隶属度之和为1。可能性聚类不仅顾及到样本与聚类中心的隶属度关系,同时考虑了样本的典型性对分类结果的影响。 传统的聚类算法没有考虑图像的空间信息,因此其对噪声与灰度分布不均非常敏感。为提高模糊聚类算法在图像分割中的效果,国内外学者提出了很多改进方法,其中结合空间信息是最常见的方法[15--24]。


活动轮廓方法

活动轮廓方法(又称为Snake 模型)是Kass等人[25]于1987 年提出的,活动轮廓即定义在图像域的曲线或者曲面,在与自身几何特性相关的内力以及图像数据相关的外力共同作用下,以最小化能量函数的形式向边界运动。经过二十多年的发展,活动轮廓模型已经在边缘检测、图像分割以及运动跟踪中得到了广泛的应用[26,27]。

按照曲线的表达方式的不同,活动轮廓模型大致可以分为两大类:参数活动轮廓模型和几何活动轮廓模型。参数活动轮廓模型采用参数化的形式直接描述活动轮廓曲线,轮廓曲线由一些规则排列的不连续的点(也称snaxels) 组成或通过一些基函数将其描述成一种连续的参数形式。由于参数活动轮廓方法都是显式的表示曲线,因此便于引入先验形状约束[28],同时有利于人机交互[27]。其缺点在于不能自适应的改变曲线的拓扑结构,难以处理曲线的分裂与合并;同时作为一种局部性方法,其最终分割结果严重依赖于初始位置。此外,轮廓曲线在演化过程中很难精确模拟复杂的边界,如深度凹陷的边界。Xu等人[29]提出梯度矢量流(GVF)Snake 方法,利用梯度矢量流来代替传统外力场,由于GVF 的作用范围比传统的Snake 模型大,能够促使轮廓曲线进入目标物体的凹陷部分,因此其在一定程度上克服了参数活动轮廓方法易于陷入局部能量极小的缺陷。


几何活动轮廓模型以曲线演化理论以及水平集方法为基础,曲线的演化仅依赖于其内在几何特性,而独立于曲线的参数。由于采用水平集方法隐式的表示曲线,使得其能够灵活地处理曲线的拓扑变化。几何活动轮廓模型又可分为基于边界的活动轮廓模型、基于区域的活动轮廓模型。基于边界的活动轮廓模型主要依赖图像的边缘信息控制曲线的运动速度。在图像边缘强度较弱或是远离边缘的地方,轮廓曲线运动速度较大,而在图像边缘强度较强的地方,轮廓曲线运动速度较小甚至停止,使得最终的轮廓曲线运动到边缘位置。比较著名的模型包括Caselles[30]提出的基于平均曲率流的几何活动轮廓模型、Caselles 与Kimmel 等人[31]提出的测地线活动轮廓方法。基于边界的活动轮廓方法对于对比度较好的图像具有较好的分割效果,然而,由于轮廓曲线的演化依赖于图像的边缘信息,当图像中噪声较强时通常难以得到理想的分割效果。基于区域的活动轮廓方法最早是由Mumford 与Shah 提出的MS 模型[32],其主要思想是用分片光滑的函数逼近原始图像,通过能量泛函的极小化寻找合适的轮廓曲线以及近似函数,使得近似函数在除去轮廓曲线以外的同质区域为光滑函数。尽管已经有二十多年的历史,MS 模型至今仍然具有强大的生命力,基于MS 模型的分割方法依然层出不穷。由于MS 模型数值求解存在较大困难,其近似求解算法也是研究的热点问题。目前关于MS 模型的近似方法主要包含两类方法:Ambrosio 提出的基于椭圆逼近的辅助变量模型[33--36]以及Chan 与Vese 提出的基于简化MS 模型与水平集方法相结合的方法[37]。Zhu 等人提出的区域竞争的活动轮廓模型,将区域增长、活动轮廓以及基于Bayes 公式和最小描述长度(MDL)的多相分割方法统一起来。区域竞争法拥有这三种方法的优点,互相弥补了他们的不足之处。此外,测地线活动区域模型[38](Geodesic Active Region)结合了基于边界与基于区域的活动轮廓方法,能够有效利用图像的边缘信息与区域信息。近年来,为处理灰度分布不均图像的分割问题,提出了许多局部化的活动轮廓模型,如Li Chunming 等人[39]提出的基于局部二进拟合能量的活动轮廓模型(LBF)


基于图论的方法

基于图论的图像分割技术是近年来图像分割领域的一个新的研究热点。其基本思想是将图像映射为带权无向图,把像素视作节点,节点之间的边的权重对应于两个像素间的不相似性度量,割的容量对应能量函数。运用最大流/最小算法对图进行切割,得到的最小割对应于待提取的目标边界。该方法具有快速、鲁棒、全局最优、抗噪性强、可扩展性好等优点。目前,基于图论的图像分割方法的研究主要集中在以下几个方面[40]:

(1) 最优剪切准则的设计;

(2) 谱方法用于分割;

(3) 快速算法的设计等。

基于图论的方法本质上将图像分割问题转化为最优化问题,是一种点对聚类方法,其最优分割基本原则就是使划分成的两个子图(区域) 内部相似度最大,而子图之间的相似度最小。图割算法中割集准则的好坏直接影响到最终分割结果,其中常见的割集准则包括:Minimum cut[41]、Average cut[42]、Normalizecut[43]、Min—max Cut[44]以及Ratio cut[45]等。



区域生长与分水岭算法
区域生长方法[46]也是一种常用的区域分割技术,其基本思路是首先定义一个生长准则,然后在每个分割区域内寻找一个种子像素,通过对图像进行扫描,依次在种子点周围邻域内寻找满足生长准则的像素并将其合并到种子所在的区域,然后再检查该区域的全部相邻点,并把满足生长准则的点合并到该区域,不断重复该过程直到找不到满足条件的像素为止。该方法的关键在于种子点的位置、生长准则和生长顺序。分水岭算法[47,48]是以数学形态学作为基础的一种区域分割方法。其基本思想是将梯度图像看成是假想的地形表面,每个像素的梯度值表示该点的海拔高度。原图中的平坦区域梯度较小,构成盆地,边界处梯度较大构成分割盆地的山脊。分水岭算法模拟水的渗入过程,假设水从最低洼的地方渗入,随着水位上升,较小的山脊被淹没,而在较高的山脊上筑起水坝,防止两区域合并。当水位达到最高山脊时,算法结束,每一个孤立的积水盆地构成一个分割区域。由于受到图像噪声和目标区域内部的细节信息等因素影响,使用分水岭算法通常会产生过分割现象,分水岭算法一般是作为一种预分割方法,与其它分割方法结合使用,以提高算法的效率或精度,如文献[49]使用分水岭算法结合基于图论的方法进行图像分
割,在计算精度与计算效率方面均取得了很好的效果。



 

图像分割概述

来源于http://blog.csdn.net/zouxy09 

       所谓图像分割指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性。我们先对目前主要的图像分割方法做个概述,后面再对个别方法做详细的了解和学习。

1、基于阈值的分割方法

      阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。因此,该类方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值。

2、基于边缘的分割方法

       所谓边缘是指图像中两个不同区域的边界线上连续的像素点的集合,是图像局部特征不连续性的反映,体现了灰度、颜色、纹理等图像特性的突变。通常情况下,基于边缘的分割方法指的是基于灰度值的边缘检测,它是建立在边缘灰度值会呈现出阶跃型或屋顶型变化这一观测基础上的方法。

阶跃型边缘两边像素点的灰度值存在着明显的差异,而屋顶型边缘则位于灰度值上升或下降的转折处。正是基于这一特性,可以使用微分算子进行边缘检测,即使用一阶导数的极值与二阶导数的过零点来确定边缘,具体实现时可以使用图像与模板进行卷积来完成。

3、基于区域的分割方法

      此类方法是将图像按照相似性准则分成不同的区域,主要包括种子区域生长法、区域分裂合并法和分水岭法等几种类型。

       种子区域生长法是从一组代表不同生长区域的种子像素开始,接下来将种子像素邻域里符合条件的像素合并到种子像素所代表的生长区域中,并将新添加的像素作为新的种子像素继续合并过程,直到找不到符合条件的新像素为止。该方法的关键是选择合适的初始种子像素以及合理的生长准则。

        区域分裂合并法(Gonzalez2002)的基本思想是首先将图像任意分成若干互不相交的区域,然后再按照相关准则对这些区域进行分裂或者合并从而完成分割任务,该方法既适用于灰度图像分割也适用于纹理图像分割。

        分水岭法(Meyer1990)是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。该算法的实现可以模拟成洪水淹没的过程,图像的最低点首先被淹没,然后水逐渐淹没整个山谷。当水位到达一定高度的时候将会溢出,这时在水溢出的地方修建堤坝,重复这个过程直到整个图像上的点全部被淹没,这时所建立的一系列堤坝就成为分开各个盆地的分水岭。分水岭算法对微弱的边缘有着良好的响应,但图像中的噪声会使分水岭算法产生过分割的现象。

4、基于图论的分割方法

        此类方法把图像分割问题与图的最小割(min cut)问题相关联。首先将图像映射为带权无向图G=<VE>,图中每个节点NV对应于图像中的每个像素,每条边∈E连接着一对相邻的像素,边的权值表示了相邻像素之间在灰度、颜色或纹理方面的非负相似度。而对图像的一个分割s就是对图的一个剪切,被分割的每个区域CS对应着图中的一个子图。而分割的最优原则就是使划分后的子图在内部保持相似度最大,而子图之间的相似度保持最小。基于图论的分割方法的本质就是移除特定的边,将图划分为若干子图从而实现分割。目前所了解到的基于图论的方法有GraphCutGrabCutRandom Walk等。

5、基于能量泛函的分割方法

       该类方法主要指的是活动轮廓模型(active contour model)以及在其基础上发展出来的算法,其基本思想是使用连续曲线来表达目标边缘,并定义一个能量泛函使得其自变量包括边缘曲线,因此分割过程就转变为求解能量泛函的最小值的过程,一般可通过求解函数对应的欧拉(EulerLagrange)方程来实现,能量达到最小时的曲线位置就是目标的轮廓所在。按照模型中曲线表达形式的不同,活动轮廓模型可以分为两大类:参数活动轮廓模型(parametric active contour model)和几何活动轮廓模型(geometric active contour model)。

       参数活动轮廓模型是基于Lagrange框架,直接以曲线的参数化形式来表达曲线,最具代表性的是由Kasset a1(1987)所提出的Snake模型。该类模型在早期的生物图像分割领域得到了成功的应用,但其存在着分割结果受初始轮廓的设置影响较大以及难以处理曲线拓扑结构变化等缺点,此外其能量泛函只依赖于曲线参数的选择,与物体的几何形状无关,这也限制了其进一步的应用。

       几何活动轮廓模型的曲线运动过程是基于曲线的几何度量参数而非曲线的表达参数,因此可以较好地处理拓扑结构的变化,并可以解决参数活动轮廓模型难以解决的问题。而水平集(Level Set)方法(Osher1988)的引入,则极大地推动了几何活动轮廓模型的发展,因此几何活动轮廓模型一般也可被称为水平集方法。


2015-09-15 15:10:15 baimafujinji 阅读数 39690
  • 膨胀与腐蚀

    学完本课程,可以牢固掌握人工智能计算机视觉的基础知识与常见算法,对图像处理、图像分析可以理解与应用 掌握python opencv框架编程与相关算法原理与函数使用,可以完成基础的图像处理与图像分析项目任务 为进一步...

    111人学习 贾志刚
    免费试看

数字图像处理技术的研究与开发对数学基础的要求很高,一些不断涌现的新方法中,眼花缭乱的数学推导令很多期待深入研究的人望而却步。一个正规理工科学生大致已经具备了包括微积分、线性代数、概率论在内的数学基础。但在分析一些图像处理算法的原理时,好像还是感觉无从入手。实际所牵涉出来的问题主要可归结为如下几个原因:1)微积分、线性代数、概率论这些是非常重要的数学基础,但显示不是这些课程中所有的内容都在图像处理算法中有直接应用;2)当你将图像处理和数学分开来学的时候,其实并没有设法建立它们二者的联系;3)一些新方法或者所谓的高大上的算法之基础已经超过了上面三个数学课程所探讨的基本领域,这又涉及到偏微分方程、变分法、复变函数、实变函数、泛函分析等等;4)如果你不是数学科班出身,要想自学上面所谈到所有内容,工作量实在太过浩繁,恐怕精力也难以顾及。

业余时间,笔者结合自己对图像处理的学习和实践,大致总结了一部分图像处理研究中所需的数学原理基础。这些内容主要涉及微积分、向量分析、场论、泛函分析、偏微分方程、复变函数、变分法等。线性代数和概率论笔者认为比较基础,于是并没有将其收入。我总结、归纳、提取了上面这些数学课程中,在研究图像处理最容易碰到也最需要知道的一些知识点,然后采取一种循序渐进的方式将它们重新组织到了一起。并结合具体的图像处理算法讨论来讲解这些数学知识的运用。从而建立数学知识与图像处理之间的一座桥梁。

这部分内容主要是笔者日常研究和学习的一个总结,我原本并没有将其出版的计划(毕竟这个Topic还是有点小众而且可能还有点艰深)。但之前我撷取了其中的一小部分发到了网上,已经有读者表现出了浓厚的兴趣。再后来亦有多位出版社的编辑联系到我,希望可以将该书付梓。而且不知不觉中,这个系列专栏的内容日积月累,个人感觉确实已经形成了一个相对比较完整的体系,于是便应下了出版社的合作意向。

 

我的“图像处理中的数学原理”专栏中之系列文章已经以《图像处理中的数学修炼》为名结集出版(清华大学出版社)。该书详细介绍图像处理中的数学原理,为你打开一道通往图像世界的数学之门。以下是最新版本的该书的完整目录,方便各位网友查阅以及确定本书是否符合你的选购目标:

 

第1章 必不可少的数学基础

1.1  极限及其应用
    1.1.1  数列的极限
    1.1.2  级数的敛散
    1.1.3  函数的极限
    1.1.4  极限的应用

1.2  微分中值定理
    1.2.1  罗尔中值定理
    1.2.2  拉格朗日中值定理
    1.2.3  柯西中值定理
    1.2.4  泰勒公式

    1.2.5  海塞矩阵与多元函数极值

1.3  向量代数与场论
    1.3.1  牛顿-莱布尼茨公式
    1.3.2  内积与外积
    1.3.3  方向导数与梯度
    1.3.4  曲线积分
    1.3.5  格林公式
    1.3.6  积分与路径无关条件
    1.3.7  曲面积分
    1.3.8  高斯公式与散度
    1.3.9  斯托克斯公式与旋度
本章参考文献

第2章 更进一步的数学内容

2.1  傅立叶级数展开
    2.1.1  函数项级数的概念
    2.1.2  函数项级数的性质
    2.1.3  傅立叶级数的概念
    2.1.4  傅立叶变换的由来
    2.1.5  卷积定理及其证明

2.2  复变函数论初步
    2.2.1  解析函数
    2.2.2  复变积分
    2.2.3  基本定理
    2.2.4  级数展开

2.3  凸函数与詹森不等式

    2.3.1  凸函数的概念

    2.3.2  詹森不等式及其证明

    2.3.3  詹森不等式的应用

2.4  常用经典数值解法

    2.4.1  牛顿迭代法

    2.4.2  雅各比迭代

    2.4.3  高斯迭代法

    2.4.4  托马斯算法

本章参考文献

 

第3章  泛函分析以及变分法

3.1  勒贝格积分理论
    3.1.1  点集的勒贝格测度
    3.1.2  可测函数及其性质
    3.1.3  勒贝格积分的定义
    3.1.4  积分序列极限定理
3.2  泛函与抽象空间
    3.2.1  线性空间
    3.2.2  距离空间
    3.2.3  赋范空间
    3.2.4  巴拿赫空间
    3.2.5  内积空间
    3.2.6  希尔伯特空间
    3.2.7  索伯列夫空间
3.3  从泛函到变分法
    3.3.1  理解泛函的概念
    3.3.2  关于的变分概念
    3.3.3  变分法的基本方程
    3.3.4  理解哈密尔顿原理
    3.3.5  等式约束下的变分
    3.3.6  巴拿赫不动点定理
    3.3.7  有界变差函数空间

本章参考文献

 

第4章 概率论与统计学基础

4.1  概率论的基本概念

4.2  随机变量数字特征

    4.2.1  期望

    4.2.2  方差

    4.2.3  矩与矩母函数

    4.2.4  协方差与协方差矩阵

4.3  基本概率分布模型

    4.3.1  离散概率分布

    4.3.2  连续概率分布

4.4  概率论中的重要定理

    4.4.1  大数定理

    4.4.2  中央极限定理

4.5  随机采样

    4.5.1  随机采样分布

    4.5.2  蒙特卡洛采样

4.6  参数估计

4.7  假设检验

    4.7.1  基本概念

    4.7.2  两类错误

    4.7.3  均值检验

4.8  极大似然估计

    4.8.1  极大似然法的基本原理

    4.8.2  求极大似然估计的方法

4.9  贝叶斯推断

    4.9.1  先验概率与后验概率

    4.9.2  共轭分布

参考文献

第5章 子带编码与小波变换

5.1  图像编码的理论基础
    5.1.1  率失真函数
    5.1.2  香农下边界
    5.1.3  无记忆高斯信源
    5.1.4  有记忆高斯信源
5.2  子带编码基本原理
    5.2.1  数字信号处理基础
    5.2.2  多抽样率信号处理
    5.2.3  图像信息子带分解
5.3  哈尔函数及其变换
    5.3.1  哈尔函数的定义
    5.3.2  哈尔函数的性质
    5.3.3 酉矩阵与酉变换
    5.3.4 二维离散线性变换
    5.3.5 哈尔基函数
    5.3.6 哈尔变换
5.4  小波及其数学原理
    5.4.1  小波的历史
    5.4.2  理解小波的概念
    5.4.3  多分辨率分析
    5.4.4  小波函数的构建
    5.4.5  小波序列展开
    5.4.6  离散小波变换
    5.4.7  连续小波变换
    5.4.8  小波的容许条件与基本特征
5.5  快速小波变换算法
    5.5.1  快速小波正变换
    5.5.2  快速小波逆变换
    5.5.3  图像的小波变换

5.6  小波在图像处理中的应用

本章参考文献


第6章 正交变换与图像压缩
6.1  傅立叶变换
    6.1.1  信号处理中的傅立叶变换

        1. 连续时间,连续频率——傅立叶变换

        2. 连续时间,离散频率——傅立叶级数

        3. 离散时间,连续频率——序列的傅立叶变换

        4. 离散时间,离散频率——离散的傅立叶变换

    6.1.2  数字图像的傅立叶变换
    6.1.3  快速傅立叶变换的算法
6.2  离散余弦变换
    6.2.1  基本概念及数学描述
    6.2.2  离散余弦变换的快速算法
    6.2.3  离散余弦变换的意义与应用
6.3  沃尔什-阿达马变换
    6.3.1  沃尔什函数
    6.3.2  离散沃尔什变换及其快速算法
    6.3.3  沃尔什变换的应用
6.4  卡洛南-洛伊变换
    6.4.1  一些必备的基础概念
    6.4.2  主成分变换的推导
    6.4.3  主成分变换的实现
    6.4.4  基于K-L变换的图像压缩
本章参考文献

第7章 无所不在的高斯分布
7.1  卷积积分与邻域处理
    7.1.1  卷积积分的概念
    7.1.2  模板与邻域处理
    7.1.3  图像的高斯平滑
7.2  边缘检测与微分算子
    7.2.1  哈密尔顿算子
    7.2.2  拉普拉斯算子
    7.2.3  高斯-拉普拉斯算子
    7.2.4  高斯差分算子
7.3  保持边缘的平滑处理
    7.3.1  双边滤波算法应用
    7.3.2  各向异性扩散滤波
    7.3.3  基于全变差的方法
7.4  数学物理方程的应用
    7.4.1  泊松方程的推导
    7.4.2  图像的泊松编辑
    7.4.3  离散化数值求解

    7.4.4  基于稀疏矩阵的解法

7.5  多尺度空间及其构建
    7.5.1  高斯滤波与多尺度空间的构建
    7.5.2  基于各向异性扩散的尺度空间
本章参考文献

 

第8章 处理彩色图像

8.1  从认识色彩开始

    8.1.1  什么是颜色

    8.1.2  颜色的属性

        1. 色相

        2. 亮度

        3. 纯度

    8.1.3  光源能量分布图

8.2  CIE色度图

    8.2.1  CIE色彩模型的建立

    8.2.2  CIE色度图的理解

        1. 确定互补颜色

        2. 确定色光主波

        3. 定义颜色区域

    8.2.3  CIE色度图的后续发展

8.3  常用的色彩空间

    8.3.1  RGB颜色空间

    8.3.2 CMY/CMYK颜色空间

    8.3.3  HSV/HSB颜色空间

    8.3.4  HSI/HSL颜色空间

    8.3.5  Lab颜色空间

    8.3.6 YUV/YCbCr颜色空间

8.4  色彩空间的转换方法

    8.4.1  RGB转换到HSV的方法

    8.4.2  RGB转换到HSI的方法

    8.4.3  RGB转换到YUV的方法

    8.4.4  RGB转换到YCbCr的方法

8.5  基于直方图的色彩增强

    8.5.1     普通直方图均衡

    8.5.2    CLAHE算法

    8.5.3     直方图规定化

8.6  暗通道先验的去雾算法

    8.6.1  暗通道的概念与意义

    8.6.2  暗通道去雾霾的原理

    8.6.3  算法实现与应用

本章参考文献