paper 100:何愷明經典去霧演算法
【原文:https://www.cnblogs.com/molakejin/p/5708883.html】
一:由簡至美的最佳論文(作者:何愷明 視覺計算組)
【視覺機器人:個人感覺學習他的經典演算法固然很重要,但是他的解決問題的思路也是非常值得我們學習的】
那是2009年4月24日的早上,我收到了一封不同尋常的email。發信人是CVPR 2009的主席們,他們說我的文章獲得了CVPR 2009的最佳論文獎(Best Paper Award)。我反覆閱讀這封郵件以確認我沒有理解錯誤。這真是一件令人難以置信的事情。
北京灰霾照片的去霧結果
CVPR的中文名是計算機視覺與模式識別會議,是計算機視覺領域最頂尖的國際會議之一。今年的CVPR共收到約1450篇投稿,其中393篇文章被接收,接收率為26%。只有一篇文章被選為今年的最佳論文。這是CVPR創立25年以來首次由中國人獲得這個獎項。這篇文章是我在微軟亞洲研究院形象計算組實習的時候完成的,也是我個人真正意義上寫的第一篇論文。
簡單有效的影象去霧技術
這篇論文研究的問題是影象的去霧技術,它可以還原影象的顏色和能見度,同時也能利用霧的濃度來估計物體的距離,這些在計算機視覺上都有重要應用(例如三維重建,物體識別)。但是之前人們還沒找到簡單有效的方法來達到這個目的。在這篇論文裡,我們找到了一個非常簡單的,甚至說令人驚訝統計規律,並提出了有效的去霧方法。
與之前的方法不同,我們把注意力放到了無霧影象的統計特徵上。我們發現,在無霧影象中,每一個區域性區域都很有可能會有陰影,或者是純顏色的東西,又或者是黑色的東西。因此,每一個區域性區域都很有可能有至少一個顏色通道會有很低的值。我們把這個統計規律叫做Dark Channel Prior。直觀來說,Dark Channel Prior認為每一個區域性區域都總有一些很暗的東西。這個規律很簡單,但在我們研究的去霧問題上卻是本質的基本規律。
由於霧總是灰白色的,因此一旦影象受到霧的影響,那麼這些本來應該很暗的東西就會變得灰白。不僅如此,根據物理上霧的形成公式,我們還能根據這些東西的灰白程度來判斷霧的濃度。因此,我們提出的Dark Channel Prior能很有效地去除霧的影響,同時利用物的濃度來估算物體的距離。
電腦遊戲帶來的靈感
這個想法的產生來自於兩個偶然的觀察。
第一個觀察來自一個3D遊戲。這個遊戲有很多帶有霧的場景,但這些場景都是虛構的不實在的東西。計算機生成的3D影象會與自然影象的統計規律有很大區別,但人的視覺系統卻仍然能感覺到虛擬影象中存在的霧。這讓我相信,人的視覺系統一定有一種有效的機制來感知有霧的影象,而且這種機制一定與現存的去霧方法不一樣。前人提出的去霧方法都把重點放在影象的對比度上,但虛擬場景和現實場景在對比度上的統計規律會很不一樣。人的視覺系統仍然能夠感知虛擬場景中的霧,說明除了對比度以外,人眼一定還在利用別的東西來感知霧。所以我覺得,這個問題裡一定有人們未曾發現的更接近本質的東西。
第二個觀察來自對前人的去霧方法的研究。之前最有效的去霧方法是Fattal在2008年的Siggraph文章《Single Image Dehazing》中提出來的,這篇文章是我們首要超越的目標。這篇文章裡給出的比較結果中,我發現一種叫做Dark Object Subtraction的方法有時候會有更好的效果。這種方法利用了全圖最暗的點來去除全域性均勻的霧。如果霧的確是均勻的,這種方法就會更有效。其缺點在於它無法處理不均勻的霧,而這卻正是去霧問題中的難點。因此自然的想法就是區域性利用Dark Object Subtraction處理影象。而恰巧這樣做並不需要利用對比度,說明它與之前的方法有了本質的區別。讓人吃驚的是,在大量的實驗中,我發現這麼簡單的想法,其效果卻非常好。
但我們論文中最重要的觀點卻形成在我動筆寫文章之後。在文章的前幾稿中,我在形象計算組的mentor孫劍一直追問我,我們的方法能成功的本質原因是什麼,背後有什麼我們沒有充分理解透徹的“真知灼見”。儘管我們有很簡單的方法,也有很漂亮的實驗結果,但我們卻無法讓人對這種方法的有效性感到信服。這是因為我們還講不出個道理來。帶著這個問題,我又回到了實驗和觀察之中。我發現,既然大量實驗結果證實區域性做Dark Object Subtraction的做法是成功的,那麼就說明去霧之後的影象的每個區域性的確是有暗的物體存在的。也就是說,在這個方法成功的背後,其實有一個關於無霧影象的統計規律。我的mentor孫劍讓我去先去研究一個無霧影象的資料庫。通過大量的實驗,我們發現這個統計規律是客觀存在的。這就是我們所提出的Dark Channel Prior。
這是我寫的第一篇論文
2007年,我從清華大學基礎科學班本科畢業,之後就讀於香港中文大學。在基礎科學班的主修課程是數學和物理,因此在本科階段,我並沒有系統地學習過計算機方面的相關知識。出於興趣,我選修了計算機圖形和影象方面的一些相關課程。但是在進入微軟亞洲研究院實習的初期,這些基礎課程遠遠不足以應付我面對的研究工作。背景知識的缺乏使我在入門的路上舉步維艱。在閱讀文章的時候,我常常都不知道哪些是大家都在用的方法,哪些才是作者的貢獻。對我來說,我看見的每一樣東西都是新的。
在面試的時候,我的導師湯曉鷗就跟我說過,他並不在意我沒有相關的背景知識,因為所有相關的東西都是可以學的。在進入微軟亞洲研究院實習的頭一年裡,我在mentor孫劍的指導下做過幾個不同的課題,雖然都沒有成功,但從中學習了不少知識。其中我花了大量時間研究的image matting問題 (半透明物體邊界提取),就對這次的文章有很大幫助。在剛開始研究去霧的時候,我就發現霧的方程和matting的方程非常相似,而我之前所研究的matting框架可以給去霧帶來幫助。利用這個框架,我只需要尋找一個能區域性估算霧的濃度的方法就行了。這個框架使得我能專心的尋找這樣的方法並且最後提出了Dark Channel Prior。
紐約、北京灰霾照片的去霧結果
即使有了想法和實驗結果,第一次寫文章也使我覺得非常困難。我經常陷入自己和自己吵架的角色當中。在每一段話寫好之後,我常常會質問自己事情到底是不是這樣的,這其中有沒有漏洞。我也會問自己,如果我是評委,或者是讀者,那麼我能看懂這篇文章嗎,我怎麼寫才能讓思路更加流暢。就在這樣的掙扎中,一稿通常要寫好幾天。而即使是這樣,起初的幾稿也遠沒能讓孫劍滿意。一開始,他只在文章的結構、思路和觀點的提出上給我建議,而不去具體修改我的文章。於是我又回去繼續和自己吵架。但每當我把自己說服了,孫劍還是總能提出新的質疑。就在這樣的迴圈中,終於有一天孫劍說文章已經寫得不錯了,他才開始具體的修改。正是這樣的苛刻要求,才會有後來高質量的文章。
大道之行在於簡
我們這篇文章的三個審稿人都給出了最高的評分。他們認為我們的方法簡單而有效。其中一位評委說,Dark Channel Prior的想法聽起來很不可思議,但我們卻證明了其真實性。另一位評委認為很少有文章能夠用如此簡單的方法使實驗結果獲得如此大的提升。還有一位評委甚至親自實現了我們的方法並確認其可行。孫劍說閱讀這樣的評審結果是一件讓人快樂的事情。而湯老師認為,這篇文章的成功在於三個方面。第一,方法非常簡單;第二,對於一個很困難的問題,給出了很好的結果;第三,發現了一個基本的自然規律並且應用在實際的問題中。在邁阿密的演講結束後,觀眾也給予了很高的評價。他們跟我說,這是這次CVPR上最有趣的一個演講。
一位與會的研究員說,最好的idea,往往就是那些看起來很簡單,但說出來大家都會覺得怎麼沒有人想到過的idea。而我們的idea正好就符合了這一點。我們論文摘要的第一句話是這麼說的,“我們提出了一個簡單而有效的方法”。或許,這就是對我們這次工作最好的概括——簡單的,就是美的。
作者介紹
何愷明:微軟亞洲研究院視覺計算組實習生,現就讀於香港中文大學訊息工程多媒體實驗室,本科畢業於清華大學基礎科學班。他是2006年微軟小學者獎學金獲得者之一,同時也是2003年廣東省高考狀元。
二:高階影象去霧演算法的快速實現
http://blog.csdn.net/huixingshao/article/details/42834939
這是一篇詳細的介紹何愷明去霧演算法的博文,並且給出了實現程式,似乎原始碼沒有
三:Single Image Haze Removal(影象去霧)-CVPR’09 Best Paper
http://blog.csdn.net/abcjennifer/article/details/6662706
CSDN名博Rachel-Zhang給出的Matlab和Opencv程式碼以及詳細介紹
四: 何愷明部落格
http://research.microsoft.com/en-us/um/people/kahe/
經典:CVPR best paper award in 2009 經典去霧演算法Single Image Haze Removal Using Dark Channel Prior。CVPR創立25年以來首次由中國人獲得這個獎項
他的有關去霧的論文和持續到2013年的改進在:http://research.microsoft.com/en-us/um/people/kahe/cvpr09/index.html
方向:deep learning for visual recognition, including image classification, object detection, and semantic segmentation.;
相關文章
- Single Image Haze Removal(影象去霧)-CVPR’09 Best PaperREM
- 教授何愷明在MIT的第一堂課MIT
- 4 年多經驗,何去何從
- 暗通道優先的影象去霧演算法(上)演算法
- 經典演算法演算法
- 經典c程式100例C程式
- 何愷明組又出神作!最新論文提出全景分割新方法
- Lisp經典演算法Lisp演算法
- 詳解何愷明團隊最新作品:源於Facebook AI的RegNetAI
- Ross、何愷明等人提出:渲染思路做影像分割,提升Mask R-CNN效能ROSCNN
- 何愷明Focal Loss改進版!GFocal Loss:良心技術,無cost漲點
- 效能超越何愷明Mask R-CNN!華科大開源影象分割新方法CNN
- 效能超越何愷明Mask R-CNN!華科大開源影像分割新方法CNN
- 快慢結合效果好:FAIR何愷明等人提出視訊識別SlowFast網路AIAST
- 北大博士生提出CAE,下游任務泛化能力優於何愷明MAE
- 白話經典演算法演算法
- Python3經典100例(①)Python
- 微軟經典面試100題系列(部分)微軟面試
- C++經典程式100例【10】C++
- 全球經濟蒸發,網際網路人該何去何從?
- 機器學習經典演算法之EM機器學習演算法
- 機器學習經典演算法之KNN機器學習演算法KNN
- 經典機器學習演算法總結機器學習演算法
- Python經典演算法片段Python演算法
- 經典演算法之快速排序演算法排序
- 經典演算法之回溯法演算法
- [經典排序演算法][集錦]排序演算法
- 經典演算法面試題(二)演算法面試題
- 經典排序演算法回顧:排序演算法
- 幾道經典的幾何作圖趣題
- 演算法、硬體、框架,2019年AI何去何從?演算法框架AI
- 人臉識別三大經典演算法(附經典論文列表)演算法
- Ross、何愷明等人提出PointRend:渲染思路做影像分割,顯著提升Mask R-CNN效能ROSCNN
- 教授何愷明在MIT的第二門課——《深度生成模型》,講座PPT陸續已出MIT模型
- 100+經典Java面試題及答案解析Java面試題
- 第七篇:經典案例:資料去重
- 數字化智慧經營可行嗎?向何處去?
- lj十大經典演算法演算法