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