Thêm game tại WuGames.ioTài trợKhám phá kho game trình duyệt miễn phí — chơi ngay, không tải, không đăng ký.Chơi ngay

Ước Tính Độ Sâu AI

Tạo bản đồ độ sâu từ ảnh 2D bằng mô hình AI MiDaS. Ước tính khoảng cách và thông tin độ sâu từ bất kỳ ảnh nào. Công cụ ước tính độ sâu miễn phí.

AI Sử dụng mô hình AI MiDaS để ước tính độ sâu. Mô hình sẽ tự động tải xuống khi bạn ước tính độ sâu lần đầu (~66MB).
Upload
Kéo và thả ảnh vào đây
hoặc nhấp để chọn (JPG, PNG, WebP)

Giới Thiệu Ước Tính Độ Sâu AI

Ước Tính Độ Sâu AI sử dụng MiDaS (Monocular Depth Estimation in the Wild), một mô hình học sâu tiên tiến có thể ước tính độ sâu từ một ảnh 2D duy nhất. Nó tạo ra bản đồ độ sâu hiển thị khoảng cách tương đối của các đối tượng trong cảnh. Tất cả quá trình xử lý diễn ra trực tiếp trong trình duyệt - không có ảnh nào được tải lên máy chủ.

Ảnh của tôi có bị tải lên khi tôi ước tính độ sâu không?

Không. Ước Tính Độ Sâu AI xử lý ảnh hoàn toàn trong trình duyệt bằng Transformers.js với ONNX Runtime Web. Ảnh được giải mã vào một Canvas trong bộ nhớ, đưa qua mô hình độ sâu chạy trên CPU hoặc GPU của bạn, và bản đồ độ sâu kết quả được hiển thị mà ảnh không rời khỏi thiết bị. Không có tải lên, không ghi nhật ký, không gọi backend — bạn có thể xác nhận trong DevTools Network: không XHR nào mang byte ảnh. Điều này rất quan trọng cho ảnh cá nhân, cảnh nhạy cảm, khung hình giám sát, ảnh y tế thử nghiệm hoặc bất kỳ nội dung hình ảnh nào bạn muốn ước tính độ sâu đơn mắt mà không cần tin vào API đám mây. Trọng số được cache ở lần tải đầu nên các lần sau hoàn toàn ngoại tuyến.

Mặc định công cụ dùng mô hình ước tính độ sâu nào?

Mặc định là Intel MiDaS-small hoặc Depth-Anything-small, hai mô hình độ sâu đơn mắt tiên tiến đã chưng cất và lượng tử hóa cho suy luận trình duyệt. MiDaS (Multi-Image Dataset for Depth) được Intel giới thiệu năm 2019-2020 và huấn luyện trên hỗn hợp hơn 10 bộ dữ liệu để tổng quát hóa cảnh trong nhà và ngoài trời. Depth-Anything (Yang và cộng sự, 2024) dùng backbone ViT tiền huấn luyện DINOv2 và 1,5M ảnh có nhãn + 62M không nhãn, hiện dẫn đầu các benchmark zero-shot. Biến thể small khoảng 25-40 MB sau lượng tử INT8 và chạy 5-15 khung hình mỗi giây trên WebGPU. Đầu ra là bản đồ độ sâu tương đối — pixel sáng gần hơn, tối xa hơn — không phải mét.

Khác biệt giữa độ sâu tương đối và độ sâu mét?

Độ sâu tương đối cho biết pixel nào gần hoặc xa hơn pixel khác, nhưng không cho khoảng cách tuyệt đối theo mét. Đầu ra thường được chuẩn hóa về [0, 1] hoặc co dãn để lấp đầy thang xám. Độ sâu mét yêu cầu mô hình xuất khoảng cách thực được hiệu chuẩn theo tiêu cự và cảm biến camera, khó hơn nhiều với một ảnh duy nhất do tính mơ hồ về tỷ lệ vốn có của thị giác đơn mắt. Các mô hình như Depth-Anything V2 Metric, ZoeDepth hoặc Marigold có thể tạo độ sâu mét xấp xỉ, nhưng độ chính xác phụ thuộc cảnh đầu vào có giống phân bố huấn luyện không. Công cụ này mặc định trả độ sâu tương đối; muốn khoảng cách tuyệt đối, bạn cần camera stereo, LiDAR hoặc mô hình tinh chỉnh theo mét.

Tôi có thể dùng bản đồ độ sâu để tạo hiệu ứng 3D hay parallax không?

Có — bản đồ độ sâu tương đối rất phù hợp cho hiệu ứng parallax 2,5D, ảnh giả 3D (kiểu Facebook phổ biến năm 2018) hoặc chỉnh sửa 3D sinh trắc. Pipeline tiêu chuẩn: đưa ảnh RGB và bản đồ độ sâu vào fragment shader dịch tọa độ texture theo độ sâu, rồi hoạt họa vị trí camera. WebGL hoặc Three.js làm việc này theo thời gian thực. Để có mesh 3D chất lượng cao hơn, có thể nâng bản đồ thành đám mây điểm (mỗi pixel thành đỉnh 3D với độ sâu z) và tái dựng mesh có texture. Độ sâu từ công cụ này đủ nhất quán cho parallax và hiệu ứng DOF nông nhưng có thể tạo vùng phẳng hoặc cong với bề mặt không texture như trời xanh hay tường trắng.

Ước Tính Độ Sâu AI — Tạo bản đồ độ sâu từ ảnh 2D bằng mô hình AI MiDaS. Ước tính khoảng cách và thông tin độ sâu từ bất kỳ ảnh nào. Công cụ ư
Ước Tính Độ Sâu AI

Vì sao mép vật thể trên bản đồ độ sâu đôi khi mờ?

Mô hình độ sâu khó xử lý biên vật thể vì trường tiếp nhận hiệu dụng của mạng làm mờ các đứt gãy độ sâu sắc nét. Tóc, hàng rào, kính, phản chiếu nước và cấu trúc mảnh như dây thường bị làm trơn vào hậu cảnh hoặc tiền cảnh. Depth-Anything giảm bớt điều này bằng pipeline thầy-trò dùng 62M ảnh không nhãn để giám sát biên sắc nét hơn, vượt MiDaS rõ rệt ở cấu trúc tinh. Để biên trung thực nhất, chạy đầu vào ở độ phân giải cao hơn (518x518 hoặc 1036x1036) và áp dụng lọc dẫn bảo toàn biên ở hậu xử lý. Công cụ có thanh trượt độ phân giải — đánh đổi suy luận chậm hơn lấy biên rõ nét hơn.

Tốc độ suy luận trên WebGPU so với WebAssembly thế nào?

MiDaS-small ở 384x384 mất khoảng 150-250 ms trên WebAssembly có SIMD ở laptop tầm trung (4 nhân), tức 4-6 fps. Trên WebGPU với GPU tích hợp đời mới (Intel Iris Xe hoặc Apple dòng M), cùng mô hình chạy trong 25-50 ms (20-40 fps), nhanh hơn 5-8 lần. Depth-Anything-small nặng hơn (vision transformer) và hưởng lợi từ WebGPU nhiều hơn nữa vì các lớp attention bị giới hạn bởi nhân ma trận. Để có độ sâu webcam thời gian thực 30 fps, WebGPU gần như bắt buộc. Công cụ tự chọn backend; xem huy hiệu trên thanh công cụ để biết cái nào đang hoạt động. Trên Safari trước 18.0, WebGPU bị tắt mặc định và bạn có thể cần bật qua Develop → Experimental Features.

Nên chọn mô hình CNN (MiDaS) hay transformer (Depth-Anything)?

Cả hai kiến trúc đều có ưu điểm. MiDaS-small dùng backbone EfficientNet/MobileNet với decoder CNN đa thang, cực nhanh trên CPU và đủ nhỏ cho thiết bị hạn chế bộ nhớ (~25 MB INT8). Depth-Anything dùng backbone ViT DINOv2, cho độ chính xác zero-shot tốt hơn đáng kể trên cảnh mới — bài báo gốc báo cáo RMSE thấp hơn 10-15% trên NYU trong nhà và KITTI ngoài trời so với MiDaS — nhưng ViT nặng và chậm trên CPU. Nguyên tắc: dùng MiDaS-small cho trình duyệt chỉ-CPU, di động hoặc stream webcam dưới 480p; dùng Depth-Anything-small cho xử lý ảnh đơn chất lượng cao trên trình duyệt máy tính có WebGPU.

Tôi có thể xuất bản đồ độ sâu thành PNG 16-bit cho Blender hay Photoshop không?

Có — PNG xám 8-bit tiện xem trước nhưng chỉ có 256 mức độ sâu, gây dải nhìn thấy ở gradient nhẹ (mặt đất phẳng, bầu trời). PNG 16-bit cho 65536 mức, đủ cho hiệu ứng 3D chất lượng, displacement mapping trong Blender và bộ lọc làm mờ theo độ sâu trong Photoshop. Công cụ cho cả hai định dạng xuất: 8-bit để chia sẻ nhanh, 16-bit khi định dùng bản đồ trong phần mềm 3D. Hầu hết thư viện ảnh (Photoshop, GIMP, Blender, Krita) đọc PNG 16-bit nguyên bản. Muốn chính xác hơn nữa, có thể xuất EXR float 32-bit, nhưng cần codec riêng; đa số pipeline độ sâu chạy tốt với PNG 16-bit.