Coral USBアクセラレータを使ったRaspberry Pi 4での物体検出
Coral USBアクセラレータを使用したSSDオブジェクト検出はRaspberry Pi 3で実行されていましたが、パフォーマンスは期待外れでした。RaspberryPi 4で何が起こるのか興味がありました。
これがテスト用rt-aiデザインです。 UVCCamとMediaView SPEはUbuntuデスクトップ上で、CoralSSD SPEはRaspberry Pi 4上で実行されています。1280 x 720フレームで12fpsというかなりの性能を発揮しています。 いくつかの愚かな画像の読み込みコードに)。 1つのCPUコアの使用率は約93%で、これはPython SPEには十分に公平です。 私はこのSPEのC ++版がまたかなり速いだろうと確信しています。
Google Coral USB accelerator代理店,開発者はここで購入できます: https://store.gravitylink.com
Pi 4はRaspbian Busterを必要とし、それは現時点ではedgetpu_apiツールキットでサポートされていないPython 3.7に付属しているので、これを実行するのは面白かったです。
元のブログ記事を書いた後、実際にedgetpu_apiインストールをPython 3.7で動作するように変換することは簡単であることを発見しました。 virtualenvやPython 3.5のことを何もせずに、install.sh(Pi 4を認識しsudoのバグを修正するために下記のように修正されたもの)を実行して以下のコマンドを入力するだけです。
必要なのは、Pythonのバージョンと一致するように正しく名前が付けられた.soファイルだけであることがわかりました。 とにかく、あなたがPython 3.5のルートに行きたいのなら…
ARMライブラリのPythonライブラリはPython 3.5用にのみコンパイルされています。 そのため、Python 3.5はPython 3.7と同時にインストールする必要があります。 これを行うには、GZippedのソースをここからダウンロードし、次のように展開してビルドします。
これらすべての結果、Python 3.5が仮想環境で利用可能になるはずです。 インストールが必要な特定のパッケージは、必要に応じてpip3.5を使用してインストールする必要があります。 厄介なことに、私はインストールが何らかの理由でうまくいかなかったことを知り(インポート時に依存関係が欠けていた)、私はこのコマンドを使わなければなりませんでした:
pip3.5 install numpy --upgrade --no-binary :all:
これでedgetpu_apiをインストールする時が来ました。これは基本的にここの指示に従った場合です。 ただし、install.shには小さなバグがあり、Pi 4も認識されません。
59行目の後にこれを追加して、install 4を修正してPi 4を認識させます。
elif "${MODEL}" == "Raspberry Pi 4 Model B Rev"* ; then
info "Recognized as Raspberry Pi 4 B."
LIBEDGETPU_SUFFIX=arm32
HOST_GNU_TYPE=arm-linux-gnueabihf
それが追加されたら、128行目に行き、それを次のように置き換えます。
sudo udevadm control --reload-rules && sudo udevadm trigger
オリジナルは2番目のsudoがありません。 それが完了したら、コーラルUSBアクセラレータは鳥分類器の例を実行することができるはずです。