3D Object Detection
Khám phá nhận diện đối tượng 3D để làm chủ nhận thức 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 bao 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 bbox phẳng xung quanh một mục trong hình ảnh, phát hiện đối tượng 3D ước tính một hình khối (hộp 3D) bao trùm đối tượng đó. Điều này cung cấp thông tin quan trọng về chiều sâu, hướng (heading) và kích thước không gian chính xác, cho phép các hệ thống hiểu được không chỉ đối tượng là gì, mà còn chính xác nó ở đâ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 của chúng.
Link to this sectionCách thức hoạt động của phát hiện đối tượng 3D#
Để cảm nhận chiều sâu và thể tích, các model phát hiện 3D thường dựa vào các đầu vào dữ liệu phong phú hơn so với những gì máy ảnh tiêu chuẩn cung cấp. Trong khi một số phương pháp tiên tiến có thể suy luận cấu trúc 3D từ hình ảnh đơn sắc (một ống kính), hầu hết các hệ thống mạnh mẽ đề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 point cloud—tập hợp khổng lồ các điểm dữ liệu đại diện cho bề mặt bên ngoài của đối tượng.
Quá trình này bao gồm một vài 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 quay. Ví dụ, LiDAR sử dụng các xung laser để đo khoảng cách, tạo ra một bản đồ 3D chính xác.
- Trích xuất đặc trưng: Các model học sâu, thường dựa trên Convolutional Neural Networks (CNNs) hoặc Transformer, xử lý point cloud hoặc dữ liệu hình ảnh đã hợp nhất để xác định các mẫu hình.
- 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), 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 hình ả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.
Link to this sectionSự 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 được hai khái niệm liên quan này.
- Phát hiện đối tượng 2D: Hoạt động trên hình ảnh phẳng (pixel). Nó cho bạn biết một đối tượng nằm ở "phía trên bên trái" hoặc "phía 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 thực tế mà không có các điểm mốc tham chiếu. Nó lý tưởng cho các tác vụ như xác định lỗi sản xuất hoặc phân tích nguồn cấp dữ liệu video nơi chiều 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). Nó cung cấp khoảng cách từ máy ảnh (chiều sâu), kích thước vật lý của đối tượng và hướng của nó. Điều này rất cần thiết để ngăn ngừa va chạm trong các môi trường năng động.
Link to this sectionCá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 các ngành công nghiệp nơi mà sự an toàn và nhận thức không gian là tối quan trọng.
- Lái xe tự động: Xe tự lái dựa rất nhiều vào 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 các xe khác, người đi bộ và chướng ngại vật, tính toán khoảng cách và tốc độ chính xá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 lái trong các kịch bản real-time inference. Các công ty như Waymo sử dụng các bộ cảm biến mạnh mẽ này để lập bản đồ các môi trường đô thị ngay lập tức.
- Robot và gắp hàng trong thùng (Bin Picking): Trong lĩnh vực logistics và kho bãi, robot cần nhặt 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 được hướng của gói hàng, xác định điểm cầm nắm tốt nhất và lập kế hoạch đường đi không va chạm để di chuyển vật phẩm. Điều này tăng cường hiệu quả trong AI trong logistics bằng cách tự động hóa các tác vụ thủ công phức tạp.
Link to this sectionTriển khai phát hiện đối tượng với Ultralytics#
Trong khi phát hiện 3D đầy đủ thường đòi hỏi các kiến trúc point-cloud chuyên dụng, 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 chiều sâu thông qua việc thay đổi tỷ lệ bounding box. Đối với các nhà phát triển muốn huấn luyện model trên tập dữ liệu riêng của họ, Ultralytics Platform cung cấp một môi trường hợp lý hóa 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 phát hiện tiêu chuẩn bằng Ultralytics Python API, thường là bước đầu tiên trong một quy trình 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()Link to this sectionThách Thức và Xu Hướng Tương Lai#
Bất chấp tính hữu dụng của nó, phát hiện đối tượng 3D phải đối mặt với những thách thức về 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 point cloud đòi hỏi sức mạnh GPU đáng kể, khiến việc triển khai trên các thiết bị biên trở nên khó khăn. Tuy nhiên, những đổi mới trong model quantization và các kiến trúc thần kinh hiệu quả đang giảm bớt gánh nặng này.
Hơn nữa, các kỹ thuật như sensor fusion (hợp nhất cảm biến) đang cải thiện độ chính xác bằng cách kết hợp thông tin màu sắc phong phú của máy ảnh với dữ liệu chiều sâu chính xác của LiDAR. Khi các công nghệ này trở nên hoàn thiện, chúng ta có thể mong đợi thấy nhận thức 3D được tích hợp vào các 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 đình thông minh.






