<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 運(yùn)用FP-AI-VISION1的影像分類器

          運(yùn)用FP-AI-VISION1的影像分類器

          作者: 時間:2022-05-04 來源:CTIMES 收藏

          意法半導(dǎo)體()持續(xù)積極參與高速發(fā)展的嵌入式人工智能領(lǐng)域。為了在具成本效益和低功耗的微控制器上加快運(yùn)用機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò),開發(fā)全方位的邊緣人工智能生態(tài)系統(tǒng),嵌入式開發(fā)人員可以在各種M32微控制器產(chǎn)品組合中,輕松新增利用人工智能的新功能和強(qiáng)大的解決方案。

          圖一顯示ST AI解決方案之于整個STM32產(chǎn)品組合,而且已經(jīng)擁有預(yù)先訓(xùn)練神經(jīng)網(wǎng)絡(luò)的嵌入式開發(fā)人員,可以在任何采用Cortex M4、M33和M7的STM32上移植、優(yōu)化和驗(yàn)證這整個產(chǎn)品組合。STM32Cube.AI是 STM32CubeMX的AI擴(kuò)充套件,讓客戶能以更高效率開發(fā)其AI產(chǎn)品。
          利用深度學(xué)習(xí)的強(qiáng)大功能可以增強(qiáng)訊號處理效能,并提升STM32 應(yīng)用的工作效率。
          本文概述,此為用于開發(fā)的架構(gòu),提供工程師在STM32H7上執(zhí)行視覺應(yīng)用的程序代碼范例。

          圖片.png

           
          圖一 : 執(zhí)行機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法的STM32產(chǎn)品組合

          程序代碼范例開始,簡易達(dá)成在邊緣執(zhí)行的各種使用案例,例如

          ? 生產(chǎn)在線的物體分類,藉以根據(jù)物體的類型調(diào)整輸送帶速度;
          ? 偵測產(chǎn)品的一般瑕疵;
          ? 區(qū)分不同類型的對象,例如:螺絲、意大利面、樂高零件,并分揀到不同的容器中;
          ? 對設(shè)備或機(jī)器人操作的材料類型進(jìn)行分類,并隨之調(diào)整行為;
          ? 對食品類型進(jìn)行分類以調(diào)整烹調(diào)/燒烤/沖泡或重新訂購貨架上的新產(chǎn)品。


          概述
          FP-AI-VISION1是STM32Cube功能套件(FP),提供采用卷積神經(jīng)網(wǎng)絡(luò)(CNN)的應(yīng)用范例。其由STM32Cube.AI產(chǎn)生的軟件組件和AI計(jì)算機(jī)視覺應(yīng)用專用的應(yīng)用軟件組件組成。

          功能套件中提供的應(yīng)用范例,包含:

          ? 食品識別:辨識18類常見食品;
          ? 人體感測:識別影像中是否有人;
          ? 人數(shù)統(tǒng)計(jì):依照物體偵測模型計(jì)算情境中的人數(shù)。

          主要特色
          FP-AI-VISION1在與STM32F4DIS-CAM攝影機(jī)子板,或是B-CAMS-OMV攝影機(jī)模塊搭配連接的STM32H747I-DISCO板上運(yùn)作,包括用于攝影機(jī)擷取、畫格影像預(yù)處理、推斷執(zhí)行的完整應(yīng)用韌體和輸出后處理。這也提供浮點(diǎn)和 8 位量化 C 模型的整合范例,并支持多種數(shù)據(jù)存儲器設(shè)定,滿足各種應(yīng)用需求。

          此功能套件最重要的其中一項(xiàng)關(guān)鍵優(yōu)勢是提供范例,描述如何將不同類型的數(shù)據(jù)有效地放置在芯片上的內(nèi)存和外部內(nèi)存中。用戶因此能夠輕松了解最符合需求的內(nèi)存分配,并有助建立適用于STM32系列的自定義神經(jīng)網(wǎng)絡(luò)模型,特別是在STM32H747-Disco板上。

          圖片.png

           
          圖二 : FP-AI-VISION1評估裝置范例

          FP-AI-VISION1 包括三個采用 CNN 的影像分類應(yīng)用范例:

          ? 一種對彩色(RGB 24位)畫格影像執(zhí)行的食品識別應(yīng)用;
          ? 一種對彩色(RGB 24位)畫格影像執(zhí)行的人體感測應(yīng)用;
          ? 一種對灰階(8位)畫格影像執(zhí)行的人體感測應(yīng)用。

          本文將重點(diǎn)介紹食品識別和人體感測之兩種范例。

          首先討論食品識別應(yīng)用。食品識別CNN是MobileNet模型的衍生模型。MobileNet是適用于行動和嵌入式視覺應(yīng)用的高效率模型架構(gòu),此模型架構(gòu)由Google[1]提出。
          MobileNet模型架構(gòu)包括兩個簡單的全局超參數(shù),可以高效在延遲和準(zhǔn)確度之間進(jìn)行權(quán)衡。原則上,這些超參數(shù)可讓模型建構(gòu)者根據(jù)問題的限制條件,決定應(yīng)用大小適合的模型??紤]STM32H747的目標(biāo)限制條件,此軟件套件中使用的食品識別模型是透過調(diào)整這些超參數(shù)建構(gòu)而成,以便在準(zhǔn)確度、運(yùn)算成本和內(nèi)存占用之間進(jìn)行最佳權(quán)衡。

          圖三為食品識別模型的簡單執(zhí)行流程。這在STM32H747上執(zhí)行,大約需要150毫秒才能完成推斷。

          圖片.png

           
          圖三 : 食品識別模型的執(zhí)行流程

          其次,將說明人體感測應(yīng)用。FP-AI-VISION1 提供兩個人體感測的范例應(yīng)用:

          ? 一種采用低復(fù)雜度CNN 模型(所謂的Google_Model),用于處理分辨率為96×96像素的灰階影像(每像素 8 位)。這個模型可從:storage.googleapis.com下載。
          ? 一種采用更高復(fù)雜度的CNN模型(所謂的 MobileNetv2_Model),用于處理分辨率為 128×128像素的彩色影像(每像素 24 位)。

          在此觀察前一個模型,人體感測應(yīng)用程序可識別影像中是否有人。在與STM32F4DIS-CAM連接的STM32L4R上執(zhí)行這個應(yīng)用程序時,大約需要270毫秒來推斷。而閃存和 RAM 的大小足以在微控制器上執(zhí)行神經(jīng)網(wǎng)絡(luò) (NN),如圖四所示。


          圖片.png
           
          圖四 : 人體感測概覽

          人體感測可利用從低功率喚醒,使用案例包括開燈、開門或其他任何自定義方法。一般用途通常采用被動紅外線傳感器,藉以在偵測到移動的時間和地點(diǎn)觸發(fā)事件。不過,這種PIR 系統(tǒng)的問題是可能發(fā)生誤報(bào)。如果有貓經(jīng)過或在風(fēng)中飛舞的樹葉,可能會觸發(fā)這個系統(tǒng)。人體感測應(yīng)用只會偵測人類,并且有助于輕松開發(fā)更智能的偵測系統(tǒng)。

          系統(tǒng)架構(gòu)
          FP-AI-VISION1的頂層架構(gòu),如圖五所示。

          圖片.png
           
          圖五 : FP-AI-VISION1架構(gòu)

          應(yīng)用建構(gòu)流程
          從浮點(diǎn) CNN 模型(使用 Keras 等架構(gòu)設(shè)計(jì)和訓(xùn)練)開始,使用者產(chǎn)生優(yōu)化的C程序代碼(使用STM32Cube.AI 工具)并整合到計(jì)算機(jī)視覺架構(gòu)中(FP-AI-VISION1 提供),以便在 STM32H7上建構(gòu)計(jì)算機(jī)視覺應(yīng)用。

          產(chǎn)生C程序代碼時,使用者可從下列兩個選項(xiàng)中擇一:
          ? 直接從CNN模型以浮點(diǎn)方式產(chǎn)生浮點(diǎn)C程序代碼;
          ? 或者對浮點(diǎn)CNN模型進(jìn)行量化,得到8位模型,隨后產(chǎn)生對應(yīng)之量化后的C程序代碼;
          對于大多數(shù) CNN 模型,第二個選項(xiàng)可以減少內(nèi)存占用(閃存和RAM)以及推斷時間。對最終輸出準(zhǔn)確度的影響則取決于CNN模型以及量化過程(主要是測試數(shù)據(jù)集和量化算法)。


          圖片.png
           
          圖六 : FP-AI-VISION1架構(gòu)

          應(yīng)用執(zhí)行流程
          對于計(jì)算機(jī)視覺應(yīng)用,整合需要一些數(shù)據(jù)緩沖區(qū),如圖七所示。

          圖片.png

           
          圖七 : 執(zhí)行流程中的數(shù)據(jù)緩沖區(qū)

          應(yīng)用過程依序執(zhí)行下列操作:

          1. 在 camera_capture buffer中擷取攝影機(jī)畫格(透過DCMI數(shù)據(jù)緩存器中的DMA引擎)。
          2. 此時,根據(jù)選擇的內(nèi)存分配配置,將camera_capture buffer內(nèi)容復(fù)制到 camera_frame buffer,并啟動后續(xù)畫格的擷取。
          3. camera_frame buffer中包含的影像將重新縮放到Resize_Dst_Img buffer中,藉以配合預(yù)期的CNN輸入張量尺寸。例如,食品識別NN模型需要輸入張量,例如 Height × Width = 224 × 224像素。
          4. 執(zhí)行Resize_Dst_Img buffer到Pfc_Dst_Img buffer的像素色彩格式轉(zhuǎn)換。
          5. 將Pfc_Dst_Img buffer內(nèi)容中包含的各像素格式調(diào)整到nn_input緩沖區(qū)中。
          6. 執(zhí)行NN模型的推斷:這個nn_input buffer以及activation buffer提供給NN作為輸入。分類結(jié)果將儲存在 nn_output buffer中。
          7. 對nn_output buffer內(nèi)容進(jìn)行后處理,并顯示結(jié)果于屏幕上。

          圖表八詳細(xì)說明了食品識別應(yīng)用在整合量化C模型或浮點(diǎn)C模型時所需的RAM。


          圖片.png
           
          圖八 : 用于食品識別應(yīng)用的SRAM內(nèi)存緩沖器

          參考數(shù)據(jù)
          [1] 食品識別 CNN 是 MobileNet 模型的衍生模型。MobileNet:用于行動視覺應(yīng)用的高效率卷積神經(jīng)網(wǎng)絡(luò)
          [2]UM2611:FP-AI-VISION1手冊
          [3]UM2526:STM32Cube.AI手冊
          [4]FP-AI-VISION1 視訊應(yīng)用影片

          本文引用地址:http://www.ex-cimer.com/article/202205/433731.htm


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();