實(shí)操項(xiàng)目帶您了解NXP產(chǎn)品在邊緣機(jī)器學(xué)習(xí)中的應(yīng)用
在技術(shù)飛速發(fā)展的時(shí)代,邊緣機(jī)器學(xué)習(xí)(邊緣ML)作為一種變革性技術(shù)脫穎而出,重新定義了我們實(shí)時(shí)處理和分析數(shù)據(jù)的方式。這種開(kāi)創(chuàng)性方法直接在邊緣設(shè)備上部署ML模型,掀開(kāi)了響應(yīng)式智能應(yīng)用的新篇章。本文將通過(guò)一個(gè)實(shí)操項(xiàng)目來(lái)深入探索邊緣ML,探討其意義、應(yīng)用及其為各行各業(yè)帶來(lái)的無(wú)數(shù)好處。
與嚴(yán)重依賴集中式云服務(wù)器進(jìn)行大量數(shù)據(jù)處理的傳統(tǒng)ML模型相比,邊緣ML可將計(jì)算工作量直接轉(zhuǎn)移到邊緣設(shè)備上。這就給邊緣設(shè)備提供了即時(shí)決策的潛力,而無(wú)需一直依賴外部服務(wù)器。這種轉(zhuǎn)變解決了傳統(tǒng)方法固有的延遲、隱私和帶寬挑戰(zhàn)等相關(guān)問(wèn)題。
邊緣ML的優(yōu)勢(shì)在于其提供實(shí)時(shí)見(jiàn)解的能力。通過(guò)直接在邊緣設(shè)備上執(zhí)行推理,應(yīng)用可以針對(duì)不斷變化的情況做出快速反應(yīng),因此非常適合時(shí)間敏感型場(chǎng)景。無(wú)論是在需要瞬間做出決策的自動(dòng)駕駛汽車中、發(fā)現(xiàn)潛在威脅的智能監(jiān)控?cái)z像頭中,還是在提供及時(shí)診斷的醫(yī)療保健設(shè)備中,通過(guò)邊緣ML都能顯著縮短延遲時(shí)間。
本文將帶領(lǐng)讀者了解在邊緣ML的實(shí)際應(yīng)用中使用FRDM-MCX-N947 FRDM開(kāi)發(fā)板的必要步驟,并介紹用于生成ML模型的NXP eIQ? Portal。板載的MCX N947 MCU包含一個(gè)eIQ Neutron神經(jīng)處理單元 (NPU),可縮短推理時(shí)間,從而提高邊緣ML產(chǎn)品的電池壽命。從智慧城市和工業(yè)物聯(lián)網(wǎng) (IIoT) 到醫(yī)療保健和消費(fèi)電子領(lǐng)域,潛在的應(yīng)用多種多樣且影響深遠(yuǎn)。
項(xiàng)目材料與資源
項(xiàng)目物料清單 (BOM)
● NXP FRDM-MCXN947
項(xiàng)目代碼/軟件
● MCUXpresso IDE for NXP MCU
● MCUXpresso SDK Builder
● eIQ Toolkit
其他資源
● MCUXpresso IDE終端窗口、Tera Term或其他終端仿真器軟件
其他硬件
● Windows PC
● USB Type-C轉(zhuǎn)USB Type-A電纜,或Type-C電纜(取決于PC USB端口的可用性)
帳戶
● NXP帳戶(可免費(fèi)創(chuàng)建)
項(xiàng)目技術(shù)概況
FRDM-MCXN947開(kāi)發(fā)板(圖1)搭載MCX N947 MCU,后者有兩個(gè)高性能Arm? Cortex?-M33內(nèi)核,每個(gè)內(nèi)核的運(yùn)行速度高達(dá)150MHz。此MCU配備2MB閃存、可選的全ECC RAM、DSP協(xié)處理器和集成式eIQ Neutron NPU。NPU可顯著提高M(jìn)L吞吐量,與單核CPU相比,性能最多可提升30倍。因此它能讓設(shè)備大幅縮短工作時(shí)間,從而降低總體功耗。
圖1 搭載MCX N947 MCU的NXP FRDM-MCXN947開(kāi)發(fā)板(圖源:貿(mào)澤電子)
多核架構(gòu)通過(guò)在模擬和數(shù)字外設(shè)之間智能分配工作負(fù)載,提高了系統(tǒng)性能和效率。此開(kāi)發(fā)板配備了MCUXpresso Developer Experience支持,經(jīng)過(guò)優(yōu)化且使用方便,可以加快嵌入式系統(tǒng)的開(kāi)發(fā)速度。
MCX N94x系列專為工業(yè)應(yīng)用而設(shè)計(jì),具有更豐富的模擬和電機(jī)控制外設(shè)。
項(xiàng)目開(kāi)發(fā)
本項(xiàng)目將介紹MCX N94x MCU,專門(mén)使用FRDM-MCXN947開(kāi)發(fā)板讓讀者了解如何輕松啟動(dòng)并運(yùn)行該產(chǎn)品。
軟件安裝
下面列出了運(yùn)行示例項(xiàng)目所需的軟件,但只有MCUXpresso集成開(kāi)發(fā)環(huán)境 (IDE) 是必需的。
MCUXpresso IDE
MCUXpresso IDE為開(kāi)發(fā)人員提供基于Eclipse的用戶友好開(kāi)發(fā)環(huán)境,專為搭載Arm Cortex-M內(nèi)核的NXP MCU(包括通用跨界MCU和支持無(wú)線功能的MCU)量身定制。此IDE提供各種高級(jí)編輯、編譯和調(diào)試功能,包括MCU特定調(diào)試視圖、代碼跟蹤和剖析、多核調(diào)試以及集成的配置工具(圖2)。
圖2 NXP MCUXpresso IDE(圖源:貿(mào)澤電子)
安裝步驟非常簡(jiǎn)單,只需導(dǎo)航至NXP MCUXpresso IDE下載網(wǎng)站。單擊網(wǎng)站右上角的Downloads圖標(biāo),導(dǎo)航至MCUXpresso Integrated Development Environment (IDE),然后單擊Download。如果出現(xiàn)提示,請(qǐng)按照屏幕上的說(shuō)明創(chuàng)建帳戶。
在接下來(lái)的畫(huà)面上,您可以選擇要下載的版本以及要使用的操作系統(tǒng) (OS) 。本項(xiàng)目使用MCUXpresso 11.8.1版本(請(qǐng)下載最新版本)和Windows OS。
SDK Builder
MCUXpresso SDK Builder(圖3)通過(guò)提供開(kāi)源驅(qū)動(dòng)程序、中間件和參考示例應(yīng)用來(lái)加快軟件開(kāi)發(fā)速度。通過(guò)SDK Builder,您可以定制并下載與所選處理器或評(píng)估板相匹配的軟件開(kāi)發(fā)套件 (SDK),從而簡(jiǎn)化開(kāi)發(fā)流程。我們將在后面創(chuàng)建并安裝SDK。
圖3 NXP MCUXpresso SDK Builder網(wǎng)站(圖源:貿(mào)澤電子)
eIQ Portal
eIQ Toolkit(圖4)通過(guò)直觀的圖形用戶界面(即eIQ Portal)和工作流工具,以及eIQ ML軟件開(kāi)發(fā)環(huán)境中的命令行主機(jī)工具選項(xiàng),助力ML的開(kāi)發(fā)。NXP的eIQ Toolkit是與Au-Zone Technologies獨(dú)家合作開(kāi)發(fā)的,它為開(kāi)發(fā)人員提供圖形級(jí)分析功能和運(yùn)行時(shí)洞察力,可優(yōu)化EdgeVerse?處理器上的神經(jīng)網(wǎng)絡(luò)架構(gòu)。它還提供轉(zhuǎn)換模型所需的工具以便利用eIQ Neutron NPU。
圖4 eIQ Portal(圖源:貿(mào)澤電子)
eIQ軟件不是運(yùn)行本示例項(xiàng)目所必需的,但它可以通過(guò)建立和實(shí)現(xiàn)新模型支持進(jìn)一步的開(kāi)發(fā)。所需文件可在eIQ Toolkit for End-to-End Model Development and Deployment頁(yè)面找到。單擊右上角的“Downloads”按鈕,然后根據(jù)您的操作系統(tǒng)查找并下載最新版本的eIQ Toolkit安裝程序。
硬件設(shè)置
本項(xiàng)目的硬件設(shè)置非常簡(jiǎn)單。只需用USB Type-C電纜將主機(jī)與電路板的J17 USB Type-C端口(SW1旁邊)相連(圖5)。然后就可以編程并調(diào)試代碼。
圖5 連接了USB Type-C電纜的FRDM-MCX-N947(圖源:貿(mào)澤電子)
組裝
創(chuàng)建并安裝SDK
在開(kāi)始之前,您需要找到并安裝設(shè)備所需的SDK:
1.導(dǎo)航至https://mcuxpresso.nxp.com/en/welcome(需要登錄)
2.單擊Select Development Board
3.從Boards下拉菜單中選擇MCX,然后選擇FRDM-MCXN947 (MCXN947)(圖6)。
4.選中后,從窗口右側(cè)的Selection Details單擊Build MCUXpresso SDK。
圖6 NXP MCUXpresso SDK Builder開(kāi)發(fā)板選擇(圖源:貿(mào)澤電子)
1.在Developer Environment Settings(圖7)下方,選擇所有庫(kù),確保其中有eIQ Middleware。
2.單擊窗口底部的Download SDK。
圖7 NXP MCUXpresso SDK Builder開(kāi)發(fā)環(huán)境設(shè)置(圖源:貿(mào)澤電子)
1.從MCUXpresso SDK Dashboard(圖8)找到新創(chuàng)建的SDK,然后在特定SDK窗口的右側(cè)單擊Download SDK。(該區(qū)域?qū)⒘谐鏊袆?chuàng)建的SDK。)
圖8 NXP MCUXpresso SDK Builder Dashboard(圖源:貿(mào)澤電子)
2.打開(kāi)MCUXpresso IDE(如果尚未打開(kāi))。
3.找到下載的SDK文件。
4.將壓縮的SDK文件拖到Installed SDKs窗口(圖9),按照屏幕上的說(shuō)明開(kāi)始安裝。(注意:窗口位置可能因IDE配置而異。)
圖9 MCUXpresso IDE安裝的SDK列表(圖源:貿(mào)澤電子)
找到并加載示例項(xiàng)目
SDK安裝完成后,使用以下步驟訪問(wèn)示例項(xiàng)目,以便測(cè)試和開(kāi)發(fā)設(shè)備:
5打開(kāi)MCUXpresso IDE并關(guān)閉歡迎窗口。
6.在MCUXpresso IDE的左下角找到Quickstart Panel(圖10)。
圖10 MCUXpresso IDE Quickstart Panel(圖源:貿(mào)澤電子)
1.在Create or import a project下面,選擇Import SDK example(s)…,這將打開(kāi)SDK Import Wizard(圖11)。
2.從列表中選擇FRDM-MCXN947,然后單擊Next。
圖11 MCUXpresso IDE SDK Import Wizard(圖源:貿(mào)澤電子)
1.選擇eiq_eamples下面的tflm_label_image演示文件,如圖11所示。也可以選擇其他示例。
2.單擊Finish,開(kāi)始將示例項(xiàng)目導(dǎo)入工作空間。
3.在Project Explorer窗口(圖12)中,應(yīng)可看到所有已安裝和可用項(xiàng)目的列表。
圖12 MCUXpresso IDE Project Explorer(圖源:貿(mào)澤電子)
對(duì)FRDM-MCXN947進(jìn)行編程和調(diào)試
利用所安裝SDK中的可用示例程序,您可以評(píng)估任何eIQ項(xiàng)目。在本項(xiàng)目中,我們將評(píng)估Label Image示例項(xiàng)目。
1.從Project Explorer中的可用項(xiàng)目列表(圖12),選擇frdmmcxn947_tflm_label_image。
2.在IDE頂部的工具欄中,單擊Build圖標(biāo)。
3.在控制臺(tái)中確認(rèn)編譯完成且無(wú)錯(cuò)誤(圖13)。
圖13 MCUXpresso IDE控制臺(tái)窗口(圖源:貿(mào)澤電子)
4.右鍵單擊所選示例程序,選擇Debug As,然后選擇MCUXpresso IDE LinkServer。
5.在SWD Configuration窗口(圖14)中,選擇Device 0,然后單擊OK。
圖14 MCUXpresso IDE SWD Configuration窗口(圖源:貿(mào)澤電子)
6.label image文件編譯完成后,按下F8或單擊工具欄上的Resume圖標(biāo),繼續(xù)調(diào)試程序。
7.打開(kāi)終端窗口(圖15)或其他終端仿真器軟件。
8.選擇分配給設(shè)備的COM端口。
9.如下所示設(shè)置COM端口:
a.波特率:115200
b.數(shù)據(jù)位:8
c.奇偶校驗(yàn)位:無(wú)
d.停止位:1
e.流控制:無(wú)
圖15 MCUXpresso IDE終端窗口(圖源:貿(mào)澤電子)
此示例項(xiàng)目的輸出結(jié)果應(yīng)顯示在終端窗口中,由于未連接外部攝像頭,因此只能顯示靜態(tài)圖像。
更進(jìn)一步
當(dāng)然,這并不是最終的可能結(jié)果。只需拖放文件,還可通過(guò)eIQ Portal,使用自定義圖像集創(chuàng)建模型(圖16)。有了可用的示例和新增的硬件,圖像分類和實(shí)時(shí)監(jiān)控就變得簡(jiǎn)單多了。您還可以使用eIQ Toolkit轉(zhuǎn)換現(xiàn)有模型,并利用eIQ Neutron NPU。MCX N系列中的eIQ Neutron NPU可以顯著縮短運(yùn)行模型時(shí)的推理時(shí)間。
圖16 eIQ Portal Data Set Curator(圖源:貿(mào)澤電子)
結(jié)語(yǔ)
邊緣ML的顯著優(yōu)勢(shì)在于其提供實(shí)時(shí)見(jiàn)解的能力。在邊緣設(shè)備上進(jìn)行直接推理可使應(yīng)用對(duì)動(dòng)態(tài)條件迅速做出反應(yīng),這在時(shí)間敏感型場(chǎng)景中尤為有利。無(wú)論是在需要瞬間做出決策的自動(dòng)駕駛汽車中、發(fā)現(xiàn)潛在威脅的智能監(jiān)控?cái)z像頭中,還是在提供及時(shí)診斷的醫(yī)療保健設(shè)備中,通過(guò)邊緣ML縮短延遲時(shí)間都是至關(guān)重要的創(chuàng)新。
本文提供了實(shí)操型指南,讓讀者了解在邊緣ML應(yīng)用中使用FRDM-MCXN947 FRDM開(kāi)發(fā)板的基本步驟。此外,本文還介紹了用于生成ML模型的工具 - eIQ Portal。所展示的應(yīng)用涉及智慧城市、工業(yè)物聯(lián)網(wǎng) (IIoT)、醫(yī)療保健和消費(fèi)電子等多個(gè)行業(yè),凸顯了邊緣ML廣泛而深刻的影響。
作者簡(jiǎn)介
Joseph Downing于2011年加入貿(mào)澤電子,擔(dān)任技術(shù)支持專員,后轉(zhuǎn)為技術(shù)內(nèi)容專員。此外,Joseph還曾就職于Intel、Radisys和Planar等電子行業(yè)公司,擁有20多年的工作經(jīng)驗(yàn)。作為一名狂熱的創(chuàng)客,Joseph幫助管理并向“應(yīng)用與技術(shù)”專欄以及貿(mào)易展會(huì)提供技術(shù)項(xiàng)目和材料。
評(píng)論