Gaussian Splatting
Khám phá Gaussian Splatting để tái tạo cảnh 3D chân thực. Tìm hiểu cách nó cho phép kết xuất thời gian thực và tích hợp với Ultralytics YOLO26 cho thị giác máy tính.
Gaussian Splatting là một kỹ thuật rasterization hiện đại được sử dụng trong đồ họa máy tính và computer vision để tái tạo các khung cảnh 3D chân thực từ một tập hợp các hình ảnh 2D. Khác với mô hình 3D truyền thống dựa trên các polygon mesh, hay các tiến bộ AI gần đây như Neural Radiance Fields (NeRF) sử dụng các mạng thần kinh để xấp xỉ khung cảnh, Gaussian Splatting biểu diễn một khung cảnh dưới dạng tập hợp của hàng triệu phân phối Gaussian 3D (hình elip). Phương pháp này cho phép render theo thời gian thực ở tốc độ khung hình cao (thường vượt quá 100 FPS) trong khi vẫn duy trì độ chân thực hình ảnh vượt trội, giải quyết điểm nghẽn hiệu suất lớn được tìm thấy trong các phương pháp tổng hợp view trước đây.
Link to this sectionCách thức hoạt động của Gaussian Splatting#
Ý tưởng cốt lõi xoay quanh việc biểu diễn không gian 3D một cách tường minh thay vì ẩn dụ. Trong một quy trình làm việc điển hình, quá trình bắt đầu với một point cloud thưa thớt được tạo ra từ một tập hợp ảnh sử dụng kỹ thuật gọi là Structure from Motion (SfM). Mỗi điểm trong đám mây này sau đó được khởi tạo dưới dạng một Gaussian 3D.
Trong training process, hệ thống tối ưu hóa một số tham số cho mỗi Gaussian:
- Position: Các tọa độ 3D (X, Y, Z) trong khung cảnh.
- Covariance: Xác định hình dạng và sự xoay của hình elip (ví dụ: độ kéo giãn hoặc độ nghiêng của "splat").
- Opacity: Độ trong suốt hoặc độ đặc của Gaussian (giá trị alpha).
- Color: Được biểu diễn bằng Spherical Harmonics, cho phép màu sắc thay đổi tùy theo góc nhìn, giúp nắm bắt các hiệu ứng phản chiếu và ánh sáng chân thực.
Thuật ngữ "splatting" đề cập đến quá trình rasterization nơi các Gaussian 3D này được chiếu—hay còn gọi là "splatted"—lên mặt phẳng camera 2D để tạo thành một hình ảnh. Phép chiếu này hoàn toàn có thể lấy đạo hàm (differentiable), nghĩa là các thuật toán gradient descent tiêu chuẩn có thể được sử dụng để giảm thiểu sự khác biệt giữa hình ảnh được render và ảnh gốc ground-truth.
Link to this sectionSo sánh Gaussian Splatting và NeRF#
Mặc dù cả hai kỹ thuật đều nhằm mục đích tạo ra các view mới cho một khung cảnh, chúng khác biệt căn bản về kiến trúc và hiệu suất. NeRF (Neural Radiance Fields) mã hóa một khung cảnh trong trọng số của một neural network. Việc render một NeRF đòi hỏi phải truy vấn mạng này hàng triệu lần cho mỗi khung hình (ray marching), điều này tốn kém về mặt tính toán và chậm chạp.
Ngược lại, Gaussian Splatting sử dụng một biểu diễn tường minh (danh sách các Gaussian). Điều này cho phép nó tận dụng rasterization dựa trên tile hiệu quả, tương tự cách các trò chơi điện tử render đồ họa. Do đó, Gaussian Splatting có tốc độ train và render nhanh hơn đáng kể so với NeRF, giúp nó khả thi hơn cho các ứng dụng người dùng cuối và real-time inference.
Link to this sectionCác ứng dụng trong thực tế#
Tốc độ và chất lượng của Gaussian Splatting đã mở ra những cánh cửa mới trong nhiều ngành công nghiệp:
- Du lịch ảo và Bất động sản: Người tạo có thể ghi lại một bảo tàng, di tích lịch sử hoặc một ngôi nhà để bán bằng flycam hoặc điện thoại thông minh. Gaussian Splatting cho phép người dùng từ xa khám phá các không gian này trong Virtual Reality (VR) với 6 bậc tự do (6DoF), nhìn thấy các chi tiết tinh tế như sự phản chiếu trên sàn gỗ mà phương pháp đo ảnh truyền thống có thể bỏ lỡ.
- Mô phỏng ô tô: Các công ty phát triển autonomous vehicles cần một lượng lớn dữ liệu để kiểm tra thuật toán nhận thức của họ. Gaussian Splatting có thể tái tạo các khu phố thực tế từ dữ liệu cảm biến, tạo ra môi trường mô phỏng chân thực. Trong các môi trường này, các model thị giác như Ultralytics YOLO26 có thể được kiểm tra để đảm bảo chúng nhận diện chính xác các nguy cơ trong các kịch bản 3D phức tạp.
Link to this sectionTiền xử lý cho Splatting với computer vision#
Để Gaussian Splatting hoạt động hiệu quả, các hình ảnh huấn luyện thường cần phải ở trạng thái tĩnh. Các vật thể di chuyển (như người đi bộ hoặc xe hơi) trong ảnh nguồn có thể gây ra các artifact gọi là "floaters". Các pipeline nâng cao sử dụng instance segmentation để tự động mask các thành phần động này trước khi train model splat.
Ultralytics Platform cho phép các nhóm quản lý tập dữ liệu và train các model có thể hỗ trợ trong giai đoạn tiền xử lý này. Dưới đây là cách một người có thể sử dụng model segmentation để tạo mask cho một tập dữ liệu dùng cho việc tái tạo 3D:
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image from the scan dataset
# Class 0 is 'person' in COCO - we mask them out to keep the scene static
results = model.predict("scan_frame_001.jpg", classes=[0])
# Save the generated mask to exclude the person from the 3D reconstruction
for result in results:
result.save_masks("scan_frame_001_mask.png")Link to this sectionTầm quan trọng trong AI và các xu hướng tương lai#
Gaussian Splatting thể hiện một sự dịch chuyển trong computer vision hướng tới các phương pháp lai kết hợp khả năng học tập của Deep Learning với hiệu suất của đồ họa máy tính cổ điển. Kỹ thuật này đang phát triển nhanh chóng, với các nhà nghiên cứu đang khám phá cách nén kích thước tệp (vốn có thể rất lớn) và tích hợp nó với generative AI để tạo các tài nguyên 3D từ prompt văn bản. Khi các bộ tăng tốc phần cứng như GPUs tiếp tục cải tiến, Gaussian Splatting có khả năng trở thành tiêu chuẩn để ghi lại và render thế giới thực dưới dạng kỹ thuật số.






