はじめに
今回からは Yolov5 と DeepSort を組み合わせた yolov5-tracking について説明していきます。
まずは、デモを試す方法について説明していきます。
前提条件
前提条件は以下の通りです。
- Windows11
- Python3.9
- PyTorch == 1.12.1+cu113
プログラムのダウンロード
github からブランチを指定してダウンロードします。サイトはこちらです。
git clone -b v5.0 https://github.com/mikel-brostrom/yolov8_tracking.git
今回は -b v5.0 を指定します。
yolov8_tracking 内の yolov5 フォルダに git clone した yolov5 を配置します。
cd yolov8_tracking
git clone -b v7.0 https://github.com/ultralytics/yolov5.git
カスタムデータで学習させた weight ファイルを使用する際は学習したモデルのブランチが合うように
-b v7.0 の部分を変更してください。
※後から気づきましたが、github 内に yolov5 のリンクがあるので、そこから git clone するとこの後の準備は必要ないかもしれません。
次は、yolov5/utils/dataloaders.py をコピーして yolov5/utils/datasets.py という名前に変更します。
追加のパッケージをインストールします。
pip install Cython
pip install https://github.com/KaiyangZhou/deep-person-reid/archive/master.zip
track.py を編集します。
まずは 27 行目です。
from yolov5.utils.general import (LOGGER, check_img_size, non_max_suppression, scale_boxes, #scale_coords,
check_imshow, xyxy2xywh, increment_path, strip_optimizer, colorstr)
172 行目付近を編集します。
# Rescale boxes from img_size to im0 size
# det[:, :4] = scale_coords(im.shape[2:], det[:, :4], im0.shape).round()
det[:, :4] = scale_boxes(im.shape[2:], det[:, :4], im0.shape).round()
これで準備は完了です。
Youtube の動画からデモを実行
以下のコマンドで簡単にテストすることができます。
python track.py --source .\MOT16_eval\track_all.gif --save-vid
以下のような出力が得られます。
おわりに
短いですが今回はここまでとします。
yolov5 のバージョンと yolov5-tracking のバージョンには注意して設定してください。
それぞれ独立したバージョンなので、今回説明したバージョン以外のバージョンでは動作しないと思います。
次回は、コードの説明を絡めながら、実務向きにどう変更すればいいか説明する予定です。
コメント