【物体検出】YOLOとは? PyTorchでYOLOv5を動作させよう!

YOLOとは

YOLO(You only Look Once)とは推論速度が他のモデルより高速な物体検出アルゴリズムの1つです。

YOLOでは、一度画像を入力してバウンディングボックスと物体クラスの両方の推定を行うという特徴があります。

また、ライセンスはGPLライセンスになります。

YOLOには様々なバージョンがあります。現在では、YOLOv1v7まであります。

(他にも、2021年8月に公開された高速かつ高精度な最新の物体検出モデルYOLOXもあります)

PyTorchでYOLOv5を動作させてみる

YOLOv5はPyTorchを用いると比較的に容易に動作させることが出来ます。

以下の手順で、clone&インストール出来ます。

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

Google Colabで実行する場合には、以下のコードをColabのセルに記述し実行ください。

# google colab
!git clone https://github.com/ultralytics/yolov5

!pip install -r /content/yolov5/requirements.txt

インストール完了後、以下で動作可能です。

# コード参考
# https://github.com/ultralytics/yolov5

import torch
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')

input_img = 'https://ultralytics.com/images/zidane.jpg'

# 推論
results = model(input_img)

# 結果の出力
results.show()

実行すると以下のように物体検出することが出来ます。

.save()

results.save()

.save()を実行することで、入力した画像に対して、バウンディングボックスと識別したクラス名と信頼度スコアが加えられた画像を保存することが出来ます。

Google Colabでは、/content/runs/detect/exp/配下に、画像が保存されます。

物体検出・画像認識を学ぶには

物体検出を学ぶに限らず、機械学習技術を学ぶ上でおすすめなのは、機械学習エンジニアからいつでも質問できる環境で学ぶことが大切です。

AI Academy Bootcampなら、6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください。