Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Ước tính độ sâu

Khám phá cách ước tính độ sâu tạo ra bản đồ độ sâu từ hình ảnh—âm thanh nổi, ToF, LiDAR và học sâu đơn sắc—để hỗ trợ robot, AR/VR và nhận thức 3D.

Ước lượng độ sâu là một nhiệm vụ cơ bản trong thị giác máy tính (CV) , bao gồm việc xác định khoảng cách giữa các vật thể trong một cảnh so với máy ảnh. Bằng cách tính toán giá trị độ sâu cho mỗi pixel trong ảnh, quá trình này chuyển đổi dữ liệu hai chiều tiêu chuẩn thành biểu diễn 3D phong phú, thường được gọi là bản đồ độ sâu. Khả năng này rất cần thiết để máy móc nhận thức các mối quan hệ không gian, cho phép chúng định hướng môi trường, thao tác với vật thể và hiểu hình dạng của thế giới, tương tự như hệ thống thị giác của con người.

Cơ chế ước tính độ sâu

Có thể ước tính độ sâu thông qua nhiều phương pháp khác nhau, từ cảm biến chủ động sử dụng phần cứng đến phương pháp học sâu (DL) dựa trên phần mềm.

  • Tầm nhìn lập thể: Lấy cảm hứng từ thị giác hai mắt của con người, hệ thống tầm nhìn lập thể sử dụng hai camera đặt hơi cách nhau. Bằng cách phân tích sự chênh lệch - sự khác biệt về vị trí theo chiều ngang của một vật thể giữa ảnh trái và ảnh phải - các thuật toán có thể tính toán khoảng cách bằng phép tam giác toán học. Phương pháp này chủ yếu dựa vào việc khớp đặc điểm đáng tin cậy trên các khung hình.
  • Ước tính Độ sâu Đơn sắc: Kỹ thuật này ước tính độ sâu từ một hình ảnh 2D duy nhất, một nhiệm vụ đầy thách thức vì một hình ảnh duy nhất thiếu thông tin độ sâu rõ ràng. Mạng Nơ-ron Tích chập (CNN) hiện đại được đào tạo trên các tập dữ liệu lớn để nhận dạng các tín hiệu đơn sắc, chẳng hạn như kích thước vật thể, phối cảnh và độ che khuất. Nghiên cứu về dự đoán độ sâu đơn sắc đã có những tiến bộ đáng kể, cho phép các camera tiêu chuẩn suy ra các cấu trúc 3D.
  • Cảm biến chủ động (LiDAR và ToF): Không giống như hệ thống camera thụ động, cảm biến chủ động phát ra tín hiệu để đo khoảng cách. LiDAR (Phát hiện và Đo khoảng cách bằng Ánh sáng) sử dụng xung laser để tạo ra các đám mây điểm 3D chính xác, trong khi camera Thời gian bay (ToF) đo thời gian ánh sáng phản hồi về cảm biến. Các công nghệ này cung cấp dữ liệu thực địa có độ chính xác cao, thường được sử dụng để huấn luyện các mô hình học máy (ML) .

Các Ứng dụng Thực tế

Khả năng nhận thức chiều thứ ba mở ra chức năng quan trọng trong nhiều ngành công nghiệp khác nhau.

Hệ thống tự động và Robot

Trong lĩnh vực xe tự hành , việc ước tính độ sâu rất quan trọng đối với an toàn và điều hướng. Xe tự lái kết hợp dữ liệu camera với LiDAR để detect chướng ngại vật, ước tính khoảng cách đến các phương tiện khác và xây dựng bản đồ đường đi theo thời gian thực. Tương tự, trong robot , nhận thức chiều sâu cho phép cánh tay tự động thực hiện các thao tác "nhặt và đặt" bằng cách đánh giá chính xác vị trí và hình dạng của các vật phẩm trong quy trình tự động hóa sản xuất .

Thực tế tăng cường (AR)

Để trải nghiệm thực tế tăng cường trở nên sống động, các vật thể ảo phải tương tác thực tế với thế giới vật lý. Ước tính độ sâu cho phép thiết bị di động hiểu được hình dạng của một căn phòng, cho phép đặt đồ nội thất hoặc nhân vật ảo trên sàn hoặc ẩn sau các vật thể thực tế (che khuất), cải thiện đáng kể trải nghiệm người dùng.

Python Ví dụ: Xấp xỉ khoảng cách với YOLO11

Mặc dù tồn tại các mô hình độ sâu chuyên dụng, các nhà phát triển thường sử dụng 2D phát hiện đối tượng cùng với dữ liệu hiệu chuẩn để ước tính khoảng cách. ultralytics Thư viện đơn giản hóa việc này thông qua mô-đun giải pháp, cho phép người dùng ước tính khoảng cách của các đối tượng được theo dõi dựa trên vị trí hộp giới hạn của chúng.

Đoạn mã sau đây minh họa cách sử dụng YOLO11 để track các vật thể và tính toán khoảng cách gần đúng của chúng tới máy ảnh.

import cv2
from ultralytics import YOLO, solutions

# Load the YOLO11 model for object detection
model = YOLO("yolo11n.pt")

# Initialize the DistanceCalculation solution
# This estimates distance based on bounding box centroids
dist_obj = solutions.DistanceCalculation(names=model.names, view_img=True)

# Open a video file or camera stream
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break

    # Track objects and calculate distance
    tracks = model.track(im0, persist=True, show=False)
    im0 = dist_obj.start_process(im0, tracks)

    # Display result (or save/process further)
    cv2.imshow("Distance Estimation", im0)
    if cv2.waitKey(1) == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

Ước tính độ sâu so với các khái niệm liên quan

Điều quan trọng là phải phân biệt ước tính độ sâu với các thuật ngữ tương tự trong hệ sinh thái AI:

  • Phát hiện Đối tượng 3D : Trong khi ước tính độ sâu gán giá trị khoảng cách cho mỗi pixel, phát hiện đối tượng 3D tập trung vào việc xác định các đối tượng cụ thể và đặt một hộp giới hạn 3D (hình hộp chữ nhật) xung quanh chúng. Phát hiện 3D cho bạn biết "vị trí và kích thước của xe", trong khi ước tính độ sâu cung cấp hình dạng của toàn bộ khung cảnh, bao gồm cả đường và hậu cảnh.
  • Tính toán khoảng cách : Điều này thường đề cập đến việc đo khoảng cách tuyến tính giữa hai điểm cụ thể hoặc từ camera đến một vật thể riêng biệt (thường sử dụng thuật toán tìm kiếm 2D), như được minh họa trong ví dụ mã ở trên. Ước tính độ sâu là một tác vụ dự đoán dày đặc, theo từng pixel, tạo ra bản đồ địa hình hoàn chỉnh của chế độ xem.
  • Dòng quang học : Đo lường chuyển động biểu kiến của vật thể giữa các khung hình. Mặc dù dòng quang học có thể được sử dụng để suy ra độ sâu (cấu trúc từ chuyển động), đầu ra chính của nó là trường vectơ chuyển động, chứ không phải bản đồ khoảng cách tĩnh.

Tiến bộ AI không gian

Những tiến bộ gần đây trong Trí tuệ nhân tạo (AI) và các mô hình nền tảng đang tiếp tục thu hẹp khoảng cách giữa 2D và 3D. Các kỹ thuật như Trường bức xạ thần kinh (Neural Radiance Fields - NeRF) sử dụng hình ảnh 2D thưa thớt để tái tạo các cảnh 3D phức tạp, dựa chủ yếu vào các nguyên tắc chiều sâu cơ bản. Khi việc tối ưu hóa mô hình được cải thiện, việc ước tính chiều sâu với độ chính xác cao đang trở nên khả thi trên các thiết bị biên, cung cấp năng lượng cho thế hệ máy bay không người lái thông minh, robot dịch vụ và thiết bị điện toán không gian tiếp theo.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay