加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

基于i.MX 8M Plus應(yīng)用處理器實現(xiàn)并行機器學(xué)習(xí)推理網(wǎng)絡(luò)

2021/04/19
196
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

當(dāng)下,大多數(shù)研究與論文都側(cè)重于針對特定任務(wù)的機器學(xué)習(xí)(ML)模型,分析在執(zhí)行該模型時達(dá)到的精度以及處理架構(gòu)的效率,但在現(xiàn)場部署實際解決方案時,還有其他諸多需要考慮因素。恩智浦i.MX 8M Plus應(yīng)用處理器中集成的,能夠提供高達(dá)2.3 TOPS加速性能的專用神經(jīng)網(wǎng)絡(luò)處理單元(NPU),為用戶應(yīng)用的開發(fā)提供更好的選擇和靈活性,幫助他們使用機器學(xué)習(xí)和視覺技術(shù)來實現(xiàn)廣泛的應(yīng)用。Arcturus Networks就開發(fā)了一種用于監(jiān)控銀行ATM機網(wǎng)點情況的應(yīng)用,充分體現(xiàn)了在網(wǎng)絡(luò)邊緣的設(shè)備安全相關(guān)應(yīng)用中需要的多功能和技術(shù)。

恩智浦也非常榮幸邀請我們的伙伴,Arcturus創(chuàng)新總監(jiān)David Steele,分享關(guān)于該項目及其開發(fā)方法的詳細(xì)信息:

Arcturus團(tuán)隊最近與某家銀行合作開展了一個項目,幫助他們監(jiān)控ATM機網(wǎng)點。該銀行希望防止ATM機區(qū)域出現(xiàn)擁擠現(xiàn)象,并限制佩戴面罩或頭盔者進(jìn)入。這一應(yīng)用就是一個很好的邊緣人工智能示例,因為網(wǎng)絡(luò)邊緣既是數(shù)據(jù)源所在的位置,也是需要執(zhí)行本地操作的位置。同時它也帶來了一些非常有趣的挑戰(zhàn)。

對采樣數(shù)據(jù)的分析表明,在狹小封閉的ATM空間內(nèi),攝像頭通常呈俯拍角度,由于它明顯呈現(xiàn)自上而下的拍攝角度(圖1),會導(dǎo)致檢測可信度降低。

圖1 – 俯拍/高角度拍攝導(dǎo)致檢測可信度降低

另外,該應(yīng)用還需要區(qū)分佩戴和未佩戴面罩的人。這并非只是改進(jìn)現(xiàn)有類別的檢測,使其包括佩戴面罩者那么簡單。由于實際操作中頭盔或其他面部遮蓋物也被視為個人防護(hù)裝備(PPE),因而需要創(chuàng)建多個新的檢測類別(圖2)。

此外,該銀行還希望擴展分析功能,以便檢測可疑行為,包括來回游蕩等。

圖2 - 頭盔和面罩分別單獨檢測類別

為了提高檢測可信度,在網(wǎng)絡(luò)中增加新檢測類別,我們需要使用特定域數(shù)據(jù),并進(jìn)行模型微調(diào)或重復(fù)的訓(xùn)練。這個過程是從邊緣離線完成的,其結(jié)果將與正確標(biāo)記數(shù)據(jù)集進(jìn)行對照。此過程迭代進(jìn)行,但通過使用特定域的數(shù)據(jù),其結(jié)果可提供非常關(guān)鍵的模型改進(jìn)。

模型經(jīng)過訓(xùn)練、微調(diào)和驗證之后,可將其轉(zhuǎn)移至基于集成專用2.3 TOPS NPU的i.MX 8M Plus應(yīng)用處理器作主控的設(shè)備。另外為了高效利用NPU,模型必須從本地32位浮點(FP32)精度轉(zhuǎn)換為8位整數(shù)(INT8)精度。這個量化過程可能會導(dǎo)致一些精度損失,可能需要多次驗證。

我們需要通過運行時推理引擎將模型加載到i.MX 8M Plus。恩智浦eIQ™機器學(xué)習(xí)(ML)軟件開發(fā)環(huán)境支持經(jīng)過移植和驗證的Arm® NN和TensorFlow Lite推理引擎。不過,邊緣運行庫版本并不支持所有類型網(wǎng)絡(luò)需要的所有層 –比較新的模型和不太流行的模型通常沒有得到廣泛支持。

為幫助減少訓(xùn)練和部署邊緣人工智能系統(tǒng)所需的時間,Arcturus提供了一個目錄,其中包含使用不同精度的預(yù)構(gòu)建模型。這些模型經(jīng)過預(yù)先驗證,可支持所有主要邊緣運行庫;包括支持在CPU、GPU、NPU上運行的Arm NN、TensorFlow Lite和TensorRT。他們還提供工具,用于訓(xùn)練或微調(diào)模型,以及數(shù)據(jù)集管理、圖像抓取和增強。與運行相同模型的其他公開發(fā)布的系統(tǒng)相比,通過將優(yōu)化運行庫、量化模型和NPU硬件組合在一起,可以提供40倍性能提升(圖3)。

圖3 - 使用邊緣運行庫、量化和NPU硬件來優(yōu)化性能

一旦模型在邊緣高效運行,就需要具備對輸出進(jìn)行分析的能力。如果對靜態(tài)圖像執(zhí)行分析,二進(jìn)制分類可以確定是否存在PPE。如果對實時視頻執(zhí)行分析,可能要困難一點,因為局部遮擋和身體姿勢將導(dǎo)致檢測結(jié)果的差異。為了提高精度,我們需要對多個幀進(jìn)行更智能的判定。為了達(dá)到這個目標(biāo),我們需要對每個人進(jìn)行跟蹤,以獲得更大的樣本。運動模型跟蹤是一種簡單輕量級方法,適合完成此任務(wù),但它依賴于連續(xù)檢測。如果存在遮擋和障礙物,或者人員離開并重新進(jìn)入視場,都會導(dǎo)致跟蹤丟失。因此,要檢測來回游蕩的人員,就需要更強大的跟蹤方法,能夠進(jìn)行重新識別,而不受時間或空間的影響。

重新識別是通過使用生成視覺外觀嵌入的網(wǎng)絡(luò)來實現(xiàn)的。這個工作流程要求目標(biāo)識別與分類網(wǎng)絡(luò)將定位、幀和分類信息傳遞到嵌入網(wǎng)絡(luò)(圖4)。網(wǎng)絡(luò)和數(shù)據(jù)流之間的同步至關(guān)重要,因為任何時間偏差都可能導(dǎo)致推理錯誤。將輸出與運動模型數(shù)據(jù)進(jìn)行比較,確定身份分配。嵌入可在多個攝像頭系統(tǒng)之間共享,它們可用于存檔搜索,以創(chuàng)建活動觀察列表,甚至通過應(yīng)用集群技術(shù),進(jìn)一步進(jìn)行后期處理。

圖4 - 運動跟蹤與視覺外觀跟蹤工作流程的比較

要將視覺外觀嵌入添加到運動模型跟蹤,就需要對每個檢測目標(biāo)進(jìn)行處理。因此,更多的目標(biāo)意味著需要更多的處理。在我們的應(yīng)用中,人數(shù)本身受到了物理空間的限制。但是,在視場較大的情況下,這可能帶來嚴(yán)重的瓶頸。

為了解決這個問題,Arcturus開發(fā)了視覺管道架構(gòu),其中不同的處理階段由節(jié)點表示,例如推理、算法、數(shù)據(jù)或外部服務(wù)。每個節(jié)點的作用類似于一項微服務(wù),通過緊密同步的序列化數(shù)據(jù)流來互連。這些節(jié)點共同構(gòu)成了完整的視覺管道,從圖像采集一直到本地操作。對于基本應(yīng)用,各個管道節(jié)點可在同一物理硬件上運行。比較復(fù)雜的管道的節(jié)點可能分布在各個硬件上,例如在CPU、GPU、NPU上,甚至在云端。各個管道在運行時進(jìn)行協(xié)調(diào),使其具有出色的靈活性和可擴展性,有助于確保邊緣計算投資能夠經(jīng)受未來考驗。每個節(jié)點都謹(jǐn)慎集成,從而可以輕松替換系統(tǒng)的某一部分,例如,即便模型時序發(fā)生變化,也可以在不影響系統(tǒng)其余部分的情況下更新推理模型。

這種管道架構(gòu)是Arcturus Brinq Edge Creator SDK的核心,使我們能夠擴展人工智能的性能,進(jìn)一步講單一應(yīng)用處理器的處理能力發(fā)揮到極致。例如,在一個基于i.MX 8M Plus設(shè)備執(zhí)行檢測的同時,讓第二個 基于i.MX 8M Plus設(shè)備生成嵌入。這些器件可以使用網(wǎng)絡(luò)結(jié)構(gòu)來輕松進(jìn)行互連,每個處理器使用兩個專用以太網(wǎng)MAC中的一個MAC。如果更進(jìn)一步,可以將這種軟件與Arcturus Atlas硬件平臺結(jié)合使用,該硬件平臺使用包括i.MX 8M Plus的多種硬件配置,可擴展到187fps(圖5).

圖5 – Arcturus Atlas硬件平臺性能(使用具有加速選項的恩智浦i.MX 8M Plus)

總結(jié)一下,進(jìn)行應(yīng)用整體設(shè)計時,應(yīng)該考慮到您的需求可能會發(fā)生變化。基于類別的檢測可能需要利用算法或其他網(wǎng)絡(luò)來增強。要讓您的邊緣人工智能經(jīng)受未來考驗,可以基于可擴展管道架構(gòu)(例如Brinq Edge Creator SDK)進(jìn)行構(gòu)建,并且充分利用可擴展的硬件性能,例如采用恩智浦i.MX 8M Plus處理器和NPU加速器的Atlas平臺。

恩智浦

恩智浦

恩智浦半導(dǎo)體創(chuàng)立于2006年,其前身為荷蘭飛利浦公司于1953年成立的半導(dǎo)體事業(yè)部,總部位于荷蘭埃因霍溫。恩智浦2010年在美國納斯達(dá)克上市。恩智浦2010年在美國納斯達(dá)克上市。恩智浦半導(dǎo)體致力于打造全球化解決方案,實現(xiàn)智慧生活,安全連結(jié)。

恩智浦半導(dǎo)體創(chuàng)立于2006年,其前身為荷蘭飛利浦公司于1953年成立的半導(dǎo)體事業(yè)部,總部位于荷蘭埃因霍溫。恩智浦2010年在美國納斯達(dá)克上市。恩智浦2010年在美國納斯達(dá)克上市。恩智浦半導(dǎo)體致力于打造全球化解決方案,實現(xiàn)智慧生活,安全連結(jié)。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

恩智浦半導(dǎo)體(NXP)致力于通過先進(jìn)的安全連結(jié)解決方案為人們更智慧安全、便捷的生活保駕護(hù)航。作為全球領(lǐng)先的嵌入式應(yīng)用安全連結(jié)解決方案領(lǐng)導(dǎo)者,恩智浦不斷推動著安全互聯(lián)汽車、工業(yè)與物聯(lián)網(wǎng)、移動設(shè)備及通信基礎(chǔ)設(shè)施市場的創(chuàng)新。