【Coral USB】Edge TPUのPoseNetを試してみる
はじめに
こんにちは、がんがんです。
以前Edge TPUの実験をラズパイで行いました。
gangannikki.hatenadiary.jp
gangannikki.hatenadiary.jp
Edge TPUのリポジトリにPoseNetのモデルがありましたのでそちらを試してみようと思います。
目的
- Edge TPUのPoseNetモデルをラズパイで試してみる
環境
- Raspberry pi 3 Model B+
- python 3.5
- edgetpuのバージョン:2.11.1>=
Edgetpuのバージョンアップ
PoseNetモデルに必要なEdgetpuのバージョンは2.11.1
以上でした。2.11.1
は7月のアップデート時に追加されたバージョンです。
(現在の最新は9月のアップデートバージョンの2.12.1)
以前セットアップしたときのバージョンは1.9.2
だったため、まずはバージョンアップから行っていきます。
一応以前のバージョンとの衝突を防ぐために名前を変更しておきます。
$ mv edgetpu_api edgetpu_api_1.9.2 $ wget https://dl.google.com/coral/edgetpu_api/edgetpu_api_2.11.1.tar.gz $ tar xzf edgetpu_api_2.11.1.tar.gz $ cd edgetpu_api $ sudo bash install.sh
デモの実行(simple.py)
デモの実行コマンドは以下の通りです。実行すると必要画像をwgetしてきて、それに対する推定結果をprintするプログラムみたいです。
$ python3 simple.py
Image.open
を変えてやれば画像は変更可です。
試しに以前使用した五等分の花嫁の画像で試してみましたが、さすがにpose検出出来なかったです(笑)。
カメラを用いたデモの実行
コマンドは以下の通りです。--mirror
の追加で反転表示をしてくれるようになっています。
$ python3 pose_camera.py # ディスプレイとカメラがどちらも正面にある場合 $ python3 pose_camera.py --mirror
カメラについてはUSBカメラ、ラズパイカメラの両方で動作することが出来ました。
思っていたよりも簡単に扱えるのはすごく良いですね。
GitHubをみると…
Edge TPUの公式GitHubを見てみると、test_data
に追加されてました。
github.com
コードはexamplesにはなさそうだった(調査不足の可能性もあり)ので、project-posenet
から直接cloneするのが良いかもです。
おわりに
今回はEdge TPUバージョンのPoseNetを試してみました。思っていたよりも簡単に試すことができました。
ほかにもGitHub上に遊べるプログラムが置いてあったので時間があればそちらも試してみようかなと思います。