Home Made Garbage

Sipeed Maixduino を Arduino IDE で味見 ーエッジAI活用への道 4ー

ホーム
電子工作
Raspberry Pi
IOT
WEB

さてこれまでは金魚の認識を目指してオリジナルの認識用モデルをつくってMaixPy IDEでMaixduinoに書き込んで認識動作を確認いたしました。

MaixduinoはArduino IDEでもコーディングできるとのことで今回はArduinoサンプルコードを試してみました。

今後Maixduinoにセンサなども接続して画像認識と連動などもしたいと考えており、慣れ親しんだArduino IDEでも設計できれば最高と思った次第です。

 

Arduino IDEの導入

以下を参考にArduino IDEにMAixボード用のライブラリをインストールします。
 https://maixduino.sipeed.com/en/get_started/install.html
 

2019年10月現在ライブラリのバージョンは0.3.10でした。

なお、Aduono IDE のバージョンは1.8.10だとMaixduinoに搭載したSDカードが認識出来ませんでした。めっちゃハマりました。。。(´;ω;`)ウゥゥ

1.8.9では問題なく動作しました!!

 

ボード設定は以下のようにいたします。

物体認識サンプル

スケッチ例の物体認識 mobilenet_v1.ino を試してみました。
 スケッチ例 → Maix_KPU → mobilenet_v1

コードの説明にもあるように認識モデルをSDカードに保存してMaixduinoに搭載する必要があります。

mobilenet_0x300000.kfpkgをDLして解凍しm.kmodelをmというファイルに名前変更してSDに保存します。

動作

なんかたくさん文字が出て色々認識してくれてます。1000クラスの認識モデルのようです。ちょっと驚いたのがキーボードのスペースキーまで認識してますね。

さて例のごとくコードの意味は全くよくわからないのですが。SDカードのモデル(m)を前回作成した金魚モデルにしてみたのですが金魚が認識されるようにはなりませんでした。いずれもmobilenet形式なのでいけると思ったのですが甘かったです。

ちゃんと勉強しないと。。。しかしここからオリジナルの認識モデルを導入できるようにするのはつらい感じがします。なんとなく。。。
 

音声認識サンプル

物体認識はいまのところ残念な結果でしたが、驚いたのは音声認識サンプルコードです。MaixduinoにはMEMSマイクが搭載されています。

スケッチ例の voice_control_led_en.ino です。

モデルにはred, green, blue, turn offの4つの発話があり、それぞれ配列パターンが4つづつ入っておりました。発話認識でGPIOピンを制御してLEDを点灯させています。

中国語のサンプルもありましたよ。

 

もっとすごいのが発話の配列パターン録音用のサンプルもあることです。get_voice_model.ino をMaixduinoに書き込んで発話パターンを録音します。パターンを先ほどの音声認識サンプルに貼り付ければオリジナルの音声認識コードが書けてしまうのです。

早速、「赤」、「緑」、「青」、「消して」を4回録音して先ほどの英語のコードのモデルの配列を入れ替えてみました。

できたー!いやーこれは可能性広がりそう。たった4個のデータでどうやってるんだろう?これが転移学習というヤツなのでしょうか?
 

 

おわりに

Arduinoのサンプルコードでサクッとオリジナル認識モデル動くかと期待したのですが難しそうです。やはりMaixPy IDEで開発がよさそうな気が来ております。

ちょうどトランジスタ技術 2019年11月号がK210マイコン特集でMAixボードのGPIOやUARTの使用法が記載されていたのです♪

それでは道はまだまだ続きます!

 

Related Posts

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください