12
Help us understand the problem. What are the problem?

posted at

updated at

【YOLOv5】Google ColabでYOLOv5を使って物体検出を試してみる

はじめに

物体検出を試してみる方法について備忘録としてまとめました。
Google Colaboratory上でYOLOv5を使用して、物体検出を試していきます。
今回の方法ではGoogleアカウントがあれば誰でも同じように試すことが可能です。

(Qiita初投稿です。わかりにくい箇所があるかと思いますがご容赦ください。)

Google Colaboratoryの設定

Googleアカウントを作成し以下のリンクから開始します。

物体検出とは

物体検出(object detection)とは、画像内の「どこに」「何が」写っているかを検出する技術のことです。
物体検出としては、SSDやYOLOといったものがよく使用されます。

YOLOv5とは

YOLOv5とは、物体検出をするアルゴリズムですがYOLOv3の後継にあたり、2020年に公開された最新のモデルです。YOLOv4という高精度化したYOLOv3の後継モデルもありますが、YOLOv5は推論処理時間がより速くなっているのが特徴です。

YOLOv5の準備

Google Colaboratoryを起動したら順番にやっていきます。

YOLOv5をインストールします。

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

以上で準備は終了です。

実際に物体検出してみる

以下のコードを実施するだけ物体検出が可能です。

python.py
!python detect.py --source /content/yolov5/data/images/zidane.jpg

結果を表示してみます。

python.py
import matplotlib.pyplot as plt
img = plt.imread('/content/yolov5/runs/detect/exp/zidane.jpg')
plt.imshow(img)
plt.show()

以下の画像が表示されたら成功です。
zidane.jpg
それぞれ検出した範囲に枠付けがされ、左上に検出した物体名と確信度が表示されます。

確信度とは物体検出の精度がどのくらい確実であるかの指標で0~1の間の値をとります。
この値が1に近いほど機械が自信を持って判定していることになります。

任意の画像で物体検出してみる

サンプル画像以外でも任意の画像で物体検出が可能かどうか試してみます。

実際に物体検出したい画像を/content/yolov5/data/images/bus.jpgを格納します。
(bus.jpgはサンプル画像として元から入っているが、ここでは自分で追加したものとして扱う)
格納した画像のファイル名として以下のコードを実行します。

python.py
!python detect.py --source /content/yolov5/data/images/bus.jpg

先ほどと同様に結果を確認します。

python.py
import matplotlib.pyplot as plt
img = plt.imread('/content/yolov5/runs/detect/exp2/bus.jpg')
plt.imshow(img)
plt.show()

bus.jpg

任意の画像でも物体検出ができました。

終わりに

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
12
Help us understand the problem. What are the problem?