Using Image Inference and Video Analytics Pipelines with Greengrass V2 and NVIDIA Jetson
This repository will give you concrete examples to get starting using GreengrassV2 to build Image Inferencing and Video Analytics Pipelines
Technologies used:
- GreengrassV2
- NVIDIA Deepstream 5.0
- Sagemaker NEO DLR
Prerequisites
- GreengrassV2 (https://docs.aws.amazon.com/greengrass/v2/developerguide/getting-started.html)
- AWS CLI with GreengrassV2 support (https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
- Jetpack 4.4 (https://developer.nvidia.com/EMBEDDED/Jetpack)
- numpy (This takes a long time to install, if you don't have it installer will try to install)
- opencv-python (Should be pre-installed with Jetpack 4.4)
Image Inference
PLEASE NOTE: This deployment may install/modify components on your Jetson device. It will install some python packages outside of a virtual environment. This is because python-opencv is specially installed as part of Jetpack 4.4 and the debian package may run for a long period of time and not succesfully complete (numpy can also take a long time to install).
replace GreengrassCore where mentioned run:
cd ~/GreengrassCore
aws greengrassv2 create-component-version --inline-recipe fileb://recipes/aws.greengrass.JetsonDLRImageClassification-1.0.0.json
aws greengrassv2 create-component-version --inline-recipe fileb://recipes/variant.Jetson.DLR-1.0.0.json
aws greengrassv2 create-component-version --inline-recipe fileb://recipes/variant.Jetson.ImageClassification.ModelStore-1.0.0.json
deploy:
- Go to AWS Iot Core Console (https://console.aws.amazon.com/iot/home)
- Choose Greengrass -> Components
- You should see the components you created via the AWS CLI.
- Choose any one of the three components you created
- Choose 'Deploy'
- Choose 'Create new deployment' then choose 'Next'
- For 'Name' give the deployment a name
- For 'Target type' enter the name of your device core (https://console.aws.amazon.com/iot/home?region=us-east-1#/greengrass/v2/cores)
- Choose 'Next'
- On the 'Select Components' screen, make sure to select all 3 of the components you created and Choose 'Next'
- On the 'Configure Components' screen, choose Next
- On the 'Configure advanced settings' screen, choose Next
- On the 'Review' screen choose 'Deploy'
success: Now let's go to the MQTT Test client in the AWS Console to see our inference working:
- Inside of IoT Core console, choose 'Test' then 'MQTT Test Client'
- Subscribe to topic 'demo/topic'
- You should see messages looking like the following:
{
"message": "{\"class\":\"Chihuahua\",\"confidence\":\"17.977331\"}",
"timestamp": "2021-01-06T18:30:05"
}
troubleshooting:
- if you get a failure, check the 'greengrass.log' file on your Jetson device in /greengrass/v2/logs/greengrass.log and /greengrass/v2/logs/aws.greengrass.JetsonDLRImageClassification.log
Deepstream Video Analytica Pipelines
License
This library is licensed under the MIT-0 License. See the LICENSE file.