Ánh xạ Đối tượng Chế độ xem VisionEye sử dụng Ultralytics YOLO26 🚀
Ánh xạ Đối tượng VisionEye là gì?
Ultralytics YOLO26 VisionEye cung cấp khả năng cho máy tính xác định và định vị các đối tượng, mô phỏng độ chính xác quan sát của mắt người. Chức năng này cho phép máy tính nhận diện và tập trung vào các đối tượng cụ thể, giống như cách mắt người quan sát các chi tiết từ một điểm nhìn nhất định.
# Monitor objects position with visioneye
yolo solutions visioneye show=True
# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"Các đối số của VisionEye
Dưới đây là bảng liệt kê các đối số của VisionEye:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
model | str | None | Đường dẫn đến một file model Ultralytics YOLO. |
vision_point | tuple[int, int] | (20, 20) | Điểm mà tại đó thị giác máy tính sẽ theo dõi các đối tượng và vẽ đường đi bằng cách sử dụng VisionEye Solution. |
Bạn cũng có thể sử dụng nhiều đối số track khác nhau trong giải pháp VisionEye:
| Đố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 | Đặt ngưỡng tin cậy cho các phát hiện; các 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ác kết quả dương tính giả. |
iou | float | 0.7 | Đặt 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 được chỉ định. |
verbose | bool | True | Kiểm soát việc hiển thị các 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 để chạy model. |
Hơn nữa, một số đối số trực quan hóa cũng được hỗ trợ như liệt kê bên dưới:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
show | bool | False | Nếu True, hiển thị các ảnh hoặc video đã được chú thích trong một cửa sổ. Hữu ích để có 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 | int or None | None | Chỉ định độ dày đường kẻ của khung bao. Nếu là None, độ dày đường kẻ sẽ tự động được điều chỉnh dựa trên kích thước ảnh. Cung cấp khả năng tùy chỉnh trực quan để đảm bảo độ rõ nét. |
show_conf | bool | True | Hiển thị điểm tin cậy cho mỗi kết quả phát hiện bên cạnh nhãn. Cung cấp cái nhìn sâu sắc về độ chắc chắn của model cho mỗi kết quả phát hiện. |
show_labels | bool | True | Hiển thị nhãn cho mỗi kết quả phát hiện trong đầu ra trực quan. Cung cấp hiểu biết ngay lập tức về các đối tượng được phát hiện. |
Cách thức hoạt động của VisionEye
VisionEye hoạt động bằng cách thiết lập một điểm nhìn cố định trong khung hình và vẽ các đường từ điểm này đến các đối tượng đã phát hiện. Điều này mô phỏng cách thị giác con người tập trung vào nhiều đối tượng từ một điểm nhìn duy nhất. Giải pháp sử dụng object tracking để duy trì nhận dạng nhất quán các đối tượng qua các khung hình, tạo ra một bản biểu diễn trực quan về mối quan hệ không gian giữa người quan sát (điểm nhìn) và các đối tượng trong cảnh.
Phương thức process trong lớp VisionEye thực hiện một số thao tác chính:
- Trích xuất các track (bounding box, lớp và mask) từ hình ảnh đầu vào
- Tạo một annotator để vẽ bounding box và nhãn
- Đối với mỗi đối tượng được phát hiện, vẽ một nhãn hộp và tạo một đường nhìn từ điểm nhìn
- Trả về hình ảnh đã được chú thích cùng với các thống kê theo dõi
Cách tiếp cận này đặc biệt hữu ích cho các ứng dụng đòi hỏi nhận thức không gian và trực quan hóa mối quan hệ đối tượng, chẳng hạn như hệ thống giám sát, điều hướng tự động và các cài đặt tương tác.
Các ứng dụng của VisionEye
Ánh xạ đối tượng VisionEye có nhiều ứng dụng thực tế trong các ngành công nghiệp khác nhau:
- An ninh và Giám sát: Giám sát nhiều đối tượng quan tâm từ một vị trí camera cố định
- Phân tích Bán lẻ: Theo dõi các mô hình di chuyển của khách hàng liên quan đến các trưng bày trong cửa hàng
- Phân tích Thể thao: Phân tích vị trí và sự di chuyển của cầu thủ từ góc nhìn của huấn luyện viên
- Phương tiện Tự lái: Trực quan hóa cách phương tiện "nhìn" và ưu tiên các đối tượng trong môi trường của nó
- Tương tác Người-Máy: Tạo các giao diện trực quan hơn phản ứng với các mối quan hệ không gian
Bằng cách kết hợp VisionEye với các giải pháp khác của Ultralytics như tính toán khoảng cách hoặc ước tính tốc độ, bạn có thể xây dựng các hệ thống toàn diện không chỉ theo dõi đối tượng mà còn hiểu được các mối quan hệ và hành vi không gian của chúng.
Lưu ý
Đối với bất kỳ câu hỏi nào, vui lòng đăng thắc mắc của bạn trong Phần Issue của Ultralytics hoặc phần thảo luận được đề cập bên dưới.
Câu hỏi thường gặp (FAQ)
Làm thế nào để bắt đầu sử dụng Ánh xạ Đối tượng VisionEye với Ultralytics YOLO26?
Để bắt đầu sử dụng Ánh xạ Đối tượng VisionEye với Ultralytics YOLO26, trước tiên, bạn cần cài đặt gói Ultralytics YOLO thông qua pip. Sau đó, bạn có thể sử dụng mã mẫu được cung cấp trong tài liệu để thiết lập object detection với VisionEye. Dưới đây là một ví dụ đơn giản để giúp bạn bắt đầu:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# 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("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init vision eye object
visioneye = solutions.VisionEye(
show=True, # display the output
model="yolo26n.pt", # use any model that Ultralytics supports, e.g., YOLOv10
classes=[0, 2], # generate visioneye view for specific classes
)
# 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
results = visioneye(im0)
print(results) # access the output
video_writer.write(results.plot_im) # write the video file
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windowsTại sao tôi nên sử dụng Ultralytics YOLO26 cho việc ánh xạ và theo dõi đối tượng?
Ultralytics YOLO26 nổi tiếng với tốc độ, độ chính xác và khả năng tích hợp dễ dàng, khiến nó trở thành lựa chọn hàng đầu cho việc ánh xạ và theo dõi đối tượng. Các ưu điểm chính bao gồm:
- Hiệu suất Đỉnh cao: Mang lại độ chính xác cao trong việc phát hiện đối tượng theo thời gian thực.
- Sự linh hoạt: Hỗ trợ nhiều tác vụ khác nhau như phát hiện, theo dõi và tính toán khoảng cách.
- Cộng đồng và Hỗ trợ: Tài liệu phong phú và cộng đồng GitHub tích cực để giải quyết vấn đề và nâng cấp.
- Dễ sử dụng: API trực quan đơn giản hóa các tác vụ phức tạp, cho phép triển khai và lặp lại nhanh chóng.
Để biết thêm thông tin về các ứng dụng và lợi ích, hãy xem tài liệu Ultralytics YOLO26.
Làm thế nào để tích hợp VisionEye với các công cụ machine learning khác như Comet hoặc ClearML?
Ultralytics YOLO26 có thể tích hợp liền mạch với nhiều công cụ machine learning khác nhau như Comet và ClearML, giúp tăng cường việc theo dõi thí nghiệm, cộng tác và khả năng tái lập. Hãy làm theo các hướng dẫn chi tiết về cách sử dụng YOLOv5 với Comet và tích hợp YOLO26 với ClearML để bắt đầu.
Để khám phá thêm và xem các ví dụ tích hợp, hãy kiểm tra Hướng dẫn Tích hợp Ultralytics của chúng tôi.