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à thị giác máy tính nhằm tái tạo các cảnh 3D chân thực từ một tập hợp các ảnh 2D. Khác với mô hình hóa 3D truyền thống dựa trên lưới đa giác (polygon mesh) hoặc các tiến bộ AI gần đây như Neural Radiance Fields (NeRF) sử dụng mạng thần kinh để xấp xỉ cảnh, Gaussian Splatting biểu diễn cảnh dưới dạng một tập hợp gồm hàng triệu phân phối Gaussian 3D (hình ellipsoid). Phương pháp này cho phép kết xuất (render) thời gian thực ở tốc độ khung hình cao (thường vượt quá 100 FPS) trong khi vẫn duy trì độ trung thực hình ảnh vượt trội, giải quyết một điểm nghẽn hiệu năng lớn từng gặp ở các phương pháp tổng hợp góc nhìn trước đây.
Cá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. Trong một quy trình điển hình, quá trình bắt đầu bằng một point cloud thưa thớt được tạo ra từ một tập hợp ảnh bằ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 thành 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).
- Màu sắc: Được biểu diễn bằng Spherical Harmonics, cho phép màu sắc thay đổi tùy thuộc vào góc nhìn, ghi lại các hiệu ứng phản chiếu và chiếu sáng chân thực.
Thuật ngữ "splatting" đề cập đến quá trình rasterization trong đó các Gaussian 3D này được chiếu—hoặc "splat"—lên mặt phẳng máy ảnh 2D để tạo thành một bức ảnh. Phép chiếu này hoàn toàn khả vi, có 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 kết xuất và ảnh ground-truth gốc.
So 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 góc nhìn mới của một cảnh, chúng khác biệt cơ bản về kiến trúc và hiệu năng. NeRF (Neural Radiance Fields) mã hóa một cảnh trong các trọng số của một neural network. Việc kết xuất một NeRF yêu cầu 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-based) hiệu quả tương tự cách trò chơi điện tử kết xuất đồ họa. Do đó, Gaussian Splatting có tốc độ huấn luyện và kết xuất 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.
Cá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 sáng tạo có thể chụp lại một bảo tàng, di tích lịch sử hoặc ngôi nhà cần bán bằng máydrone 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 quang trắc (photogrammetry) truyền thống có thể bỏ sót.
- 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 thử các thuật toán nhận thức của họ. Gaussian Splatting có thể tái tạo các khối phố trong thế giới thực từ dữ liệu cảm biến, tạo ra một môi trường mô phỏng chân thực. Trong các môi trường này, các mô hình thị giác như Ultralytics YOLO26 có thể được kiểm thử để đảm bảo chúng xác định chính xác các mối nguy hiểm trong các kịch bản 3D phức tạp.
Tiề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 phải tĩnh. Các vật thể chuyển động (như người đi bộ hoặc ô tô) 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 che đi các yếu tố động này trước khi huấn luyện mô hình splat.
Ultralytics Platform cho phép các nhóm quản lý tập dữ liệu và huấn luyện các mô hình 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 mô hình phân đoạn để tạo mặt nạ 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")Tầm quan trọng trong AI và các xu hướng tương lai#
Gaussian Splatting đại diện cho một sự chuyển dịch 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 quả 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ác 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 ra các tài sản 3D từ các câu lệnh văn bản. Khi các bộ tăng tốc phần cứng như GPUs tiếp tục cải thiện, Gaussian Splatting có khả năng trở thành tiêu chuẩn để chụp và kết xuất thế giới thực dưới dạng kỹ thuật số.






