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 thang đo metric cho từng pixel từ một ảnh RGB, không cần hệ thống stereo hay LiDAR.

Cho đến nay, việc bổ sung độ sâu vào quy trình YOLO đồng nghĩa với việc tự ghép các thành phần. 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 đồng bộ.
Ước tính độ sâu đơn nhãn giờ đây là tác vụ tích hợp sẵn trong Ultralytics YOLO26. Chỉ một ảnh RGB cũng tạo ra giá trị khoảng cách cho từng pixel bằng cùng package, quy trình và đường dẫn xuất như các tác vụ phát hiện, phân đoạn và ước tính tư thế.
Ướ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, không cần camera thứ hai hoặc cảm biến bổ sung. Mỗi pixel đầu ra chứa 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à bản đồ số thực dày đặc có shape (H, W), được căn chỉnh với đầu vào; mỗi pixel chứa khoảng cách tuyệt đối tính bằng mét — khoảng cách từ camera, chứ không phải thứ tự tương đối về vật nào gần hơn hay xa hơn.
Độ sâu là tác vụ độc lập với checkpoint riêng và chỉ tạo ra bản đồ độ sâu; tác vụ này không trả về bounding box hoặc mask phân đoạn. 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 suy luận. Điểm khác biệt so với cách làm trước đây là giờ đây cả hai nằm trong cùng một package, dùng chung một lần cài đặt, một giao diện huấn luyện và dự đoán, một đường dẫn xuất và một phiên bản cần theo dõi, thay vì phải duy trì thêm một framework bên cạnh framework thứ nhất.
Đầu ra theo từng pixel này giúp độ sâu hữu ích cho việc phát hiện chướng ngại vật và vùng trống, kiểm tra khoảng hở, 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 để giám sát an toàn và tuân thủ.
Ultralytics YOLO26 có năm model độ sâu được huấn luyện trước, từ yolo26n-depth đến yolo26x-depth, được huấn luyện trên tập hợp đa dạng gồm nhiều dataset với khoảng 2,19 triệu ảnh trong nhà và ngoài trời. Trên tập dữ liệu NYU Depth V2, độ chính xác δ1 dao động từ 0,882 ở model nano đến 0,933 ở model extra-large, nhờ đó bạn có thể chọn phương án cân bằng 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ế#
Hầu hết model độ sâu giới hạn dự đoán ở một phạm vi cố định, chẳng hạn 0–10 mét. Cách này hoạt động tốt với cảnh trong nhà nhưng không phù hợp với môi trường ngoài trời. Thay vào đó, Ultralytics dự đoán độ sâu trên thang logarit không giới hạn, không có ngưỡng cắt cố định.
Sự khác biệt thể hiện rõ qua thử nghiệm. Model có giới hạn gần như chững lại ngay lập tức khi được huấn luyện trên dữ liệu kết hợp cảnh trong nhà và ngoài trời, đồng thời hoạt động kém trên các dataset tầm xa hơn như KITTI, nơi đối tượng có thể cách xa 80 mét. Phương pháp của Ultralytics YOLO26 không có giới hạn này, vì vậy model tiếp tục cải thiện khi có thêm dữ liệu và hoạt động ổn định ở phạm vi từ vài centimet đến vài trăm mét. Trên KITTI, δ1 đạt 0,942 ở phạm vi 80 m. Điều đó có nghĩa là cùng một dòng model có thể xử lý hiệu quả cả cảnh trên mặt bàn lẫn cảnh trên đường cao tốc.
So sánh độ sâu của Ultralytics YOLO26 với Depth Anything V2#
Nếu hiện tại bạn đang chạy Depth Anything cùng với YOLO, khác biệt nằm ở tốc độ và chi phí tính toán đi kèm. Ultralytics YOLO26 depth 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, dù model nhỏ hơn nhiều: model nano có dưới 10 triệu tham số, so với khoảng 24 triệu tham số ở checkpoint nhỏ hơn của DA V2.
Hình 2. Benchmark tốc độ của Ultralytics YOLO26 depth so với Depth Anything V2.
Khoảng cách đó chính là mục tiêu của thiết kế. Các model Depth Anything V2 lớn hơn đáng kể; Ultralytics YOLO26-Depth được xây dựng để đạt hiệu năng độ sâu cao với kích thước và tốc độ giúp giảm chi phí tính toán trên mỗi khung hình, đồng thời có thể triển khai trên những phần cứng mà các model kia không hỗ trợ. Tài liệu công bố số liệu độ chính xác của từng model trên NYU Depth V2 và KITTI để bạn đối chiếu với yêu cầu thực tế.
Triển khai ở đâu#
Chính khác biệt về kích thước này quyết định khả năng triển khai độ sâu trên thực tế. Hầu hết các nhóm đánh giá công nghệ độ sâu không thiếu ý tưởng mà 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, thiết bị 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ó năm model được huấn luyện trước, cho phép bạn chọn kích thước phù hợp với thiết bị đích thay vì chỉ chọn model có kết quả benchmark tốt nhất. Vì độ sâu là tác vụ gốc của Ultralytics YOLO26, tác vụ này dùng cùng quy trình export như detection, segmentation và pose với các định dạng sau: ONNX, TensorRT, CoreML, NCNN, LiteRT.
Bắt đầu với Ultralytics YOLO26 depth#
Gói Python của Ultralytics cung cấp một giao diện thống nhất duy nhất để huấn luyện, validation và chạy inference cho mọi tác vụ YOLO26, bao gồm cả độ sâu. Chạy một model độ sâu được huấn luyện trước chỉ cần một lệnh:
from ultralytics import YOLO
from ultralytics import YOLO
# Tải model
model = YOLO("yolo26n-depth.pt") # tải model chính thức
model = YOLO("path/to/best.pt") # tải model tùy chỉnh
# Dự đoán bằng model
results = model("https://ultralytics.com/images/bus.jpg") # dự đoán trên một ảnh
# Truy cập kết quả
for result in results:
depth_map = result.depth.data.cpu().numpy() # torch.Tensor → NumPy float32, hình dạng (H, W), métHoặc 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 hình dạng của depth map chính xác nhưng tỷ lệ bị lệch, model.calibrate() sẽ khớp chỉ hai biến trong depth head của model—một hệ số tỷ lệ và một độ lệch—dựa trên khoảng 100 khung hình đã gán nhãn, chỉ trong vài giây, không cần huấn luyện và không thay đổi phần còn lại của mạng.
Fine-tune trên dữ liệu của riêng bạn#
Để điều chỉnh model độ sâu đã huấn luyện trước cho camera hoặc miền dữ liệu của riêng bạn, hãy bắt đầu từ trọng số đã huấn luyện trước, dùng AdamW và giảm learning rate thấp hơn nhiều so với giá trị mặc định khi huấn luyện từ đầu để quá trình fine-tune tinh chỉnh model thay vì ghi đè lên model:
from ultralytics import YOLO
from ultralytics import YOLO
model = YOLO("yolo26s-depth.pt") # bắt đầu từ trọng số đã huấn luyện trước
model.train(
data="path/to/your_dataset.yaml",
epochs=20,
imgsz=640,
optimizer="AdamW",
lr0=1e-4, # thấp hơn khoảng 100 lần so với giá trị mặc định khi huấn luyện từ đầu
warmup_bias_lr=1e-4, # đặt warmup nhẹ nhàng
)Vì log head mặc định không bị giới hạn, phương pháp này hoạt động ngay mà không cần cấu hình thêm, dù dataset của bạn ở phạm vi gần hay xa, và không cần tinh chỉnh max_depth. Nếu chỉ có tỷ lệ tuyệt đối bị lệch với camera cụ thể, model.calibrate() sẽ khớp một phép hiệu chỉnh dạng đóng gọn nhẹ trên một tập con nhỏ đã gán nhãn chỉ trong vài giây mà không đụng đến trọng số mạng.
Dataset ghép mỗi ảnh RGB với một tệp độ sâu .npy theo cấu trúc thư mục tương ứng. Ultralytics cung cấp sẵn cấu hình cho NYU Depth V2, KITTI, Hypersim, SUN RGB-D và ARKitScenes, nhờ đó hầu hết các nhóm có thể bắt đầu validation với benchmark tiêu chuẩn ngay lập tức.
Các trường hợp sử dụng chính của ước tính độ sâu#
Vì tính năng mới này hoạt động với một camera thông thường duy nhất, ước tính độ sâu đơn mắt mở ra vô số cơ hội cho các sản phẩm và ngành không thể biện minh cho chi phí, mức tiêu thụ điện hoặc công sức hiệu chuẩn của thiết lập stereo hay LiDAR. Hãy cùng xem một số ngành và trường hợp sử dụng chính có thể hưởng lợi từ tính năng này:
- Robot và điều hướng tự hành. Robot di động và drone có thể ước tính khoảng cách đến chướng ngại vật cũng như vùng trống chỉ từ một camera gắn trên thiết bị, hỗ trợ lập kế hoạch đường đi theo thời gian thực mà không cần phần cứng đo độ sâu chuyên dụng.
- Giám sát công nghiệp và logistics. Kiểm tra khoảng hở, phát hiện vùng trống và nhận biết bối cảnh kệ hàng hoặc lối đi chỉ từ một camera cố định, ở bất kỳ nơi nào việc bổ sung cảm biến thứ hai không khả thi.
- 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 bị bỏ quên 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 đã lắp đặt, kết hợp với các cảm biến hiện có được chứng nhận an toàn thay vì thay thế chúng.
- Kiểm tra cơ sở hạ tầng và tài sản. Phân tích khoảng hở đường dây trên cao, kiểm tra tài sản và ăn mòn bằng drone, cùng công tác khảo sát trên không—những trường hợp mà cùng một dòng model phải xử lý được cả chi tiết cận cảnh lẫn cảnh ở xa.
- Hỗ trợ người lái và nhận thức môi trường ô tô. Đầu ra độ sâu tầm xa, không giới hạn, giúp cùng một dòng model xử lý được cả cảnh trong nhà ở cự ly gần lẫn cảnh lái xe ở khoảng cách trên 80 m.
- AR và nội dung không gian. Việc đặt các đối tượng ảo vào cảnh thực một cách chân thực hoặc áp dụng hiệu ứng nhận biết độ sâu bắt đầu từ việc xác định khoảng cách thực tế từ camera đến từng pixel.
Đưa tính năng ước tính độ sâu đến mọi triển khai Ultralytics YOLO26#
Giờ đây, khi ước tính độ sâu đã trở thành tác vụ gốc của Ultralytics YOLO26, các nhóm có thể khai thác khoảng cách ở cấp pixel từ bất kỳ camera RGB nào trong nhiều ngành, sử dụng cùng quy trình train, val, predict và export vốn đã quen thuộc từ detection, segmentation và pose, đồng thời giảm một dependency bên thứ ba cần duy trì.
Khi lên kế hoạch triển khai Ultralytics YOLO26 depth, hãy cùng điểm qua một số điều quan trọng cần lưu ý:
- Ultralytics YOLO Depth được xây dựng cho camera RGB. Mọi camera tiêu chuẩn đều dùng được, bao gồm webcam, điện thoại, camera công nghiệp và drone. Tuy nhiên, các phương thức khác như đám mây điểm LiDAR, radar, sonar, dải ảnh 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ị mét phục vụ 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 với điều hướng, kiểm tra khoảng hở và giám sát. Tuy nhiên, với ứng dụng cần 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 trên từng ảnh. Độ sâu được xử lý độc lập trên mỗi khung hình, nhất quán với mọi tác vụ Ultralytics YOLO26 khác, do đó có thể tích hợp vào pipeline hiện có theo từng khung hình mà không cần thay đổi. Việc suy luận qua một chuỗi khung hình vẫn nằm ở tầng ứ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ó kết cấu 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 trống vốn gây mơ hồ cho 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 AI thị giác? Khám phá các tùy chọn cấp phép để đưa computer vision vào dự án của bạn. Truy cập repository GitHub để khám phá đầy đủ các tác vụ và tích hợp của Ultralytics, đồng thời xem Ultralytics Platform để bắt đầu xây dựng workflow AI thị giác đầu-cuối của riêng bạn.










