Đế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 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 :
-
Sao chép Ultralytics kho lưu trữ và điều hướng đến thư mục:
-
Thực hiện tập lệnh đếm vùng:
Để 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ế:
- 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.
- Đị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.
- 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.
- 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.