LoginSignup
35
37

More than 1 year has passed since last update.

【物体検出2023】YOLO最新版のYOLOv8を試してみる

Posted at

はじめに

物体検出でお馴染みのYOLOシリーズの最新版「YOLOv8」について、動かしながら試していきます。YOLOv8は2023年1月に公開された最新バージョンであり、速度と精度の面で限界を押し広げています。Google colabで簡単に最新の物体検出モデルを実装することができますので、ぜひ最後までご覧ください。

YOLOv8とは

YOLOv8は2023年1月に公開された最新バージョンであり、既存のオブジェクト検出器を上回り、速度と精度の面で限界を押し広げています。物体検出だけでなく、セグメンテーションタスクや画像分類タスクでも利用することができます。

yolo-comparison-plots.png

YOLOv8のベンチマーク結果は以下となっています。

物体検出モデル
yolov8_d.png

セグメンテーション
yolov8_s.png

詳細は以下のリンクよりご覧ください。

なお、ライセンスは「GNU General Public License v3.0」となっています。

YOLOv8の導入

早速YOLOv8を使って動かしていきましょう。
ここからはGoogle colabを使用して実装していきます。
まずは「ランタイムのタイプを変更」→「ハードウェアアクセラレータ」をGPUに変更して、GPUが使えるようにしましょう。
GPUの設定が終わったら、Googleドライブをマウントします。

python
from google.colab import drive
drive.mount('/content/drive')
%cd ./drive/MyDrive

公式よりcloneしてきます。

python
!git clone https://github.com/ultralytics/ultralytics
%cd ultralytics

次に必要なライブラリをインポートします。

python
!pip install -r requirements.txt

以上で準備完了です。
YOLOv8を使えるようになりました。

サンプル画像で試してみる

ここからは推論デモを試してみましょう。まずは学習済みモデルを取得します。
冒頭紹介した通り、いくつかの学習済みモデルがあります。ここでは、最も精度が高い「yolov8x.pt」を使うことにします。

python
from ultralytics import YOLO
model = YOLO("yolov8x.pt") 

次に推論を実施します。サンプル画像が用意されていますので、この画像を指定しましょう。引数に「save=True」を取ることで、画像を保存することができます。

python
results = model("https://ultralytics.com/images/bus.jpg",save=True) 

実行すると「ultralytics/runs/detect/predict」のフォルダ内に結果が保存されます。

bus.jpg

高精度で検出できていることがわかります。

動画で推論

入力ソースは画像の他に、動画やWebカメラ、スクリーンショットにも対応しています。
ここでは動画の推論の例を紹介します。

python
results = model('sample.mp4',save=True) 

結果は以下の動画のようになります。

セグメンテーション

最後にセグメンテーションモデルも試してみます。
「task=’segment’」とすることで、物体検出と同様に推論することができます。

python
model = YOLO("yolov8n-seg.pt") 
results = model('bus.jpg',save=True,task='segment')

bus_seg.jpg

動画の推論結果は以下のようになります。

まとめ

最後までご覧いただきありがとうございました。
2023年1月に公開されたYOLOシリーズの最新バージョンである「YOLOv8」について、動かしながら試してみました。精度・推論速度ともに向上しており、非常に使いやすいものになっています。
ますます物体検出の活用の幅がさらに広がりそうですね。

ブログではYOLOv8による学習及び推論の方法をまとめていますので、ぜひ合わせてご覧ください。

35
37
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
37