Skip to content
/ argus Public

🙈 facial recognition / biometrics / IoT sensor data Flask microservice via videostreams

License

Notifications You must be signed in to change notification settings

loudest/argus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python videostreams for facial recognization & biometrics

Screenshot

Challenge and Approach

Our approach for satisfying this Machine Learning challenge was to:

  1. Analyize video streams with facial object detection and apply biometric markers to data (facial recognition).
  2. Utilize IoT sensors (tempature, humidity) to improve the data collection process (location data).
  3. Develop a microservice that outputs JSON data so datasets can be collected and used by a Machine Learning API.

Team Members

Our team is comprised of:

Technologies, APIs, and Datasets Utilized

I made use of:

  • Flask python RESTful microservice
  • OpenCV for video analysis and facial detection
  • openbr facial biometrics
  • Arduino Uno to obtain temperature and humidity data.
  • JS Stats javascript for video frame rate detection and CPU utilization

Microservice REST API explained

Flask service listens to the following REST endpoints (no inputs):

  1. /video_feed - raw video feed as Motion JPEG stream
  2. /sensor_data - IoT sensor data returned as JSON: {"temperature":string,"humidity":string}
  3. /facial_data - Facial biometrics returned as JSON: {"data":{"head_cordinates":array[{x,y}],"left_eye_coordinates":array[{x,y}],"right_eye_coordinates":array[{x,y}],"mouth_coordinates":array[{x,y}],"mood":string,"facial_hash_string":string}

How to run our app:

  1. Go into the server/ directory
  2. Run it via: python main.py

TO-DO

  1. [Blocking I/O] In camera.py, the function parse_serial_connection() utilizes a COM3 serial connection on an Arduino board. The I/O is polling very 60 seconds.
  2. [Threading] Update sensor data as a sperate thread with a dynamic endpoint to a Flask route.

Our code is licensed under the MIT License. Pull requests will be accepted to this repo, pending review and approval.

About

🙈 facial recognition / biometrics / IoT sensor data Flask microservice via videostreams

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published