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