基於意法半導體STM32H7 ARM Cortex M7上運行的AI演算方案進行人體存在檢測

意法半導體SL-SNPSN011701V1人體存在檢測方案是採用在STM32上運行基於卷積神經網路(CNN) 的計算機視覺應用程序

解決方案說明
人體存在檢測技術旨在確定一個人是否存在於給定區域,對於跨越用戶界面、安全性和安全性的廣泛應用非常有用。它還可用於通過在有人進出房間時打開/關閉燈光或在您接近恆溫器控制面板時打開屏幕來主動管理能源消耗。
如今,對智能家居和智能建築解決方案的需求不斷增加,以幫助降低能源成本、提供安全性並發現改進服務的機會。人體存在檢測應用程序是一種可靠且經濟實惠的方式來觸發預先確定的操作以增強用戶體驗,例如識別辦公室或公共圖書館中的空工作區,這對於當今大流行後世界中的社交距離特別有用。
除了確保能夠立即採取行動或可信安全警報的準確度之外,挑戰還在於簡化軟件開發和硬件設計,特別是對於具有處理、內存和功率限制的基於電池的設備。我們的解決方案通過在具有成本效益的超低功耗 STM32 微控制器上利用人工智能來解決成本和設計問題。 

運作方式
該系統從低分辨率圖像傳感器捕獲數字視頻,並確保高性能雙核 STM32H7 微控制器根據深度神經網絡生成的輸出運行基於邊緣的人體存在檢測應用程序 (FP-AI-VISION1) 進行高效處理針對 STM32 優化的網絡 (DNN, deep neural networks)。
然後,MCU 通過連接的 LCD 屏幕或網絡顯示是否在指定區域檢測到人員以及捕獲的視頻。所需的佔用空間非常小,允許在同一微控制器上添加由人員檢測觸發的多個附加功能,包括但不限於人員檢測和計數、通過外圍設備驅動以及通過多個連接選項傳輸信息。
結果是一種經濟高效且低功耗的解決方案,用於基於對象檢測算法檢測人體存在,該算法使用針對 STM32 優化的捲積神經網絡 (CNN, convolutional neural network) 模型拓撲。

STM32H747XIH6 - 高性能、雙核微控制器,帶DSP和DP-FPU指令
這款具有Arm® Cortex-M7®和Cortex-M4®內核的微控制器具有必要的外設來管理傳入的數字視頻信號以及處理能力和記憶體,以確保以最小的功耗快速準確地計算人數應用。

FP-AI-VISION1 - 適用於電腦視覺人工智慧(AI)應用的STM32Cube功能包
該軟體使用STM32神經網路庫實現高級計算機視覺應用程式,該庫基於使用STM32CubeMX AI擴展包(X-CUBE-AI)生成的預訓練模型。

 此方案設置基於 STM32H747XIH6 探索套件 (STM32H747I-DISCO),該套件帶有一個運行計算機視覺人工智能 (AI) 軟件 (FP-AI-VISION1) 的高性能雙核 STM32H7 微控制器和一個攝像頭模塊 (B- CAMS-OMV)基於具有 5 百萬像素分辨率和 8 位顏色的圖像傳感器。 在 STM32H747XIH6 微控制器上運行的 FP-AI-VISION1 軟件根據神經網絡 (NN) 生成的輸出在場景中執行基於邊緣的人體存在檢測。 AI 模型是使用 STM32CubeMX AI 擴展包 (X-CUBE-AI) 生成和優化的。 STM32H747XIH6 Discovery 套件中包含的 LCD 完成設置以顯示捕獲的視頻和人體檢測模型(“人”或“非人”)。 FP-AI-VISION1 軟件包中提供了兩個人體存在檢測應用程序: 一種基於低複雜度 CNN 模型(所謂的 Google_Model),用於處理分辨率為 96 × 96 像素的灰度圖像(每像素 8 位)。該模型是從 storage.googleapis.com 下載的。 一種基於更高複雜度的 CNN 模型(所謂的 MobileNetv2_Model),用於處理分辨率為 128 × 128 像素的彩色圖像(每像素 24 位)。

STM32Cube 的人工智能 (AI) 和計算機視覺功能包

FP-AI-VISION1 STM32Cube 功能包,用於高性能 STM32 與計算機視覺的人工智能 (AI) 應用程序
FP-AI-VISION1 是一個 STM32Cube 功能包,其中包含基於卷積神經網絡 (CNN) 的計算機視覺應用示例。 FP-AI-VISION1 由 X-CUBE-AI 擴展包生成的軟件組件和專用於基於 AI 的計算機視覺應用程序的應用程序軟件組件組成。 功能包中提供的應用示例有食物識別(識別18類常見食物)、人存在檢測(識別圖像中是否有人)、人數統計(統計場景中的人數) ) 基於對象檢測神經網絡模型。 FP-AI-VISION1 使用 STM32_AI_Runtime 神經網絡庫實現高級計算機視覺應用。庫基於預訓練模型,並使用 STM32CubeMX 工具的 X-CUBE-AI 擴展包生成。 該功能包演示了兩種神經網絡模型的集成:32 位浮點模型和 8 位量化模型。它還演示了不同內存配置中的模型集成(僅依賴 MCU 內部存儲器或也使用外部存儲器)。 FP-AI-VISION1 功能包包括功能豐富的圖像處理庫。

STM32_ImageProcessing_Library,它支持常見的處理任務(如圖像縮放和像素顏色轉換)和高級處理任務(如人臉檢測)。 STM32_ImageProcessing_Library 還提供了一組實用函數來讀取和寫入多種文件格式。 FP-AI-VISION1 功能包還包括相機驅動程序以及用於將圖像捕獲到幀緩衝區、預處理幀緩衝區內容和運行神經網絡推理的框架。 FP-AI-VISION1 功能包具有 USB 網絡攝像頭應用程序,可用於創建圖像和視頻數據集以及在主機上執行實時測試。

FP-AI-VISION1 在 STM32H747I-DISCO Discovery 板上運行,連接到 B-CAMS-OMV 相機模塊包.
FP-AI-VISION1 - STM32Cube function pack for high performance STM32 with artificial intelligence (AI) application for Computer Vision - STMicroelectronics

官網連結URL
SL-SNPSN011701V1 - Human presence detection using CNN-based computer vision application running on STM32 - STMicroelectronics

►場景應用圖

►展示板照片

►方案方塊圖

►核心技術優勢

■ 即用型固件,其特點是使用卷積神經網路 (CNN) 模型實現基於物件檢測演算法的即時人類存在檢測應用 ■ STM32H747XIH6 - 高性能、雙核微控制器,帶DSP和DP-FPU指令 ■ FP-AI-VISION1 - 適用於電腦視覺人工智慧(AI)應用的STM32Cube功能包 ■ 得益於STM32Cube軟體工具,可在不同的STM32 MCU系列上輕鬆移植 ■ 邊緣處理方法確保比集中式雲解決方案更低的功耗和延遲,重點是準確性和個人隱私 ■ 基於即時操作系統 (RTOS) 的超低功耗實現 ■ 功能豐富的圖像處理庫(STM32_ImageProcessing_Library) ■ 支持嵌入式應用程序的測試、調試和驗證的庫 ■ 免費且用戶友好的許可條款

►方案規格

■ 一種基於低複雜度 CNN 模型(所謂的 Google_Model),用於處理分辨率為 96 × 96 像素的灰度圖像(每像素 8 位)。該模型是從 storage.googleapis.com 下載的。 ■ 一種基於更高複雜度的 CNN 模型(所謂的 MobileNetv2_Model),用於處理分辨率為 128 × 128 像素的彩色圖像(每像素 24 位)。 ■ 基於對象檢測卷積神經網絡 (CNN) 模式的即用型人體檢測應用程序 ■ 用於相機捕捉、幀圖像預處理、推理執行和輸出後處理的完整應用固件 ■ 基於卷積神經網絡的人員存在檢測應用 ■ 基於對象檢測神經網絡模型的人數統計應用 ■ USB 網絡攝像頭應用使 STM32H747I-DISCO 板在連接到主機時能夠充當 USB 視頻攝像頭 (UVC) 設備 ■ 可用於連接到 B-CAMS-OMV 相機模塊包的 STM32H747I-DISCO 探索板的示例實現

技術文檔

類型標題檔案
硬件Keyparts
硬件schematic+user manual