このシリーズでは物体検出でお馴染みの「YOLOv5」を用いて、物体検出の実装を基礎から学ぶことができます。
環境構築から学習の方法、さらに活用方法までをまとめています。
Google colabを使用して簡単に物体検出のモデルを実装することができますので、ぜひ最後までご覧ください。
第4回目はPyTorch hubによる物体検出テスト結果の出力方法と自作モデルのテスト方法について紹介します。
PyTorch hubを使ったYOLOv5による物体検出を試してみましょう。
今回の内容
・PyTorch hubを使ったYOLOv5による物体検出
・物体検出結果の表示と見方
YOLOv5の導入
Google colabを立ち上げて、早速実装していきましょう。
まずはGPUを使用できるように設定をします。
「編集」タブから「ノートブックの設定」の中の「ハードウェア アクセラレータ」を「GPU」に設定。
Google ドライブのファイルにアクセスするため、マウントします。
from google.colab import drive
drive.mount('/content/drive')
%cd ./drive/MyDrive
今回初めてYOLOv5を使用する方はクローンしましょう。
すでに前回クローンしている方は実行不要です。
!git clone https://github.com/ultralytics/yolov5
必要なライブラリをインポートします。
%cd yolov5/
!pip install -qr requirements.txt
以上で準備は終了です。
PyTorch hubによる物体検出
PyTorch hubを使用することで、yolov5による物体検出を簡単に実装することができます。
今回と次回ではテストから座標など結果の表示、トリミングなどの方法を紹介していきます。
公式は以下のリンクからご確認下さい。
PyTorch hubによる物体検出
まずはPyTorch hubによる物体検出を試してみましょう。
モデルと画像を指定するだけで簡単に実装できます。
import torch
# モデル
model = torch.hub.load('ultralytics/yolov5', 'yolov5x', pretrained=True)
# 画像
imgs = ['https://tt-tsukumochi.com/wp-content/uploads/2022/01/test1-1024x768.jpeg']
results = model(imgs)
results.save()
PyTorch hubを使うことで、簡単に物体検出の実装ができました。
物体検出の座標を出力する
別な画像を使って、座標を出力してみましょう。
imgs = ['https://tt-tsukumochi.com/wp-content/uploads/2022/01/test1-1024x768.jpeg']
results = model(imgs)
今回使用する画像のテスト結果を示します。
この結果を定量的に表示してみることにします。
results.pandas().xyxy[0]
実行すると以下のような表を得ることができます。
出力された表と画像を見比べてみる事にします。
xmin,ymin,xmax,ymaxはそれぞれ物体の枠線の座標を表しています。
画像の左上が原点(0,0)である事に注意しましょう。
confidenceは検出の確信度であり、0~1の間で1に近いほど機械が自信を持って判定していることになります。
まとめ
最後までご覧いただきありがとうございました。
今回はPyTorch hubによる物体検出テスト結果の出力方法について紹介しました。
次回の記事ではYOLOv5の活用方法を紹介していきます。
ぜひ、ご覧ください。