Gaussian Splatting
Khám phá Gaussian Splatting để tái dựng cảnh 3D chân thực. Tìm hiểu cách công nghệ này cho phép rendering thời gian thực và tích hợp với Ultralytics YOLO26 cho computer vision.
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 để tái dựng các cảnh 3D chân thực từ một tập hợp ảnh 2D. Không giống như mô hình hóa 3D truyền thống dựa trên lưới đa giác, hoặc những tiến bộ AI gần đây như Trường bức xạ thần kinh (NeRF) sử dụng mạng neural để xấp xỉ một cảnh, Gaussian Splatting biểu diễn một cảnh dưới dạng tập hợp hàng triệu phân phối Gaussian 3D (ellipsoid). Phương pháp này cho phép rendering theo thời gian thực với 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 nút thắt hiệu năng lớn trong các phương pháp tổng hợp góc nhìn trước đây.
Gaussian Splatting hoạt động như thế nào#
Ý tưởng cốt lõi là 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 với một đám mây điểm thưa được tạo từ một tập hợp ảnh bằng kỹ thuật gọi là Tái dựng cấu trúc từ chuyển động (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 quá trình training, hệ thống tối ưu một số tham số cho từng Gaussian:
- Vị trí: Tọa độ 3D (X, Y, Z) trong cảnh.
- Hiệp phương sai: Xác định hình dạng và phép xoay của ellipsoid (ví dụ: mức độ kéo dài hoặc nghiêng của "splat").
- Độ mờ: Mức độ trong suốt hoặc đặc của Gaussian (giá trị alpha).
- Màu sắc: Được biểu diễn bằng Điều hòa cầu, cho phép màu sắc thay đổi tùy theo góc nhìn, qua đó 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 "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 khả vi, nghĩa là có thể sử dụng các thuật toán gradient descent tiêu chuẩn để giảm thiểu sai khác giữa hình ảnh được render và ảnh ground truth ban đầu.
Gaussian Splatting so với NeRF#
Mặc dù cả hai kỹ thuật đều hướng đến việc tạo ra các góc nhìn mới của một cảnh, chúng khác nhau về nền tảng ở kiến trúc và hiệu năng. NeRF (Trường bức xạ thần kinh) mã hóa một cảnh trong các trọng số của mạng neural. Việc rendering NeRF yêu cầu truy vấn mạng này hàng triệu lần cho mỗi frame (ray marching), gây tốn nhiều tài nguyên tính toán và chậm.
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 trò chơi điện tử render đồ họa. Do đó, Gaussian Splatting nhanh hơn đáng kể khi training và rendering so với NeRF, khiến nó phù hợp hơn với các ứng dụng dành cho người dùng phổ thông và suy luận theo thời gian thực.
Các ứng dụng trong thực tế#
Tốc độ và chất lượng của Gaussian Splatting đã mở ra những hướng đi mới trong nhiều ngành:
- Du lịch ảo và bất động sản: Nhà sáng tạo có thể ghi lại một bảo tàng, di tích lịch sử hoặc ngôi nhà đang rao bán bằng drone hoặc smartphone. Gaussian Splatting cho phép người dùng từ xa khám phá những không gian này trong Thực tế ảo (VR) với 6 bậc tự do (6DoF), quan sát được các chi tiết nhỏ như phản chiếu trên sàn gỗ mà photogrammetry truyền thống có thể bỏ sót.
- Mô phỏng ô tô: Các công ty phát triển xe tự hành cần lượng dữ liệu khổng lồ để kiểm thử các thuật toán perception của mình. Gaussian Splatting có thể tái dựng các khu 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, những model thị giác như Ultralytics YOLO26 có thể được kiểm thử để bảo đảm chúng nhận diện chính xác các mối nguy hiểm trong những bối cảnh 3D phức tạp.
Tiền xử lý cho Splatting bằng Thị giác máy tính#
Để Gaussian Splatting hoạt động hiệu quả, các ảnh training thường cần ở trạng thá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 phân đoạn instance để tự động tạo mask cho những thành phần động này trước khi training model splat.
Ultralytics Platform cho phép các team quản lý dataset và training các model có thể hỗ trợ giai đoạn tiền xử lý này. Sau đây là cách có thể sử dụng một model segmentation để tạo mask cho một dataset phục vụ tái dựng 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")Ý nghĩa trong AI và các xu hướng tương lai#
Gaussian Splatting thể hiện sự chuyển dịch của thị giác máy tính sang các phương pháp lai, kết hợp khả năng học 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; các nhà nghiên cứu đang tìm hiểu những cách nén kích thước file (vốn có thể rất lớn) và tích hợp nó với AI tạo sinh để tạo tài sản 3D từ prompt văn bản. Khi các bộ tăng tốc phần cứng như GPU tiếp tục được cải thiện, Gaussian Splatting nhiều khả năng sẽ 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ố.









