Ultralytics YOLO26 hiện hỗ trợ ước tính độ sâu đơn ảnh
Tìm hiểu cách tác vụ ước tính độ sâu mới trong Ultralytics YOLO26 dự đoán độ sâu theo từng pixel ở thang đo thực từ một ảnh RGB duy nhất mà không cần hệ thống camera stereo hoặc LiDAR.

Trước đây, việc thêm thông tin độ sâu vào pipeline YOLO đồng nghĩa với việc bạn phải tự xây dựng mọi thứ. Cách làm phổ biến là chạy YOLO để phát hiện rồi kết hợp với một model độ sâu riêng từ dự án khác, chẳng hạn như MiDaS hoặc Depth Anything. Điều đó đồng nghĩa với một dependency thứ hai, một framework thứ hai và hai bộ định dạng đầu vào, đầu ra cần được quy đổi cho tương thích.
Ước tính độ sâu đơn ảnh giờ đây là một tác vụ native trong Ultralytics YOLO26. Một ảnh RGB duy nhất tạo ra một giá trị khoảng cách cho mỗi pixel, sử dụng cùng package, workflow và đường dẫn export như các tác vụ phát hiện, phân đoạn và pose.
Ước tính độ sâu là gì?#
Ước tính độ sâu dự đoán bản đồ độ sâu theo từng pixel từ một ảnh RGB duy nhất mà không cần camera thứ hai hoặc cảm biến bổ sung. Mỗi pixel đầu ra chứa một giá trị độ sâu tính bằng mét, biểu thị khoảng cách ước tính từ camera đến điểm bề mặt đó.
Đầu ra là một bản đồ float dày đặc có shape (H, W), được căn chỉnh với đầu vào, trong đó mỗi pixel chứa khoảng cách tuyệt đối tính bằng mét; đây là khoảng cách từ camera, không phải thứ tự tương đối cho biết vật nào ở gần hay xa hơn.
Độ sâu là một tác vụ độc lập với checkpoint riêng, và đầu ra của nó chỉ là bản đồ độ sâu; nó không trả về bounding box hoặc segmentation mask. Vì vậy, việc kết hợp phát hiện với độ sâu đòi hỏi chạy hai model và hai lượt forward pass. Điểm khác biệt so với cách làm trước đây là cả hai giờ nằm trong cùng một package, dùng chung một lần cài đặt, một interface train và predict, một đường dẫn export và một phiên bản duy nhất cần theo dõi, thay vì phải duy trì framework thứ hai song song với framework đầu tiên.
Đầu ra theo từng pixel này giúp độ sâu trở nên hữu ích cho việc phát hiện chướng ngại vật và không gian trống, kiểm tra khoảng hở, phân tích bố cục cảnh và hiểu vật nào nằm phía trước vật nào.
Hình 1. Ước tính độ sâu bằng Ultralytics YOLO26 cho hoạt động giám sát an toàn và tuân thủ.
Ultralytics YOLO26 cung cấp năm model độ sâu được pretrained, từ yolo26n-depth đến yolo26x-depth, được huấn luyện trên một tổ hợp đa dataset quy mô lớn gồm khoảng 2,19 triệu ảnh trong nhà và ngoài trời. Trên tập NYU Depth V2, độ chính xác δ1 của các model dao động từ 0,882 ở model nano đến 0,933 ở model extra-large, cho phép bạn lựa chọn sự cân bằng giữa tốc độ và độ chính xác phù hợp với mục tiêu triển khai.
Độ sâu không giới hạn theo thiết kế#
Phần lớn model độ sâu giới hạn dự đoán trong một khoảng cố định, chẳng hạn 0–10 mét, hoạt động tốt với cảnh trong nhà nhưng suy giảm khi triển khai ngoài trời. Thay vào đó, Ultralytics dự đoán độ sâu trên thang log không giới hạn, không có ngưỡng cứng.
Sự khác biệt thể hiện rõ trong quá trình kiểm thử. Một model bị giới hạn sẽ gần như đạt trạng thái bão hòa ngay lập tức khi được huấn luyện trên dữ liệu kết hợp trong nhà và ngoài trời, rồi suy giảm nghiêm trọng trên các dataset có khoảng cách xa hơn như KITTI, nơi vật thể có thể cách xa 80 mét. Cách tiếp cận của Ultralytics YOLO26 không có giới hạn trên như vậy, nên tiếp tục cải thiện khi có thêm dữ liệu và hoạt động ổn định từ vài centimet đến vài trăm mét. Trên KITTI, δ1 đạt 0,942 ở khoảng cách 80 m. Điều đó có nghĩa là một họ model có thể xử lý tốt cả cảnh trên mặt bàn lẫn cảnh đường cao tốc.
So sánh độ sâu của Ultralytics YOLO26 với Depth Anything V2#
Nếu hiện nay bạn đang chạy Depth Anything song song với YOLO, điểm khác biệt nằm ở tốc độ và chi phí tính toán đi kèm. Độ sâu của Ultralytics YOLO26 chạy nhanh hơn tới 20,3× so với Depth Anything V2 Base và 7,7× so với Depth Anything V2 Small, trong một model nhỏ hơn nhiều: model nano có dưới 10M tham số, so với khoảng 24M ở checkpoint nhỏ hơn của DA V2.
Hình 2. Benchmark tốc độ của độ sâu Ultralytics YOLO26 so với Depth Anything V2.
Đó chính là mục tiêu của thiết kế này. Các model của Depth Anything V2 lớn hơn đáng kể; Ultralytics YOLO26-Depth được xây dựng để mang lại hiệu năng độ sâu mạnh mẽ với kích thước và tốc độ giúp giảm chi phí tính toán trên mỗi frame, đồng thời triển khai được trên những phần cứng mà các model đó không thể đáp ứng. Các chỉ số độ chính xác của từng model trên NYU Depth V2 và KITTI được công bố trong tài liệu, để bạn có thể đối chiếu với yêu cầu thực tế của mình.
Nó chạy ở đâu#
Chính sự khác biệt về kích thước quyết định độ sâu có thể được triển khai ở đâu. Hầu hết các team đánh giá độ sâu không thiếu ý tưởng; họ thiếu năng lực tính toán. Drone công suất thấp, robot bốn chân, thiết bị đeo, camera hành trình, phần cứng hội nghị và PC công nghiệp đều chạm ngưỡng công suất và chi phí trước khi chạm ngưỡng độ chính xác.
Độ sâu được cung cấp dưới dạng năm model pretrained, cho phép bạn chọn kích thước phù hợp với mục tiêu triển khai thay vì kích thước thắng benchmark. Vì độ sâu là một tác vụ native của Ultralytics YOLO26, nó sử dụng cùng đường dẫn export như các tác vụ phát hiện, phân đoạn và pose với các định dạng sau: ONNX, TensorRT, CoreML, NCNN, LiteRT.
Bắt đầu với độ sâu Ultralytics YOLO26#
Package Ultralytics Python cung cấp một interface thống nhất duy nhất để train, validate và chạy inference trên mọi tác vụ YOLO26, bao gồm cả độ sâu. Chạy một model độ sâu pretrained chỉ cần một lệnh duy nhất:
from ultralytics import YOLO
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-depth.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
# Access the results
for result in results:
depth_map = result.depth.data.cpu().numpy() # torch.Tensor → NumPy float32, shape (H, W), metersHoặc sử dụng CLI:
yolo depth predict model=yolo26n-depth.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo depth predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom modelKhoảng cách tuyệt đối phụ thuộc vào camera và cảnh của bạn. Nếu shape của bản đồ độ sâu chính xác nhưng scale bị lệch, model.calibrate() sẽ khớp chỉ hai biến trong depth head của model—một scale và một offset—trên khoảng 100 frame được gắn nhãn, trong vài giây, không cần train và không thay đổi phần còn lại của network.
Fine-tune trên dữ liệu riêng#
Để điều chỉnh một model độ sâu pretrained cho camera hoặc domain riêng, hãy bắt đầu từ pretrained weights, sử dụng AdamW và giảm learning rate xuống thấp hơn nhiều so với giá trị mặc định khi train từ đầu, để fine-tuning tinh chỉnh model thay vì ghi đè lên model:
from ultralytics import YOLO
from ultralytics import YOLO
model = YOLO("yolo26s-depth.pt") # start from pretrained weights
model.train(
data="path/to/your_dataset.yaml",
epochs=20,
imgsz=640,
optimizer="AdamW",
lr0=1e-4, # ~100x below the from-scratch default
warmup_bias_lr=1e-4, # keep warmup gentle too
)Vì log head mặc định không bị giới hạn, cách này hoạt động ngay khi sử dụng dù dataset của bạn có khoảng cách gần hay xa, mà không cần tuning max_depth. Nếu chỉ scale tuyệt đối bị lệch đối với camera cụ thể của bạn, model.calibrate() sẽ khớp một phép hiệu chỉnh dạng đóng, nhẹ trên một phần dữ liệu nhỏ được gắn nhãn, trong vài giây, mà không tác động đến weights của network.
Các dataset ghép mỗi ảnh RGB với một file độ sâu .npy trong cấu trúc thư mục tương ứng, và Ultralytics cung cấp các config tích hợp sẵn cho NYU Depth V2, KITTI, Hypersim, SUN RGB-D và ARKitScenes, nên hầu hết các team có thể ngay lập tức bắt đầu validation trên một benchmark tiêu chuẩn.
Các use case chính của ước tính độ sâu#
Vì tính năng mới này có thể hoạt động từ một camera thông thường duy nhất, ước tính độ sâu đơn ảnh mở ra vô số cơ hội cho các sản phẩm và ngành công nghiệp không thể biện minh cho chi phí, mức tiêu thụ điện hoặc overhead hiệu chuẩn của một hệ thống stereo hay LiDAR. Hãy cùng xem xét một số ngành và use case chính có thể hưởng lợi từ tính năng này:
- Robotics và điều hướng tự động. Robot di động và drone có thể ước tính khoảng cách đến chướng ngại vật và không gian trống từ một camera tích hợp duy nhất, hỗ trợ lập kế hoạch đường đi theo thời gian thực mà không cần phần cứng độ sâu chuyên dụng.
- Nhận biết trong công nghiệp và logistics. Kiểm tra khoảng hở, phát hiện không gian trống và nắm bắt bối cảnh kệ hàng hoặc lối đi từ một camera cố định duy nhất, ở bất kỳ nơi nào việc thêm cảm biến thứ hai không thực tế.
- Giám sát an toàn và tuân thủ. Vùng an toàn cho xe nâng và nhà kho, phát hiện sự cố đường sắt, phát hiện người bị ngã và vật thể bị bỏ lại trên hệ thống CCTV hiện có: bổ sung thông tin khoảng cách vào các luồng camera đã được lắp đặt, song song với các cảm biến an toàn đã được chứng nhận thay vì thay thế chúng.
- Kiểm tra hạ tầng và tài sản. Phân tích khoảng cách an toàn của đường dây trên cao, kiểm tra tài sản và ăn mòn bằng drone, cũng như khảo sát trên không, trong đó cùng một họ model phải xử lý được cả chi tiết cận cảnh lẫn cảnh ở khoảng cách xa.
- Hỗ trợ người lái và nhận thức cho ô tô. Đầu ra độ sâu tầm xa, không giới hạn có nghĩa là cùng một họ model xử lý tốt cảnh trong nhà cận cảnh cũng có thể tổng quát hóa cho các cảnh lái xe ở khoảng cách từ 80 m trở lên.
- AR và nội dung không gian. Việc đặt các vật thể ảo một cách thuyết phục trong cảnh thực hoặc áp dụng các hiệu ứng nhận biết độ sâu bắt đầu từ việc biết chính xác mỗi pixel cách camera bao xa.
Đưa ước tính độ sâu vào mọi hoạt động triển khai Ultralytics YOLO26#
Với ước tính độ sâu giờ đây là một tác vụ native của Ultralytics YOLO26, các team có thể khai thác khoảng cách theo từng pixel từ bất kỳ camera RGB nào trong nhiều ngành, sử dụng cùng workflow train, val, predict và export mà họ đã quen thuộc từ các tác vụ phát hiện, phân đoạn và pose, đồng thời giảm bớt một dependency bên thứ ba cần duy trì.
Vì vậy, khi lập kế hoạch triển khai với độ sâu Ultralytics YOLO26, hãy cùng xem xét một số điểm chính cần ghi nhớ:
- Ultralytics YOLO Depth được xây dựng cho camera RGB. Mọi camera tiêu chuẩn đều có thể sử dụng, bao gồm webcam, điện thoại, camera công nghiệp hoặc drone. Tuy nhiên, các modality khác như point cloud LiDAR, radar, sonar, dải nhiệt và đa phổ, hoặc dữ liệu mesh và IFC nằm ngoài định dạng đầu vào của model.
- Khoảng cách theo đơn vị thực cho các quyết định nhận thức. Đầu ra là khoảng cách thực tính bằng mét, phù hợp cho điều hướng, kiểm tra khoảng hở và giám sát. Tuy nhiên, với mọi ứng dụng yêu cầu dung sai được chứng nhận, thiết bị đo lường chuyên dụng vẫn là công cụ phù hợp.
- Inference theo từng ảnh. Độ sâu chạy độc lập trên mỗi frame, nhất quán với mọi tác vụ Ultralytics YOLO26 khác, nên có thể tích hợp vào pipeline xử lý từng frame hiện có mà không cần thay đổi. Việc suy luận trên cả chuỗi frame vẫn thuộc layer ứng dụng của bạn.
- Ultralytics YOLO26-Depth hoạt động tốt nhất trên các bề mặt có texture và không trong suốt. Kính, gương, mặt nước tĩnh, kim loại đánh bóng và bầu trời quang vốn mơ hồ đối với mọi phương pháp dùng một camera, vì vậy bạn nên validation trên các cảnh đại diện cho môi trường của mình.
Bạn quan tâm đến vision AI? Khám phá các tùy chọn cấp phép của chúng tôi để đưa computer vision vào các dự án của bạn. Truy cập repository GitHub để khám phá đầy đủ các tác vụ và integration của Ultralytics, đồng thời xem Ultralytics Platform để bắt đầu xây dựng workflow vision AI end-to-end của riêng bạn.









