計算機視覺的發展歷史
計算機視覺發展的四個主要階段
盡管人們對計算機視覺這門學科的起始時間和發展歷史有不同的看法,但應該說, 1982年馬爾( David Marr )《視覺》(Marr, 1982)一書的問世,標志著計算機視覺成為了一門獨立學科。計算機視覺的研究內容,大體可以分為物體視覺(object vision)和空間視覺(spatial vision)二大部分。 物體視覺在于對物體進行精細分類和鑒別,而空間視覺在于確定物體的位置和形狀,為“動作(action)” 服務。正像著名的認知心理學家J.J. Gibson 所言,視覺的主要功能在于“適應外界環境,控制自身運動”。 適應外界環境和控制自身運動,是生物生存的需求,這些功能的實現需要靠物體視覺和空間視覺協調完成。
計算機視覺40多年的發展中,盡管人們提出了大量的理論和方法,但總體上說,計算機視覺經歷了4個主要歷程。即: 馬爾計算視覺、主動和目的視覺、多視幾何與分層三維重建和基于學習的視覺。下面將對這4項主要內容進行簡要介紹。
1.馬爾計算視覺(Computational Vision)
現在很多計算機視覺的研究人員,恐怕對“馬爾計算視覺”根本不了解,這不能不說是一件非常遺憾的事。目前,在計算機上調“深度網絡”來提高物體識別的精度似乎就等于從事“視覺研究”。事實上,馬爾的計算視覺的提出,不論在理論上還是研究視覺的方法論上,均具有劃時代的意義。
馬爾的計算視覺分為三個層次: 計算理論、表達和算法以及算法實現。由于馬爾認為算法實現并不影響算法的功能和效果,所以,馬爾計算視覺理論主要討論“計算理論”和“表達與算法”二部分內容。馬爾認為,大腦的神經計算和計算機的數值計算沒有本質區別,所以馬爾沒有對“算法實現”進行任何探討。從現在神經科學的進展看,“神經計算”與數值計算在有些情況下會產生本質區別,如目前興起的神經形態計算( Neuromorphological computing),但總體上說,“數值計算”可以“模擬神經計算”。至少從現在看,“算法的不同實現途徑”,并不影響馬爾計算視覺理論的本質屬性。
1)計算理論(Computational Theory)
計算理論需要明確視覺目的, 或視覺的主要功能是什么。上世紀70年代,人們對大腦的認識還非常粗淺,目前普遍使用的非創傷型成像手段,如功能核磁共振(FMRI)等,還沒有普及。所以,人們主要靠病理學和心理學結果來推斷生理功能。即使目前,人們對“視覺的主要功能”到底是什么,也仍然沒有定論。如最近幾年,MIT的 DiCarlo等人提出了所謂的“目標驅動的感知信息建模”方法(Yamins &DiCarlo et al. 2016a)。他們猜測,猴子IT區(IT: interiortemporal cortex, 物體識別區)的神經元對物體的響應(neuronal responses)“可以通過層次化的卷積神經網絡”(HCNN: Hierarchical Convolutional Neural Networks )來建模。他們認為,只要對HCNN在圖像物體分類任務下進行訓練,則訓練好的HCNN 可以很好定量預測IT 區神經元的響應(Yamins et al. 2014, 2016b)。由于僅僅“控制圖像分類性能”對IT神經元響應(群體神經元對某一輸入圖像物體的響應,就是神經元對該物體的表達或編碼)進行定量預測,所以他們將這種框架稱之為“目標驅動的框架”。目標驅動的框架提供了一種新的比較通用的建模群體神經元編碼的途徑,但也存在很大的不足。能否真正像作者所言的那樣,僅僅靠“訓練圖像分類的HCNN”就可以定量預測神經元對圖像物體的響應,仍是一個有待進一步深入研究的課題。
馬爾認為視覺不管有多少功能,主要功能在于“從視網膜成像的二維圖像來恢復空間物體的可見三維表面形狀”,稱之為“三維重建”(3D reconstruction)。而且,馬爾認為,這種重建過程不是天生就有的,而是可以通過計算完成的。J.J. Gibson 等心理學家,包括格式塔心里學學派( Gestalt psychology),認為視覺的很多功能是天生就有的。可以想想,如果一種視覺功能與生具有,不可建模,就談不上計算,也許就不存在今天的“計算機視覺”這門學科了。
那么,馬爾的計算理論是什么呢?這一方面,馬爾在其書中似乎并不是介紹得特別具體。他舉了一個購買商品的例子,說明計算理論的重要性。如商店結賬要用加法而不是乘法。試想如果用乘法結賬,每個商品1元錢,則不管你購買多少件商品,你僅僅需要付一元錢。
馬爾的計算理論認為,圖像是物理空間在視網膜上的投影,所以圖像信息蘊含了物理空間的內在信息,因此,任何計算視覺計算理論和方法都應該從圖像出發,充分挖掘圖像所蘊含的對應物理空間的內在屬性。也就是說,馬爾的視覺計算理論就是要“挖掘關于成像物理場景的內在屬性來完成相應的視覺問題計算”。因為從數學的觀點看,僅僅從圖像出發,很多視覺問題具有“歧義性”,如典型的左右眼圖像之間的對應問題。如果沒有任何先驗知識,圖像點對應關系不能唯一確定。不管任何動物或人,生活的環境都不是隨機的,不管有意識或無意識,時時刻刻都在利用這些先驗知識,來解釋看到的場景和指導日常的行為和行動。如桌子上放一個水杯的場景,人們會正確地解釋為桌子上放了一個水杯,而不把他們看作一個新物體。當然,人類也會經常出錯,如大量錯覺現象。從這個意義上來說,讓計算機來模仿人類視覺是否一定是一條好的途徑也是一個未知的命題。飛機的飛行需要借助空氣動力學知識,而不是機械地模仿鳥如何飛。
2)表達和算法(Representationand Algorithm)
識別物體之前,不管是計算機還是人,大腦(或計算機內存)中事先要有對該物體的存儲形式,稱之為物體表達(object representation)。 馬爾視覺計算理論認為,物體的表達形式為該物體的三維幾何形狀。馬爾當時猜測,由于人在識別物體時與觀察物體的視角無關,而不同視角下同一物體在視網膜上的成像又不同,所以物體在大腦中的表達不可能是二維的,可能是三維形狀,因為三維形狀不依賴于觀察視角。另外,當時病理學研究發現,有些病人無法辨認“茶杯”,但可以毫無困難地畫出茶杯的形狀,因此馬爾覺得,這些病人也佐證了他的猜測。從目前對大腦的研究看,大腦的功能是分區的。物體的“幾何形狀”和“語義”儲存在不同的腦區。另外,物體識別也不是絕對地與視角無關,僅僅在一個比較小的變化范圍內與視角無關。所以,從當前的研究看,馬爾的物體的“三維表達”猜測基本上是不正確的,至少是不完全正確的,但馬爾的計算理論仍具有重要的理論意義和應用價值。
簡言之,馬爾視覺計算理論的“物體表達”,是指“物體坐標系下的三維形狀表達”。注意,從數學上來說,一個三維幾何形狀,選取的坐標系不同,表達函數亦不同。如一個球體,如果以球心為坐標原點,則球面可以簡單表達為:x^2+y^2+z^2=1。 但如果觀測者在x軸上2倍半徑處觀測,則可見球面部分在觀測者坐標系下的方程為:x=2-sqrt(1-y^2-z^2)。由此可見,同一物體,選用的坐標系不同,表達方式亦不同。馬爾將“觀測者坐標系下的三維幾何形狀表達”稱之為“2.5維表達”,物體坐標系下的表達為“三維表達”。所以,在后續的算法部分,馬爾重點研究了如何從圖像先計算“2.5維表達”,然后轉化為“三維表達”的計算方法和過程。
算法部分是馬爾計算視覺的主體內容。馬爾認為,從圖像到三維表達,要經過三個計算層次:首先從圖像得到一些基元(primal sketch), 然后通過立體視覺(stereopsis)等模塊將基元提升到2.5維表達,最后提升到三維表達。
下圖總結給出了馬爾視覺計算理論的算法流程:
由上圖所示,首先從圖像提取邊緣信息(二階導數的過零點),然后提取點狀基元(blob, 線狀基元(edge)和桿狀基元 (bar), 進而對這些初級基元(raw primal sketch)組合形成完整基元(full primal sketch),上述過程為視覺計算理論的特征提取階段。在此基礎上,通過立體視覺和運動視覺等模塊,將基元提升到2.5維表達。最后,將2.5維表達提升到三維表達。在馬爾的《視覺》一書中,重點介紹了特征提取和2.5維表達對應的計算方法。在2.5維表達部分,也僅僅重點介紹了立體視覺和運動視覺部分。由于當雙眼(左右相機)的相互位置已知時(計算機視覺中稱之為相機外參數),立體視覺就轉化為“左右圖像點的對應問題”(image point correspondence), 所以,馬爾在立體視覺部分重點介紹了圖像點之間的匹配問題,即如何剔除誤匹配,并給出了對應算法。
立體視覺等計算得到的三維空間點僅僅是在“觀測者坐標系下的坐標”,是物體的2.5維表示。如何進一步提升到物體坐標系下的三維表示,馬爾給出了一些思路,但這方面都很粗泛。如確定物體的旋轉主軸等等,這部分內容,類似于后來人們提出的“骨架模型”(skeleton model)構造。
需要指出的是,馬爾的視覺計算理論是一種理論體系。在此體系下,可以進一步豐富具體的計算模塊,構建“通用性視覺系統”(general vision system)。只可惜馬爾(Jan.15,1945 ~ Nov.17,1980 )1980年底就因白血病去世,包括他的《視覺》一書,也是他去世后出版的。馬爾的英年早逝,不能說不是計算機視覺界的一大損失。由于馬爾的貢獻,所以二年一度的國際計算機視覺大會(ICCV: International Conference on Computer Vision)設有馬爾獎(MarrPrize),作為會議的最佳論文獎。另外,在認知科學領域,也設有馬爾獎,因為馬爾對認知科學也有巨大的貢獻。以同一人名在不同領域設立獎項,實屬罕見,可見馬爾對計算機視覺的影響有多深遠。正如S. Edelman 和 L. M. Vaina 在《 International Encyclopedia of the Social & Behavioral Sciences 》中對馬爾的評價那樣,“馬爾前期給出的集成數學和神經生物學對大腦理解的三項工作,已足以使他在任何情況下在英國經驗主義二個半世紀的科學殿堂中占有重要的一席,…, 然而,他進一步提出了更加有影響的計算視覺理論”。所以,從事計算機視覺研究的人員對馬爾計算視覺不了解,實在是一件比較遺憾的事。
2.曇花一現的主動和目的視覺
很多人介紹計算機視覺時,將這部分內容不作為一個單獨部分加以介紹,主要是因為“主動視覺和目的視覺”并沒有對計算機視覺后續研究形成持續影響。但作為計算機視覺發展的一個重要階段,這里還是有必要予以介紹一下。
上世紀80年代初馬爾視覺計算理論提出后,學術界興起了“計算機視覺”的熱潮。人們想到的這種理論的一種直接應用就是給工業機器人賦予視覺能力,典型的系統就是所謂的“基于部件的系統”(parts-based system)。然而,10多年的研究,使人們認識到,盡管馬爾計算視覺理論非常優美,但“魯棒性”(Robustness)不夠,很難想人們預想的那樣在工業界得到廣泛應用。這樣,人們開始質疑這種理論的合理性,甚至提出了尖銳的批評。
對馬爾計算視覺理論提出批評最多的有二點:一是認為這種三維重建過程是“純粹自底向上的過程”(pure bottom-up process),缺乏高層反饋(top-down feedback);二是“重建”缺乏“目的性和主動性”。由于不同的用途,要求重建的精度不同,而不考慮具體任務,僅僅“盲目地重建一個適合任何任務的三維模型”似乎不合理。
對馬爾視覺計算理論提出批評的代表性人物有:馬里蘭大學的 J. Y. Aloimonos;賓夕法尼亞大學的R. Bajcsy和密西根州立大學的A. K. Jaini。 Bajcsy 認為,視覺過程必然存在人與環境的交互,提出了主動視覺的概念(active vision)。 Aloimonos認為視覺要有目的性,且在很多應用,不需要嚴格三維重建,提出了“目的和定性視覺”(purpose and qualitative vision) 的概念。 Jain 認為應該重點強調應用,提出了“應用視覺”( practicing vision)的概念。上世紀80年代末到90年代初,可以說是計算機視覺領域的“彷徨”階段。真有點“批評之聲不絕,視覺之路茫茫”之勢。
針對這種情況,當時視覺領域的一個著名刊物(CVGIP: Image Understanding)于1994年組織了一期專刊對計算視覺理論進行了辯論。首先由耶魯大學的M. J. Tarr和布朗大學的M. J.Black寫了一篇非常有爭議性的觀點文章(Tarr & Black, 1994),認為馬爾的計算視覺并不排斥主動性,但把馬爾的“通用視覺理論”(general vision)過分地強調“應用視覺”是“短見”(myopic)之舉。通用視覺盡管無法給出嚴格定義,但“人類視覺”是最好的樣板。這篇觀點文章發表后,國際上20多位著名的視覺專家也發表了他們的觀點和評論。大家普遍的觀點是,“主動性”“目的性”是合理的,但問題是如何給出新的理論和方法。而當時提出的一些主動視覺方法,一則僅僅是算法層次上的改進,缺乏理論框架上的創新,另外,這些內容也完全可以納入到馬爾計算視覺框架下。所以,從1994年這場視覺大辯論后,主動視覺在計算機視覺界基本沒有太多實質性進展。這段“彷徨階段”持續不長,對后續計算機視覺的發展產生的影響不大,猶如“曇花一現”之狀。
值得指出的是,“主動視覺”應該是一個非常好的概念,但困難在于“如何計算”。 主動視覺往往需要“視覺注視”(visual attention),需要研究腦皮層(cerebral cortex)高層區域到低層區域的反饋機制,這些問題,即使腦科學和神經科學已經較20年前取得了巨大進展的今天,仍缺乏“計算層次上的進展”可為計算機視覺研究人員提供實質性的參考和借鑒。近年來,各種腦成像手段的發展,特別是 “連接組學”(Connectomics)的進展,可望為計算機視覺人員研究大腦反饋機制提供“反饋途徑和連接強度”提供一些借鑒。
3.多視幾何和分層三維重建(Multiple View Geometry and Stratified 3D Reconstruction)
上世紀90年代初計算機視覺從“蕭條”走向進一步“繁榮”,主要得益于以下二方面的因素:首先,瞄準的應用領域從精度和魯棒性要求太高的“工業應用”轉到要求不太高,特別是僅僅需要“視覺效果”的應用領域,如遠程視頻會議(teleconference),考古,虛擬現實,視頻監控等。另一方面,人們發現,多視幾何理論下的分層三維重建能有效提高三維重建的魯棒性和精度。
多視幾何的代表性人物首數法國INRIA的O. Faugeras ( Faugeras O, 1993), 美國GE 研究院的R.Hartely (現已回到了澳大利亞國立大學)和英國牛津大學的 A. Zisserman。應該說,多視幾何的理論于2000年已基本完善。 2000 年Hartley 和Zisserman 合著的書 (Hartley & Zisserman 2000) 對這方面的內容給出了比較系統的總結,而后這方面的工作主要集中在如何提高“大數據下魯棒性重建的計算效率”。大數據需要全自動重建,而全自動重建需要反復優化,而反復優化需要花費大量計算資源。所以,如何在保證魯棒性的前提下快速進行大場景的三維重建是后期研究的重點。舉一個簡單例子,假如要三維重建北京中關村地區,為了保證重建的完整性,需要獲取大量的地面和無人機圖像。假如獲取了1萬幅地面高分辨率圖像(4000×3000),5 千幅高分辨率無人機圖像(8000×7000)(這樣的圖像規模是當前的典型規模),三維重建要匹配這些圖像,從中選取合適的圖像集,然后對相機位置信息進行標定并重建出場景的三維結構,如此大的數據量,人工干預是不可能的,所以整個三維重建流程必須全自動進行。這樣需要重建算法和系統具有非常高的魯棒性,否則根本無法全自動三維重建。在魯棒性保證的情況下,三維重建效率也是一個巨大的挑戰。所以,目前在這方面的研究重點是如何快速、魯棒地重建大場景。
1)多視幾何( Multiple View Geometry)
由于圖像的成像過程是一個中心投影過程(perspective projection),所以“多視幾何”本質上就是研究射影變換下圖像對應點之間以及空間點與其投影的圖像點之間的約束理論和計算方法的學科(注意:針孔成像模型(The pinhole camera model)是一種中心投影, 當相機有畸變時,需要將畸變后的圖像點先校正到無畸變后才可以使用多視幾何理論)。計算機視覺領域,多視幾何主要研究二幅圖像對應點之間的對極幾何約束(epipolar geometry), 三幅圖像對應點之間的三焦張量約束(tri-focal tensor),空間平面點到圖像點,或空間點為平面點投影的多幅圖像點之間的單應約束(homography)等。在多視幾何中,射影變換下的不變量,如絕對二次曲線的像(The image of the absolute conic),絕對二次曲面的像(Theimage of the absolute quadric), 無窮遠平面的單應矩陣(infinite homography),是非常重要的概念,是攝像機能夠自標定的“參照物”。由于這些量是無窮遠處“參照物”在圖像上的投影,所以這些量與相機的位置和運動無關(原則上任何有限的運動不會影響無限遠處的物體的性質),所以可以用這些“射影不變量”來自標定攝像機。關于多視幾何和攝像機自標定的詳細內容,可參閱Hartley 和Zisserman 合著的書(Hartley & Zisserman,2000)。
總體上說,多視幾何就其理論而言,在射影幾何中不能算新內容。Hartley, Faugeras, Zissermann等將多視幾何理論引入到計算機視覺中,提出了分層三維重建理論和攝像機自標定理論,豐富了馬爾三維重建理論,提高了三維重建的魯棒性和對大數據的適應性,有力推動了三維重建的應用范圍。所以,計算機視覺中的多視幾何研究,是計算機視覺發展歷程中的一個重要階段和事件。
多視幾何需要射影幾何(projectivegeometry)的數學基礎。射影幾何是非歐幾何,涉及平行直線相交,平行平面相交等抽象概念,表達和計算要在“齊次坐標”(homogeneous coordinates)下進行,這給“工科學生”帶來不小的困難。所以,大家要從事這方面的研究,一定要先打好基礎,至少要具備必要的射影幾何知識。否則,做這方面的工作,無異于浪費時間。
2)分層三維重建( Stratified 3D Reconstruction)
所謂的分層三維重建,如下圖所示,就是指從多幅二維圖像恢復歐幾里德空間的三維結構時,不是從圖像一步到歐幾里德空間下的三維結構,而是分步分層地進行。即先從多幅圖像的對應點重建射影空間下的對應空間點(即射影重建:projective reconstruction),然后把射影空間下重建的點提升到仿射空間下(即仿射重建:affine reconstruction),最后把仿射空間下重建的點再提升到歐幾里德空間(或度量空間: metric reconstruction)(注:度量空間與歐幾里德空間差一個常數因子。由于分層三維重建僅僅靠圖像進行空間點重建,沒有已知的“絕對尺度”,如“窗戶的長為1米”等,所以從圖像僅僅能夠把空間點恢復到度量空間)。
這里有幾個概念需要解釋一下。以空間三維點的三維重建為例,所謂的“射影重建”,是指重建的點的坐標與該點在歐幾里德空間下的坐標差一個“射影變換”。所謂的“仿射重建”,是指重建的點的坐標與該點在歐幾里德空間下的坐標差一個“仿射變換”。所謂的“度量重建”,是指重建的點的坐標與該點在歐幾里德空間下的坐標差一個“相似變換”。
由于任何一個視覺問題最終都可以轉化為一個多參數下的非線性優化問題,而非線性優化的困難在于找到一個合理的初值。由于待優化的參數越多,一般來說解空間越復雜,尋找合適的初值越困難,所以,如果一個優化問題如能將參數分組分步優化,則一般可以大大簡化優化問題的難度。分層三維重建計算上的合理性正是利用了這種“分組分步”的優化策略。以三幅圖像為例,直接從圖像對應點重建度量空間的三維點需要非線性優化16個參數(假定相機內參數不變,5個相機內參數,第二幅和第三幅圖像相對于第一幅圖像的相機的旋轉和平移參數,去掉一個常數因子,所以5+2×(3+3)-1=16),這是一個非常困難的優化問題。但從圖像對應點到射影重建需要“線性”估計22個參數,由于是線性優化,所以優化問題并不困難。從射影重建提升到仿射重建需要“非線性”優化三個參數(無窮遠平面的3個平面參數),而從仿射重建提升到度量重建需要“非線性”優化5個參數(攝像機的5個內參數)。因此,分層三維重建僅僅需要分步優化3個和5個參數的非線性優化問題,從而大大減小了三維重建的計算復雜度。
分層三維重建的另一個特點是其理論的優美性。射影重建下,空間直線的投影仍為直線,二條相交直線其投影直線仍相交,但空間直線之間的平行性和垂直性不再保持。仿射重建下可以保持直線的平行性,但不能保持直線的垂直性。度量重建既可以保持直線之間的平行線,也可以保持垂直性。在具體應用中,可以利用這些性質逐級提升重建結果。
分層三維重建理論可以說是計算機視覺界繼馬爾計算視覺理論提出后又一個最重要和最具有影響力的理論。目前很多大公司的三維視覺應用,如蘋果公司的三維地圖,百度公司的三維地圖,諾基亞的Streetview, 微軟的虛擬地球,其后臺核心支撐技術的一項重要技術就是分層三維重建技術。
3)攝像機自標定(Cameraself-calibration)
所謂攝像機標定,狹義上講,就是確定攝像機內部機械和光電參數的過程,如焦距,光軸與像平面的交點等。盡管相機出廠時都標有一些標準參數,但這些參數一般不夠精確,很難直接在三維重建和視覺測量中應用。所以,為了提高三維重建的精度,需要對這些相機內參數(intrinsic parameters)進行估計。估計相機的內參數的過程,稱為相機標定。在文獻中,有時把估計相機在給定物體坐標系下的坐標,或相機之間相互之間的位置關系,稱為相機外參數(extrinsic parameters)標定。但一般無明確指定時,相機標定就是指對相機內參數的標定。
相機標定包含二方面的內容:“成像模型選擇”和“模型參數估計”。相機標定時首先需要確定“合理的相機成像模型”,如是不是針孔模型,有沒有畸變等。目前關于相機模型選擇方面,沒有太好的指導理論,只能根據具體相機和具體應用確定。隨著相機加工工藝的提高,一般來說,普通相機(非魚眼或大廣角鏡頭等特殊相機)一般使用針孔成像模型(加一階或二階徑向畸變)就足以了。其它畸變很小,可以不加考慮。當相機成像模型確定后,進一步需要估計對應的模型參數。文獻中人們往往將成像模型參數估計簡單地認為就是相機標定,是不全面的。事實上,相機模型選擇是相機標定最關鍵的步驟。一種相機如果無畸變而在標定時考慮了畸變,或有畸變而未加考慮,都會產生大的誤差。視覺應用人員應該特別關注“相機模型選擇”問題。
相機參數估計原則上均需要一個“已知三維結構”的“標定參考物”,如平面棋盤格,立體塊等。所謂相機標定,就是利用已知標定參考物和其投影圖像,在已知成像模型下建立模型參數的約束方程,進而估計模型參數的過程。所謂“自標定”,就是指“僅僅利用圖像特征點之間的對應關系,不需要借助具體物理標定參考物,進行模型參數估計的過程”。“傳統標定”需要使用加工尺寸已知的標定參考物,自標定不需要這類物理標定物,正像前面多視幾何部分所言,使用的是抽象的無窮遠平面上的“絕對二次曲線”和“絕對二次曲面”。從這個意義上來說,自標定也需要參考物,僅僅是“虛擬的無窮遠處的參考物”而已。
攝像機自標定需要用到兩幅圖像之間的約束,如基礎矩陣(fundamental matrix), 本質矩陣(essential matrix), 以及三幅圖像之間的三焦張量約束等。另外,Kruppa 方程也是一個重要的概念。這些內容是多視幾何的重要內容,后續章節將進行詳細介紹。
4.基于學習的視覺(Learning based vision)
基于學習的視覺,是指以機器學習為主要技術手段的計算機視覺研究。基于學習的視覺研究,文獻中大體上分為二個階段:本世紀初的以流形學習( manifold Learning)為代表的子空間法( subspace method)和目前以深度神經網絡和深度學習(deep neural networks and deep learning)為代表的視覺方法。
1)流形學習(Manifold Learning)
正像前面所指出的,物體表達是物體識別的核心問題。給定圖像物體,如人臉圖像,不同的表達,物體的分類和識別率不同。另外,直接將圖像像素作為表達是一種“過表達”,也不是一種好的表達。流形學習理論認為,一種圖像物體存在其“內在流形”(intrinsic manifold), 這種內在流形是該物體的一種優質表達。所以,流形學習就是從圖像表達學習其內在流形表達的過程,這種內在流形的學習過程一般是一種非線性優化過程。
流形學習始于2000年在Science 上發表的二篇文章( Tenenbaum et al., 2000) (Roweis & Lawrence 2000)。流形學習一個困難的問題是沒有嚴格的理論來確定內在流形的維度。人們發現,很多情況下流形學習的結果還不如傳統的PCA (Principal Component Analysis),LDA( linear DiscriminantAnalysis ), MDS( Multidimensional Scaling)等。 流形學習的代表方法有:LLE(Locally Linear Embedding )(Roweis & Lawrence 2000),Isomap ( Tenenbaum et al., 2000), Laplacian Eigenmaps (Belkin & Niyogi, 2001)等。
2)深度學習(Deep Learning)
深度學習( LeCunet al. 2015) 的成功,主要得益于數據積累和計算能力的提高。深度網絡的概念上世紀80年代就已提出來了,只是因為當時發現“深度網絡”性能還不如“淺層網絡”,所以沒有得到大的發展。目前似乎有點計算機視覺就是深度學習的應用之勢,這可以從計算機視覺的三大國際會議:國際計算機視覺會議(ICCV),歐洲計算機視覺會議(ECCV)和計算機視覺和模式識別會議(CVPR),上近年來發表的論文可見一般。目前的基本狀況是,人們都在利用深度學習來“取代”計算機視覺中的傳統方法。“研究人員”成了“調程序的機器”,這實在是一種不正常的“群眾式運動”。牛頓的萬有引力定律,麥克斯韋的電磁方程,愛因斯坦的質能方程,量子力學中的薛定諤方程,似乎還是人們應該追求的目標。
關于深度網絡和深度學習,詳細內容可參閱相關文獻,這里僅僅強調以下幾點:
(1)深度學習在物體視覺方面較傳統方法體現了巨大優勢,但在空間視覺,如三維重建,物體定位方面,仍無法與基于幾何的方法相媲美。這主要是因為深度學習很難處理圖像特征之間的誤匹配現象。在基于幾何的三維重建中,RANSAC (Random Sample Consensus)等魯棒外點(誤匹配點)剔除模塊可以反復調用,而在深度學習中,目前還很難集成諸如RANSAC等外點剔除機制。筆者認為,如果深度網絡不能很好地集成外點剔除模塊,深度學習在三維重建中將很難與基于幾何的方法相媲美,甚至很難在空間視覺中得到有效應用;
(2) 深度學習在靜態圖像物體識別方面已經成熟,這也是為什么在ImageNet上的物體分類競賽已不再舉行的緣故;
(3) 目前的深度網絡,基本上是前饋網絡(feedforwardNetworks)。不同網絡主要體現在使用的代價函數不同。下一步預計要探索具有“反饋機制”的層次化網絡。反饋機制,需要借鑒腦神經網絡機制,特別是連接組學的成果。
(4) 目前對視頻的處理,人們提出了RCNN (Recurrent Neural Networks)。 循環( recurrent) 是一種有效的同層作用機制,但不能代替反饋。大腦皮層遠距離的反饋(將在生物視覺簡介一章介紹)可能是形成大腦皮層不同區域具有不同特定功能的神經基礎。所以,研究反饋機制,特別具有“長距離反饋”(跨多層之間)的深度網絡, 將是今后研究圖像理解的一個重要方向;
(5)盡管深度學習和深度網絡在圖像物體識別方面取得了“變革性”成果,但為什么“深度學習”會取得如此好的結果目前仍然缺乏堅實的理論基礎。目前已有一些這方面的研究,但仍缺乏系統性的理論。事實上,“層次化”是本質,不僅深度網絡,其它層次化模型,如Hmax 模型(Riesenhuber & Poggio,1999) HTM (Hierarchical Temporal memory)模型(George & Hawkins, 2009)存在同樣的理論困惑。為什么“層次化結構”( hierarchical structure )具有優勢仍是一個巨大的迷。
計算機視覺的應用方向
計算機視覺是使用計算機及相關設備對生物視覺的一種模擬。它的主要任務就是通過對采集的圖片或視頻進行處理以獲得相應場景的三維信息,形象地說,就是給計算機安裝上眼睛(照相機)和大腦(算法),讓計算機能夠感知環境。
1. 農業生產技術
在農業方面具有代表性的是收割機和灑水機的智能化使用,通過計算機視覺系統中的機器視覺部分分析谷物和農產品位置,識別適合的路徑進行實施灌溉和收割等動作。同時,借助計算機視覺系統可以識別農場雜草位置,再除雜草噴灑藥劑時可準確定位針對性噴灑,節省除草劑的同時,可以大幅度降低除草劑對于農產品的影響。
2.自動駕駛技術
目前自動駕駛已經成為熱議的話題,自動駕駛技術也很大依托于計算機視覺,搭配雷達、超聲傳感器等獲取更多路況信息、交通信息等。
3.有道和谷歌翻譯軟件
對于大多數從事與外語相關工作的人來說,有道和谷歌翻譯軟件并不陌生。通過手機的攝像頭就能通過字符識別,來打到準確翻譯的目的,此類的計算機視覺應用帶來了極大的方便。
4.臉部識別
國內目前很多企業已經改變傳統指紋打卡,應用了新的人臉識別技術,這項技術中也應用到了計算機視覺。除了企業應用人臉識別打卡以外,人臉識別也被應用在犯罪嫌疑人監控和安檢等方面,為人們的生活帶來巨大的便捷和保障。
5.醫療保健
醫療行業使用計算機視覺技術很常見,醫學診斷時通過分析X射線等圖像,及早的檢測患者的情況并給予相對應的癥狀對策,不僅于此。相信我國的醫療行業將會在應用計算機視覺技術方面取得更加突出的成績
6.制造業
自動化進程加快,制造業企業多數已經完成智能制造改革,其中計算機視覺在其中起到了至關重要的作用。
傳統制造行業近年來基本多數已經完成自動化改革,計算機視覺技術不僅用于生產制造,同時對于設備的預測性維護也能起到重要的作用。通過對設備的監控,可以及時避免設備因故障或者損壞影響到生產的精度等。
-
計算機視覺
+關注
關注
8文章
1698瀏覽量
45994
發布評論請先 登錄
相關推薦
評論