メディア

マイコンで実現!実践AIソリューション〜「組み込みAI」の復習とプロジェクトの概要ハイレベルマイコン講座 【組み込みAI実践編】(1)(3/3 ページ)

» 2020年09月29日 11時00分 公開
前のページへ 1|2|3       

AIプロジェクトの概要

 今回のAIプロジェクトは、タッチパネル機能付きの液晶画面に書かれたアルファベットの文字を認識し、認識した文字と確率と演算時間を表示するという至って簡単なものである(図3)

図3:AIプロジェクトの概要

使用するハードウェア

 今回は、STマイクロエレクトロニクスのSTM32 Discovery開発ボード「32F746GDISCOVERY」※2)を使用する。

 32F746GDISCOVERYは、Arm Cortex-M7コア搭載STM32F746NGマイコンの完全なデモおよび開発プラットフォームで、ボード上に容量性マルチタッチパネル付きの4.3インチカラーLCD-TFTが実装されている。STM32F746NGにUSARTやI2C(Inter-Integrated Circuit)などの通信機能やグラフィックス用のハードウェアが搭載されているため、このLCD-TFT上に文字を書き、それを認識して、同じLCD-TFT上に簡単に結果を表示することが可能だ。

 組み込みのインサーキットデバッガーとプログラマーのST-LINK/V2-1も実装されているため、ユーザーはPCとUSBケーブルを準備するだけで、さまざまなプログロムを32F746GDISCOVERY上で簡単に実現することができる(図4)

図4:STM32 Discovery開発ボード K32F746GDISCOVERYキット

※2)STM32 Discovery開発ボード:32F746GDISCOVERYについて

使用するソフトウェア

 推論アルゴリズムをオブジェクトコードに変換するソフトウェアには、前述した「STM32Cube.AI」を使用する。

 「STM32Cube.AI」は、マイコンの初期化コード自動生成ツール「STM32CubeMX(バージョン5.0.1以降)」の拡張パックで、Arm Cortex-MベースのSTM32マイコンにAIを実装することができる。

【STM32Cube.AIの概要】

  • ニューラルネットワーク実装を実現
  • 一般的なディープラーニングツールと相互運用可能
  • 多くの統合開発環境(IDE)およびコンパイラとの互換性を確保
  • センサーやRTOSに依存しない
  • 単一のSTM32マイコンで複数のニューラルネットワークを実行可能
  • 超低消費電力のSTM32マイコンにも対応

 「STM32Cube.AI」の詳細については、連載3回目で詳しく解説する。

使用する統合開発環境(IDE)

 今回は、STマイクロエレクトロニクスが無償で提供している「STM32CubeIDE」※3)を使用する。STM32CubeIDE はSTM32用の統合開発環境で、前述したSTM32CubeMXを統合しているため、STM32CubeMXと一般的な統合開発環境を分けて操作することなく、初期設定記述の生成からマイコンのデバッグまで同じツールで操作できる。

 Eclipseベースなので、Eclipseに慣れていれば抵抗なく使えるツールだ(図5)

図5:STM32CubeIDEの操作画面

 市販の統合開発環境を使用することもできるが、その場合はSTM32CubeMXの操作が別になる。

 「STM32Cube.AI」は、STM32CubeMXの拡張パックなので、STM32CubeMXの工程でAIを実装するため、手順としてはSTM32CubeMX(「STM32Cube.AI」の実装)→市販の統合開発環境となる。

※3)STM32CubeIDEについて

前のページへ 1|2|3       

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.