Giter Site home page Giter Site logo

mtcnn_tf's Introduction

Description

MTCNN: Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
Implement training and testing by tensorflow.

Dependencies

  • Tensorflow v1.0.0 or higher
  • TF-Slim
  • Python 2.7
  • Ubuntu 14.04 or CentOS 7.2 or higher
  • Cuda 8.0

Prepare Data and Start Training

  1. WIDER face dataset: Download WIDER_train.zip from here. You can only download Wider Face Training Images. Unzip it and move it to dataset folder.
  2. Landmark dataset: Download train.zip from here. You can only download training set. Unzip it and move it to dataset folder.
  3. Run ./clearAll.sh to clear all tmp file.
  4. Run ./runAll.sh to finish all(Include prepare data and training). Please check this shell script to get more info.

Testing and predict

  1. Copy your image file to testing/images
  2. Run python testing/test_images.py --stage=onet. Anyway you can specify stage to pnet or rnet to check your model.
  3. The result will output in testing/results_onet

Results

result1.png

result2.png

result3.png

reult4.png

result5.png

result6.png

result7.png

result8.png

result9.png

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-Tensorflow

mtcnn_tf's People

Contributors

bobliu20 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mtcnn_tf's Issues

assert(img is not None)

hello Bob, when I train the face data,there is an error: assert(img is not None). but i can show the image in the code, i don't know where is the bug? can u help me??? thanks.

Error in gen_hard_bbox_rnet_onet.py

Hello Bob, thank you for such nice code. your repo is much cleaner than other versions. Hovewer, I found one tiny error in gen_hard_bbox_rnet_onet.py in line 191:
minFace = 24

For ONet stage minFace valuer should be 48 I think. If use 24 it fails to generate tfrecords, cause a lot of jpg files don't exist in data/onet folder. training also become meaningless with this setting.

I've changed minFace value to 48 and this solved this problem.

questions about landmark location

thank you very much for the project. its extremely helpful : )
however, it seems the location is slightly inaccurate. do you think a larger input with a more complex net would helpful? and when i was to detect more landmarks, is it likely to retain the accuracy?

关于P-Net检测的疑问

请教P-Net检测:输入经resize后的图片检测成功后,需将得到的box坐标还原至原图上,这个操作中乘上stride是什末意思 ?
代码如下
boundingbox = np.vstack([np.round((self.stride * t_index[1]) / scale),
np.round((self.stride * t_index[0]) / scale),
np.round((self.stride * t_index[1] + cellsize) / scale),
np.round((self.stride * t_index[0] + cellsize) / scale),
score,
reg])

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.