Ultralytics YOLOを使用した異なる領域でのオブジェクトカウント 🚀
領域内でのオブジェクトカウントとは何ですか?
Object counting in regions with Ultralytics YOLO26 involves precisely determining the number of objects within specified areas using advanced computer vision. This approach is valuable for optimizing processes, enhancing security, and improving efficiency in various applications.
Watch: Object Counting in Different Regions using Ultralytics YOLO26 | Ultralytics Solutions 🚀
領域内でのオブジェクトカウントの利点
- 精度と正確性: 高度なコンピュータビジョンを用いた領域内でのオブジェクトカウントにより、手動カウントに伴うエラーを最小限に抑え、正確で精度の高いカウントが可能になります。
- 効率の向上: 自動化されたオブジェクトカウントは運用効率を高め、リアルタイムの結果を提供し、さまざまなアプリケーション全体でプロセスを合理化します。
- 汎用性と応用: 領域内でのオブジェクトカウントは汎用性が高く、製造や監視から交通モニタリングまで幅広い分野に適用でき、その広範な有用性と有効性に貢献しています。
実社会での応用例
| 小売 | 市場の通り |
|---|---|
![]() | ![]() |
| Ultralytics YOLO26を使用した異なる領域での人数カウント | Ultralytics YOLO26を使用した異なる領域での群衆カウント |
使用例
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Pass region as list
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
# Pass region as dictionary
region_points = {
"region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
"region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
}
# 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("region_counting.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize region counter object
regioncounter = solutions.RegionCounter(
show=True, # display the frame
region=region_points, # pass region points
model="yolo26n.pt", # model for counting in regions, e.g., yolo26s.pt
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = regioncounter(im0)
# print(results) # access the output
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windowsUltralyticsの領域カウントモジュールは、examplesセクションで利用可能です。このサンプルを確認してコードをカスタマイズし、特定のユースケースに合わせて修正できます。
RegionCounterの引数
RegionCounterの引数をまとめた表を以下に示します:
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
model | str | None | Ultralytics YOLO モデルファイルへのパス。 |
region | list | '[(20, 400), (1260, 400)]' | カウント対象となる領域を定義する点のリスト。 |
RegionCounterソリューションでは、以下のオブジェクトトラッキングパラメータを使用できます:
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 使用するトラッキングアルゴリズムを指定します(例:bytetrack.yamlやbotsort.yaml)。 |
conf | float | 0.1 | 検出の信頼度しきい値を設定します。低い値を指定するとより多くの物体をトラッキングできますが、偽陽性が含まれる可能性があります。 |
iou | float | 0.7 | 重なり合う検出結果をフィルタリングするための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 | int or None | None | バウンディングボックスの線幅を指定します。Noneの場合、画像サイズに基づいて線幅が自動調整されます。明確化のための視覚的なカスタマイズが可能です。 |
show_conf | bool | True | ラベルとともに、各検出結果の信頼度スコアを表示します。各検出に対するモデルの確信度を把握できます。 |
show_labels | bool | True | 視覚的出力において、各検出結果にラベルを表示します。検出されたオブジェクトの即時理解を可能にします。 |
FAQ
Ultralytics YOLO26を使用した指定領域内でのオブジェクトカウントとは何ですか?
Ultralytics YOLO26を使用した指定領域内でのオブジェクトカウントは、高度なコンピュータビジョンを使用して定義されたエリア内のオブジェクトを検出し、数を集計するものです。この正確な手法により、製造、監視、交通モニタリングなど、さまざまなアプリケーションで効率と正確性が向上します。
Ultralytics YOLO26で領域ベースのオブジェクトカウントスクリプトを実行するにはどうすればよいですか?
Ultralytics YOLO26でオブジェクトカウントを実行するには、以下の手順に従ってください:
-
Ultralyticsリポジトリをクローンし、ディレクトリに移動します:
git clone https://github.com/ultralytics/ultralytics cd ultralytics/examples/YOLOv8-Region-Counter -
領域カウントスクリプトを実行します:
python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
その他のオプションについては、使用例セクションをご覧ください。
領域内でのオブジェクトカウントにUltralytics YOLO26を使用すべき理由は何ですか?
領域内のオブジェクトカウントにUltralytics YOLO26を使用することには、いくつかの利点があります:
- リアルタイム処理: YOLO26のアーキテクチャにより高速な推論が可能となり、即時のカウント結果を必要とするアプリケーションに最適です。
- 柔軟な領域定義: このソリューションでは、モニタリングのニーズに合わせて、ポリゴン、長方形、または線として複数のカスタム領域を定義できます。
- マルチクラスサポート: 同じ領域内で異なる種類のオブジェクトを同時にカウントでき、包括的な分析を提供します。
- 統合機能: UltralyticsのPython APIまたはCLIを使用して、既存のシステムと簡単に統合できます。
より詳細なメリットについては、利点セクションを確認してください。
領域内でのオブジェクトカウントの実際の適用例にはどのようなものがありますか?
Ultralytics YOLO26を用いたオブジェクトカウントは、多くの現実世界のシナリオに適用できます:
- 小売分析: 店舗の各セクションの顧客をカウントし、レイアウトや人員配置を最適化します。
- 交通管理: 特定の道路区間や交差点における車両の流れを監視します。
- 製造: さまざまな生産ゾーンを移動する製品を追跡します。
- 倉庫業務: 指定された保管エリア内の在庫品をカウントします。
- 公共の安全: イベント中に特定のゾーンの群衆密度を監視します。
詳細な例については実際のアプリケーションセクションを、追加のゾーンベースのモニタリング機能についてはTrackZoneソリューションを確認してください。

