サイトアイコン KOKENSHAの技術ブログ

Coral AcceleratorとRaspberryPi 3で鳥の画像の分類まで

Coral Acceleratorが発売されました!

目次

Coral Accelerator(Edge TPU Coprocessor)の購入

(2019年3月10日)早速発注しました!

本来は、Coral Dev Board(下の写真)の方も欲しかったですが、日本はまだ販売制限になっていますね。

(写真の引用:https://coral.withgoogle.com/products/dev-board)

 

今日(2019年5月15日見ても、やはり販売制限になっています)

Amazonの方も販売しているようですが、ちょっと高いですね。

[amazonjs asin=”B07QGP15P8″ locale=”JP” title=”Coral USB Accelerator – USB AI アクセラレータ Raspberry Pi 対応 – Google Edge TPU”]

USBタイプのCoral Acceleratorを注文することにして、その後、3月15日到着です!

しかし、本の執筆活動もあって、その後すぐニュージーランドに家族旅行に行ってしまいましたので

下の記事にも少し執筆活動の進捗報告があります、よかったらお読みください。

川島賢の自己紹介

ニュージーランドのツイートでモーメントを作りました。よかったらご覧ください。

なかなか手をつけずにいました。

 

Coral Accelerator(Edge TPU Coprocessor)を見てみよう!

今日は、久しぶりに時間を作れましたので、Coralを見てみたいと思います!

到着した後のパッケージはこんな感じです!

箱の後ろを見てみますと

TensorFlowの文字が書いてありますね。今回のUSBタイプのCoral AcceleratorはTensorFlow Lite版が対応となっています。

箱を開けて中身はケーブルとCoral Accelerator本体のみです。

Coral Acceleratorの単体はこんな感じです。

本体がアルミのボディですが、周り半透明のプラスティックのクロージャになっています。

背景も少し透けて見えるのが妙な高級感?笑

背面も半透明で、中の基盤が少し見えます。

4つの角に固定用の穴が空いています。アプリケーションによっては固定することも可能ですね。

Coral側はUSB-Cタイプになっています。

PCと接続する側は、USB-Bになっています。

今回はRaspberry Piに接続しますが、もちろん、(Linux)PCに接続することもできます。

Raspberry Piと接続すると、下の写真のようになります。

ここは特に特別なことはありません。USB接続でAIの処理能力を拡張できるというのはすごいですね。

ちなみに、このRaspberry Piの黒のアルミボディも好きで、3つぐらい使っています。笑

[amazonjs asin=”B07DXL3FZT” locale=”JP” title=”SODIAL 薄型アルミ合金金属CNCエンクロージャーケースRaspberry Pi 3B 2B B +きっと用交換パーツ”]

シルバータイプもあるようです。

次は、micro-SDカードを用意します。

私はよくsumsungの32GBのカードを使っています。今まで特に不具合とか問題などありません。最近本当にSDカードが安くなっていますね!

安くてOSごとに用意することができるのは、とても便利ですね。

[amazonjs asin=”B06XSV23T1″ locale=”JP” title=”Samsung microSDカード32GB EVOPlus Class10 UHS-I対応 Nintendo Switch 動作確認済 正規代理店保証品 MB-MC32GA/ECO”]

この記事に限った話ではないですが、これを使えば、余計なトラブルなしで、スムーズに自分のやりたいことを遂行できるので、ストレスもなくおすすめです。

私の場合、すでに、Raspberry Pi専用のOS Raspbianが入っているので、刺して、そのまま使えます。

まだRaspbian準備していない人は、Raspbian OSの準備する手順はこちらを参照して用意してください。

Raspbian Stretch Liteにデスクトップ環境をインストール(3ステップ)

メリークリスマース!Raspberry Piの最初の起動でやること

いつものように、全ての周辺機器を接続しておいてください。(電源、マウス、キーボード、モニター、有線LAN or 無線)

また余談ですが、Raspberry Piにはこのamazonbasicsのマウスが結構いいです!有線ですが、反応がよくて、スムーズな握り心地で、安くて今まで使った有線マウスの中で一番いいかもしれません。笑

 

Coral Accelerator(Edge TPU Coprocessor)必要なソフトウェアのセットアップ

いよいよ、ソフトウェアのセットアップをしましょう。

その前に、いつものように、下記のコマンドを実行して、システムを最新の状態にしておいてください。

sudo apt-get update
sudo apt-get upgrade

これからは、VNC経由で、作業します。もちろん、キーボード、マウス、モニター全部接続しているので、そのまま操作しても問題ないです。

これから、作業用のディレクトリ 「workspace」 を作ります。

mkdir workspace
cd workspace

次はインストール用のプログラムをGoogleのサイトからダウンロードします。

wget https://dl.google.com/coral/edgetpu_api/edgetpu_api_latest.tar.gz -O edgetpu_api.tar.gz --trust-server-names

次は、ダウンロードしたファイルを解凍します。

tar xzf edgetpu_api.tar.gz

次は、展開(解凍)されたフォルダに入って、インストールスクリプトを実行します。

cd edgetpu_api
bash ./install.sh

一回

「Would you like to enable the maximum operating frequency? Y/N」最高の実行フリークエンシー有効にしますか

と聞かれます、ここで「y」を入力して、継続してください。

ただ、yと答えた場合は、実行中、Coral Accelerator本体がとても暑くなる場合があります。火傷しないように気をつけてください。

もちろん、Nと答えて継続してもいいです。これをあとで変えたい場合は、install.shを再実行すれば良いです。

必要なPythonパッケージなどもダウンロードしてインストールしますので、しばらく時間が掛かります。すでにインストールされているパッケージもあるかもしれませんので、人によっては少し前後するかもしれません。私の場合は、約20分程度で終わりました。

インストールが完了しましたら

Coral Acceleratorを付属のケーブルでRaspberry Piに接続してください。

すでに、刺してある場合は、一回抜いて、刺し直してください。そうしないと、いくつか設定が有効になりませんので、注意してください。

これで準備ができました!

 

Coral Accelerator(Edge TPU Coprocessor)でモデルを実行しよう

次は、モデルを実行してみよう。

一回workspaceディレクトリに戻ります。

cd ..

次は、用意されている学習済みモデルとテスト画像をダウンロードします。この画像と学習済みモデルを使って画像の分類(classification)を実施してみます。

wget https://dl.google.com/coral/canned_models/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
https://dl.google.com/coral/canned_models/inat_bird_labels.txt \
https://coral.withgoogle.com/static/images/parrot.jpg

ダウンロードが完了しました。

次は、demoフォルダに移動します。これはインストールの時に、作られたフォルダです。

cd /usr/local/lib/python3.5/dist-packages/edgetpu/demo

このフォルダで下記のコマンドを実行してみてください。

python3 classify_image.py \
--model ~/workspace/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--label ~/workspace/inat_bird_labels.txt \
--image ~/workspace/parrot.jpg

数行後、結果が出ました。

本当かな、Google検索してみよう!

目視して、問題ないと思います!笑。

このモデルはGoogle が提供している学習済みのモデル(TensorFlow Lite)で900種類の鳥が認識、分類することができるそうです。

[amazonjs asin=”4873118344″ locale=”JP” title=”scikit-learnとTensorFlowによる実践機械学習”]

他もいくつか学習済みのモデルが提供されているので、下記のURLで確認してください。

https://coral.withgoogle.com/models/

これで、学習フェーズなしで、すぐ、応用(アプリケーション)が作れそうですね。

教師あり学習

次は、Pythonプログラムに組み込んでビデオから映像を認識させてみたいと思います。

記事を書きましたので、お読みください。

Coral AcceleratorとRaspberry Pi3でビデオストリームから物体認識

まとめ

いかがでしょうか?

最近、エッジデバイスで人工知能の機能を加えるあるいは拡張する製品が増えている気がします。

以前もこちらのブログで紹介しました、Google AIYプロジェクトのものもありますし、IntelのMobidius もありました。

Google AIY Projects Voice kit (RaspberryPiでGoogleアシスタント)を組み立てて声をかけよう!簡単に成功!

[amazonjs asin=”B07GBNH5NN” locale=”JP” title=”【国内代理店版】Google AIY Voice Kit V2″]

Google AIY Vision Kit Raspberry Pi Zero WH簡単人工知能体験!(Python)

[amazonjs asin=”B078YJ64WR” locale=”JP” title=”Google AIYビジョンキット”]

RaspberryPi 3B+とIntel Movidius Compute Stickで、サンプルコードを動かす

[amazonjs asin=”B074PRCJKH” locale=”JP” title=”Movidius Neural Compute Stick – NCS ニューラル ディープラーニング USB スティック”]

今、Movidiusの後継も出ていますので、よかったら、こちらも試してみてください。第1世代のMovidius NCSより8倍パフォーマンスが上がっているようです。

[amazonjs asin=”B07KT6361R” locale=”JP” title=”Intel Neural Compute Stick 2 – NCS 2 ニューラル ディープラーニング USB スティック”]

この辺り、とても充実してきましたね。

技術の進歩が我々思ったより早かったりしますね、我々の近く、人工知能の技術の浸透もこれからさらに加速していくに違いないです!

では、次回Coral Acceleratorを用いて、他の実験をしたら、また共有しますね!

 

モバイルバージョンを終了