コンテンツにスキップ

Ultralytics YOLO26によるキュー管理 🚀

キュー管理とは何ですか?

Colabでのオープンキュー管理

Ultralytics YOLO26を用いたキュー管理とは、人や車両の列を整理・制御し、待ち時間を短縮して効率を高めることです。小売店、銀行、空港、医療施設など、様々な環境で顧客満足度とシステムパフォーマンスを向上させるためにキューを最適化することを指します。



見る: Ultralytics YOLOで構築する行列管理システム | 小売、銀行、群衆のユースケース 🚀

キュー管理の利点

  • 待ち時間の短縮: 待ち行列管理システムは、待ち行列を効率的に編成し、顧客の待ち時間を最小限に抑えます。これにより、顧客が待つ時間が短縮され、製品やサービスに関わる時間が増えるため、満足度が向上します。
  • 効率の向上: キュー管理を実装することで、企業はリソースをより効果的に割り当てることができます。キューデータを分析し、スタッフの配置を最適化することで、企業は業務を効率化し、コストを削減し、全体的な生産性を向上させることができます。
  • リアルタイムインサイト: YOLO26を活用したキュー管理は、キューの長さや待ち時間に関する即時データを提供し、管理者が迅速に情報に基づいた意思決定を行うことを可能にします。
  • 顧客体験の向上: 長い待ち時間に伴う不満を軽減することで、企業は顧客満足度とロイヤルティを大幅に向上させることができます。

現実世界のアプリケーション

ロジスティクス小売
空港のチケットカウンターでのUltralytics YOLO26を用いたキュー管理群衆におけるUltralytics YOLO26を用いたキュー監視
空港のチケットカウンターでのUltralytics YOLO26を用いたキュー管理群衆におけるキュー監視 Ultralytics YOLO26

Ultralytics YOLO を使用したキュー管理

# Run a queue example
yolo solutions queue show=True

# Pass a source video
yolo solutions queue source="path/to/video.mp4"

# Pass queue coordinates
yolo solutions queue region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("queue_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Define queue points
queue_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]  # region points
# queue_region = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)]    # polygon points

# Initialize queue manager object
queuemanager = solutions.QueueManager(
    show=True,  # display the output
    model="yolo26n.pt",  # path to the YOLO26 model file
    region=queue_region,  # pass queue region points
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or processing is complete.")
        break
    results = queuemanager(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

QueueManager 引数

の表を以下に示します。 QueueManager 引数:

引数種類デフォルト説明
modelstrNoneUltralytics YOLOモデルファイルへのパス。
regionlist'[(20, 400), (1260, 400)]'カウント領域を定義する点のリスト。

The QueueManagement ソリューションは、いくつかの以下もサポートしています。 track 引数:

引数種類デフォルト説明
trackerstr'botsort.yaml'使用する追跡アルゴリズムを指定します。例: bytetrack.yaml または botsort.yaml.
conffloat0.1検出の信頼度閾値を設定します。低い値を設定すると、より多くのオブジェクトを追跡できますが、誤検出が含まれる可能性があります。
ioufloat0.7重複する検出をフィルタリングするためのIntersection over Union (IoU) 閾値を設定します。
classeslistNoneクラスインデックスで結果をフィルタリングします。例: classes=[0, 2, 3] 指定されたクラスのみを追跡します。
verboseboolTrue追跡結果の表示を制御し、追跡されたオブジェクトの視覚的な出力を提供します。
devicestrNone推論に使用するデバイスを指定します(例: cpu, cuda:0 または 0)。モデル実行のために、CPU、特定のGPU、またはその他の計算デバイスを選択できます。

さらに、以下の可視化パラメータを使用できます。

引数種類デフォルト説明
showboolFalseもし True)は、アノテーションが付けられた画像またはビデオをウィンドウに表示します。開発またはテスト中に、視覚的なフィードバックを即座に得るのに役立ちます。
line_widthint or NoneNoneバウンディングボックスの線の太さを指定します。もし None場合、線の太さは画像サイズに基づいて自動的に調整されます。明確にするための視覚的なカスタマイズを提供します。
show_confboolTrueラベルとともに、検出ごとの信頼度スコアを表示します。各検出に対するモデルの確実性についての洞察が得られます。
show_labelsboolTrue検出された各オブジェクトのラベルを視覚的な出力に表示します。検出されたオブジェクトをすぐに理解できます。

実装戦略

YOLO26でキュー管理を実装する際は、以下のベストプラクティスを考慮してください。

  1. 戦略的なカメラ配置: 障害物がなく、キューエリア全体をキャプチャするようにカメラを配置します。
  2. 適切なキュー領域の定義: スペースの物理的なレイアウトに基づいて、キューの境界を慎重に設定します。
  3. 検出信頼度の調整: 照明条件と群衆の密度に基づいて、信頼度の閾値を微調整します。
  4. 既存システムとの統合: キュー管理ソリューションをデジタルサイネージやスタッフ通知システムと接続し、自動応答を実現します。

よくある質問

リアルタイムのキュー管理にUltralytics YOLO26を使用するにはどうすればよいですか?

リアルタイムのキュー管理にUltralytics YOLO26を使用するには、以下の手順に従ってください。

  1. YOLO26モデルをロードします。 YOLO("yolo26n.pt").
  2. ビデオフィードをキャプチャするには、以下を使用します。 cv2.VideoCapture.
  3. キュー管理の対象領域(ROI)を定義します。
  4. フレームを処理してオブジェクトをdetectし、キューを管理します。

最小限の例を以下に示します。

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
queue_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

queuemanager = solutions.QueueManager(
    model="yolo26n.pt",
    region=queue_region,
    line_width=3,
    show=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if success:
        results = queuemanager(im0)

cap.release()
cv2.destroyAllWindows()

Ultralytics Platformを活用することで、キュー管理ソリューションのデプロイと管理を容易にするユーザーフレンドリーなプラットフォームが提供され、このプロセスを効率化できます。

Ultralytics YOLO26をキュー管理に利用する主な利点は何ですか?

キュー管理にUltralytics YOLO26を使用すると、いくつかの利点があります。

  • 待ち時間の短縮: キューを効率的に整理し、顧客の待ち時間を短縮し、満足度を高めます。
  • 効率の向上: キューデータを分析して、スタッフの配置とオペレーションを最適化し、コストを削減します。
  • リアルタイムアラート: 長いキューに対するリアルタイム通知を提供し、迅速な介入を可能にします。
  • スケーラビリティ: 小売、空港、ヘルスケアなど、さまざまな環境で簡単に拡張できます。

詳細については、キュー管理ソリューションをご覧ください。

キュー管理において、TensorFlowやDetectron2のような競合他社ではなく、Ultralytics YOLO26を選ぶべき理由は何ですか?

キュー管理において、Ultralytics YOLO26はTensorFlowやDetectron2に比べていくつかの利点があります。

  • リアルタイムパフォーマンス: YOLO26はリアルタイムの検出機能で知られており、より高速な処理速度を提供します。
  • 使いやすさ: Ultralyticsは、Ultralytics Platformを通じて、トレーニングからデプロイまで、ユーザーフレンドリーな体験を提供します。
  • 事前トレーニング済みモデル: 幅広い事前トレーニング済みモデルへのアクセスにより、セットアップに必要な時間を最小限に抑えます。
  • コミュニティサポート: 広範なドキュメントと活発なコミュニティサポートにより、問題解決が容易になります。

Ultralytics YOLOの始め方について学びましょう。

Ultralytics YOLO26は、空港や小売店のような複数の種類のキューを処理できますか?

はい、Ultralytics YOLO26は、空港や小売環境を含む様々な種類のキューを管理できます。QueueManagerを特定の領域と設定で構成することで、YOLO26は異なるキューのレイアウトや密度に適応できます。

空港の例:

queue_region_airport = [(50, 600), (1200, 600), (1200, 550), (50, 550)]
queue_airport = solutions.QueueManager(
    model="yolo26n.pt",
    region=queue_region_airport,
    line_width=3,
)

多様なアプリケーションの詳細については、実際のアプリケーションセクションをご覧ください。

Ultralytics YOLO26のキュー管理における実世界アプリケーションにはどのようなものがありますか?

Ultralytics YOLO26は、キュー管理のための様々な実世界アプリケーションで使用されています。

  • 小売: 待ち時間を短縮し、顧客満足度を向上させるために、レジの列を監視します。
  • 空港: チケットカウンターやセキュリティチェックポイントでの待ち行列を管理し、よりスムーズな乗客体験を実現します。
  • ヘルスケア: クリニックや病院での患者の流れを最適化します。
  • 銀行: 銀行でのキューを効率的に管理することにより、顧客サービスを向上させます。

コンピュータービジョンが業界全体のキュー監視をどのように変革しているかについて詳しくは、リアルワールドのキュー管理に関するブログをご覧ください。



📅 1年前に作成 ✏️ 2日前に更新
RizwanMunawarglenn-jocherMatthewNoyceUltralyticsAssistantIvorZhu331Burhan-QRizwanMunawar

コメント