物体検出でお馴染みのYOLOシリーズの最新版「YOLOv8」について、動かしながら試していきます。
YOLOv8は2023年1月に公開された最新バージョンであり、速度と精度の面で限界を押し広げています。
Google colabを使用して簡単に最新の物体検出モデルを実装することができますので、ぜひ最後までご覧ください。
今回の内容
・YOLOv8の概要
・Google colabを使用してYOLOv8の導入
・チュートリアルの推論
YOLOv8とは
YOLOv8は2023年1月に公開された最新バージョンであり、既存のオブジェクト検出器を上回り、速度と精度の面で限界を押し広げています。
物体検出だけでなく、セグメンテーションタスクや画像分類タスクでも利用することができます。
YOLOv8のベンチマーク結果は以下となっています。
物体検出モデル
セグメンテーションモデル
なお、YOLOv8のライセンスは「GNU General Public License v3.0」となっています。
YOLOv8の導入
早速YOLOv8を使って動かしていきましょう。
ここからはGoogle colabを使用して実装していきます。
まずはGPUを使用できるように設定をします。
「ランタイムのタイプを変更」→「ハードウェアアクセラレータ」をGPUに変更
GPUの設定が終わったら、Googleドライブをマウントします。
from google.colab import drive
drive.mount('/content/drive')
%cd ./drive/MyDrive
公式よりcloneしてきます。
!git clone https://github.com/ultralytics/ultralytics
%cd ultralytics
次に必要なライブラリをインポートします。
ここではpipでインストールすることにします。
!pip install -r requirements.txt
以上で準備完了です。
YOLOv8を使えるようになりました。
学習済みモデルを使った推論デモ
サンプル画像で試してみる
ここからは推論デモを試してみましょう。
まずは学習済みモデルを取得します。
冒頭紹介した通り、いくつかの学習済みモデルがあります。
ここでは、最も精度が高い「yolov8x.pt」を使うことにします。
下記の通り実行してモデルを定義しましょう。
from ultralytics import YOLO
model = YOLO("yolov8x.pt")
次に推論を実施します。
サンプル画像が用意されていますので、この画像を指定しましょう。
引数に「save=True」を取ることで、画像を保存することができます。
results = model("https://ultralytics.com/images/bus.jpg",save=True)
実行すると「ultralytics/runs/detect/predict」のフォルダ内に結果が保存されます。
中身を確認してみると、高精度で検出できていることがわかります。
簡単に物体検出を実装することができました。
任意の画像で試してみる
次に推論デモを任意の画像でも試してみましょう。
画像を用意したら先ほどの「bus.jpg」がある場所に画像を保存しましょう。
保存したら先ほど同様に推論デモを実行します。
results = model('image.jpg',save=True)
実行すると、「ultralytics/runs/detect/predict2」に結果が保存されます。
任意の画像でも推論デモを簡単に実行することができました。
任意の動画で試してみる
動画でも試してみましょう。
「bus.jpg」がある場所に動画を保存して、同様に推論デモを実行します。
results = model('sample.mp4',save=True)
任意の動画で推論デモを簡単に実行することができました。
まとめ
最後までご覧いただきありがとうございました。
2023年1月に公開された物体検出でお馴染みのYOLOシリーズの最新バージョンである「YOLOv8」について、動かしながら試してみました。
精度・推論速度ともに向上しており、非常に使いやすいものになっています。
物体検出の活用の幅がさらに広がりそうですね。