Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Gaussian Splatting

Gaussian splatting dựng lại các cảnh 3D chân thực từ ảnh dưới dạng hàng triệu Gaussian 3D có thể kết xuất theo thời gian thực. Nội dung đề cập đến huấn luyện, NeRF và quy trình thu thập dữ liệu.

Gaussian splatting, còn gọi là Gaussian splatting 3D (3DGS), là kỹ thuật tái tạo cảnh 3D chân thực từ ảnh thông thường và kết xuất các góc nhìn mới theo thời gian thực. Kỹ thuật này biểu diễn cảnh bằng hàng triệu Gaussian 3D, tức các ellipsoid mềm, mỗi phần tử có vị trí, hình dạng, độ mờ và màu phụ thuộc vào góc nhìn; ảnh được tạo bằng cách chiếu chúng lên màn hình ("splatting") rồi hòa trộn. Được giới thiệu tại SIGGRAPH 2023 trong bài báo Gaussian Splatting 3D cho kết xuất trường bức xạ thời gian thực, kỹ thuật này đạt chất lượng ảnh ngang với các trường bức xạ thần kinh (NeRF) tốt nhất, đồng thời kết xuất ở tốc độ 30 khung hình/giây trở lên tại độ phân giải 1080p; trước đó chưa phương pháp nào đạt được điều này trên các cảnh lớn, không giới hạn. Đây là phương pháp tổng hợp góc nhìn mới và tái tạo 3D.

Cách Gaussian Splatting hoạt động#

Mỗi Gaussian lưu trữ 59 giá trị có thể học: vị trí 3D, tỷ lệ 3D và quaternion xoay gồm 4 giá trị cùng xác định ma trận hiệp phương sai (hình dạng và hướng), độ mờ và 48 hệ số điều hòa cầu, 16 hệ số cho mỗi kênh màu, giúp màu thay đổi theo hướng quan sát để ghi lại phản xạ và độ bóng. Quá trình huấn luyện bắt đầu từ đám mây điểm thưa do Structure from Motion (SfM) tạo ra trong khi hiệu chuẩn camera, với một Gaussian đặt tại mỗi điểm. Mỗi vòng lặp kết xuất một góc nhìn huấn luyện, so sánh với ảnh thật bằng tổ hợp có trọng số của loss L1 và D-SSIM, rồi cập nhật mọi Gaussian bằng hạ gradient thông qua bộ kết xuất khả vi. Cứ mỗi 100 vòng lặp, cơ chế kiểm soát mật độ thích ứng sẽ nhân bản các Gaussian nhỏ ở vùng tái tạo chưa đầy đủ, chia các Gaussian lớn bao phủ quá nhiều chi tiết và loại bỏ các Gaussian gần như trong suốt; mỗi cảnh trong bài báo tăng lên từ 1 đến 5 triệu Gaussian.

Để vẽ một khung hình, bộ kết xuất chiếu từng Gaussian 3D thành một ellipse 2D trên mặt phẳng ảnh, chia màn hình thành các ô 16×16 pixel, sắp xếp theo độ sâu các Gaussian chồng lấp từng ô bằng một lần sắp xếp cơ số GPU, rồi alpha blending từ trước ra sau cho từng pixel. Vì cảnh là một danh sách tường minh gồm các primitive, quá trình kết xuất hoạt động như rasterizer của game engine và không đánh giá mạng nơ-ron cho từng pixel.

Gaussian splatting so với NeRF và mesh#

NeRF lưu trữ cảnh dưới dạng ngầm trong trọng số của một mạng nơ-ron và kết xuất bằng cách truy vấn mạng tại nhiều điểm dọc theo mỗi tia camera. Gaussian splatting lưu cảnh dưới dạng tường minh, nên việc kết xuất chỉ cần sắp xếp và hòa trộn. Trên cùng phần cứng trong bài báo gốc, Mip-NeRF360 mất trung bình 48 giờ để huấn luyện và khoảng 10 giây cho mỗi khung hình kết xuất; sau 35–45 phút huấn luyện, Gaussian splatting được huấn luyện đầy đủ đạt chất lượng tương đương hoặc nhỉnh hơn đôi chút, đồng thời kết xuất theo thời gian thực. Biểu diễn tường minh tiêu tốn bộ nhớ: với 59 giá trị mỗi Gaussian, một cảnh gồm 3 triệu Gaussian chứa khoảng 700 MB số thực 32-bit; trong bản triển khai gốc, bộ nhớ GPU tối đa khi huấn luyện cảnh lớn có thể vượt 20 GB. Các splat cũng không có bề mặt xác định, nên ứng dụng cần hình học va chạm hoặc chỉnh sửa kiểu CAD vẫn phải chuyển chúng thành mesh bằng các phương pháp bổ sung; cảnh chuyển động cần các phần mở rộng như Gaussian splatting 4D.

Thu thập dữ liệu cho Gaussian splatting#

Một bộ dữ liệu thu thập là tập ảnh chồng lấp hoặc khung hình video được ghi lại khi di chuyển quanh một cảnh tĩnh. Bất kỳ vật thể nào chuyển động trong lúc ghi hình, chẳng hạn người đi ngang qua hoặc ô tô, sẽ xuất hiện trong một số khung hình nhưng không có ở những khung hình khác; quá trình tối ưu cố giải thích hiện tượng đó bằng các tạo tác bán trong suốt gọi là floater. Vì vậy, pipeline huấn luyện chấp nhận mask để loại bỏ vật thể chuyển động; định dạng dữ liệu của Nerfstudio dùng mask đen trắng, trong đó màu đen đánh dấu pixel cần bỏ qua. Các model phân đoạn instance YOLO26 tự động tạo các mask này bằng cách phân đoạn mọi người trong từng khung hình.

import cv2
from ultralytics import YOLO

# Tải model phân đoạn instance YOLO26
model = YOLO("yolo26n-seg.pt")

# Chỉ phân đoạn người (class COCO 0), một nguồn floater phổ biến trong dữ liệu thu thập
results = model("https://ultralytics.com/images/bus.jpg", classes=[0], retina_masks=True)
result = results[0]

# Màu trắng đánh dấu cảnh tĩnh dùng để huấn luyện, màu đen đánh dấu người cần bỏ qua
people = result.masks.data.sum(dim=0) > 0
keep_mask = (~people).cpu().numpy().astype("uint8") * 255
cv2.imwrite("bus_mask.png", keep_mask)

Tệp bus_mask.png đã lưu có độ phân giải đầy đủ của ảnh vì retina_masks=True trả về mask ở kích thước ảnh gốc, và mọi người trong khung hình đều có màu đen.

Ứng dụng#

  • Bất động sản và chuyến tham quan ảo: Ảnh chụp bằng điện thoại hoặc drone về một ngôi nhà, bảo tàng hay di tích trở thành cảnh mà khách tham quan có thể tự do khám phá trên trình duyệt hoặc kính VR, trong khi phản chiếu trên sàn và cửa sổ vẫn được giữ nguyên.
  • Hiệu ứng hình ảnh và sản xuất ảo: Các nhóm làm phim và game thu thập địa điểm thực dưới dạng splat để dùng làm phông nền chân thực và tư liệu tham khảo cho bối cảnh.
  • Bản sao số và bản đồ: Các nền tảng không gian địa lý truyền phát những bản tái tạo splat quy mô lớn của thành phố, công trường và cơ sở hạ tầng cùng với các tile 3D truyền thống.
  • Mô phỏng lái xe và robot: Bản tái tạo các hành trình thực cho phép các nhóm phát triển phương tiện tự hành kết xuất lại cảnh đã ghi từ vị trí camera mới để kiểm thử các model nhận thức.

Các thư viện mã nguồn mở như gsplat cung cấp rasterizer CUDA để huấn luyện splat; Khronos Group đã phê chuẩn KHR_gaussian_splatting, một phần mở rộng glTF 2.0 để lưu trữ Gaussian splat, được phát triển với sự đóng góp của Cesium, Esri, Niantic Spatial, NVIDIA, Huawei và Autodesk.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning