マイコン用AIモデルの作成にトライ
★オンライン受講の選択も可能★
NPUマイコンではじめるエッジAI開発
・開催日 :2025年12月4日 14:00-17:00
・受講料 :5,000円(ボード付き,税込み)
・使用ボード:FRDM-MCXN947(NXPセミコンダクターズ)
・講師 :笹尾 幸良氏(株式会社Acculus CEO)
※セミナ受講時に使用したFRDM-MCXN947はそのままお持ち帰り頂けます.
申し込みページはこちら
NXPジャパン株式会社が主催の技術イベントを開催します.Edge AI,IoT機器のセキュリティ,I3Cバス,モータ制御など,最前線の技術トレンドを解説するセッションを多数開催します.
開発ボードのプレゼントや技術資料などの参加者限定特典もご用意しております.
・開催日:2025年12月10日(水)10:00〜16:30
・会場 :コングレスクエア日本橋
・参加費:無料
申し込みページはこちら
前回は,写真1に示すマイコン・ボードFRDM-MCXN947(NXPセミコンダクターズ)を使用して,AIの推論を行うサンプル・プログラムを動かしました.
今回は,NXPセミコンダクターズの組込み機器向けAI開発支援ツールeIQ Toolkitを使って,新たなモデルの作成を行ってみます.ここでは,複数の花の画像から,特定の花を認識するモデルを作成してみます.
本記事で紹介する手順は,次のウェブ・ページを元にしています.
・[入門]MCX N947:AI/ML画像認識サンプルコード実装 (日本語ブログ),NXP Tech Blog
本稿執筆時点でリリースされている各種開発環境の最新バージョンは,MCUXpresso IDEは25.6.136,SDKは25.09.00ですが,AI開発支援ツールeIQ ToolkitがサポートするSDKのバージョンが2.14.0です.
最新バージョンでは参考文献の手順通りに実行できない可能性があるので,ここではそれぞれ次のバージョンを使用します.MCUXpresso IDEとMCUXpresso SDKのインストール方法は,前回の説明を参照してください.
・MCUXpresso IDE:v11.9.0
・MCUXpresso SDK:SDK_2_14_0_FRDM-MCXN947
・eIQ Toolkit:v1.11.4(eIQ Portal 2.11.2)
本記事では,前回と同様に開発用PCにWindows 11マシンを使用する前提で解説を行います.次のウェブ・ページよりeIQ Toolkitのインストーラをダウンロードします.
・eIQ Toolkit
ダウンロードが完了したらインストーラを実行します.指示に従ってインストールします.
ここでは,複数の花の画像から,特定の花を認識するモデルを作成します.そのために,まずはeIQ Toolkitに花の画像データ(データセット)をインポートします.インポートには,Pythonスクリプトを使用します.
次のURLから,モデル作成用の花のデータセットをダウンロードします.
・http://download.tensorflow.org/example_images/flower_photos.tgz
ダウンロードしたファイルは,ドキュメント・フォルダC:/Users/{ユーザ名}/Documentsに保存して解凍します.
データセットのflower_photosのフォルダ構造を,インポート時に使用するPythonスクリプトが必要とするイメージのフォルダ構造に手動で変更します.変更内容は次の通りです.
(1) flower_photosフォルダ を「ドキュメント(Document)」直下へ移動する
(2) ファイル flower_photos/LICENSE.txt を削除する
(3) flower_photosフォルダの下に新たにフォルダtest, train, validation を作成する
(4) 花の画像の(~75%)を教師データとしてtrainフォルダへ移動する(正確な数は重要ではない)
(5) 残った画像をvalidateとtestフォルダへ振り分ける
変更後のフォルダ構成を図1に示します.

Windowsのスタート・メニューからeIQ Toolkit内のeIQ Portalを起動します(図2).メニュー・バーより[SETTING]を選択し,Neutron converterにMCUXpresso SDK 2.14.0を選択します.

次に,[CREAT PROJECT]ボタンにカーソルを合わせると現れる[Import dataset]を選択し,[Structured folders]をクリックします(図3).次に,左上にある[SELECT DATASET FOLDER]をクリックし,手順2で作成したデータセットのフォルダflower_photosを選択します.選択したら[IMPORT]をクリックします.

.eiqp形式のファイルの保存場所を指定します.ここでは,Dovumentsフォルダ直下にeiq-project_HandsOn_2112.eiqpというファイル名で保存します.すると,インポートが完了します(図4).

[SELECT MODEL]をクリックします.その後,[Classification(クラス分け)]-[Performance]-[NPU]の順にクリックします.すると,モデルのトレーニング画面(図5)が表示されるので,次の通りパラメータを設定します.
・Input Size:128,128,3
・Learning Rate:0.01
・Epochs To Train:Infinity
・Enable QAT: 有効

設定が終わったら[START TRAINING]をクリックして学習を開始します.
トレーニングが完了したら図6のように表示されます.[VALIDATE]をクリックしてモデルの検証を行います.

「Use Quantized Model」を有効して,[VALIDATE]をクリックして検証を開始します.
理想的には図検証が完了すると図7のような画面が表示されます.
この画面では,AIモデルがどのくらいの確率で各ラベルをクラス分けできるかどうかを確認できますが,十分な精度が出ていません.必要に応じて再学習を実施します.

学習時のLearning Rateの設定が0.01では十分な結果が得られないことが多いので,文献(2)を参考に最初から0.0001以上に設定すると,図8のように精度が向上しました.

学習と検証を繰り返して十分な検証結果が得られたら,[DEPLOY]をクリックして出力設定画面に移ります(図9).Export File Typeを[TensorFlow Lite],[Export Quantized Model]を有効にして,[EXPORT MODEL]をクリックします.

作成したモデルをC/C++言語のプログラムに取り込めるように,テキスト・ファイルに変換します.
eIQ ToolKitの最初の画面まで戻り,[MODEL TOOL]-[Open Model...]を選択し,先ほどエクスポートしたモデルを選択します.
その後,メニューから[Convert]-[TensorFlow Lite for Neutron (.tflite)]を選択します.ここでで「Neutron target」に[mcxn94x]を選択し,「Conversion Options」を次のように設定して[Convert]をクリックします(図10).
dump-header-file; dump-header-file-input

これで,AIモデルが生成されます(図11).生成されるのは,NPU用とCPU用の2つのC/C++言語のヘッダ・ファイルです.中身はリスト1のようになっています.ファイル名にconvertedが含まれているファイルがNPU用です.ここでは,次のファイル名にしました.
・eiq-project_HandsOn_flower_2112_converted.h(NPU用)
・eiq-project_HandsOn_flower_2112(CPU用)

static const unsigned char model_data[] __attribute__((aligned(16))) = {
0x10, 0x00, 0x00, 0x00, 0x54, 0x46, 0x4c, 0x33, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7e, 0x53, 0xf9, 0xff, 0x03, 0x00, 0x00, 0x00,
0xb0, 0xb4, 0x06, 0x00, 0x6c, 0xac, 0x06, 0x00, 0x00, 0xac, 0x06, 0x00,
0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xf0, 0xab, 0x06, 0x00,
:(省略)
今回はeIQというツールを使って新たなモデルを作成しました.次回は,実際にマイコン上で今回作成したモデルを動かしてみます.
(1) [入門]MCX N947:AI/ML画像認識サンプルコード実装 (日本語ブログ),NXP Tech Blog
(2) 中森 章;特集 第4部 第1章マイコンではじめるNPUプログラミング,Interface2025年6月号,CQ出版社.
FRDM基板プレゼント(計5名様) メール・マガジン「組み込みマイコン入門講座」読者アンケートにご協力ください
2025年4月~配信しているメール・マガジン「組み込みマイコン入門講座」について読者アンケートにご協力をお願い致します.メール・マガジンのアーカイブはこちらでも確認できます.
アンケートに回答頂いた方の中から抽選で5名様に,下記のいずれかのマイコン基板をプレゼント致します.
・FRDM-MCXA153
・FRDM-RW612
・FRDM-MCXN947
当選発表,および当選ボードの種類は,プレゼントの発送を持ってかえさせて頂きます.
アンケート・ページはこちら
・組み込みマイコン入門講座
-- https://interface.cqpub.co.jp/mcu-hands-on/
・登録内容の変更,メール・マガジン配信中止はこちらからお願いします.
-- https://cc.cqpub.co.jp/system/auth/








