Link to this sectionĐếm đối tượng bằng Ultralytics YOLO26#
Link to this sectionĐếm đối tượng là gì?#
Đếm đối tượng bằng Ultralytics YOLO26 bao gồm việc xác định và đếm chính xác các đối tượng cụ thể trong video và luồng camera. YOLO26 vượt trội trong các ứng dụng thời gian thực, cung cấp khả năng đếm đối tượng hiệu quả và chính xác cho nhiều kịch bản như phân tích đám đông và giám sát, nhờ vào các thuật toán tiên tiến và khả năng deep learning của nó.
Watch: How to Perform Real-Time Object Counting with Ultralytics YOLO26 🚀
Link to this sectionƯu điểm của việc đếm đối tượng#
- Tối ưu hóa tài nguyên: Đếm đối tượng tạo điều kiện quản lý tài nguyên hiệu quả bằng cách cung cấp số liệu chính xác, tối ưu hóa việc phân bổ tài nguyên trong các ứng dụng như quản lý hàng tồn kho.
- Tăng cường an ninh: Đếm đối tượng nâng cao khả năng bảo mật và giám sát bằng cách theo dõi và đếm chính xác các thực thể, hỗ trợ chủ động phát hiện mối đe dọa.
- Ra quyết định dựa trên dữ liệu: Đếm đối tượng cung cấp thông tin chi tiết có giá trị cho việc ra quyết định, tối ưu hóa quy trình trong bán lẻ, quản lý giao thông và nhiều lĩnh vực khác.
Link to this sectionCác ứng dụng thực tế#
| Logistics | Nuôi trồng thủy sản |
|---|---|
![]() | ![]() |
| Đếm gói hàng trên băng chuyền bằng Ultralytics YOLO26 | Đếm cá dưới biển bằng Ultralytics YOLO26 |
# Run a counting example
yolo solutions count show=True
# Pass a source video
yolo solutions count source="path/to/video.mp4"
# Pass region coordinates
yolo solutions count region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"Đối số region chấp nhận hai điểm (cho một đường thẳng) hoặc một đa giác với ba điểm trở lên. Xác định các tọa độ theo thứ tự chúng cần được kết nối để bộ đếm biết chính xác vị trí vào và ra xảy ra.
Link to this sectionCác đối số ObjectCounter#
Dưới đây là bảng các đối số của ObjectCounter:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
model | str | None | Đường dẫn đến tệp model Ultralytics YOLO. |
show_in | bool | True | Cờ để kiểm soát việc hiển thị số lượng đếm vào trên luồng video. |
show_out | bool | True | Cờ để kiểm soát việc hiển thị số lượng đếm ra trên luồng video. |
region | list | '[(20, 400), (1260, 400)]' | Danh sách các điểm xác định vùng đếm. |
Giải pháp ObjectCounter cho phép sử dụng một số đối số track:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Chỉ định thuật toán theo dõi cần sử dụng, ví dụ: bytetrack.yaml hoặc botsort.yaml. |
conf | float | 0.1 | Thiế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ả. |
iou | float | 0.7 | Thiết lập ngưỡng Intersection over Union (IoU) để lọc các phát hiện chồng lấp. |
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 đã chỉ định. |
verbose | bool | True | Kiể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. |
device | str | None | Chỉ đị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 đối số trực quan hóa được liệt kê dưới đây cũng được hỗ trợ:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
show | bool | False | Nế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_width | int or None | None | Chỉ đị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_conf | bool | True | Hiể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_labels | bool | True | Hiể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 sectionLàm thế nào để đếm đối tượng trong video bằng Ultralytics YOLO26?#
Để đếm đối tượng trong video bằng Ultralytics YOLO26, bạn có thể làm theo các bước sau:
- Nhập các thư viện cần thiết (
cv2,ultralytics). - Xác định vùng đếm (ví dụ: đa giác, đường thẳng, v.v.).
- Thiết lập trình bắt video và khởi tạo bộ đếm đối tượng.
- Xử lý từng khung hình để theo dõi đối tượng và đếm chúng trong vùng đã xác định.
Dưới đây là ví dụ đơn giản về việc đếm trong một vùng:
import cv2
from ultralytics import solutions
def count_objects_in_region(video_path, output_video_path, model_path):
"""Count objects in a specific region within a video."""
cap = cv2.VideoCapture(video_path)
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))
video_writer = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
counter = solutions.ObjectCounter(show=True, region=region_points, model=model_path)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = counter(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
count_objects_in_region("path/to/video.mp4", "output_video.avi", "yolo26n.pt")Để có các cấu hình và tùy chọn nâng cao hơn, hãy xem giải pháp RegionCounter để đếm đối tượng trong nhiều vùng đồng thời.
Link to this sectionƯu điểm của việc sử dụng Ultralytics YOLO26 để đếm đối tượng là gì?#
Sử dụng Ultralytics YOLO26 để đếm đối tượng mang lại một số ưu điểm:
- Tối ưu hóa tài nguyên: Nó tạo điều kiện quản lý tài nguyên hiệu quả bằng cách cung cấp số liệu chính xác, giúp tối ưu hóa việc phân bổ tài nguyên trong các ngành như quản lý hàng tồn kho.
- Tăng cường an ninh: Nó nâng cao khả năng bảo mật và giám sát bằng cách theo dõi và đếm chính xác các thực thể, hỗ trợ chủ động phát hiện mối đe dọa và hệ thống an ninh.
- Ra quyết định dựa trên dữ liệu: Nó cung cấp thông tin chi tiết có giá trị cho việc ra quyết định, tối ưu hóa quy trình trong các lĩnh vực như bán lẻ, quản lý giao thông và hơn thế nữa.
- Xử lý thời gian thực: Kiến trúc của YOLO26 cho phép suy luận thời gian thực, khiến nó phù hợp cho các luồng video trực tiếp và các ứng dụng nhạy cảm với thời gian.
Để có các ví dụ triển khai và ứng dụng thực tế, hãy khám phá giải pháp TrackZone để theo dõi đối tượng trong các vùng cụ thể.
Link to this sectionLàm thế nào để đếm các lớp đối tượng cụ thể bằng Ultralytics YOLO26?#
Để đếm các lớp đối tượng cụ thể bằng Ultralytics YOLO26, bạn cần chỉ định các lớp bạn quan tâm trong giai đoạn theo dõi. Dưới đây là ví dụ bằng Python:
import cv2
from ultralytics import solutions
def count_specific_classes(video_path, output_video_path, model_path, classes_to_count):
"""Count specific classes of objects in a video."""
cap = cv2.VideoCapture(video_path)
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))
video_writer = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
line_points = [(20, 400), (1080, 400)]
counter = solutions.ObjectCounter(show=True, region=line_points, model=model_path, classes=classes_to_count)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = counter(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
count_specific_classes("path/to/video.mp4", "output_specific_classes.avi", "yolo26n.pt", [0, 2])Trong ví dụ này, classes_to_count=[0, 2] có nghĩa là nó đếm các đối tượng thuộc lớp 0 và 2 (ví dụ: người và xe trong tập dữ liệu COCO). Bạn có thể tìm thêm thông tin về chỉ số lớp trong tài liệu tập dữ liệu COCO.
Link to this sectionTại sao tôi nên sử dụng YOLO26 thay vì các mô hình object detection khác cho các ứng dụng thời gian thực?#
Ultralytics YOLO26 cung cấp một số ưu điểm so với các mô hình phát hiện đối tượng khác như Faster R-CNN, SSD và các phiên bản YOLO trước đó:
- Tốc độ và hiệu quả: YOLO26 cung cấp khả năng xử lý thời gian thực, khiến nó trở nên lý tưởng cho các ứng dụng yêu cầu suy luận tốc độ cao, như giám sát và lái xe tự động.
- Độ chính xác: Nó cung cấp độ chính xác tiên tiến cho các tác vụ phát hiện và theo dõi đối tượng, giảm số lượng kết quả dương tính giả và cải thiện độ tin cậy tổng thể của hệ thống.
- Dễ dàng tích hợp: YOLO26 cung cấp khả năng tích hợp liền mạch với nhiều nền tảng và thiết bị khác nhau, bao gồm thiết bị di động và thiết bị biên, điều này rất quan trọng đối với các ứng dụng AI hiện đại.
- Sự linh hoạt: Hỗ trợ nhiều tác vụ như phát hiện đối tượng, phân đoạn và theo dõi với các mô hình có thể cấu hình để đáp ứng các yêu cầu cụ thể của trường hợp sử dụng.
Xem Tài liệu YOLO26 của Ultralytics để tìm hiểu sâu hơn về các tính năng và so sánh hiệu suất.
Link to this sectionTôi có thể sử dụng YOLO26 cho các ứng dụng nâng cao như phân tích đám đông và quản lý giao thông không?#
Có, Ultralytics YOLO26 hoàn toàn phù hợp cho các ứng dụng nâng cao như phân tích đám đông và quản lý giao thông nhờ khả năng phát hiện thời gian thực, khả năng mở rộng và sự linh hoạt trong tích hợp. Các tính năng tiên tiến của nó cho phép theo dõi, đếm và phân loại đối tượng với độ chính xác cao trong các môi trường năng động. Các trường hợp sử dụng ví dụ bao gồm:
- Phân tích đám đông: Giám sát và quản lý các đám đông lớn, đảm bảo an toàn và tối ưu hóa luồng người di chuyển với đếm dựa trên vùng.
- Quản lý giao thông: Theo dõi và đếm phương tiện, phân tích các kiểu giao thông và quản lý ùn tắc theo thời gian thực với khả năng ước tính tốc độ.
- Phân tích bán lẻ: Phân tích các mô hình di chuyển của khách hàng và tương tác với sản phẩm để tối ưu hóa bố trí cửa hàng và cải thiện trải nghiệm khách hàng.
- Tự động hóa công nghiệp: Đếm sản phẩm trên băng chuyền và giám sát các dây chuyền sản xuất để kiểm soát chất lượng và cải thiện hiệu suất.
Đối với các ứng dụng chuyên biệt hơn, hãy khám phá Các giải pháp Ultralytics để có bộ công cụ toàn diện được thiết kế cho các thách thức thị giác máy tính trong thế giới thực.

