the-house-of-black-and-white / morghulis

Licence: MIT license
No description or website provided.

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to morghulis

Jeelizweboji
JavaScript/WebGL real-time face tracking and expression detection library. Build your own emoticons animated in real time in the browser! SVG and THREE.js integration demos are provided.
Stars: ✭ 835 (+4538.89%)
Mutual labels:  face, face-detection
Facifier
An emotion and gender detector based on facial features, built with Python and OpenCV
Stars: ✭ 52 (+188.89%)
Mutual labels:  face, face-detection
Brfv4 mac examples
macOS C++ examples utilizing OpenCV for camera access and drawing the face tracking results.
Stars: ✭ 25 (+38.89%)
Mutual labels:  face, face-detection
Mobileface
A face recognition solution on mobile device.
Stars: ✭ 669 (+3616.67%)
Mutual labels:  face, face-detection
Lookatme
VideoView that plays video only when 👀 are open and 👦 is detected with various other features
Stars: ✭ 161 (+794.44%)
Mutual labels:  face, face-detection
Awesome Face
😎 face releated algorithm, dataset and paper
Stars: ✭ 739 (+4005.56%)
Mutual labels:  face, face-detection
Android Hpe
Android native application to perform head pose estimation using images coming from the front camera.
Stars: ✭ 46 (+155.56%)
Mutual labels:  face, face-detection
Autocrop
😌 Automatically detects and crops faces from batches of pictures.
Stars: ✭ 320 (+1677.78%)
Mutual labels:  face, face-detection
Jeelizfacefilter
Javascript/WebGL lightweight face tracking library designed for augmented reality webcam filters. Features : multiple faces detection, rotation, mouth opening. Various integration examples are provided (Three.js, Babylon.js, FaceSwap, Canvas2D, CSS3D...).
Stars: ✭ 2,042 (+11244.44%)
Mutual labels:  face, face-detection
Face Recognition.js
Simple Node.js package for robust face detection and face recognition. JavaScript and TypeScript API.
Stars: ✭ 1,768 (+9722.22%)
Mutual labels:  face, face-detection
Facecropper
✂️ Crop faces, inside of your image, with iOS 11 Vision api.
Stars: ✭ 479 (+2561.11%)
Mutual labels:  face, face-detection
Php Opencv
php wrapper for opencv
Stars: ✭ 194 (+977.78%)
Mutual labels:  face, darknet
Brfv4 javascript examples
BRFv4 - HTML5/Javascript - examples project. Reference implementation for all other platform example packages.
Stars: ✭ 460 (+2455.56%)
Mutual labels:  face, face-detection
Human Detection And Tracking
Human-detection-and-Tracking
Stars: ✭ 753 (+4083.33%)
Mutual labels:  face, face-detection
Php Opencv Examples
Tutorial for computer vision and machine learning in PHP 7/8 by opencv (installation + examples + documentation)
Stars: ✭ 333 (+1750%)
Mutual labels:  face, darknet
Centerface
face detection
Stars: ✭ 1,002 (+5466.67%)
Mutual labels:  face, face-detection
brfv4 win examples
Windows C++ examples utilizing OpenCV for camera access and drawing the face tracking results.
Stars: ✭ 13 (-27.78%)
Mutual labels:  face, face-detection
Imagedetect
✂️ Detect and crop faces, barcodes and texts in image with iOS 11 Vision api.
Stars: ✭ 286 (+1488.89%)
Mutual labels:  face, face-detection
Facelandmarksdetection
Finds facial features such as face contour, eyes, mouth and nose in an image.
Stars: ✭ 130 (+622.22%)
Mutual labels:  face, face-detection
Dockerface
Face detection using deep learning.
Stars: ✭ 173 (+861.11%)
Mutual labels:  face, face-detection

Morghulis

Morghulis is an attempt to create a common API for face datasets. There are many face datasets available. Each of them has its own conventions and annotation format, but at the end, they all consist of a set of images with the respective annotated faces.

To make things worse the existent object detection libraries: Detectron , Tensorflow Object Detection API and Darknet's YOLO, to name a few, all use different formats for train/eval/test. Detectron uses COCO json format, Tensorflow uses tf records, and so on.

Once Morghulis loads a dataset, it can be easily exported to different formats

Currently the following datasets are supported:

  • WIDER FACE - 32,203 images and 393,703 faces.
  • FDDB - 2,845 images and 5,171 faces.
  • AFW - 205 images and 473 faces.
  • PASCAL faces - 850 images and 1335 faces.
  • MAFA - 30,811 images and 35,806 masked faces.
  • Caltech faces - 450 frontal face images of 27 or so unique people
  • UFDD - 6,425 images and 10,897 faces
  • TODO IJB-C

Usage

Using Docker

# Download wider face
docker run --rm -it \
    -v ${PWD}/datasets:/datasets \
    housebw/morghulis \
    ./download_dataset.py  --dataset widerface --output_dir /datasets/widerface

# Download fddb    
docker run --rm -it \
    --volumes-from ds \
    housebw/morghulis \
    ./download_dataset.py  --dataset fddb --output_dir /ds/fddb/

# Generate TF records for fddb
docker run --rm -it \
    --volumes-from ds \
    housebw/morghulis \
    ./export.py --dataset=fddb --format=tensorflow --data_dir=/ds/fddb/ --output_dir=/ds/fddb/tensorflow/
    
# Generate COCO json files for widerface
docker run --rm -it \
    -v ${PWD}/datasets:/ds \
    housebw/morghulis \
    ./export.py --dataset=widerface --format=coco --data_dir=/ds/widerface/ --output_dir=/ds/widerface/coco/

# Generate Darknet training files for widerface
docker run --rm -it \
    -v ${PWD}/datasets:/datasets \
    housebw/morghulis \
    ./export.py --dataset=widerface --format=darknet --data_dir=/datasets/widerface/ --output_dir=/datasets/widerface/darknet/

Programmatically (as a library)

Install with pip:

pip install git+https://github.com/the-house-of-black-and-white/morghulis.git

Use the dataset object (e.g. Wider or FDDB) to download and export to different formats:

data_dir = '/datasets/WIDER'

ds = Wider(data_dir) # FDDB(data_dir)

# downloads train, validation sets and annotations
ds.download()

# generate darknet (YOLO)
ds.export(darknet_output_dir, target_format='darknet')

# generate tensorflow tf records
ds.export(tf_output_dir, target_format='tensorflow')

# generates COCO json file (useful for Detectron)
ds.export(coco_output_dir, target_format='coco')
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].