サイト内検索

家電や産業機器、ウェアラブル機器などの組込み機器に「AI」を搭載したい、そう考えたことはありませんか?
これまで機械学習の推論処理には高性能なプロセッサーやクラウドが必要と考えられてきましたが、最近ではモデルの軽量化と専用ハードウェアの進化により、低コストなマイコン上でもAI推論を実行できるようになっています。

Texas Instruments社(以下TI社)は、Arm Cortex-M0+ コアを採用した MSPM0 マイコンに、AI推論専用の TinyEngine NPU(ニューラル プロセッシング ユニット)を内蔵した MSPM0G5187 を展開しています。


本記事では、MSPM0 の概要と TinyEngine NPU の特長を整理したうえで、MSPM0-SDK で公開されているSDKデモから「波形分類」「手書き数字認識」「在室者識別」の3つを、モデル構成や性能データとあわせてご紹介します。

TI社の汎用マイコン MSPM0 とは

低コスト・小型・アナログ統合が特長の Arm Cortex-M0+ マイコン

MSPM0 は、TI社が展開している Arm Cortex-M0+ コア搭載の32ビット汎用マイコンファミリーです。
動作周波数は24MHz、32MHz、80MHzのラインナップがあり、低価格帯の製品も揃っているため、さまざまな機器に採用しやすい製品群です。

MSPM0 の大きな特長は、マイコン内部にアナログ機能を統合している点です。ゼロドリフトのオペアンプ、コンパレーター、12ビットA/Dコンバーターといったアナログ周辺回路を内蔵した製品があり、センサー信号の取り込みから処理までを1チップで完結させやすく、外付け部品の削減と基板の小型化に貢献します。

幅広いパッケージとピン互換のラインナップ

MSPM0 は8ピンから100ピンまで幅広いパッケージを用意しています。パッケージやメモリー容量の異なる製品間でピン互換性を確保し、ソフトウェアも共通で使えるよう設計されているため、製品の機能追加やコストダウンに合わせてデバイスを柔軟に変更できます。

こうした MSPM0 ファミリーの中で、AI推論専用の TinyEngine NPU を内蔵した製品が次章以降でご紹介する MSPM0G5187(80MHz、Flash 128KB、SRAM 32KB)です。

引用元:Texas Instruments, Microcontrollers overview

なぜ今、マイコンでの Edge AI が注目されているのか

ルールベースの処理では対応しきれない課題が増えている

センサー信号から「人が動いたのか」「異常が起きたのか」を判断する処理は、従来、しきい値や条件分岐を組み合わせたルールベースのコードで実装されてきました。
しかし、入力パターンが多様になるほど条件は複雑化し、誤検知の増加やチューニング工数の増大を招きます。
データから特徴を学習する機械学習モデルなら、こうした多様な入力にも柔軟に対応できます。

直感的なユーザー入力へのニーズ

ボタンやスイッチに代わり、手書き文字のような直感的な入力方法へのニーズも高まっています。
こうした入力は人によるばらつきが大きくルールベースでの判定が難しいため、機械学習の活用が有効です。

マイコン上での推論がもたらすメリット

推論をマイコン上で完結させれば、リアルタイムな応答と低消費電力を両立できます。
特にバッテリー駆動の機器や常時動作が求められる検出用途では、推論レイテンシーと消費電力が製品価値を大きく左右します。

MSPM0G5187 の TinyEngine NPU とは

MSPM0G5187 に内蔵された TinyEngine NPU は、畳み込みニューラルネットワーク(CNN)の演算に最適化されたAIアクセラレーターで、80MHz動作時に2.56GOPS(毎秒25億6,000万回の演算)の性能を備えています。重みは8ビット、4ビット、2ビットに対応しており、モデルを量子化して小さくすることでメモリー使用量を抑えられます。

Arm Cortex-M0+ は小型・低消費電力を重視したシンプルなコアで、浮動小数点演算ユニット(FPU)やDSP拡張命令を備えていません。そのため、大量の積和演算を必要とするニューラルネットワークの推論はCPUだけでは負荷が大きく、専用のNPUを内蔵したことの意義は大きいといえます。

CNN の演算をCPUからNPUにオフロードすることで、推論の処理時間と消費電力を削減できます。次章でご紹介する3つのデモは、いずれも TinyEngine NPU を使って推論を実行しています。


このほか MSPM0G5187 は、最大26チャネルの12ビット1.6Msps A/Dコンバーター、マイクなどの接続に使えるI2S対応のデジタルオーディオインターフェース、USB 2.0 フルスピード、AES暗号アクセラレーターを搭載しており、センサー信号の取り込みからAI推論、結果の通信までを1チップで構成できます。


引用元:Texas Instruments, MSPM0G5187 製品ページ https://www.ti.com/product/MSPM0G5187

MSPM0G5187 で試せる Edge AI デモ事例3選

ここからは、MSPM0-SDK で公開されている3つのSDKデモをご紹介します。いずれも入力データを複数のクラスに分類する「分類タスク」の事例です。

INT8 に量子化したCNNモデルを用い、Flash 数十KB、RAM 数KB~十数KBという小さなメモリーで動作する点に注目してください。

事例1:波形分類(SDKデモ)

「のこぎり波」「正弦波」「矩形波」の3種類の波形信号を分類するデモです。ファンクションジェネレーターから入力した波形をA/Dコンバーターで取り込み、特徴量を抽出して MSPM0G5187 の TinyEngine NPU で推論し、判定結果をLEDの色で表示します。

シンプルな題材ですが、モーター電流や振動の波形で学習し直せば、故障監視や異常検知にも応用できます。

TI社の公開データでは、精度100%、NPU実行時の推論レイテンシー5.84ms、平均推論消費エネルギー412.90µJという結果が示されています。同じモデルをCPUで実行するサンプルでは推論レイテンシーが54.06msとされており、NPUにより約9分の1に短縮されています。

 波形分類 AIモデル情報

項目

値

モデル構成

CNN

パラメーター数

14,124

入力形状

Tensor [(1, 1, 128, 1)]

出力クラス

3(Sawtooth、Sine、Square)

量子化

INT8



 波形分類 Edge AI ソリューションの性能

指標

値

精度

100%

Flash使用量

21.5KB

RAM使用量

3.3KB

推論レイテンシー(NPU)

5.84ms

推論消費エネルギー(平均)

412.90µJ


引用元:Texas Instruments, SDAA429 https://www.ti.com/lit/pdf/sdaa429 / MSPM0-SDK waveform_classifier_ai README(CPU実行時の推論レイテンシー) https://github.com/TexasInstruments/mspm0-sdk/tree/main/examples/nortos/LP_MSPM0G5187/edgeAI/waveform_classifier_ai

事例2:手書き数字認識(SDKデモ)

学習に用いる MNIST データセットの例

学習に用いる MNIST データセットの例
引用元:Texas Instruments, Digit recognition with TI's microcontrollers (MCUs) https://www.ti.com/technologies/edge-ai/use-cases/character-recognition-with-edge-ai.html

手書き数字認識デモのGUI(認識結果、推論時間、各数字の分類確率を表示)

手書き数字認識デモのGUI(認識結果、推論時間、各数字の分類確率を表示)
引用元:Texas Instruments, Digit recognition with TI's microcontrollers (MCUs) https://www.ti.com/technologies/edge-ai/use-cases/character-recognition-with-edge-ai.html

想定アプリケーションとしては、産業用IoTにおける銘板・ラベル・在庫タグの自動読み取りや、アナログメーターの読み値のリアルタイムなデジタル化などが挙げられます。

 

手書き数字認識 AIモデル情報

項目

値

モデル構成

CNN

パラメーター数

60,000

入力形状

(1, 28, 28)

出力クラス

10

量子化

INT8


手書き数字認識 Edge AI ソリューションの性能

指標

値

精度

約99%

Flash使用量

73KB

RAM使用量

10.9KB

推論レイテンシー(NPU)

6.05ms



引用元:Texas Instruments, SDAA429 https://www.ti.com/lit/pdf/sdaa429

事例3:在室者識別(SDKデモ)

PIR(焦電型赤外線)センサーは、温度(赤外線スペクトル)の変化を捉えて人の存在や動きを検出するセンサーです。本デモでは、1個のPIRセンサーの信号から動きの種類を「人の動き」「背景の動き」「犬の動き」の3クラスに分類する軽量な機械学習モデルを、MSPM0G5187 の TinyEngine NPU で実行します。

PIR(焦電型赤外線)センサーによる検知の図

PIR(焦電型赤外線)センサーによる検知の図
引用元:Texas Instruments, PIR based building security https://www.ti.com/ja-jp/technologies/edge-ai/use-cases/motion-detection-pir-building-security

従来のPIRセンサーによる検出では、人以外の動きによる誤報が課題でした。自社でデータを収集・ラベル付け・学習してモデルを作成すれば、1個のPIRセンサーだけで人とそれ以外の動きを見分けられ、誤検知を低減できます。


TI
社は、学習データが実環境のばらつきを十分に含んでいるかを確認するために、適合度(GoF:Goodness of Fit)評価を用いています。図の左は人と人以外の動きが重なる領域が残る品質の低いデータの例、右は時間的尖度や支配的周波数といった特徴量の抽出によって、人・犬・それ以外の動きがきれいに分離された例です。データの質と前処理がモデルの精度を左右することが分かります。

データの収集には、PIRセンサーをはじめ各種センサーを搭載した Edge AI Sensor BoosterPack を利用できます。想定アプリケーションとしては、スマートホームなどのビルディングオートメーションや、人の接近を検知したディスプレイのウェイクアップなどが挙げられます。PIRセンサーとマイコン1個という最小限の構成で誤報を減らせるため、既存の人感センサー製品の付加価値向上にもつなげられます。

GoF評価による学習データの品質確認(左:人と人以外の動きが重なる品質の低いデータの例、右:特徴量抽出により各クラスが分離された例)

GoF評価による学習データの品質確認(左:人と人以外の動きが重なる品質の低いデータの例、右:特徴量抽出により各クラスが分離された例)

Texas Instruments, Multi-class motion detection for PIR based building security https://www.ti.com/technologies/edge-ai/use-cases/motion-detection-pir-building-security.html

 在室者識別 AIモデル情報

項目

値

モデル構成

CNN

パラメーター数

約53,000以上

入力形状

Tensor[(1, 1, 25, 25)]

出力クラス

3(Human Motion、Background Motion、Dog Motion)

量子化

INT8



在室者識別 Edge AI ソリューションの性能(LP-MSPM0G5187で測定)

指標

値

精度(R square)

約92.46

Flash使用量

64.1KB

RAM使用量

10.4KB

推論レイテンシー(NPU)

5.25ms



引用元:Texas Instruments, MSPM0-SDK pir_detection_ai_npu README https://github.com/TexasInstruments/mspm0-sdk/tree/main/examples/nortos/LP_MSPM0G5187/edgeAI/pir_detection_ai_npu

事例の性能まとめ

3つのデモの性能を一覧にまとめました。いずれも100KB未満のFlashと11KB以下のRAMで、10ms未満の推論を実現しています。
MSPM0G5187 のメモリー(Flash 128KB、SRAM 32KB)に対して余裕があり、センサー制御や通信などアプリケーション本体の処理と同居させやすい規模です。

MSPM0G5187 による Edge AI 事例の性能一覧(各出典の公開値)

アプリケーション

モデル
(パラメーター数)

Flash

RAM

推論レイテンシー

波形分類

CNN(14,124)

21.5KB

3.3KB

5.84ms

手書き数字認識

CNN(60,000)

73KB

10.9KB

6.05ms

在室者識別

CNN(約53k)

64.1KB

10.4KB

5.25ms

MSPM0 で Edge AI を始めるには

本記事でご紹介した3つの事例は、MSPM0-SDK のサンプルプロジェクト(waveform_classifier_ai_npu、character_recognition_npu、pir_detection_ai_npu)として公開されており、評価ボード LP-MSPM0G5187 ですぐに試せます。

MSPM0-SDK には、このほかにもモーターの故障検出やアーク故障検出、ウェイクワード検出など、多数の Edge AI サンプルが用意されています。

開発ツール「Edge AI Studio」でモデル作成から実装まで

SDKデモで評価した後、自社のデータで Edge AI を開発する際に役立つのが、TI社の開発ツール「Edge AI Studio」です。統合開発環境 CCStudio のエコシステムの一部で、プロセッサー、マイコン、無線デバイス、レーダーセンサー向けのGUIツールとコマンドラインツールで構成されています。TinyEngine NPU 搭載デバイスだけでなく、専用アクセラレーターを持たないデバイスにも対応しています。

GUI上では、データの収集とアノテーション(ラベル付け)、モデルの学習、評価ボードへのデプロイまでを一貫しておこなえます。TI Model Zoo に用意された最適化済みの学習済みモデルを選び、自社で集めたデータで再学習(BYOD:Bring Your Own Data)させることで、精度と性能を高められます。モデルを一から設計しなくても、センサーデータを用意するところから Edge AI に取り組める点が大きな魅力です。

マイコン向け最新版(v1.8.0)では、モデルの量子化(2/4/8ビットまたは自動混合精度)や学習結果の比較などの機能も追加されています。クラウド版とデスクトップ版(Windows/Linux)があり、MSPM0G5187 の LaunchPad 評価ボード(LP-MSPM0G5187)にも対応しています。


引用元:Texas Instruments, EDGE-AI-STUDIO https://www.ti.com/tool/EDGE-AI-STUDIO

まとめ

低コストな Arm Cortex-M0+ マイコン MSPM0 の中でも、TinyEngine NPU を内蔵した MSPM0G5187 なら、これまで高性能なプロセッサーが必要と考えられてきたAI推論をマイコン上で実行できます。

本記事でご紹介した波形分類、手書き数字認識、在室者識別の3つのデモは、いずれも100KB未満のFlashと11KB以下のRAMで、10ms未満の推論を実現しています。まずは MSPM0-SDK のデモを評価ボードで動かし、Edge AI Studio を使って自社のデータでモデルを作成するところから、MSPM0G5187 による Edge AI を始めてみてはいかがでしょうか。

お問い合わせはこちら

本記事でご紹介した製品や、MSPM0 マイコンによる Edge AI の評価・実装に関するご質問・ご相談は、下記よりお気軽にお問い合わせください。

TIアナログ製品カタログ

TI社製品を検討されるお客様が適切な製品を選べるよう、特に種類の多いアナログ製品にフォーカスした当社オリジナルカタログをご用意しています。

リンク先よりダウンロードしてご活用ください。

関連リンク