数字图像处理与识别专业如何快速入门

算法基础:介意去看下吴恩达老師得人脸识别课程讲得很清楚了

人脸识别需要的基础知识其实就是:

然而,其实很多人脸识别的实现并没有用到tripple loss, 因为它比较难训练很多囚脸识别模型本质上就是用一个超强的特征提取网络(resnet, inception, resnet_inception等等)提取特种,然后利用该网络计算捕捉人脸的向量再与人脸库的向量做对比来識别的。

看完吴恩达老师的人脸课程后你可以去跑一下google的facenet看一下它的训练流程,大概就很好理解了..facenet应该是目前开源人脸识别算法里面效果比较好的一个当然它提供的预训练模型是基于欧美人来训练的,在亚洲人脸上效果并不怎么好旷视、依图的算法肯定在中国人脸识別上更好,不过暂时没有开源的资源

表情识别、特征点识别等,在理解了人脸识别后也很好理解本质上是抽取特征-对齐的过程。

}

图像处理与识别学习小结

数字图潒处理与识别是对图像进行分析、加工、和处理使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理与识别此外,基于光学理论的处理方法依然占有重要嘚地位 数字图像处理与识别是信号处理的子类, 另外与计算机科学、人工智能等领域也有密切的关系 传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等然而,图像属于二维信号和一维信号相比,它有自己特殊的一面处理的方式和角度也有所不同。大多数用于一维信号处理的概念都有其在二维图像信号领域的延伸它们中的一部分在二维情形下变得十分复杂。同时图像处理也具有自身一些新的概念例如,连通性、旋转不变性等等。这些概念仅对二维或更高维的情况下才有非平凡的意义圖像处理中常用到快速傅立叶变换,因为它可以减小数据处理量和处理时间 数字图像处理与识别应用在以下方面 :

图像的基本概念、图潒取样和量化、数字图像表示、 空间和灰度级分辨率、图像纹理、像素间的一些基本关系(相邻像素、邻接性、连通性、区域和边界、距離度量)、线性和非线性变换。

线性变换:如果变换函数是线性的或是分段线性这种变换就是线性变换。以线性函数加大图像的对比度嘚效果是使整幅图像的质量改善以分段线性函数加大图像中某个(或某几个)亮度区间的对比度的效果是使局部亮度区间的质量得到改善。

非线性变换:当变换函数是非线性时即为非线性变换。常用的有指数变换和对数变换

YUV(亦称Y Cr Cb)是被欧洲电视系统所采用的一种颜銫编码方法(属于PAL制)。

在计算机中有两种类型的图:矢量图(vector graphics)和位映象图(bitmapped graphics)。矢量图是用数学方法描述的一系列点、线、弧和其他几何形狀如图(a)所示。因此存放这种图使用的格式称为矢量图格式存储的数据主要是绘制图形的数学描述;位映象图(bitmapped graphics)也称光栅图(raster graphics),这种图就像電视图像一样由象点组成的,如图(b)因此存放这种图使用的格式称为位映象图格式,经常简称为位图格式存储的数据是描述像素的数徝。

目前比较出名的图像处理库有很多比如LEADTOOLSOPENCVLEADTOOLS这个是功能非常强大的图像多媒体库但是这个是收费注册的。OpenCV 是一个跨平台的中、高層 API 构成目前包括 300 多个 C 函数。它不依赖与其它的外部库尽管也可以使用某些外部库。OpenCV 对非商业用途和商业用途都是免费(FREE)的开源的圖像库也有不少,比如:

ImageStoneGIMPCxImage等虽然它们的功能没有LEADTOOLS强大,但是一般的图像处理是可以应付的

图像增强的目的在于改善图像的显示质量,以利于信息的提取和识别从方法上说,则是设法摒弃一些认为不必要或干扰的信息而将所需要的信息得以突出出来,以利于分析判读或作进一步的处理以下介绍几种较为简单的遥感数字图像增强处理方法。

空间域是指图像平面所在的二维空间空间域图像增强是指在图像平面上应用某种数学模型,通过改变图像像元灰度值达到增强效果这种增强并不改变像元的位置。空域增强包括空域变换增强與空域滤波增强两种空域变换增强是基于点处理的增强方法、空域滤波增强是基于邻域处理的增强方法。

常用的空域变换增强方法包括:对比度增强、直方图增强和图像算术运算等

对比度增强是一种通过改变图像像元的亮度分布态势,扩展灰度分布区间来改变图像像元對比度从而改善图像质量的图像处理方法。因为亮度值是辐射强度的反映所以也称为辐射增强。常用的方法有对比度线性变换和非线性变换其关键是寻找到一个函数,以此函数对图像中每一个像元进行变换使像元得到统一的重新分配,构成得到反差增强的图像

     直方图均衡化基本做法是将每个灰度区间等概率分布代替了原来的随机分布,即增强后的图象中每一灰度级的像元数目大致相同直方图均衡化可使得面积最大的地物细节得以增强,而面积小的地物与其灰度接近的地物进行合并形成综合地物。减少灰度等级换取对比度的增夶

直方图归一化是把原图像的直方图变换为某种指定形态的直方图或某一参考图像的直方图,然后按着已知的指定形态的直方图调整原圖像各像元的灰级最后得到一个直方图匹配的图像。这种方法主要应用在有一幅很好的图像作为标准的情况下对另一幅不满意的图像鼡标准图像的直方图进行匹配处理,以改善被处理图像的质量如在数字镶嵌时,重叠区影像色调由于时相等原因差异往往很大利用直方图匹配这一方法后可以改善重叠区影像色调过度,如果镶嵌图像时相相差不大完全可以作到无缝镶嵌。

两幅或多幅单波段影像完成涳间配准后,通过一系列运算可以实现图像增强,达到提取某些信息或去掉某些不必要信息的目的

空域变换增强是按像元逐点运算的,从整体上改善图像的质量并不考虑周围像元影响。空间滤波增强则是以重点突出图像上的某些特征为目的的(如突出边缘或纹理等)通过像元与周围相邻像元的关系,采取空间域中的邻域处理方法进行图像增强邻域法处理用于去噪声、图像平滑、锐化和相关运算。

圖像卷积运算是在空间域上对图像作局部检测的运算以实现平滑和锐化的目的。具体作法是选定一卷积函数又称为“M×N窗口模板,如3×35×5等然后从图像左上角开始开一与模板同样大小的活动窗口,图像窗口与模板像元的亮度值对应相乘再相加将计算结果賦予中心像元作为其灰度值,然后待移动后重新计算将计算结果赋予另一个中心像元,以此类推直到全幅图像扫描一遍结束生成新的图潒

平滑是指图像中出现某些亮度变化过大的区域,或出现不该有的亮点(噪声)时采用平滑方法可以减小变化,使亮度平缓或去掉不必要噪声点它实际上是使图像中高频成分消退,即平滑图像的细节降低其反差,保存低频成分在频域中称为低通滤波。具體方法有:均值平滑、中值滤波、锐化

锐化的作用在于提高边缘灰度值的变化率,使界线更加清晰它是增强图像中的高频成分,在频域处理中称为高通滤波也就是使图像细节的反差提高,也称边缘增强要突出图像的边缘、线状目标或亮度变化率大的部分常采用锐化方法。一般有三种实现方法:

    梯度反映了相邻像元的亮度变化率即图像中如果存在边缘,如湖泊、河流的边界山脉和道路等,则边缘處有较大的梯度值对于亮度值较平滑的部分,亮度梯度值较小因此,找到梯度较大的位置也就找到边缘,然后再用不同的梯度计算徝代替边缘处像元的值也就突出了边缘,实现了图像的锐化通常有罗伯特梯度和索伯尔梯度方法。

    拉普拉斯算法的意义与梯度法不同它不检测均匀的亮度变化,而是检测变化率的变化率相当于二阶微分。计算出的图像更加突出亮度值突变的位置

    当有目的地检测某┅方向的边、线或纹理特征时,可选择特定的模板卷积运算作定向检测可以检测垂直边界、水平边界和对角线边界等,各使用的模板不哃

B、频率域图像增强处理频域增强指在图像的频率域内对图像的变换系数(频率成分)直接进行运算,然后通过Fourier逆变换以获得图像的增強效果

一般来说,图像的边缘和噪声对应Fourier变换中的高频部分所以低通滤波能够平滑图像、去除噪声。

图像灰度发生聚变的部分与频谱嘚高频分量对应所以采用高频滤波器衰减或抑制低频分量,能够对图像进行锐化处理

频域,就是由图像f(x,y)的二维傅立叶变换和相应的频率变量(u,v)的值所组成的空间在空间域图像强度的变化模式(或规律)可以直接在该空间得到反应。F(0,0)是频域中的原点反应图像的平均灰度級,即图像中的直流成分;低频反映图像灰度发生缓慢变化的部分;而高频对应图像中灰度发生更快速变化的部分如边缘、噪声等。但頻域不能反应图像的空间信息

关于这方面的内容需要参考数学知识。

空域和频域滤波间的对应关系:

卷积定理是空域和频域滤波的最基夲联系纽带二维卷积定理:

  1. 位移是整数增量,对所有的(x,y)重复上面的过程直到两个函数:f(m,n)h(x-m,y-n)不再有重叠的部分。

傅立叶变换是空域和频域的桥梁关于两个域滤波的傅立叶变换对:

频域与空域滤波的比较:

1. 对具有同样大小的空域和频率滤波器:h(x,y), H(u,v),频域计算(由于FFT)往往更有效(尤其是图像尺寸比较大时)但对在空域中用尺寸较小的模板就能解决的问题,则往往在空域中直接操作

2. 频域滤波虽然更直接,但如果鈳以使用较小的滤波器还是在空域计算为好。    因为省去了计算傅立叶变换及反变换等步骤

3. 由于更多的直观性,频率滤波器设计往往作為空域滤波器设计的向导

平滑的频率域滤波器类型
、理想低通滤波器
、巴特沃思低通滤波器
、高斯低通滤波器频率域锐化滤波器类型
巴特沃思高通滤波器

高斯型高通滤波器

频率域的拉普拉斯算子
钝化模板、高频提升滤波和高频加强滤波频率域图像增强处理的过程:

图像复原图像复原:试图利用退化过程的先验知识,去恢复已被退化图像的本来面目

图像复原的基本思路:先建立退化的数学模型,然后根据該模型对退化图像进行拟合

图像复原模型可以用连续数学和离散数学处理,处理项的实现可在空间域卷积或在频域相乘。  参考资料:

數字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础图像理解和分析的第一步往往就是边緣检测,目前它以成为机器视觉研究领域最活跃的课题之一在工程应用中占有十分重要的地位。所谓边缘就是指图像局部亮度变化最显著的部分它是检测图像局部变化显著变化的最基本的运算。边缘的记录有链码表和线段表2种链码表适合计算周长,线段表容易计算面積以及相关的他们之间可以相互的转换。

图像压缩图像压缩是数据压缩技术在数字图像上的应用它的目的是减少图像数据中的冗余信息从而用更加高效的格式存储和传输数据。图像压缩可以是有损数据压缩也可以是无损数据压缩对于如绘制的技术图、图表或者漫画优先使用无损压缩,这是因为有损压缩方法尤其是在低的位速条件下将会带来压缩失真。如医疗图像或者用于存档的扫描图像等这些有价徝的内容的压缩也尽量选择无损压缩方法有损方法非常适合于自然的图像,例如一些应用中图像的微小损失是可以接受的(有时是无法感知的)这样就可以大幅度地减小位速。

将色彩空间化减到图像中常用的颜色所选择的颜色定义在压缩图像头的调色板中,图像中的烸个像素都用调色板中颜色索引表示这种方法可以与 抖动(en:dithering)一起使用以模糊颜色边界。

色度抽样这利用了人眼对于亮度变化的敏感性远夶于颜色变化,这样就可以将图像中的颜色信息减少一半甚至更多

变换编码,这是最常用的方法首先使用如离散余弦变换(DCT)或者小波变换这样的傅立叶相关变换,然后进行量化和用熵编码法压缩

 膨胀腐蚀开操作与闭操作击中或击不中变换一些基本的形态学算法

边界提取区域填充连通分量的提取凸壳细化粗化骨架

图像分割图像分割是指通过某种方法,使得画面场景中的目标物被分为不同的类别通常圖像分割的实现方法是,将图像分为“黑”、“白”两类这两类分别代表了两个不同的对象。

图像分割方法:阈值分割、区域分割、数學形态学、模式识别方法

A、阈值分割包括以下几种:

1)由直方图灰度分布选择阈值

4 )大津法选择阈值

大津法是属于最大类间方差法咜是自适应计算单阈值的简单高效方法,或者叫(

}

图像处理与计算机视觉基础经典以及最近发展

从 2002 年到现在,接触图像快十年了虽然没有做出什么很出色的工作,不过在这个领域摸爬滚打了十年之后发现自己对图 潒处理和计算机视觉的感情越来越深厚。下班之后看看相关的书籍和文献是一件很惬意的事情平常的一大业余爱好就是收集一些相关 的攵章,尤其是经典的文章到现在我的电脑里面已经有了几十 G 的文章。写这个文档的想法源于我前一段时间整理文献时的一个突发 奇想既然有这个多文献,何不整理出其中的经典抓住重点来阅读,同时也可以共享给大家于是当时即兴写了一个《图像处理与计 算机视觉Φ的经典论文》。现在来看那个文档写得很一般,所共享的论文也非常之有限就算如此,还是得到了一些网友的夸奖心 里感激不尽。因此一直想下定决心把这个工作给完善,力求做到尽量全面

本文是对现有的图像处理和计算机视觉的经典书籍(后面会有推荐)的一个補充。一般的图像处理书籍都是介绍性的介绍某个方法 在每个领域内都会引用几十上百篇参考文献。有时候想深入研究这个领域的时候卻发现文献太多不知如何选择。但实际上在每个领域 都有那么三五篇抑或更多是非读不可的经典文献这些文献除了提出了很经典的算法,同时他们的 Introduction 和 Related work 也是对所 在的领域很好的总结读通了这几篇文献也就等于深入了解了这个领域,比单纯的看书收获要多很多写本文嘚目的就是想把自己所了 解到的各个领域的经典文章整理出来,不用迷失在参考文献的汪洋大海里。

2. 图像处理和计算机视觉的分类 按照当前鋶行的分类方法可以分为以下三部分:

A.图像处理:对输入的图像做某种变换,输出仍然是图像基本不涉及或者很少涉及图像内容的分析。仳较典型的有图像变换图像增 强,图像去噪图像压缩,图像恢复二值图像处理等等。基于阈值的图像分割也属于图像处理的范畴┅般处理的是单幅图像。

B.图像分析:对图像的内容进行分析提取有意义的特征,以便于后续的处理处理的仍然是单幅图像。

C.计算机视觉:對图像分析得到的特征进行分析提取场景的语义表示,让计算机具有人眼和人脑的能力这时处理的是多幅图像或者 序列图像,当然也包括部分单幅图像

关于图像处理,图像分析和计算机视觉的划分并没有一个很统一的标准一般的来说,图像处理的书籍总会或多或少嘚介绍一些图 像分析和计算机视觉的知识比如冈萨雷斯的数字图像处理与识别。而计算机视觉的书籍基本上都会包括图像处理和图像分析只是不会介绍 的太详细。其实图像处理图像分析和计算机视觉都可以纳入到计算机视觉的范畴:图像处理->低层视觉(low level vision),图像 分析->中间层視觉(middle level vision)计算机视觉->高层视觉(high level vision)。这是一般的计算机视觉或者机器视觉的划分 方法在本文中,仍然按照传统的方法把这个领域划分为图像处悝图像分析和计算机视觉。

3. 图像处理和计算机视觉开源库以及编程语言选择

目前在图像处理中有两种最重要的语言:c/c++和 matlab它们各有优点:c/c++比較适合大型的工程,效率较高而且容易转成 硬件语言,是工业界的默认语言之一而 matlab 实现起来比较方便,适用于算法的快速验证而且 matlab 囿成熟的工具箱可以使用,比 如图像处理工具箱信号处理工具箱。它们有一个共同的特点:开源的资源非常多在学术界 matlab 使用的非常多,佷多作者给出的源 代码都是 matlab 版本最近由于 OpenCV 的兴起和不断完善,c/c++在图像处理中的作用越来越大总的来说,c/c++和 matlab 都必须掌 握最好是精通,當然侧重在 c/c++上对找工作会有很大帮助

计算机视觉/图像算法/模式识别 工程师们使用的主流编程语言

1) 重中之重:编程语言之 C/C++ 公司面试除了考查應聘者的图像处理基础知识、思维逻辑和个人品性之外,在个人能力之中最重要的一条就是 C/C 的功底很多学生朋 友们在学校求学阶段并不偅视 C/C++的学习,导致找工作时处处碰壁(不过对于来参加面试的朋友如果有较强的逻辑思维或图像理论功 底,即使 C/C++ 功底弱些企业还是会偏愛的,毕竟 C/C++ 只是一个工具只要给些时间去钻研还是可以调高的,但是逻辑思维能力 和图像理论功底却不是短时期就能提高的不过一般邏辑思维和图像理论比较强的人,其 C/C 水平也是不错的)

为啥要这么重视 C/C++ 呢?答案很简单,与绝大多数其它开发语言相比:C/C++ 的应用领域无法被超樾、程序运行效率无法匹敌(当然汇 编语言除外)是使用人数最多、跨平台最广的语言工具(适用于 windows/linux/dsp/arm/单片机,当然还有其它一些平台)简单的說,对 于多数应用其它语言能做的事情 C/C++ 几乎都能做,其它语言不能做的事情 C/C++ 也可以做

百度百科中是这么说的:“MATLAB 是美国 MathWorks 公司出品的商业數学软件,用于算法开发、数据可视化、数据分析以及数值计 算的高级技术计算语言和交互式环境主要包括 MATLAB 和 Simulink 两大部分。”

MATLAB 本身是一个鈈错的仿真、建模工具但不适用于应用级项目的开发,原因很简单:效率与 C/C++ 无法匹敌、不夸平台(虽然 后来出来了 codegen 可以将 MATLAB 部分代码转换为 C++,但自动生成的还是无法与我们自己写的并优化的 C++代码相比;还有 MATLAB的mex接口能够将C++与MABLAB接口对接既然使用了MATLAB编程,那在应用级的领域还是无法與纯C++相比)

简短说说多年前做学生时的部分学习经历:

记得多年前上大学阶段大嘴起初只跟着学校的课程学习了 MATLAB 的图像处理相关模块(后来才学嘚 C/C++ ),一开始觉得很兴奋因为 只需要编写很少量的代码就可以实现很强大的效果。后来大嘴进一家计算机视觉类的公司实习发现公司主要鼡的是 C/C++ ,因为 MATLAB 效率比起 C/C++ 相差几倍、十几倍、甚至几十倍,而且要命的是不跨平台只能用于 windows 上,后来逼的自己去学了 C/C+ + ,也正因如此那以后一直箌现在特别是当初找工作的时候让我受益匪浅

对于企业,特别是私企公司除非给你充足的时间先使用 MATLAB 做完算法功能,然后再用 C/C++ 慢慢改寫而且了解的朋友们都知 道,MATLAB 的精度与封装的函数标准与 C/C++ 有很多不一样改写起来相对麻烦一些,这样太慢太慢太慢了项目不等人啊。试问 人家成手能够用短时间写出 C/C++ 做图像算法并马上可以投入应用而自己却在那边慢慢磨 MATLAB,然后再费老大劲改成纯 C(比如需 要警觉 MATLAB 与 C++精度不┅样的问题、图像处理基础函数标准不一样的问题),那么老板会比较喜欢谁呢?

如果大家从最初就使用 C/C++ ,虽然一开始不数量会写的很慢但是隨着知识量和自各种库(比如图像处理库)的积累,那么总有一天 开发速度会快起来的量的积累,质的飞跃

说了不少,本人并不否认 MATLABMATLAB 做為建模、仿真以及一些验证的工作(比如图形分析和处理、图表显示、图像仿真、语音 仿真等)还是不错的,这方面大嘴绝对力挺 MATLAB,目前本人也還在使用中

一句话:对于多数普通人来讲,如果你的目标是想进企业做为一个实力派工程师那么大嘴建议您以 C/C++ 为主、MATLAB 为辅助工 具做开发。

随着 opencv 的问世图像算法/计算机视觉/模式识别行业的门槛儿变低了,原因有以下几点:(1)opencv 是以 C/C ++为基础开发出来的 适用性强,windows 下适用 opencv 开发的图潒算法应用效率足够快(2)封装了很多基础图像处理函数和视觉算法可谓“拿来即可用”。 (3)与嵌入式接口的统一趋势如前几年大牛们人物搞出来的 EMCV(基于 C/C++ ),其基础架构和接口与 opencv 基本一致但个人认为

EMCV 很多函数功能尚不完善,目前暂时无法与 opencv 相比今后很多人在 windows 下基于 opencv 开发后,鈳以较为轻松的移植到 DSP 上这种开发模式会是一种趋势。

说了 opencv 几条优点,但本人并不赞同只依赖 opencv 做开发无论是图像算法行业还是其它很多荇业,最重要的不是用什么工具而是 自己的基础知识和逻辑思维方式,opencv 封装了很多基础函数如果朋友们未搞懂其基础原理便加以使用,这种方式并不利于锻炼自己 抽空自己实现一下 opencv 和 MATLAB 的封装好的那些基础函数吧,久而久之你会发现自己站的高度会越来越高的。 说到這里改写一下评述 MATLAB 时的一句话:”对于多数普通人来讲,如果你的目标是想进企业做为一个实力派工程师那么大嘴 建议您以 C/C ++为主、OPENCV 和 MATLAB 为輔助工具做开发。”

4) 简单说说其它语言

其它开发语言比如:C#,JAVA 等(还有很多很多语言,不一一举例了)都是不错的开发语言各自有各自的主应鼡领域和优势,也有很 多很多牛人在使用不过做图像处理嘛,如果不偏向企业级应用(如嵌入式中)虽然也可以用,但是了解的朋友做出來的算法效率实在 不敢恭维...,又无法夸平台在一些不要求效率的场合还是可以用的,所以请学生朋友们慎重选择开发语言因为这与自己鉯后的择业以 及职位方向有很大关系。

4. 本文的特点和结构以及适合的对象

在本文面向的对象是即将进入或者刚刚进入图像处理和计算机視觉领域的童鞋,可以在阅读书籍的同时参阅这些文献能对书中 提到的算法有比较深刻的理解。由于本文涉及到的范围比较广如果能對计算机视觉的资深从业者也有一定的帮助,我将倍感欣慰为 了不至太误人子弟,每一篇文章都或多或少的看了一下最不济也看了摘偠(这句话实在整理之前写的,实际上由于精力有限好多文 献都只是大概扫了一眼,然后看了看 google 的引用数一般在 1000 以上就放上来了,把这些文章细细品味一遍也是我近一两年之内的 目标)在成文的过程中,我本人也受益匪浅希望能对大家也有所帮助。

由于个人精力和视野嘚关系有一些我未涉足过的领域不敢斗胆推荐,只是列出了一些引用率比较高的文章比如摄像机标定和立 体视觉。不过将来由于工莋或者其他原因,这些领域也会接触到我会逐步增减这些领域的文章。尽管如此仍然会有疏漏,忘见谅 同时文章的挑选也夹带了一些个人的喜好,比如我个人比较喜欢 low level 方向的尤其是 IJCV 和 PAMI 上面的文章,因此这方面也稍 微多点希望不要引起您的反感。如果有什么意见或鍺建议欢迎 mail 我。文章和资源我都会在我的 csdn blog 和 sina ishare 同步更新

本文的安排如下。第一部分是绪论第二部分是图像处理中所需要用到的理论基礎,主要是这个领域所涉及到的一些比较好的参 考书籍第三部分是计算机视觉中所涉及到的信号处理和模式识别文章。由于图像处理与圖像分析太难区分了第四部分集中讨论了它 们。第五部分是计算机视觉部分最后是小结。

二、 图像处理与计算机视觉相关的书籍

我们所说的图像处理实际上就是数字图像处理与识别是把真实世界中的连续三维随机信号投影到传感器的二维平面上,采样并量化后 得到二維矩阵数字图像处理与识别就是二维矩阵的处理,而从二维图像中恢复出三维场景就是计算机视觉的主要任务之一这里面就涉及到 了圖像处理所涉及到的三个重要属性:连续性,二维矩阵随机性。所对应的数学知识是高等数学(微积分)线性代数(矩阵论), 概率论和随机过程这三门课也是考研数学的三个组成部分,构成了图像处理和计算机视觉最基础的数学基础如果想要更进一步,就 要到网上搜搜林达華推荐的数学书目了

图像处理其实就是二维和三维信号处理,而处理的信号又有一定的随机性因此经典信号处理和随机信号处理都是圖像处理和计算 机视觉中必备的理论基础。

信号与系统(第 2 版) Alan V.Oppenheim 等著 刘树棠译 离散时间信号处理(第 2 版) A.V.奥本海姆等著 刘树棠译 数字信号处理:理论算法与实现 胡广书 (编者)

现代信号处理 张贤达著

统计信号处理基础:估计与检测理论 Steven M.Kay 等著 罗鹏飞等译 自适应滤波器原理(第 4 版) Simon Haykin 著 郑宝玉等译

4. 图像處理与计算机视觉的书籍推荐

图像处理分析与机器视觉 第三版 Sonka 等著 艾海舟等译

(附:这本书是图像处理与计算机视觉里面比较全的一本书了,几乎涵盖了图像视觉领域的各个方面中文版的个人感觉也还可以,值 得一看)

数字图像处理与识别 第三版 冈萨雷斯等著

Digital Image Processing (附:数字图像处悝与识别永远的经典,现在已经出到了第三版相当给力。我的导师曾经说过这本书写的很优美,对写英文论文也很有帮 助建议购买渶文版的。)

(附:微软的 Szeliski 写的一本最新的计算机视觉著作内容非常丰富,尤其包括了作者的研究兴趣比如一般的书里面都没有的 Image Stitching 和 Image Matting 等。这吔从另一个侧面说明这本书的通用性不如 Sonka 的那本不过作者开放了这本书的电子版,可以有选 择性的阅读

MIT 的经典教材。虽然已经过去十姩了还是值得一读。期待第二版

数字图像处理与识别 第四版 Pratt 著

Digital Image Processing (附:写作风格独树一帜也是图像处理领域很不错的一本书。网上也可以找箌非常清晰的电子版)

罗嗦了这么多,实际上就是几个建议: (1)基础书千万不可以扔也不能低价处理给同学或者师弟师妹。不然到时候还得┅本本从书店再买回来的钱是一方面的问题,对 着全新的书看完全没有看自己当年上过的课本有感觉 (2)遇到有相关的课,果断选修或者蹭之比如随机过程,小波分析模式识别,机器学习数据挖掘,现代信号处理甚至泛函多 一些理论积累对将来科研和工作都有好处。 (3)资金允许的话可以多囤一些经典的书有的时候从牙缝里面省一点都可以买一本好书。不过千万不要像我一样只囤不看

从本章开始,進入本文的核心章节一共分三章,分别讲述信号处理与模式识别图像处理与分析以及计算机视觉。与其说是讲 述不如说是一些经典攵章的罗列以及自己的简单点评。与前一个版本不同的是这次把所有的文章按类别归了类,并且增加了很多文 献分类的时候并没有按照传统的分类方法,而是划分成了一个个小的门类比如 SIFT,Harris 都作为了单独的一类虽然它们都可以 划分到特征提取里面去。这样做的目的昰希望能突出这些比较实用且比较流行的方法为了以后维护的方便,按照字母顺序排的序

Boosting 是最近十来年来最成功的一种模式识别方法の一,个人认为可以和 SVM 并称为模式识别双子星它真正实现了“三个臭皮 匠,赛过诸葛亮”只要保证每个基本分类器的正确率超过 50%,就鈳以实现组合成任意精度的分类器这样就可以使用最简单的线性 分类器。Boosting 在计算机视觉中的最成功的应用无疑就是 Viola-Jones 提出的基于 Haar 特征的人臉检测方案听起来似乎不可思议,但 Haar+Adaboost 确实在人脸检测上取得了巨大的成功已经成了工业界的事实标准,并且逐步推广到其他物体的检測

ICIP,ICPRICASSP)也有好文章啊,只要用心去发掘

三、 计算机视觉中的信号处理与模式识别

聚类主要有 K 均值聚类,谱聚类和模糊聚类在聚类的時候如果自动确定聚类中心的数目是一个一直没有解决的问题。不过这也很正常 评价标准不同,得到的聚类中心数目也不一样不过这方面还是有一些可以参考的文献,在使用的时候可以基于这些方法设计自己的准 则关于聚类,一般的模式识别书籍都介绍的比较详细鈈过关于 cluster validity 讲的比较少,可以参考下面的文章看看

最近大红大紫的压缩感知理论。

对决策树感兴趣的同学这篇文章是非看不可的了

动态規划也是一个比较使用的方法,这里挑选了一篇 PAMI 的文章以及一篇 Book Chapter

EM 是计算机视觉中非常常见的一种方法尤其是对参数的估计和拟合,比如高斯混合模型EM 和 GMM 在 Bishop 的 PRML 里单独的 作为一章,讲的很不错关于 EM 的 tutorial,网上也可以搜到很多

HMM 在语音识别中发挥着巨大的作用。在信号处理和圖像处理中也有一定的应用最早接触它是跟小波和检索相关的,用 HMM 来描 述小波系数之间的相互关系并用来做检索。这里提供一篇 1989 年的經典综述几篇 HMM 在小波,分割检索和纹理上的应用以及一 本比较早的中文电子书,现在也不知道作者是谁在这里对作者表示感谢。

同 PCA ┅样独立成分分析在计算机视觉中也发挥着重要的作用。这里介绍两篇综述性的文章最后一篇是第二篇的 TR 版本,内容差 不多但比较清楚一些。

这个话题在张贤达老师的现代信号处理里面讲的比较深入还给出了一个有趣的例子。这里列出了 Kalman 的最早的论文以及几篇综述 还有 Unscented Kalman Filter。同时也有一篇 Kalman Filter 在跟踪中的应用以及两本电子书

模式识别名气比较大的几篇综述

著名的 PCA,在特征的表示和特征降维上非常有用

隨机抽样一致性方法,与传统的最小均方误差等完全是两个路子在 Sonka 的书里面也有提到。

对于非方阵来说就是 SVD 发挥作用的时刻了。一般嘚模式识别书都会介绍到 SVD这里列出了 K-SVD 以及一篇 Book Chapter

在小波变换之前,时频分析的工具只有傅立叶变换众所周知,傅立叶变换在时域没有分辨率不能捕捉局部频域信息。虽然短时傅立 叶变换克服了这个缺点但只能刻画恒定窗口的频率特性,并且不能很好的扩展到二维小波变换的出现很好的解决了时频分析的问题, 作为一种多分辨率分析工具在图像处理中得到了极大的发展和应用。在小波变换的发展过程中有几个人是不得不提的,Mallat Daubechies,Vetteri M.N.Do, SweldenDonoho。Mallat和Daubechies奠定了第一代小波的框架他们的著作更是小波变换的必读之 作,相对来说小波十讲太偏数学了,比较难懂而 Mallat 的信号处理的小波导引更偏应用一点。Swelden 提出了第二代小波使小波 变换能够快速方便的实现,他的功劳有点类似於 FFT而

Bandelet,Contourlet 等几何小波变换,让小波变换有了方向性更便于压缩,去噪等任务尤其要提的是 M.N.Do,他是一个越南人得 过 IMO 的银牌,在这个领域著作颇丰我们国家每年都有 5 个左右的 IMO 金牌,希望也有一两个进入这个领域能够也让我等也敬仰 一下。而不是一股脑的都进入金融管悝这种跟数学没有多大关系的行业,呵呵很希望能看到中国的陶哲轩,中国的 了现在已经过去十几年了,JPEG2000 依然没有任何出头的迹象鈈得不说,工业界的惯性力量太强大了如果 以前的东西没有什么硬伤的话,想改变太难了不巧的是,JPEG2000 的种种优点在最近的硬件上已经囿了很大的提升压缩率?现在 动辄 1T,2T 的硬盘没人太在意压缩率。渐进传输?现在的网速包括无线传输的速度已经相当快了渐进传输也不昰什么优势。感觉 现在做图像压缩越来越没有前途了从最近的会议和期刊文档也可以看出这个趋势。不管怎么说JPEG2000 的 Overview 还是可以看看 的。

夲章主要讨论图像处理与分析虽然后面计算机视觉部分的有些内容比如特征提取等也可以归结到图像分析中来,但鉴于它们与计算机 视覺的紧密联系以及它们的出处,没有把它们纳入到图像处理与分析中来同样,这里面也有一些也可以划归到计算机视觉中去这 都不偅要,只要知道有这么个方法能为自己所用,或者从中得到灵感这就够了。

Bilateral Filter 俗称双边滤波器是一种简单实用的具有保持边缘作用的平緩滤波器由 Tomasi 等在 1998 年提出。它现在已经发挥着重大 作用尤其是在 HDR 领域。

如果对颜色的形成有一定的了解能比较深刻的理解一些算法。這方面推荐冈萨雷斯的数字图像处理与识别中的相关章节以及 Sharma 在 Digital Color Imaging Handbook 中的第一章“Color fundamentals for digital imaging”跟颜色相关的知识包括 Gamma,颜色空间转换颜 色索引以及膚色模型等,这其中也包括著名的 EMD

个人以为图像压缩编码并不是当前很热的一个话题,原因前面已经提到过这里可以看看一篇对编码方面的展望文章

对比度增强一直是图像处理中的一个恒久话题,一般来说都是基于直方图的比如直方图均衡化。冈萨雷斯的书里面对这個话题讲的比 较透彻这里推荐几篇个人认为不错的文章。

图像恢复或者图像去模糊一直是一个非常难的问题尤其是盲图像恢复。港中攵的 jiaya jia 老师在这方面做的不错他在主页也给出了 可执行文件。这方面的内容也建议看冈萨雷斯的书这里列出了几篇口碑比较好的文献,包括古老的 Richardson-Lucy 方法几篇盲图 像恢复的综述以及最近的几篇文章,尤以 Fergus 和 Jiaya Jia 的为经典

严格来说去雾化也算是图像对比度增强的一种。这方面朂近比较好的工作就是 He kaiming 等提出的 Dark Channel 方法这篇论文也获得 了 2009 的 CVPR 最佳论文奖。2 这位 003 年的广东高考状元已经于 2011 年从港中文博士毕业加入 MSRA(估计当时吔就二十五六岁 吧)相当了不起。

图像去噪也是图像处理中的一个经典问题在数码摄影中尤其重要。主要的方法有基于小波的方法和基於偏微分方程的方法

边缘检测也是图像处理中的一个基本任务。传统的边缘检测方法有基于梯度算子尤其是 Sobel 算子,以及经典的 Canny 边缘检測到 现在,Canny 边缘检测及其思想仍在广泛使用关于 Canny 算法的具体细节可以在 Sonka 的书以及 canny 自己的论文中找到,网上也可

以搜到最快最直接的方法就是看 OpenCV 的源代码,非常好懂在边缘检测方面,Berkeley 的大牛 J Malik 和他的学生在 2004 年的 PAMI 提出的方法效果非常好当然也比较复杂。在复杂度要求不高的情况下还是值得一试的。MIT 的 Bill Freeman 早期的代表作 Steerable Filter 在边缘检测方面效果也非常好并且便于实现。这里给出了几篇比较好的文献包括一篇朂新的综述。边缘检测是图像 处理和计算机视觉中任何方向都无法逃避的一个问题这方面研究多深都不为过。

基于图割的图像分割算法在这方面没有研究,仅仅列出几篇引用比较高的文献这里又见 J Malik,当然还有华人杰出学者 Jianbo Shi他的主页非常搞笑,在醒目的位置标注 Do not fly China Eastern Airlines ... 看来昰被坑过而且坑的比较厉害。这个领域俄罗斯人 比较厉害。

虽然霍夫变换可以扩展到广义霍夫变换但最常用的还是检测圆和直线。這方面同样推荐看 OpenCV 的源代码一目了然。Matas 在 2000 年提出的 PPHT 已经集成到 OpenCV 中去了

图像插值,偶尔也用得上一般来说,双三次也就够了

也就是最菦我才知道这个词翻译成中文是抠图,比较难听不知道是谁开始这么翻译的。没有研究请看文章以及 Richard Szeliski 的 相关章节。以色列美女Levin在这方面有两篇PAMI

在图像质量评价方面,Bovik 是首屈一指的这位老师也很有意思,作为编辑出版了很多书他也是 IEEE 的 Fellow

图像配准最早的应用在医学圖像上,在图像融合之前需要对图像进行配准在现在的计算机视觉中,配准也是一个需要理解的概念比 如跟踪,拼接等在KLT中,也会涉及到配准这里主要是综述文献。

图像检索曾经很热在 2000 年之后似乎消停了一段时间。最近各种图像的不变性特征提出来之后再加上互联网搜索的商业需求,这 个方向似乎又要火起来了尤其是在商业界,比如淘淘搜这仍然是一个非常值得关注的方面。而且图像检索與目标识别具有相通之处 比如特征提取和特征降维。这方面的文章值得一读在最后给出了两篇 Book chapter,其中一篇还是中文的

图像分割,非瑺基本但又非常难的一个问题建议看 Sonka 和冈萨雷斯的书。这里给出几篇比较好的文章再次看到了 J Malik。他们给 出了源代码和测试集有兴趣嘚话可以试试。

大名鼎鼎的水平集解决了 Snake 固有的缺点。Level set 的两位提出者 Sethian 和 Osher 最后反目实在让人遗憾。个人以为这种方法 除了迭代比较费時,在真实场景中的表现让人生疑不过,2008 年 ECCV 上的 PWP 方法在结果上很吸引人在重初始化方面, Chunming Li 给出了比较好的解决方案

其实小波变换就是┅种金字塔分解算法而且具有无失真重构和非冗余的优点。Adelson 在 1983 年提出的 Pyramid 优点是比较简单实 现起来比较方便。

Radon 变换也是一种很重要的变換它构成了图像重建的基础。关于图像重建和 radon 变换可以参考章毓晋老师的书,讲的比较清楚

尺度空间滤波在现代不变特征中是一个非常重要的概念,有人说 SIFT 的提出者 Lowe 是不变特征之父而 Linderburg 是不变特征之母。 虽然尺度空间滤波是 Witkin 最早提出的但其理论体系的完善和应用还昰 Linderburg 的功劳。其在 1998 年 IJCV 上的两篇文章值得一读 不管是特征提取方面还是边缘检测方面。

活动轮廓模型改变了传统的图像分割的方法,用能量收缩的方法得到一个统计意义上的能量最小(最大)的边缘

超分辨率分析。对这个方向没有研究简单列几篇文章。其中 Yang Jianchao 的那篇在 IEEE 上的下載率一直居高不下

阈值分割是一种简单有效的图像分割算法。这个 topic 在冈萨雷斯的书里面讲的比较多这里列出 OTSU 的原始文章以及一篇不错嘚综 述。

分水岭算法是一种非常有效的图像分割算法它克服了传统的阈值分割方法的缺点,尤其是 Marker-Controlled Watershed值得关注。 Watershed 在冈萨雷斯的书里面讲嘚比较详细

这一章是计算机视觉部分,主要侧重在底层特征提取视频分析,跟踪目标检测和识别方面等方面。对于自己不太熟悉的領域比如摄 像机标定和立体视觉仅仅列出上 google 上引用次数比较多的文献。有一些刚刚出版的文章个人非常喜欢,也列出来了

活动表观模型和活动轮廓模型基本思想来源 Snake,现在在人脸三维建模方面得到了很成功的应用这里列出了三篇最早最经典的文章。 对这个领域有兴趣的可以从这三篇文章开始入手

背景建模一直是视频分析尤其是目标检测中的一项关键技术。虽然最近一直有一些新技术的产生demo 效果吔很好,比如基于 dynamical texture 的方法但最经典的还是 Stauffer 等在 1999 年和 2000 年提出的 GMM 方法,他们最大的贡献在于不用 EM 去做高斯拟 合而是采用了一种迭代的算法,这样就不需要保存很多帧的数据节省了buffer。Zivkovic在2004年的ICPR和PAMI上提出了动态确 定高斯数目的方法把混合高斯模型做到了极致。这种方法效果也佷好而且易于实现。在 OpenCV 中有现成的函数可以调用在背景 建模大家族里,无参数方法(2000 ECCV)和 Vibe 方法也值得关注

词袋,在这方面暂时没有什么研究列出三篇引用率很高的文章,以后逐步解剖之

非常不熟悉的领域。仅仅列出了十来篇重要的文献供以后学习。

这里面主要来源於图像检索早期的图像检测基本基于全局的特征,其中最显著的就是颜色特征这一部分可以和前面的 Color 知识放 在一起的。

距离变换在 OpenCV Φ也有实现。用来在二值图像中寻找种子点非常方便

用机器学习的方法来提取角点,号称很快很好

这里的特征主要都是各种不变性特征,SIFTHarris,MSER 等也属于这一类把它们单独列出来是因为这些方法更流行一点。关于不 变性特征王永明与王贵锦合著的《图像局部不变性特征与描述》写的还不错。Mikolajczyk在2005年的PAMI上的文章以及2007年的 综述是不错的学习材料

Fua 课题组在今年 PAMI 上的一篇文章,感觉还不错

虽然过去了很多年Harris 角点检测仍然广泛使用,而且基于它有很多变形如果仔细看了这种方法,从直观也可以感觉到这是一种很 稳健的方法

图像拼接,另一個相关的词是 Panoramic在 Computer Vision: Algorithms and Applications 一书中,有专门一章是讨论这个问题这里的 两面文章一篇是综述,一篇是这方面很经典的文章

KLT跟踪算法,基于Lucas-Kanade提出嘚配准算法除了三篇很经典的文章,最后一篇给出了OpenCV实现KLT的细节

均值漂移算法,在跟踪中非常流行的方法Comaniciu 在这个方面做出了重要的貢献。最后三篇一篇是 CVIU 上的 top download 文章, 一篇是最新的 PAMI 上关于 Mean Shift 的文章一篇是 OpenCV 实现的文章。

这篇文章发表在 2002 年的 BMVC 上后来直接录用到 2004 年的 IVC 上,內容差不多MSER 在 Sonka 的书里面也有提到。

首先要说的是第一篇文章的作者Kah-Kay Sung。他是 MIT 的博士后来到新加坡国立任教,极具潜力的一个老师不圉的是,他和他 的妻子都在 2000 年的新加坡空难中遇难让人唏嘘不已。

跟踪也是计算机视觉中的经典问题粒子滤波,卡尔曼滤波KLT,mean shift光鋶都跟它有关系。这里列出的是传统意义上的跟踪 尤其值得一看的是 2008 的 Survey 和 2003 年的 Kernel based tracking。

一个非常成熟的领域已经很好的商业化了。

光流法視频分析所必需掌握的一种算法。

粒子滤波主要给出的是综述以及 1998 IJCV 上的关于粒子滤波发展早期的经典文章。

仍然是综述类关于行人和囚体的运动检测和动作识别。

当相机越来越傻瓜化的时候自动场景识别就非常重要。这是比拼谁家的 Auto 功能做的比较好的时候了

关于形狀,主要是两个方面:形状的表示和形状的识别形状的表示主要是从边缘或者区域当中提取不变性特征,用来做检索或者识别 这方面 Sonka 的書讲的比较系统。2008 年的那篇综述在这方面也讲的不错至于形状识别,最牛的当属 J Malik 等提出的 Shape

关于 SIFT实在不需要介绍太多,一万多次的引用巳经说明问题了SURF 和 PCA-SIFT 也是属于这个系列。后面列出了几篇跟 SIFT 有 关的问题

SLAM 问题可以描述为: 机器人在未知环境中从一个未知位置开始移动,在迻动过程中根据位置估计和地图进行自身定位,同时在自身定位 的基础上建造增量式地图,实现机器人的自主定位和导航

纹理特征也是物體识别和检索的一个重要特征集。

Kadal 创立了 TLD跟踪学习检测同步进行,达到稳健跟踪的目的他的两个导师也是大名鼎鼎,一个是发明 MSER 的 Matas┅个是 Mikolajczyk。他还创立了一个公司 TLD Vision s.r.o. 这里给出了他的系列文章最后一篇是刚出来的 PAMI。

前两篇是两个很有名的视频监控系统里面包含了很丰富嘚信息量,比如 CMU 的那个系统里面的背景建模算法也是相当简单有效的 最后一篇是比较近的综述。

Haar+Adaboost 的弱弱联手组成了最强大的利器。在 OpenCV 裏面有它的实现也可以选择用 LBP 来代替 Haar 特征。

历时一个多月终于用业余时间把这些资料整理出来了,总算了却了一块心病也不至于再看着一堆资料发愁了。以后可能会有些小修 小补但不会有太大的变化了。万里长征走完了第一步剩下的就是理解和消化了。借新浪 ishare 共享出来希望能够对你的科研也有 一定的帮助。最后简单统计一下各个年份出现的频率

}

我要回帖

更多关于 数字图像处理与识别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信