那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于NXP微控制器i.MX RT1170的多人體實時檢測算法和系統(tǒng)

jf_pJlTbmA9 ? 來源: 恩智浦MCU加油站 ? 作者: 恩智浦MCU加油站 ? 2023-10-26 16:27 ? 次閱讀

恩智浦的i.MX RT系列跨界處理器,為在設(shè)備端實現(xiàn)智能運算提供了更高性價比的方案,解鎖了在嵌入式應(yīng)用中部署人工智能算法的新途徑。

恩智浦的工程師們從多種角度,做了很多有創(chuàng)新的嘗試和工作,為客戶提供了豐富的選項,也很好地展示了i.MX RT產(chǎn)品的高性能和高擴展適應(yīng)性。

本文及隨后的一些小文將分別介紹這些精彩的成果。

wKgZomU6Il6AP17gAARFeFEne4k452.png

引 言

多目標檢測機器學習重要的研究領(lǐng)域之一,可以廣泛應(yīng)用于機器人,安防和工業(yè)監(jiān)控等領(lǐng)域。

針對多目標檢測任務(wù),目前比較流行的是基于卷積神經(jīng)網(wǎng)絡(luò)(Conventional Neural Network,CNN)的算法,例如Yolo,SSD和RetinaNet等。

然而,目前已有CNN方法均不適用于嵌入式平臺的部署,這是因為目標檢測是一個比較繁重的任務(wù),而現(xiàn)有的檢測模型過于復(fù)雜,對平臺的算力和內(nèi)存的需求很高,因此無法將其部署在嵌入式平臺。

本文基于開源算法,提出了一種輕量化的目標檢測網(wǎng)絡(luò),大量運用深度可分離卷積以及全新的尺度變換結(jié)構(gòu),使得模型計算復(fù)雜度和結(jié)構(gòu)得到極大簡化,進而使多目標檢測在MCU上的實現(xiàn)成為可能。

提出的檢測算法在NXP微控制器i.MX RT1170上的部署實驗結(jié)果表明:該算法極大降低了對于ROMRAM的消耗,運行時間得到大幅度優(yōu)化,檢測速度最高可達10FPS,并且模型精度可以媲美開源的YoloV3-tiny,YoloV4-tiny等模型。

實時多人體檢測算法

1. 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計

本文采用的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計主要分為兩部分,第一部分為網(wǎng)絡(luò)主體結(jié)構(gòu),用來逐層提取樣本的有效特征。該主體結(jié)構(gòu)借鑒了MobileNetV2的輕量特性,并充分考慮了模型在部署方面對于ROM和RAM的優(yōu)化。

網(wǎng)絡(luò)主要特點概括如下:

(1)大量運用深度可分離卷積來減少參數(shù)量,進而減少ROM的消耗。深度可分離卷積相對于傳統(tǒng)的卷積可以大大較少參數(shù)規(guī)模。例如對于一個輸入有8個通道,輸出有16個通道的傳統(tǒng)3*3卷積, 其參數(shù)量為16*8*3*3=1152;而深度可分離卷積參數(shù)量僅有8*3*3+1*1*8*16=200。

(2)模型結(jié)構(gòu)設(shè)計上遵循的是加大網(wǎng)絡(luò)模型深度,縮小每層的寬度,這樣帶來的好處是減少每層推理所需要的內(nèi)存占用。這是因為在嵌入式設(shè)備中,運行內(nèi)存極為緊張,而優(yōu)化過的模型可以減少RAM的使用。

(3)考慮到模型部署需要用到8位整型量化,這里我們采用Relu激活函數(shù)。這是因為目前還沒有任何研究表明哪種激活函數(shù)具有更高的精度,但對于量化來說,顯然Relu會比pRelu(圖1),leakyRelu或者sigmoid等函數(shù)具有更快的推理時間和更低的量化損失。

wKgaomUD8fiARRUWAACuAg5zw3M474.png 圖1 Relu和pRelu激活示意圖

(4)網(wǎng)絡(luò)設(shè)計中尺度變換結(jié)構(gòu)采用了1*1,3*3和5*5三種卷積核尺寸,進而同時兼顧不同大小目標的定位精度;同時,我們提出的尺度預(yù)測結(jié)構(gòu)更為簡單,減少了網(wǎng)絡(luò)模型部署的難度。

2. 網(wǎng)絡(luò)模型融合壓縮與量化

對于訓練后的網(wǎng)絡(luò)模型,可以通過網(wǎng)絡(luò)模型的融合壓縮以及量化技術(shù),加快其在嵌入式設(shè)備上的推理時間。

因為本文設(shè)計網(wǎng)絡(luò)中為了使每層數(shù)據(jù)分布更加均勻(有助于減少整型量化中的損失),采用了Batchnorm對數(shù)據(jù)進行約束。此外,Batchnorm還可以將輸入分布更多的分散在非飽和區(qū),進而減小梯度彌散,加快收斂過程。模型訓練結(jié)束后,Batchnorm中參數(shù)就固化了,可以將其參數(shù)融合進卷積層中,最終避免Batchnorm層在實際模型推理中的時間消耗。

模型量化的目的是為了加快模型在MCU上的推理時間,這是因為大多數(shù)MCU內(nèi)核采用Arm Cortex-M 架構(gòu),其對定點乘法運算的速度要比浮點運算快得多。此外,模型量化還可以節(jié)省模型對于ROM和RAM的需求。

本文采用全8位整型量化的方式對模型進行推理加速。

3. 實驗結(jié)果分析

本文提出的模型針對目前較為流行的開源公版模型YoloV3-Tiny和YoloV4-Tiny進行對比,實驗結(jié)果如下:

wKgZomUD8fqAN6oxAAENuEdQmcU630.png
wKgaomUD8fyAJjfqAADSeZrvD2M740.png
wKgZomUD8f6ATkHWAADgzvHFLdk129.png 圖2 模型對比實驗圖

如圖2所示,該模型極大地降低了ROM和RAM的占用,這對于內(nèi)存大小較為緊張的嵌入式設(shè)備來說意義重大。

而在推理時間上,本文提出的模型具有更為突出的優(yōu)勢。作者在NXP微控制器i.MX RT1170(ARM Cortex-M7,1GHz)上的實驗結(jié)果表明,相比開源模型動輒幾秒鐘的推理時間,我們提出的網(wǎng)絡(luò)模型將時間消耗控制在200ms以內(nèi),使其部署在微控制器上更加高效。

注意,圖2中的時間消耗對比是假設(shè)YoloV3-Tiny和YoloV4-Tiny均進行8位整型量化,并且直接使用未經(jīng)修改的開源算法得到的推理時間。實際上,直接使用開源的、未經(jīng)修改的YoloV3-Tiny和YoloV4-Tiny等網(wǎng)絡(luò)結(jié)構(gòu),由于其復(fù)雜結(jié)構(gòu),部署難度較高。而本文提出網(wǎng)絡(luò)模型在結(jié)構(gòu)上進行了極大優(yōu)化,可以利用現(xiàn)有開源工具進行量化部署。

對于模型預(yù)測精度,作者進行了如圖3的測試對比實驗。在多個樣本集上,本文提出模型的預(yù)測精度可以媲美開源的YoloV3-Tiny和YoloV4-Tiny等模型。

wKgZomU6IpSARNKwAAkf-y7Fp0g733.png 圖3 模型預(yù)測效果對比圖

基于i.MX RT1170的實時多人體檢測系統(tǒng)

神經(jīng)網(wǎng)絡(luò)模型在邊緣設(shè)備上的部署,是深度學習技術(shù)落地的一大關(guān)鍵部分。本文以多人體檢測模型為例,分享如何將現(xiàn)有的神經(jīng)網(wǎng)絡(luò)模型,部署到NXP的微控制器i.MX RT1170EVK開發(fā)板上,并實現(xiàn)實時多人體檢測系統(tǒng)。

部署流程如圖4所示,首先需要將訓練的模型進行模型框架轉(zhuǎn)換,這是因為開源的量化工具僅支持少量的模型框架。

第二步需要對模型進行融合優(yōu)化,然后利用量化工具將模型進行量化,并轉(zhuǎn)換為MCU可以執(zhí)行的代碼;最后對模型的預(yù)處理和后處理進行編程實現(xiàn),這樣攝像頭抓取的圖像數(shù)據(jù)就可以進行預(yù)處理后送入量化模型,然后根據(jù)模型輸出特征圖進行后處理,提取出有效的候選框作為預(yù)測框。

wKgZomUD8hOAcDPhAAEuC5nleH4175.png 圖4 神經(jīng)網(wǎng)絡(luò)邊緣設(shè)備部署流程圖

本文采用NXP i.MX RT1170EVK開發(fā)板進行多人體檢測系統(tǒng)的實現(xiàn)。

i.MX RT1170是NXP的一款跨界MCU,采用主頻達1GHz的Cortex?-M7內(nèi)核和主頻達400MHz的Cortex-M4,這里我們僅使用M7內(nèi)核。

此外,RT1170EVK上搭載了MIPI接口的OV5640攝像頭,分辨率達到720*1280,同時配有5.5寸高清顯示屏,分辨率同樣達到720*1280。

這里我們采用FreeRTOS系統(tǒng)進行攝像頭的實時讀取和LCD的實時顯示,攝像頭和LCD的分辨率均設(shè)為最高的720*1280,刷新率均設(shè)為15FPS。

系統(tǒng)實現(xiàn)流程如圖5所示,攝像頭抓取的圖像經(jīng)過PXP轉(zhuǎn)換,然后進行預(yù)處理送入模型,最后經(jīng)過后處理將預(yù)測框顯示在LCD上。

wKgaomUD8haAV31YAAI2Qc2KH5Y381.png 圖5 人體檢測系統(tǒng)實現(xiàn)流程

最終,基于i.MX RT1170的人體檢測系統(tǒng)可以實現(xiàn)快速精準的多人體位置預(yù)測,測試視頻如下。

此外,本文算法的一大優(yōu)勢在于運行時間可控,并不會因為被檢測人體數(shù)量的多少而改變。模型的速度決定了最遠檢測距離。以下測試結(jié)果分別是算法在10FPS,5FPS和3FPS速度下的最遠檢測距離。

wKgaomU6IsGAFFnnAAaFBvHJkr0883.png

圖6 算法檢測距離與速度

結(jié)束語

本文給出的多人體檢測算法和系統(tǒng),為在NXP的MCU上部署多目標檢測任務(wù)帶來了更多的可能性。

結(jié)合深度學習模型網(wǎng)絡(luò)的優(yōu)化,以及模型融合量化等技術(shù),可以在保證模型精度的同時,實現(xiàn)在嵌入式平臺上推理速度的最優(yōu)化,進而才能將深度學習技術(shù)更好的落地。

來源: 恩智浦MCU加油站
免責聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7649

    瀏覽量

    152097
  • NXP
    NXP
    +關(guān)注

    關(guān)注

    60

    文章

    1289

    瀏覽量

    185472
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    575

    瀏覽量

    85982
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1369

    瀏覽量

    114996
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4630

    瀏覽量

    93346
收藏 人收藏

    評論

    相關(guān)推薦

    基于i.MX RT1170的兩輪車數(shù)字儀表盤參考設(shè)計 全面的技術(shù)解讀

    采用i.MX RT1170跨界MCU構(gòu)建的兩輪車儀表盤;全包式參考平臺:實現(xiàn)更快、更輕松的開發(fā)。恩智浦的互聯(lián)數(shù)字儀表盤參考平臺使車輛制造商能夠為兩輪車提供基本的儀表盤功能,同時還支持各種連接用例,提升騎行者體驗。
    的頭像 發(fā)表于 11-03 08:15 ?2051次閱讀
    基于<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1170</b>的兩輪車數(shù)字儀表盤參考設(shè)計 全面的技術(shù)解讀

    i.MX RT1170的GPIO外設(shè)的使用

    在雙核的i.MX RT1170下設(shè)計應(yīng)用程序,有一個比較重要的考慮點是片內(nèi)外設(shè)資源共享以及任務(wù)分配問題,同樣一個任務(wù)既可以放在默認主核CM7下做,也可以放在默認從核 CM4下去完成。如果這個任務(wù)跟片內(nèi)外設(shè)有關(guān),那就得考慮該外設(shè)是否在兩個核下設(shè)計與使用一致,這在項目開始前必
    的頭像 發(fā)表于 09-01 08:46 ?2062次閱讀

    i.MX RT1170:VGLite移植RT-Thread Nano過程講解(下)

    上篇介紹了如何移植 RT-Thread Nano 內(nèi)核與 Finsh 控制臺到 RT1170。本篇繼續(xù)介紹如何將 NXP 官方的 VGLite API 移植到
    的頭像 發(fā)表于 11-09 11:22 ?996次閱讀

    i.MX RT1050平臺的相關(guān)資料推薦

    的首款跨界處理。該處理器具備應(yīng)用處理的高性能與高度集成的優(yōu)勢,更具有微控制器的易用性和實時功能。NXP Semiconductors(恩
    發(fā)表于 11-29 07:19

    i.MX RT1170車規(guī)級產(chǎn)品有AEC-Q100認證嗎?

    大家好如題,i.MX RT1170車規(guī)級產(chǎn)品有AEC-Q100認證嗎?如果是,能否提供相關(guān)文件?
    發(fā)表于 03-15 08:24

    是否可以將SPI接口顯示I.MX RT1170一起使用?

    是否可以將 SPI 接口顯示I.MX RT1170 一起使用。如果是,請附上可以使用的驅(qū)動軟件。我找到了 使用 SPI 接口的 NHD_4_3_800480FT_CSXP_CTP-3051926 顯示
    發(fā)表于 04-04 08:15

    i.MX RT1170自定義引導(dǎo)加載程序,如何在i.MX RT處理上完成?

    我將在我的自定義 i.MX RT1170 板上開發(fā)自定義引導(dǎo)加載程序。在我的例子中,閃存驅(qū)動程序?qū)⑼ㄟ^ USB 讀取以更新主要應(yīng)用程序。 我正在研究
    發(fā)表于 05-17 08:13

    恩智浦i.MX RT1170開創(chuàng)GHz MCU時代

    自2017年上市以來,i.MX RT系列取得了優(yōu)秀的市場表現(xiàn)。i.MX RT1170跨界MCU是恩智浦i.MX
    的頭像 發(fā)表于 03-22 11:14 ?3532次閱讀

    恩智浦i.MX RT1170在將該系列帶上了更高的層面

    自2017年上市以來,i.MX RT系列取得了優(yōu)秀的市場表現(xiàn)。i.MX RT1170跨界MCU是恩智浦i.MX
    的頭像 發(fā)表于 05-18 11:15 ?3846次閱讀

    i.MX RT開發(fā)筆記-08 | i.MX RT1062嵌套中斷向量控制器NVIC(按鍵中斷檢測

    系列文章目錄i.MX RT開發(fā)筆記-01 | 初識 i.MX RT1062 跨界MCUi.MX RT
    發(fā)表于 12-01 13:51 ?2次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>開發(fā)筆記-08 | <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1062嵌套中斷向量<b class='flag-5'>控制器</b>NVIC(按鍵中斷<b class='flag-5'>檢測</b>)

    來數(shù)數(shù)!這款i.MX RT1170智能廚房解決方案,用到了哪些NXP的黑科技?

    智能廚房解決方案 一款極具科技感的智能廚房解決方案 可以讓你通過觸摸屏和語音控制 與多種家電進行智能人機交互! 它是如何做到的? i.MX RT1170 1GHz雙核跨界MCU GUI Guider
    的頭像 發(fā)表于 02-04 12:40 ?898次閱讀

    I.MX RT1170配套PMIC PF5020使用方法

    I.MX RT1170將先進的電源管理模塊與DC-DC和LDO集成在一起,可降低外部電源的復(fù)雜性并簡化電源時序。
    的頭像 發(fā)表于 04-01 15:54 ?2470次閱讀

    i.MX RT1170評估套件快速入門:這份保姆級教程,請收藏!

    恩智浦官網(wǎng)精彩導(dǎo)覽 i.MX RT1170評估套件快速入門 i.MX RT1170 是恩智浦推出的首款主頻超過1GHz的跨界MCU,結(jié)合了強悍的計算能力、多種媒體功能、
    的頭像 發(fā)表于 05-12 11:55 ?2211次閱讀
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT1170</b>評估套件快速入門:這份保姆級教程,請收藏!

    i.MXRT1060和RT1170上使用高效神經(jīng)網(wǎng)絡(luò)進行多人檢測

    電子發(fā)燒友網(wǎng)站提供《在i.MXRT1060和RT1170上使用高效神經(jīng)網(wǎng)絡(luò)進行多人檢測.pdf》資料免費下載
    發(fā)表于 08-17 10:46 ?0次下載
    在<b class='flag-5'>i</b>.MXRT1060和<b class='flag-5'>RT1170</b>上使用高效神經(jīng)網(wǎng)絡(luò)進行<b class='flag-5'>多人</b><b class='flag-5'>檢測</b>

    恩智浦i.MX RT1170 uSDHC eMMC啟動時間

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1170 uSDHC eMMC啟動時間。
    的頭像 發(fā)表于 08-08 15:32 ?673次閱讀
    恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1170</b> uSDHC eMMC啟動時間
    网络赌博游戏| 伯爵百家乐官网娱乐网| 老虎机在线ap888| 巨星百家乐官网的玩法技巧和规则 | 聚众玩百家乐的玩法技巧和规则 | e世博百家乐官网娱乐场| 大发888娱乐场lm0| 百家乐注码技术打法| 庞博百家乐官网的玩法技巧和规则| 百家乐官网可以算牌么| 大发888检测技能| 连环百家乐怎么玩| 免费百家乐官网平预测软件| 缅甸百家乐官网玩假吗| 百家乐官网U盘下载| 六合投注系统| 棋牌评测网| 威尼斯人娱乐开户送18| 百家乐赌博牌路分析| 百家乐庄闲的冷热| 免费百家乐官网预测软件| 百家乐官网任你博娱乐网| 百家乐官网的玩法视频| 天博国际| 足球开户网| bet365网站| 大发888网站多少| 百家乐直揽经验| 澳门百家乐哪家信誉最好| 金赞百家乐官网的玩法技巧和规则| 百家乐官网赌博软件下载| 锦州市| 哈尔滨百家乐官网赌场| 洪洞县| 百家乐官网代打公司| 曲麻莱县| 韶山市| 星子县| 吐鲁番市| 百家乐官网路单之我见| 百家乐官网技巧-百家乐官网开户指定代理网址 |