如果想要機器能夠進行思考,我們需要先教會它們去看。
李飛飛——Director of Stanford AI Lab and Stanford Vision Lab
計算機視覺(Computer vision)是一門研究如何使機器“看”的科學,更進一步的說,就是指用攝影機和計算機代替人眼對目標進行識別、跟蹤和測量等機器視覺,并進一步做圖像處理,用計算機處理成更適合人眼觀察或進行儀器檢測的圖像。
學習和運算能讓機器能夠更好的理解圖片環境,并且建立具有真正智能的視覺系統。當下環境中存在著大量的圖片和視頻內容,這些內容亟需學者們理解并在其中找出模式,來揭示那些我們以前不曾注意過的細節。計算機視覺的實現基本過程為:
計算機從圖片中生成數學模型
計算機圖形在模型中對圖像進行繪制,然后在圖像處理過程中將其作為輸入,另外給出處理圖像作為輸出
計算機視覺的理念在某些方面其實與很多概念有部分重疊,包括:人工智能、數字圖像處理、機器學習、深度學習、模式識別、概率圖模型、科學計算以及一系列的數學計算等。因此,你可以將本文看成是深入這個領域研究的第一步。本文將盡量包涵到盡可能多的內容,但是可能仍然會存在一些較為復雜的主題,也有可能存在某些遺漏之處,敬請見諒。
丨第一步——背景
通常來說,你應該具有一點相關的學術背景,比如上過有關概率學、統計學、線性代數、微積分(微分與積分)等相關課程,對矩陣計算有一定了解更好。另外,從我的經驗來看如果你對數字信號處理有了解的話,在以后對于概念的理解來說會更加容易。
在實現層面來說,你最好能夠會用MATLAB或者Python中的一種,一定要記住的是計算機視覺幾乎全部與計算機編程有關。
你也可以在Coursera上選修《概率繪圖模型》一課,這門課程相對較難(講得比較深入),你也可以在學習一段時間之后再對其進行了解。
丨第二步——數字圖像處理
觀看來自杜克大學的Guillermo Sapiro所教授的課程——《圖像和視頻處理:從火星到好萊塢Image and Video Processing: From Mars to Hollywood with a Stop at the Hospital》,該課程所提供的教學大綱每章都是獨立的且包涵大量的練習,你可以在coursera和YouTube上找到相關的課程視頻信息。另外你可以看下Gonzalez與Woods編寫的《數字圖像處理(Digital Image Processing)》一書,使用MATLAB來運行其中所提到的范例,相信一定會有所獲。
丨第三步——計算機視覺
一旦學習完有關數字圖像處理有關內容,接下來應該了解相關的數學模型在各種圖像和視頻內容中的應用方法。來自佛羅里達大學的Mubarak Shah教授在計算機視覺方面的課程可以作為一門很好的入門課程,其涵蓋了幾乎所有的基礎概念。
觀看這些影片的同時,可以學習Gatech的James Hays教授的計算機視覺項目課程所使用的概念和算法,這些練習也都是基于MATLAB的。千萬不要跳過這些練習,只有在真正的練習過程中才會對這些算法和公式有更深入的了解。
丨第四步——高級計算機視覺
如果你認真學習了前三步中的內容,現在可以進入到高級計算機視覺相關學習了。
來自巴黎中央理工學院的Nikos Paragios和Pawan Kumar講授了一門人工視覺中的離散推理(Discrete Inference in Artificial Vision)課程,它能提供相關的概率圖形模型和計算機視覺相關的大量數學知識。
到現在這一步來看就比較有趣了,這門課程一定能讓你感受到用簡單模型構筑機器視覺系統有多么復雜。學完這門課程的話,在接觸學術論文之前又邁進一大步。
丨第五步——引入Python和開源框架
這一步我們要接觸到Python編程語言。
就Python而言有許多像 OpenCV、PIL、vlfeat這樣的相關擴展包,現在就是將這些擴展包運用到你的項目中的最好時機。因為如果有其他的開源框架存在的話,沒有必要從頭開始來編寫一切內容。
如果需要參考資料的話可以考慮《使用Python對計算機視覺進行編程 Programming Computer Vision with Python》,使用這本書就夠了。你可以動手去嘗試下,看看MATLAB和Python結合的話如何來實現你的算法。
丨第六步——機器學習與CovNets(卷積神經網絡)
有關如何從頭開始機器學習的資料實在太多,你可以從在網上查找到大量相關教程。
從現在開始最好一直使用Python進行編程,可以看下《使用Python建立機器學習系統——Building Machine Learning Systems with Python》和《Python機器學習——Python Machine Learning》這兩本書。
目前深度學習正大行其道,可以試著學習卷積神經網絡在計算機視覺中的應用( Computer Vision: the use of CovNets),在此推薦斯坦福的CS231n課程:針對視覺識別的卷積神經網絡。
丨第七步——如何才能更進一步
行文至此,你可能會覺得已經講了太多的內容,需要學的已經太多。但是,你還可以進一步進行探索研究。
其中一個方法是看看由多倫多大學的Sanja Fidler和James Hays所舉行的一系列研討會課程,能幫助你對當下計算機視覺研究方向的最新概念有所理解。
另一種即跟著 CVPR、ICCV、 ECCV、 BMVC這些頂級學術會議的相關學術論文,通過會上的研討會、主旨演講以及tutorial等日程一定能學到不少知識。
總結:如果你按照步驟一步步完成所有的學習任務,屆時你將大概了解計算機視覺中有關濾波器、特征檢測、描述、相機模型、追蹤器的歷史,另外還學習到分割和識別、神經網絡和深度學習的最新進展。希望本文能幫助你在計算機視覺領域走得更遠,學習得更加深入。
-
圖像處理
+關注
關注
27文章
1292瀏覽量
56747 -
機器視覺
+關注
關注
162文章
4372瀏覽量
120328 -
計算機視覺
+關注
關注
8文章
1698瀏覽量
45994
原文標題:從計算機視覺的小白變為大神,你需要經歷這七個階段
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論