Bỏ qua nội dung

Đếm đối tượng ở các vùng khác nhau bằng cách sử dụng Ultralytics YOLO 🚀

Đếm đối tượng theo vùng là gì?

Đếm đối tượng trong các vùng với Ultralytics YOLO11 liên quan đến việc xác định chính xác số lượng đối tượng trong các khu vực được chỉ định bằng cách sử dụng thị giác máy tính tiên tiến. Phương pháp này có giá trị để tối ưu hóa quy trình, tăng cường bảo mật và cải thiện hiệu quả trong nhiều ứng dụng khác nhau.



Đồng hồ: Đếm đối tượng ở các vùng khác nhau bằng cách sử dụng Ultralytics YOLO11 | Ultralytics Giải pháp 🚀

Ưu điểm của việc đếm đối tượng theo vùng?

  • Độ chính xác và độ chuẩn xác: Việc đếm đối tượng trong các khu vực có công nghệ thị giác máy tính tiên tiến đảm bảo số đếm chính xác và chuẩn xác, giảm thiểu các lỗi thường gặp khi đếm thủ công.
  • Cải thiện hiệu quả: Việc đếm đối tượng tự động giúp tăng cường hiệu quả hoạt động, cung cấp kết quả theo thời gian thực và hợp lý hóa quy trình trên nhiều ứng dụng khác nhau.
  • Tính linh hoạt và ứng dụng: Tính linh hoạt của việc đếm đối tượng ở nhiều khu vực giúp nó có thể áp dụng trong nhiều lĩnh vực, từ sản xuất và giám sát đến giám sát giao thông, góp phần vào tính hữu ích và hiệu quả rộng rãi của nó.

Ứng dụng trong thế giới thực

Bán lẻ Phố chợ
Đếm người ở các khu vực khác nhau bằng cách sử dụng Ultralytics YOLO11 Đếm đám đông ở các khu vực khác nhau bằng cách sử dụng Ultralytics YOLO11
Đếm người ở các khu vực khác nhau bằng cách sử dụng Ultralytics YOLO11 Đếm đám đông ở các khu vực khác nhau bằng cách sử dụng Ultralytics YOLO11

Đếm vùng bằng cách sử dụng Ultralytics YOLO

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="yolo11n.pt",  # model for counting in regions i.e yolo11s.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 windows

Ultralytics Mã ví dụ

Các Ultralytics module đếm vùng có sẵn trong phần ví dụ của chúng tôi. Bạn có thể khám phá ví dụ này để tùy chỉnh mã và sửa đổi cho phù hợp với trường hợp sử dụng cụ thể của bạn.

RegionCounter Lập luận

Đây là một bảng với RegionCounter lập luận:

Lý lẽ Kiểu Mặc định Sự miêu tả
model str None Đường dẫn đến Ultralytics YOLO Tệp mẫu.
region list [(20, 400), (1260, 400)] Danh sách các điểm xác định vùng đếm.

Các RegionCounter Giải pháp cho phép sử dụng các tham số theo dõi đối tượng:

Lý lẽ Kiểu Mặc định Sự miêu tả
tracker str 'botsort.yaml' Chỉ định thuật toán theo dõi để sử dụng, ví dụ: bytetrack.yaml hoặc botsort.yaml.
conf float 0.3 Đặt ngưỡng tin cậy cho việc phát hiện; giá trị thấp hơn cho phép theo dõi nhiều đối tượng hơn nhưng có thể bao gồm các kết quả dương tính giả.
iou float 0.5 Đặt ngưỡng Giao điểm trên Liên hợp (IoU) để lọc các phát hiện chồng chéo.
classes list None Lọc kết quả theo chỉ số lớp. Ví dụ, classes=[0, 2, 3] chỉ theo dõi các lớp được chỉ định.
verbose bool True Kiểm soát việc hiển thị kết quả theo dõi, cung cấp hình ảnh trực quan về các đối tượng được theo dõi.
device str None Chỉ định thiết bị để suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng lựa chọn giữa CPU , một cụ thể GPU hoặc các thiết bị tính toán khác để thực hiện mô hình.

Ngoài ra, các cài đặt trực quan sau đây được hỗ trợ:

Lý lẽ Kiểu Mặc định Sự miêu tả
show bool False Nếu như True, hiển thị hình ảnh hoặc video có chú thích trong một cửa sổ. Hữu ích cho phản hồi trực quan ngay lập tức trong quá trình phát triển hoặc thử nghiệm.
line_width None or int None Chỉ định độ rộng đường của hộp giới hạn. Nếu None, độ rộng của đường được tự động điều chỉnh dựa trên kích thước hình ảnh. Cung cấp tùy chỉnh trực quan để rõ nét hơn.

CÂU HỎI THƯỜNG GẶP

Đếm đối tượng trong các vùng được chỉ định bằng cách sử dụng Ultralytics YOLO11 ?

Đếm đối tượng trong các khu vực được chỉ định với Ultralytics YOLO11 liên quan đến việc phát hiện và đếm số lượng đối tượng trong các khu vực được xác định bằng cách sử dụng công nghệ thị giác máy tính tiên tiến. Phương pháp chính xác này nâng cao hiệu quả và độ chính xác trong nhiều ứng dụng khác nhau như sản xuất, giám sát và theo dõi giao thông.

Làm thế nào để tôi chạy tập lệnh đếm đối tượng dựa trên vùng với Ultralytics YOLO11 ?

Thực hiện theo các bước sau để chạy đếm đối tượng trong Ultralytics YOLO11 :

  1. Sao chép Ultralytics kho lưu trữ và điều hướng đến thư mục:

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
    
  2. Thực hiện tập lệnh đếm vùng:

    python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
    

Để biết thêm tùy chọn, hãy truy cập phần Đếm vùng chạy .

Tại sao tôi nên sử dụng Ultralytics YOLO11 để đếm đối tượng theo vùng?

Sử dụng Ultralytics YOLO11 để đếm đối tượng trong các khu vực mang lại một số lợi thế:

  1. Xử lý thời gian thực: YOLO11 Kiến trúc của nó cho phép suy luận nhanh, lý tưởng cho các ứng dụng yêu cầu kết quả đếm ngay lập tức.
  2. Định nghĩa vùng linh hoạt: Giải pháp cho phép bạn định nghĩa nhiều vùng tùy chỉnh dưới dạng đa giác, hình chữ nhật hoặc đường để phù hợp với nhu cầu giám sát cụ thể của bạn.
  3. Hỗ trợ nhiều lớp: Đếm nhiều loại đối tượng khác nhau cùng lúc trong cùng một vùng, cung cấp khả năng phân tích toàn diện.
  4. Khả năng tích hợp: Dễ dàng tích hợp với các hệ thống hiện có thông qua Ultralytics Python API hoặc giao diện dòng lệnh.

Khám phá những lợi ích sâu hơn trong phần Ưu điểm .

Một số ứng dụng thực tế của việc đếm đối tượng theo vùng là gì?

Đếm đối tượng với Ultralytics YOLO11 có thể áp dụng vào nhiều tình huống thực tế:

  • Phân tích bán lẻ: Đếm số lượng khách hàng ở các khu vực khác nhau của cửa hàng để tối ưu hóa bố cục và nhân sự.
  • Quản lý giao thông: Theo dõi lưu lượng xe trên các đoạn đường hoặc ngã tư cụ thể.
  • Sản xuất: Theo dõi sản phẩm di chuyển qua các khu vực sản xuất khác nhau.
  • Hoạt động kho: Đếm các mặt hàng tồn kho trong khu vực lưu trữ được chỉ định.
  • An toàn công cộng: Theo dõi mật độ đám đông tại các khu vực cụ thể trong suốt sự kiện.

Khám phá thêm các ví dụ trong phần Ứng dụng thực tế và giải pháp TrackZone để có thêm khả năng giám sát theo vùng.

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 5 ngày

Bình luận