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

ビデオ理解は、いくつかの主要なCVタスクを基盤とする多層的なプロセスです。パイプラインは通常、個々のフレームを分析してキーとなる要素を特定することから始まります。

動画内のアクションやイベントを解釈する高度なAIであるVideo Understandingについて解説します。その仕組みと、自動運転やスマートセキュリティにおけるアプリケーションについて学びましょう。

動画理解とは、機械学習モデルが視覚データを時間軸に沿って処理・分析・理解する能力を指す。 静止画を分析する画像認識とは異なり、 動画理解では一連のフレームを解釈し、時間的変化、文脈、因果関係を把握する。これによりAIシステムは単に物体を識別するだけでなく、動画クリップ内で展開される動作、出来事、そして「ストーリー」を理解できる。自律走行から自動スポーツ分析に至る動的なアプリケーションを支える現代のコンピュータビジョン(CV)における重要な構成要素である。

ビデオ解析の核となるメカニズム

動画の分析には、空間情報と時間情報の2種類の情報を扱う必要がある。空間特徴は単一フレームに現れる要素(物体、背景、テクスチャ)に関連し、時間特徴はそれらの要素が時間経過とともにどのように変化するか(動き、速度、相互作用)を記述する。

現代の動画理解システムは、しばしば多段階アプローチを採用する:

  • 空間特徴抽出: 畳み込みニューラルネットワーク(CNN)ビジョン・トランスフォーマー(ViT)などの バックボーンネットワークが 個々のフレームを処理し、detect 特徴を識別する。
  • 時系列集約:運動を理解するため、モデルは以下のようなアーキテクチャを利用する。 長短期記憶(LSTM)ネットワーク 時系列トランスフォーマー これらの構成要素は、空間的特徴が時系列でどのように変化するかを分析し、 多くの場合、注意機構を用いて タイムライン上の重要な瞬間に焦点を当てる。
  • 高次推論:最終段階では、行動の分類や将来の事象の予測が行われる。 ここでモデルは、速度や動きのリズムに基づいて「歩く」と「走る」といった類似した動作を区別する。

実際のアプリケーション

動画理解技術は、従来は人間の観察を必要としていた複雑な視覚タスクを自動化することで、産業を変革している。

  • 自動運転:自動運転車は歩行者や他の車両の行動を予測するために映像理解に大きく依存している。周囲の物体の軌跡と速度を分析することで、車両の知覚システムは潜在的な衝突を予測し、安全な運転判断を下すことができる。
  • スマート小売とセキュリティ:小売環境では、システムが買い物客の行動を分析し、店舗レイアウトの最適化やdetect を実現します。セキュリティアプリケーションは異常検知技術を活用し、立ち入り禁止区域での不審者の徘徊や突発的な群衆の集結といった異常活動を検知し、リアルタイムで担当者に通知します。
  • 医療モニタリング:動画解析技術は患者の動きを監視し、苦痛の兆候を検知することで患者ケアを支援する。例えば姿勢推定アルゴリズムは歩行パターンを分析し、侵襲的なセンサーを用いずにtrack 進捗track 、高齢者施設でのdetect できる。

キーコンセプトの差別化

ビデオ理解を他のコンピュータビジョン課題と区別することが重要です:

  • 動画理解と物体追跡の差異: 物体追跡は特定のインスタンスの同一性をフレーム間で維持することに焦点を当てる(例:特定の車両を追跡する) 一方、動画理解はその物体の行動の文脈を解釈する(例:車両が赤信号を無視していると認識する)。
  • 動画理解とテキストから動画生成の比較: テキストから動画生成は、テキストプロンプトから 新たな視覚コンテンツを生成する生成プロセスである 動画理解は、既存の映像から意味を抽出する分析プロセスである。

Ultralyticsビデオ解析の実装

動画理解の基盤となる要素は、堅牢な物体検出と追跡である。以下の例は、Ultralytics を用いた追跡の実装方法を示す。これにより、高次行動分析に必要な時間的連続性が確立される。

import cv2
from ultralytics import YOLO

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

# Open a video file
video_path = "path/to/video.mp4"
cap = cv2.VideoCapture(video_path)

# Process video frames
while cap.isOpened():
    success, frame = cap.read()
    if success:
        # Track objects with persistence to maintain IDs over time
        results = model.track(frame, persist=True)

        # Visualize the results
        annotated_frame = results[0].plot()
        cv2.imshow("YOLO26 Tracking", annotated_frame)

        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

課題と今後の動向

進歩にもかかわらず、高解像度動画ストリームの膨大なデータ量により、動画理解は依然として計算負荷が高い。研究者らは遅延と計算コストを削減するため、より効率的なモデルアーキテクチャの開発を積極的に進めている。モデル量子化やプルーニングといった技術は、これらのモデルをエッジデバイスに展開する上で不可欠である。

将来の発展はマルチモーダルAIを指向しており、 動画データが音声やテキストの文脈と組み合わされ、より深い理解が実現される。例えば、モデルは タイヤのキィーという音と視覚データを組み合わせて、交通事故をより迅速に特定できるかもしれない。 NVIDIA TensorRTOpenVINO は、これらの複雑なモデルをリアルタイム推論向けに最適化する上で 重要な役割を果たし続けています。

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

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

今すぐ参加