← 开源
AITTSMD

MTCNN-Tensorflow

Reproduce MTCNN using Tensorflow

ModelsVision modelsPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
1.50k
Star
703
Fork
+0
本周
4
贡献者
创建于 2017-08-31 · 更新于 2026-08-20 · 今日第 10148 名
主要开发者
AITTSMDzm931116vslm698

AITTSMD/MTCNN-Tensorflow 排名第 10,148,有 1,502 个星标。

同类别比较

AITTSMD/MTCNN-Tensorflow 排名第 10,148,此处有 8 个同类条目;nlpyang/BertSum 排名第 10,145。

同类别比较
名称排名指标
mbzuai-oryx/Video-ChatGPT10,123
语言:
Python
星标数:
1,513
分叉数:
130
简介:
[ACL 2024 🔥] Video-ChatGPT is a video conversation model capable of generating meaningful conversation about videos. It combines the capabilities of LLMs with a pretrained visual encoder adapted for spatiotemporal video representation. We also introduce a rigorous 'Quantitative Evaluation Benchmarking' for video-based conversational models.
open-mmlab/Multimodal-GPT10,126
语言:
Python
星标数:
1,512
分叉数:
127
简介:
Multimodal-GPT
yulunzhang/RCAN10,128
语言:
Python
星标数:
1,512
分叉数:
320
简介:
PyTorch code for our ECCV 2018 paper "Image Super-Resolution Using Very Deep Residual Channel Attention Networks"
nlpyang/BertSum10,145
语言:
Python
星标数:
1,504
分叉数:
410
简介:
Code for paper Fine-tune BERT for Extractive Summarization
thu-ml/unidiffuser10,179
语言:
Python
星标数:
1,488
分叉数:
90
简介:
Code and models for the paper "One Transformer Fits All Distributions in Multi-Modal Diffusion"
YuanGongND/ast10,195
语言:
Jupyter Notebook
星标数:
1,483
分叉数:
245
简介:
Code for the Interspeech 2021 paper "AST: Audio Spectrogram Transformer".
sczhou/Upscale-A-Video10,212
语言:
Python
星标数:
1,478
分叉数:
82
简介:
[CVPR 2024] Upscale-A-Video: Temporal-Consistent Diffusion Model for Real-World Video Super-Resolution
facebookresearch/MobileLLM10,250
语言:
Python
星标数:
1,465
分叉数:
94
简介:
MobileLLM Optimizing Sub-billion Parameter Language Models for On-Device Use Cases. In ICML 2024.
关键参数与规格
关键参数与规格
参数值
语言Python
类别Models
子类别Vision models
关键词Object detection
星标数1,502
分叉数703
贡献者4
创建日期2017-08-31
更新日期2026-08-20
1 天星标数0
7 天星标数0
排名10,148
上次排名10,160
排名变化12
7 天星标排名12,523
上次 7 天星标排名12,565
7 天星标排名变化42
总星标排名8,083
上次总星标排名8,074
总星标排名变化-9
国家China
README 摘录

Description This work is used for reproduce MTCNN,a Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks. You need CUDA-compatible GPUs to train the model. You should first download WIDER Face and Celeba. **WIDER Face** for face detection and **Celeba** for landmark detection(This is required by original paper. But I found some labels were wrong in Celeba. So I use this dataset for landmark detection). Download Wider Face Training part only from Official Website , unzip

to replace and put it into folder. Download landmark training data from here),unzip and put them into folder. Run to generate training data(Face Detection Part) for **PNet**. Run to generate training data(Face Landmark Detection Part) for **PNet**. Run to merge two parts of training data. After training **PNet**, run to generate training data(Face Detection Part) for **RNet**. Run to generate training data(Face Landmark Detection Part) for **RNet**. Run to merge two parts of training data

. (**you should run this script four times to generate tfrecords of neg,pos,part and landmark respectively**) 11. After training **RNet**, run to generate training data(Face Detection Part) for **ONet**. Run to generate training data(Face Landmark Detection Part) for **ONet**. Run to merge two parts of training data. (**you should run this script four times to generate tfrecords of neg,pos,part and landmark respectively**) Some Details When training **PNet**,I merge four parts of data(pos,part

,landmark,neg) into one tfrecord,since their total number radio is almost 1:1:1:3. But when training **RNet** and **ONet**,I generate four tfrecords,since their total number is not balanced. During training,I read 64 samples from pos,part and landmark tfrecord and read 192 samples from neg tfrecord to construct mini-batch. It's important for **PNet** and **RNet** to keep high recall radio. When using well-trained **PNet** to generate training data for **RNet**,I can

get 14w+ pos samples. When using well-trained **RNet** to generate training data for **ONet**,I can get 19w+ pos samples. Since **MTCNN** is a Multi-task Network,we should pay attention to the format of training data. The format is: path to imagebbox_label For pos sample,cls_label=1,bbox_label(calculate),landmark_label=[0,0,0,0,0,0,0,0,0,0]. For part sample,cls_label=-1,bbox_label(calculate),landmark_label=[0,0,0

,0,0,0,0,0,0,0]. For landmark sample,cls_label=-2,bbox_label=[0,0,0,0],landmark_label(calculate). Since the training data for landmark is less. I use transform,random rotate and random flip to conduct data augment(the result of landmark detection is not that good). Result **Result on FDDB** License MIT LICENSE References 1. Kaipeng Zhang, Zhanpeng Zhang, Zhifeng Li, Yu Qiao , " Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks," IEEE

Signal Processing Letter 2.

常见问题

记录了多少星标和分叉?

AITTSMD/MTCNN-Tensorflow 有 1,502 个星标和 703 个分叉。

仓库排名是多少?

AITTSMD/MTCNN-Tensorflow 排名第 10,148。

记录的语言和类别是什么?

AITTSMD/MTCNN-Tensorflow 有 1,502 个星标,语言为 Python,类别为 Models。

哪个仓库排名最接近?

AITTSMD/MTCNN-Tensorflow 与 nlpyang/BertSum 比较,后者排名第 10,145,有 1,504 个星标。

README

Description

This work is used for reproduce MTCNN,a Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks.

Prerequisites

  1. You need CUDA-compatible GPUs to train the model.
  2. You should first download WIDER Face and Celeba.WIDER Face for face detection and Celeba for landmark detection(This is required by original paper.But I found some labels were wrong in Celeba. So I use this dataset for landmark detection).

Dependencies

  • Tensorflow 1.2.1
  • TF-Slim
  • Python 2.7
  • Ubuntu 16.04
  • Cuda 8.0

Prepare For Training Data

  1. Download Wider Face Training part only from Official Website , unzip to replace WIDER_train and put it into prepare_data folder.
  2. Download landmark training data from here,unzip and put them into prepare_data folder.
  3. Run prepare_data/gen_12net_data.py to generate training data(Face Detection Part) for PNet.
  4. Run gen_landmark_aug_12.py to generate training data(Face Landmark Detection Part) for PNet.
  5. Run gen_imglist_pnet.py to merge two parts of training data.
  6. Run gen_PNet_tfrecords.py to generate tfrecord for PNet.
  7. After training PNet, run gen_hard_example to generate training data(Face Detection Part) for RNet.
  8. Run gen_landmark_aug_24.py to generate training data(Face Landmark Detection Part) for RNet.
  9. Run gen_imglist_rnet.py to merge two parts of training data.
  10. Run gen_RNet_tfrecords.py to generate tfrecords for RNet.(you should run this script four times to generate tfrecords of neg,pos,part and landmark respectively)
  11. After training RNet, run gen_hard_example to generate training data(Face Detection Part) for ONet.
  12. Run gen_landmark_aug_48.py to generate training data(Face Landmark Detection Part) for ONet.
  13. Run gen_imglist_onet.py to merge two parts of training data.
  14. Run gen_ONet_tfrecords.py to generate tfrecords for ONet.(you should run this script four times to generate tfrecords of neg,pos,part and landmark respectively)

Some Details

  • When training PNet,I merge four parts of data(pos,part,landmark,neg) into one tfrecord,since their total number radio is almost 1:1:1:3.But when training RNet and ONet,I generate four tfrecords,since their total number is not balanced.During training,I read 64 samples from pos,part and landmark tfrecord and read 192 samples from neg tfrecord to construct mini-batch.

  • It's important for PNet and RNet to keep high recall radio.When using well-trained PNet to generate training data for RNet,I can get 14w+ pos samples.When using well-trained RNet to generate training data for ONet,I can get 19w+ pos samples.

  • Since MTCNN is a Multi-task Network,we should pay attention to the format of training data.The format is:

    [path to image][cls_label][bbox_label][landmark_label]

    For pos sample,cls_label=1,bbox_label(calculate),landmark_label=[0,0,0,0,0,0,0,0,0,0].

    For part sample,cls_label=-1,bbox_label(calculate),landmark_label=[0,0,0,0,0,0,0,0,0,0].

    For landmark sample,cls_label=-2,bbox_label=[0,0,0,0],landmark_label(calculate).

    For neg sample,cls_label=0,bbox_label=[0,0,0,0],landmark_label=[0,0,0,0,0,0,0,0,0,0].

  • Since the training data for landmark is less.I use transform,random rotate and random flip to conduct data augment(the result of landmark detection is not that good).

Result

Result on FDDB

License

MIT LICENSE

References

  1. Kaipeng Zhang, Zhanpeng Zhang, Zhifeng Li, Yu Qiao , " Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks," IEEE Signal Processing Letter
  2. MTCNN-MXNET
  3. MTCNN-CAFFE
  4. deep-landmark
排名相邻
同类项目