OpenCV
DeepLearning
Chainer
深層学習
dlib

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

深層学習ベースの顔検出についてさらに調べてみる。

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

深層学習ベースの顔検出は、探してみるとそれなりの数がありそうです。
そのどれが推奨の実装になるのかが、私はまだ見極めることができていません。
深層学習を実装しているものが、どのソフトウェアのどのバージョンに依存するのか
環境をそろえることが、手間になってくるからです。

dlibのCNNの顔検出

github https://github.com/davisking/dlib/blob/master/python_examples/cnn_face_detector.py

github https://github.com/davisking/dlib/blob/master/tools/python/src/cnn_face_detector.cpp

以下は、実施例です。

$ python cnn_face_detector.py 
Call this program like this:
   ./cnn_face_detector.py mmod_human_face_detector.dat ../examples/faces/*.jpg
You can get the mmod_human_face_detector.dat file from:
    http://dlib.net/files/mmod_human_face_detector.dat.bz2
$    ./cnn_face_detector.py mmod_human_face_detector.dat ../examples/faces/*.jpg

ChainerCVでFaster R-CNNを使って顔検出してみる

github Modified ChainerCV example to train on WIDER FACE dataset for face detection

依存ライブラリ
Chainer 2.0.0
CuPy 1.0.0.1
ChainerCV 0.5.1
SciPy

github Face detection with the Faster-R-CNN or R-FCN

github Faster R-CNN (Python implementation) -- see https://github.com/ShaoqingRen/faster_rcnn for the official MATLAB version

github R-CNN: Regions with Convolutional Neural Network Features

github A faster pytorch implementation of faster r-cnn

--

"Scale Aware Face Detection"と"Finding Tiny Faces" (CVPR'17) の解説

その画像中の顔の大きさの分布を判断するScale Proposal network を利用することで、探索時間を減らそうとするものです。
また、小さい顔をどうやって見つけるかを述べています。

Spatio-Temporal Facial Expression Recognition Using Convolutional(Neural Networks and Conditional Random Fields

github Chainer version of Realtime Multi-Person Pose Estiamtion


付記

畳み込みニューラルネットワークの研究動向
スライド 71: Caffeによる各種ネットワークの実装の一覧
スライド 72: Tensorflowによる各種ネットワークの実装の一覧
スライド 73: Pytorchによる各種ネットワークの実装の一覧
スライド 74: chainerによる各種ネットワークの実装の一覧

詳しい情報をご存知の方がありましたら、お知らせいただけると幸いです。