Keypoints
キーポイントがAIにおける物体の形状と姿勢を定義する仕組みを学びます。Ultralytics YOLO26による姿勢推定を説明し、使いやすいPython SDKの利用を始めます。
キーポイントとは、画像内の物体や対象の重要な特徴を定義する、明確な空間位置またはランドマークです。コンピュータビジョンや機械学習の分野では、キーポイントは通常、対象の特定部分を示す座標(X、Y)の組として表現されます。たとえば、人の肘、建物の角、車輪の中心などです。物体の存在のみを識別する単純なタスクとは異なり、キーポイントを識別することで、人工知能 (AI)モデルは対象の幾何学的形状、姿勢、構造的な配置を理解できます。この機能は高度な視覚分析の基盤となり、機械によるボディランゲージの解釈、正確な動作の追跡、デジタルオーバーレイと現実世界の物体の位置合わせを可能にします。
AIモデルにおけるキーポイントの役割#
キーポイントは、人間や動物の骨格構造をマッピングする技術である姿勢推定の基礎データとして機能します。肩、膝、足首など、あらかじめ定義された一連の点を検出することで、アルゴリズムは対象の姿勢全体をリアルタイムで再構成できます。この処理は、通常、物体の内部形状を理解せずに物体の周囲にバウンディングボックスを出力する標準的な物体検出を超えるものです。
Ultralytics YOLO26のような最新のアーキテクチャは、これらのキーポイントを高い精度と速度で予測できるように進化しています。これらのモデルは、関節や顔の特徴に関連する視覚パターンを学習するため、COCO Keypointsなどの大規模なアノテーション付きデータセットで学習したディープラーニング (DL)ネットワークを利用します。推論時には、モデルが各キーポイントの座標を回帰し、多くの場合、予測の信頼性を示す信頼度スコアも含めます。
キーポイントと関連概念の比較#
キーポイントの独自の有用性を理解するには、キーポイントとコンピュータビジョンで一般的に使用される他の出力を区別すると役立ちます。
- キーポイントとバウンディングボックス: バウンディングボックスは、物体全体を長方形で囲む、大まかな位置情報を提供します。キーポイントは、その物体の内部にある特定部分の詳細な位置情報を提供します。
- キーポイントと画像セグメンテーション: 画像セグメンテーションはすべてのピクセルを分類し、物体の形状を正確に表すマスクを作成します。セグメンテーションが詳細な境界情報を提供するのに対し、キーポイントは構造の概要(「スケルトン」)を提供します。これは、動作やキネマティクスの分析において、より効率的な場合があります。
- キーポイントと特徴記述子: SIFT(スケール不変特徴変換)のような従来の画像処理では、キーポイントは画像マッチングに使用される関心点(コーナーやブロブ)です。最新のDL姿勢推定では、キーポイントはネットワークが学習する意味ラベル(例:「左手首」)です。
実世界での利用例#
特定の身体部位や物体の特徴を追跡できることで、さまざまな業界における多様なアプリケーションが可能になります。
- **スポーツ分析:**コーチやアスリートは、姿勢推定を用いてバイオメカニクスを分析します。関節上のキーポイントを追跡することで、システムは角度や速度を計算し、ゴルフ、テニス、短距離走などのスポーツにおける技術向上に役立てられます。Ultralytics YOLOモデルがゴルフスイングを追跡する方法を参照して、実行可能なフィードバックを提供する仕組みをご確認ください。
- **医療とリハビリテーション:**理学療法プラットフォームは、キーポイントを活用して患者の運動を遠隔でモニタリングします。システムは、リハビリテーションの運動中に患者が正しいフォームを維持できるようにし、けがのリスクを低減するとともに回復の進捗を追跡します。
- **拡張現実 (AR):**ソーシャルメディアのフィルターやバーチャル試着アプリケーションは、顔のキーポイント(目、鼻、口の輪郭)を利用して、デジタルマスクや眼鏡をユーザーの顔に正確に固定します。これにより、ユーザーが動いても位置合わせが維持されます。
- **ドライバーモニタリング:**自動車の安全システムは顔のランドマークを追跡し、眠気や注意散漫の兆候を検出します。目を閉じている場合や、頭部の位置から注意力の低下が示される場合には、ドライバーに警告します。
Ultralytics YOLO26によるキーポイント検出の実装#
Ultralytics PlatformまたはPython SDKを使用すると、開発者はキーポイント検出を簡単に実装できます。次の例では、事前学習済みのYOLO26-poseモデルを読み込み、画像に対して推論を実行して人間のスケルトンを検出する方法を示します。
from ultralytics import YOLO
# Load a pre-trained YOLO26 pose estimation model
model = YOLO("yolo26n-pose.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results showing detected keypoints and skeletons
for result in results:
result.show() # Display the image with keypoints drawn
# Access keypoint coordinates (x, y, confidence)
keypoints = result.keypoints.data
print(f"Detected keypoints shape: {keypoints.shape}")このシンプルなワークフローにより、高度なコンピュータビジョン (CV)アプリケーションを迅速に展開できます。産業機械上の特定の点や動物種などを検出するために独自のカスタムキーポイントモデルを学習したいユーザーにとって、Ultralytics Platformは、クラウド上でのデータアノテーションとモデル学習のプロセスを簡素化します。
高度な考慮事項#
キーポイント検出を正常に展開するには、遮蔽(身体の一部が隠れている状態)や多様な照明条件などの課題に対処する必要があります。最新のモデルは、学習中に堅牢なデータ拡張を行い、さまざまな状況をネットワークに学習させることで、これらの課題に対応します。さらに、キーポイントを物体追跡アルゴリズムと統合すると、動画ストリーム内で個人を時間の経過に沿って一貫して識別できるようになります。これは、セキュリティや行動分析などのアプリケーションに不可欠です。









