顔検出
PyPI mtcnn 0.1.1
Multi-task Cascaded Convolutional Neural Networks for Face Detection, based on TensorFlow
github MTCNN face detection implementation for TensorFlow, as a PIP package.
Youtube Face detection with MTCNN
Python3.4 +でのTensorFlow用のMTCNN顔検出器の実装
これは、FacenetのDavid Sandberg(FaceNetのMTCNN)からMTCNNの実装を参考にして書かれています。 これは、Zhang、Kらの論文に基づいている。 (2016)[ZHANG2016]。
そのBENCHMARKを示しており、どの程度実用的な速度がでるのかどうかを意識しているようだ。
Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
これは元となった論文のFig. 1です。顔検出と検出位置を改善すること。検出位置を改善したあとに、顔器官点の検出をする部分が別々のネットワークで実現しています。
これは元となった論文のFig. 2です。それぞれのネットワークの構造を示しています。
https://github.com/ipazc/mtcnn#usage
に書かれている通りの動作を簡単に確かめることができました。
$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from mtcnn.mtcnn import MTCNN
>>> import cv2
>>> img = cv2.imread("ivan.jpg")
>>> detector = MTCNN()
2018-10-02 02:07:10.544632: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
>>> print(detector.detect_faces(img))
[{'confidence': 0.9985162615776062, 'keypoints': {'nose': (303, 131), 'left_eye': (291, 117), 'mouth_right': (313, 141), 'mouth_left': (296, 143), 'right_eye': (314, 114)}, 'box': [277, 90, 48, 63]}]
>>>
$ python3 example.py
2018-10-02 02:10:58.197932: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
[{'confidence': 0.9985162615776062, 'box': [277, 90, 48, 63], 'keypoints': {'left_eye': (291, 117), 'mouth_left': (296, 143), 'right_eye': (314, 114), 'mouth_right': (313, 141), 'nose': (303, 131)}}]
以下の検出結果のファイルが作成されました。
Modern Face Detection based on Deep Learning using Python and Mxnet
顔検出の紹介記事
小さな顔の検出
https://github.com/alexattia/ExtendedTinyFaces
github https://github.com/HiKapok/X-Detector
X-Detector is a collection of several object detection algorithms. And some of those have not appeared in any academic papers.