chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

jf_pJlTbmA9 ? 來(lái)源: 恩智浦MCU加油站 ? 作者: 恩智浦MCU加油站 ? 2023-10-26 16:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

wKgZomU6Il6AP17gAARFeFEne4k452.png

引 言

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

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

然而,目前已有CNN方法均不適用于嵌入式平臺(tái)的部署,這是因?yàn)槟繕?biāo)檢測(cè)是一個(gè)比較繁重的任務(wù),而現(xiàn)有的檢測(cè)模型過(guò)于復(fù)雜,對(duì)平臺(tái)的算力和內(nèi)存的需求很高,因此無(wú)法將其部署在嵌入式平臺(tái)。

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

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

實(shí)時(shí)多人體檢測(cè)算法

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

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

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

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

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

(3)考慮到模型部署需要用到8位整型量化,這里我們采用Relu激活函數(shù)。這是因?yàn)槟壳斑€沒有任何研究表明哪種激活函數(shù)具有更高的精度,但對(duì)于量化來(lái)說(shuō),顯然Relu會(huì)比pRelu(圖1),leakyRelu或者sigmoid等函數(shù)具有更快的推理時(shí)間和更低的量化損失。

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

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

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

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

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

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

本文采用全8位整型量化的方式對(duì)模型進(jìn)行推理加速。

3. 實(shí)驗(yàn)結(jié)果分析

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

wKgZomUD8fqAN6oxAAENuEdQmcU630.png
wKgaomUD8fyAJjfqAADSeZrvD2M740.png
wKgZomUD8f6ATkHWAADgzvHFLdk129.png 圖2 模型對(duì)比實(shí)驗(yàn)圖

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

wKgaomU6IsGAFFnnAAaFBvHJkr0883.png

圖6 算法檢測(cè)距離與速度

結(jié)束語(yǔ)

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

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

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

審核編輯 黃宇

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

    關(guān)注

    48

    文章

    7954

    瀏覽量

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

    關(guān)注

    61

    文章

    1349

    瀏覽量

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

    關(guān)注

    4

    文章

    578

    瀏覽量

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

    關(guān)注

    8

    文章

    1392

    瀏覽量

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

    關(guān)注

    23

    文章

    4710

    瀏覽量

    95420
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何實(shí)現(xiàn)安卓與恩智浦i.MX RT1170的無(wú)線投屏與控制

    Scrcpy是一款免費(fèi)開源的軟件,支持將安卓端屏幕投影到其他設(shè)備,并支持被投屏設(shè)備對(duì)安卓的反向控制。基于ADB工具,安卓端無(wú)需安裝任何軟件,延遲低,穩(wěn)定性好?,F(xiàn)在,安卓也可投屏到恩智浦i.MX RT1170上。
    的頭像 發(fā)表于 06-26 09:53 ?1287次閱讀
    如何實(shí)現(xiàn)安卓與恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1170</b>的無(wú)線投屏與<b class='flag-5'>控制</b>

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

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

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

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

    如何禁用i.MX RT1170 MCU中的M4內(nèi)核?

    如何禁用 i.MX RT1170 MCU 中的 M4 內(nèi)核? 您能否提供具體的可行方法? 或者是否可以將內(nèi)核的工作時(shí)鐘頻率降低到 0 ?
    發(fā)表于 04-09 07:28

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

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

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

    是否可以將 SPI 接口顯示I.MX RT1170 一起使用。如果是,請(qǐng)附上可以使用的驅(qū)動(dòng)軟件。我找到了 使用 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ū)動(dòng)程序?qū)⑼ㄟ^(guò) USB 讀取以更新主要應(yīng)用程序。 我正在研究
    發(fā)表于 05-17 08:13

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

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

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

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

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

    系列文章目錄i.MX RT開發(fā)筆記-01 | 初識(shí) 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'>檢測(cè)</b>)

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

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

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

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

    i.MX RT1170評(píng)估套件快速入門:這份保姆級(jí)教程,請(qǐng)收藏!

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

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

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

    恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間。
    的頭像 發(fā)表于 08-08 15:32 ?1150次閱讀
    恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1170</b> uSDHC eMMC啟動(dòng)時(shí)間