All Projects → twmht → PVANet-FACE

twmht / PVANet-FACE

Licence: other
A face detection model based on PVANet

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
Cuda
1817 projects
matlab
3953 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to PVANet-FACE

Anime Face Detector
A Faster-RCNN based anime face detector implementation using tensorflow.
Stars: ✭ 117 (+138.78%)
Mutual labels:  faster-rcnn, face-detection
Dockerface
Face detection using deep learning.
Stars: ✭ 173 (+253.06%)
Mutual labels:  faster-rcnn, face-detection
Paddledetection
Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Stars: ✭ 5,799 (+11734.69%)
Mutual labels:  faster-rcnn, face-detection
PyRecognizer
"A neural network to rule them all, a neural network to find them, a neural network to bring them all and verify if is you !!" (Face recognition tool)
Stars: ✭ 28 (-42.86%)
Mutual labels:  face-detection
clockon-clockoff-face-recognition
Face Recognize application. Using FaceNet and CoreML
Stars: ✭ 21 (-57.14%)
Mutual labels:  face-detection
Recogcis
Face detection & recognition AR app using the mlmodel to recognize company employees.
Stars: ✭ 28 (-42.86%)
Mutual labels:  face-detection
Face-Detection
本科毕业设计 基于Haar特征与AdaBoost算法的人脸检测的实现
Stars: ✭ 34 (-30.61%)
Mutual labels:  face-detection
iqiyi-vid-challenge
Code for IQIYI-VID(IQIYI Video Person Identification) Challenge Implemented in Python and MXNet
Stars: ✭ 45 (-8.16%)
Mutual labels:  face-detection
Railroad and Obstacle detection
This program detect and identify obstacle on railway. If program detect some obstacle that train must stop, program gives you warning sign. This program Also estimate riskiness of obstacle how it is negligible or not. We provide many models to you to detect railways and obstacles.
Stars: ✭ 14 (-71.43%)
Mutual labels:  faster-rcnn
face-detectify
😅 Detect faces in images. Without native modules. It uses tracking.js.
Stars: ✭ 20 (-59.18%)
Mutual labels:  face-detection
FaceSearch
FaceSearch: Searches for faces in a given image using the Google Reverse Image Search engine.
Stars: ✭ 44 (-10.2%)
Mutual labels:  face-detection
Faster-RCNN-TensorFlow
TensorFlow implementation of Faster RCNN for Object Detection
Stars: ✭ 13 (-73.47%)
Mutual labels:  faster-rcnn
Computer-Vision
Cool Vision projects
Stars: ✭ 51 (+4.08%)
Mutual labels:  face-detection
Multi-Face-Comparison
This repo is meant for backend API for face comparision and computer vision. It is built on python flask framework
Stars: ✭ 20 (-59.18%)
Mutual labels:  face-detection
OpenCVTest
基于OpenCV实现人脸检测和智能选区截图(仿扫描王APP)的功能
Stars: ✭ 33 (-32.65%)
Mutual labels:  face-detection
VisDrone2018
ECCV2018(Challenge-Object Detection in Images)
Stars: ✭ 86 (+75.51%)
Mutual labels:  faster-rcnn
mtcnn-pytorch
pytorch implementation of face detection algorithm MTCNN
Stars: ✭ 61 (+24.49%)
Mutual labels:  face-detection
bottom-up-features
Bottom-up features extractor implemented in PyTorch.
Stars: ✭ 62 (+26.53%)
Mutual labels:  faster-rcnn
Face-Attributes-MultiTask-Classification
Use Cafffe to do Face Attributes MultiTask Classification based on CelebA data sets
Stars: ✭ 32 (-34.69%)
Mutual labels:  face-detection
mlapi
An easy to use/extend object recognition API you can locally install. Python+Flask. Also works with ZMES!
Stars: ✭ 49 (+0%)
Mutual labels:  face-detection

PVANet-FACE: PVANET for face detection

Introduction

Training a face detection model using PVANet.

face detection 1 face detection 2

The dataset used for training is WIDERFACE

This repository contains source files of face detection using the PVANet. It is developed based on the awesome pva-faster-rcnn repository.

Requirement

  1. Nivida CUDA 8.0
  2. Nvidia CUDNN 6
  3. Python 2

Installation

  1. Clone this repository

    # Make sure to clone with --recursive
    git clone --recursive https://github.com/twmht/pva-faster-rcnn.git 
  2. We'll call the directory that you cloned as FRCN_ROOT. Build the Cython modules

    cd $FRCN_ROOT/lib
    make
  3. Build Caffe and pycaffe

    cd $FRCN_ROOT/caffe-fast-rcnn
    # Now follow the Caffe installation instructions here:
    #   http://caffe.berkeleyvision.org/installation.html
    # For your Makefile.config:
    #   Uncomment `WITH_PYTHON_LAYER := 1`
    
    cp Makefile.config.example Makefile.config
    make -j8 && make pycaffe

Training the face detection model

  1. Download all available models (including pre-trained and compressed models)

    cd $FRCN_ROOT
    ./models/pvanet/download_all_models.sh
  2. Download WIDERFace for training.

    I use python-widerface and cute-format to pack all the images of WIDERFace into the custom-defined imdb, where the format of imdb is different from VOC format.

    please look tools/convert_wider_to_imdb.py for detail.

    to run tools/convert_wider_to_imdb.py, update path to WIDERFace

    for example,

    # arg1: path to split (where the label file is)
    # arg2: path to images
    # arg3: path to label file name
     wider_train = WIDER('/opt/WiderFace/wider_face_split',
                   '/opt/WiderFace/WIDER_train/images',
                   'wider_face_train.mat')
    
     cw = CuteWriter('wider-imdb')
    
     run(wider_train, cw)

    this will generate a db named wider-imdb, and put wider-imdb into data/widerface/

  3. Training PVANet

    cd $FRCN_ROOT
    tools/train_net.py --gpu 0 --solver models/pvanet/example_train/solver.prototxt --weights models/pvanet/pretrained/pva9.1_pretrained_no_fc6.caffemodel --iters 100000 --cfg models/pvanet/cfgs/train.yml --imdb wider

How to run the demo

  1. Download pretrained model

  2. Run the tools/demo.py

    cd $FRCN_ROOT
    ./tools/demo.py --net output/faster_rcnn_pvanet/wider/pvanet_frcnn_iter_100000.caffemodel --def models/pvanet/pva9.1/faster_rcnn_train_test_21cls.pt --cfg models/pvanet/cfgs/submit_1019.yml --gpu 0

Compression

If you want to compress your model, please look at tools/gen_merged_model.py. As compared to sanghoon's implementation (https://github.com/sanghoon/pva-faster-rcnn/blob/master/tools/gen_merged_model.py), I add the function to remove redundant power layers.

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