嵌入式視覺的發(fā)展趨勢及其算法示例
在這篇文章中,前賽靈思機器視覺市場戰(zhàn)略總監(jiān)Aaron Behman 針對嵌入式視覺方面的問題進行了介紹,并解讀了賽靈思 All Programmable Zynq® SoC 的獨特解決方案。希望能為讀者了解該領域的問題有所幫助。
一、嵌入式視覺四大普遍趨勢
嵌入式視覺可劃分為兩個高級類別;感知環(huán)境和采取行動。視覺導向的機器人和無人機屬于后面的采取行動類。
在民用領域,目前無人機是商業(yè)、醫(yī)療、農(nóng)業(yè)、廣播和執(zhí)法應用中最熱門的話題之一。對許多這樣的應用,無人機可提供顯著的優(yōu)勢。在廣播和執(zhí)法領域,無人機能夠以低得多的成本提供之前需要直升機才能提供的能力。無人機還能執(zhí)行預訂服務,例如即將推出的 Amazon Prime 交貨服務,或者如烏干達偏遠地區(qū)的醫(yī)療產(chǎn)品交貨服務。在農(nóng)業(yè)應用中,無人機能使用高光譜成像來判斷作物的健康狀況。而這些應用,只不過是目前已經(jīng)在使用或正在考慮使用無人機技術應用的冰山一角。
農(nóng)業(yè)無人機應用示例
這些應用,綜合起來體現(xiàn)著我們在嵌入式視覺總體環(huán)境中觀察到的嵌入式視覺當前四大普遍趨勢中的三大趨勢:
1、邊緣(edge)端通過機器學習獲得的智能化 – 智能化嵌入在無人機本身內(nèi)部,需要從它的攝像頭提取信息并根據(jù)該信息采取行動,達成自己的目標。
2、開放式高級語言和框架 – 在無人機中實現(xiàn)智能化需要高級框架和語言。這些中最常用的是開源多平臺框架,比如嵌入式環(huán)境里的 OpenCV、OpenVX,以及在機器學習環(huán)境里的 Tensor Flow 和 Caffe。
3、多層次的安全性 – 用于確保無人機不僅能夠運行,且不能影響安全性和信息獲取。這種方法要求在器件、系統(tǒng)和網(wǎng)絡層面實現(xiàn)多層次的安全性。
第四個趨勢是嵌入式視覺的普及化。雖然視覺導向的機器人和無人機還不像我們的手機一樣普及——我們常在旅行中用手機來翻譯標牌等用途,隨著新用例被發(fā)掘出來,使用視覺導向的機器人和無人機的應用正處于快速發(fā)展中。
在架構層面無人機擁有一些關鍵的子系統(tǒng),包括實時精準的馬達控制系統(tǒng)、提供與無人機雙向通信的軟件無線電和精確的嵌入式視覺系統(tǒng)。視覺導向的機器人和無人機主要針對大部分電池供電的應用,因此設計高能效解決方案的能力極為重要。
高精度嵌入式視覺系統(tǒng)提供高幀率,其處理圖像和根據(jù)圖像采取行動的能力要遠超過人眼。對許多應用來說,需要使用多個攝像頭來形成立體多視覺,以完整掌握無人機周邊環(huán)境。這也稱為傳感器融合。雖然許多應用使用多攝像頭方法來觀察環(huán)境,部分應用還會把設計用于觀測電磁場頻譜不同組成部分的攝像頭結合起來使用,例如在超光譜或紅外應用中的情況。在使用多個相同類型傳感器的時候這一般稱為同構,在使用不同傳感器技術的時候稱為異構。
在算法層面,這種高精度嵌入式視覺系統(tǒng)運行的算法有同步定位與地圖構建(SLAM)和稠密光流(Dense OpTIcal Flow),以為平臺提供增強型感知和避障系統(tǒng)。這些算法還與更傳統(tǒng)的模式和對象識別算法結合。
稠密光流設計
視覺導向的機器人和無人機因此不僅需要強大的處理能力,還需要有能力進行功耗優(yōu)化,提供面向未來且具有可擴展性的解決方案。
All Programmable Zynq® SoC 可針對您面臨的問題提供獨特的解決方案。Zynq 提供的高性能邏輯,與雙核 ARM® A9 處理器集成可打造出緊密集成的異構處理單元。該異構處理單元能夠在處理器內(nèi)或可編程邏輯內(nèi)實現(xiàn)高效率的功能細分。
使用基于 ARM 的處理系統(tǒng),可以在邊緣開展極為復雜的實時視覺分析。在與可編程邏輯架構結合后,它提供實時檢測對象然后使用處理器系統(tǒng)分類對象的能力。分類完成后,視覺導向機器人系統(tǒng)或無人機就能針對檢測出的對象類采取適當?shù)男袆印?/p>
為在邊緣實現(xiàn)實時視覺分析,我們運用了機器學習提供的智能化技術。要執(zhí)行這些算法,我們首先需要模型并提供大型培訓數(shù)據(jù)集,使模型能夠進行分析。在極高性能工作站上進行培訓,得到的分類器被用于實現(xiàn)方案中。開展這類機器學習有多種不同的方法可供選擇,例如卷積神經(jīng)網(wǎng)絡、深度神經(jīng)網(wǎng)絡或遞歸神經(jīng)網(wǎng)絡。
當我們在邊緣實現(xiàn)這些模型時,我們不需要與培訓相同水平的性能??梢允褂谜麛?shù)或浮點數(shù)學,兩者都能方便地實現(xiàn)在 All Programmable SoC 中。