(構成図は簡略化して記載)
構成としては、画像を読み取ったり認識結果からアクションを行う「変身ベルト部」と、画像分類の推論を行う「画像認識部」の2つに大きく分かれています。
変身ベルト部
カードを読み込み、画像認識結果をもとにアクションを行うドライバー部分。
Raspbery Pi 4を用いており、繋がれたWebカメラでカードを撮影します。
その他、前面のLED (NeoPixel) や音を出す部分 (DFPlayer Mini + スピーカー) 、アクションボタン、カードが挿入されたことを認識するセンサ (CdSセル) を備えています。
カード認識後に流れる音声はエーアイの「AITalk WebAPI」で事前に生成した音声データを使っています。話者は「かほ (DNN)」を使用。
その他効果音は 効果音ラボを使用。
画像認識部
読み込んだカードの画像認識を行うバックエンド部分。
Tensorflowで事前に学習させた画像分類モデルを使い、カードを認識させています。
Python + FastAPIで画像認識サーバーをたてており、変身ベルト部から送られた画像データからどのカードかを推論し、結果を返します。
今回は、ローカルネットワークに置かれたMacBook Airをサーバーマシンとしています。
YouTubeで紹介させていただきました!
https://youtube.com/live/f1Z2rI3qJQo