今回の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の概要】
「STM32Cube.AI」の詳細については、連載3回目で詳しく解説する。
今回は、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.