All Projects → DiaaZiada → ClearFace

DiaaZiada / ClearFace

Licence: other
Clear Face is python project with C++ library for tracking faces and multiple models detection from faces

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to ClearFace

javascript-examples
Examples for the Convergence Real-time Collaboration Engine
Stars: ✭ 40 (+37.93%)
Mutual labels:  realtime
microservice-graph-explorer
Navigate and explore all of the microservices in your application in real time using the real application connections.
Stars: ✭ 71 (+144.83%)
Mutual labels:  realtime
serverless-websockets-chat
Realtime chat app based on AWS Lambda, API Gateway, DynamoDB, Websockets, React in TS
Stars: ✭ 19 (-34.48%)
Mutual labels:  realtime
flutter feathersjs.dart
Communicate with your feathers js server from flutter app with unbelieved ease and make happy your customers.
Stars: ✭ 19 (-34.48%)
Mutual labels:  realtime
jui-chart
SVG-based JUI chart that can be used in the browser and Node.js. Support many types of charts. (Dashboard, Map, Topology, Full 3D, Realtime)
Stars: ✭ 58 (+100%)
Mutual labels:  realtime
PHPench
Realtime benchmarks for PHP code
Stars: ✭ 53 (+82.76%)
Mutual labels:  realtime
simplx
C++ development framework for building reliable cache-friendly distributed and concurrent multicore software
Stars: ✭ 61 (+110.34%)
Mutual labels:  realtime
CoCreateCSS
A lightweight utility-first Atomic CSS framework promoting rapid UI development. No learning curve... Apply your native css property:value directly in class, then extract and transform it.
Stars: ✭ 13 (-55.17%)
Mutual labels:  realtime
ui
PostgreSQL Editor and Dashboard
Stars: ✭ 128 (+341.38%)
Mutual labels:  realtime
jsynchronous
Jsynchronous.js - Data synchronization for games and real-time web apps.
Stars: ✭ 111 (+282.76%)
Mutual labels:  realtime
accelerator-textchat-ios
OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices.
Stars: ✭ 13 (-55.17%)
Mutual labels:  realtime
streamr-client-javascript
JS library for interacting with Streamr APIs: publishing and subscribing to data, creating streams, etc.
Stars: ✭ 35 (+20.69%)
Mutual labels:  realtime
realtime-geolocation
Geolocation tracking app with Node.js, Socket.io, & AngularJS
Stars: ✭ 29 (+0%)
Mutual labels:  realtime
Collaborate-Board
Realtime collaborate board based on Firebase developed and written in Kotlin.
Stars: ✭ 25 (-13.79%)
Mutual labels:  realtime
microblx
microblx: real-time, embedded, reflective function blocks.
Stars: ✭ 37 (+27.59%)
Mutual labels:  realtime
revai-python-sdk
Rev AI Python SDK
Stars: ✭ 35 (+20.69%)
Mutual labels:  realtime
mne-realtime
Realtime data analysis with MNE-Python
Stars: ✭ 43 (+48.28%)
Mutual labels:  realtime
web-voice-processor
A library for real-time voice processing in web browsers
Stars: ✭ 69 (+137.93%)
Mutual labels:  realtime
tgcalls
Voice chats, private incoming and outgoing calls in Telegram for Developers
Stars: ✭ 408 (+1306.9%)
Mutual labels:  realtime
ably-cocoa
iOS, tvOS and macOS Objective-C and Swift client library SDK for Ably realtime messaging service
Stars: ✭ 33 (+13.79%)
Mutual labels:  realtime

Clear Face

Clear Face is python project with C++/Python libraries for facial landmark detection(in 2d and 3d), tracking faces and multiple models detection from faces such as:

  • Gender, Expressions, Illumination, Pose, Occlusion, Age, and Makeup.

Ryan Reynolds & Jake Gyllenhaal Answer the Web's Most Searched Questions _ WIRED

Content Tabel

Requerments

Download and setup

Download Repo

git clone https://github.com/DiaaZiada/ClearFace.git
cd ClearFace

Virtual Environment

# create virtual environment
python -m venv ./venv
# activate virtual environment
source venv/bin/activate

Install Requirements

pip install -r requirements.txt

Download libtorch for c++ (CPU)

./download.sh

note: this command will download and extract the libarary

Build all c++ files

./build.sh

Running Options

to use ClearFace execute run.py file with various options

usage: run.py [-h] [--show] [--_2d] [--_3d] [--_2d3d] [--tracking]
              [--delay DELAY] [--inputs_path INPUTS_PATH]
              [--video_name VIDEO_NAME] [--outputs_path OUTPUTS_PATH]
              [--models_path MODELS_PATH] [--cam_num CAM_NUM]
              [--models MODELS [MODELS ...]]

Clear Face is python project with C++/Python libraries for facial landmark detection(in 2d and 3d), tracking faces and multiple models detection from faces such as:
 - Gender, Expressions, Illumination, Pose, Occlusion, Age, and Makeup.

optional arguments:
  -h, --help            show this help message and exit
  --show                set this parameter to True value if you want display
                        images/videos while processing, default is False
  --_2d                 set this parameter to True value if you 2d landmarks
                        from from the 2d model, default is False
  --_3d                 set this parameter to True value if you 3d landmarks
                        from from the 3d model, default is False
  --_2d3d               set this parameter to True value if you 2d landmarks
                        from from the 3d model, default is False
  --tracking            set this parameter to True value if you want tracking
                        faces in images/videos, default is False
  --delay DELAY         amount of seconds to wait to switch between images
                        while show the precess
  --inputs_path INPUTS_PATH
                        path for directory contains images/videos to process,
                        if you don't use it webcam will open to start the
                        record
  --video_name VIDEO_NAME
                        name of recorded video from camera
  --outputs_path OUTPUTS_PATH
                        path for directory to add the precesses images/videos
                        on it, if you don't use it output directory will
                        created and add the precesses images/videos on it
  --models_path MODELS_PATH
                        path for directory contains pytorch model
  --cam_num CAM_NUM     number of camera to use it
  --models MODELS [MODELS ...]
                        first index refers to gender model, second index
                        refers to expression model, and third index refers to
                        multiple models

Examples for process images/videos in directory $python run.py --inputs_path /path/to/inputs_dir --tracking --show --_2d3d --_3d
to use webcam $python run.py ---tracking --show --_2d3d --_3d

Gender Expressions and other models

  1. Gender : Male, Female
  2. Expressions : Anger, Happiness, Sadness, Surprise, Fear, Disgust
  3. Illumination : Bad, Medium, High
  4. Pose : Frontal, Left, Right, Up, Down
  5. Occlusion : Glasses, Beard, Ornaments, Hair, Hand, None, Others
  6. Age : Child, Young, Middle and Old
  7. Makeup : Partial makeup, Over-makeup

Datasets

Models

models in this project are based on Real-time Convolutional Neural Networks for Emotion and Gender Classification paper model architecture:

mini exception cnn model

this part of the project consist of 3 models:

  1. Gender
  2. Expression
  3. Multiple

Gender Model

trained done by using IMDB , WIKI, IMFDB datasets. consist of ~ 600 K image, and by using tencrop data augmentation dataset increased to be ~ 6 M image Accuracy ~ 78% using only 6 epochs and it will reach higher accuracy expected to be ~ 96 %

Expression Model

trained done by using FER , IMFDB, JAFFE image datasets. consist of ~ 40 K image, and by using tencrop data augmentation dataset increased to be ~ 400 K image Accuracy ~ 60% using 15 epochs and it will reach higher accuracy expected to be ~ 66 %

Multiple Models

this model is little bit different form Gender & Expression models in this model we use one feature extractor model and 5 different classifiers each classifier predict specific features form faces and they are:

  • Illumination : Bad, Medium, High
  • Pose : Frontal, Left, Right, Up, Down
  • Occlusion : Glasses, Beard, Ornaments, Hair, Hand, None, Others
  • Age : Child, Young, Middle and Old
  • Makeup : Partial makeup, Over-makeup

trained done by using IMFDB image datasets consist of ~ 3 K image, and by using tencrop data augmentation dataset increased to be ~ 30 K image Accuracy ~ 77% using 15 epochs

Train

all training process done on notebook using Google Colab cloud

Convert to TorchScript

we convert ower models to torchscript to load them in c++ and use them as extention of ClearFace all convertions about this part will found in this notebook

Face Tracking

we used the centroid tracking algorithm

Facial Landmark Detection

DataSet

kaggle youtube faces with facial keypoints ~ 150K image

Train

all training process for the 2d and 3d model done in this notebook using Google Colab cloud

Pre-Trained Models

You can email me on [email protected] to get the pre-trained models

Credits

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].