YOLOv8でポーズ推定を行いました。
YOLOの最新版であるYOLOv8には日本語のドキュメントもあります。
ドキュメントとGoogle Colaboratoryのノートブックを読みながらYOLOv8を実行してみました。
ポーズ推定
Google Colaboratoryにて実行しました。
ランタイム->ランタイムのタイプを変更->T4 GPUを選択
from google.colab import drive
drive.mount('/content/drive')
!mkdir "/content/drive/MyDrive/yolov8"
%pip install ultralytics
import ultralytics
ultralytics.checks()
YOLOv8には事前学習済みモデルがあります。
上記の表には6つのモデルが示されていますが、下のモデルほど精度が高いです。
6つのモデルを用いて、ポーズ推定を行います。
YOLOv8n-pose
ポーズ推定(結果はyolov8/runs/poseに保存される)
%cd "/content/drive/MyDrive/yolov8"
!yolo predict model=yolov8n-pose.pt source='https://ultralytics.com/images/zidane.jpg'
2人しかいないにも関わらず、3人検出されています。
また、アンチェロッティ(右)の腕が上手くポーズ推定されていません。
YOLOv8s-pose
ポーズ推定(結果はyolov8/runs/poseに保存される)
%cd "/content/drive/MyDrive/yolov8"
!yolo predict model=yolov8s-pose.pt source='https://ultralytics.com/images/zidane.jpg'
検出されたのが2人になりました。
しかし、アンチェロッティ(右)の腕は上手くポーズ推定されていません。
YOLOv8m-pose
ポーズ推定(結果はyolov8/runs/poseに保存される)
%cd "/content/drive/MyDrive/yolov8"
!yolo predict model=yolov8m-pose.pt source='https://ultralytics.com/images/zidane.jpg'
ジダンの左目が推定されるようになりました。
しかし、ジダン(左)の右腕が上手くポーズ推定されなくなりました。
YOLOv8l-pose
ポーズ推定(結果はyolov8/runs/poseに保存される)
%cd "/content/drive/MyDrive/yolov8"
!yolo predict model=yolov8l-pose.pt source='https://ultralytics.com/images/zidane.jpg'
ジダン(左)の右腕が上手くポーズ推定されるようになりました。
しかし、アンチェロッティ(右)の右腕は上手くポーズ推定されなくなりました。
YOLOv8x-pose
ポーズ推定(結果はyolov8/runs/poseに保存される)
%cd "/content/drive/MyDrive/yolov8"
!yolo predict model=yolov8x-pose.pt source='https://ultralytics.com/images/zidane.jpg'
personのスコアが高くなりました。
また、ジダン(左)の右腕が上手くポーズ推定されるようになりました。
YOLOv8x-pose-p6
ポーズ推定(結果はyolov8/runs/poseに保存される)
%cd "/content/drive/MyDrive/yolov8"
!yolo predict model=yolov8x-pose-p6.pt source='https://ultralytics.com/images/zidane.jpg'
YOLOv8x-poseとの違いはあまりありませんでした。
YOLOv8x-poseとYOLOv8x-pose-p6の精度が高いことを、6つのモデルを用いて確かめることができました。
YOLOv8で物体検出を行ってみた記事、YOLOv8でセグメンテーションを行ってみた記事、自作データセットを用いてYOLOv8で分類を行った記事も、よければご覧ください。