飛思卡爾i.MX6應用處理器助力機器視覺(jué)
i.MX6非常突出的一個(gè)優(yōu)勢是它提供了OpenCL支持,為什么OpenCL對于機器視覺(jué)如此關(guān)鍵呢?
正如上文提到的,機器視覺(jué)系統需要進(jìn)行大量并行的數據運算,包括圖像校正、圖像灰度化及二值化、圖像分割與裁剪,邊緣檢測等等。目前許多機器視覺(jué)算法基于開(kāi)源的OpenCV來(lái)實(shí)現OpenCV(Open Source Computer Vision Library)是一個(gè)致力于實(shí)時(shí)處理計算機視覺(jué)運算的開(kāi)源庫,至今已有超過(guò)250萬(wàn)的用戶(hù)。雖然OpenCV的目標是能夠實(shí)時(shí)地處理計算機視覺(jué)問(wèn)題,但是大多數計算機視覺(jué)的算法太過(guò)復雜,無(wú)法在CPU上實(shí)時(shí)執行。而計算機視覺(jué)的大多數算法具有天生的并行性,因此非常適合在GPU和APU上執行并獲得極大的加速。
OpenCL正是為滿(mǎn)足這樣的需求而定義的。OpenCL(Open Computing Language)是一個(gè)在異構平臺如CPU和GPU上高效執行程序的開(kāi)源計算框架,使得GPU可以分擔CPU的計算負荷。
i.MX6 擁有強大的GPU運算能力,圖3顯示了i.MX6Q的GPU性能,其3D引擎GC2000內部包含4個(gè)shader,可提供高達30GFLOPS的運算能力,支持OpenCL 1.1 EP。此外,i.MX6Q還擁有一個(gè)專(zhuān)用的2D引擎(1Gpixel/s)和一個(gè)矢量圖形處理引擎。飛思卡爾還提供完整的OpenCL SDK開(kāi)發(fā)包。
此外,i.MX6的每一個(gè)Cortex-A9內核都配備了一個(gè)NEON加速單元,可以為SIMD(單指令多數據)處理提供額外的運算支持。i.MX6Q內部還集成了IPU(圖像處理單元),可以提供豐富的顯示輸入/輸出接口以及圖像處理能力(圖4)。其中攝像頭輸入接口包括20位的并口以及MIPI CSI-2串行接口,每個(gè)MIPI CSI-2都包含4個(gè)lane,接口速度達800 Mbps/lane。圖像處理功能包括圖像質(zhì)量增強、色彩空間轉換,分辨率轉換,旋轉、翻轉等。
完善的安全性保護IP和運行安全
在物聯(lián)網(wǎng)時(shí)代,當機器視覺(jué)被應用在工廠(chǎng)產(chǎn)線(xiàn)、安保領(lǐng)域或者是各類(lèi)機器人上時(shí),一旦受到網(wǎng)絡(luò )攻擊,控制權被奪取的話(huà),產(chǎn)生的后果將是災難性的。這就要求機器視覺(jué)必須部署在可靠的硬件執行環(huán)境中。
i.MX6提供非常完善的安全特性來(lái)保證用戶(hù)的知識產(chǎn)權和設備運行可靠性。其中包括:
(1)可信執行環(huán)境:i.MX6內建TrustZone安全運行環(huán)境,可以將代碼執行環(huán)境分割為一般執行和安全執行兩個(gè)空間,其內部的硬件防火墻可以將CPU與外部總線(xiàn)訪(fǎng)問(wèn)、DMA、以及外設訪(fǎng)問(wèn)隔絕。
(2)高可靠性啟動(dòng)(HAB):客戶(hù)可以對其軟件進(jìn)行加密保護,每次處理器啟動(dòng)的時(shí)候,HAB都會(huì )通過(guò)RSA公鑰算法檢查數字簽名,防止未授權的軟件執行。
(3)硬件加密引擎(CAAM)以及隨機數生成器(RNG):支持對稱(chēng)加密算法AES-128,AES-256,3DES, ARC4,以及消息摘要算法如 SHA-1,SHA-256,MD-5等。
(4)安全存儲區(Secure RAM):i.MX6內部有16KB 安全RAM,可以存儲敏感的代碼以及數據,該RAM區帶有自清除功能,在受到攻擊時(shí)將自動(dòng)清零。
結語(yǔ)
i.MX6憑借出色的計算性能、高安全性、廣泛的生態(tài)系統、工業(yè)級的品質(zhì)以及至少15年的供貨,成為構建計算視覺(jué)的極佳平臺。飛思卡爾正在和i.MX生態(tài)系統中的合作伙伴一起,為迎接基于視覺(jué)技術(shù)的人工智能時(shí)代的到來(lái)做好準備。
攝像頭相關(guān)文章:攝像頭原理
評論