昨日、少々刺激的なセミナーを聴いてしまいましたので、少し前に購入していたAIカメラ『HUSKYLENS』を、ちゃんと触りました。
AIカメラ? でも、お高いんでしょう??
いやいや、それがなんと6000円くらいで買えてしまうのですよ!
スイッチサイエンスさん
https://www.switch-science.com/catalog/6248/
1個 5,951円(2020.6.7現在)
本当に良い時代になりましたなぁ・・・。
今回参考にさせていただいた記事はこちら。
サヌキテックネットさん :HUSKYLENS+micro:bit
https://sanuki-tech.net/micro-bit/huskylens/
こちらの記事を見て頂けると分かるのですが、本当に簡単に顔認識ができてしまいます。
今回は、複数の顔を認識して、顔に応じて反応を変えてみようと思います。
HUSKYLENSの電源はmicro-USBで取ることができて、通信用に4端子のコネクタあります。
ケーブルも付属しているので安心。
画像右側が電源ケーブル、左側が通信ケーブルを接続している様子です。
今回はI2C通信でmicro:bitと接続します。
カメラをどうやって固定しようかと考えたのですが、今回もダンボー君に体を張ってもらいましょう!
はい、顔を入れ替えました!
カバーがあればにゃんぼーもどきになったんですけどね・・・。
ちなみにこれはグルーガンで無理矢理固定しているだけですので、当然互換性はありません。
あとは、せっかくなのでディスプレイに7セグと、音声出力として音声合成LSIを使いました。
どちらも以前に使ったことがあるので、そのまま過去の記事を参考に繋げていきました。
7セグ+micro:bit
https://ameblo.jp/gameprograming/entry-12592883402.html?frm=theme
音声合成LSI+micro:bit
https://ameblo.jp/gameprograming/entry-12598633275.html?frm=theme
これらを全部合わせると、今回の配線は下記のようになりました。
micro:bitまわりはこんな感じ。
全体の様子はこんな感じ。
1つ1つは簡単なものなんですけど、色々と繋げるといい感じに見えますね。
では、動いている様子を見てもらいましょう!
お札の顔を認識させておいて、それぞれの金額を読み上げています。
読み込んだ金額は加算して、7セグに合計金額を表示させています(千円単位)。
本当は合計金額を喋らせるところまでやりたかったのですが、うまくいきませんでした。
変数を文字列に変換して代入してもダメでした。。
Arduinoとかでプログラムを組んだらいけるのかもしれませんが、micro:bitほど簡単には実現できないと思いますので、それはまた気が向いたらやってみることにします。
それにしても、ダンボーの顔もちゃんと顔認識されたのはビックリしましたねー。
手書きのイラストで、どこまで崩したら顔として認識しなくなるのか試してみたいです。
最後に、サンプルプログラムをのせておきます。
今回は拡張ブロックを2つ読み込ませています。
- 7セグの動作 :「grove」
- HUSKYLENSの動作 :「https://github.com/tangjie133/pxt-huskylens」
「最初だけ」のブロックでは、下記の4つをやっています。
- 音声合成LSI用のシリアル通信設定
- HUSKYLENS用のI2C通信設定
- 7セグ表示用の設定
- 変数の初期化
「ずっと」のブロックでは、HUSKYLENSで認識した顔ID毎に動作を切り分けているだけで、特に複雑な処理はしていません。
連続してカウントしないように、少しディレイ時間を設定しています。
いつもより少し長いプログラムにはなりましたが、最先端のAIを簡単に使えるHUSKYLENSは是非試してみて欲しいです!