メディア
連載
» 2020年11月30日 12時00分 公開

ハイレベルマイコン講座【組み込みAI実践編】(3):マイコンで実現!実践AIソリューション〜文字認識のAIプロジェクトを動作させる (1/4)

すでにマイコンを使い込まれている上級者向けの技術解説の連載「ハイレベルマイコン講座」。今回は新しいプロジェクトの開始から動作させるまでの手順について解説。その中でも、推論アルゴリズムをAIプロジェクトにインポートして解析する工程について詳しく解説する。

[STマイクロエレクトロニクス,EDN Japan]

 前回に引き続き、文字認識のAIプロジェクトについて解説する。前回は実際のAIプロジェクトの構成内容について解説した。今回は新しいプロジェクトの開始から動作させるまでの手順について、STM32CubeIDE※1)の操作画面などを使って解説する。また、その中でも、推論アルゴリズムをAIプロジェクトにインポートして解析する工程について詳しく解説する。

 最後に、文字として認識が難しいパターンを入力してみて、AIがどのような反応をするかを確認する。

※1)STM32CubeIDEについて

「STM32Cube.AI」の役割

 最初に、STマイクロエレクトロニクス(以下ST)の組み込みAI開発ツール「STM32Cube.AI」※2)の役割について、詳しく解説する(図1)

図1:組み込みAIの実現ステップ

 人工ニューラルネットワークモデルの学習が終わった推論アルゴリズムをそのままマイコンに移植しようとしても、マイコンの内蔵メモリは小さすぎるし、メモリを外付けにしたとしても限界がある。また、一般的に人工ニューラルネットワークはC言語など組み込みで使用される言語では記述されず、Pythonなどの高水準言語(高級言語)が使用されるため、そのままマイコンに実装することができない。

 そのため、人工ニューラルネットワークモデルの学習結果の推論アルゴリズムを、マイコンで演算可能なコードに変換するインタフェースプログラムが必要になる。

 このインタフェースプログラムがSTM32Cube.AIだ。STM32Cube.AIでは、学習済み人工ニューラルネットワークのコードをマイコン用に最適化し、複雑な構成を簡素化して必要なメモリ容量を簡単に最小化することができる。

 STM32Cube.AIは、マイコンの初期化コード自動生成ツール「STM32CubeMX」※3)の拡張機能として、STM32Cubeソフトウェア開発エコシステムに完全に統合されている。学習済み人工ニューラルネットワークを、マイコンで実行可能な最適化されたコードに高速で自動変換することができる上、適切なマイコンの選定をガイドし、選定されたマイコンによる人工ニューラルネットワークの性能に関して迅速にフィードバックを提供する。これには、PCおよびターゲットとなるSTM32マイコンの両方で実行した妥当性検証の結果も含まれる。

 最後のステップで、マイコンに組み込んだ人工ニューラルネットワークを目標アプリケーションに実装するのだが、その際に推論アルゴリズムがマイコンで実行可能かどうかの分析を行う必要がある。これもSTM32Cube.AIで行うことができる。分析結果に問題が無ければ、最終的にマイコンにインポートされる。

 STでは、目標アプリケーションに応じた統合ソフトウェアパッケージであるファンクションパックを準備している。「組み込みAI」のサンプルとしては、オーディオおよびモーションの検出と処理を実行するものがある。ファンクションパックを使うと、アプリケーションの試作開発をより簡単かつ迅速に実施できる。ファンクションパックは、ローレベルドライバ、ミドルウェアライブラリ、サンプルアプリケーションを合わせて1つのソフトウェアパッケージを構築しており、全ての要素を網羅した設計サンプルとして提供される。

 ユーザーは、これらのサンプルをベースに開発を進め、アプリケーションに応じて最適な設計を実現することができる。

※2)STM32Cube.AIについて
※3)STM32CubeMXについて

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.