🍣

torchhubを使ってYOLOv5を動かしてみる

2024/09/14に公開

はじめに

この記事はtorchhubを用いたYOLOv5の実行について解説します.
YOLOv5は物体検知モデル (画像から物体の位置と座標を推定するモデル)の一つです.
YOLOv5はYOLOv3などと比較して非常に簡単に動かすことができ,また様々な入力に対応しています.

torchhubを用いたYOLOv5の実行

torchhubを用いたYOLOv5の実行はドキュメントに従います.

必要パッケージのインストール

pip install -r https://raw.githubusercontent.com/ultralytics/yolov5/master/requirements.txt

モデルの読み込みと実行

以下のコードを書き,実行します.これで完了です!

import torch

# Model
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Image
im = "https://ultralytics.com/images/zidane.jpg"
# あるいは,ローカルのパスを指定してもOKです.im = '<path to file>'

# Inference
results = model(im)

results.pandas().xyxy[0]

補足

modelに入力するファイルは,以下のものが利用可能です.

  • ローカルのパス
  • 画像のURL
  • cv2のデータ (ただしあとに示す例のようにRGBの順番にする)
  • pandas
    また,推論はまとめて行うことも可能です.

具体例

im1 = Image.open("test1.jpg")  # PIL image
im2 = cv2.imread("test2.jpg")[..., ::-1]  # OpenCV image (BGR から RGB に変換)
im3 = "https://sh-anime.shochiku.co.jp/bluearchive-anime/assets/images/common/index/kv_2.jpg" # URL
# img4 = "<画像のパス>" # 画像のパス

# 推論
results = model([im1, im2,im3], size=640)  # batch of images

# Results
results.print()
results.save()  # or .show()

results.xyxy[0]  # im1 predictions (tensor)

出力例



Discussion