7-8 ポーズ推定
学習目標
姿勢推定は、コンピュータビジョンにおけるタスクの一つで、単に物体の位置を認識するだけでなく、人や物体の姿勢、関節の位置、動作構造をコンピュータが理解できるようにすることを目的としています。
例えば、人体姿勢推定では、モデルは画像や動画から以下の要素を識別します。
1. キーポイント
例:
- 頭部、目、肩
- 肘、手首
- 腰、膝、足首
2. 骨格
キーポイントを人体構造に基づいて接続し、骨格を形成します。
本学習では、Pythonと事前学習済みモデルを用いて姿勢推定を行います。
姿勢推定
画像に対して姿勢推定を行い、結果を出力します。
from ultralytics import YOLO
model = YOLO("yolo11n-pose.pt")
results = model.predict("https://ultralytics.com/images/bus.jpg")
for result in results:
print(f'xy: {result.keypoints.xy}') # Keypoint data (Number of objects x 17 x 2)
すると結果が表示されます。

ウェブカメラを使用して姿勢推定を行い、レンダリングされた結果を表示する。
import cv2
from ultralytics import YOLO
model = YOLO("yolo11n-pose.pt")
video_path = 0
cap = cv2.VideoCapture(video_path)
while cap.isOpened():
success, frame = cap.read()
if success:
results = model.predict(frame)
annotated_frame = results[0].plot()
cv2.imshow("YOLO Inference", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()
これで結果が表示されます。
