Meet YOLO26: next-gen vision AI.

Link to this sectionĐếm đối tượng trong các vùng khác nhau sử dụng Ultralytics YOLO 🚀#

Link to this sectionĐếm đối tượng trong vùng là gì?#

Đếm đối tượng trong các vùng với Ultralytics YOLO26 bao gồm 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 thị giác máy tính tiên tiến. Phương pháp này rất hữu ích để 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.



Watch: Object Counting in Different Regions using Ultralytics YOLO26 | Ultralytics Solutions 🚀

Link to this sectionƯu điểm của việc đếm đối tượng trong vùng#

  • Độ chính xác và sự chính xác: Đếm đối tượng trong các vùng bằng thị giác máy tính tiên tiến đảm bảo số lượng chính 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ả: Đếm đối tượng tự động nâng cao hiệu quả vận hành, cung cấp kết quả theo thời gian thực và hợp lý hóa các quy trình trên nhiều ứng dụng khác nhau.
  • Tính linh hoạt và ứng dụng: Sự linh hoạt của việc đếm đối tượng trong các vùng giúp nó có thể áp dụng trên nhiều lĩnh vực, từ sản xuất và giám sát đến quản lý giao thông, đóng góp vào tính hữu dụng và hiệu quả rộng rãi.

Link to this sectionCác ứng dụng thực tế#

Bán lẻĐường phố thị trường
Đếm người trong các vùng khác nhau sử dụng Ultralytics YOLO26Đếm đám đông trong các vùng khác nhau sử dụng Ultralytics YOLO26
Đếm người trong các vùng khác nhau sử dụng Ultralytics YOLO26Đếm đám đông trong các vùng khác nhau sử dụng Ultralytics YOLO26

Link to this sectionVí dụ Sử dụng#

Đếm theo vùng 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="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 windows
Mã mẫu Ultralytics

Mô-đun đếm vùng Ultralytics 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 mình.

Link to this sectionCác tham số của RegionCounter#

Dưới đây là bảng các tham số của RegionCounter:

Đối sốLoạiMặc địnhMô tả
modelstrNoneĐường dẫn đến tệp model Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Danh sách các điểm xác định vùng đếm.

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

Đối sốLoạiMặc địnhMô tả
trackerstr'botsort.yaml'Chỉ định thuật toán tracking cần sử dụng. Các tùy chọn tích hợp sẵn: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1Thiết lập ngưỡng tin cậy cho các phát hiện; các giá trị thấp hơn cho phép nhiều đối tượng được theo dõi hơn nhưng có thể bao gồm các kết quả dương tính giả.
ioufloat0.7Thiết lập ngưỡng Intersection over Union (IoU) để lọc các phát hiện chồng lấp.
classeslistNoneLọc kết quả theo chỉ số lớp. Ví dụ, classes=[0, 2, 3] chỉ theo dõi các lớp đã chỉ định.
verboseboolTrueKiểm soát việc hiển thị kết quả theo dõi, cung cấp đầu ra trực quan của các đối tượng được theo dõi.
devicestrNoneChỉ định thiết bị để thực hiện suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn giữa CPU, một GPU cụ thể, hoặc các thiết bị tính toán khác để thực thi model.

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

Đối sốLoạiMặc địnhMô tả
showboolFalseNếu True, hiển thị các 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 kiểm thử.
line_widthint or NoneNoneChỉ định độ dày đường của bounding box. Nếu None, độ dày đường được tự động điều chỉnh dựa trên kích thước hình ảnh. Cung cấp khả năng tùy chỉnh trực quan để rõ ràng hơn.
show_confboolTrueHiển thị điểm số tin cậy (confidence score) cho mỗi phát hiện cùng với nhãn. Cung cấp thông tin chi tiết về độ chắc chắn của model đối với từng phát hiện.
show_labelsboolTrueHiển thị nhãn cho mỗi phát hiện trong đầu ra hình ảnh. Cung cấp khả năng nhận biết tức thì các đối tượng được phát hiện.

Link to this sectionCâu hỏi thường gặp#

Link to this sectionĐếm đối tượng trong các vùng được chỉ định sử dụng Ultralytics YOLO26 là gì?#

Đếm đối tượng trong các vùng được chỉ định với Ultralytics YOLO26 bao gồm việc phát hiện và thống kê số lượng đối tượng trong các khu vực đã xác định bằng thị giác máy tính tiên tiến. Phương pháp chính xác này giúp tăng cường hiệu quả và độ chính xác trên nhiều ứng dụng như sản xuất, giám sát và quản lý giao thông.

Link to this sectionLàm thế nào để chạy tập lệnh đếm đối tượng dựa trên vùng với Ultralytics YOLO26?#

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

  1. Sao chép kho lưu trữ Ultralytics 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 thi tập lệnh đếm vùng:

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

Để biết thêm các tùy chọn, hãy truy cập phần Ví dụ sử dụng.

Link to this sectionTại sao tôi nên sử dụng Ultralytics YOLO26 để đếm đối tượng trong vùng?#

Sử dụng Ultralytics YOLO26 để đếm đối tượng trong vùng mang lại một số lợi thế:

  1. Xử lý theo thời gian thực: Kiến trúc của YOLO26 cho phép suy luận nhanh, khiến nó trở nên lý tưởng cho các ứng dụng yêu cầu kết quả đếm tức thì.
  2. Định nghĩa vùng linh hoạt: Giải pháp cho phép bạn xác định nhiều vùng tùy chỉnh dưới dạng đa giác, hình chữ nhật hoặc đường thẳng để phù hợp với nhu cầu giám sát cụ thể của bạn.
  3. Hỗ trợ đa lớp: Đếm đồng thời các loại đối tượng khác nhau trong cùng một vùng, cung cấp số liệu 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 Python API hoặc giao diện dòng lệnh của Ultralytics.

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

Link to this sectionMột số ứng dụng thực tế của việc đếm đối tượng trong vùng là gì?#

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

  • Phân tích bán lẻ: Đếm khách hàng trong các khu vực cửa hàng khác nhau để tối ưu hóa bố cục và nhân sự.
  • Quản lý giao thông: Giám sát lưu lượng xe trong các đoạn đường hoặc giao lộ 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.
  • Vận hành kho bãi: Đếm các mặt hàng tồn kho trong các khu vực lưu trữ được chỉ định.
  • An toàn công cộng: Giám sát mật độ đám đông trong các khu vực cụ thể trong các 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 các khả năng giám sát dựa trên vùng.

Bình luận