飛思卡爾MPU亞太區(qū)市場經(jīng)理 李星宇
“當你戴上這副眼鏡,它會自動告訴你,你手指所指的東西是什么!”在日前舉行的飛思卡爾技術論壇上,飛思卡爾CEO Gregg Lowe和以色列OrCam公司創(chuàng)始人Amnon Shashua教授現(xiàn)場演示了Orcam為視力障礙人士設計的視覺輔助裝置,現(xiàn)場演示中,當這個裝置成功地朗讀出報紙的一篇新聞,并為演示者辨認出一張百元鈔票時,場下掌聲雷動。OrCam表示,全球范圍內(nèi)有超過3億人有視力障礙或視力受損,這項鼓舞人心的成就將為他們帶來新的希望。
該設備基于飛思卡爾i.MX 6Q處理器。Shashua表示:“i.MX 6Q四核處理器提供卓越性能,并支持全天的續(xù)航,為因視覺障礙而阻礙他們與周圍世界輕松互動的人們設計可穿戴、經(jīng)濟和直觀的解決方案。OrCam能夠幫助視障人士彌補失去的視力,顯著提高其生活質量。”
i.MX 6Q處理器集成4個ARM Cortex-A9內(nèi)核,運行速率高達1.2 GHz,并在內(nèi)部集成了3個GPU,可提供出色性能來處理Orcam產(chǎn)品視覺傳感器捕獲的海量數(shù)據(jù),支持在單芯片上執(zhí)行所有圖像處理算法和軟件語音編解碼器。
越來越多的機器視覺創(chuàng)新應用正在涌現(xiàn),其中一個就是先進駕駛輔助系統(tǒng)(ADAS),德國的DSP Weuffen公司與飛思卡爾合作,推出了基于i.MX6的多攝像頭環(huán)視(Surrounding View)泊車輔助系統(tǒng),它通過4個攝像頭采集車輛四周的圖像,并以虛擬俯視圖的形式在屏幕上顯示。視角會根據(jù)行車軌跡而動態(tài)移動,提供車輛四周360°的畫面。這一系統(tǒng)可以改善眾多新手的駕駛體驗。對于正在進入汽車社會的中國來說,這無疑是極具吸引力的賣點。
飛思卡爾還與Intersil公司合作,推出一款經(jīng)濟型的多攝像頭解決方案,在該方案中,Intersil的TW6865接口芯片可以連接多達4個CVBS攝像頭,并將產(chǎn)生的數(shù)據(jù)通過PCIe接口傳輸至i.MX6,目前已經(jīng)有國內(nèi)的設計公司推出了基于該方案的ADAS系統(tǒng)。該方案更可應用于公交巴士、樓宇監(jiān)控等場合。
這只是冰山的一角,基于i.MX6的計算視覺應用還包括用于工廠生產(chǎn)線上手機屏幕品質的檢測,該系統(tǒng)可以檢測屏幕亮點、黑點以及灰度值等;在商場或者超市,利用機器視覺進行人流量統(tǒng)計分析,為商業(yè)大數(shù)據(jù)分析提供支持;在電梯領域,分析各個樓層的人數(shù),以便進行更加高效的調度;在安保方面,有實時運動物體檢測,并且有Auzone這樣的專業(yè)合作伙伴提供多種算法支持。
圖1 基于i.MX 6系列處理器的多攝像頭環(huán)視泊車輔助系統(tǒng)
工業(yè)自動化正在邁向工業(yè)智能化。業(yè)內(nèi)專家認為,人口紅利的劉易斯拐點將會在2015年出現(xiàn)。隨著勞動人口的下降和老齡人口的上升,許多企業(yè)將面臨勞動力成本上升的問題,因此對于工業(yè)智能化有強烈的需求。這為機器視覺帶來了全新的應用。
目前簡單勞動的機器替代趨勢已經(jīng)形成,而具有機器視覺的智能設備可以幫助自動化設備實現(xiàn)高度靈活的配置,以及適應更加復雜的作業(yè)任務,例如物流分揀、產(chǎn)品品質檢測、高精度加工、裝配工作等,而通過M2M的互聯(lián),更有助于提高自動化系統(tǒng)內(nèi)部各個單元的協(xié)作效率,從而擴大機器替代人力勞動的范圍。據(jù)國際機器人聯(lián)合會此前預測,到2014年,中國將成為全球工業(yè)機器人的最大市場,年均銷售增長率達到25%。我們注意到,汽車制造、電子裝配、倉儲物流以及建材生產(chǎn)等行業(yè)對于工業(yè)機器人的需求非常旺盛。
在人工成本急劇上升、產(chǎn)業(yè)結構升級的宏大背景下,中國不斷出臺新的政策支持工業(yè)機器人的發(fā)展。2015年伊始,中國工業(yè)機器人即迎來重大利好。工信部發(fā)布《關于推進工業(yè)機器人產(chǎn)業(yè)發(fā)展的指導意見》,針對中國工業(yè)機器人的發(fā)展現(xiàn)狀,《意見》提出了具體目標,包括到2020年,高端產(chǎn)品市場占有率提高到45%以上,機器人密度(每萬名員工使用機器人臺數(shù))達到100以上,等等。這意味著政府認為在未來6年內(nèi)中國工業(yè)機器人的保有量將增長4倍。
機器視覺的另一個應用是鋼鐵工業(yè),包括焊縫的自動跟蹤,帶鋼表面缺陷的自動檢測、連鑄、軋鋼等工序中的品質控制等等??紤]到中國龐大的鋼鐵工業(yè)規(guī)模,機器視覺技術帶來的經(jīng)濟回報可達千億元的量級。這些技術同樣可以使玻璃、石化等傳統(tǒng)行業(yè)受益。
從更長遠的視角來看,機器視覺是繼語音之后,人工智能發(fā)展的下一個關鍵環(huán)節(jié)。目前人工智能在語音方面已經(jīng)步入了實用化,蘋果的Siri和三星的S-Voice等應用已經(jīng)為智能手機帶來了體驗上的巨大提升,但在視覺領域,這樣的創(chuàng)新應用才剛剛開始,一個關鍵因素在于視覺人工智能在技術上的要求較語音技術高得多,在實時狀態(tài)下,視頻數(shù)據(jù)的生成量要超過音頻數(shù)據(jù)兩到三個數(shù)量級,由此導致的計算量也同步增加。微軟的Kinect在這方面邁出了重要的一步,僅僅為了識別人體部位,就需要數(shù)以TB計的數(shù)據(jù)被輸入到集群系統(tǒng)中來教會Kinect以像素級技術來辨認手、腳以及它看到的其他身體部位。
在未來,我們會看到更多之前難以想象的機器視覺應用投入實用,例如用于反恐的人流實時識別分析技術、通過分析瞳孔變化來監(jiān)測生理/心理變化的技術(可用于非干擾的酒駕檢查、疲勞駕駛監(jiān)測、醫(yī)院看護)、無人駕駛汽車等。這些技術有機會帶來超過萬億美元的商機。
i.MX6非常突出的一個優(yōu)勢是它提供了OpenCL支持,為什么OpenCL對于機器視覺如此關鍵呢?
正如上文提到的,機器視覺系統(tǒng)需要進行大量并行的數(shù)據(jù)運算,包括圖像校正、圖像灰度化及二值化、圖像分割與裁剪、邊緣檢測等等。目前,許多機器視覺算法基于開源的OpenCV來實現(xiàn)。OpenCV(Open Source Computer Vision Library)是一個致力于實時處理計算機視覺運算的開源庫,至今已有超過250萬的用戶。雖然OpenCV的目標是能夠實時地處理計算機視覺問題,但是大多數(shù)計算機視覺的算法太過復雜,無法在CPU上實時執(zhí)行。而計算機視覺的大多數(shù)算法具有天生的并行性,因此非常適合在GPU和APU上執(zhí)行并獲得極大的加速。
OpenCL正是為滿足這樣的需求而定義的。OpenCL(Open Computing Language)是一個在異構平臺(如CPU和GPU)上高效執(zhí)行程序的開源計算框架,使得GPU可以分擔CPU的計算負荷。它使應用程序能夠在GPU上執(zhí)行,使GPU不僅可以執(zhí)行圖形程序,而且可以執(zhí)行通用計算程序(GPGPU)。利用OpenCL加速,GPU強大的并行處理能力和可編程流水線處理圖形算法,在性能上大大超越了傳統(tǒng)的CPU。目前基于OpenCL的OpenCV擴展庫已經(jīng)發(fā)布,可以在Google Code中下載。
i.MX6擁有強大的GPU運算能力,其3D引擎GC2000內(nèi)部包含4個shader,可提供高達30GFLOPS的運算能力,支持 OpenCL 1.1 EP。此外,i.MX6Q還擁有一個專用的2D引擎(1Gpixel/s)和一個矢量圖形處理引擎。飛思卡爾還提供完整的OpenCL SDK開發(fā)包。
此外,i.MX6的每一個Cortex-A9內(nèi)核都配備了一個NEON加速單元,可以為SIMD(單指令多數(shù)據(jù))處理提供額外的運算支持,用戶可以非常輕松地在NEON上利用Ne10算法庫進行算法加速,由于NEON的時鐘和CPU同頻,并且可以直接訪問L1/L2緩存,因此其可以高效處理DSP運算任務。
i.MX6內(nèi)部還集成了IPU(圖像處理單元),可以提供豐富的顯示輸入/輸出接口以及圖像處理能力。其中攝像頭輸入接口包括20位的并口以及MIPI CSI-2串行接口,每個MIPI CSI-2都包含4個lane,接口速度達800 Mbps/lane。圖像處理功能包括圖像質量增強、色彩空間轉換、分辨率轉換、旋轉、翻轉等。
在機器視覺應用領域,客戶最具價值的資產(chǎn)就是其軟件算法,如何防止算法被竊取顯得至關重要。在物聯(lián)網(wǎng)時代,當機器視覺被應用在工廠生產(chǎn)線、安保領域或者是各類機器人上時,一旦其受到網(wǎng)絡攻擊、控制權被奪取,產(chǎn)生的后果將是災難性的。這就要求機器視覺必須是部署在可靠的硬件執(zhí)行環(huán)境中。
i.MX6提供非常完善的安全特性來保證用戶的知識產(chǎn)權和設備運行可靠性。其中包括:
①可信執(zhí)行環(huán)境:i.MX6內(nèi)建TrustZone安全運行環(huán)境,可以將代碼執(zhí)行環(huán)境分割為一般執(zhí)行和安全執(zhí)行兩個空間,其內(nèi)部的硬件防火墻可以將CPU與外部總線訪問、DMA以及外設訪問隔絕。
②高可靠性啟動(HAB):客戶可以對其軟件進行加密保護,每次處理器啟動的時候,HAB都會通過RSA公鑰算法檢查數(shù)字簽名,防止未授權的軟件執(zhí)行。
③硬件加密引擎(CAAM)以及隨機數(shù)生成器(RNG):支持對稱加密算法 AES-128,AES-256,3DES,ARC4,以及消息摘要算法(如 SHA-1、SHA-256、MD-5等)。
④安全存儲區(qū)(Secure RAM):i.MX6內(nèi)部有16 KB安全RAM,可以存儲敏感的代碼以及數(shù)據(jù),該RAM區(qū)帶有自清除功能,在受到攻擊時將自動清零。