#はじめに
物体検出を試してみる方法について備忘録としてまとめました。
Google Colaboratory上でYOLOv5を使用して、物体検出を試していきます。
今回の方法ではGoogleアカウントがあれば誰でも同じように試すことが可能です。
(Qiita初投稿です。わかりにくい箇所があるかと思いますがご容赦ください。)
#Google Colaboratoryの設定
Googleアカウントを作成し以下のリンクから開始します。
#物体検出とは
物体検出(object detection)とは、画像内の「どこに」「何が」写っているかを検出する技術のことです。
物体検出としては、SSDやYOLOといったものがよく使用されます。
#YOLOv5とは
YOLOv5とは、物体検出をするアルゴリズムですがYOLOv3の後継にあたり、2020年に公開された最新のモデルです。YOLOv4という高精度化したYOLOv3の後継モデルもありますが、YOLOv5は推論処理時間がより速くなっているのが特徴です。
#YOLOv5の準備
Google Colaboratoryを起動したら順番にやっていきます。
YOLOv5をインストールします。
!git clone https://github.com/ultralytics/yolov5
%cd yolov5/
!pip install -qr requirements.txt
以上で準備は終了です。
#実際に物体検出してみる
以下のコードを実施するだけ物体検出が可能です。
!python detect.py --source /content/yolov5/data/images/zidane.jpg
結果を表示してみます。
import matplotlib.pyplot as plt
img = plt.imread('/content/yolov5/runs/detect/exp/zidane.jpg')
plt.imshow(img)
plt.show()
以下の画像が表示されたら成功です。
それぞれ検出した範囲に枠付けがされ、左上に検出した物体名と確信度が表示されます。
確信度とは物体検出の精度がどのくらい確実であるかの指標で0~1の間の値をとります。
この値が1に近いほど機械が自信を持って判定していることになります。
#任意の画像で物体検出してみる
サンプル画像以外でも任意の画像で物体検出が可能かどうか試してみます。
実際に物体検出したい画像を/content/yolov5/data/images/
にbus.jpg
を格納します。
(bus.jpgはサンプル画像として元から入っているが、ここでは自分で追加したものとして扱う)
格納した画像のファイル名として以下のコードを実行します。
!python detect.py --source /content/yolov5/data/images/bus.jpg
先ほどと同様に結果を確認します。
import matplotlib.pyplot as plt
img = plt.imread('/content/yolov5/runs/detect/exp2/bus.jpg')
plt.imshow(img)
plt.show()
任意の画像でも物体検出ができました。
#終わりに
最後までご覧いただきましてありがとうございました。