Depth Estimation
Tìm hiểu cách depth estimation bổ sung góc nhìn 3D cho computer vision. Khám phá các kỹ thuật như monocular depth và stereo vision bằng các model Ultralytics YOLO26.
Ước lượng độ sâu là một quy trình quan trọng trong thị giác máy tính, xác định khoảng cách từ các vật thể đến camera, qua đó bổ sung chiều thứ ba cho hình ảnh 2D. Bằng cách tính toán khoảng cách đến từng pixel trong hình ảnh, kỹ thuật này tạo ra bản đồ độ sâu, một biểu diễn trong đó cường độ pixel tương ứng với khoảng cách. Khả năng này mô phỏng thị giác hai mắt của con người, cho phép máy móc nhận biết các mối quan hệ không gian và hình học. Đây là công nghệ nền tảng để các hệ thống tự hành di chuyển an toàn, hiểu môi trường xung quanh và tương tác với các vật thể vật lý.
Cơ chế và kỹ thuật cốt lõi#
Có nhiều cách để thực hiện ước lượng độ sâu, từ các giải pháp dựa trên phần cứng đến các phương pháp hoàn toàn dựa trên phần mềm sử dụng trí tuệ nhân tạo.
- Hệ thống thị giác stereo: Tương tự mắt người, thị giác stereo sử dụng hai camera được đặt cạnh nhau. Các thuật toán phân tích những khác biệt nhỏ, hay độ lệch, giữa hình ảnh bên trái và bên phải để xác định khoảng cách bằng phương pháp tam giác. Phương pháp này phụ thuộc nhiều vào khớp đặc trưng chính xác để xác định cùng một điểm trong cả hai khung hình.
- Ước lượng độ sâu đơn ảnh: Phương pháp nâng cao này ước lượng độ sâu từ một hình ảnh duy nhất. Vì một ảnh 2D đơn lẻ không chứa dữ liệu độ sâu vốn có, các model deep learning được huấn luyện trên các tập dữ liệu quy mô lớn để nhận biết những dấu hiệu thị giác như phối cảnh, kích thước vật thể và hiện tượng che khuất. Các kiến trúc hiện đại, chẳng hạn như mạng nơ-ron tích chập (CNNs), thực hiện tốt tác vụ này, giúp suy ra cấu trúc 3D từ các camera thông thường.
- LiDAR và Đo thời gian bay (ToF): Các cảm biến chủ động như LiDAR (phát hiện và đo khoảng cách bằng ánh sáng) và camera Đo thời gian bay phát ra các xung ánh sáng rồi đo thời gian chúng quay trở lại. Các phương pháp này tạo ra đám mây điểm có độ chính xác cao và thường được dùng để thu thập dữ liệu ground truth cho việc huấn luyện model machine learning.
Các ứng dụng trong thực tế#
Khả năng đo khoảng cách mang tính chuyển đổi trong nhiều ngành, thúc đẩy các ứng dụng đòi hỏi nhận thức không gian.
- Lái xe tự hành: Xe tự lái dựa vào ước lượng độ sâu để phát hiện chướng ngại vật, đo khoảng cách đến các phương tiện khác và điều hướng an toàn trên những mạng lưới đường phức tạp. Đây là thành phần thiết yếu của phát hiện vật thể 3D để nhận diện người đi bộ và người đi xe đạp.
- Robot và tự động hóa: Robot sử dụng nhận thức độ sâu cho các tác vụ như lập kế hoạch đường đi và thao tác với vật thể. Ví dụ, một robot trong kho cần biết chính xác khoảng cách đến kệ để lấy một kiện hàng mà không va vào kệ.
- Thực tế tăng cường (AR): Để đặt các vật thể ảo một cách thuyết phục vào cảnh thực, thiết bị AR phải hiểu hình học 3D của môi trường. Ước lượng độ sâu đảm bảo các nhân vật ảo có thể ẩn phía sau đồ nội thất thật, một khái niệm được gọi là xử lý che khuất.
Ví dụ code: Ước lượng độ sâu đơn ảnh#
Mặc dù có các model độ sâu chuyên dụng, trong những tình huống đơn giản, bạn thường có thể suy ra các mối quan hệ không gian bằng cách dùng các bounding box của object detection làm đại diện cho khoảng cách (box lớn hơn thường biểu thị vật thể ở gần hơn). Dưới đây là cách load một model bằng package ultralytics để phát hiện vật thể, bước đầu tiên trong nhiều pipeline có nhận thức độ sâu.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Process results
for result in results:
# Get bounding boxes (xyxy format)
boxes = result.boxes.xyxy
# Iterate through detections
for box in boxes:
print(f"Detected object at: {box}")Mối quan hệ với các khái niệm khác trong thị giác máy tính#
Điều quan trọng là phân biệt ước lượng độ sâu với các thuật ngữ liên quan. Trong khi object detection xác định vật thể là gì và ở đâu trong không gian 2D (bằng bounding box), ước lượng độ sâu xác định vật thể cách bao xa (trục Z). Tương tự, phân đoạn ngữ nghĩa phân loại các pixel thành các nhóm (ví dụ: đường, bầu trời, xe hơi), còn ước lượng độ sâu gán một giá trị khoảng cách cho chính những pixel đó.
Những tiến bộ trong AI không gian#
Những tiến bộ gần đây trong AI tạo sinh đang thu hẹp khoảng cách giữa thị giác 2D và 3D. Các kỹ thuật như Trường bức xạ thần kinh (NeRF) sử dụng nhiều hình ảnh 2D để tái dựng các cảnh 3D phức tạp, phụ thuộc nhiều vào các nguyên lý độ sâu nền tảng. Ngoài ra, khi các kỹ thuật tối ưu hóa model được cải thiện, việc chạy ước lượng độ sâu có độ chính xác cao trên thiết bị AI biên đang trở nên khả thi. Điều này cho phép thực hiện điện toán không gian theo thời gian thực trên phần cứng nhỏ như drone hoặc kính thông minh, với sự hỗ trợ của các nền tảng như Ultralytics Platform để huấn luyện và triển khai model hiệu quả.









