A lightweight implementation of Face Recognition system with Python. OpenCV and scikit-learn.
Python, OpenCv, scikit-learnによる簡易な顔認識システムの実装. Tokyo.Scipy5にて発表。
2. 顔認識とは ?
Face Detection
画像から人の顔部分を抜き取る
Face Recognition
与えられた顔の人物を推定する
Lena
3. 顔認識とは ?
Face Detection
Haar Cascade Classifier
Weak classifier
+ Weak classifier
Weak classifier
Haar-like feature AdaBoost
原著論文は Paul Viola and Michael J. Jones. Rapid Object Detection using a Boosted
Cascade of Simple Features. IEEE CVPR, 2001.
日本語ではこちらのスライドがわかりやすい。
4. 顔認識とは ?
Face Recognition
Input Picture
EigenFace X (dim = d1 x d2)
M. Turk and A. Pentland (1991).
“Face recognition using eigenfaces”. PCA
Projected Picture
Y (dim = p < d1 x d2)
Nearest Neighbor or
http://scikit-learn.org/ より Other Supervised Prediction
* ちなみに PCA の代わりに Fisher 判別分析を使用した FisherFace や
LPP を使用した LaplacianFace などもある。
5. 実装イメージ
Face Detection Face Recognition
scikit-learn
OpenCV
SciPy
NumPy
Face Detection は OpenCV の CascadeClassifier
モジュールを使用。
Face Recognition は scikit-learn を用いて適当に実装。
( 実は OpenCV にも )