Stereo Vision
Khám phá cách thị giác lập thể trích xuất độ sâu 3D cho AI. Tìm hiểu cách thức hoạt động, các ứng dụng và cách tích hợp công nghệ này với Ultralytics YOLO26 mới nhất.
Thị giác lập thể, còn gọi là thị giác stereoscopic, là một kỹ thuật thị giác máy tính dùng để trích xuất thông tin độ sâu 3D từ ảnh kỹ thuật số. Bằng cách so sánh hai hoặc nhiều ảnh 2D của cùng một cảnh được chụp từ các góc hơi khác nhau—mô phỏng thị giác hai mắt của con người—các hệ thống AI có thể tính chính xác khoảng cách đến đối tượng. Khả năng này là nền tảng của trí tuệ không gian, cho phép máy móc di chuyển trong môi trường và tương tác an toàn với các vật thể thực.
Cách thị giác lập thể hoạt động#
Quy trình này dựa trên việc tìm ra những điểm khác biệt giữa góc nhìn của camera trái và phải. Thách thức cốt lõi là bài toán tương ứng, bao gồm việc xác định chính xác cùng một pixel hoặc đặc trưng trong cả hai ảnh. Sau khi tìm được các điểm khớp, hệ thống tính độ dịch chuyển theo phương ngang để tạo bản đồ disparity.
Trong bản đồ disparity, độ dịch chuyển lớn hơn cho biết đối tượng ở gần hơn, còn độ dịch chuyển nhỏ hơn nghĩa là đối tượng ở xa hơn. Sau đó, bản đồ này được chuyển thành đám mây điểm 3D dày đặc bằng phương pháp tam giác hóa. Trước đây, các thuật toán toán học truyền thống thường thực hiện những phép tính này, nhưng các phương pháp hiện đại ngày càng dựa vào mạng nơ-ron tích chập (CNNs) và deep learning để cải thiện độ chính xác khớp đặc trưng trong điều kiện ánh sáng phức tạp hoặc vùng không có kết cấu, như được trình bày chi tiết trong nghiên cứu thị giác máy tính gần đây của IEEE.
Thị giác lập thể và ước tính độ sâu đơn mắt#
Cần phân biệt thị giác lập thể với các kỹ thuật ước tính độ sâu chỉ sử dụng một camera. Ước tính độ sâu đơn mắt dùng model deep learning để dự đoán cấu trúc 3D từ một ảnh 2D dựa trên các gợi ý thị giác như phối cảnh và bóng đổ. Ngược lại, hệ thống lập thể đo trực tiếp độ sâu bằng mối quan hệ hình học giữa hai thấu kính camera. Dù các phương pháp đơn mắt cần ít compute hơn, thị giác lập thể thường cung cấp phép đo độ sâu chính xác theo thời gian thực, cần thiết cho các hệ thống an toàn trọng yếu.
Các ứng dụng AI trong thực tế#
Hệ thống lập thể rất quan trọng trong nhiều ngành cần phát hiện đối tượng 3D trong thế giới thực và nhận thức không gian.
- Điều hướng khi lái xe tự hành: Các công nghệ tự lái do những công ty như Waymo phát triển sử dụng camera lập thể để đo chính xác khoảng cách đến người đi bộ, phương tiện khác và chướng ngại vật theo thời gian thực, đưa dữ liệu độ sâu chính xác này vào các hệ thống mô hình hóa dự đoán để lập kế hoạch lộ trình an toàn.
- Tự động hóa robot công nghiệp: Robot sản xuất sử dụng thị giác lập thể cho các tác vụ gắp vật phức tạp trong thùng. Bằng cách tính chính xác độ sâu và hướng của các bộ phận rải rác trên băng chuyền, hệ thống robot có thể căn chỉnh chính xác bộ kẹp, nâng cao hiệu quả trong pipeline sản xuất thông minh.
- Chẩn đoán hình ảnh y tế tiên tiến: Robot phẫu thuật và hệ thống chẩn đoán sử dụng camera lập thể để cung cấp cho bác sĩ phẫu thuật hình ảnh 3D giải phẫu bệnh nhân với độ chính xác cao trong các thủ thuật xâm lấn tối thiểu; đây là xu hướng thường được nhấn mạnh trong các bản tiền ấn phẩm arXiv gần đây về AI y tế.
Tích hợp AI với dữ liệu lập thể#
Thông thường, nhà phát triển kết hợp thị giác lập thể với phát hiện đối tượng để xác định cả đối tượng nào lẫn ở cách bao xa. Framework OpenCV thường được dùng để tạo bản đồ disparity, thường tích hợp trong các pipeline PyTorch hoặc TensorFlow rộng hơn, còn model AI xử lý tri giác. Dưới đây là ví dụ khái niệm về phát hiện đối tượng bằng Ultralytics YOLO26 và lấy bounding box của chúng; sau đó có thể dùng các bounding box này để trích xuất giá trị khoảng cách trung bình từ bản đồ disparity OpenCV tương ứng.
import cv2
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 model for high-speed edge inference
model = YOLO("yolo26n.pt")
# Read the left camera frame (typically used as the primary frame for detection)
left_frame = cv2.imread("left_camera_frame.jpg")
# Run inference to detect objects in the scene
results = model(left_frame)
# Extract bounding boxes to later combine with a stereo disparity map
for result in results:
for box in result.boxes.xyxy:
x1, y1, x2, y2 = map(int, box[:4])
print(f"Detected object bounding box: [{x1}, {y1}, {x2}, {y2}]")
# Depth values can now be extracted from the disparity map within this specific regionNhững tiến bộ và xu hướng tương lai#
Quy trình huấn luyện và triển khai các model tri giác tiên tiến đã được tinh giản đáng kể. Với các công cụ như Ultralytics Platform, các nhóm có thể gán nhãn an toàn cho các cặp ảnh lập thể, huấn luyện model mạnh mẽ và xuất model sang các định dạng tối ưu như TensorRT để inference độ trễ thấp trên thiết bị edge AI.
Những tiến bộ gần đây từ các tổ chức như Phòng thí nghiệm Thị giác và Học tập Stanford cho thấy xu hướng ngày càng tăng trong việc kết hợp thị giác lập thể với Vision Transformer (ViT) và các model nền tảng từ Google DeepMind để giải bài toán tương ứng nhanh hơn. Hơn nữa, khi các model AI đa phương thức từ những đơn vị dẫn đầu như Anthropic và OpenAI phát triển, việc tích hợp dữ liệu không gian 3D mạnh mẽ sẽ tiếp tục mở rộng giới hạn về khả năng tri giác và thấu hiểu của các AI agent hiện thân.










