はじめに
swim-loverです。PythonとPytorchで物体検出を行っています。 Pythonを始めたばかりですが、「使いながら覚える」をコンセプトに勉強しています。
以前に物体検出の一つである、YoLov3をColabで動かしてみました。今回は、YoLov5について取り上げたいと思います。
YoLov5
YoLov5は、2020年6月9日のリリースとなっています。現時点2022年8月27日時点では、YoLov7まで進んでいるようです。
以下のリポジトリを参考にしました。
YoloV5は、”n,s,m,l,x”の5バージョンがあるようです。(2022/7/28時点)
“n”が4.5FLOPSでもっとも処理負荷が低い。処理が早い。
一方、物体検出の評価指標である、mAPvalは、一番低いスコアになっています。
さっそく、Colab上で試してみます。
Colab上にDriveをマウントしましす。
from google.colab import drive
drive.mount('/content/drive')
予め作成しておいたディレクトリtest_yolo_v5に移動します。
cd drive/MyDrive
cd test_yolo_v5
gitよりCloneします。
!git clone https://github.com/ultralytics/yolov5
cd yolov5
YoLov5の実行に必要な関連モジュールも一括してインストールします。
pip install -r requirements.txt
推論処理 inference
学習済モデルを使用して推論処理を試してみます。
pytorchのインポート
import torch
学習済モデルのLoadします。yolo5sを使う設定です。
# Model
model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # or yolov5n - yolov5x6, custom
イメージのDownload
# Images
img = 'https://ultralytics.com/images/zidane.jpg' # or file, Path, PIL, OpenCV, numpy, list
推論処理の実行
# Inference
results = model(img)
結果を確認します。
# Results
results.save()
すごいサンプルの画像でした。
別の画像を試してみます。以前にも使用した手持ちの画像です。
2台の重なった自転車が1台の自転車として認識されました。
次の画像です。4台の自転車の検出に加えて、Bottleも検出できています。YoLov3ではBottleは検出していませんでした。
まとめ
今回、YoLov5の動作を確認してみました。次回以降も物体検出を試していきたいと思います。
組み込み系ソフトエンジニアをしています。これまでフロントエンド技術は避けてきましたが、食わず嫌いをやめて、勉強を始めました。
趣味は、水泳、ロードバイク、ランニング、登山です。
組み込み系技術ネタ、勉強したフロントエンド技術、たまに趣味の運動について発信していきます。
どうぞよろしくお願いします。
コメント