AWS DeepLens AI Camera: Getting started
AWS DeepLens can be ordered for approx. USD $249 from Amazon and is basically just a small computer running Ubuntu Linux with a 1080p camera attached on top of it. Since the device is not that expensive, the hardware specs are also not extremely spectacular. The built-in Intel Gen7 graphics card can be used to run deep learning models on it, but do not expect the power of an NVIDIA Tesla. It's sufficient to run various pre-trained ML models up to a certain size on real-time video streams. Performance varies depending on the selected algorithm.
The real power of this AI-Camera is not in the hardware, but rather in the provided framework. It runs greengrass and is connected to the AWS IoT Hub for resource deployment and communication.
There's nothing you couldn't already do before, using your own hardware and software stack, but instead of manually performing all the required steps from training to deploying ML models, updating code and triggering actions on inference, DeepLens seamlessly integrates into the whole toolchain of AWS:
- Create and manage Machine Learning Models using SageMaker (jupiter notebooks)
- Train Machine Learning Models from SageMaker on cutting edge hardware in the AWS cloud depending on computational needs
- Store and deploy ML Models and Applications (lambda functions) from the cloud to the DeepLens using greengrass
- Trigger actions on interference locally or in the cloud using IoT Hub messages.
Training a custom CNN can still be a lot of work, especially to collect and classify your own data, but there are also a few pre-trained models available as sample applications to get started quickly.
Deploying one of the samples onto the camera is done in just a few clicks. Corresponding lambda python function(s) and pre-trained model are created automatically.
Here's the "getting started cheat sheet":
- During setup, make sure you enable SSH remote access, or attach a keyboard and monitor using micro-HDMI connector if you don't plan to use it headless.
- Do not just unplug the camera after use! Always properly shut down the OS, either using keyboard/mouse or remotely using "sudo powerdown".
- The username to connect via SSH is aws_cam
- To update software on the deeplens:
$ sudo apt-get update
$ sudo apt-get install awscam
$ sudo reboot
If you create your own custom deeplens applications, it might be useful to watch log files directly on the device instead of using the cloud console. Local log files on the device can be found here:
Deployed lambda functions are stored in:
For debugging and testing on the local device you can modify the code of your lambda function in the above mentioned path. Restarting the greengrass service will restart the lambda function:
$ sudo service greengrassd restart
Check the /opt/awscam/greengrass/ggc/var/log/system logs for output after restarting.
After importing the certificate (created during device setup) into the webbrowser, you can access the video stream of the camera via https://deeplens.amazon.net:4000
(or use the local IP displayed in the AWS console)
To access the project output stream directly without the webpage: https://deeplens.amazon.net:4000/video_feed_proj
To troubleshoot video streaming issues:
$ sudo videoservice status