マイコンで実現!実践AIソリューション〜「組み込みAI」の復習とプロジェクトの概要:ハイレベルマイコン講座 【組み込みAI実践編】(1)(3/3 ページ)
すでにマイコンを使い込まれている上級者向けの技術解説の連載「ハイレベルマイコン講座」。今回は、実際にSTマイクロエレクトロニクスの32ビットマイコン「STM32F746」を使って、文字認識のAIプロジェクトを実行してみる。連載1回目の今回は、まず「組み込みAI」について復習した後、今回行うAIプロジェクトの概要を説明する。
AIプロジェクトの概要
今回のAIプロジェクトは、タッチパネル機能付きの液晶画面に書かれたアルファベットの文字を認識し、認識した文字と確率と演算時間を表示するという至って簡単なものである(図3)
使用するハードウェア
今回は、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)
※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)
市販の統合開発環境を使用することもできるが、その場合はSTM32CubeMXの操作が別になる。
「STM32Cube.AI」は、STM32CubeMXの拡張パックなので、STM32CubeMXの工程でAIを実装するため、手順としてはSTM32CubeMX(「STM32Cube.AI」の実装)→市販の統合開発環境となる。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- マイコンで実現するAI ――「組み込みAI」とは
マイコンを使い込んでいる上級者向けの技術解説の連載「ハイレベルマイコン講座」。2回にわたって、汎用マイコンにAIを実装するための開発ツール「STM32CubeMX.AI」を題材にして「マイコンを使った組み込みAIアプリケーション(組み込みAI)」について解説する - マイコンでAIを実現するための手順
すでにマイコンを使い込まれている上級者向けの技術解説の連載「ハイレベルマイコン講座」。前回はAIアプリケーションの特長(組込みAIのメリット)まで解説した。今回は実際に「組み込みAI」を構築する手順ついて解説する。 - マイコンのセキュリティ機能を詳細解説 〜ハードウェア編
マイコンを使い込んでいる上級者を対象にさらなるスキルアップ、知識習得を目指す連載「ハイレベルマイコン講座」。今回から2回にわたって、マイコンで実現されるセキュリティ機能について詳しく解説する。 - どのノイズ対策が最も効果的か? よくあるEMS対策を比較する【準備編】
すでにマイコンを使い込まれている上級者向けの技術解説の連載「ハイレベルマイコン講座」。今回から2回にわたって、一般的なEMS(電磁耐性)のノイズ対策手法を実際に試し効果を比較し、各ノイズ対策手法を考察する。 - 最も効果的なノイズ対策がついに判明!? よくあるEMS対策を比較する【実験編】
すでにマイコンを使い込まれている上級者向けの技術解説の連載「ハイレベルマイコン講座」。前回は、【準備編】としてノイズの基礎知識とノイズの対策方法を復習し、それらの基礎知識をベースにした実験方法を説明した。今回は、【実験編】として実験の使用機材など、環境の説明と実際の実験結果を示し、その結果に対してEMS耐性改善効果の高い対策方法を考察する。 - RISCとCISC、それぞれの命令処理方式
すでにマイコンを使い込まれている上級者向けの技術解説の連載「ハイレベルマイコン講座」。今回は、マイコンの内部の命令処理の方式をRISCとCISCに分けて解説する。