Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate AWS Rekognition for facial comparison capabilities #1

Closed
M-Davies opened this issue Dec 3, 2020 · 9 comments
Closed

Investigate AWS Rekognition for facial comparison capabilities #1

M-Davies opened this issue Dec 3, 2020 · 9 comments
Assignees
Labels
Epic Big issues that are essentially master controllers of several smaller issues face Anything that relates to facial recognition testing Playing around or investigating something
Milestone

Comments

@M-Davies
Copy link
Owner

M-Davies commented Dec 3, 2020

Why?

AWS provides more powerful and refined services than local python libraries for a reasonable cheap, if not free, price. Albeit harder to set up and understand initially, it'll save me a lot of development time later into the project

Aims

Investigate AWS Rekognition, mainly following this tutorial to produce a prototype script. Collect video evidence to confirm it works.

This script would take in a video stream (from my laptop or phone camera) and compare the faces in it to stored images on an AWS bucket. The response would be similar to the examples here. A successful test would be a positive match with my face stored in AWS to a group of faces in the video stream.

@M-Davies M-Davies added this to the Sprint 2 milestone Dec 3, 2020
@M-Davies M-Davies self-assigned this Dec 3, 2020
@M-Davies M-Davies added the testing Playing around or investigating something label Dec 3, 2020
@M-Davies
Copy link
Owner Author

M-Davies commented Dec 5, 2020

Steps

Crossed means completed, un-crossed means in-progress

  • Ensure AWS can handle multiple faces at obscure angles and poor image qualities. Completed by testing a custom image in the example demo:

Screenshot 2020-11-27 at 14 21 59

@M-Davies
Copy link
Owner Author

M-Davies commented Dec 6, 2020

Amazon kinesis and streaming services setup using guide => https://docs.aws.amazon.com/rekognition/latest/dg/setting-up-your-amazon-rekognition-streaming-video-resources.html

Proceeding to prosecute plugin setup for streaming from device camera => https://docs.aws.amazon.com/rekognition/latest/dg/streaming-using-gstreamer-plugin.html

@M-Davies
Copy link
Owner Author

M-Davies commented Dec 8, 2020

Plugin setup, I can now stream video from my device (a macbook) to AWS.

Now proceeding to read and analyse the results to try and get facial recog working

@M-Davies
Copy link
Owner Author

Read and analysis is working after a small hiccup with the role permissions (solved using this guide section to rejig my role permissions).

I can now stream video to the cloud and have it analysed, returning the result with a confidence match to the stored face in aws. I will attempt to replicate this success with Python scripts, since that will be the main method of communication between the backend and AWS

@M-Davies
Copy link
Owner Author

I am unsure if Python scripts will be the best solution for analysing the results due to the differences between NodeJS and Python. The NodeJS backend will need to be able to execute the python scripts in order to deploy assets and conduct investigations on the video streams.

While I feel comfortable that this should be possible after looking online, I think I may likely have dependancy issues and problems with feedbacking to the user when something goes wrong (due to the inconsistent nature of python script exiting, even with the throw() function). I feel I may have to also look into producing nodejs scripts that achieve the same goals (luckily, there is an SDK for that too) but I will reserve that thought until after I build the website skeleton

@M-Davies M-Davies modified the milestones: Sprint 2, Sprint 3 Dec 30, 2020
@M-Davies
Copy link
Owner Author

M-Davies commented Dec 30, 2020

Moved milestone ahead since this won't be completed until after the NodeJS opportunity has been explored

@M-Davies
Copy link
Owner Author

NodeJS has been instantiated for the website backend side and it's been decided in my latest blog to use boto for most of the heavylifting. Facial recog scripts are in place but need testing

@M-Davies M-Davies added Epic Big issues that are essentially master controllers of several smaller issues face Anything that relates to facial recognition labels Feb 12, 2021
@M-Davies
Copy link
Owner Author

@M-Davies
Copy link
Owner Author

M-Davies commented Feb 22, 2021

Python scripts are functional! We just need the website to hook them up to a nice UI now :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Big issues that are essentially master controllers of several smaller issues face Anything that relates to facial recognition testing Playing around or investigating something
Projects
None yet
Development

No branches or pull requests

1 participant