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

リアルタイム推論

リアルタイム推論の力を活用し、瞬時のAI予測を実現しましょう。Ultralytics エッジデバイスやロボティクス向けに低遅延の結果を提供する仕組みを学びます。

リアルタイム推論とは、訓練済みの機械学習(ML)モデルが ライブ入力データを受け取り、ほぼ瞬時に予測を生成するプロセスを指す。 データを後でまとめて収集・分析するオフライン処理とは異なり、 リアルタイム推論はその場で実行されるため、システムは環境に対して 迅速かつ機敏に対応できる。 この能力は現代の人工知能(AI)アプリケーションの心臓部であり、デバイスがミリ秒単位でデータを認識・解釈・実行することを可能にします。

低遅延の重要性

リアルタイム性能を評価する主要な指標は 推論レイテンシである。これは、 ビデオカメラからのフレームなどデータがモデルに入力される瞬間から、 バウンディングボックスや分類ラベルなどの出力がモデルから生成される瞬間までの時間遅延を測定する。アプリケーションが「リアルタイム」と見なされるためには、 レイテンシは入力データストリームの速度に追従できるほど十分に低くなければならない。

例えば、ビデオ理解タスクにおいて 30フレーム毎秒(FPS)で動作する場合、システムは各フレームを処理するために約33ミリ秒という厳密な時間制約を持つ。 推論にこれより時間がかかると、システムに遅延が生じ、フレームの欠落や応答の遅延を引き起こす可能性がある。 これを達成するには、NVIDIA のような専用エッジAIデバイスを用いたハードウェアアクセラレーションが 必要となる場合が多い。

リアルタイム推論とバッチ推論

リアルタイムワークフローとバッチ処理を区別することは有益である。 どちらも予測を生成することを含むが、その目的とアーキテクチャは大きく異なる:

  • リアルタイム推論:低遅延を優先します。単一データポイント(またはごく小規模なバッチ)が到着次第、即座に処理します。これは自律走行車のような対話型アプリケーションに不可欠であり、車両detect 、間に合うようにブレーキをかける必要がある場面で重要です。
  • バッチ推論:高スループットを優先します。大量のデータを収集し、一括処理します。 夜間在庫レポートの生成や過去のビッグデータ傾向分析など、緊急性の低いタスクに適しています。

実際のアプリケーション

瞬時の判断能力は、動的な環境における自動化を可能にすることで、様々な産業を変革してきた。

  • スマート製造: 製造業におけるAIでは、コンベアベルト上に設置されたカメラがリアルタイム推論を用いて自動品質管理を実行する。物体検出モデルは高速で移動する製品内の欠陥や異物を瞬時に識別可能だ。異常が検出されると、システムはロボットアームを作動させて該当品を即時除去し、高品質な製品のみが包装工程に到達するよう保証する。
  • 監視とセキュリティ:現代のセキュリティシステムは 境界監視にコンピュータービジョンを活用しています。 単なる映像記録にとどまらず、これらのカメラはリアルタイムで 人物検知や 顔認識を実行し、不正アクセスが発生した瞬間に 警備員へ警告を発します。
  • ロボティクス: ロボティクスにおけるAIの分野では、ロボットは 複雑な物理空間を移動するために姿勢推定を利用する。 倉庫ロボットは、安全かつ効率的に経路を計画するため、 障害物や作業員の位置を継続的に推測しなければならない。

最適化とデプロイメント

リアルタイムアプリケーション向けのモデル展開では、対象ハードウェア上で効率的に動作するよう最適化が必要となる場合が多い。 モデル量子化などの手法は、モデルの重みの精度を低下させる(例:float32からint8へ)ことで、メモリ使用量を削減し、精度への影響を最小限に抑えながら推論速度を向上させる。

開発者はUltralytics を活用してこのプロセスを効率化できます。 このプラットフォームはトレーニングを簡素化し、ユーザーがモデルを最適化された形式(例:TensorRT)にエクスポートすることを可能にします。 TensorRTNVIDIA や OpenVINO (Intel 、または TFLite モバイル向けデプロイメント用。

コード例

以下のPython は、ウェブカメラの映像に対してリアルタイム推論を実行する方法を示しています。 ultralytics ライブラリ。それは YOLO26 ナノ モデルは、エッジデバイスにおける高速性能を特に念頭に設計されています。

from ultralytics import YOLO

# Load the YOLO26 Nano model, optimized for speed and real-time tasks
model = YOLO("yolo26n.pt")

# Run inference on the default webcam (source="0")
# 'stream=True' returns a generator for memory-efficient processing
# 'show=True' displays the video feed with bounding boxes in real-time
results = model.predict(source="0", stream=True, show=True)

# Iterate through the generator to process frames as they arrive
for result in results:
    # Example: Print the number of objects detected in the current frame
    print(f"Detected {len(result.boxes)} objects")

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

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

今すぐ参加