LoginSignup
1
1

More than 3 years have passed since last update.

Coral USB TPU Accelerator(EdgeTPU)をRaspberry Pi Zero Wで使ってみる

Posted at

【目的】

Edge TPUをRaspberry Pi Zero Wに接続してリアルタイムで物体検出を行います。

【注記】

うまくいったように見えたのですが最終的には異常終了するので、現時点ではリアルタイム検知は難しいそう…

【内容】

フリスクサイズのラズパイZeroWとEdgeTPUの組み合わせで、サクサクと物体検出できたらすごいと思いませんか?
そういう夢を描いて、やってみました。
image.png

【環境構築】

基本な手順はラズパイ3Bの時と同じですが、最初にダウンロードしてくるファイルが異なります。
下記のURLを参考にモジュールをダウンロードします。

【EdgeTPU Platforms - Releases】

CoralのGithubのコードなどはそのまま動かないことが多々ありますが、ここでも相変わらず間違っています…
下記は修正済みの手順です。

wget https://github.com/google-coral/edgetpu-platforms/releases/download/v1.9.2/edgetpu_api_1.9.2.tar.gz
tar xzf edgetpu_api_1.9.2.tar.gz
cd edgetpu_api 
sudo apt update
bash ./install.sh

インストール以降の手順は以下の記事の手順を踏襲します。
【Coral USB TPU Accelerator(EdgeTPU)をとりあえず使う (Quick Start)】
【Coral USB TPU Accelerator(EdgeTPU)を使ってとりあえず物体検出を行う】

【ラズパイZeroWで物体検出してみる】

ラズパイ公式カメラを使って、とりあえず動かしてみます。

cd ~/examples-camera/raspicam/
python3 classify_capture.py

動いた~!!

出力結果.txt
/usr/lib/python3/dist-packages/picamera/encoders.py:521: PiCameraAlphaStripping: using alpha-stripping to convert to non-alpha format; you may find the equivalent alpha format faster
  "using alpha-stripping to convert to non-alpha "
Inference: 143.72ms FPS: 5.5
22% desk
13% notebook, notebook computer
7% desktop computer
Inference: 21.72ms FPS: 6.9
21% desk
12% notebook, notebook computer
7% desktop computer
Inference: 21.21ms FPS: 7.1
30% desk
11% desktop computer
4% mouse, computer mouse
Inference: 20.93ms FPS: 7.8
33% desk
10% desktop computer
4% mouse, computer mouse
Inference: 21.09ms FPS: 7.8
28% desk
11% desktop computer
5% mouse, computer mouse
Inference: 20.99ms FPS: 8.3
23% desk
10% desktop computer
5% web site, website, internet site, site
Inference: 21.28ms FPS: 8.3
23% desk
12% desktop computer
6% screen, CRT screen

ラズパイ3Bの半分ぐらいのパフォーマンスですが、思ったよりも速い速度で動いています。
これは夢が広がります。

30秒後…

出力結果_エラー.txt
Inference: 20.00ms FPS: 10.4
39% notebook, notebook computer
12% laptop, laptop computer
11% modem
Inference: 20.65ms FPS: 10.7
48% notebook, notebook computer
16% laptop, laptop computer
9% modem
Inference: 5906.01ms FPS: 2.6
50% notebook, notebook computer
14% laptop, laptop computer
9% modem
Inference: 5936.29ms FPS: 1.5
41% notebook, notebook computer
14% laptop, laptop computer
12% modem
Inference: 5889.02ms FPS: 1.0
39% notebook, notebook computer
13% laptop, laptop computer
10% modem
F /home/pi/edgetpu-ml-cpp-release-rpi0-1.9.2/darwinn/third_party/darwinn/driver/usb/usb_driver.cc:834] transfer on tag 1 failed. Abort. Deadline exceeded: USB transfer error 2 [LibUsbDataOutCallback]
中止

急に処理速度が遅くなり、最終的には異常終了してしまいました。
エラー内容的にEdge TPUのUSBドライバがエラーを吐いています。

処理が速すぎるのかと思いスリープを入れて処理速度を落としてみましたが、同じ不具合が発生します。
現時点で継続的に処理を続行させる方法は見つかっていません。
急激に夢がしぼんでしまいました。

エラー的にEdge TPUのUSBドライバに問題がある可能性があります。
Coral社のから新しいドライバがリリースされるのを待たないとダメそう?

【Edge TPUを使わない場合】

同じモデルでEdge TPUを使わない場合の結果は以下のとおりです。
認識時間が4000ms近くかかっており、リアルタイム性はありません。
Edge TPUの有用性を感じさせます。

出力結果_CPU版.txt
/usr/lib/python3/dist-packages/picamera/encoders.py:521: PiCameraAlphaStripping: using alpha-stripping to convert to non-alpha format; you may find the equivalent alpha format faster
  "using alpha-stripping to convert to non-alpha "
Inference: 3964.48ms FPS: 0.5
45% spotlight, spot
10% toilet tissue, toilet paper, bathroom tissue
7% table lamp
Inference: 3953.47ms FPS: 0.3
60% spotlight, spot
6% toilet tissue, toilet paper, bathroom tissue
5% table lamp
Inference: 3948.12ms FPS: 0.3
20% projector
18% toilet tissue, toilet paper, bathroom tissue
9% printer
Inference: 3949.64ms FPS: 0.3
21% projector
12% printer
12% toilet tissue, toilet paper, bathroom tissue
Inference: 4036.60ms FPS: 0.2
23% projector
12% toilet tissue, toilet paper, bathroom tissue
11% printer
Inference: 3940.51ms FPS: 0.2
17% toilet tissue, toilet paper, bathroom tissue
15% projector
10% printer
Inference: 3657.90ms FPS: 0.2
19% projector
16% toilet tissue, toilet paper, bathroom tissue
10% printer
Inference: 3699.61ms FPS: 0.2
24% toilet tissue, toilet paper, bathroom tissue
12% projector
9% printer
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1