Skip to content
No description, website, or topics provided.
Jupyter Notebook JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
deeplensLambda
lambda
model
notebooks
quicksight
trainingData
.gitattributes
LICENSE
README.md
architecture_diagram.png
gist.md
teamworkDreamwork.template

README.md

DeepLensChallenge

Challenge

Submission for the AWS DeepLens Challenge

Team

  • Steven Muschler (2017 re:Invent Attendee)
  • Valerie Hall
  • Tim Pusateri

Solution

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.

Model Training

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.

Architecture

Architecture Diagram

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.

DeepLens Deployment

To deploy the model and lambda to the DeepLens, use the following artifacts. Instructions for DeepLens deployments can be found here.

Model Artifacts:

Hearts and Stars

Nike and Adidas

Lambda Artifacts:

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.

Infrastructure Deployment

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.
You can’t perform that action at this time.