0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windows11,Anaconda3上でYOLOv5を動かしてみる(CPU編)

Posted at

#目的
画像データから物体認識ができるYOLOv5をWindows上で試してみたので方法をまとめた。
##環境

  • CPU : Intel i7-10700F 8Core 16thread
  • GPU : NVIDIA GeForce RTX 3060 (Mem 12GB)
  • OS : Windows11
  • Anaconda : 3
  • Python : 3.9.7

##YOLOv5のダウンロード
https://github.com/ultralytics/yolov5 から git clone するか、zipファイルをダウンロードして展開しておく。

##Anacondaで仮想環境を作る
ANACONDA.NAVIGATORで仮想環境を新たに作成し、Terminalを開く。
そこでダウンロードしたファイルを展開したディレクトリへ移動し、下記のように入力することで必要がインストールされる。

cd yolov5-master
pip install -r requirements.txt

なぜか data/coco128.yaml でエラーが出たので、ファイル内の罫線部分を削除した

data/coco128.yaml(変更前)
# YOLOv5   by Ultralytics, GPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: python train.py --data coco128.yaml
# parent
# ├── yolov5
# └── datasets
#     └── coco128  ← downloads here
data/coco128.yaml(変更後)
# YOLOv5   by Ultralytics, GPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: python train.py --data coco128.yaml
# parent
#  yolov5
#  datasets
#      coco128  ← downloads here

再度インストールすると正常終了した。

pip install -r requirements.txt

##実行してみる

python detect.py --source data/images/bus.jpg --conf 0.5 --weights yolov5s.pt

実行すると学習済みモデルをダウンロードして、認識結果の画像ファイルが runs\detect\exp\bus.jpg に出力された。
出力した画像ファイルを確認するとちゃんとバスと人3人のところに認識したタグが表示されるのが分かる。
bus_300.jpg

##自分のドライブレコーダの動画ファイルで試す
動画ファイルを入力してどのくらいの速度で認識できるかを試してみた。
試す動画はドライブレコーダで録画したデータを持ってきた。
ソースはこちら https://github.com/roxa-delphi/yolov5_test/blob/main/test.py

python test.py

結果はこんな感じ(実際は動画だがサンプルとして静止画を載せた)
0041_640.jpg
ちゃんと車や信号機や人を認識できていた。
60秒の動画を157秒かかって解析していたので実時間より2.6倍の時間がかかっている計算、(多分)30フレーム/secの動画ファイルなので解析時は11.5フレーム/secの速度が出ている様子。
CPU使用率は82%くらい。
もともとの動画ファイルは 1280x720 pixel の大きさで大きめなので小さくするとフレームレートが高くなることはわかっているけど、画像を小さくしてしまうと小さく写っている車を認識しなくなったりしたので、プログラムの中で横幅 640 pixel として扱うようにした。

今回はCPUしか使ってないためにリアルタイムには解析ができなかったので、次回はGPUを使えるようにしてどのくらい速く処理が出来るようになるか試してみたい。

0
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?