この手書き文字認識デモは数字を含む文字を識別できます。 このデモの一般的なユース・ケースはスマートウォッチで、特定のコマンド(チャット、通話、メールなど)の作成やテキスト・メッセージの高速入力が可能になります。 また、スマート機器との対話方法として使用することもできます。
アプローチ
この手書き文字認識デモは、STM32L562E-DKディスカバリ・キットに搭載された小型タッチスクリーン(スマートウォッチ)で、手書きの文字や数字を認識します。
- タッチスクリーンを画像としてキャプチャし、ニューラル・ネットワーク(NN)で分類します。
- 各文字を特定のコマンドの構成要素として認識します。
- このデモは、STM32L562E-DKディスカバリ・キットで各文字のNN推論時間に基づいて動作します。
モデルは
STM32 Model Zooのおかげで再トレーニングが可能です。
センサ
このデモでは、ユーザの入力としてタッチスクリーンを使用します。
Model zooを使用してカメラ・モジュール・バンドル(リファレンス・ボード:
B-CAMS-OMV)をテストできます。
データ
データセットSTM32 Model zooでは、モデルは
EMNISTデータセットのサブセット・バージョンで学習されています。
この実験では、EMNIST ByClassデータセットのMatLabバージョンから数字クラス[0;9]と大文字英字[A-Z]のみを使用しました。
また、STボードのタッチスクリーンでキャプチャした画像でデータセットを拡充しました。
データフォーマットデータセットは以下の要素で構成されています。
データセットには、バランスの取れた36クラスで編成された28 x 28ピクセルのグレースケール画像が含まれています。
結果
モデルST MNIST
入力サイズ28 x 28 x 1
メモリ・フットプリント:浮動小数点モデル:
使用Flashメモリ:
38KB(重みデータ)
使用RAM:
30KB(アクティベーション・バッファ)
量子化モデル:
使用Flashメモリ:
10KB(重みデータ)
使用RAM:
14KB(アクティベーション・バッファ)
精度:浮動小数点モデル:
93.48%量子化モデル:
93.39% 性能(STM32L562E @ 110MHz使用時) 浮動小数点モデル:
推論時間:
83msフレームレート:
12fps量子化モデル:
推論時間:
29msフレームレート:
34fps混同行列