OpenCV
DeepLearning
画像認識
深層学習

OpenCV 以外の場所にある深層学習ベースの顔検出を調査中

OpenCV 以外の場所にある深層学習ベースの顔検出 を別記事にしました。
学習済みのファイルが提供されているものもあれば、そうでないものもあります。
論文に関連付けられてあるものもあれば、そうでないのもあります。

Tensorflow Face Detector

https://github.com/yeephycho/tensorflow-face-detection

Effect
以下のYouTubeをみるように言っています。
https://www.youtube.com/watch?v=gw4CVz7SPEs&feature=youtu.be

手順の補足:
 

Know Issue

Please view that issue here if your output video is blank. A brief reminder is: check the input codec and check the input/output resolution, since this part is irrelevant to the algorithm, no modification will be made to master branch.

ダウンロードしたスクリプトのままでは、入力のcodecと入出力の解像度のために動かない場合があると述べています。

学習済みのファイルが含まれていますので、自分で画像ファイルを用意して試してみることができます。

inference_video_face.py
のVideoCapture()の入力を変更することで、USBカメラの入力で動作させることができました。

変更前
cap = cv2.VideoCapture("./media/test.mp4")
変更後
cap = cv2.VideoCapture(0)

USB カメラを入力とする別スクリプトが追加されました。
これは、 TensoflowFaceDector というclassを導入して記述しています。

$ python inference_usbCam_face.py 0

このgit上のプロジェクトは以下の学習データを用いています。

WIDER FACE: A Face Detection Benchmark

WIDER FACE

最近の顔検出がより難しい状況での顔検出を実現していることに対応して、WIDER FACEではocclusionやmakeupも難易度が高いデータが数多く含まれています。
10年前の時期に用いられていた画像データベースでは、背景が平坦な壁であるようなものであったのに、近年のデータベースは難易度があがっています。

実行速度は、私のCudaの使えるノートPCで200 msecかかっています。
OpenCVのresnet_ssd_face_python.py に比べ大幅に時間がかかっています。その理由が何によるものか、みなさんのPCではどうなるのかが私にはわかっていません。

Face Detection with the Faster R-CNN

https://github.com/playerkk/face-py-faster-rcnn

Requirement:
Caffe

学習済みのファイルが、シェルスクリプトを利用して入手可能です。

これも WIDER face dataset をtraining dataとして用いています。

libをmake するにはcythonが必要です。

$ sudo apt-get install cython
としてから
make
することで make できました。

A Convolutional Neural Network Cascade for Face Detection

https://github.com/mks0601/A-Convolutional-Neural-Network-Cascade-for-Face-Detection
https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Li_A_Convolutional_Neural_2015_CVPR_paper.pdf

training set: AFLW dataset(positive), COCO dataset(negative)
test data FDDB dataset

ROCカーブが書かれています。
Requirement:
tensorflow

このgitの中には学習済みのファイルが含まれていないようです。
学習するための設定、評価するための設定が書かれていますが、
データそのものは、書かれていることをヒントに設定をあわせなければならないようです。

MTCNN_face_detection_alignment

https://github.com/kpzhang93/MTCNN_face_detection_alignment

顔を検出するだけではなく、顔の器官点を求めています。

Requirement
Caffe: Linux OS: https://github.com/BVLC/caffe. Windows OS: https://github.com/BVLC/caffe/tree/windows or https://github.com/happynear/caffe-windows
Pdollar toolbox: https://github.com/pdollar/toolbox
Matlab 2014b or later
Cuda (if use nvidia gpu)

拡張子がmのファイルはMatlabのファイルです。
Matlabのライセンスを持ち合わせていないので動作をさせることが私はできていません。

DFace

https://github.com/kuaikuaikim/DFace

PyTorch

--

name URL framework input image size
Tensorflow Face Detector https://github.com/yeephycho/tensorflow-face-detection tensorflow
Face Detection with the Faster R-CNN https://github.com/playerkk/face-py-faster-rcnn Caffe
A Convolutional Neural Network Cascade for Face Detection https://github.com/mks0601/A-Convolutional-Neural-Network-Cascade-for-Face-Detection tensorflow
MTCNN_face_detection_alignment https://github.com/kpzhang93/MTCNN_face_detection_alignment

以下のリンク先は、github上のプロジェクトでface-detection のトピックのプロジェクトを示したものです。

https://github.com/topics/face-detection


mmlabについて

このmmlab Multimedia Laboratory The Chinese University of Hong Kong

Xiaoou Tang教授 MMLabを創立 の研究所で
SenseTimeグループと関連を持っています。

https://www.ie.cuhk.edu.hk/people/xotang.shtml

以下のリンクはXiaoou Tang教授 MMLab 内のページのリンクです。
- Deep Convolutional Network Cascade for Facial Point Detection


SSD Train Own Data Tutorial

Face-Resources

https://github.com/betars/Face-Resources