ヨロビジョン深圳
深セン
今すぐ参加

Ultralytics YOLO11を使用してバッチ推論を実行する方法

Abirami Vina

4分で読めます

2025年5月15日

Ultralytics YOLO11をさまざまなコンピュータビジョンアプリケーションで使用する場合の、リアルタイム推論とバッチ推論の違いについて解説します。

自動運転車の動作を見たことがあるなら、リアルタイムAI推論を目の当たりにしたことになります。自動運転車は通常、カメラ、センサー、AIを使用して周囲の状況を処理し、ほぼ瞬時に意思決定を行います。ただし、迅速な応答が必要ない場合、リアルタイム推論はリソースを大量に消費する可能性があります。

このような場合、より良い選択肢はバッチ推論です。リアルタイムで継続的にデータを処理する代わりに、バッチ推論では、スケジュールされた間隔で大量のデータを処理できます。このアプローチは、リソースの節約、電力消費の削減、インフラストラクチャコストの削減に役立ちます。

例えば、コンピュータビジョンアプリケーションでは、Ultralytics YOLO11などのモデルを、物体検出やインスタンスセグメンテーションなどのリアルタイムタスクに使用できます。ただし、大量の視覚データをリアルタイムで処理するには、高い処理能力が必要となる場合があります。 

__wf_reserved_inherit
図1. YOLO11を使用した画像内のオブジェクトのセグメンテーション例。

バッチ推論を使用すると、YOLO11は視覚データをバッチで実行できるため、システムへの負荷を軽減し、パフォーマンスを犠牲にすることなく効率を向上させることができます。これにより、ハードウェアに過度の負担をかけたり、コストを増加させたりすることなく、Vision AIソリューションを大規模に展開することが容易になります。

この記事では、バッチ推論、その利点、そしてYOLO11を使用したバッチ推論がコンピュータビジョンアプリケーションにどのように適用できるかを探ります。それでは、始めましょう。

コンピュータビジョンにおけるバッチ推論について

バッチ推論は、入ってくるデータを少しずつ処理するのではなく、大きなタスクを一度に処理すると考えることができます。リアルタイムで常にデータを処理する代わりに、バッチ推論を使用すると、設定された間隔で大量のデータを処理できます。このアプローチは、即時の応答が必要ない場合に非常に効率的であり、コンピューティングリソースの節約、エネルギー使用量の削減、コスト削減に役立ちます。

コンピュータビジョンに関して言えば、低遅延が不可欠な特定のアプリケーションがあります。低遅延とは、入力(画像やビデオフレームなど)を受信してからシステムの応答までの最小限の遅延を指します。たとえば、リアルタイムのセキュリティ監視では、わずかな遅延でも安全上のリスクにつながる可能性があります。

しかし、他の多くのコンピュータビジョンのシナリオでは、低レイテンシはそれほど重要ではありません。バッチ推論が威力を発揮するのは、システムが即座に反応する必要がない場合です。バッチ推論は、視覚データをグループまたはバッチでコンピュータビジョンモデルに供給することにより、システムがリアルタイムで継続的に処理するのではなく、大量のデータセットを一度に処理できるようにします。

バッチ推論の仕組みの理解

バッチ推論に含まれるステップについて詳しく見ていきましょう。

  • データ収集: 視覚データは一定期間にわたって収集されます。これには、アプリケーションに応じて、セキュリティ映像、製品画像、または顧客データが含まれる場合があります。
  • バッチ準備: 収集されたデータは、バッチにグループ化されます。このステップでは、データはモデルに必要な形式にフォーマットされます。たとえば、画像はサイズ変更、正規化、またはモデルが処理するための適切な形式に変換される場合があります。
  • 予測: データの準備ができたら、バッチ全体をモデル(YOLO11など)に入力し、一度に処理します。これにより、モデルはバッチ内のすべてのデータに対して同時に予測を行うことができ、各データポイントを個別に処理するよりも効率的になります。

バッチ推論はいつ使用すべきですか?

バッチ推論とは何か、そしてリアルタイム推論とどう違うのかを説明しましたので、次はいつバッチ推論を使用すべきかについて詳しく見ていきましょう。

バッチ推論は、過去のデータを分析するのに最適です。例えば、過去1ヶ月間の地下鉄駅の監視映像があり、1日の異なる時間帯に出入りする人の数など、特定のパターンを特定しようとしているとします。 

リアルタイムで各フレームを処理する代わりに、バッチ推論を使用すると、1か月分の映像全体をバッチで処理し、即時の結果を必要とせずに、主要なイベントや傾向を特定できます。これにより、システムに過負荷をかけたり、継続的な監視を必要としたりすることなく、大量のデータをより効率的に分析し、長期的なパターンに関する洞察を得ることができます。

バッチ推論は、システムリソースが限られている場合にも最適なソリューションです。ピーク時以外の時間帯(夜間など)に推論を実行することで、コンピューティングコストを節約し、ピーク時のシステム過負荷を防ぐことができます。これにより、大量のデータセットを処理する必要があるものの、リアルタイム分析を必要としない企業やプロジェクトにとって、効率的で費用対効果の高いアプローチとなります。

Ultralytics YOLO11を使用したバッチ推論

Ultralytics Pythonパッケージは、YOLOv8などのモデルのバッチ推論をサポートしています。YOLOv8を使用すると、一度に処理する画像またはビデオフレームの数を決定する「batch」引数を指定することで、簡単にバッチ推論を実行できます。 

バッチ推論プロセス中、バッチ内のすべての画像に対して予測が同時に生成されます。デフォルトでは、バッチサイズは1に設定されていますが、任意の数に調整できます。 

例えば、バッチサイズが 5 に設定されている場合、YOLO11 は一度に 5 つの画像またはビデオフレームを処理し、5 つすべてに対して予測を生成します。通常、バッチサイズが大きいほど、推論時間が短縮されます。これは、バッチ内の複数の画像を処理する方が、個別に処理するよりも効率的であるためです。

バッチ推論によって実現されるコンピュータビジョンアプリケーション

次に、バッチ推論の実際のコンピュータビジョンのユースケースをいくつか見ていきましょう。

ヘルスケアにおける診断と研究の強化

医学研究では、大量の視覚データを扱うことが非常に一般的です。ここで、バッチ推論は、科学者が化学、生物学、遺伝学などの分野でより簡単にデータを分析するのに役立ちます。データを1つずつ分析する代わりに、バッチで処理することで、時間と労力を節約できます。

例えば、医療施設では、MRIやCTスキャンなどの大量の医療画像を分析する際に、バッチ推論が特に役立ちます。病院はこれらのスキャンを1日を通して収集し、夜間にまとめて処理できます。 

このアプローチにより、病院はハードウェアとスタッフをより有効に活用し、運用コストを削減し、すべてのスキャンが一貫した均一な方法でレビューされるようにすることができます。また、大量のデータを処理する必要がある大規模な研究プロジェクトや長期的な研究にも役立ちます。

__wf_reserved_inherit
Fig 2. YOLO11を使用した医療スキャンの検出。

シミュレーションを用いた自動運転車の改善

自動運転車は、周囲の状況を処理するためにコンピュータビジョンなどのAI技術を使用しています。YOLOv8のような高度なモデルの助けを借りて、車載システムは他の車両、車線、道路標識、および道路上の人々を認識できます。リアルタイム推論は路上で非常に重要ですが、自動運転技術は舞台裏でのバッチ推論にも大きく依存しています。 

__wf_reserved_inherit
図3 YOLO11は、道路上の歩行者を容易に検出できます。

自動車が走行を完了した後、カメラ映像、センサーの読み取り値、LIDARスキャンなどの収集されたデータは、後でまとめて処理できます。これにより、エンジニアは自動車のAIモデルを更新し、システムの安全性を高め、さまざまな運転条件に対応する能力を向上させることができます。

バッチ推論は、自動運転シミュレーションでも使用され、自動運転車が交通量の多い交差点でのナビゲートや、予測不可能な歩行者の動きへの対応など、さまざまな状況でどのように反応するかをテストします。このアプローチにより、時間とコストを節約し、現実のあらゆるシナリオをテストすることに伴うリスクを回避できます。

バッチ推論による小売データ分析

同様に、小売店では、YOLO11のようなコンピュータビジョンモデルを使用したバッチ推論により、業務効率を大幅に向上させることができます。たとえば、店舗のカメラシステムは1日を通して数千枚の画像をキャプチャでき、それらを夜間にバッチ処理できます。 

これにより、小規模店舗では困難なリアルタイム処理を必要とせずに、顧客の行動、トラフィックパターン、製品とのインタラクションなど、店舗内で何が起こっているかを分析できます。 

もう一つの興味深い例は、バッチ推論を使用してヒートマップを生成し、店舗内の顧客の活動が活発なエリアとそうでないエリアを可視化することです。これらのヒートマップを分析することで、小売業者は最も多くの人が行き交うエリアや、より注意や製品配置の最適化が必要な店舗内の場所を特定できます。このデータは、小売業者が店舗レイアウト、製品の配置、さらにはプロモーション戦略に関して、顧客体験と売上を向上させるためのより良い意思決定を行うのに役立ちます。

__wf_reserved_inherit
Fig 4. ヒートマップは、小売店が店舗内の人気エリアを特定するのに役立ちます。

バッチ推論のメリットとデメリット

以下に、バッチ推論がさまざまな業界にもたらす主な利点をいくつか示します。

  • 統合の容易さ: バッチ推論は、特に大量のデータをまとめて処理する必要がある小売、セキュリティ、またはヘルスケアなどの業界において、既存のワークフローに簡単に統合できます。
  • より簡単なデータ管理: 大量のデータを扱う場合、バッチ推論はデータを管理しやすいチャンクにグループ化するため、データ管理を効率化できます。これにより、時間の経過とともにデータを追跡、レビュー、整理することが容易になります。
  • ネットワーク負荷の軽減:データがバッチで処理される場合、特定の瞬間に転送されるデータ量を最小限に抑えることができ、クラウドベースのシステムまたは分散コンピューティング環境におけるネットワークリソースへの負荷を軽減します。

バッチ推論の利用には多くの利点がある一方で、考慮すべきいくつかの制限事項も存在します。留意すべきいくつかの要素を以下に示します。

  • ストレージ要件: バッチ処理のために大量のデータセットを保存すると、特に高解像度の画像、ビデオ、または大量のデータの場合、ストレージコストが大幅に増加する可能性があります。
  • バックログの可能性: データが急速に蓄積されたり、大量のバッチが時間どおりに処理されなかったりすると、バックログが発生する可能性があります。これにより、インサイトの提供や新しいデータのタイムリーな処理が遅れる可能性があります。
  • リソースの急増: 大規模なバッチ、特に高解像度の画像を含むバッチは、メモリまたはコンピューティングの使用量の急増を引き起こす可能性があります。適切に管理しないと、これらの急増によってシステムが過負荷になり、速度低下やクラッシュが発生する可能性があります。

主なポイント

バッチ推論は、即時の結果を必要としない大量の視覚データを処理する効率的な方法です。各画像をリアルタイムで分析するのではなく、夜間などのスケジュールされた時間にバッチで処理します。 

この方法は費用対効果が高く、計算負荷を軽減し、それでも正確な結果を提供します。店舗が在庫を管理するのを支援することから、医師が医療スキャン分析を支援すること、自動運転車の技術を強化することまで、バッチ推論はコンピュータビジョンをよりアクセスしやすく、手頃な価格で、実際のアプリケーションに実用的にします。

AIの世界に飛び込みませんか?GitHubリポジトリを探索し、コミュニティとつながり、ライセンスオプションをチェックして、コンピュータビジョンの旅を始めましょう。ソリューションページでは、製造業におけるAI物流業界におけるコンピュータビジョンなどのイノベーションについて詳しく紹介しています。

AIの未来を
共に築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。

無料ではじめる
クリップボードにコピーしました