All Projects → aws-samples → aws-reinforce2019-ppe-detection-demo

aws-samples / aws-reinforce2019-ppe-detection-demo

Licence: MIT-0 license
Personal Protective Equipment detection demo showed at AWS re:Inforce 2019: source code and materials.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to aws-reinforce2019-ppe-detection-demo

AmazonSpeechTranslator
End-to-end Solution for Speech Recognition, Text Translation, and Text-to-Speech for iOS using Amazon Translate and Amazon Polly as AWS Machine Learning managed services.
Stars: ✭ 50 (+127.27%)
Mutual labels:  amazon-polly
audioslides.io
Use Amazon Polly, Google Slides and FFMpeg to create videos that can be updated at anytime by anyone. This project is written in Elixir.
Stars: ✭ 19 (-13.64%)
Mutual labels:  amazon-polly
handprint
Apply different text recognition services to images of handwritten documents.
Stars: ✭ 127 (+477.27%)
Mutual labels:  amazon-rekognition
cloud-experiments
Open innovation with 60 minute cloud experiments on AWS
Stars: ✭ 72 (+227.27%)
Mutual labels:  amazon-rekognition
amazon-rekognition-engagement-meter
The Engagement Meter calculates and shows engagement levels of an audience participating in a meeting
Stars: ✭ 49 (+122.73%)
Mutual labels:  amazon-rekognition
automating-livestream-video-monitoring
This repo presents a demo application for realtime livestream video quality monitoring using AWS serverless and AI/ML services.
Stars: ✭ 20 (-9.09%)
Mutual labels:  amazon-rekognition
aws-media-insights
This is an application for analyzing the content of images and videos. It includes a GUI and back-end analytical workflows. It is the reference application for the Media Insights Engine.
Stars: ✭ 28 (+27.27%)
Mutual labels:  amazon-rekognition

AWS re:Inforce 2019 PPE Detection Demo

The purpose of Personal Protective Equipment (PPE) is to prevent injuries in the workplace, protect the wearer's body, and reduce exposure to different hazards, such as physical, electrical, chemical, and others. While the usage of such protective gear is essential and legally required in many industry sectors, it is common to see workers forgetting or neglecting the use of PPE.

demo

This demo was presented in the re:Inforce 2019 Builders Fair and contains a prototype approach using several AWS services to help prevent accidents in the workplace.

architecture

To get started you will need:

  • The AWS CLI tool installed on your local machine.
  • Python 3.7 with boto3 and python-opencv libraries installed on your local machine:
    pip install -r requirements.txt
    
  • A Raspberry Pi with the omxplayer package installed.
  • Tested in the N. Virginia region (us-east-1).

1. Installation

1.1 Create resources on your AWS account

  1. Download the .zip or clone this repo on your machine.

  2. Make sure you have a user with programmatic access and have configured the access key ID and secret access key.

  3. Enter the deploy directory and execute ./deploy.sh create. When asked, set the email address and alarm message (this process will take about 5 minutes to complete, please wait it to finish before proceeding):

    cd deploy
    ./deploy.sh create
    

1.2 Configure your Raspberry Pi

Now that you have created the AWS resources in the previous step, you need to upload the certificates and source files to your Raspberry Pi.

  1. On the AWS console, go to yours Things page on the AWS IoT Core service and click on the IoT Thing named ppe-raspberry-<your_account_id>.

  2. In the left menu, click on Interact, then on Connect a device, and follow the steps to download the connection kit for Linux/OSX and Python SDK.

  3. Upload the connection kit .zip and the files from the src/iot directory. For example, using scp:

    scp connect_device_package.zip pi@<your_iot_device_ip>:~
    scp src/iot/subscribe.py pi@<your_iot_device_ip>:~
    scp src/iot/not_protected.ogg pi@<your_iot_device_ip>:~
    
  4. Login to your Raspberry Pi, unzip the connection kit and modify the start.sh to run the demo:

    unzip connect_device_package.zip
    sed -i 's#python setup.py install#python setup.py install --user#g' start.sh
    sed -i 's#aws-iot-device-sdk-python/samples/basicPubSub/basicPubSub.py#subscribe.py#g' start.sh
    chmod +x start.sh
    ./start.sh
    

2. Running

  1. Make sure the ./start.sh script is still running in your Raspberry Pi.

  2. Execute the src/webcam_client.py in your machine.

    python src/webcam_client.py
    

3. Optional

The src/athena directory contains source files to make queries in Amazon Athena and create dashboards with Amazon QuickSight. Make sure you change the <your_data_bucket> present in src/athena/table.sql.

dashboard-image

4. Clean up

You can remove the AWS resources created for this demo by running ./deploy delete.

License Summary

This sample code is made available under the MIT-0 license. See the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].