コンテンツにスキップ

Ultralytics YOLO11 を使用したキュー管理 🚀

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

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

Ultralytics YOLO11 を使用したキュー管理には、待ち時間を短縮し、効率を高めるために、人や車両の列を編成および制御することが含まれます。小売店、銀行、空港、医療施設など、さまざまな設定で顧客満足度とシステムパフォーマンスを向上させるためにキューを最適化することです。



見る: Ultralytics YOLO11を使用したキュー管理の実装方法 | 空港と地下鉄駅

キュー管理の利点

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

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

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

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="yolo11n.pt",  # path to the YOLO11 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 引数:

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

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

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

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

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

実装戦略

YOLO11でキュー管理を実装する場合は、次のベストプラクティスを考慮してください。

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

よくある質問

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

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

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

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

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="yolo11n.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 HUBを活用すると、キュー管理ソリューションのデプロイと管理のためのユーザーフレンドリーなプラットフォームが提供されるため、このプロセスを効率化できます。

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

Ultralytics YOLO11 を使用してキュー管理を行うと、いくつかの利点があります。

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

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

キュー管理において、TensorFlowやDetectron2のような競合製品ではなく、Ultralytics YOLO11を選ぶべきなのはなぜですか?

Ultralytics YOLO11 には、キュー管理において TensorFlow および Detectron2 よりもいくつかの利点があります。

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

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

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

はい、Ultralytics YOLO11は、空港や小売環境など、さまざまなタイプのキューを管理できます。特定の領域と設定でQueueManagerを構成することにより、YOLO11はさまざまなキューのレイアウトと密度に適応できます。

空港の例:

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

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

キュー管理におけるUltralytics YOLO11の現実世界の応用例は何ですか?

Ultralytics YOLO11は、キュー管理のためのさまざまな実際のアプリケーションで使用されています。

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

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



📅 1年前に作成 ✏️ 26日前に更新

コメント