Skip to content

Commit b8d3c33

Browse files
committed
Updated Readme
Included Costs Prerequisites AWS Account Requirements Service limits Next Steps
1 parent 9c8d0ab commit b8d3c33

File tree

1 file changed

+52
-46
lines changed

1 file changed

+52
-46
lines changed

README.md

Lines changed: 52 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ By deploying this guidance, users gain access to a flexible infrastructure that
2727
## Architecture
2828

2929
This guidance will:
30+
3031
- create the infrastructure required to create a gaussian splat from a video or set of images
3132
- create the mechanism to run the code and perform 3D reconstruction
3233
- enable a user to create a 3D gaussian splat from the backend (no UI) using open source tools and AWS by uploading a video (.mp4 or .mov) or images (.png or .jpg) and metadata (.json) into S3
@@ -60,19 +61,19 @@ This guidance will:
6061

6162
**TO DO: Update list of services to the actually used in the guidance**
6263

63-
| **AWS Service** | Role | |
64-
|--------------------------------------------------------------------------|------|--------------------------------------------------------------|
65-
| [Amazon Transcribe](https://aws.amazon.com/transcribe/) | Core | Convert user speech to text. |
64+
| **AWS Service** | Role | |
65+
| ------------------------------------------------------------------------ | ---- | ------------------------------------------------------------- |
66+
| [Amazon Transcribe](https://aws.amazon.com/transcribe/) | Core | Convert user speech to text. |
6667
| [Amazon Bedrock](https://aws.amazon.com/bedrock/) | Core | Invoke foundation model to translate natural language to ASL. |
67-
| [Amazon API Gateway](https://aws.amazon.com/api-gateway/) | Core | Create API to invoke lambda functions from user interface. |
68-
| [AWS Lambda](https://aws.amazon.com/lambda/) | Core | Run custom code to generate ASL for simplified text. |
69-
| [Amazon Cognito](https://aws.amazon.com/pm/cognito/) | Core | Authenticate user to access ASL translator |
68+
| [Amazon API Gateway](https://aws.amazon.com/api-gateway/) | Core | Create API to invoke lambda functions from user interface. |
69+
| [AWS Lambda](https://aws.amazon.com/lambda/) | Core | Run custom code to generate ASL for simplified text. |
70+
| [Amazon Cognito](https://aws.amazon.com/pm/cognito/) | Core | Authenticate user to access ASL translator |
7071
| [Amazon Comprehend](https://aws.amazon.com/comprehend/) | Core | Run moderation to detect toxicity on generated text |
7172
| [Amazon Rekognition](https://aws.amazon.com/rekognition/) | Core | Run moderation to detect toxicity on generated image |
72-
| [Amazon CloudFront](https://aws.amazon.com/cloudfront/) | Core | Fast and secure web-hosted user experience |
73-
| [Amazon Simple Storage Service (S3)](https://aws.amazon.com/pm/serv-s3/) | Core | Host user interface code, store generated images |
74-
| [Amazon Simple Notification Service (SNS)](https://aws.amazon.com/sns/) | Core | Send the notification to Unreal Engine |
75-
| [Amazon Simple Queue Service (SQS)](https://aws.amazon.com/sqs/) | Core | Queue notifications for Unreal Engine to consume |
73+
| [Amazon CloudFront](https://aws.amazon.com/cloudfront/) | Core | Fast and secure web-hosted user experience |
74+
| [Amazon Simple Storage Service (S3)](https://aws.amazon.com/pm/serv-s3/) | Core | Host user interface code, store generated images |
75+
| [Amazon Simple Notification Service (SNS)](https://aws.amazon.com/sns/) | Core | Send the notification to Unreal Engine |
76+
| [Amazon Simple Queue Service (SQS)](https://aws.amazon.com/sqs/) | Core | Queue notifications for Unreal Engine to consume |
7677

7778
### Custom GS Pipeline Container
7879

@@ -88,39 +89,44 @@ In this project, there is only one Docker container that contains all of the 3D
8889

8990
## Prerequisites
9091

91-
### Third-party tools (If applicable)
92-
93-
_List any installable third-party tools required for deployment._
92+
### Third-party tools
9493

95-
### AWS account requirements (If applicable)
94+
- Docker
9695

97-
_List out pre-requisites required on the AWS account if applicable, this includes enabling AWS regions, requiring ACM certificate._
96+
### AWS account requirements
9897

99-
**Example:** “This deployment requires you have public ACM certificate available in your AWS account”
98+
An active AWS Account with IAM user or role with elevated permissions to deploy resources is required to deploy this guidance, along with either a local computer with appropriate AWS credentials to deploy the CDK or Terraform solution, or utilize an AWS EC2 workstation to build and deploy the CDK or Terraform solution. Instructions for doing this will be in the [Implementation Guide](https://implementationguides.kits.eventoutfitters.aws.dev/open-3drt-0403/compute/open-source-3d-reconstruction-toolbox-for-gaussian-splats-on-aws.html)
10099

101-
**Example resources:**
100+
Resources included in this deployment:
102101

103-
- ACM certificate
104-
- DNS record
105-
- S3 bucket
102+
- EC2
106103
- VPC
107-
- IAM role with specific permissions
108-
- Enabling a Region or service etc.
104+
- IAM roles with permissions
105+
- CloudFormation
106+
- ECR
107+
- S3
108+
- SageMakerTraining Jobs
109+
- Stepfunctions
110+
- CDK (bootstrap instructions will be included in the [Implementation Guide](https://implementationguides.kits.eventoutfitters.aws.dev/open-3drt-0403/compute/open-source-3d-reconstruction-toolbox-for-gaussian-splats-on-aws.html))
109111

110-
### aws cdk bootstrap (if sample code has aws-cdk)
112+
### Service limits
111113

112-
<If using aws-cdk, include steps for account bootstrap for new cdk users.>
114+
- [Service quotas](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html) - increases can be requested via the AWS Management Console, AWS CLI, or AWS SDKs (see [Accessing Service Quotas](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html#access))
113115

114-
**Example blurb:** “This Guidance uses aws-cdk. If you are using aws-cdk for first time, please perform the below bootstrapping....”
116+
- (Optional) SageMaker Training Jobs uses a Docker container to run the training. This deployment guide has a `Deploy backend container` section that walks through building a custom container image for SageMaker. You can optionally build and test this container locally (not running on SageMaker) on a GPU-enabled EC2 instance. If you plan to do this, increase the EC2 quota named "Running On-Demand G and VT instances" and/or "Running On-Demand P instances", depending on the instance family you plan to use, to a desired maximum number of vCPUs for running instances of the target family. Note, this is vCPUs NOT number of instances like the SageMaker Batch Transform quota.
115117

116-
### Service limits (if applicable)
118+
- Install and configure the AWS CLI (if not using the recommended EC2 deployment below)
117119

118-
<Talk about any critical service limits that affect the regular functioning of the Guidance. If the Guidance requires service limit increase, include the service name, limit name and link to the service quotas page.>
120+
- [Install or update the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
119121

120-
### Supported Regions (if applicable)
122+
- [Set up the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html) - create configuration and set up credentials
121123

122-
<If the Guidance is built for specific AWS Regions, or if the services used in the Guidance do not support all Regions, please specify the Region this Guidance is best suited for>
124+
- Install [Git](https://git-scm.com/) (if not using the recommended EC2 deployment below)
123125

126+
- [Docker](https://docs.docker.com/get-docker/) installed (if not using the recommended EC2 deployment below)
127+
- N.B. [`buildx`](https://github.com/docker/buildx) is also required. For Windows and macOS `buildx` [is included](https://github.com/docker/buildx#windows-and-macos) in [Docker Desktop](https://docs.docker.com/desktop/)
128+
- Docker is required to build the container image that is used for training the splat. This will require at least 20GB of empty disk space on your deployment machine.
129+
> _Note: If building on Windows or MacOS and receive the below error, set the number of logical processors to 1. Also, it is recommended to use the EC2 Ubuntu deployment method below to mitigate this error._
124130
125131
## Cost
126132

@@ -141,30 +147,30 @@ _We recommend creating a [Budget](https://docs.aws.amazon.com/cost-management/l
141147

142148
The following table provides a sample cost breakdown for deploying this Guidance with the default parameters in the US East (N. Virginia) Region for one month.
143149

144-
| AWS service | Dimensions | Cost [USD] |
145-
| ----------------------------------- | -------------------------------------------------------------- | ----------------------- |
146-
| Amazon API Gateway | 1,000,000 REST API calls per month | $ 3.50month |
147-
| Amazon Cognito | 1,000 active users per month without advanced security feature | $ 0.00 |
148-
| Amazon Simple Storage Service (S3) | 100 GB storage, 100,000 PUT, 1,000,000 GET requests per month | ~$3.20/month |
149-
| AWS Lambda | 1,000,000 requests, 400,000 GB-seconds compute (free tier) | $0.00 |
150-
| AWS Step Functions | 100,000 state transitions per month | ~$2.40/month |
151-
| Amazon DynamoDB | 1 million write, 1 million read requests (on-demand) | ~$0.75/month |
152-
| Amazon SageMaker Training Job | 1 hour m4.xlarge instance | $0.65/hour |
153-
| Amazon Elastic Container Registry | 1 GB storage per month | $0.10/month |
154-
| Amazon Simple Notification Service | 1,000,000 publish & delivery requests (Standard) | $1.00/month |
155-
| Amazon Elastic Compute Cloud (EC2) | g5.4xlarge | $1.624/Hour (On Demand) |
156-
| Amazon Elastic Compute Cloud (EC2) | ml.g5.4xlarge | $3.364/Hour (On Demand) |
157-
| AWS Identity and Access Management | 1,000 users | $0.00 |
158-
| Amazon CloudWatch | 10 custom metrics, 5 GB logs, 10 alarms per month | ~$3.50/month |
159-
| AWS Systems Manager Parameter Store | 100 standard parameters, 10,000 API interactions | $0.00 |
150+
| AWS Service | Dimensions | Cost [USD] |
151+
| ------------------ | -------------------------------------------------------------------------------- | ----------------- |
152+
| Amazon S3 | Standard feature storage (input=200MB, output=2.5GB) | $1.61/month |
153+
| Amazon S3 | Data transfer feature | $0.90/month |
154+
| Amazon DynamoDB | Job table storage, 0.5MB per month, 1GB total, avg item size=825bytes | $0.81/month |
155+
| AWS Lambda | 2 invocations per job, 1.25s, 7.1s = 8.5s | $0.01/month |
156+
| AWS Step Functions | State transitions per workflow = 5 | $0.01/month |
157+
| Amazon SageMaker | num_instance=1, num_hours_per_job=1, ml.g5.4xlarge, Volume_size_in_GB_per_job=15 | $273.00/month |
158+
| Amazon ECR | Data storage, 15GB | $1.47/month |
159+
| Amazon SNS | Email notifications, 1 per request | $0.01/month |
160+
| Parameter Store | Store 1 param | $0.01/month |
161+
| Amazon CloudWatch | Metrics, 1GB | $0.50/month |
162+
| **TOTAL** | (est. 100 requests) | **$278.33/month** |
160163

161164
## Deployment and User Guide
165+
162166
**TO DO: update with Live link when published**
163167
For detailed guidance deployment steps and running the guidance as a user please see the [Implementation Guide](https://implementationguides.kits.eventoutfitters.aws.dev/open-3drt-0403/compute/open-source-3d-reconstruction-toolbox-for-gaussian-splats-on-aws.html)
164168

165169
## Next Steps
166170

167-
Provide suggestions and recommendations about how customers can modify the parameters and the components of the Guidance to further enhance it according to their requirements.
171+
This robust framework for 3D reconstruction serves as a fundamental building block for scalable construction of 3D environments and content workflows. You can extend this solution in multiple ways: embed it into your web applications, integrate it with game engines for interactive experiences, or implement it in virtual production environments - these are just a few possibilities to support your requirements.
172+
173+
By leveraging other AWS services, you can further enhance your workflow to scale, share, and optimize your 3D reconstruction needs, whatever they might be.
168174

169175
## Authors
170176

0 commit comments

Comments
 (0)