What is AWS DeepLens?
AWS DeepLens is a wireless-enabled video camera and development platform integrated with the Amazon Web Services (AWS) Cloud. It lets you use the latest Artificial Intelligence (AI) tools and technology to develop computer vision applications based on a deep learning model.
As a beginner to machine learning, you can use Amazon Web Services (AWS) DeepLens to explore deep learning through hands-on tutorials based on ready-deployed deep learning sample projects. Each sample project contains a pre-trained model and a pedagogically straightforward inference function.
As a seasoned practitioner, you can leverage the Amazon Web Services DeepLens development platform to train a convolutional neural network (CNN) model and deploy to the AWS DeepLens device your computer vision application project containing the model. You can train the model in any of the supported deep learning frameworks, including Caffe, MXNet and TensorFlow.
It’s important to note that DeepLens is a developer-focused device. It does have some easy to use out-of-the-box applications for the everyday user, but folks with some technical skills who want to get their hands on Amazon’s machine learning capabilities will get the most enjoyment out of DeepLens. Additionally, viewing a stream of a project deployed to the device requires a micro HDMI cable and a USB connection to a keyboard and mouse.
“You can program this thing to do almost anything you can imagine so you can imagine programming the camera with computer vision models so if you recognize a license plate coming into your driveway it will open a garage door, or you can program an alarm if your dog gets on the couch,” said Andy Jassy, CEO, AWS.
AWS DeepLens Technical Specifications and features:
The AWS DeepLens device has the following specs:
- A 4-megapixel camera with MJPEG (Motion JPEG)
- 8 GB of on-board memory
- 16 GB of storage capacity
- A 32-GB SD (Secure Digital) card
- Expandable storage via microSD card
- Wi-Fi support for both 2.4 GHz and 5 GHz standard dual-band networking
- A micro HDMI display port
- Audio out and USB ports
- Intel Atom Processor
- Gen9 graphics
- Ubuntu OS 16.04 LTS
- 106 GFLOPS performance
- 2 USB ports
- Ubuntu 16.04
- Amazon AWS Greengrass Core
- Device-optimized versions of MXNet and Intel® clDNN library
- Support for other deep learning frameworks.
Amazon AWS DeepLens Architecture:
Ultimately, DeepLens is an edge computing device powered by AWS IoT Greengrass. The camera connected to it is treated like any other sensor that can ingest telemetry. In this case, the camera is sending video frames instead of time-series data.
Each video frame is sent to an AWS Lambda function that runs the ML inference model written in Python. This function takes advantage of the locally available GPU to run the convolutional neural network on each frame. The model then emits a score which is formatted in JSON.
The output of the Lambda function, which is a JSON payload with the score, will also have additional annotations. This JSON payload is published to an AWS IoT MQTT topic like any other sensor telemetry payload.
Once the payload is published to the topic, it can be passed through AWS IoT rules engine that can invoke a Lambda function to evaluate each message. Once the message lands in Lambda, it is upto the developer on what he wants to do with it.
AWS DeepLens Project Workflow:
The following diagram illustrates the basic workflow of a deployed AWS DeepLens project.
What programming languages are supported by AWS DeepLens?
You can define and run models on the camera data stream locally in Python 2.7.
The Secret Sauce of DeepLens:
What is fascinating about Amazon DeepLens is the way Amazon AWS managed to connect the dots. It is an elegantly designed software stack that spans the device and the cloud. AWS exploited many services to make DeepLens a powerful edge computing platform.
Since developing a convolutional neural network (CNN) is hard, and also requires access to tens of thousands of images to train the model, Amazon has made a few projects available out of the box. Once a DeepLens device is registered with your AWS account, you can easily push any of these projects to the device within minutes.
AWS services required to develop AWS DeepLens application:
- Use the Amazon SageMaker service to train and validate a CNN model or import a pre-trained model.
- Use the AWS Lambda service to create a project function to make inferences of video frames off the camera feeds against the model.
- Use the AWS DeepLens service to create a computer vision application project that consists of the model and inference function.
- Use the AWS Greengrass service to deploy the application project and a Lambda runtime to your AWS DeepLens device, as well as the software or configuration updates.
What is AWS DeepLens price? Where to buy AWS DeepLens camera?
USD 249. Back at its re:Invent conference in November, AWS announced its $249 DeepLens, a camera that’s specifically geared toward developers who want to build and prototype vision-centric machine learning models. The company started taking pre-orders for DeepLens a few months ago, but now the camera is actually shipping to developers.
Buy from Amazon Website – Online Store
What comes in the box?
Inside the box, developers will find a Getting Started guide, the AWS DeepLens device, a power supply and a 32GB microSD card. Setup and configuration of the DeepLens device can be done in minutes using the AWS DeepLens console, and by configuring the device through a browser on your laptop or PC.
What geographic regions is AWS DeepLens available?
Currently AWS DeepLens is only available in the US.
AWS DeepLens Use Cases/Applications/Projects:
Explore the collection of AWS DeepLens projects contributed by the community of developers who participated in the AWS DeepLens Virtual Hackathon. These projects cover a range of categories, from safety and education to health and wellness and of course, pets and animals.
What sample projects are available at launch?
There are 6 sample projects available at launch.
1. Object Detection
2. Hot Dog Not Hot Dog
3. Cat and Dog
4. Artistic Style Transfer
5. Activity Detection
6. Face Detection
AWS DeepLens Demo Video by AWS Expert:
Can you train your models on the device?
No, AWS DeepLens is capable of running inference or predictions using trained models. You can train your models in Amazon SageMaker, a machine learning platform to train and host your models. AWS DeepLens offers a simple 1-click deploy feature to publish trained models from Amazon SageMaker.
MeenaG’s AWS DeepLens Review:
Technically speaking, you don’t need a $249 device to run an offline convolutional neural network model. If you are a developer with an appetite to build things from the scratch, consider getting the Google Vision Kit. It is a cheaper, version of AWS DeepLens.
Amazon must be appreciated for visualizing and designing a product like DeepLens. It acts as a reference architecture for many edge computing use cases. The whole integration of DeepLens with AWS Management Console, the workflow involved in importing a SageMaker model as a project, and finally pushing the inference model with one click, makes AWS DeepLens a rich edge computing platform.
The device will have to go through multiple iterations before it becomes polished and sophisticated. Once the AWS DeepLens platform becomes stable, original device manufacturers will start embedding that in their cameras. Amazon might even ship an Android and Apple iOS version of DeepLens SDK to enable mobile developers to build intelligent computer vision applications.
AWS DeepLens Tutorials: