LoginSignup
6
6

More than 1 year has passed since last update.

RaspyerryPi4でYolov5を動かす

Posted at

やりたいこと

最新のYolov5をRaspberryPiで動かしたい
※最新はyolov5のバージョン5を指している(07/2021現在)

環境

Raspberry Pi 4B 32b OS
Python3.7
torch 1.7
torchvision 0.8.0

記事を書いた理由

簡単に環境構築できるYolov5だが、yolov5のバージョン以降は、torch1.7以上が必要なため、raspberryPiで環境構築するときに工夫が要る。
いくつか参考になる記事はあったが、pytorch1.7では動かすことを諦めて、yolov5のバージョンをダウングレードしたりしてたので、この記事ではyolov5バージョン5をpytorch1.7を使って動かす方法をまとめた。

RaspberryPiでGithubのReadMe通りに環境構築するとどうなる?

偉大なる本家様→【github】yolov5

requrements.txtをpip3 installするとき下記エラーが発生する。

pip3 install -r requirements.txt
  Could not find a version that satisfies the requirement torch>=1.7.0 (from -r requirements.txt (line 10)) (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2)
No matching distribution found for torch>=1.7.0 (from -r requirements.txt (line 10))

torch1.7が見つからないみたい。
→torch1.7を別で用意する必要がある!!

参考にしたけど、うまくいかなかった記事たち

その1

Raspberry Pi上で物体検出(YOLO v5)をやってみる

この記事通りだと、とりあえずyolov5を動かすことはできるが、yolov5のバージョンを下げなければいけない上に、pytorchは1.6を使っている。
今回は、最新のバージョン(ver5 07/2021現在)を動かしたい。

その2

Install PyTorch on a Raspberry Pi 4.

pytorch1.7以降のバージョンはraspberry Pi OSの64bitではなければ難しいと書いてる。
試しに、64bit版でやってみたが、Yolov5を動かそうとすると他のところでエラーが出まくった。
32bitOSで動かしたい。

解決方法

下記githubでtorch1.7とtorchvision0.8.0のwhlを用意してくれてるので、こちらを利用する。
pytorch-armv7l

手順

まずはgithubからyolov5をclone

git clone https://github.com/ultralytics/yolov5.git

pytorch1.7とtorchvision0.8をダウンロードする

下記サイトからダウンロードする。他のサイトのtorch1.7のwhlだと動かなかった。
pytorch-armv7l

ダウンロードが終わったら、それぞれをpip3 installする

sudo pip3 install torch-1.7.0a0-cp37-cp37m-linux_armv7l.whl
sudo pip3 install torchvision-0.8.0a0+45f960c-cp37-cp37m-linux_armv7l.whl

pytorchがちゃんと動くか確認

python3
> import torch

libopenblas.so.0がないと怒られる。

ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory

インストールすれば解決

sudo apt-get install libopenblas-dev

再度動くか確認して、何もエラーがでなければtorchのインストールはOK
torchのバージョンが1.7になってることをpip3 listで一応確認はしておく

ライブラリをrequerement.txtからインストール

requrement.txtからtorchとtorchvisionをコメントアウト

pip3 install -r requirements.txt

とりあえず動くか確認する

yolov5s.ptは予めダウンロードしておく。
https://github.com/ultralytics/yolov5/releases

python3 detect.py --source data/images/ --weights yolov5s.pt --conf 0.4

ibcblas.so.3がないというエラーが出た場合

ImportError: libcblas.so.3: cannot open shared object file: No such file or director

下記をインストールして解決

sudo apt-get install libatlas-base-dev

もう一度、detect.pyを実行して、daga/imagesの下の画像が、推論されて出力先に保存されればOK!!

6
6
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
6
6