在幾乎所有的科幻電影里,人工智能機器人都能像人類那樣,用計算機視覺動態的識別周圍環境、人與物。《星球大戰7》里的新型機器人BB-8,還能通過頭部的配合,制造出各種萌萌的眼神和表情。
然而與人類數千年的文化相比,計算機科學本身也不過幾十年的歷史。人眼可以輕易的識別各種2D和3D圖像,對于計算機來說只是無數像素點的集合。如何讓計算機分析這些捕獲的像素點,“識別”出來各種物體,一直是計算機視覺想要攻克的難關。
微軟研究院作為全球最大的企業研究院之一,長期以來也與其它科技機構一樣,試圖打開機器之眼。2015年底,微軟在全球頂級的計算機視覺挑戰賽ImageNet中拿下了全部三項主要項目的冠軍。與此同時,在硬件端微軟還開發出了針對智能終端的視覺識別模型壓縮算法。
可以說,現在離計算機視覺的全面突破,只有一步之遙。
百層卷積神經網絡
ImageNet挑戰賽的項目之一是對1000類、120萬張互聯網圖片進行分類,每張圖片人工標注5個相關類別,計算機識別的結果只要有一個和人工標注類別相同就算對。對于該圖片集,人眼辨識錯誤率大概為5.1%,目前只有谷歌和微軟等個別參賽團隊的算法能夠達到低于5%的結果。
2015年12月10日,微軟亞洲研究院視覺計算組在ImageNet計算機識別挑戰賽中再次打破紀錄,獲得圖像分類、圖像定位以及圖像檢測全部三個主要項目的冠軍,將系統錯誤率降低至3.57%。
在計算機視覺識別領域,卷積神經網絡是主要的識別算法。微軟亞洲研究院視覺計算組首席研究員孫劍介紹,之所以能實現3.57%的重大突破,是因為他所帶領的研究團隊使用了前所未有的高達百層的深層卷積神經網絡算法,比以往任何成功的算法層數多達5倍以上。
目前神經網絡算法的層級普遍為20到30層,而在此次挑戰賽中微軟團隊的卷積神經網絡實現了152層。孫劍的團隊還采用了全新的“殘差學習”原則,很好地解決了神經網絡的層級數與準確度之間的矛盾。孫劍說,“深層殘差網絡”極為通用,將極大地改善計算機視覺的研究。
把視覺識別推進到智能終端里
ImageNet挑戰賽不斷激勵參賽的研究機構開發和優化計算機視覺識別算法,但在實際商業應用中卻需要把已經研究出來的科學算法,用簡單易用、高效可靠的工程化方式在智能手機等智能終端上實現。
微軟亞洲研究院硬件計算組與清華大學電子工程系一直在硬件加速領域合作近10年,從2013年開始雙方一起研究怎樣把深層卷積神經網絡與智能硬件結合起來,其成果就是基于FPGA(可編程芯片)技術的A-Eye視覺芯片。
FPGA對用卷積神經網絡算法進行圖像識別、壓縮算法進行大數據處理等方面有重要價值。微軟的研究表明,高端GPU的圖像處理能力是FPGA的2到3倍,但FPGA的功耗約是高端GPU的1/10,多個FPGA結合能以低功耗達到GPU的處理能力。
微軟亞洲研究院硬件計算組主管研究員徐寧儀介紹說,A-Eye視覺芯片本質上是想把現有的計算機視覺識別算法嵌入到普通的攝像頭里。現在,深層神經網絡算法的層數越來越高,需要的計算能力越來越強,而智能手機等終端設備的計算、存儲和功耗都很有限,因此A-Eye本質上是通過軟件壓縮和定制的硬件加速,讓計算機視覺識別算法適用于普通的智能終端。
A-Eye視覺芯片包括了一個基于軟件的壓縮算法和基于FPGA芯片的硬件實現,可把一個典型的卷積神經模型壓縮近五倍,并且在一個2cm×2cm面積的FPGA芯片里實現。A-Eye視覺芯片是一個通用的平臺,適用于任何深層卷積神經網絡算法。經過壓縮后,一個原來500M的視覺識別算法能被壓縮到100M左右。
距離通用型視覺識別“一步之遙”
目前的攝像頭主要能完成圖像記錄、存儲等功能,而在攝像頭上嵌入A-Eye視覺芯片,就可以讓攝像頭具有視覺理解能力。基于A-Eye技術的高性能智能視覺芯片,可以廣泛用于智能安防、嬰兒和老人看護、無人汽車和無人機等各種需要計算機視覺的領域。城市的安防攝像頭如果配備了A-Eye芯片,就可以同時尋找一個“穿黃上衣背黑背包的人”,并且不漏過每一幀圖像。
那么,有了百層的神經網絡和適用于智能終端的壓縮技術后,是否智能終端就具有與人類媲美的視覺識別能力了呢?還不是。徐寧儀介紹說,雖然可以把A-Eye技術工程化,用成本更低、更小型的通用芯片實現智能手機或網絡攝像頭的視覺識別能力,但由于深層神經網絡算法僅僅是針對某一類圖像數據的“識別”,類似人眼這樣的通用圖像識別,還有一段路要走。
所謂深層神經網絡算法或機器算法,本身僅僅是對某一類圖形圖像數據的數學建模,也就是要根據應用場景建立相應的數學模型。以花卉識別為例,微軟亞洲研究院與中科院合作,對260萬張花卉照片進行深層神經網絡訓練,得出了花卉類的通用數學模型。基于這個數學模型,可以對攝像頭掃描進來的任何花卉圖片進行識別,準確叫出花卉的名字及所屬的界、門、綱、目、科、屬、種。
換句話說,目前的視覺識別算法和壓縮技術,僅僅是一種建立數學模型的工具。把海量的動物圖片輸入到這個工具,另一端得出來的數學模型就只能識別動物圖片,以此類推。所以,基于微軟的研究成果,可以開發出針對特定場景、可商用的計算機視覺智能解決方案。
那么,我們離通用型計算機視覺智能還有多遠?徐寧儀說,這個愿景也許不難實現。所謂“看過世界才知道世界是什么樣”,一個可能的方法是通過搜索引擎生成一個半通用型圖像識別模型,然后再把具體要識別的圖片與這個半通用型模型結合,迅速得出定制化、場景化的模型。
從目前微軟等公司的研究進展看,人類離可商用的通用型實時計算機視覺已經逼近拐點。背后還有一個推動力不可忽視:全球5G技術的研發已在2016年初大規模啟動,移動網絡帶寬很快將不再是問題,智能手機等智能終端的性能也在飛速提升中。
更多資訊請關注機器視覺頻道。