Ánh xạ đối tượng VisionEye View 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 nhận diện và định vị chính xác 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 phân biệt 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 chi tiết từ một góc nhìn nhất định.
![]()
Ánh Xạ VisionEye sử dụng Ultralytics YOLO
# 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]"
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("visioneye_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize 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
vision_point=(50, 50), # the point where VisionEye will view objects and draw tracks
)
# 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 windows
Hàm vision_point Tuple đại diện cho vị trí của người quan sát theo tọa độ pixel. Hãy điều chỉnh nó để phù hợp với góc nhìn của camera, nhờ đó các tia được render sẽ minh họa chính xác cách các đối tượng liên quan đến điểm nhìn đã chọn.
VisionEye Các đối số
Đây là bảng với VisionEye các đối số:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
model | str | None | Đường dẫn đến tệp mô hình Ultralytics YOLO. |
vision_point | tuple[int, int] | (20, 20) | Điểm mà tại đó thị giác sẽ track đố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 track các tham số trong VisionEye giải pháp:
| Đối số | Loại | Mặc định | Mô 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.1 | Đặt ngưỡng tin cậy cho cá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.7 | Đặt ngưỡng Intersection over Union (IoU) để lọc các detect 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 đầu ra trực quan về các đối tượng được theo dõi. |
device | str | None | Chỉ định thiết bị cho 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 GPU cụ thể hoặc các thiết bị tính toán khác để thực thi mô hình. |
Hơn nữa, một số đối số trực quan hóa được hỗ trợ, như được liệt kê dưới đây:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
show | bool | False | Nếu True, hiển thị hình ảnh hoặc video đã 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 độ rộng đường của hộp giới hạn. Nếu None, độ rộng đường kẻ đượ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õ ràng hơn. |
show_conf | bool | True | Hiển thị điểm tin cậy cho mỗi lần phát hiện cùng với nhãn. Cung cấp cái nhìn sâu sắc về độ chắc chắn của mô hình cho mỗi lần phát hiện. |
show_labels | bool | True | Hiển thị nhãn cho mỗi lần phát hiện trong đầu ra trực quan. Cung cấp sự hiểu biết ngay lập tức về các đối tượng được phát hiện. |
Cách VisionEye Hoạt Động
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 thẳng từ điểm này đến các đối tượng được phát hiện. Điều này mô phỏng cách thị giác của 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 này sử dụng theo dõi đối tượng để duy trì việc xác định nhất quán các đối tượng trên các khung hình, tạo ra một 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.
Hàm process method trong lớp VisionEye thực hiện một số hoạt động chính:
- Trích xuất các track (bounding box, class và mask) từ hình ảnh đầu vào
- Tạo một trình chú thích để vẽ các hộp giới hạn 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 tầm nhìn từ điểm tầm nhìn
- Trả về hình ảnh được chú thích với thống kê theo dõi
Phương pháp này đặc biệt hữu ích cho các ứng dụng yêu cầu nhận biết không gian và trực quan hóa mối quan hệ giữa các đối tượng, chẳng hạn như hệ thống giám sát, điều hướng tự động và các ứng dụng 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 nhiều 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 kiểu di chuyển của khách hàng liên quan đến cách trưng bày sản phẩm trong cửa hàng
- Phân tích thể thao: Phân tích vị trí và chuyển động của người chơi từ góc nhìn của huấn luyện viên
- Phương Tiện Tự Hành: Trực quan hóa cách một chiếc xe "nhìn thấy" 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 ra các giao diện trực quan hơn, phản hồ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 Ultralytics khác 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ỉ track đối tượng mà còn hiểu được mối quan hệ không gian và hành vi của chúng.
Lưu ý
Nếu có bất kỳ thắc mắc nào, vui lòng đăng câu hỏi của bạn trong Mục Vấn đề của Ultralytics hoặc mục thảo luận được đề cập bên dưới.
Câu hỏi thường gặp
Làm cách nào để tôi 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 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 phát hiện đối tượng với VisionEye. Dưới đây là một ví dụ đơn giản để 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 windows
Tại sao tôi nên sử dụng Ultralytics YOLO26 cho ánh xạ và theo dõi đối tượng?
Ultralytics YOLO26 nổi tiếng về tốc độ, độ chính xác và dễ tích hợp, khiến nó trở thành lựa chọn hàng đầu cho ánh xạ và theo dõi đối tượng. Các lợi thế chính bao gồm:
- Hiệu suất vượt trội: Mang lại độ chính xác cao trong việc phát hiện đối tượng theo thời gian thực.
- Tính 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 năng động để khắc phục sự cố và cải tiến.
- 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ụ học máy khác như Comet hoặc ClearML?
Ultralytics YOLO26 có thể tích hợp liền mạch với các công cụ học máy khác nhau như Comet và ClearML, nâng cao khả năng theo dõi thử nghiệm, cộng tác và tái tạo kết quả. 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 xem Hướng Dẫn Tích Hợp Ultralytics của chúng tôi.