All Projects → CivilNet → pymtcnn

CivilNet / pymtcnn

Licence: GPL-3.0 license
mtcnn python implementation based on Caffe framework

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to pymtcnn

Opencv Mtcnn
An implementation of MTCNN Face detector using OpenCV's DNN module
Stars: ✭ 59 (+96.67%)
Mutual labels:  mtcnn
Tensorflow Mtcnn
C++ and python Inference only for MTCNN face detector on Tensorflow. Based on davidsandberg's facenet project:
Stars: ✭ 106 (+253.33%)
Mutual labels:  mtcnn
Facenet
Face recognition using Tensorflow
Stars: ✭ 12,189 (+40530%)
Mutual labels:  mtcnn
Mtcnn
face detection and alignment with mtcnn
Stars: ✭ 66 (+120%)
Mutual labels:  mtcnn
Joint Face Detection And Alignment
Caffe and Python implementation of Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
Stars: ✭ 102 (+240%)
Mutual labels:  mtcnn
Mtcnn
MTCNN face detection implementation for TensorFlow, as a PIP package.
Stars: ✭ 1,689 (+5530%)
Mutual labels:  mtcnn
Tensorrt demos
TensorRT YOLOv4, YOLOv3, SSD, MTCNN, and GoogLeNet
Stars: ✭ 790 (+2533.33%)
Mutual labels:  mtcnn
Raspberrypi Facedetection Mtcnn Caffe With Motion
MTCNN with Motion Detection, on Raspberry Pi with Love
Stars: ✭ 204 (+580%)
Mutual labels:  mtcnn
Awesome Face Detection
Compare with various detectors - s3fd, dlib, ocv, ocv-dnn, mtcnn-pytorch, face_recognition
Stars: ✭ 106 (+253.33%)
Mutual labels:  mtcnn
Facerecognition
This is an implematation project of face detection and recognition. The face detection using MTCNN algorithm, and recognition using LightenenCNN algorithm.
Stars: ✭ 137 (+356.67%)
Mutual labels:  mtcnn
Face Recognition Cpp
Real Time Face Recognition Detector. Over 30FPS on CPU!
Stars: ✭ 68 (+126.67%)
Mutual labels:  mtcnn
Facedetector
A re-implementation of mtcnn. Joint training, tutorial and deployment together.
Stars: ✭ 99 (+230%)
Mutual labels:  mtcnn
Keras Mtcnn
mtcnn face detection transplanted to keras
Stars: ✭ 110 (+266.67%)
Mutual labels:  mtcnn
Face Recognition
A framework for creating and using a Face Recognition system.
Stars: ✭ 60 (+100%)
Mutual labels:  mtcnn
Facenet Pytorch
Pretrained Pytorch face detection (MTCNN) and facial recognition (InceptionResnet) models
Stars: ✭ 2,564 (+8446.67%)
Mutual labels:  mtcnn
Dface
Deep learning face detection and recognition, implemented by pytorch. (pytorch实现的人脸检测和人脸识别)
Stars: ✭ 994 (+3213.33%)
Mutual labels:  mtcnn
Goface
Face Detector based on MTCNN, tensorflow and golang
Stars: ✭ 109 (+263.33%)
Mutual labels:  mtcnn
Mtcnn caffe
Simple implementation of kpzhang93's paper from Matlab to c++, and don't change models.
Stars: ✭ 244 (+713.33%)
Mutual labels:  mtcnn
Facerecognition
Webcam face recognition using tensorflow and opencv
Stars: ✭ 192 (+540%)
Mutual labels:  mtcnn
Insightface ncnn
Stars: ✭ 121 (+303.33%)
Mutual labels:  mtcnn

pymtcnn

  • pymtcnn is a caffe based python implementation for MTCNN (Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Neural Networks);
  • You can visit https://zhuanlan.zhihu.com/p/39499030 for more detail.

Functions

  • detect faces;
  • align faces with cv2.warpAffine API.

Usage

pre configure

There has some options you need pre configure, of course you can leave them as default value, but I don't think that is what you want;

  • multi scale values: self.d['scales'] = [0.3, 0.15, 0.075]
  • PNet detect threshold: self.detect_thresh_value = 0.8
  • RNet detect threshold: self.detect_thresh_value = 0.9
  • ONet detect threshold: self.detect_thresh_value = 0.95

call the API

videoCapture = cv2.VideoCapture(video_path)
status, frame = videoCapture.read()
# Mtcnn instance
mtcnn = Mtcnn()
# AlignFace instance
alignFace = AlignFace()
frame_num = 0
while status:
    frame_num += 1
    print('process {}'.format(frame_num))
    # do the mtcnn detect job with this API
    rc = mtcnn.process(frame)
    if not rc:
        status, frame = videoCapture.read()
        continue
    # draw the boxes just for test purpose
    mtcnn.drawBoxes(frame, frame_num)
    points = mtcnn.d['points']
    if points.shape[0] > 0:
        for i in range(points.shape[0]):
            # align the faces
            alignFace.drawBoxes(alignFace(frame, points[i,:]), frame_num)
    status, frame = videoCapture.read()
else:
    print('End for some reasons...')
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].