Yolo 深圳
深セン
今すぐ参加
用語集

ポーズ推定

姿勢推定がキーポイントを用いてtrack 仕組みを学びましょう。実世界の応用例を探り、高速かつ正確な結果を得るUltralytics で始めましょう。

姿勢推定は、単なる物体の存在検出を超え、その幾何学的構造と物理的な向きを理解する専門的なコンピュータビジョン技術である。標準的な物体検出が対象物に単純な矩形枠を描くのに対し、姿勢推定はキーポイントと呼ばれる特定の意味的ポイントを特定する。例えば人体の関節(肘、膝、肩)や車両の構造的コーナーなどが該当する。 これらのランドマークをマッピングすることで、 機械学習モデルは対象の骨格表現を再構築でき、システムがボディランゲージや運動ダイナミクスを解釈し、 2Dまたは3D空間における精密な位置特定を可能にする。

中核メカニズム:トップダウン対ボトムアップ

現代の姿勢推定は高度な深層学習アーキテクチャに大きく依存しており、視覚データ処理には畳み込みニューラルネットワーク(CNN)が頻繁に利用される。アルゴリズムはキーポイントを特定するため、主に以下の二つの戦略のいずれかを採用する:

  • トップダウンアプローチ:この手法ではまず物体検出モデルを用いて、バウンディングボックス内で個々のインスタンスを特定する。人物や物体が大きな画像から切り出されると、姿勢推定器がその特定領域内のキーポイントを予測する。このアプローチは精度が高いことが多いが、フレーム内の被写体数が増えるにつれて推論遅延が大きくなる傾向がある。
  • ボトムアップアプローチ:逆に、この戦略では画像全体から全ての潜在的なキーポイントを同時に検出する(例:群衆内の全ての「左膝」を見つける)。その後、関連付けアルゴリズムを用いてそれらを個々の骨格にグループ化する。この手法は、群衆シーンにおけるリアルタイム推論に一般的に好まれる。なぜなら、存在する人数に関わらず計算コストが比較的一定に保たれるためである。

YOLO26のような最先端モデルは、これらの要件をバランスさせる高度なエンドツーエンドアーキテクチャを採用しており、エッジAIデバイスやモバイルプラットフォームへの展開に適した高速姿勢推定を実現している。

関連するコンピュータビジョン用語の区別

姿勢推定を他の視覚認識タスクと区別することは、コンピュータビジョンワークフローにおけるその独自の価値を理解する上で有用である:

  • 物体検出: オブジェクトが何かどこにあるかを特定することに焦点を当て、矩形ボックスを出力します。 被写体を剛体として扱い、内部の関節構造を理解しません。
  • インスタンスセグメンテーション: オブジェクトの正確な形状を輪郭で示すピクセル単位のマスクを生成します。セグメンテーションは境界を提供しますが、 運動解析に必要な関節や骨格連結を明示的に特定するものではありません。
  • 姿勢推定: 特に内部構造を対象とし、あらかじめ定められたランドマーク間(例:股関節から膝)の接続をマッピングして姿勢と動作を分析する。

実際のアプリケーション

人間や物体の動きをデジタル化する技術は、様々な産業において革新的な応用をもたらしており、 多くの場合、Ultralytics のようなツールを用いて訓練され、 アノテーション付きキーポイントの大規模データセットを管理している。

ヘルスケアとリハビリテーション

医療分野では、AIを活用した医療技術が 姿勢推定を用いて患者のリハビリテーションを遠隔監視する。関節角度と可動域を追跡することで、自動化システムは患者が自宅で理学療法運動を正しく実施することを保証できる。これにより再負傷リスクが低減され、臨床医は高価な実験装置を必要とせずに回復の進捗を定量化できる。

スポーツ・アナリティクス

コーチやアスリートは スポーツ分析を活用して パフォーマンスを最適化する。姿勢推定モデルは、従来型モーションキャプチャで使用される 邪魔なマーカースーツを必要とせず、 ゴルファーのスイングプレーン、ランナーの歩幅、 投手のバイオメカニクスを分析できる。これにより、 技術向上と過度の使用による怪我の予防に役立つ 即時的なデータ駆動型フィードバックが提供される。

小売と行動分析

商業環境において、小売システムに導入されたAIは ポーズ検出技術を用いて顧客行動を分析する。例えば、高い棚の商品に手を伸ばす動作や特定の通路での滞留時間などを把握する。このデータは物理的行動と購買決定を関連付けることで、店舗レイアウトの最適化や在庫管理の改善に寄与する。

コード例: YOLO26による姿勢推定

姿勢推定の実装は、現代の Python フレームワーク。 以下の例は、 ultralytics 事前学習済みモデルを読み込むパッケージ YOLO26 モデル(後継機) YOLO11)detect 。

from ultralytics import YOLO

# Load the YOLO26 pose model (nano version for speed)
model = YOLO("yolo26n-pose.pt")

# Perform inference on an image source
# The model identifies bounding boxes and specific keypoints (joints)
results = model("https://ultralytics.com/images/bus.jpg")

# Print the xy coordinates of detected keypoints
print(results[0].keypoints.xy)

# Visualize the skeletal results directly
results[0].show()

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加