一、概述
在當今這個科技飛速發展的時代,開源軟體已經成為推動創新與科技進步的關鍵力量。它不僅為開發者們提供了一個共享、合作的平台,更是激發創意與實踐夢想的重要基石。近期,如 ChatGPT 生成式 AI 以及 YOLO 以物件偵測應用為代表,都是這一趨勢下的傑出成果!對於產品開發來說,工程師不僅是創造者,也是使用者,如何讓使用者快速熟悉這些 AI 的邊緣計算平台(例如NXP i.MX8系列),來提升「使用者體驗」這是一個值得探討的事情!
為了幫助開發者快速了解 NXP 的 AI 邊緣計算平台,作者提供了一套針對NXP 平台設計的 AI 開發工具,可以讓開發者以簡單的指令實現快速驗證AI模組、比較多個模型數據,並提供熱門的範例程式;例如物體偵測(object detection)、語意分割(semantic segmentation)、姿態識別(pose estimation)等功能。這樣的設計使使用者能夠在最短時間內了解NXP平台的神經網路處理器(NPU)的能力。
現在,隨著人工智慧(Artificial Intelligence)時代的全面來臨,讓周邊設備的智慧化已經不再是遙不可及的夢想!透過使用 NXP i.MX 系列平台來設計邊緣運算(Edge Computing)產品,我們可以共同參與這個令人振奮的時代,並為未來的科技發展做出貢獻。
本篇文章將以 NXP i.MX 8M Plus 平台來實現如果需要建立 NXP 嵌入式系統的開發環境,讀者可以參考此內容。【ATU Book - i.MX8系列 - OS】NXP i.MX Linux BSP 開發環境建置來快速部署 恩智浦NXP i.MX8 系列 的開發環境透過此部落格文章或ATU 一位小編的系列博文,即可輕鬆實現任何有關 i.MX8 的環境建置!或者想要更快進入 NXP 平台的實現中,可以造訪官方網站下載官方發布的 Linux 映像檔(Image)。
.
NXP i.MX8MP 環境建置示意圖 -來源出處 Yocto 與恩智浦官網
二、i.MX Runtime Tool (imxrt) 開發工具
安裝 i.MX Runtime Tool 的 AI 開發工具只需要將 imxrt 存放到開發版環境下的 /usr/bin 目錄下即可使用!
如何使用 imxrt 套件
(1) 查詢指令:
$ imxrt –help

(2) 顯示系統資訊 :
$ imxrt –info 1

(3) 執行模組
若執行 AI 模組至 i.MX 平台,請先進行轉換。轉換為整數類型(int),可參考Colab轉換方式範例。
●神經網路處理器(Neural Processing Unit,NPU)
$ imxrt –run <tflite> –acc “npu”

●圖形處理器(Graph Processing Unit,GPU)
$ imxrt –run <tflite> –acc “gpu”

●中央處理器(Central Processing Unit,CPU)
$ imxrt –run <tflite> –acc “cpu”

(4) 基準效能測試
測試模組運行效能(預設以 NPU 為主),將輸出記憶體用量、冷啟動耗時、推理時間等資訊。
$ imxrt -b <tflite>

(5) Benchmark 批次效能測試
請將模組放置在資料夾內,進行批次的效能測試;等待幾分鐘後,將會生成 result.csv 檔案。
$ imxrt –benchmark_loop_generate_file mlmodel/ –csv_status ‘w+’

(6) 範例程式
提供物件偵測、語意分割、肢體識別的範例,可以使用 help 指令來查詢用法。
$ imxrt --demo help

示例一:物件檢測_YOLOv5s
$ imxrt –demo ObjectDetect_YOLOv5s


示例二:ObjectDetect_Gstreamer
$ imxrt –demo ObjectDetect_Gstreamer

(7)參考文件
請按照此指令,並查看連結
$ imxrt –參考 1

三、結語
在競爭多元化的晶片市場中,優異的使用者體驗和廣泛的開源軟體支援已成為科技發展的重要趨勢。本文將介紹一款工具程式 i.MX Runtime Tool 它能夠透過簡單的指令,讓初學者輕鬆「一鍵啟動 AI」,迅速進入 AI 視覺處理的新領域。儘管本文的實作案例主要基於 NXP i.MX8M Plus 平台,但相同的方法也適用於 i.MX93 平台,甚至是不搭載 NPU 的 NXP i.MX 系列平台!
隨著 YOLO 系列的 AI 技術不斷進步,我們對硬體的要求也日益提高。NXP 的 i.MX8 系列以其卓越的處理能力和靈活的應用性,成為 AI 領域的熱門選擇。無論您是技術開發者,還是對 AI 應用充滿熱情的創新者,imxrt 開發工具都能為您提供無縫的技術支援,助您輕鬆跨越 AI 實作的門檻。
我們鼓勵對技術移植與 AI 應用感興趣的讀者,持續關注 ATU 一位小編的系列博文或者直接與我們的專業團隊取得聯繫,共同探索 AI 的無限可能。感謝您的閱讀,期待在 AI 的旅程中與您相遇!
四、參考文件
[1]i.MX 8系列應用處理器 多核心Arm® Cortex®處理器
[2]NXP 文件 - i.MX Yocto Project 使用者指南.pdf
如果有任何與機器學習技術相關的問題,歡迎在文章底下留言提問!
接下來還會分享更多 Machine Learning 的技術文章!敬請期待【ATU Book-i.MX系列 - ML】!

評論