動画内の行動を認識する方法を学びましょう。Ultralytics を用いた姿勢推定の実践と、行動認識タスク(HAR)向けスマートAIシステムの構築を習得します。
動作認識(HAR:Human Activity Recognition)は、コンピュータビジョン(CV)の動的サブ分野であり、動画データ内の被写体が示す特定の行動や動きを識別・分類することを扱う。従来の物体検出が「画像内に何が写っているか?」という問いに答えるのに対し、動作認識はより複雑な「時間経過とともに何が起きているか?」という問いに取り組む。 静止画ではなく連続するフレームを分析することで、機械学習(ML)モデルは「歩行」「自転車走行」「転倒」「握手」といった複雑な活動を区別でき、人間の意図や文脈を理解する知能システム構築の重要な要素となる。
行動を認識するには、空間情報(物体や人物の外観)と時間情報(時間軸上の動き)の両方を処理するモデルが必要である。これを実現するため、現代の人工知能(AI)システムは、標準的な畳み込みニューラルネットワーク(CNN)を超える特殊なアーキテクチャを採用することが多い。
人間の動きを自動的に解釈する能力は、様々な産業において変革をもたらす可能性を秘めており、 安全性、効率性、ユーザー体験を向上させます。
一般的なワークフローでは、まず人物とその骨格姿勢を検出し、その後それらの関節の動きを分析します。 Ultralytics モデルは、多くの動作認識パイプラインの基盤となる初期姿勢推定ステップにおいて、 最先端の速度と精度を提供します。
以下の例は、Python動画フレームから骨格キーポイントを抽出する方法を示しています:
from ultralytics import YOLO
# Load the YOLO26 pose estimation model
model = YOLO("yolo26n-pose.pt")
# Run inference on an image to detect person keypoints
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
# Access the keypoints (x, y, visibility)
if result.keypoints is not None:
print(f"Detected keypoints shape: {result.keypoints.data.shape}")
動作認識を類似のコンピュータビジョン課題と区別することは、適切な手法を適用するために重要である。
堅牢な動作認識モデルの開発には課題があり、特にKinetics-400やUCF101のような大規模なアノテーション付き動画データセットが必要となる点が挙げられる。動画データのラベリングは静止画のラベリングに比べて大幅に時間を要する。この課題に対処するため、Ultralytics のようなツールがアノテーションとトレーニングのワークフロー効率化を支援する。
さらに、計算効率が極めて重要である。高解像度動画をリアルタイムで処理するには膨大なハードウェアリソースが必要となる。業界ではエッジAIへの移行が進み、カメラやモバイル端末上で直接動作するモデルを最適化することで、遅延と帯域幅の使用量を削減している。今後の進歩ではモデルの汎化能力向上を目指し、明示的に訓練されていない視点からの動作認識を可能にする。