- 相關推薦
對于未來計算機視覺應用的深思
無論是計算能力,還是記憶能力,計算機的如今表現都堪稱卓越。但僅擁有這些還遠遠不夠,我們期待計算機可以做得更多。耕耘在計算機視覺領域十余年,賦予計算機一雙慧眼,讓它也能看懂這個多彩的世界,一直是激勵著眾多計算機從業人員在這條充滿挑戰的道路上前行的重要力量。在這篇文章中,小編將就如何讓計算機能“看”懂世界這個主題,為大家介紹計算機視覺的基本概念、這個領域面臨的挑戰、一些帶來重要突破的技術并展望未來的演進趨勢。
世界如何在我們眼中形成?
對人類而言,“認人”似乎是與生俱來的本能,剛出生幾天的嬰兒就能模仿父母的表情;它賦予我們只憑極少細節就分辨彼此的能力,借著暗淡燈光我們仍能認出走廊那端的朋友。然而,這項對人類而言輕而易舉的能力,對計算機而言卻舉步維艱。過去很長一段時間,計算機視覺技術徘徊不前,在進一步探求前,不如先談談我們是如何用眼睛觀察世界的。
相信大家都在中學的物理課上嘗過小孔成像的原理。不過人的眼睛要比小孔成像復雜得多,當我們觀察物體時,每秒大約掃視3次,并有1次駐留。當視網膜的感光體感受到蠟燭的輪廓,一個被稱為中央凹的區域其實是以扭曲變形的形式記錄下蠟燭的形狀。
那么問題來了,為何我們看到的世界既未扭曲也沒有變形呢?很簡單,因為人類擁有大腦皮層這個萬能的“轉換器”,它將我們的視覺神經捕捉到的信號轉換為真實的形象。這個“轉換器”可簡化理解為四個區域,生物學家將它們分別稱為V1、V2、V4和IT區。V1區的神經元,只針對整個視覺區域中很小的一部分做出反應,例如,某些神經元發現一條直線,就變得異常活躍。這條直線可以是任何事物的一部分,也許是桌邊,也許是地板,也許是這篇文章某個字符的筆劃。眼睛每掃視一次,這部分神經元的活動就可能發生快速變化。
奧秘出現在大腦皮層頂層的IT區,生物學家發現,物體在視野的任何地方出現(例如一張臉),某些神經元會一直處于固定的活躍狀態中。也就是說,人類的視覺辨識是從視網膜到IT區,神經系統從能識別細微特征,到逐漸變為能識別目標。如果計算機視覺也可以擁有一個“轉換器”,那么計算機識別的效率將大為提高,人眼視覺神經的運作為計算機視覺技術的突破提供了啟迪。
計算機為何總是“霧里看花”?
盡管人眼識別的奧秘已經被逐步揭開,但直接應用于計算機上卻非易事。我們會發現計算機識別總是在“霧里看花”,一旦光線、角度等發生變化,計算機難以跟上環境的節奏,就會誤識。對計算機而言,識別一個在不同環境下的人,還不如識別在同一環境下的兩個人來得簡單。這是因為最初研究者試圖將人臉想象為一個模板,用機器學習的方法掌握模板的規律。然而人臉雖然看起來是固定的,但角度、光線、打扮不同,樣子也有差別,都令簡單的模板難以匹配所有人臉。
因此,人臉識別的核心問題在于,如何讓計算機忽略同一個人的內部差異,又能發現兩個人之間的分別,即讓同一個人相似,不同的人有別。
對人工神經網絡的引進是計算機視覺超越模板識別的關鍵。然而人類尚且未完全掌握神經的運作機制時,又該如何引導計算機進步呢?人工神經網絡在1960年代就已萌芽,初期理論只固定在簡單的模型之上,即生物課上的“輸入-隱層-輸出”模型。在介紹神經的工作原理時,老師們一般都會簡單告知是外界刺激接觸到輸入神經元,輸入神經元再鏈接其他部分形成隱層,最后通過輸出神經元表現出來。這些神經元的鏈接強度并不相同,就像不同樂譜的強弱高低不同,人工神經網絡就是依靠這些神經元之間不同的鏈接強度,學會將輸入方式映射到輸出上。
不過“樂譜”只是靜止不動的,而且只能從“輸入走向輸出”,不存在反向呈現。也就是說如果人靜止不動,計算機也許可以通過這一原理讀出,但這在現實生活中不可能實現。1980年代末期,用于人工神經網絡的“反向傳播算法”發明,它能將輸出單元的錯誤傳回輸入單元,并記住它。這種方法令人工神經網絡能從大量訓練樣本中學習統計規律,對未知事件做出預測。不過與大腦的復雜及層級結構相比,這種只包含一個隱層的神經網絡構造還顯得微不足道。
深層神經網絡為計算機“撥云見日”
2006年,多倫多大學教授Geoffrey Hinton在深層神經網絡的訓練上取得了突破。一方面,他證明了多隱層的人工神經網絡具備更優異的特征學習能力,另一方面能通過逐層初始化克服此前一直困擾研究者的訓練難題——基本原理是先通過大量無監督數據保證網絡初始化,再用有監督數據在初始化好的或者是預訓練的網絡上優化調整。
受到這些因素的啟發,如今的人臉或圖像識別研究,大多基于CNN(Convolution Neural Networks)原理。CNN可以被視為一種逐層掃描的“機器”。第一層檢測邊緣、角點、平坦或不平坦的區域,這一層幾乎不包含語義信息;第二層基于第一層檢測的結果進行組合,并將組合傳遞給下一層,以此類推。多層掃描之下,累加準確率,計算機就在向前文提及的“讓同一個人相似,不同的人有別”這一目標邁進。
CNN的學名為帶有卷積結構的深度神經網絡,這一網絡識別物體還可分為兩個步驟:圖像分類和物體檢測。在第一個階段,計算機首先識別出物體的種類,例如人、動物或其他物品;第二個階段,計算機獲取物品在圖像中的精確位置——這兩個階段分別回答了“是什么”和“在哪里”兩個問題。微軟的智能聊天機器人“小冰”具有辨識狗的品種的能力即是CNN的典型示例。首先,需要搭建一個好幾層深度卷積網絡。第一層跟人類視覺系統的定義很像,用來對一些小的邊緣或者小的色塊做一些檢測;第二層會把這些小的結構組成大的結構,如狗腿和狗的眼睛;依次向上進行組織,最后就能鑒別出狗的種類來。其次,需要往這個帶有卷積結構的深度神經網絡里投入很多的圖,訓練系統識狗的準確度。
2013年,加州大學伯克利分校的研究者們提出了一種稱為叫R-CNN方式(Region-based CNN)的物體檢測方法,具有很高的識別準確度,它將每張圖像分為多個窗口或個子區,在每個子區域應用神經網絡進行分類。但其主要缺陷在于,對于實時檢測,算法過慢。為了在一張圖片上檢測幾個物體,整個神經網絡可能需要運算上千次。
在微軟亞洲研究院,視覺計算組的研究員們實現了一種稱為空間金字塔聚合(Spatial Pyramid Pooling,SPP)的新算法,通過在內部特征識別,而不是每個區域從頭檢測,對整個圖片只做一次計算。利用這種新算法,在不損失準確度的前提下,物體檢測速度有了上百倍的提升。在2014年ImageNet大規模視覺識別挑戰賽中,微軟亞洲研究院采用SPP算法的系統取得了分類第三名和檢測第二名的成績。目前,這項技術已經成功轉化進入OneDrive中。采用了這項技術后,OneDrive可以自動為上傳的圖片添加標簽。同時,用戶輸入關鍵詞,就可以搜索與之相對應的圖片。
展望未來 計算機視覺和人類共舞
如果單純識別面部,而不考慮發型和身體的其他部分,人類的正確率約為97.5%,而計算機目前則能達到99%以上。這是否意味著計算機已經勝過了人類?不是,因為我們不只觀察面部,身材和體態都有助于我們認出對方。在復雜光照的真實環境下,人能夠更智能地選擇這些分支幫助自己決策,而計算機在這方面則要遜色許多。不過,如果數據量龐大,或者面對陌生的臉孔,計算機又更強大些。如果能夠各揚其長,歌詞中所唱的“借我一雙慧眼吧”或許將會實現。
人類通過不斷發明的新技術來替代舊技術去更高效和經濟地完成任務。在計算機視覺領域亦是如此,我們開發更便捷人臉識別用于門禁系統,以替代手動的輸入用戶名和密碼——Xbox One利用紅外相機設計的人臉識別系統就頗受用戶好評。
除上述人類自身也能做到的識別功能外,計算機視覺還可應用在那些人類能力所限,感覺器官不能及的領域和單調乏味的工作上——在微笑瞬間自動按下快門,幫助汽車駕駛員泊車入位,捕捉身體的姿態與電腦游戲互動,工廠中準確地焊接部件并檢查缺陷,忙碌的購物季節幫助倉庫分揀商品,離開家時掃地機器人清潔房間,自動將數碼照片進行識別分類……
或許在不久的將來,超市電子秤就能辨別出蔬菜的種類;門禁系統能分辨出帶著禮物的朋友,抑或手持撬棒的即將行竊的歹徒;可穿戴設備和手機幫助我們識別出鏡頭中的任何物體并搜索出相關信息。更奇妙的是,它還能超越人類雙眼的感官,用聲波、紅外線來感知這個世界,觀察云層的洶涌起伏預測天氣,監測車輛的運行調度交通,甚至突破我們的想象,幫助理論物理學家分析超過三維的空間中物體運動。
曾經,人類用眼睛記錄了波瀾壯闊的歷史。未來,我們希望逐步開啟計算機的眼,讓它在看懂這個多彩的世界的同時,也能幫助人類更高效和智能地完成工作和生活。期待在計算機視覺和人類的共舞下,世界不僅有多彩,更有智慧。
【對于未來計算機視覺應用的深思】相關文章:
小議計算機視覺的應用03-06
對于新西蘭留學回購是否好就業的深思01-09
視覺流程在平面設計中的應用03-19
網頁視覺平面中平面設計語言的應用03-05
計算機應用常識03-21
學好計算機應用01-10
計算機應用技術的應用與發展03-27
計算機應用開題報告03-18
計算機基礎應用試題02-26