[M5StickV]BrownieでAIカメラのすごさを体感しよう!

2019年9月13日M5Stack

[M5StickV]BrownieでAIカメラのすごさを体感しよう!

M5StickV のファームアップデートができたので、いよいよ Brownie を動かしてみようと思います。

今回は20種類の物体を判別できるバージョンを試します。

SDカードガチャ!?動くSDカードを入手しよう

microSDカードに入れたプログラム(Brownie)を M5StickV に挿入することで動作させます。

で、M5StickV はSDカードの相性に非常に厳しいです。相性が悪いと認識してくれません。私も自宅に5枚ありましたが全滅でした。

動作確認済リストを参考にしよう

Brownie作者の@ksasaoさんが動作確認済のSDカードをリストにされています。本当にありがたい。

▼リストはここです
動作確認済リスト

そもそもClass10じゃないとダメなようです。

CAUTION

読み取り専用ではないので取り扱いには十分気をつけましょうね!

間違えて買ったSDカードがたまたま動いた

▼私が買ったのはコレです。(もう品切れ)


SD

後でリストを再確認すると間違ったカードでした。たまたま動いて良かった。

▼ほんとに買いたかったのはこっちです

SDカードにBrownieを入れよう

FAT32でフォーマット

まずはSDカードをFAT32でフォーマットします。

OSの機能でフォーマットしても良かったのですが、馴染みのSDメモリカードフォーマッターを使いました。

▼複数SDカードが挿さっている時は間違えないようにしよう
SDフォーマッター

Brownieをダウンロードする

▼ここからダウンロードします
ダウンロードリンク

ダウンロードしたら展開しましょう。

SDカードにコピーする

展開したファイルをSDカードにコピーします。

▼中のファイルをSDカードのルートにコピーします
SDカードの中

Brownieを起動してみよう

M5StickVにUSBケーブルを挿して電源オンの状態にする

USBケーブルを挿すと自動で電源がオンになります。

十分に充電できていれば挿さなくても大丈夫っぽいのですが、内蔵バッテリーでは認識しないSDカードもあるようです。

USBケーブルはとりあえず挿しっぱなしにしておきましょう。

SDカードをM5StickVに挿入する

SDカードと電源

PCからSDカードを抜いてM5StickVに挿します。

M5StickVを再起動する

電源ボタンを6秒押しっぱなしにして再起動します。

電源ボタンを6秒押すと電源が切れるのですが、USBケーブルを挿しっぱなしにしているとすぐさま電源がオンになります。再起動というより、電源オフ→自動で電源オン、の方が正確かも。

ピコーン!という音と共にM5StickVのロゴが表示されてしまったらSDカードの認識失敗です。そのままもう一回再起動しましょう。相性の良いSDカードだと一回で認識されるようです。後でSDカード買い直そうかしら。

▼うまく起動できると「ぶらうにー」ってしゃべってくれます

Brownieで遊ぼう

オレンジの枠とともに認識されたモノの英語テキストが表示されます。

POINT

オレンジの枠が複数表示され同時に複数の物体を認識していることが分かると思います。

そしたら正面の大きいボタンを押しましょう。かわいい声で教えてくれます。

Brownie Object & Face detectionが認識できるもの

Brownie Object & Face detectionが使用している機械学習モデルは、20種類の物体を判別することができます。

# Brownieのセリフ テキスト表示
0 飛行機 aeroplane
1 自転車 bicycle
2 bird
3 ボート boat
4 飲み物 bottle
5 バス bus
6 car
7 cat
8 椅子 chair
9 cow
10 テーブル diningtable
11 dog
12 horse
13 バイク motorbike
14 person
15 観葉植物 pottedplant
16 sheep
17 ソファ sofa
18 電車 train
19 ディスプレイ tvmonitor

実物じゃなく画像でも認識するので、ググるのが手っ取り早いと思います。

1,000種類を認識するバージョンも!

テキスト表示はありませんが、ちゃんと声で教えてくれます。いやはや・・・。

*.kmodelを生成すれば色々と捗りそう

M5StickV は *.kmodel という機械学習モデルのファイルを使って判定しています。

TensorFlow(ディープラーニングのライブラリ by Google) + MNIST(ディープラーニング用の画像たくさん) で学習して *.kmodel ファイルを生成すれば色々と楽しいことができそうです。