1. 程式人生 > >影象處理與計算機視覺概述

影象處理與計算機視覺概述

               

************************************************************************************************************************************************************************************ 

         在這裡,我特別宣告:本文章的源作者是   楊曉冬  (個人郵箱:[email protected])。原文的連結是
http://www.iask.sina.com.cn/u/2252291285/ish。版權歸 楊曉冬 朋友所有。

         我非常感謝原作者辛勤地編寫本文章,並願意共享出來。我也希望轉載本文的各位朋友,要註明原作者和出處,以尊重原作者!                 

                                                                                                                                                                             -----------------------------飛信天下

***********************************************************************************************************************************************************************************

                       影象處理與計算機視覺基礎,經典以及最近發展

                                                                                                                             By xdyang(楊曉冬[email protected]

一、 緒論

1. 為什麼要寫這篇文章

       從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++上對找工作會有很大幫助。
至於開源庫,個人非常推薦OpenCV,主要有以下原因:
(1)簡單易入手。OpenCV進入OpenCV2.x的時代後,使用起來越來越簡單,介面越來越傻瓜化,越來越matlab化。只要會imread,imwrite,imshow和了解Mat的基本操作就可以開 始入手了。


(2)OpenCV有一堆影象處理和計算機視覺的大牛在維護,bug在逐步減少,每個新的版本都會帶來不同的驚喜。而且它已經或者逐步在移植到不懂的平臺,並提供了對Python的很好的支援。


(3)在OpenCV上可以嘗試各種最新以及成熟的技術,而不需要自己從頭去寫,比如人臉檢測(Harr,LBP),DPM(Latent SVM),高斯背景模型,特徵檢測,聚類,hough變換等等 。而且它還支援各種機器學習方法(SVM,NN,KNN,決策樹,Boosting等),使用起來很簡單。


(4)文件內容豐富,並且給出了很多示例程式。當然也有一些地方文件描述不清楚,不過看看程式碼就很清楚了。


(5)完全開源。可以從中間提取出任何需要的演算法。


(6)從學校出來後,除極少數會繼續在學術圈裡,大部分還是要進入工業界。現在在工 業界,c/c++仍是主流,很多公司都會優先考慮熟悉或者精通OpenCV的。事實上,在學術界,現在OpenCV也大有取代matlab之勢。以前的demo或者source code,很多作者都願意給出matlab版本的,然後別人再呼哧呼哧改成c版本的。現在作者乾脆給出c/c++版本,或者自己整合到OpenCV中去,這樣能快速提升自己的影響力。
       如果想在影象處理和計算機視覺界有比較深入的研究,並且以後打算進入這個領域工作的話,建議把OpenCV作為自己的主攻方向。如果找工作的時候敢號稱自己精通OpenCV的話,肯定可以找到一份滿意的工作。

4. 本文的特點和結構,以及適合的物件

在本文面向的物件是即將進入或者剛剛進入影象處理和計算機視覺領域的童鞋,可以在閱讀書籍的同時參閱這些文獻,能對書中提到的演算法有比較深刻的理解。由於本文涉及到的範圍比較廣,如果能對計算機視覺的資深從業者也有一定的幫助,我將倍感欣慰。為了不至太誤人子弟,每一篇文章都或多或少的看了一下,最不濟也看了摘要(這句話實在整理之前寫的,實際上由於精力有限,好多文獻都只是大概掃了一眼,然後看了看google的引用數,一般在1000以上就放上來了,把這些文章細細品味一遍也是我近一兩年之內的目標)。在成文的過程中,我本人也受益匪淺,希望能對大家也有所幫助。

由於個人精力和視野的關係,有一些我未涉足過的領域不敢斗膽推薦,只是列出了一些引用率比較高的文章,比如攝像機標定和立體視覺。不過將來,由於工作或者其他原因,這些領域也會接觸到,我會逐步增減這些領域的文章。儘管如此,仍然會有疏漏,忘見諒。同時文章的挑選也夾帶了一些個人的喜好,比如我個人比較喜歡low level方向的,尤其是IJCV和PAMI上面的文章,因此這方面也稍微多點,希望不要引起您的反感。如果有什麼意見或者建議,歡迎mail我。文章和資源我都會在我的csdn blog和sina ishare同步更新。此申明:這些論文的版權歸作者及其出版商所有,請勿用於商業目的。

      本文的安排如下。第一部分是緒論。第二部分是影象處理中所需要用到的理論基礎,主要是這個領域所涉及到的一些比較好的參考書籍。第三部分是計算機視覺中所涉及到的訊號處理和模式識別文章。由於影象處理與影象分析太難區分了,第四部分集中討論了它們。第五部分是計算機視覺部分。最後是小結。

二、 影象處理與計算機視覺相關的書籍

1. 數學

      我們所說的影象處理實際上就是數字影象處理,是把真實世界中的連續三維隨機訊號投影到感測器的二維平面上,取樣並量化後得到二維矩陣。數字影象處理就是二維矩陣的處理,而從二維影象中恢復出三維場景就是計算機視覺的主要任務之一。這裡面就涉及到了影象處理所涉及到的三個重要屬性:連續性,二維矩陣,隨機性。所對應的數學知識是高等數學(微積分),線性代數(矩陣論),概率論和隨機過程。這三門課也是考研數學的三個組成部分,構成了影象處理和計算機視覺最基礎的數學基礎。如果想要更進一步,就要到網上搜搜林達華推薦的數學書目了。

2. 訊號處理

    影象處理其實就是二維和三維訊號處理,而處理的訊號又有一定的隨機性,因此經典訊號處理和隨機訊號處理都是影象處理和計算機視覺中必備的理論基礎。

2.1經典訊號處理

訊號與系統(第2版) Alan V.Oppenheim等著 劉樹棠譯

離散時間訊號處理(第2版) A.V.奧本海姆等著 劉樹棠譯

數字訊號處理:理論演算法與實現 胡廣書 (編者)

2.2隨機訊號處理

現代訊號處理 張賢達著

統計訊號處理基礎:估計與檢測理論 Steven M.Kay等著 羅鵬飛等譯

自適應濾波器原理(第4版) Simon Haykin著 鄭寶玉等譯

2.3 小波變換

訊號處理的小波導引:稀疏方法(原書第3版) tephane Malla著, 戴道清等譯

2.4 資訊理論

資訊理論基礎(原書第2版) Thomas M.Cover等著 阮吉壽等譯

3. 模式識別

Pattern Recognition and Machine Learning Bishop, Christopher M. Springer

模式識別(英文版)(第4版) 西奧多裡德斯著

Pattern Classification (2nd Edition) Richard O. Duda等著

Statistical Pattern Recognition, 3rd Edition Andrew R. Webb等著

模式識別(第3版) 張學工著

4. 影象處理與計算機視覺的書籍推薦

影象處理,分析與機器視覺 第三版 Sonka等著 艾海舟等譯

Image Processing, Analysis and Machine Vision

                ( 附:這本書是影象處理與計算機視覺裡面比較全的一本書了,幾乎涵蓋了影象視覺領域的各個方面。中文版的個人感覺也還可以,值得一看。)

數字影象處理 第三版 岡薩雷斯等著

Digital Image Processing

(附:數字影象處理永遠的經典,現在已經出到了第三版,相當給力。我的導師曾經說過,這本書寫的很優美,對寫英文論文也很有幫助,建議購買英文版的。)

計算機視覺:理論與演算法 Richard Szeliski著

Computer Vision: Theory and Algorithm

                (附:微軟的Szeliski寫的一本最新的計算機視覺著作。內容非常豐富,尤其包括了作者的研究興趣,比如一般的書裡面都沒有的Image Stitching和                       Image Matting等。這也從另一個側面說明這本書的通用性不如Sonka的那本。不過作者開放了這本書的電子版,可以有選擇性的閱讀。
                  http://szeliski.org/Book/
                  Multiple View Geometry in Computer Vision 第二版Harley等著
                 引用達一萬多次的經典書籍了。第二版到處都有電子版的。第一版曾出過中文版的,後來絕版了。網上也可以找到中英文版的電子版。)

計算機視覺:一種現代方法 DA Forsyth等著

Computer Vision: A Modern Approach

MIT的經典教材。雖然已經過去十年了,還是值得一讀。期待第二版

Machine vision: theory, algorithms, practicalities 第三版 Davies著

(附:為數不多的英國人寫的書,偏向於工業應用。)

數字影象處理 第四版 Pratt著

Digital Image Processing

(附:寫作風格獨樹一幟,也是影象處理領域很不錯的一本書。網上也可以找到非常清晰的電子版。)

5. 小結

羅嗦了這麼多,實際上就是幾個建議:
(1)基礎書千萬不可以扔,也不能低價處理給同學或者師弟師妹。不然到時候還得一本本從書店再買回來的。錢是一方面的問題,對著全新的書看完全沒有看自己當年上過的課本有感覺。
(2)遇到有相關的課,果斷選修或者蹭之,比如隨機過程,小波分析,模式識別,機器學習,資料探勘,現代訊號處理甚至泛函。多一些理論積累對將來科研和工作都有好處。
(3)資金允許的話可以多囤一些經典的書,有的時候從牙縫裡面省一點都可以買一本好書。不過千萬不要像我一樣只囤不看

三、 計算機視覺中的訊號處理與模式識別

      從本章開始,進入本文的核心章節。一共分三章,分別講述訊號處理與模式識別,影象處理與分析以及計算機視覺。與其說是講述,不如說是一些經典文章的羅列以及自己的簡單點評。與前一個版本不同的是,這次把所有的文章按類別歸了類,並且增加了很多文獻。分類的時候並沒有按照傳統的分類方法,而是劃分成了一個個小的門類,比如SIFT,Harris都作為了單獨的一類,雖然它們都可以劃分到特徵提取裡面去。這樣做的目的是希望能突出這些比較實用且比較流行的方法。為了以後維護的方便,按照字母順序排的序。

1. Boosting

   Boosting是最近十來年來最成功的一種模式識別方法之一,個人認為可以和SVM並稱為模式識別雙子星。它真正實現了“三個臭皮匠,賽過諸葛亮”。只要保證每個基本分類器的正確率超過50%,就可以實現組合成任意精度的分類器。這樣就可以使用最簡單的線性分類器。Boosting在計算機視覺中的最成功的應用無疑就是Viola-Jones提出的基於Haar特徵的人臉檢測方案。聽起來似乎不可思議,但Haar+Adaboost確實在人臉檢測上取得了巨大的成功,已經成了工業界的事實標準,並且逐步推廣到其他物體的檢測。
Rainer Lienhart在2002 ICIP發表的這篇文章是Haar+Adaboost的最好的擴充套件,他把原始的兩個方向的Haar特徵擴充套件到了四個方向,他本人是OpenCV積極的參與者。現在OpenCV的庫裡面實現的Cascade Classification就包含了他的方法。這也說明了盛會(如ICIP,ICPR,ICASSP)也有好文章啊,只要用心去發掘。

[1997] A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting

[1998] Boosting the margin A new explanation for the effectiveness of voting methods

[2002 ICIP TR] Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection

[2003] The Boosting Approach to Machine Learning An Overview

[2004 IJCV] Robust Real-time Face Detection

2. Clustering

聚類主要有K均值聚類,譜聚類和模糊聚類。在聚類的時候如果自動確定聚類中心的數目是一個一直沒有解決的問題。不過這也很正常,評價標準不同,得到的聚類中心數目也不一樣。不過這方面還是有一些可以參考的文獻,在使用的時候可以基於這些方法設計自己的準則。關於聚類,一般的模式識別書籍都介紹的比較詳細,不過關於cluster validity講的比較少,可以參考下面的文章看看。

[1989 PAMI] Unsupervised Optimal Fuzzy Clustering

[1991 PAMI] A validity measure for fuzzy clustering

[1995 PAMI] On cluster validity for the fuzzy c-means model

[1998] Some New Indexes of Cluster Validity

[1999 ACM] Data Clustering A Review

[1999 JIIS] On Clustering Validation Techniques

[2001] Estimating the number of clusters in a dataset via the Gap statistic

[2001 NIPS] On Spectral Clustering

[2002] A stability based method for discovering structure in clustered data

[2007] A tutorial on spectral clustering

3. Compressive Sensing

最近大紅大紫的壓縮感知理論。

[2006 TIT] Compressed Sensing

[2008 SPM] An Introduction to Compressive Sampling

[2011 TSP] Structured Compressed Sensing From Theory to Applications

4. Decision Trees

對決策樹感興趣的同學這篇文章是非看不可的了。

[1986] Introduction to Decision Trees

5. Dynamical Programming

動態規劃也是一個比較使用的方法,這裡挑選了一篇PAMI的文章以及一篇Book Chapter

[1990 PAMI] using dynamic programming for solving variational problems in vision

[Book Chapter] Dynamic Programming

6. Expectation Maximization

EM是計算機視覺中非常常見的一種方法,尤其是對引數的估計和擬合,比如高斯混合模型。EM和GMM在Bishop的PRML裡單獨的作為一章,講的很不錯。關於EM的tutorial,網上也可以搜到很多。

[1977] Maximum likelihood from incomplete data via the EM algorithm

[1996 SPM] The Expectation-Maximzation Algorithm

7. Graphical Models

伯克利的喬丹大師的Graphical Model,可以配合這Bishop的PRML一起看。

[1999 ML] An Introduction to Variational Methods for Graphical Models

8. Hidden Markov Model

HMM在語音識別中發揮著巨大的作用。在訊號處理和影象處理中也有一定的應用。最早接觸它是跟小波和檢索相關的,用HMM來描述小波係數之間的相互關係,並用來做檢索。這裡提供一篇1989年的經典綜述,幾篇HMM在小波,分割,檢索和紋理上的應用以及一本比較早的中文電子書,現在也不知道作者是誰,在這裡對作者表示感謝。

[1989 ] A tutorial on hidden markov models and selected applications in speech recognition

[1998 TSP] Wavelet-based statistical signal processing using hidden Markov models

[2001 TIP] Multiscale image segmentation using wavelet-domain hidden Markov models

[2002 TMM] Rotation invariant texture characterization and retrieval using steerable wavelet-domain hidden Markov models

[2003 TIP] Wavelet-based texture analysis and synthesis using hidden Markov models

Hmm Chinese book.pdf

9. Independent Component Analysis

同PCA一樣,獨立成分分析在計算機視覺中也發揮著重要的作用。這裡介紹兩篇綜述性的文章,最後一篇是第二篇的TR版本,內容差不多,但比較清楚一些。

[1999] Independent Component Analysis A Tutorial

[2000 NN] Independent component analysis algorithms and applications

[2000] Independent Component Analysis Algorithms and Applications

10. Information Theory

計算機視覺中的資訊理論。這方面有一本很不錯的書Information Theory in Computer Vision and Pattern Recognition。這本書有電子版,如果需要用到的話,也可以參考這本書。

[1995 NC] An Information-Maximization Approach to Blind Separation and Blind Deconvolution

[2010] An information theory perspective on computational vision

11. Kalman Filter

這個話題在張賢達老師的現代訊號處理裡面講的比較深入,還給出了一個有趣的例子。這裡列出了Kalman的最早的論文以及幾篇綜述,還有Unscented Kalman Filter。同時也有一篇Kalman Filter在跟蹤中的應用以及兩本電子書。

[1960 Kalman] A New Approach to Linear Filtering and Prediction Problems Kalman

[1970] Least-squares estimation_from Gauss to Kalman

[1997 SPIE] A New Extension of the Kalman Filter to Nonlinear System

[2000] The Unscented Kalman Filter for Nonlinear Estimation

[2001 Siggraph] An Introduction to the Kalman Filter_full

[2003] A Study of the Kalman Filter applied to Visual Tracking

12. Pattern Recognition and Machine Learning

模式識別名氣比較大的幾篇綜述

[2000 PAMI] Statistical pattern recognition a review

[2004 CSVT] An Introduction to Biometric Recognition

[2010 SPM] Machine Learning in Medical Imaging

13. Principal Component Analysis

著名的PCA,在特徵的表示和特徵降維上非常有用。

[2001 PAMI] PCA versus LDA

[2001] Nonlinear component analysis as a kernel eigenvalue problem

[2002] A Tutorial on Principal Component Analysis

[2009] A Tutorial on Principal Component Analysis

[2011] Robust Principal Component Analysis

[Book Chapter] Singular Value Decomposition and Principal Component Analysis

14. Random Forest

隨機森林

[2001 ML] Random Forests

15. RANSAC

隨機抽樣一致性方法,與傳統的最小均方誤差等完全是兩個路子。在Sonka的書裡面也有提到。

[2009 BMVC] Performance Evaluation of RANSAC Family

16. Singular Value Decomposition

對於非方陣來說,就是SVD發揮作用的時刻了。一般的模式識別書都會介紹到SVD。這裡列出了K-SVD以及一篇Book Chapter

[2006 TSP] K-SVD An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation

[Book Chapter] Singular Value Decomposition and Principal Component Analysis

17. Sparse Representation

這裡主要是Proceeding of IEEE上的幾篇文章

[2009 PAMI] Robust Face Recognition via Sparse Representation

[2009 PIEEE] Image Decomposition and Separation Using Sparse Representations An Overview

[2010 PIEEE] Dictionaries for Sparse Representation Modeling

[2010 PIEEE] It's All About the Data

[2010 PIEEE] Matrix Completion With Noise

[2010 PIEEE] On the Role of Sparse and Redundant Representations in Image Processing

[2010 PIEEE] Sparse Representation for Computer Vision and Pattern Recognition

[2011 SPM] Directionary Learning

18. Support Vector Machines

[1998] A Tutorial on Support Vector Machines for Pattern Recognition

[2004] LIBSVM A Library for Support Vector Machines

19. Wavelet

在小波變換之前,時頻分析的工具只有傅立葉變換。眾所周知,傅立葉變換在時域沒有解析度,不能捕捉區域性頻域資訊。雖然短時傅立葉變換克服了這個缺點,但只能刻畫恆定視窗的頻率特性,並且不能很好的擴充套件到二維。小波變換的出現很好的解決了時頻分析的問題,作為一種多解析度分析工具,在影象處理中得到了極大的發展和應用。在小波變換的發展過程中,有幾個人是不得不提的,Mallat, Daubechies,Vetteri, M.N.Do, Swelden,Donoho。Mallat和Daubechies奠定了第一代小波的框架,他們的著作更是小波變換的必讀之作,相對來說,小波十講太偏數學了,比較難懂。而Mallat的訊號處理的小波導引更偏應用一點。Swelden提出了第二代小波,使小波變換能夠快速方便的實現,他的功勞有點類似於FFT。而Donoho,Vetteri,Mallat及其學生們提出了Ridgelet, Curvelet, Bandelet,Contourlet等幾何小波變換,讓小波變換有了方向性,更便於壓縮,去噪等任務。尤其要提的是M.N.Do,他是一個越南人,得過IMO的銀牌,在這個領域著作頗豐。我們國家每年都有5個左右的IMO金牌,希望也有一兩個進入這個領域,能夠也讓我等也敬仰一下。而不是一股腦的都進入金融,管理這種跟數學沒有多大關係的行業,呵呵。很希望能看到中國的陶哲軒,中國的M.N.Do。
說到小波,就不得不提JPEG2000。在JPEG2000中使用了Swelden和Daubechies提出的用提升演算法實現的9/7小波和5/3小波。如果對比JPEG和JPEG2000,就會發現JPEG2000比JPEG在效能方面有太多的提升。本來我以為JPEG2000的普及只是時間的問題。但現在看來,這個想法太Naive了。現在已經過去十幾年了,JPEG2000依然沒有任何出頭的跡象。不得不說,工業界的慣性力量太強大了。如果以前的東西沒有什麼硬傷的話,想改變太難了。不巧的是,JPEG2000的種種優點在最近的硬體上已經有了很大的提升。壓縮率?現在動輒1T,2T的硬碟,沒人太在意壓縮率。漸進傳輸?現在的網速包括無線傳輸的速度已經相當快了,漸進傳輸也不是什麼優勢。感覺現在做影象壓縮越來越沒有前途了,從最近的會議和期刊文件也可以看出這個趨勢。不管怎麼說,JPEG2000的Overview還是可以看看的。

[1989 PAMI] A theory for multiresolution signal decomposition__the wavelet representation

[1996 PAMI] Image Representation using 2D Gabor Wavelet

[1998 ] FACTORING WAVELET TRANSFORMS INTO LIFTING STEPS

[1998] The Lifting Scheme_ A Construction Of Second Generation Wavelets

[2000 TCE] The JPEG2000 still image coding system_ an overview

[2002 TIP] The curvelet transform for image denoising

[2003 TIP] Gray and color image contrast enhancement by the curvelet transform

[2003 TIP] Mathematical Properties of the jpeg2000 wavelet filters

[2003 TIP] The finite ridgelet transform for image representation

[2005 TIP] Sparse Geometric Image Representations With Bandelets

[2005 TIP] The Contourlet Transform_ An Efficient Directional Multiresolution Image Representation

[2010 SPM] The Curvelet Transform

四、 影象處理與分析

本章主要討論影象處理與分析。雖然後面計算機視覺部分的有些內容比如特徵提取等也可以歸結到影象分析中來,但鑑於它們與計算機視覺的緊密聯絡,以及它們的出處,沒有把它們納入到影象處理與分析中來。同樣,這裡面也有一些也可以劃歸到計算機視覺中去。這都不重要,只要知道有這麼個方法,能為自己所用,或者從中得到靈感,這就夠了。

1. Bilateral Filter

Bilateral Filter俗稱雙邊濾波器是一種簡單實用的具有保持邊緣作用的平緩濾波器,由Tomasi等在1998年提出。它現在已經發揮著重大作用,尤其是在HDR領域。

[1998 ICCV] Bilateral Filtering for Gray and Color Images

[2008 TIP] Adaptive Bilateral Filter for Sharpness Enhancement and Noise Removal

2. Color

如果對顏色的形成有一定的瞭解,能比較深刻的理解一些演算法。這方面推薦岡薩雷斯的數字影象處理中的相關章節以及Sharma在Digital Color Imaging Handbook中的第一章“Color fundamentals for digital imaging”。跟顏色相關的知識包括Gamma,顏色空間轉換,顏色索引以及膚色模型等,這其中也包括著名的EMD。

[1991 IJCV] Color Indexing

[2000 IJCV] The Earth Mover's Distance as a Metric for Image Retrieval

[2001 PAMI] Color invariance

[2002 IJCV] Statistical Color Models with Application to Skin Detection

[2003] A review of RGB color spaces

[2007 PR]A survey of skin-color modeling and detection methods

Gamma.pdf

GammaFAQ.pdf

3. Compression and Encoding

個人以為影象壓縮編碼並不是當前很熱的一個話題,原因前面已經提到過。這裡可以看看一篇對編碼方面的展望文章

[2005 IEEE] Trends and perspectives in image and video coding

4. Contrast Enhancement

對比度增強一直是影象處理中的一個恆久話題,一般來說都是基於直方圖的,比如直方圖均衡化。岡薩雷斯的書裡面對這個話題講的比較透徹。這裡推薦幾篇個人認為不錯的文章。

[2002 IJCV] Vision and the Atmosphere

[2003 TIP] Gray and color image contrast enhancement by the curvelet transform

[2006 TIP] Gray-level grouping (GLG) an automatic method for optimized image contrast enhancement-part II

[2006 TIP] Gray-level grouping (GLG) an automatic method for optimized image contrast Enhancement-part I

[2007 TIP] Transform Coefficient Histogram-Based Image Enhancement Algorithms Using Contrast Entropy

[2009 TIP] A Histogram Modification Framework and Its Application for Image Contrast Enhancement

5. Deblur (Restoration)

影象恢復或者影象去模糊一直是一個非常難的問題,尤其是盲影象恢復。港中文的jiaya jia老師在這方面做的不錯,他在主頁也給出了可執行檔案。這方面的內容也建議看岡薩雷斯的書。這裡列出了幾篇口碑比較好的文獻,包括古老的Richardson-Lucy方法,幾篇盲影象恢復的綜述以及最近的幾篇文章,尤以Fergus和Jiaya Jia的為經典。

[1972] Bayesian-Based Iterative Method of Image Restoration

[1974] an iterative technique for the rectification of observed distributions

[1990 IEEE] Iterative methods for image deblurring

[1996 SPM] Blind Image Deconvolution

[1997 SPM] Digital image restoration

[2005] Digital Image Reconstruction - Deblurring and Denoising

[2006 Siggraph] Removing Camera Shake from a Single Photograph

[2008 Siggraph] High-quality Motion Deblurring from a Single Image

[2011 PAMI] Richardson-Lucy Deblurring for Scenes under a Projective Motion Path

6. Dehazing and Defog

嚴格來說去霧化也算是影象對比度增強的一種。這方面最近比較好的工作就是He kaiming等提出的Dark Channel方法。這篇論文也獲得了2009的CVPR 最佳論文獎。2這位003年的廣東高考狀元已經於2011年從港中文博士畢業加入MSRA(估計當時也就二十五六歲吧),相當了不起。

[2008 Siggraph] Single Image Dehazing

[2009 CVPR] Single Image Haze Removal Using Dark Channel Prior

[2011 PAMI] Single Image Haze Removal Using Dark Channel Prior

7. Denoising

影象去噪也是影象處理中的一個經典問題,在數碼攝影中尤其重要。主要的方法有基於小波的方法和基於偏微分方程的方法。

[1992 SIAM] Image selective smoothing and edge detection by nonlinear diffusion. II

[1992 SIAM] Image selective smoothing and edge detection by nonlinear diffusion

[1992] Nonlinear total variation based noise removal algorithms

[1994 SIAM] Signal and image restoration using shock filters and anisotropic diffusion

[1995 TIT] De-noising by soft-thresholding

[1998 TIP] Orientation diffusions

[2000 TIP] Adaptive wavelet thresholding for image denoising and compression

[2000 TIP] Fourth-order partial differential equations for noise removal

[2001] Denoising through wavelet shrinkage

[2002 TIP] The Curvelet Transform for Image Denoising

[2003 TIP] Noise removal using fourth-order partial differential equation with applications to medical magnetic resonance images in space and time

[2008 PAMI] Automatic Estimation and Removal of Noise from a Single Image

[2009 TIP] Is Denoising Dead

8. Edge Detection

邊緣檢測也是影象處理中的一個基本任務。傳統的邊緣檢測方法有基於梯度運算元,尤其是Sobel運算元,以及經典的Canny邊緣檢測。到現在,Canny邊緣檢測及其思想仍在廣泛使用。關於Canny演算法的具體細節可以在Sonka的書以及canny自己的論文中找到,網上也可以搜到。最快最直接的方法就是看OpenCV的原始碼,非常好懂。在邊緣檢測方面,Berkeley的大牛J Malik和他的學生在2004年的PAMI提出的方法效果非常好,當然也比較複雜。在複雜度要求不高的情況下,還是值得一試的。MIT的Bill Freeman早期的代表作Steerable Filter在邊緣檢測方面效果也非常好,並且便於實現。這裡給出了幾篇比較好的文獻,包括一篇最新的綜述。邊緣檢測是影象處理和計算機視覺中任何方向都無法逃避的一個問題,這方面研究多深都不為過。

[1980] theory of edge detection

[1983 Canny Thesis] find edge

[1986 PAMI] A Computational Approach to Edge Detection

[1990 PAMI] Scale-space and edge detection using anisotropic diffusion

[1991 PAMI] The design and use of steerable filters

[1995 PR] Multiresolution edge detection techniques

[1996 TIP] Optimal edge detection in two-dimensional images

[1998 PAMI] Local Scale Control for Edge Detection and Blur Estimation

[2003 PAMI] Statistical edge detection_ learning and evaluating edge cues

[2004 IEEE] Edge Detection Revisited

[2004 PAMI] Design of steerable filters for feature detection using canny-like criteria

[2004 PAMI] Learning to Detect Natural Image Boundaries Using Local Brightness, Color, and Texture Cues

[2011 IVC] Edge and line oriented contour detection State of the art

9. Graph Cut

基於圖割的影象分割演算法。在這方面沒有研究,僅僅列出幾篇引用比較高的文獻。這裡又見J Malik,當然還有華人傑出學者Jianbo Shi,他的主頁非常搞笑,在醒目的位置標註Do not fly China Eastern Airlines ... 看來是被坑過,而且坑的比較厲害。這個領域,俄羅斯人比較厲害。

[2000 PAMI] Normalized cuts and image segmentation

[2001 PAMI] Fast approximate energy minimization via graph cuts

[2004 PAMI] What energy functions can be minimized via graph cuts

10. Hough Transform

雖然霍夫變換可以擴充套件到廣義霍夫變換,但最常用的還是檢測圓和直線。這方面同樣推薦看OpenCV的原始碼,一目瞭然。Matas在2000年提出的PPHT已經整合到OpenCV中去了。

[1986 CVGIU] A Survey of the Hough Transform

[1989] A Comparative study of Hough transform methods for circle finding

[1992 PAMI] Shapes recognition using the straight line Hough transform_ theory and generalization

[1997 PR] Extraction of line features in a noisy image

[2000 CVIU] Robust Detection of Lines Using the Progressive Probabilistic Hough Transform

11. Image Interpolation

影象插值,偶爾也用得上。一般來說,雙三次也就夠了

[2000 TMI] Interpolation revisited

12. Image Matting

也就是最近,我才知道這個詞翻譯成中文是摳圖,比較難聽,不知道是誰開始這麼翻譯的。沒有研究,請看文章以及Richard Szeliski的相關章節。以色列美女Levin在這方面有兩篇PAMI。

[2008 Fnd] Image and Video Matting A Survey

[2008 PAMI] A Closed-Form Solution to Natural Image Matting

[2008 PAMI] Spectral Matting

13. Image Modeling

影象的統計模型。這方面有一本專門的著作Natural Image Statistics

[1994] The statistics of natural images

[2003 JMIV] On Advances in Statistical Modeling of Natural Images

[2009 IJCV] Fields of Experts

[2009 PAMI] Modeling multiscale subbands of photographic images with fields of Gaussian scale mixtures

14. Image Quality Assessment

在影象質量評價方面,Bovik是首屈一指的。這位老師也很有意思,作為編輯出版了很多書。他也是IEEE的Fellow

[2004 TIP] Image quality assessment from error visibility to structural similarity

[2011 TIP] blind image quality assessment From Natural Scene Statistics to Perceptual Quality

15. Image Registration

影象配準最早的應用在醫學影象上,在影象融合之前需要對影象進行配準。在現在的計算機視覺中,配準也是一個需要理解的概念,比如跟蹤,拼接等。在KLT中,也會涉及到配準。這裡主要是綜述文獻。

[1992 MIA] Image matching as a diffusion process

[1992 PAMI] A Method for Registration of 3-D shapes

[1992] a survey of image registration techniques

[1998 MIA] A survey of medical image registration

[2003 IVC] Image registration methods a survey

[2003 TMI] Mutual-Information-Based Registration of Medical Survey

[2011 TIP] Hairis registration

16. Image Retrieval

影象檢索曾經很熱,在2000年之後似乎消停了一段時間。最近各種影象的不變性特徵提出來之後,再加上網際網路搜尋的商業需求,這個方向似乎又要火起來了,尤其是在商業界,比如淘淘搜。這仍然是一個非常值得關注的方面。而且影象檢索與目標識別具有相通之處,比如特徵提取和特徵降維。這方面的文章值得一讀。在最後給出了兩篇Book chapter,其中一篇還是中文的。

[2000 PAMI] Content-based image retrieval at the end of the early years

[2000 TIP] PicToSeek Combining Color and Shape Invariant Features for Image Retrieval

[2002] Content-Based Image Retrieval Systems A Survey

[2008] Content-Based Image Retrieval-Literature Survey

[2010] Plant Image Retrieval Using Color,Shape and Texture Features

[2012 PAMI] A Multimedia Retrieval Framework Based on Semi-Supervised Ranking and Relevance Feedback

CBIR Chinese

fundament of cbir

17. Image Segmentation

影象分割,非常基本但又非常難的一個問題。建議看Sonka和岡薩雷斯的書。這裡給出幾篇比較好的文章,再次看到了J Malik。他們給出了原始碼和測試集,有興趣的話可以試試。

[2004 IJCV] Efficient Graph-Based Image Segmentation

[2008 CVIU] Image segmentation evaluation A survey of unsupervised methods

[2011 PAMI] Contour Detection and Hierarchical Image Segmentation

18. Level Set

大名鼎鼎的水平集,解決了Snake固有的缺點。Level set的兩位提出者Sethian和Osher最後反目,實在讓人遺憾。個人以為,這種方法除了迭代比較費時,在真實場景中的表現讓人生疑。不過,2008年ECCV上的PWP方法在結果上很吸引人。在重初始化方面,Chunming Li給出了比較好的解決方案

[1995 PAMI] Shape modeling with front propagation_ a level set approach

[2001 JCP] Level Set Methods_ An Overview and Some Recent Results

[2005 CVIU] Geodesic active regions and level set methods for motion estimation and tracking

[2007 IJCV] A Review of Statistical Approaches to Level Set Segmentation

[2008 ECCV] Robust Real-Time Visual Tracking using Pixel-Wise Posteriors

[2010 TIP] Distance Regularized Level Set Evolution and its Application to Image Segmentation

19. Pyramid

其實小波變換就是一種金字塔分解演算法,而且具有無失真重構和非冗餘的優點。Adelson在1983年提出的Pyramid優點是比較簡單,實現起來比較方便。

[1983] The Laplacian Pyramid as a Compact Image Code

20. Radon Transform

Radon變換也是一種很重要的變換,它構成了影象重建的基礎。關於影象重建和radon變換,可以參考章毓晉老師的書,講的比較清楚。

[1993 PAMI] Image representation via a finite Radon transform

[1993 TIP] The fast discrete radon transform I theory

[2007 IVC] Generalised finite radon transform for N×N images

21. Scale Space