Ultralytics YOLO11を使用したバッチ推論の実行
リアルタイム推論ではなくバッチ推論を使用するタイミング、Ultralytics YOLO11におけるbatch引数の仕組み、バッチ処理による計算コスト削減の場面をご紹介します。
Abirami Vina9 分で読めます
自動運転車が走行する様子を見たことがあれば、リアルタイムAI推論を目にしたことになります。自動運転車は通常、カメラ、センサー、AIを使用して周囲の状況を処理し、ほぼ瞬時に判断します。ただし、迅速な応答が不要な場合、リアルタイム推論は多くのリソースを消費することがあります。
こうした場合には、バッチ推論がより適した選択肢です。データをリアルタイムで連続処理するのではなく、バッチ推論では大量のデータを予定された間隔で処理できます。このアプローチは、リソースを節約し、電力消費を抑え、インフラコストを削減するのに役立ちます。
たとえば、コンピュータービジョンの用途では、Ultralytics YOLO11のようなモデルを、物体検出やインスタンスセグメンテーションなどのリアルタイムタスクに使用できます。ただし、大量の視覚データをリアルタイムで処理するには、大きな負荷がかかることがあります。

図1. Ultralytics YOLO11を使用した画像内の物体のセグメンテーションの例。
バッチ推論では、Ultralytics YOLO11で視覚データをバッチ単位で処理できるため、性能を損なわずにシステムへの負荷を軽減し、効率を高められます。これにより、ハードウェアに過度な負荷をかけたりコストを増加させたりすることなく、Vision AIソリューションを大規模に導入しやすくなります。
この記事では、バッチ推論とそのメリットを解説し、コンピュータービジョンアプリケーションでUltralytics YOLO11を使ったバッチ推論をどのように活用できるかを紹介します。
コンピュータービジョンにおけるバッチ推論の概要#
バッチ推論は、届いたデータを一つずつ処理するのではなく、大きなタスクをまとめて一度に処理する方法と考えることができます。データをリアルタイムで継続的に処理する代わりに、バッチ推論では大規模なデータのまとまりを設定した間隔で処理できます。即時の応答が不要な場合、この方法ははるかに効率的で、コンピューティングリソースの節約、エネルギー消費の削減、コストの抑制に役立ちます。
コンピュータービジョンでは、低レイテンシが不可欠な用途があります。低レイテンシとは、入力(画像やビデオフレームなど)を受け取ってからシステムが応答するまでの遅延が最小限であることを指します。たとえば、リアルタイムのセキュリティ監視では、わずかな遅延でも安全上のリスクにつながる可能性があります。
しかし、ほかの多くのコンピュータービジョンのシナリオでは、低レイテンシはそれほど重要ではありません。システムが即座に反応する必要がない場合、バッチ推論が効果を発揮します。バッチ推論では、視覚データをグループまたはバッチ単位でコンピュータービジョンモデルに入力することで、リアルタイムで連続処理するのではなく、大規模なデータセットを一度に処理できます。
バッチ推論の仕組みを理解する#
バッチ推論の手順を詳しく見ていきましょう。
- データ収集: 用途に応じて、セキュリティ映像、製品画像、顧客データなどの視覚データを一定期間にわたって収集します。
- バッチの準備: 収集したデータをバッチにグループ化します。この段階で、モデルに必要な形式にデータを整えます。たとえば、モデルが処理できるように画像のサイズ変更や正規化を行ったり、適切な形式に変換したりします。
- 推論:データの準備が完了すると、バッチ全体がモデル(Ultralytics YOLO11など)に入力され、一括で処理されます。これにより、モデルはバッチ内のすべてのデータに対する予測を同時に行えるため、データを個別に処理するよりも効率的になります。
バッチ推論を使用するタイミング#
バッチ推論とは何か、リアルタイム推論とどう異なるかを説明したところで、次に使用するタイミングを詳しく見ていきましょう。
バッチ推論は、過去のデータの分析に最適です。たとえば、過去1か月分の地下鉄駅の監視映像があり、時間帯ごとの入退場者数など、特定のパターンを特定したいとします。
各フレームをリアルタイムで処理する代わりに、バッチ推論を使用すると、1か月分の映像全体をバッチ単位で処理し、即時の結果を必要とせずに重要なイベントや傾向を特定できます。これにより、システムに過度な負荷をかけたり常時監視したりすることなく、大量のデータをより効率的に分析し、長期的なパターンに関する知見を得られます。
システムリソースが限られている場合も、バッチ推論は最適なソリューションです。夜間などのオフピーク時間に推論を実行すると、コンピューティングコストを抑え、ピーク利用時にシステムへ過剰な負荷がかかるのを防げます。大規模なデータセットを処理する必要がある一方、リアルタイム分析を必要としない企業やプロジェクトにとって、効率的で費用対効果の高い方法です。
Ultralytics YOLO11を使用したバッチ推論#
Ultralytics Pythonパッケージは、YOLO11などのモデルでバッチ推論をサポートしています。YOLO11では、batch推論引数を指定するだけで、バッチ推論を簡単に実行できます。この引数は、一度に処理する画像または動画フレームの数を決定します。
バッチ推論では、バッチ内のすべての画像に対する予測が同時に生成されます。デフォルトのバッチサイズは1ですが、任意の数に変更できます。バッチ処理は、ソースがディレクトリ、動画ファイル、またはソースの一覧を記載した.txtファイルの場合に適用されます。
たとえば、バッチサイズを5に設定すると、Ultralytics YOLO11は一度に5枚の画像または動画フレームを処理し、5つすべての予測をまとめて生成します。バッチサイズを大きくすると、通常はスループットが向上し、合計処理時間が短縮されます。複数の画像をバッチで処理するほうが、個別に処理するより効率的なためです。
バッチ推論を活用したコンピュータービジョンの用途#
続いて、バッチ推論の実際のコンピュータービジョン活用事例を見ていきましょう。
医療分野の診断と研究の向上#
医学研究では、大量の視覚データを扱うことが一般的です。ここでは、バッチ推論を利用すると、化学、生物学、遺伝学などの分野で科学者がデータをより簡単に分析できます。データを一つずつ分析するのではなく、バッチ単位で処理することで、時間と労力を節約できます。
たとえば医療施設では、MRIやCTスキャンなどの大量の医用画像を分析する際に、バッチ推論が特に役立ちます。病院は一日を通してスキャン画像を収集し、夜間にバッチ単位で処理できます。
この方法により、病院はハードウェアとスタッフをより有効に活用し、運用コストを削減するとともに、すべてのスキャン画像を一貫した統一的な方法で確認できます。また、大量のデータを扱う必要がある大規模な研究プロジェクトや長期研究にも有効です。

図2。Ultralytics YOLO11を使用した医療スキャン内の所見検出。
シミュレーションを活用した自動運転車の改善#
自動運転車は、コンピュータービジョンなどのAI技術を使用して周囲の状況を処理します。Ultralytics YOLO11のような高度なモデルを活用すると、車載システムはほかの車両、車線、道路標識、歩行者を認識できます。道路上ではリアルタイム推論が不可欠ですが、自動運転技術は裏側でバッチ推論にも大きく依存しています。

図3。YOLO11は道路上の歩行者を簡単に検出できます。
車が走行を終えた後、何時間分ものカメラ映像、センサーの読み取り値、LiDARスキャンなど、車が収集したデータを後から大規模なバッチで処理できます。これにより、エンジニアは車載AIモデルを更新し、システムの安全性を高め、さまざまな運転状況への対応能力を向上させられます。
バッチ推論は、自動運転シミュレーションでも使用されます。混雑した交差点の通過や予測不能な歩行者の動きへの対応など、さまざまな状況で自動運転車がどのように反応するかをテストできます。この方法は、時間とコストを削減し、あらゆるシナリオを実環境でテストするリスクを回避します。
バッチ推論を活用した小売データ分析#
同様に、小売店でもUltralytics YOLO11のようなコンピュータービジョンモデルを用いたバッチ推論によって、業務効率を大幅に向上できます。たとえば、店舗のカメラシステムで一日を通して数千枚の画像を撮影し、夜間にバッチ単位で処理できます。
これにより、小規模店舗では難しいことがあるリアルタイム処理を行わずに、顧客の行動、人の流れ、商品との関わりなど、店内の状況を分析できます。
もう一つ興味深い例として、店内で顧客の活動が活発な場所と少ない場所を可視化するヒートマップの作成にバッチ推論を利用できます。小売業者はこうしたヒートマップを分析することで、人通りが最も多い場所や、より注意を払う必要がある場所、商品配置の最適化が必要な場所を特定できます。このデータは、店舗レイアウトや商品の配置、さらには販促戦略に関するより良い意思決定に役立ち、顧客体験と売上の向上につながります。

図4。ヒートマップは、小売業者が店舗内の人気エリアを特定するのに役立ちます。
バッチ推論のメリットとデメリット#
バッチ推論がさまざまな業界にもたらす主なメリットをいくつか紹介します。
- 容易な統合: バッチ推論は既存のワークフローに簡単に統合できます。特に、小売、セキュリティ、医療など、大量のデータをまとめて処理する必要がある業界に適しています。
- データ管理の簡素化: 大量のデータを扱う際、データが管理しやすい単位に分けられるため、バッチ推論によってデータ管理を効率化できます。これにより、時間の経過に伴うデータの追跡、確認、整理が容易になります。
- ネットワーク負荷の軽減:データをバッチ単位で処理すると、任意の時点で転送されるデータ量を最小限に抑えられ、クラウドベースのシステムや分散コンピューティング環境におけるネットワークリソースの負荷を軽減できます。
バッチ推論には多くの利点がありますが、考慮すべき制約もあります。留意すべき要素をいくつか紹介します。
- ストレージ要件: バッチ処理用に大規模なデータセットを保存すると、特に高解像度の画像や動画、大量のデータを扱う場合に、ストレージコストが大幅に増加する可能性があります。
- バックログが発生する可能性:データが急速に蓄積したり、大きなバッチが予定どおりに処理されなかったりすると、バックログが発生することがあります。その結果、分析結果の提供や新しいデータの処理が遅れる可能性があります。
- リソース使用量の急増:大きなバッチ、特に高解像度画像を含むバッチは、メモリや計算リソースの使用量を急増させることがあります。適切に管理しないと、こうした急増によってシステムに過剰な負荷がかかり、処理速度の低下やクラッシュにつながる可能性があります。
重要なポイント#
バッチ推論は、すぐに結果を得る必要のない大量の視覚データを効率よく処理する方法です。画像をリアルタイムで1枚ずつ分析するのではなく、夜間などの予定された時間にバッチ単位で処理します。
この方法は費用対効果に優れ、計算負荷を軽減しながら、正確な結果を提供します。店舗の在庫管理、医師による医用スキャン画像の分析、自動運転車技術の向上などに役立つバッチ推論は、コンピュータービジョンをより利用しやすく、手頃で、現実の用途に適したものにします。
AIについてさらに知りたい方は、GitHubリポジトリをご覧いただき、コミュニティに参加して、コンピュータービジョンの活用を始めるためのライセンスオプションをご確認ください。ソリューションページでは、製造業におけるAIや物流業界におけるコンピュータービジョンなどのイノベーションについて詳しくご覧いただけます。
執筆者
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。










