Link to this sectionUltralytics YOLOを使用した異なる領域でのオブジェクトカウント 🚀#
Link to this section領域におけるオブジェクトカウントとは何ですか?#
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 🚀
Link to this section領域におけるオブジェクトカウントの利点#
- 精度と正確性: 高度なコンピュータビジョンを使用した領域でのオブジェクトカウントは、正確で精度の高い集計を保証し、手動カウントに伴いがちなエラーを最小限に抑えます。
- 効率の向上: 自動化されたオブジェクトカウントは運用効率を高め、リアルタイムの結果を提供し、さまざまなアプリケーション全体でプロセスを合理化します。
- 汎用性と応用: 領域におけるオブジェクトカウントの汎用性は、製造や監視から交通モニタリングに至るまで、さまざまなドメインへの適用を可能にし、その幅広い実用性と有効性に寄与しています。
Link to this section現実世界の応用例#
| 小売 | マーケットストリート |
|---|---|
![]() | ![]() |
| Ultralytics YOLO26を使用した異なる領域での人数カウント | Ultralytics YOLO26を使用した異なる領域での群衆カウント |
Link to this section使用例#
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セクションで利用可能です。このサンプルを探索してコードをカスタマイズし、特定のユースケースに合わせて修正できます。
Link to this sectionRegionCounterの引数#
RegionCounterの引数に関する表を以下に示します:
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
model | str | None | Ultralytics YOLOモデルファイルへのパス。 |
region | list | '[(20, 400), (1260, 400)]' | 計数領域を定義する点のリスト。 |
RegionCounterソリューションでは、オブジェクトトラッキングパラメータの使用が可能です:
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 使用するトラッキングアルゴリズムを指定します。組み込みのオプションは、botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.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 | 視覚的出力において各検出のラベルを表示します。検出されたオブジェクトを即座に理解するのに役立ちます。 |
Link to this sectionよくある質問 (FAQ)#
Link to this sectionUltralytics YOLO26を使用した指定領域におけるオブジェクトカウントとは何ですか?#
Ultralytics YOLO26を使用して指定領域内でオブジェクトカウントを行うことは、高度なコンピュータビジョンを用いて定義されたエリア内のオブジェクトを検出し、集計することを意味します。この精密な手法は、製造、監視、交通モニタリングなど、さまざまなアプリケーション全体で効率と正確性を向上させます。
Link to this sectionUltralytics 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
その他のオプションについては、Usage Examplesセクションをご覧ください。
Link to this sectionなぜ領域でのオブジェクトカウントにUltralytics YOLO26を使用すべきなのですか?#
領域でのオブジェクトカウントにUltralytics YOLO26を使用することには、いくつかの利点があります:
- リアルタイム処理: YOLO26のアーキテクチャは高速な推論を可能にし、即時のカウント結果が必要なアプリケーションに最適です。
- 柔軟な領域定義: このソリューションでは、特定の監視ニーズに合わせて、ポリゴン、長方形、または線として複数のカスタム領域を定義できます。
- マルチクラスサポート: 同一領域内で異なるオブジェクトタイプを同時にカウントし、包括的な分析を提供します。
- 統合機能: Ultralytics Python APIやコマンドラインインターフェースを介して、既存のシステムと容易に統合できます。
詳細な利点については、Advantagesセクションをご覧ください。
Link to this section領域におけるオブジェクトカウントの実世界での応用例にはどのようなものがありますか?#
Ultralytics YOLO26によるオブジェクトカウントは、数多くの実世界シナリオに応用できます:
- 小売分析: 店舗内の異なるセクションで顧客をカウントし、レイアウトやスタッフ配置を最適化します。
- 交通管理: 特定の道路区間や交差点における車両の流れを監視します。
- 製造: さまざまな生産ゾーンを移動する製品を追跡します。
- 倉庫業務: 指定された保管エリア内の在庫品目をカウントします。
- 公共安全: イベント中の特定ゾーンにおける群衆密度を監視します。
その他の例は、Real World Applicationsセクションおよび、追加のゾーンベース監視機能についてはTrackZoneソリューションを参照してください。

