Action Recognition
アクション認識がビデオ内の行動をどのように識別するかを探ります。Ultralytics YOLO26をポーズ推定に使用し、HARタスクのためのスマートなAIシステムを構築する方法を学びましょう。
アクション認識は、Human Activity Recognition (HAR) とも呼ばれ、ビデオデータ内の被写体による特定の行動や動きを識別・分類することを扱う computer vision (CV) の動的なサブフィールドです。従来の object detection が「画像内にあるものは何か?」という疑問に答えるのに対し、アクション認識は「時間経過とともに何が起きているのか?」という、より複雑な疑問に取り組みます。静止画像ではなくフレームのシーケンスを分析することにより、machine learning (ML) モデルは「歩く」「サイクリングする」「転倒する」「握手する」などの複雑な活動を区別できるため、人間の意図やコンテキストを理解するインテリジェントシステムを構築する上で極めて重要な要素となります。
中心的な概念と技術#
アクションを認識するには、モデルが空間情報(オブジェクトや人の見た目)と時間情報(時間の経過に伴う動き方)の両方を処理する必要があります。これを実現するために、現代の artificial intelligence (AI) システムでは、標準的な convolutional neural networks (CNNs) を超えた特殊なアーキテクチャがよく採用されています。
- Pose Estimation: モデルが肘、膝、肩などの人体の特定の keypoints を追跡する強力なテクニックです。時間経過に伴うこれらのキーポイントの幾何学的変化は、背景の雑音に関係なく、アクションを分類するための強力なシグナルを提供します。
- Temporal Modeling: アルゴリズムは、過去のフレームを記憶し、将来のアクションを予測するために、Recurrent Neural Networks (RNNs) や Long Short-Term Memory (LSTM) などの構造を利用します。より最近では、ビデオストリームにおける長範囲の依存関係を処理できる能力から Video Transformers が人気を集めています。
- Two-Stream Networks: このアプローチでは、空間特徴(RGBフレーム)と時間特徴(多くの場合 optical flow を使用)を並列ストリームで処理し、データを融合して最終的な分類を行います。
実社会での応用#
人間の動きを自動的に解釈する能力は、さまざまな業界に変革をもたらす可能性を秘めており、安全性、効率性、ユーザー体験を向上させます。
- AI in Healthcare: アクション認識は患者モニタリングシステムにとって不可欠です。例えば、老人ホームでの自動転倒検知を可能にし、患者が倒れた場合にスタッフに直ちに警告を発します。また、remote physical rehabilitation でも使用されており、AIコーチが患者のエクササイズフォームを分析して、動きを正しく安全に行えているかを確認します。
- Smart Surveillance and Security: 単なる動きの検知を超えて、高度なセキュリティシステムではアクション認識を使用して、喧嘩、万引き、不正侵入などの不審な行動を特定しつつ、無害な活動を無視します。これにより誤報が減少し、real-time security monitoring が向上します。
Ultralyticsを使用したアクション分析の実装#
一般的なワークフローでは、まず人物とその骨格姿勢を検出し、次にそれらの関節の動きを分析します。Ultralytics YOLO26 モデルは、多くのアクション認識パイプラインの基盤となる初期の姿勢推定ステップにおいて、最先端の速度と精度を提供します。
以下の例では、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}")関連用語の区別#
適切な手法を適用するためには、アクション認識を他の類似したコンピュータビジョンのタスクと区別することが重要です。
- Action Recognition vs. Object Tracking: オブジェクトトラッキングは、特定のオブジェクトや人物がフレーム間を移動する際のアイデンティティを維持することに焦点を当てています(例:「人物Aは座標Xにいる」)。アクション認識は、その追跡された被写体の行動を解釈します(例:「人物Aは走っている」)。
- Action Recognition vs. Video Understanding: アクション認識が特定の物理的行為を識別するのに対し、ビデオ理解は、ビデオシーン内のナレーション、コンテキスト、因果関係全体を把握することを含む、より広い概念です。
課題と今後のトレンド#
堅牢なアクション認識モデルの開発には課題が伴い、特に Kinetics-400 や UCF101 のような大規模で注釈付きの video datasets に対するニーズがあります。ビデオデータのラベリングは、静止画像のラベリングよりもはるかに時間がかかります。これに対処するため、Ultralytics Platform などのツールがアノテーションとトレーニングのワークフローの効率化を支援します。
さらに、計算効率が極めて重要です。高解像度ビデオをリアルタイムで処理するには、多大なハードウェアリソースが必要です。業界は Edge AI へますます移行しており、モデルをカメラやモバイルデバイス上で直接実行できるように最適化して、レイテンシと帯域幅の使用量を削減しています。将来の進歩は、model generalization を改善し、明示的にトレーニングされていない視点からでもシステムがアクションを認識できるようにすることを目指しています。






