Depth Estimation
Tìm hiểu cách ước tính độ sâu (depth estimation) thêm phối cảnh 3D vào computer vision. Khám phá các kỹ thuật như độ sâu đơn ảnh và thị giác âm thanh nổi bằng các model Ultralytics YOLO26.
Ước tính độ sâu là một quy trình quan trọng trong thị giác máy tính giúp xác định khoảng cách của các đối tượng so với camera, bổ sung hiệu quả chiều thứ ba cho hình ảnh 2D. Bằng cách tính toán khoảng cách của từng pixel trong hình ảnh, kỹ thuật này tạo ra một bản đồ độ sâu, một dạng 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 thức các mối quan hệ không gian và hình học. Đây là công nghệ nền tảng để cho phép các hệ thống tự hành di chuyển an toàn, hiểu môi trường và tương tác với các đối tượng vật lý.
Link to this sectionCác Cơ chế và Kỹ thuật Cốt lõi#
Có nhiều cách để thực hiện ước tính độ sâu, từ các giải pháp dựa trên phần cứng đến các phương pháp thuần túy dựa trên phần mềm sử dụng trí tuệ nhân tạo.
- Hệ thống Thị giác Âm thanh nổi: Tương tự như mắt người, thị giác âm thanh nổi sử dụng hai camera đặt cạnh nhau. Các thuật toán phân tích những khác biệt nhỏ, hay độ chênh lệch, giữa hình ảnh bên trái và bên phải để tam giác đạc khoảng cách. Quá trình này phụ thuộc rất nhiều vào khớp đặc trưng chính xác để xác định các cùng điểm trong cả hai khung hình.
- Ước tính Độ sâu Đơn mắt: Phương pháp tiên tiến này ước tính độ sâu từ một hình ảnh duy nhất. Vì một bức ảnh 2D thiếu dữ liệu độ sâu vốn có, các mô hình học sâu được huấn luyện trên các bộ dữ liệu khổng lồ để nhận diện các tín hiệu thị giác như phối cảnh, kích thước đối tượng và sự che khuất. Các kiến trúc hiện đại, chẳng hạn như mạng thần kinh tích chập (CNNs), vượt trội trong tác vụ này, giúp việc suy luận cấu trúc 3D từ các camera tiêu chuẩn trở nên khả thi.
- LiDAR và Time-of-Flight (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 Time-of-Flight phát ra các xung ánh sáng và đ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 sử dụng để thu thập dữ liệu thực tế (ground truth) để huấn luyện các mô hình học máy.
Link to this sectionCác ứng dụng trong thực tế#
Khả năng đo lường khoảng cách mang tính chuyển đổi trên nhiều ngành công nghiệp, 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 tính độ 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à di chuyển an toàn trên các mạng lưới đường bộ phức tạp. Đây là thành phần không thể thiếu của phát hiện đối tượng 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 đối tượng. Ví dụ, một robot kho vận cần biết chính xác khoảng cách đến một kệ hàng để lấy kiện hàng mà không va chạm với nó.
- Thực tế Tăng cường (AR): Để đặt các đối tượng ảo vào một cảnh thực tế một cách thuyết phục, các thiết bị AR phải hiểu hình học 3D của môi trường. Ước tính độ sâu đảm bảo rằng các nhân vật ảo có thể ẩn sau đồ nội thất thực, một khái niệm được gọi là xử lý che khuất.
Link to this sectionVí dụ Mã: Ước tính Độ sâu Đơn mắt#
Mặc dù có tồn tại các mô hình độ sâu chuyên biệt, bạn thường có thể suy luận các mối quan hệ không gian bằng cách sử dụng các BBox của đối tượng như một đại diện cho khoảng cách trong các tình huống đơn giản (các hộp lớn hơn thường có nghĩa là đối tượng gần hơn). Đây là cách tải một mô hình bằng cách sử dụng gói ultralytics để phát hiện đối tượng, vốn là bước đầu tiên trong nhiều quy trình nhận biết độ 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}")Link to this sectionMối quan hệ với các Khái niệm Thị giác Máy tính khác#
Điều quan trọng là phải phân biệt ước tính độ sâu với các thuật ngữ liên quan. Trong khi phát hiện đối tượng xác định đối tượng là gì và ở đâu trong không gian 2D (sử dụng BBox), thì ước tính độ sâu xác định đối tượng cách xa bao nhiêu (trục Z). Tương tự, phân đoạn ngữ nghĩa phân loại các pixel thành các danh mục (ví dụ: đường, bầu trời, xe hơi), trong khi ước tính độ sâu gán một giá trị khoảng cách cho chính các pixel đó.
Link to this sectionNhữ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ư Neural Radiance Fields (NeRF) sử dụng nhiều hình ảnh 2D để tái tạo các cảnh 3D phức tạp, dựa nhiều vào các nguyên lý độ sâu cơ bản. Hơn nữa, khi các kỹ thuật tối ưu hóa mô hình được cải thiện, việc chạy ước tính độ sâu có độ chính xác cao trên các thiết bị AI tại biên đang trở nên khả thi. Điều này cho phép thực hiện tính toán không gian theo thời gian thực trên phần cứng nhỏ như máy bay không người lái hoặc kính thông minh, được hỗ trợ bởi các nền tảng như Ultralytics Platform để huấn luyện và triển khai mô hình hiệu quả.






