トラックゾーンUltralytics YOLO11
TrackZoneとは?
TrackZoneは、フレーム全体ではなく、フレームの指定された領域内のオブジェクトを監視することに特化している。TrackZoneは Ultralytics YOLO11TrackZoneは、ビデオやライブカメラフィード用のゾーン内に特化したオブジェクト検出とトラッキングを統合しています。YOLO11TrackZoneの高度なアルゴリズムとディープラーニング技術により、リアルタイムのユースケースに最適な選択肢となり、群衆モニタリングや監視などのアプリケーションで正確かつ効率的なオブジェクトトラッキングを提供します。
ゾーン内物体追跡(TrackZone)の利点
- ターゲット分析:特定のゾーン内の物体を追跡することで、より焦点を絞った洞察が可能になり、入口や制限区域など、関心のあるエリアの正確な監視と分析が可能になります。
- 効率性の向上:トラッキング範囲を定義されたゾーンに絞ることで、TrackZoneは計算オーバーヘッドを削減し、より高速な処理と最適なパフォーマンスを保証します。
- セキュリティ強化:ゾーン追跡は、重要なエリアを監視することで監視を強化し、異常な活動やセキュリティ侵害の早期発見に役立ちます。
- スケーラブルなソリューション:TrackZoneは、特定のゾーンに焦点を当てることができるため、小売スペースから産業環境まで、さまざまなシナリオに適応し、シームレスな統合と拡張性を保証します。
実世界での応用
農業 | 交通 |
---|---|
フィールドでの植物追跡Ultralytics YOLO11 | 車両追跡Ultralytics YOLO11 |
YOLO11 を使用したTrackZoneの例
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]
# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init TrackZone (Object Tracking in Zones, not complete frame)
trackzone = solutions.TrackZone(
show=True, # Display the output
region=region_points, # Pass region points
model="yolo11n.pt", # You can use any model that Ultralytics support, i.e. YOLOv9, YOLOv10
# line_width=2, # Adjust the line width for bounding boxes and text display
# classes=[0, 2], # If you want to count specific classes i.e. person and car with COCO pretrained model.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
im0 = trackzone.trackzone(im0)
video_writer.write(im0)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
議論 TrackZone
以下はその表である。 TrackZone
という議論がある:
名称 | タイプ | デフォルト | 説明 |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO モデルファイルへのパス |
region |
list |
[(150, 150), (1130, 150), (1130, 570), (150, 570)] |
オブジェクトトラッキング領域を定義する点のリスト。 |
line_width |
int |
2 |
バウンディングボックスの線の太さ。 |
show |
bool |
False |
ビデオストリームを表示するかどうかを制御するフラグ。 |
議論 model.track
議論 | タイプ | デフォルト | 説明 |
---|---|---|---|
source |
str |
None |
画像や動画のソースディレクトリを指定します。ファイルパスとURLをサポートします。 |
persist |
bool |
False |
フレーム間のオブジェクトの永続的なトラッキングを可能にし、ビデオシーケンス間のIDを維持します。 |
tracker |
str |
botsort.yaml |
使用するトラッキングアルゴリズムを指定する、 bytetrack.yaml または botsort.yaml . |
conf |
float |
0.3 |
検出の信頼しきい値を設定します。低い値ではより多くのオブジェクトを追跡できますが、誤検出を含む可能性があります。 |
iou |
float |
0.5 |
重複検出をフィルタリングするためのIoU(Intersection over Union)しきい値を設定します。 |
classes |
list |
None |
クラス・インデックスによって結果をフィルタリングする。例えば classes=[0, 2, 3] は指定されたクラスのみを追跡する。 |
verbose |
bool |
True |
トラッキング結果の表示をコントロールし、トラッキングされたオブジェクトのビジュアル出力を提供します。 |
よくあるご質問
Ultralytics YOLO11 を使って、ビデオフレームの特定のエリアやゾーン内のオブジェクトを追跡するには?
Ultralytics YOLO11 を使えば、ビデオフレームの定義されたエリアやゾーン内のオブジェクトを簡単にトラッキングすることができます。トラッキングを開始するには、以下のコマンドを使用します。このアプローチは、効率的な分析と正確な結果を保証し、監視、群衆管理、またはゾーントラッキングを必要とするシナリオなどのアプリケーションに最適です。
Ultralytics YOLO11 で、TrackZoneをPython で使用するにはどうすればいいですか?
わずか数行のコードで、特定のゾーンにオブジェクト・トラッキングを設定することができ、プロジェクトに簡単に組み込むことができます。
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]
# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init TrackZone (Object Tracking in Zones, not complete frame)
trackzone = solutions.TrackZone(
show=True, # Display the output
region=region_points, # Pass region points
model="yolo11n.pt",
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
im0 = trackzone.trackzone(im0)
video_writer.write(im0)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
Ultralytics TrackZoneを使用したビデオ処理のゾーンポイントはどのように設定するのですか?
Ultralytics TrackZoneを使用したビデオ処理用のゾーンポイントの設定は、シンプルでカスタマイズ可能です。Python スクリプトでゾーンを直接定義・調整できるため、監視したいエリアを正確に制御できます。
# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]
# Init TrackZone (Object Tracking in Zones, not complete frame)
trackzone = solutions.TrackZone(
show=True, # Display the output
region=region_points, # Pass region points
)
📅作成 8 日前
✏️更新しました 8日前