Nguồn: 3D Gaussian Splatting: Performant 3D Scene Reconstruction at Scale | AWS Spatial Computing Blog
Bởi Stanford Lee, Dario Macagnano, và Eric Cornwell vào ngày 27 tháng 8 năm 2024 trong các lĩnh vực: Amazon EC2, AR & VR, Tính toán, Phát triển Game, Ngành công nghiệp, Giải trí và Media, Lãnh đạo tư tưởng.
Giới thiệu
Việc tạo ra nội dung 3D chất lượng cao truyền thống là một quá trình phức tạp, tốn thời gian và tiêu tốn nhiều tài nguyên. Từ mô hình 3D và tạo kết cấu đến việc lắp ráp cảnh và render cuối cùng, các công ty cần những kỹ năng chuyên biệt. Họ phải đầu tư một nỗ lực lớn để tạo ra các môi trường ảo, tài nguyên và nhân vật thực tế – đặc biệt nếu mục tiêu của họ là tái tạo kỹ thuật số các yếu tố từ thế giới thực.
Ví dụ, bài blog này của AWS đi vào chi tiết về cách các công nghệ chụp thực tế cung cấp một giải pháp hấp dẫn để đơn giản hóa quá trình số hóa các vật thể hoặc môi trường thế giới thực thông qua các kỹ thuật như quét LiDAR, Phân tích ảnh (Photogrammetry) và Trường phát quang thần kinh (NeRFs). Ý tưởng chính là chụp nhiều góc nhìn của một cảnh, sau đó phân tích sự tương đồng và khác biệt giữa các góc nhìn để ước tính độ sâu và hình học của cảnh. Cách tiếp cận tự động này loại bỏ nhu cầu tạo mô hình 3D thủ công, mang lại kết quả chất lượng cao trong một phần thời gian so với các phương pháp truyền thống. Tuy nhiên, các kỹ thuật này đòi hỏi phần cứng đắt tiền và chuyên dụng, tiêu tốn nhiều tài nguyên tính toán và thường có hiệu suất render thời gian thực kém.
Gần đây, một kỹ thuật tái tạo cảnh 3D và raster hóa mới gọi là 3D Gaussian Splatting đã thể hiện tiềm năng tăng tốc quy trình này và vẫn mang lại kết quả chất lượng cao. Trong bài viết này, chúng ta sẽ khám phá 3D Gaussian Splatting là gì, những lợi thế của nó so với các phương pháp tái tạo 3D và chụp thực tế trước đây, ý nghĩa của nó đối với việc tạo nội dung 3D và cách các tổ chức có thể tận dụng AWS để sử dụng 3D Gaussian Splatting để tái tạo tài nguyên 3D thế giới thực ở quy mô lớn.
Tái tạo 3D là gì?
Hình 1. Tái tạo 3D sử dụng hình ảnh đầu vào 2D để suy ra độ sâu 3D bằng cách tạo ra các đại diện ba chiều của các đối tượng sử dụng các kỹ thuật thị giác máy tính.
Trước khi đi sâu vào 3D Gaussian Splatting, điều quan trọng là phải hiểu khái niệm về tái tạo 3D. Quá trình này liên quan đến việc sử dụng các đầu vào 2D, chẳng hạn như ảnh chụp hoặc khung video, để tái tạo và xây dựng lại một cảnh hoặc vật thể 3D. Ví dụ, điều này có thể có nghĩa là chụp một cảnh bằng máy ảnh và chuyển đổi nó thành một môi trường 3D tương tác. Không giống như các kỹ thuật quét 3D như LiDAR, cung cấp dữ liệu độ sâu như một đầu vào, các kỹ thuật tái tạo 3D phải ước tính vị trí của máy ảnh và suy ra thông tin độ sâu từ các hình ảnh 2D để tái tạo lại cảnh trong không gian 3D. Hơn nữa, tái tạo 3D có thể được coi là một vấn đề phức tạp trong thị giác máy tính sử dụng các kỹ thuật như stereo đa góc nhìn, cấu trúc từ chuyển động, hình dạng từ bóng/shading/kết cấu để tái tạo 3D từ 2D.
Photogrammetry, như là ví dụ lâu đời nhất về tái tạo 3D, đã được sử dụng rộng rãi trong nhiều ứng dụng từ những năm 1980, ban đầu trong nhiếp ảnh hàng không, đo đạc và lập bản đồ. Như đã giải thích trong một bài blog trước của AWS, photogrammetry tận dụng cấu trúc từ chuyển động và stereo đa góc nhìn để tạo ra một đám mây điểm của cảnh. Một lưới 3D dựa trên đa giác với các kết cấu phủ lên có thể được tạo ra từ đám mây điểm bằng cách sử dụng các kỹ thuật khác nhau bao gồm tái tạo bề mặt Poisson hoặc Ball-pivoting. Gần đây, vào năm 2020, Neural Radiance Fields (NeRF) đã được giới thiệu như một kỹ thuật tái tạo 3D mới, trình bày các cảnh tái tạo dưới dạng các thể tích, chứ không phải là lưới. Điều này được thực hiện thông qua việc sử dụng mạng nơ-ron để ước tính các đặc tính bức xạ ánh sáng và tạo ra các góc nhìn mới, nhân tạo xung quanh một đối tượng. So với photogrammetry, phương pháp mới này thường hiệu quả hơn và tạo ra các kết quả nhanh hơn, tuy nhiên, mức độ chi tiết đôi khi lại kém hơn.
3D Gaussian Splatting là gì?
Hình 2. Các điểm 3D Gaussian (3D Gaussian Splat) là các đại diện thể tích của không gian 3D và khác biệt so với các lưới đa giác truyền thống.
Vào năm 2023, một bài báo được công bố tại SIGGRAPH đã giới thiệu 3D Gaussian Splatting (“3D Gaussian Splatting for Real-Time Radiance Field Rendering”) như một phương pháp tái tạo 3D mới, xây dựng dựa trên khái niệm của NeRFs. Sự khác biệt chính là thay vì tạo ra các góc nhìn mới bằng cách sử dụng mạng nơ-ron để ước tính bức xạ ánh sáng như NeRFs, 3D Gaussian Splatting tạo ra các góc nhìn mới bằng cách điền vào không gian 3D các “gaussian” phụ thuộc vào góc nhìn. Các gaussian này xuất hiện dưới dạng các hình nguyên thủy mờ, với màu sắc, mật độ và vị trí được điều chỉnh để mô phỏng hành vi của ánh sáng.
Thay vì vẽ các tam giác cho lưới đa giác, 3D Gaussian Splatting vẽ (hoặc splat) các gaussian để tạo ra một đại diện thể tích, trong đó hàng tỷ gaussian có thể được sử dụng để tái tạo các môi trường phức tạp của thế giới thực. Quan trọng hơn, 3D Gaussian Splatting khác với NeRFs ở chỗ nó không sử dụng mạng nơ-ron, mà thay vào đó áp dụng các phương pháp tối ưu hóa học máy truyền thống như gradient ngẫu nhiên (stochastic gradient descent) – một khái niệm tương tự nhưng không có các lớp mạng, giúp nó trở nên hiệu quả về mặt tính toán hơn nhiều.
Kỹ thuật 3D Gaussian Splatting mang lại tái tạo 3D photorealistic với chất lượng hình ảnh được cải thiện và thời gian tạo hình giảm đi so với các kỹ thuật trước đây. Thêm vào đó, nó cung cấp nhiều lợi ích khác, giúp trở thành kỹ thuật tiên tiến mới cho tái tạo 3D..
Tăng tốc Tái tạo 3D Photorealistic
Hình 3. Các điểm 3D Gaussian có thể được sử dụng trong các công cụ Tạo Nội dung Kỹ thuật số (DCC) và động cơ game để xây dựng các môi trường tương tác, chân thực.
3D Gaussian Splatting có nhiều lợi ích quan trọng so với các kỹ thuật tái tạo 3D trước đây, bao gồm Photogrammetry và NeRFs:
- Thời gian tạo hình ngắn hơn: 3D Gaussian Splatting raster hóa các gaussian phụ thuộc vào góc nhìn trực tiếp thay vì sử dụng mạng nơ-ron để mô hình hóa không gian 3D một cách rõ ràng. Điều này giảm đáng kể nỗ lực tính toán cần thiết để tái tạo một cảnh 3D, cả về sức mạnh xử lý và thời gian.
- Hiệu suất thời gian thực vượt trội: Tính chất thể tích, dựa trên đám mây điểm của 3D Gaussian Splat khiến chúng dễ dàng render trong thời gian thực so với các lưới đa giác. Đầu ra của 3D Gaussian Splat cũng gọn nhẹ hơn so với NeRFs, điều này giúp ứng dụng thời gian thực có hiệu suất cao trên web và thậm chí trên thiết bị.
- Đầu ra mạnh mẽ hơn: Phương pháp 3D Gaussian Splatting cho thấy khả năng chống nhiễu tốt hơn, tạo ra ít artefact hình ảnh hơn, và xử lý các khía cạnh truyền thống khó khăn của tái tạo 3D như độ trong suốt, phản chiếu, và không gian trống đáng tin cậy hơn so với các kỹ thuật trước đây.
Những lợi thế này có nghĩa là 3D Gaussian Splatting đã giúp giảm đáng kể rào cản trong việc chụp và tái tạo thế giới thực trong 3D. Điều này có nghĩa là:
- Rào cản gia nhập thấp hơn và thời gian ra mắt nhanh hơn cho việc tạo tài nguyên 3D: Sự gia tăng nhanh chóng và việc mở rộng sử dụng 3D vượt ra ngoài các vai trò và trường hợp sử dụng chuyên biệt truyền thống. Kiến thức chuyên môn không còn cần thiết để mô hình hóa các vật thể 3D phức tạp – tất cả những gì cần có là một chiếc máy ảnh smartphone và một điểm cuối cho một pipeline tái tạo 3D được hỗ trợ bởi 3D Gaussian Splatting.
- Tăng khả năng tiếp cận việc tiêu thụ nội dung 3D tương tác, thời gian thực: Yêu cầu phần cứng giảm đi cho việc render và hiệu suất vượt trội cho việc tiêu thụ thời gian thực có nghĩa là việc dân chủ hóa nội dung 3D trực tiếp trên tất cả các phương tiện, đặc biệt là máy tính tiêu dùng, di động và AR/VR. Các trải nghiệm web tương tác với tài nguyên 3D photorealistic giờ đây có thể thực hiện được ở quy mô lớn mà không cần đến phần cứng tính toán đắt tiền.
3D Gaussian Splatting, như một công nghệ tái tạo 3D, có tiềm năng thay đổi cách chúng ta tiếp cận việc tạo tài nguyên 3D trong nhiều ngành công nghiệp, từ sản xuất ảo đến mô hình số hóa (digital twins) và minh họa sản phẩm thương mại điện tử. Những trải nghiệm này hưởng lợi từ tính tương tác, độ chân thực cao của các tài nguyên 3D – tất cả đều có thể được hỗ trợ bởi đám mây để trở nên có thể mở rộng, phân phối và hiệu suất hơn.
3D Gaussian Splatting tại quy mô sử dụng AWS
3D Gaussian Splatting, giống như các kỹ thuật tái tạo 3D khác, rất phù hợp với khả năng mở rộng, hiệu suất và phân phối nội dung của đám mây – để tạo, quản lý và phân phối tài nguyên cho người dùng cuối trên toàn cầu. Có nhiều cách để xây dựng một quy trình công việc như vậy.
Dưới đây là một ví dụ về quy trình công việc 3D Gaussian Splatting trên AWS, bắt đầu với một hình minh họa tổng thể của quá trình:
Hình 4. Ví dụ về quy trình công việc 3D Gaussian Splatting trên AWS.
Quy trình công việc này bao gồm các thành phần sau:
- Đầu vào: Video và hình ảnh 2D được nhập vào và sử dụng làm đầu vào cho quy trình công việc.
- Quy trình công việc: Quy trình công việc bao gồm nhiều pipeline, mỗi pipeline xử lý độc lập và theo trình tự với nhau.
- Pipeline: Mỗi pipeline là một nhiệm vụ tự chứa với các đầu vào và đầu ra tiêu chuẩn. Việc sử dụng các pipeline có thể phân chia phạm vi và tách rời các quá trình riêng biệt có thể chạy độc lập với nhau. Tính mô-đun này giúp tối ưu hóa mã nguồn của mỗi pipeline và cho phép tái sử dụng các quy trình này trong các quy trình công việc khác. Trong ví dụ này, chúng ta có các pipeline cho xử lý hình ảnh, cấu trúc từ chuyển động (structure from motion), huấn luyện và khởi tạo 3D Gaussian Splatting, và trình duyệt 3D Gaussian Splatting.
- Đầu ra: Đối với việc tạo 3D Gaussian Splatting, đầu ra sẽ là một đối tượng 3D mà người dùng có thể xem từ trình duyệt web với một trình duyệt có khả năng.
Hình minh họa dưới đây cho thấy cách quy trình công việc 3D Gaussian Splatting được mô tả trước đó có thể được triển khai sử dụng các dịch vụ AWS.
Hình 5. Các công việc 3D Gaussian Splatting hưởng lợi lớn từ việc sử dụng AWS, bao gồm điều phối quy trình và xử lý thông qua các dịch vụ AWS làm thành phần xây dựng.The previous illustration depicts the following key components:
Hình minh họa trước đó mô tả các thành phần chính sau:
- Một nhà phát triển sử dụng AWS Cloud Development Kit (CDK) để tạo và triển khai cơ sở hạ tầng chỉ một lần trước khi sử dụng.
- AWS CDK sẽ lưu trữ các tài liệu cơ sở hạ tầng liên quan (uri, arn) vào AWS Systems Manager Parameter Store để có thể truy xuất trong quá trình triển khai.
- Sau khi triển khai, người dùng khởi chạy URL của trang web trong trình duyệt cục bộ được kết nối với internet.
- Trang web được lưu trữ trên Amazon Simple Storage Service (S3) và phân phối toàn cầu thông qua Amazon CloudFront.
- Người dùng nhập thông tin đăng nhập để đăng nhập sử dụng Amazon Cognito user pools.
- Người dùng khởi tạo quy trình công việc 3D Gaussian Splatting trong giao diện người dùng bằng cách tải lên một tài nguyên mới (video hoặc chuỗi hình ảnh) và gửi lệnh API.
- Trạng thái quy trình công việc và chi tiết tài nguyên được lưu trữ trong Amazon DynamoDB.
- Một quy trình công việc AWS Step Functions sẽ gọi Amazon Elastic Container Service (ECS) như một trình xử lý quy trình để chạy các pipeline.
- Amazon ECS sẽ sử dụng một hình ảnh trong Amazon Elastic Container Registry (ECR) cho container.
- Amazon ECS sẽ tạo tài nguyên tính toán để lưu trữ container và chạy các pipeline 3D Gaussian Splatting.
- Các tài nguyên đã tạo được tải/lưu từ Amazon S3 vào pipeline.
- Sau khi trình xử lý quy trình hoàn thành, quy trình công việc được hoàn tất.
- Cơ sở dữ liệu được cập nhật với trạng thái và chi tiết quy trình công việc.
- Amazon Simple Notification Service (SNS) có thể được sử dụng để thông báo cho người dùng khi tài nguyên được tạo hoàn tất.
- Người dùng có thể xem kết quả splat trong trình duyệt web.
- Các bản ghi có thể được truy cập thông qua Amazon CloudWatch.
Các công việc liên quan đến 3D Gaussian Splatting trên AWS có thể tích hợp phần mềm mã nguồn mở và công cụ của bên thứ ba cùng với các dịch vụ quản lý của AWS. Ví dụ, các công cụ mã nguồn mở có thể được sử dụng cho việc xử lý trước hình ảnh, trong khi các dịch vụ quản lý của AWS sẽ được sử dụng để chạy công việc tái tạo.
Có nhiều ví dụ về các dịch vụ AWS khác có thể được tích hợp vào quy trình công việc này. Bằng cách chạy một công việc 3D Gaussian Splatting trên AWS, khách hàng có thể mở rộng khả năng ứng dụng thông qua:
- Xử lý phân tán, linh hoạt: Sử dụng Amazon ECS, Amazon Elastic Kubernetes Service (EKS) và AWS Batch để đóng gói, song song hóa và phân phối các công việc tái tạo 3D trên nhiều nút tính toán, giúp giảm thời gian tạo và có thể mở rộng khi cần. Quản lý quy trình tái tạo sử dụng một công cụ quản lý trang trại tính toán như AWS Deadline Cloud, tận dụng khả năng di động của Open Job Description (OpenJD).
- Lưu trữ và quản lý nội dung: Sử dụng giải pháp Visual Asset Management System (VAMS) mã nguồn mở của AWS, tận dụng Amazon S3 và Amazon DynamoDB để lưu trữ, quản lý và truy xuất tài nguyên 3D đã quét cho việc hợp tác nội bộ.
- Tính toán tăng tốc đồ họa: Tận dụng Amazon Elastic Compute Cloud (EC2) và các phiên bản EC2 G6 mới nhất, được hỗ trợ bởi NVIDIA L4 Tensor Core GPUs, để tính toán tăng tốc hiệu suất, sử dụng tài nguyên 3D trong các ứng dụng đồ họa.
- Phân phối nội dung và phát trực tuyến: Sử dụng Amazon CloudFront để phát trực tuyến và phân phối nội dung 3D tương tác đã được tái tạo đến người dùng toàn cầu, với độ trễ thấp ở các điểm biên, trên web và di động.
- Phân tích và cái nhìn sâu sắc: Tận dụng các dịch vụ phân tích AWS như Amazon Kinesis, Amazon Athena, và Amazon QuickSight để thu thập cái nhìn từ các pipeline tái tạo 3D. Theo dõi hiệu suất của pipeline, nhận diện các nút thắt và tối ưu hóa hiệu quả tính toán ở quy mô.
- Tích hợp AI/ML: Tích hợp các dịch vụ học máy và AI sáng tạo của AWS như Amazon SageMaker và Amazon Bedrock để nâng cao thêm các tái tạo 3D thông qua thị giác máy tính, chẳng hạn như phân đoạn hình ảnh và gán nhãn ngữ nghĩa.
- Digital twins: Cung cấp năng lượng cho các ứng dụng digital twin trên AWS IoT TwinMaker, sử dụng tài nguyên 3D đã quét để đại diện cho các hệ thống và hoạt động thế giới thực.
- through computer vision, for example through image segmentation and semantic labelling.
- Digital twins: Power digital twin applications on AWS IoT TwinMaker using scanned 3D assets to represent real-world systems and operations.
AWS cung cấp một loạt các dịch vụ để hỗ trợ toàn bộ vòng đời của công việc 3D Gaussian Splatting. Điều này bao gồm việc nhập dữ liệu, xử lý phân tán, lưu trữ, phân phối, render, phân tích, AI/ML và digital twins.
Kết luận
Kể từ khi được giới thiệu vào năm ngoái, 3D Gaussian Splatting đã giúp thúc đẩy một cuộc cách mạng trong việc tạo ra tài nguyên và nội dung 3D bằng cách làm tăng đáng kể khả năng tiếp cận và hiệu quả của công nghệ tái tạo 3D và chụp thực tế.
Lĩnh vực 3D Gaussian Splatting tiếp tục phát triển nhanh chóng, với những đổi mới liên tục từ các đối tác của AWS. NVIDIA đã khám phá một phương pháp gọi là “Text-to-4D với Dynamic 3D Gaussians và Composed Diffusion Models”, kết hợp 3D Gaussian Splatting và các mô hình khuếch tán AI để tạo ra tài nguyên động thông qua đầu vào văn bản. Thêm vào đó, Meta đã nghiên cứu về “Robust Gaussian Splatting”, tập trung vào việc nâng cao độ mạnh mẽ của các đầu ra tái tạo 3D từ các bản ghi cầm tay bằng điện thoại di động, giảm thiểu sự không nhất quán trong hình ảnh.
Tại AWS, chúng tôi cung cấp cơ sở hạ tầng đám mây, các dịch vụ và hệ sinh thái đối tác để cho phép các pipeline 3D Gaussian Splatting có thể mở rộng – bao gồm nhập video, tính toán tăng tốc cho việc tạo mô hình, lưu trữ và quản lý tài nguyên 3D, cùng với việc render và phân phối thời gian thực tới mọi thiết bị. Điều này giúp đơn giản hóa quy trình tích hợp khả năng 3D photorealistic vào các ứng dụng của bạn trong các ngành công nghiệp như truyền thông, bán lẻ, sản xuất và các ngành khác.
Chúng tôi khuyến khích bạn thử nghiệm với 3D Gaussian Splatting và các công nghệ tái tạo 3D. Tham khảo kho lưu trữ “3D Gaussian Splatting for Real-Time Radiance Field Rendering” trên GitHub để biết các bước triển khai và triển khai ngay hôm nay trên AWS.
TAGS: Quản lý Tài nguyên 3D, Amazon EC2, AR/VR, Digital Twin, Mô phỏng, Tính toán không gian.
Stanford Lee
Stanford Lee là Quản lý Tài khoản Kỹ thuật và là một phần của Cộng đồng Kỹ thuật Mảng Tính toán Không gian tại Amazon Web Services, nơi ông cung cấp hướng dẫn kỹ thuật cho các lãnh đạo công nghệ cấp cao tại các doanh nghiệp lớn. Trong vai trò này, ông dẫn dắt các dự án khách hàng, xây dựng các nguyên mẫu kỹ thuật và cung cấp tư duy lãnh đạo về tính toán 3D immersive và các công nghệ thực tế tăng cường, thực tế ảo và thực tế mở rộng (AR/VR/XR). Ông hiện đang làm việc tại Sydney, Australia và trước đây đã công tác tại Nhật Bản và Singapore.
Dario Macagnano
Dario Macagnano là Kiến trúc sư Giải pháp Cao cấp cho Tính toán Thị giác và Không gian tại AWS. Dario có nhiều năm kinh nghiệm trong việc thiết kế và triển khai các dự án liên quan đến thị giác và không gian, từ các nguyên mẫu nhanh chóng đến các triển khai quy mô lớn cho các sự kiện trực tiếp và các sáng kiến đang diễn ra. Dario đam mê khám phá những công nghệ điều khiển các hệ thống này, với sự tập trung đặc biệt vào các động cơ game, vốn là nền tảng của hầu hết các trải nghiệm này.
Eric Cornwell
Eric Cornwell là Kiến trúc sư Giải pháp Không gian Cao cấp trong đội ngũ Open Source và Các Công nghệ Mới nổi (OSET) tại AWS. Với các bằng kỹ thuật khác nhau, ông đã đóng góp thông qua các công trình nghiên cứu đã được công bố và sở hữu bằng sáng chế liên quan đến thực tế tăng cường. Eric được miêu tả là một người xây dựng tài năng, luôn tận tâm mang công nghệ immersive tiên tiến để phát triển các giải pháp 3D thông minh, có thể mở rộng. Tận dụng chuyên môn trong các công nghệ mới nổi, ông đóng vai trò quan trọng trong việc tạo ra các ứng dụng tính toán không gian và 3D sáng tạo, mang lại giá trị cho khách hàng của AWS.