更新日:2023年5月28日
対象読者:Windows環境でyolov5を使ってみたい人
CPUでも大丈夫です。
概要
①【YOLOv5】で動画からネコ検出(=^・・^=)
②【YOLOv8】をWindowsで動かす手順
③【YOLOv8】WindowsでWEBカメラからリアルタイム物体検出
④【YOLOv8】WindowsでWEBカメラからリアルタイム物体検出してメッセージボックス表示
【プロジェクトにゃーん1】
家の近くを散歩するネコちゃんをリアルタイムで検出して
アラートを飛ばしたい!!
YOLO (You Only Look Once)とは
物体検出のための深層学習アルゴリズムの一つです。
従来の物体検出の手法とは異なり、YOLOは画像全体を一度に見ることで物体の検出と分類を一度に行います。この手法により、高速かつリアルタイムの物体検出が可能というのが特徴です。
YOLOアルゴリズムはこれまでに複数のバージョンが発表され、その精度と速度はバージョンアップごとに向上していて、現在はYOLOv8が最新です。Ultralytics社が開発していてYOLOv5の後継ですね。
※ライセンスが「GPL-3.0 license」なので、商用利用には注意が必要です。
今回、WEBカメラ動画をリアルタイムで物体検出したいと思い
とりあえずv5で検出を試してみたいと思います。
散歩するネコちゃんを見たいというプロジェクトのための実験です。
環境
環境:Winows11、メモリ32GB
Python : 3.10.6、CUDA : 11.8、torch : 2.0.1+cu118
手順
1.YOLOv5をダウンロード
gitからクローンします。
git clone https://github.com/ultralytics/yolov5.git
2.Python 3.8系で仮想環境構築
仮想環境を作らない場合ライブラリのインストールに飛んでください。
py -3.8 -m venv ./venv
.\venv\Scripts\activate
ライブラリのインストール
python -m pip install --upgrade pip setuptools
cd yolov5
pip install -r requirements.txt
3.静止画テスト
「images」フォルダを作成して、適当な画像を入れてテストする。
python -m pip install --upgrade pip setuptools
こちらは「yolov5s.pt」が自動でダウンロードされ実行されます。
1秒くらいで検出結果が出力されます。
「runs\detect\exp」の中に検出された画像が保存されているので確認。
見つかってますよーー笑
数値は予測の確信度で1が最大です。
リモートにゃーく
にゃんてこったあーー!!
自信満々にdogって言いやがった笑
吾輩は猫である
この画質で誤検出だとこの先がちょっと心配になりますね。。。
per??
ちなみに、セグメンテーションも
対応したモデルをダウンロード「yolov5m-seg.pt」すればさくっとできます。
python segment/predict.py --weights yolov5m-seg.pt --source images/test2.jpg
セグメンテーションだとネコちゃんになれてよかった・・
と思ったら一匹がウシちゃんに変身しています笑
4.訓練済みモデルをダウンロード
さて、次は動画でリアルタイム検出をするための準備です。
「yolov5m.pt」をダウンロードしてyolov5フォルダの中に配置しておく。
大きさ別に5種類用意あり、大きい方が精度が上がりますが速度は遅くなります。
5.動画テスト
python detect.py --source images/test.mp4 --conf 0.5 --weights yolov5m.pt
うまく検出できていますね!!
かわいいーー
とりあえず動かせてよかったです。
以上、【YOLOv5】でリアルタイムネコ検出でした。
次は最新のYOLOv8を動かしてみたいと思います。
ではまた。
================================
5/28追記:【YOLOv8】動かしてみました。
================================