XYZNOT

Bài báo · arXiv 2308.04079

3D Gaussian Splatting for Real-Time Radiance Field Rendering

Xuất bản cs.GRcs.CV arXivPDF

Đọc với bản dịch và AI

Tóm tắt trong ba dòng

  1. 🎯 Các phương pháp radiance field (như NeRF) mang lại chất lượng hình ảnh cao nhưng gặp trở ngại do ray-marching thể tích chậm và thời gian tối ưu hóa kéo dài, trong khi các phương pháp dạng lưới nhanh lại phải đánh đổi chất lượng hoặc tốc độ kết xuất.
  2. 🔧 Biểu diễn tường minh cảnh vật bằng các 3D Gaussian dị hướng được khởi tạo từ các điểm SfM thưa, tối ưu hóa chúng bằng kiểm soát mật độ thích ứng (nhân bản và phân tách), và kết xuất qua bộ rasterizer GPU khả vi theo tile có nhận biết khả năng hiển thị.
  3. 📈 Đạt chất lượng hình ảnh vượt trội tương đương Mip-NeRF360 với tốc độ kết xuất thời gian thực hơn 130–160 FPS ở độ phân giải 1080p và thời gian huấn luyện dưới một giờ.

Tóm tắt

Các phương pháp Radiance Field gần đây đã tạo ra một cuộc cách mạng trong việc tổng hợp góc nhìn mới cho các cảnh được chụp bằng nhiều ảnh hoặc video. Tuy nhiên, việc đạt được chất lượng hình ảnh cao vẫn đòi hỏi các mạng neural tốn kém chi phí huấn luyện và kết xuất, trong khi các phương pháp nhanh hơn gần đây lại phải đánh đổi tốc độ lấy chất lượng. Đối với các cảnh không gian mở và toàn cảnh (thay vì các vật thể riêng lẻ) cùng độ phân giải kết xuất 1080p, hiện chưa có phương pháp nào đạt được tốc độ hiển thị thời gian thực. Chúng tôi giới thiệu ba yếu tố then chốt cho phép đạt được chất lượng hình ảnh vượt trội (state-of-the-art) trong khi vẫn duy trì thời gian huấn luyện cạnh tranh và đặc biệt cho phép tổng hợp góc nhìn mới chất lượng cao trong thời gian thực (>= 30 fps) ở độ phân giải 1080p. Thứ nhất, bắt đầu từ các điểm thưa thớt tạo ra trong quá trình hiệu chuẩn camera, chúng tôi biểu diễn cảnh bằng các 3D Gaussian nhằm bảo toàn các đặc tính mong muốn của continuous volumetric radiance fields cho việc tối ưu hóa cảnh, đồng thời tránh các tính toán không cần thiết trong không gian trống; Thứ hai, chúng tôi thực hiện tối ưu hóa xen kẽ với kiểm soát mật độ của các 3D Gaussian, đáng chú ý là tối ưu hóa hiệp phương sai dị hướng (anisotropic covariance) để đạt được biểu diễn chính xác của cảnh; Thứ ba, chúng tôi phát triển một thuật toán kết xuất nhận biết khả năng hiển thị (visibility-aware) nhanh chóng, hỗ trợ splatting dị hướng, vừa giúp tăng tốc độ huấn luyện vừa cho phép kết xuất thời gian thực. Chúng tôi chứng minh chất lượng hình ảnh hiện đại nhất và khả năng kết xuất thời gian thực trên nhiều bộ dữ liệu phổ biến.

Tóm tắt gốc (tiếng Anh)

Radiance Field methods have recently revolutionized novel-view synthesis of scenes captured with multiple photos or videos. However, achieving high visual quality still requires neural networks that are costly to train and render, while recent faster methods inevitably trade off speed for quality. For unbounded and complete scenes (rather than isolated objects) and 1080p resolution rendering, no current method can achieve real-time display rates. We introduce three key elements that allow us to achieve state-of-the-art visual quality while maintaining competitive training times and importantly allow high-quality real-time (>= 30 fps) novel-view synthesis at 1080p resolution. First, starting from sparse points produced during camera calibration, we represent the scene with 3D Gaussians that preserve desirable properties of continuous volumetric radiance fields for scene optimization while avoiding unnecessary computation in empty space; Second, we perform interleaved optimization/density control of the 3D Gaussians, notably optimizing anisotropic covariance to achieve an accurate representation of the scene; Third, we develop a fast visibility-aware rendering algorithm that supports anisotropic splatting and both accelerates training and allows realtime rendering. We demonstrate state-of-the-art visual quality and real-time rendering on several established datasets.

Hướng dẫn đọc

Vấn đề và động lực

Neural Radiance Fields (NeRFs) đã làm biến đổi hoàn toàn bài toán tổng hợp góc nhìn mới bằng cách tối ưu hóa các biểu diễn cảnh ngầm liên tục thông qua Multi-Layer Perceptrons (MLPs). Tuy nhiên, việc kết xuất các trường liên tục này phụ thuộc vào phương pháp ray-marching thể tích ngẫu nhiên, đòi hỏi phải đánh giá hàng chục hoặc hàng trăm mẫu trên mỗi tia. Điều này tạo ra gánh nặng tính toán lớn, thời gian huấn luyện kéo dài (ví dụ: lên đến 48 giờ đối với Mip-NeRF360) và tốc độ suy luận rất chậm (vài giây mỗi khung hình), cản trở việc điều hướng thời gian thực ở các độ phân giải cao như 1080p.

Trong khi các biến thể radiance field nhanh hơn (như Plenoxels và InstantNGP) dựa vào lưới voxel hoặc bảng băm để tăng tốc độ huấn luyện, chúng thường phải đánh đổi độ trung thực thị giác và gặp khó khăn với không gian trống hoặc chi tiết tần số cao. Ngược lại, các phương pháp tiếp cận dựa trên điểm cung cấp hình học tường minh thân thiện với GPU, nhưng rasterization điểm truyền thống lại cần hình học Multi-View Stereo (MVS) dày đặc để tránh các lỗ hổng, hoặc dựa vào xử lý hậu kỳ bằng CNN gây ra hiện tượng nhấp nháy theo thời gian.

Bài báo này đề xuất một biểu diễn cảnh tường minh, không cấu trúc sử dụng 3D Gaussians kết hợp với bộ rasterizer theo tile tốc độ cao, đạt được độ trung thực kết xuất của các radiance field dạng ngầm hàng đầu cùng với tốc độ khung hình thời gian thực và thời gian tối ưu hóa cạnh tranh.


Ý tưởng cốt lõi

  1. Biểu diễn 3D Gaussian không cấu trúc: Thay vì dùng mạng tọa độ liên tục hay lưới dày đặc, radiance field được tham số hóa bằng các 3D Gaussian rời rạc với ma trận hiệp phương sai dị hướng đầy đủ, được khởi tạo từ các đám mây điểm Structure-from-Motion (SfM) thưa mà không yêu cầu pháp tuyến hay MVS dày đặc.
  2. Tham số hóa qua tỷ lệ và phép quay: Để đảm bảo ma trận hiệp phương sai luôn bán xác định dương trong suốt quá trình gradient descent, nó được tách thành một vector tỷ lệ 3D và một quaternion đơn vị.
  3. Kiểm soát mật độ thích ứng: Quá trình tối ưu hóa chủ động quản lý mật độ cảnh bằng cách theo dõi gradient vị trí trong không gian quan sát (view-space): nhân bản (cloning) các Gaussian tái tạo chưa đủ và phân tách (splitting) các Gaussian tái tạo thừa, đồng thời loại bỏ các splat trong suốt hoặc quá lớn.
  4. Rasterization theo tile nhận biết khả năng hiển thị: Một bộ rasterizer tùy chỉnh trên GPU phân chia pixel màn hình thành các tile , sắp xếp độ sâu của các splat theo từng khung hình bằng thuật toán Radix sort nhanh chóng, và thực hiện alpha-blend các hình chiếu dị hướng từ trước ra sau mà không giới hạn số lượng splat nhận cập nhật gradient.

Phương pháp

1. Biểu diễn cảnh bằng 3D Gaussian

Một 3D Gaussian có tâm tại vị trí trung bình được định nghĩa bởi ma trận hiệp phương sai trong không gian thế giới:

Để đảm bảo luôn bán xác định dương trong quá trình tối ưu hóa, nó được phân rã thành ma trận quay và ma trận tỷ lệ : Ở đây, được lưu dưới dạng vector 3D được đánh giá qua hàm kích hoạt hàm mũ, và được tham số hóa bằng một quaternion đơn vị đã chuẩn hóa .

Để kết xuất, các 3D Gaussian được chiếu xuống tọa độ hình ảnh 2D theo khuôn khổ EWA splatting. Với ma trận biến đổi góc nhìn và ma trận Jacobian của phép xấp xỉ affine của phép biến đổi phối cảnh, ma trận hiệp phương sai 2D trong không gian màn hình là: Hàng và cột thứ ba được loại bỏ, mang lại ma trận hiệp phương sai cho việc splatting trên mặt phẳng.

2. Kết xuất và hình thành hình ảnh

Mỗi Gaussian có một độ mờ đục (bị ràng buộc trong qua hàm kích hoạt sigmoid) và các hệ số hàm điều hòa hình cầu (spherical harmonics - SH) mô tả màu sắc phụ thuộc góc nhìn . Việc trộn Gaussian chồng lấn đã sắp xếp tại một pixel tuân theo công thức thể tích tiêu chuẩn: trong đó được xác định bằng cách đánh giá Gaussian 2D được chiếu nhân với độ mờ đục trên từng điểm đã học.

3. Tối ưu hóa và kiểm soát thích ứng

Hàm mất mát kết hợp giữa mất mát và mất mát D-SSIM (với ):

Kiểm soát mật độ thích ứng chạy mỗi 100 lần lặp trên các Gaussian có gradient vị trí trung bình trong không gian quan sát vượt quá :

  • Nhân bản (Tái tạo chưa đủ): Đối với các Gaussian nhỏ, một bản sao được tạo ra và dịch chuyển dọc theo hướng gradient vị trí.
  • Phân tách (Tái tạo thừa): Đối với các Gaussian lớn, phần tử nguyên thủy được thay thế bằng hai Gaussian nhỏ hơn có tỷ lệ giảm đi một hệ số , lấy mẫu vị trí ban đầu từ Gaussian cha.
  • Tỉa bỏ (Pruning): Loại bỏ các Gaussian có hoặc những phần tử quá lớn trong không gian thế giới/góc nhìn. Cứ sau mỗi lần lặp, độ mờ đục được đặt lại về gần bằng 0 để lọc các cấu trúc trôi nổi (floating artifacts).

4. Bộ rasterizer theo tile khả vi tốc độ cao

  • Màn hình được chia thành các tile pixel.
  • Các Gaussian vượt qua bộ lọc frustum culling ở khoảng tin cậy 99% sẽ được gán các khóa 64-bit mã hóa tile ID và độ sâu trong không gian quan sát.
  • Một lượt chạy GPU Radix sort duy nhất sắp xếp toàn bộ các thực thể trên khung hình.
  • Các thread block tích lũy màu sắc trên từng tile từ trước ra sau cho đến khi đạt ngưỡng bão hòa (dừng lại trước khi vượt quá ).
  • Lượt lan truyền ngược (backward pass) duyệt các tile từ sau ra trước, khôi phục lại các độ mờ đục trung gian bằng cách chia độ mờ đục tích lũy cuối cùng cho của từng phần tử nguyên thủy, tránh phải dùng các bộ đệm bộ nhớ động tốn kém cho mỗi pixel.

Kết quả

  • Tập dữ liệu Mip-NeRF360: Sau 30K lần lặp (thời gian huấn luyện trung bình 41 phút 33 giây), 3D Gaussian Splatting đạt SSIM trung bình là 0.815, PSNR 27.21 dB và LPIPS 0.214, ngang bằng hoặc vượt trội Mip-NeRF360 (SSIM 0.792, PSNR 27.69 dB, LPIPS 0.237, huấn luyện 48 giờ), trong khi kết xuất ở mức 134 FPS so với 0.06 FPS của Mip-NeRF360.
  • Cấu hình nhanh (7K lần lặp): Mang lại SSIM 0.770 và PSNR 25.60 dB chỉ trong 6 phút 25 giây ở tốc độ 160 FPS, vượt trội InstantNGP-Base (SSIM 0.671, 11.7 FPS) và Plenoxels (SSIM 0.626, 6.79 FPS) với thời gian huấn luyện tương đương.
  • Tanks&Temples & Deep Blending: Trên Tanks&Temples, 30K lần lặp đạt SSIM 0.841 và PSNR 23.14 dB ở tốc độ 154 FPS. Trên Deep Blending, phương pháp đạt SSIM 0.903 và PSNR 29.41 dB ở tốc độ 137 FPS.
  • Synthetic Blender: Đạt điểm PSNR trung bình 33.32 dB từ bước khởi tạo ngẫu nhiên hoàn toàn với 100K điểm, kết xuất ở mức 180–300 FPS.

Hạn chế và các câu hỏi mở

  • Góc nhìn chưa quan sát và ngoại lai: Vùng quan sát thưa hoặc các góc nhìn cách xa quỹ đạo huấn luyện có thể tạo ra các dị vật hình ảnh rõ rệt, chẳng hạn như các Gaussian bị kéo dài hoặc loang lổ ("splotchy").
  • Hiện tượng giật hình (Popping Artifacts): Sự thay đổi đột ngột trong thứ tự độ sâu hoặc việc cắt tỉa guard-band quá mức có thể gây ra hiện tượng popping khi điều hướng, cho thấy sự cần thiết của các giải pháp khử răng cưa (antialiasing) tốt hơn.
  • Tiêu thụ bộ nhớ: Mặc dù nhỏ gọn hơn so với các đám mây điểm dày đặc cổ điển, biểu diễn tường minh này vẫn cần hàng trăm megabyte (ví dụ: 400–750 MB cho các cảnh có 1–5 triệu Gaussian), và quá trình huấn luyện bằng bản mẫu chưa tối ưu có thể đẩy mức tiêu thụ bộ nhớ GPU lên trên 20 GB.
  • Thiếu các thành phần điều chuẩn (Regularization): Khuôn khổ hiện tại không bao gồm các bộ điều chuẩn độ mượt hình học hoặc mật độ một cách tường minh, dẫn đến nguy cơ xuất hiện các phần tử trôi nổi nền ở các khu vực ít được ràng buộc bởi các tia camera.

Thuật ngữ chính

3D Gaussians
Các phần tử nguyên thủy 3D khả vi, không cấu trúc cốt lõi được xác định bởi vị trí trung bình, ma trận hiệp phương sai dị hướng, độ mờ đục và các hệ số diện mạo hàm điều hòa hình cầu.
Anisotropic Covariance
Độ phân tán 3D có hướng được tham số hóa thành các vector tỷ lệ riêng biệt và các quaternion quay đơn vị, cho phép các Gaussian biến dạng thành các ellipsoid phẳng căn chỉnh theo bề mặt vật lý.
Adaptive Density Control
Một chiến lược tối ưu hóa xen kẽ giúp bổ sung các Gaussian bằng cách nhân bản hoặc phân tách các phần tử có gradient vị trí lớn và tỉa bỏ các phần tử trong suốt hoặc có kích thước quá lớn.
Tile-Based Rasterization
Quy trình kết xuất vận hành bằng GPU chia viewport thành các bin pixel để sắp xếp và trộn các splat Gaussian chồng lấn một cách hiệu quả và song song.
Alpha-Blending
Quá trình tích lũy màu sắc và độ truyền qua từ trước ra sau, tương tự như tích phân thể tích chuẩn trong NeRF trên các splat 2D được chiếu đã được sắp xếp.
Radix Sort
Một thuật toán sắp xếp trên GPU dùng để sắp xếp song song toàn bộ các Gaussian trên quy mô toàn cầu dựa trên các khóa 64-bit kết hợp giữa tile ID và độ sâu trong không gian quan sát.
Spherical Harmonics (SH)
Hệ cơ sở hàm định hướng theo tần số dùng để biểu diễn màu sắc phụ thuộc vào góc nhìn trên từng phần tử Gaussian nguyên thủy trên tối đa 4 dải (band).

Câu hỏi thường gặp

Các 3D Gaussian được khởi tạo như thế nào trước khi tối ưu hóa?

Chúng được khởi tạo bằng đám mây điểm thưa sinh ra như một phụ phẩm của quá trình hiệu chuẩn camera bằng Structure-from-Motion (SfM), với tỷ lệ đẳng hướng ban đầu được lấy từ khoảng cách trung bình đến ba điểm lân cận gần nhất. Đối với các cảnh nhân tạo, việc khởi tạo ngẫu nhiên đồng đều cũng có thể được áp dụng.

Sự khác biệt giữa việc nhân bản (cloning) và phân tách (splitting) các Gaussian là gì?

Nhân bản (cloning) sao chép một Gaussian nhỏ và dịch chuyển nó dọc theo gradient vị trí để bù đắp các chi tiết hình học còn thiếu (tái tạo chưa đủ), trong khi phân tách (splitting) chia một Gaussian quá lớn thành hai Gaussian nhỏ hơn có tỷ lệ giảm đi một hệ số 1.6 để nắm bắt tốt hơn các chi tiết có phương sai cao (tái tạo thừa).

Tại sao bộ rasterizer lại sắp xếp theo từng tile thay vì từng pixel?

Việc sắp xếp theo tile bằng một lượt GPU Radix sort toàn cục duy nhất trên các khóa kết hợp tile-độ sâu giúp tránh được chi phí tính toán nặng nề của việc sắp xếp các phần tử nguyên thủy trên từng pixel, cho phép đạt tốc độ khung hình cao với sai số thị giác không đáng kể.

Lượt lan truyền ngược (backward pass) làm thế nào để tránh phải lưu danh sách phần tử nguyên thủy dài cho từng pixel trong bộ nhớ toàn cục?

Bộ rasterizer duyệt lại các danh sách theo tile đã sắp xếp từ sau ra trước và tái cấu trúc các độ mờ đục trung gian bằng cách chia độ mờ đục tích lũy cuối cùng cho giá trị alpha của từng Gaussian, chỉ yêu cầu chi phí bộ nhớ cố định cho mỗi pixel.

Phần giải thích trên trang này do AI viết dựa trên bài báo và có thể có sai sót. Hãy đọc bài báo gốc để biết chi tiết.

Đọc với bản dịch và AI