6
5

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.

【YOLOv5 ②】Google ColabでYOLOv5とtorch hubを使って物体検出の検出座標を出力する

Last updated at Posted at 2021-06-21

#はじめに

前回に引き続き、物体検出に関する方法について忘備録としてまとめました。
Google Colaboratory上でYOLOv5とtorch hubを使用して、物体検出の推論結果の中身を見ていきます。

#前回のおさらい
物体検出やYOLOv5の説明は以下の記事をご覧ください。

#torch Hub
YOLOv5のtorch Hubについて興味がある方は以下のリンクを参照してください。

#YOLOv5の準備

まずはGoogle ColaboratoryでYOLOv5の準備をします。

!git clone https://github.com/ultralytics/yolov5
%cd yolov5/
!pip install -qr requirements.txt

以上で準備は完了です。

#torch hubで物体検出してみる

まずはモデルをダウンロードします。

import torch
model = torch.hub.load('ultralytics/yolov5', 'yolov5x', pretrained=True)

次に物体検出する画像を指定します。
ローカルの画像を使用する場合はパスを指定します。

imgs = ['https://ultralytics.com/images/zidane.jpg'] 
results = model(imgs)

結果を保存します。

results.print()
results.save()

zidane (2).jpg

前回と同様に物体検出ができました。
画像は/content/yolov5/runs/hub/exp/zidane.jpgとして保存されます。

#torch Hubで結果を確認する

推論結果の内容を確認していきます。

results.pandas().xyxy[0]  

実行すると以下の出力を得ます。

qqq.png

物体検出の結果が一覧で表示されました。

各物体に対して、左から物体検出位置の座標、confidence(確信度)、番号、物体名となります。
なお、検出位置の座標は左上が原点(0,0)となることに注意してください。
画像と表を見比べてみると内容がわかりやすいかと思います。

#モデルの中身を確認する

今回使用したモデルの物体名と番号は以下のように確認ができます。

print(model.names)

['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush']

personは0番目、tieは27番目であることがわかります。
YOLOv5のモデルを使えば、上記リストにある物体の検出が可能となります。

#結果をcsvに出力する
先ほどで出力した表をcsvファイルとして出力します。

results.pandas().xyxy[0].to_csv('/content/yolov5/result.csv')

#終わりに
最後までご覧いただきましてありがとうございました。

6
5
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
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?