當下,大多數研究與論文都側重于針對特定任務的機器學習(ML)模型,分析在執行該模型時達到的精度以及處理架構的效率,但在現場部署實際解決方案時,還有其他諸多需要考慮的因素。恩智浦i.MX 8M Plus應用處理器中集成的,能夠提供高達2.3 TOPS加速性能的專用神經網絡處理單元(NPU),為用戶應用的開發提供更好的選擇和靈活性,幫助他們使用機器學習和視覺技術來實現廣泛的應用。
Arcturus Networks就開發了一種用于監控銀行ATM機網點情況的應用,充分體現了在網絡邊緣的設備安全相關應用中需要的多功能和技術。恩智浦也非常榮幸邀請到我們的伙伴,Arcturus創新總監David Steele,分享關于該項目及其開發方法的詳細信息。
Arcturus團隊最近與某家銀行合作開展了一個項目,幫助他們監控ATM機網點。該銀行希望防止ATM機區域出現擁擠現象,并限制佩戴面罩或頭盔者進入。這一應用就是一個很好的邊緣人工智能示例,因為網絡邊緣既是數據源所在的位置,也是需要執行本地操作的位置。同時它也帶來了一些非常有趣的挑戰。
設計需求與挑戰
對采樣數據的分析表明,在狹小封閉的ATM空間內,攝像頭通常呈俯拍角度,由于它明顯呈現自上而下的拍攝角度(圖1),會導致檢測可信度降低。
另外,該應用還需要區分佩戴和未佩戴面罩的人。這并非只是改進現有類別的檢測,使其包括佩戴面罩者那么簡單。由于實際操作中頭盔或其他面部遮蓋物也被視為個人防護裝備(PPE),因而需要創建多個新的檢測類別(圖2)。
此外,該銀行還希望擴展分析功能,以便檢測可疑行為,包括來回游蕩等。
為了提高檢測可信度,在網絡中增加新檢測類別,我們需要使用特定域數據,并進行模型微調或重復的訓練。這個過程是從邊緣離線完成的,其結果將與正確標記數據集進行對照。此過程迭代進行,但通過使用特定域的數據,其結果可提供非常關鍵的模型改進。
模型經過訓練、微調和驗證之后,可將其轉移至基于集成專用2.3 TOPS NPU的i.MX 8M Plus應用處理器作主控的設備。另外為了高效利用NPU,模型必須從本地32位浮點(FP32)精度轉換為8位整數(INT8)精度。這個量化過程可能會導致一些精度損失,可能需要多次驗證。
我們需要通過運行時推理引擎將模型加載到i.MX 8M Plus。恩智浦eIQ機器學習(ML)軟件開發環境支持經過移植和驗證的Arm NN和TensorFlow Lite推理引擎。不過,邊緣運行庫版本并不支持所有類型網絡需要的所有層——比較新的模型和不太流行的模型通常沒有得到廣泛支持。
為幫助減少訓練和部署邊緣人工智能系統所需的時間,Arcturus提供了一個目錄,其中包含使用不同精度的預構建模型。這些模型經過預先驗證,可支持所有主要邊緣運行庫;包括支持在CPU、GPU、NPU上運行的Arm NN、TensorFlow Lite和TensorRT。他們還提供工具,用于訓練或微調模型,以及數據集管理、圖像抓取和增強。與運行相同模型的其他公開發布的系統相比,通過將優化運行庫、量化模型和NPU硬件組合在一起,可以提供40倍性能提升(圖3)。
提高分析精度
一旦模型在邊緣高效運行,就需要具備對輸出進行分析的能力。如果對靜態圖像執行分析,二進制分類可以確定是否存在PPE。如果對實時視頻執行分析,可能要困難一點,因為局部遮擋和身體姿勢將導致檢測結果的差異。為了提高精度,我們需要對多個幀進行更智能的判定。為了達到這個目標,我們需要對每個人進行跟蹤,以獲得更大的樣本。運動模型跟蹤是一種簡單輕量級方法,適合完成此任務,但它依賴于連續檢測。如果存在遮擋和障礙物,或者人員離開并重新進入視場,都會導致跟蹤丟失。因此,要檢測來回游蕩的人員,就需要更強大的跟蹤方法,能夠進行重新識別,而不受時間或空間的影響。
重新識別是通過使用生成視覺外觀嵌入的網絡來實現的。這個工作流程要求目標識別與分類網絡將定位、幀和分類信息傳遞到嵌入網絡(圖4)。網絡和數據流之間的同步至關重要,因為任何時間偏差都可能導致推理錯誤。將輸出與運動模型數據進行比較,確定身份分配。嵌入可在多個攝像頭系統之間共享,它們可用于存檔搜索,以創建活動觀察列表,甚至通過應用集群技術,進一步進行后期處理。
多目標追蹤
要將視覺外觀嵌入添加到運動模型跟蹤,就需要對每個檢測目標進行處理。因此,更多的目標意味著需要更多的處理。在我們的應用中,人數本身受到了物理空間的限制。但是,在視場較大的情況下,這可能帶來嚴重的瓶頸。
為了解決這個問題,Arcturus開發了視覺管道架構,其中不同的處理階段由節點表示,例如推理、算法、數據或外部服務。每個節點的作用類似于一項微服務,通過緊密同步的序列化數據流來互連。這些節點共同構成了完整的視覺管道,從圖像采集一直到本地操作。對于基本應用,各個管道節點可在同一物理硬件上運行。比較復雜的管道的節點可能分布在各個硬件上,例如在CPU、GPU、NPU上,甚至在云端。各個管道在運行時進行協調,使其具有出色的靈活性和可擴展性,有助于確保邊緣計算投資能夠經受未來考驗。每個節點都嚴謹地模塊化,從而可以輕松替換系統的某一部分,例如,即便模型時序發生變化,也可以在不影響系統其余部分的情況下更新推理模型。
這種管道架構是Arcturus Brinq Edge Creator SDK的核心,使我們能夠擴展人工智能的性能,進一步講單一應用處理器的處理能力發揮到極致。例如,在一個基于i.MX 8M Plus設備執行檢測的同時,讓第二個基于i.MX 8M Plus設備生成嵌入。這些器件可以使用網絡結構來輕松進行互連,每個處理器使用兩個專用以太網MAC中的一個MAC。如果更進一步,可以將這種軟件與Arcturus Atlas硬件平臺結合使用,該硬件平臺使用包括i.MX 8M Plus的多種硬件配置,可擴展到187fps(圖5).
圖5 :Arcturus Atlas硬件平臺性能(使用具有加速選項的恩智浦i.MX 8M Plus)
總結一下,進行應用整體設計時,應該考慮到您的需求可能會發生變化。基于類別的檢測可能需要利用算法或其他網絡來增強。要讓您的邊緣人工智能經受未來考驗,可以基于可擴展管道架構(例如Brinq Edge Creator SDK)進行構建,并且充分利用可擴展的硬件性能,例如采用恩智浦i.MX 8M Plus處理器和NPU加速器的Atlas平臺。
原文標題:實現并行機器學習推理網絡:i.MX 8M Plus原來可以這么用!
文章出處:【微信公眾號:NXP客?!繗g迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
網絡
+關注
關注
14文章
7576瀏覽量
88917 -
機器學習
+關注
關注
66文章
8423瀏覽量
132752
原文標題:實現并行機器學習推理網絡:i.MX 8M Plus原來可以這么用!
文章出處:【微信號:NXP客棧,微信公眾號:NXP客?!繗g迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論