3D Object Detection
Khám phá tính năng phát hiện vật thể 3D để làm chủ khả năng nhận biết không gian trong AI. Tìm hiểu cách Ultralytics YOLO26 hỗ trợ ước tính độ sâu, hướng và hộp giới hạn 3D trong thế giới thực.
Phát hiện đối tượng 3D là một tác vụ thị giác máy tính phức tạp, cho phép máy móc nhận diện, định vị và xác định kích thước của các đối tượng trong không gian ba chiều. Khác với phát hiện đối tượng 2D truyền thống, vốn vẽ một bounding box phẳng quanh một vật thể trong ảnh, phát hiện đối tượng 3D ước tính một khối hộp (hộp 3D) bao quanh đối tượng. Điều này cung cấp thông tin quan trọng về độ sâu, hướng (hướng di chuyển) và kích thước không gian chính xác, cho phép hệ thống hiểu không chỉ đối tượng là gì mà còn chính xác đối tượng ở đâu so với cảm biến trong thế giới thực. Khả năng này là nền tảng cho các công nghệ cần tương tác vật lý với môi trường xung quanh.
Phát hiện đối tượng 3D hoạt động như thế nào#
Để nhận biết độ sâu và thể tích, các model phát hiện 3D thường dựa vào dữ liệu đầu vào phong phú hơn so với dữ liệu do camera tiêu chuẩn cung cấp. Mặc dù một số phương pháp nâng cao có thể suy luận cấu trúc 3D từ ảnh đơn sắc (một ống kính), hầu hết hệ thống mạnh đều sử dụng dữ liệu từ cảm biến LiDAR, radar hoặc camera stereo. Các cảm biến này tạo ra đám mây điểm—những tập hợp khổng lồ gồm các điểm dữ liệu biểu diễn bề mặt bên ngoài của các đối tượng.
Quy trình này gồm một số bước chính:
- Thu thập dữ liệu: Các cảm biến ghi lại hình học của cảnh. Ví dụ, LiDAR sử dụng các xung laser để đo khoảng cách, tạo ra bản đồ 3D chính xác.
- Trích xuất đặc trưng: Các model deep learning, thường dựa trên Mạng nơ-ron tích chập (CNNs) hoặc Transformers, xử lý đám mây điểm hoặc dữ liệu ảnh hợp nhất để nhận diện các mẫu.
- Dự đoán bounding box: Model xuất ra một bounding box 3D được xác định bởi tọa độ tâm (x, y, z), các kích thước (chiều dài, chiều rộng, chiều cao) và góc xoay (yaw).
- Phân loại: Tương tự như phân loại ảnh, hệ thống gán một nhãn (ví dụ: "người đi bộ", "phương tiện") cho đối tượng được phát hiện.
Sự khác biệt giữa phát hiện 2D và 3D#
Điều quan trọng là phải phân biệt hai khái niệm có liên quan này.
- Phát hiện đối tượng 2D: Hoạt động trên các ảnh phẳng (pixel). Phương pháp này cho biết một đối tượng nằm ở "góc trên bên trái" hoặc "góc dưới bên phải" của khung hình, nhưng không thể đánh giá hiệu quả khoảng cách hoặc kích thước trong thế giới thực nếu không có các mốc tham chiếu. Phương pháp này phù hợp với các tác vụ như nhận diện lỗi sản xuất hoặc phân tích luồng video, trong đó độ sâu ít quan trọng hơn.
- Phát hiện đối tượng 3D: Hoạt động trong không gian thể tích (voxel hoặc điểm). Phương pháp này cung cấp khoảng cách từ camera (độ sâu), kích thước vật lý và hướng của đối tượng. Đây là yếu tố thiết yếu để tránh va chạm trong các môi trường năng động.
Các ứng dụng trong thực tế#
Sự chuyển đổi từ nhận thức 2D sang 3D mở ra các trường hợp sử dụng mạnh mẽ trong những ngành mà an toàn và nhận thức không gian là yếu tố tối quan trọng.
- Lái xe tự hành: Xe tự lái phụ thuộc nhiều vào khả năng phát hiện 3D để di chuyển an toàn. Bằng cách xử lý dữ liệu từ LiDAR và camera, phương tiện có thể phát hiện những chiếc xe khác, người đi bộ và chướng ngại vật, đồng thời tính toán chính xác khoảng cách và tốc độ của chúng. Điều này cho phép hệ thống nhận thức dự đoán quỹ đạo và đưa ra quyết định phanh hoặc đánh lái trong các kịch bản suy luận thời gian thực. Các công ty như Waymo sử dụng các cụm cảm biến chuyên dụng này để lập bản đồ môi trường đô thị ngay lập tức.
- Robot và gắp vật trong thùng: Trong lĩnh vực logistics và kho bãi, robot cần gắp các đối tượng có hình dạng và kích thước khác nhau từ các thùng chứa. Phát hiện 3D cho phép cánh tay robot hiểu hướng của một kiện hàng, xác định điểm kẹp tốt nhất và lập kế hoạch đường đi không va chạm để di chuyển vật thể. Điều này nâng cao hiệu quả của AI trong logistics bằng cách tự động hóa các tác vụ thủ công phức tạp.
Triển khai phát hiện đối tượng với Ultralytics#
Mặc dù phát hiện 3D đầy đủ thường yêu cầu các kiến trúc chuyên biệt cho đám mây điểm, các bộ phát hiện 2D hiện đại như YOLO26 ngày càng được sử dụng như một thành phần trong các quy trình pseudo-3D hoặc để ước tính độ sâu thông qua việc điều chỉnh tỷ lệ bounding box. Đối với các developer muốn huấn luyện model trên bộ dữ liệu riêng, Ultralytics Platform cung cấp một môi trường tinh gọn cho việc gán nhãn và huấn luyện.
Dưới đây là một ví dụ đơn giản về cách chạy tính năng phát hiện tiêu chuẩn bằng Python API của Ultralytics, thường là bước đầu tiên trong một pipeline nhận thức lớn hơn:
import cv2
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Perform inference on a local image
results = model("path/to/image.jpg")
# Visualize the results
for result in results:
# Plot predictions on the image (returns a numpy array)
im_array = result.plot()
# Display using OpenCV
cv2.imshow("Detections", im_array)
cv2.waitKey(0) # Press any key to close
cv2.destroyAllWindows()Thách thức và xu hướng tương lai#
Mặc dù hữu ích, phát hiện đối tượng 3D vẫn phải đối mặt với những thách thức liên quan đến chi phí tính toán và chi phí cảm biến. Việc xử lý hàng triệu điểm trong một đám mây điểm đòi hỏi năng lực GPU đáng kể, khiến việc triển khai trên các thiết bị edge trở nên khó khăn. Tuy nhiên, những đổi mới trong lượng tử hóa model và các kiến trúc neural hiệu quả đang giảm bớt gánh nặng này.
Ngoài ra, các kỹ thuật như sensor fusion đang cải thiện độ chính xác bằng cách kết hợp thông tin màu phong phú từ camera với dữ liệu độ sâu chính xác từ LiDAR. Khi các công nghệ này trưởng thành, chúng ta có thể kỳ vọng nhận thức 3D sẽ được tích hợp vào nhiều thiết bị dễ tiếp cận hơn, từ kính thực tế tăng cường đến các thiết bị gia dụng thông minh.









