# Guidance for Open Source 3D Reconstruction Toolbox for Gaussian Splats on AWS

## Overview

This Guidance demonstrates how to create high-quality 3D content from real-world objects and environments. It shows how to address common challenges, such as the need for specialized 3D modeling expertise, expensive equipment, and time-consuming manual processes for creating photorealistic 3D assets. The Guidance helps streamline the complex technical infrastructure required for 3D reconstruction and illustrates methods to improve scalability for processing large volumes of 3D assets. It also shows how to enhance the real-time performance of reconstructed 3D models in various applications. By following this Guidance, you can leverage the benefits of 3D content in areas like e-commerce, digital twins, virtual production, and immersive experiences, without being hindered by traditional obstacles.

## Benefits

### Enable real-time digital experiences

Create photorealistic 3D models using Gaussian splats. Power responsive e-commerce displays, digital twins, and virtual production applications.


### Reduce 3D production barriers

Turn entire product catalogs or real-world environments into interactive 3D experiences. Eliminate the need for specialized equipment and technical expertise.


### Scale digital asset creation effectively

Process thousands of 3D reconstructions simultaneously with event-driven, auto-scaling GPU infrastructure. Build a modular pipeline that automatically handles multiple steps from media processing to model generation.


## How it works

### Event-driven serverless architecture

This architecture diagram shows an automated deployment of event-driven serverless architecture for user accounts.

[Download the architecture diagram](https://d1.awsstatic.com/onedam/marketing-channels/website/aws/en_US/solutions/approved/documents/architecture-diagrams/open-source-3d-reconstruction-toolbox-for-gaussian-splats-on-aws.pdf)Step 1An administrator deploys the Guidance to an AWS account and Region using AWS Cloud Development Kit (AWS CDK) or Terraform.Step 2The Base AWS CloudFormation stack to deploy will create all the AWS resources needed to host the Guidance. This includes: an Amazon Simple Storage Service (Amazon S3) bucket, AWS Lambda functions, an Amazon DynamoDB table, necessary AWS Identity and Access Management (IAM) permissions, and an Amazon Elastic Container Registry (Amazon ECR) image registry. Additionally, it includes an AWS Step Functions state machine resource ID in Parameter Store, a capability of AWS Systems Manager, and it creates an Amazon Simple Notification Service (SNS) topic.Step 3Once the Base CloudFormation stack has been deployed, deploy the Post Deploy CloudFormation stack. That stack will build a Docker container and push it to the Amazon ECR registry. It will also build and push the pre-processing models used during training, such as for background removal, into the S3 bucket.### AI-generated open source 3D content

This architecture diagram shows how to enable the generation of realistic 3D content through open source rendering techniques.

[Download the architecture diagram](https://d1.awsstatic.com/onedam/marketing-channels/website/aws/en_US/solutions/approved/documents/architecture-diagrams/open-source-3d-reconstruction-toolbox-for-gaussian-splats-on-aws.pdf)Step 1The user authenticates to IAM using AWS Tools and SDKs.Step 2The input is uploaded to a dedicated S3 job bucket location. This can be done using a Gradio interface and AWS Software Development Kit (AWS SDK).Step 3Optionally, the Guidance supports external job submission by uploading a '.JSON' job configuration file and media files into a designated S3 job bucket location.Step 4The job JSON file uploaded to the S3 job bucket will trigger an Amazon SNS message that will invoke the initialization Job Trigger Lambda function.Step 5The Job Trigger Lambda function will perform input validation and set appropriate variables for the Step Functions State Machine.Step 6The workflow job record will be created in the DynamoDB job table.Step 7The Job Trigger Lambda function will invoke Step Functions State Machine to handle the entire workflow job.Step 8An Amazon SageMaker AI Training Job will be submitted synchronously using the state machine built-in wait until completion mechanism.Step 9The Amazon ECR container image and S3 job bucket model artifacts will be used to deploy a new container on a graphics processing unit (GPU) based compute node. The compute node instance type is determined by the job JSON configuration.Step 10The container will run the entire pipeline as an Amazon SageMaker AI training job on a GPU compute node.Step 11The Job Completion Lambda function will complete the workflow job by updating the job metadata in DynamoDB and using Amazon SNS to notify the user through email upon completion.Step 12The internal workflow parameters are stored in Parameter Store during deployment to decouple the Job Trigger Lambda function and the Step Function State Machine.Step 13Amazon CloudWatch logs and monitors the training jobs, surfacing possible errors to the user.## Deploy with confidence

Everything you need to launch this Guidance in your account is right here.

- **We'll walk you through it**: Dive deep into the implementation guide for additional customization options and service configurations to tailor to your specific needs.

[Open guide](https://aws-solutions-library-samples.github.io/compute/open-source-3d-reconstruction-toolbox-for-gaussian-splats-on-aws.html)

- **Let's make it happen**: Ready to deploy? Review the sample code on GitHub for detailed deployment instructions to deploy as-is or customize to fit your needs.

[Go to sample code](https://github.com/aws-solutions-library-samples/guidance-for-open-source-3d-reconstruction-toolbox-for-gaussian-splats-on-aws)


[Read usage guidelines](/solutions/guidance-disclaimers/)

