Khám phá khả năng phát hiện vật thể 3D: cách LiDAR, đám mây điểm và học sâu xây dựng hộp giới hạn 3D chính xác cho xe tự hành, robot và AR.
Phát hiện vật thể 3D là một kỹ thuật thị giác máy tính (CV) tinh vi, giúp nhận dạng, phân loại và định vị các vật thể trong không gian ba chiều. Không giống như phát hiện vật thể 2D truyền thống, vốn vẽ một khung giới hạn hình chữ nhật phẳng xung quanh vật thể trên mặt phẳng ảnh, phát hiện vật thể 3D ước tính một khung giới hạn 3D định hướng—một hình hộp chữ nhật đượ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à hướng (góc hướng). Khả năng này cho phép các hệ thống trí tuệ nhân tạo (AI) nhận biết kích thước, khoảng cách và tư thế thực tế của vật thể, điều này rất cần thiết cho tương tác vật lý và điều hướng.
Để nhận biết độ sâu và thể tích, các mô hình phát hiện vật thể 3D dựa vào các nguồn dữ liệu thu thập hình học không gian. Trong khi các phương pháp 2D chỉ dựa vào cường độ điểm ảnh, các phương pháp 3D xử lý dữ liệu từ các cảm biến tiên tiến:
Các kiến trúc chuyên biệt xử lý dữ liệu này. Ví dụ, PointNet xử lý trực tiếp các đám mây điểm thô, trong khi VoxelNet chia không gian 3D thành các lưới thể tích (voxel) để áp dụng các phép toán tích chập. Các mô hình này xuất ra tọa độ 3D và hướng chính xác của các vật thể, cho phép máy móc không chỉ hiểu được vật thể là gì mà còn biết chính xác vị trí của nó trong thế giới vật lý.
Sự khác biệt chính nằm ở tính đa chiều không gian và thông tin được cung cấp:
Đối với các ứng dụng yêu cầu nhận thức không gian một phần mà không cần toàn bộ chi phí 3D, tính năng phát hiện Hộp giới hạn định hướng (OBB) đóng vai trò trung gian, dự đoán các hộp giới hạn xoay trong 2D để phù hợp hơn với các vật thể như tàu hoặc phương tiện trong chế độ xem trên không.
Phát hiện vật thể 3D là công cụ nhận thức cho các ngành công nghiệp tương tác với thế giới vật lý:
Mặc dù YOLO11 chủ yếu là một bộ phát hiện 2D, nó đóng vai trò quan trọng trong nhiều quy trình phát hiện 3D. Một phương pháp phổ biến, được gọi là "phát hiện dựa trên hình chóp cụt", sử dụng mô hình 2D tốc độ cao để xác định vùng quan tâm trong ảnh. Hộp 2D này sau đó được đùn vào không gian 3D để cắt đám mây điểm, giúp giảm đáng kể không gian tìm kiếm cho mô hình 3D.
Ví dụ sau đây minh họa cách thực hiện bước phát hiện 2D ban đầu bằng cách sử dụng Ultralytics YOLO11 , sẽ đóng vai trò là đề xuất cho mô-đun nâng 3D:
from ultralytics import YOLO
# Load the YOLO11 model (optimized for 2D detection)
model = YOLO("yolo11n.pt")
# Run inference on an image (e.g., from a vehicle camera)
results = model("path/to/driving_scene.jpg")
# In a 3D pipeline, these 2D boxes (x, y, w, h) are used to
# isolate the corresponding region in the LiDAR point cloud.
for result in results:
for box in result.boxes:
print(f"Class: {int(box.cls)}, 2D Box: {box.xywh.numpy()}")