Submission for the AWS DeepLens Challenge
- Steven Muschler (2017 re:Invent Attendee)
- Valerie Hall
- Tim Pusateri
Brand prevalence at certain locations and times is extremely valueable infromation as it allows marketing organizations to apply targeted ads in areas where their brand is struggling. When we say brand, we are mostly focused on clothing brands. For the purposes of this solution, Nike (swoosh logo) and Adidas (trefoil logo). The solution could enhanced to start tracking other brands, such as Puma.
The first step to accomplish this goal is to train a model using a SageMaker Notebook Instance to detect Nike and Adidas logos. The process for creating a dataset and training a model for this solution is documented in the following gist.
Deploying the Solution
The full solution is comprised of two major pieces. The infrastructure running in AWS, that is deployed via CloudFormation template and the model and Lambda that are deployed on the DeepLens.
To deploy the model and lambda to the DeepLens, use the following artifacts. Instructions for DeepLens deployments can be found here.
Hearts and Stars
Nike and Adidas
The Lambda function was created by using the original Object Recognition Lambda from the DeepLens sample projects. It was modified for our use case.
Note that the Resnet param files were larger than 100MB, so they were upload to GitHub as zip files. To use in future training, unzip the param files.
To deploy the AWS infrastructure, perform the following steps:
- Upload the convertToCsv.zip Lambda function to S3
- Set S3Bucket and S3Key to the location of where you uploaded the Lambda zip file
- Set Sql to the MQTT topic of your DeepLens camera
- Execute the TeamworkDreamwork CloudFormation template
- To import data into Quicksight, use this manifest file. NOTE: the bucket provisioned in the CloudFormation template must be specified here. In addition, the path should point to the time period of Firehose data that is to be imported.