過去幾年,全球的互聯網公司包括谷歌、微軟、Facebook以及中國的百度、阿里巴巴都在加強人工智能領域的投資,設立自己的人工智能研究院。vivo是第一家設立專攻人工智能方向研究院的中國手機公司。此舉是vivo內部已經確立的一份3-5年的中長期發展的戰略規劃,未來對人工智能的發展研究是必然趨勢,vivo公司創始人兼CEO沈煒曾表示“人工智能和5G的結合將會是5G時代手機發展的趨勢”。
今年我們看到vivo在產品上不少創新,比如AI拍照、商用屏下指紋技術等等,這些都是基于生物特征(biometrics)的鑒別技術,除此之外還有對人臉、虹膜、指紋、聲音等特征上的識別,這些大多涉及到視覺信息,正是體現了計算機視覺的應用性,那什么是計算機視覺呢?
計算機視覺技術的概念
正像其它學科一樣,一個大量人員研究了多年的學科,卻很難給出一個嚴格的定義,模式識別如此,目前火熱的人工智能如此,計算機視覺亦如此。與計算機視覺密切相關的概念有視覺感知(visual perception),視覺認知(visual cognition),圖像和視頻理解( image and video understanding)。這些概念有一些共性之處,也有本質不同。
從廣義上說,計算機視覺就是“賦予機器自然視覺能力”的學科。自然視覺能力,就是指生物視覺系統體現的視覺能力。一則生物自然視覺無法嚴格定義,在加上這種廣義視覺定義又“包羅萬象”,同時也不太符合40多年來計算機視覺的研究狀況,所以這種“廣義計算機視覺定義”,雖無可挑剔,但也缺乏實質性內容,不過是一種“循環式游戲定義”而已。
實際上,計算機視覺本質上就是研究視覺感知問題。視覺感知,根據維科百基(Wikipedia)的定義, 是指對“環境表達和理解中,對視覺信息的組織、識別和解釋的過程”。根據這種定義,計算機視覺的目標是對環境的表達和理解,核心問題是研究如何對輸入的圖像信息進行組織,對物體和場景進行識別,進而對圖像內容給予解釋。
計算機視覺(Computer Vision, CV)是一門研究如何讓計算機達到人類那樣“看”的學科。更準確點說,它是利用攝像機和電腦代替人眼使得計算機擁有類似于人類的那種對目標進行分割、分類、識別、跟蹤、判別決策的功能。
計算機視覺是使用計算機及相關設備對生物視覺的一種模擬,是人工智能領域的一個重要部分,它的研究目標是使計算機具有通過二維圖像認知三維環境信息的能力。計算機視覺是以圖象處理技術、信號處理技術、概率統計分析、計算幾何、神經網絡、機器學習理論和計算機信息處理技術等為基礎,通過計算機分析與處理視覺信息。
通常來說,計算機視覺定義應當包含以下三個方面:
1、對圖像中的客觀對象構建明確而有意義的描述;
2、從一個或多個數字圖像中計算三維世界的特性;
3、基于感知圖像做出對客觀對象和場景有用的決策。
作為一個新興學科,計算機視覺是通過對相關的理論和技術進行研究,從而試圖建立從圖像或多維數據中獲取“信息”的人工智能系統。計算機視覺是一門綜合性的學科,其中包括計算機科學和工程、信號處理、物理學、應用數學和統計學,神經生理學和認知科學等,同時與圖像處理,模式識別,投影幾何,統計推斷,統計學習等學科密切相關,近年來,與計算機圖形學,三維表現等學科也發生了很強的聯系。
人工智能與計算機視覺
計算機視覺與人工智能有密切聯系,但也有本質的不同。人工智能的目的是讓計算機去看、去聽和去讀。圖像、語音和文字的理解,這三大部分基本構成了我們現在的人工智能。而在人工智能的這些領域中,視覺又是核心。大家知道,視覺占人類所有感官輸入的80%,也是最困難的一部分感知。如果說人工智能是一場革命,那么它將發軔于計算機視覺,而非別的領域。
人工智能更強調推理和決策,但至少計算機視覺目前還主要停留在圖像信息表達和物體識別階段。“物體識別和場景理解”也涉及從圖像特征的推理與決策,但與人工智能的推理和決策有本質區別。
計算機視覺和人工智能的關系:
第一, 它是一個人工智能需要解決的很重要的問題。
第二, 它是目前人工智能的很強的驅動力。因為它有很多應用,很多技術是從計算機視覺誕生出來以后,再反運用到AI領域中去。
第三, 計算機視覺擁有大量的量子AI的應用基礎。
計算機視覺技術的原理
計算機視覺就是用各種成象系統代替視覺器官作為輸入敏感手段,由計算機來代替大腦完成處理和解釋。計算機視覺的最終研究目標就是使計算機能象人那樣通過視覺觀察和理解世界,具有自主適應環境的能力。在實現最終目標以前,人們努力的中期目標是建立一種視覺系統,這個系統能依據視覺敏感和反饋的某種程度的智能完成一定的任務。例如,計算機視覺的一個重要應用領域就是自主車輛的視覺導航,還沒有條件實現象人那樣能識別和理解任何環境,完成自主導航的系統。因此,人們努力的研究目標是實現在高速公路上具有道路跟蹤能力,可避免與前方車輛碰撞的視覺輔助駕駛系統。
這里要指出的一點是在計算機視覺系統中計算機起代替人腦的作用,但并不意味著計算機必須按人類視覺的方法完成視覺信息的處理。計算機視覺可以而且應該根據計算機系統的特點來進行視覺信息的處理。但是,人類視覺系統是迄今為止,人們所知道的功能最強大和完善的視覺系統,對人類視覺處理機制的研究將給計算機視覺的研究提供啟發和指導。因此,用計算機信息處理的方法研究人類視覺的機理,建立人類視覺的計算理論,也是一個非常重要和信人感興趣的研究領域。
這一領域的深入研究是從20世紀50年代開始的,走的是三個方向——即復制人眼;復制視覺皮層;以及復制大腦剩余部分。
復制人眼——讓計算機“去看”
目前做出最多成效的領域就是在“復制人眼”這一領域。在過去的幾十年,科學家已經打造了傳感器和圖像處理器,這些與人類的眼睛相匹配,甚至某種程度上已經超越。通過強大、光學上更加完善的鏡頭,以及納米級別制造的半導體像素,現代攝像機的精確性和敏銳度達到了一個驚人的地步。它們同樣可以拍下每秒數千張的圖像,并十分精準地測量距離。
但是問題在于,雖然我們已經能夠實現輸出端極高的保真度,但是在很多方面來說,這些設備并不比19世紀的針孔攝像機更為出色:它們充其量記錄的只是相應方向上光子的分布,而即便是最優秀的攝像頭傳感器也無法去“識別”一個球,遑論將它抓住。
換而言之,在沒有軟件的基礎上,硬件是相當受限制的。因此這一領域的軟件才是要投入解決的更加棘手的問題。不過現在攝像頭的先進技術,的確為這軟件提供了豐富、靈活的平臺就是了。
復制視覺皮層——讓計算機“去描述”
要知道,人的大腦從根本上就是通過意識來進行“看”的動作的。比起其他的任務,在大腦中相當的部分都是專門用來“看”的,而這一專長是由細胞本身來完成的——數十億的細胞通力合作,從嘈雜、不規則的視網膜信號中提取模式。
如果在特定角度的一條沿線上出現了差異,或是在某個方向上出現了快速運動,那么神經元組就會興奮起來。較高級的網絡會將這些模式歸納進元模式(meta-pattern)中:它是一個朝上運動的圓環。同時,另一個網絡也相應而成:這次是帶紅線的白色圓環。而還有一個模式則會在大小上增長。從這些粗糙但是補充性的描述中,開始生成具體的圖像。
使用人腦視覺區域相似的技術,定位物體的邊緣和其他特色,從而形成的“方向梯度直方圖”
由于這些網絡一度被認為是“深不可測的復雜”,因此 在計算機視覺研究的早期,采用的是別的方式:即“自上而下的推理”模式——比如一本書看起來是“這樣”,那么就要注意與“這個”類似的模式。而一輛車看起來是“這樣”,動起來又是“這樣”。
在某些受控的情況下,確實能夠對少數幾個物體完成這一過程,但如果要描述身邊的每個物體,包括所有的角度、光照變化、運動和其他上百個要素,即便是咿呀學語的嬰兒級別的識別,也需要難以想象的龐大數據。
而如果不用“自上而下”,改用“自下而上”的辦法,即去模擬大腦中的過程,則看上去前景更加美好:計算機可以在多張圖中,對一張圖片進行一系列的轉換,從而找到物體的邊緣,發現圖片上的物體、角度和運動。就像人類的大腦一樣,通過給計算機觀看各種圖形,計算機會使用大量的計算和統計,試著把“看到的”形狀與之前訓練中識別的相匹配。
科學家正在研究的,是讓智能手機和其他的設備能夠理解、并迅速識別出處在攝像頭視場里的物體。如上圖,街景中的物體都被打上了用于描述物體的文本標簽,而完成這一過程的處理器要比傳統手機處理器快上120倍。
隨著近幾年并行計算領域的進步,相關的屏障逐漸被移除。目前出現了關于模仿類似大腦機能研究和應用的爆發性增長。模式識別的過程正在獲得數量級的加速,我們每天都在取得更多的進步。
復制大腦剩余部分——讓計算機“去理解”
當然,光是“識別”“描述”是不夠的。一臺系統能夠識別蘋果,包括在任何情況、任何角度、任何運動狀態,甚至是否被咬等等等等。但它仍然無法識別一個橘子。并且它甚至都不能告訴人們:啥是蘋果?是否可以吃?尺寸如何?或者具體的用途。
前面說過,沒有軟件,硬件的發揮非常受限。但現在的問題是,即便是有了優秀的軟硬件,沒有出色的操作系統,也“然并卵”。
對于人們來說,大腦的剩余部分由這些組成,包括長短期記憶、其他感官的輸入、注意力和認知力、從世界中萬億級別的交互中收獲的十億計知識,這些知識將通過我們很難理解的方式,被寫入互聯的神經。而要復制它,比起我們遇到過的任何事情都要更加復雜。
計算機視覺的應用領域
計算機視覺的應用領域主要包括對照片、視頻資料如航空照片、衛星照片、視頻片段等的解釋、精確制導、移動機器人視覺導航、醫學輔助診斷、工業機器人的手眼系統、地圖繪制、物體三維形狀分析與識別及智能人機接口等。
早期進行數字圖像處理的目的之一就是要通過采用數字技術提高照片的質量,輔助進行航空照片和衛星照片的讀取判別與分類。由于需要判讀的照片數量很多,于是希望有自動的視覺系統進行判讀解釋,在這樣的背景下,產生了許多航空照片和衛星照片判讀系統與方法。自動判讀的進一步應用就是直接確定目標的性質,進行實時的自動分類,并與制導系統相結合。目前常用的制導方式包括激光制導、電視制導和圖像制導,在導彈系統中常常將慣性制導與圖像制導結合,利用圖像進行精確的末制導。
工業機器人的手眼系統是計算機視覺應用最為成功的領域之一,由于工業現場的諸多因素,如光照條件、成像方向均是可控的,因此使得問題大為簡化,有利于構成實際的系統。與工業機器人不同,對于移動機器人而言,由于它具有行為能力,于是就必須解決行為規劃問題,即是對環境的了解。隨著移動式機器人的發展,越來越多地要求提供視覺能力,包括道路跟蹤、回避障礙、特定目標識別等。目前移動機器人視覺系統研究仍處于實驗階段,大多采用遙控和遠視方法。
在醫學上采用的圖像處理技術大致包括壓縮、存儲、傳輸和自動/輔助分類判讀,此外還可用于醫生的輔助訓練手段。與計算機視覺相關的工作包括分類、判讀和快速三維結構的重建等方面。長期以來,地圖繪制是一件耗費人力、物力和時間的工作。以往的做法是人工測量,現在更多的是利用航測加上立體視覺中恢復三維形狀的方法繪制地圖,大大提高了地圖繪制的效率。同時,通用物體三維形狀分析與識別一直是計算機視覺的重要研究目標,并在景物的特征提取、表示、知識的存儲、檢索以及匹配識別等方面都取得了一定的進展,構成了一些用于三維景物分析的系統。
近年來,基于生物特征(biometrics)的鑒別技術得到了廣泛重視,主要集中在對人臉、虹膜、指紋、聲音等特征上,這其中大多都與視覺信息有關。與生物特征識別密切相關的另一個重要應用是用于構成智能人機接口。現在計算機與人的交流還是機械式的,計算機無法識別用戶的真實身份,除鍵盤、鼠標外,其他輸入手段還不成熟。利用計算機視覺技術可以使計算機檢測到用戶是否存在、鑒別用戶身份、識別用戶的體勢(如點頭、搖頭)。此外,這種人機交互方式還可推廣到一切需要人機交互的場合,如入口安全控制、過境人員的驗放等。