OpenCVで顔のランドマークを検出する『Facemark API』

気づいたら、OpenCVにFace Alignment(顔のランドマーク検出)のためのFacemarkというAPIが実装されている。(Learn OpenCV情報↓)
https://www.learnopencv.com/facemark-facial-landmark-detection-using-opencv/

実装はGSOC 2017の成果らしいですね。



Face Alignmentとか顔のランドマークとか器官とか、ジャンルの呼び名は様々ですが。


Facemark API


Facemarkでは以下3種類の検出アルゴリズムを選択できる。

FacemarkAAM

Active Appearance Model(AAM)ベースのアルゴリズム。
原著論文はICCV 2013で発表された“Optimization problems for fast AAM fitting in-the-wild

FacemarkKazemi

Regression Forestベースのアルゴリズム。
原著論文はCVPR 2014で発表された“One Millisecond Face Alignment with an Ensemble of Regression Trees
Dlibに実装されている検出アルゴリズムもこれ。


FacemarkLBF

Regression Forestベースのアルゴリズム。
原著論文はCVPR 2014で発表された“Face alignment at 3000 fps via regressing local binary features

Learn OpenCVの記事では学習モジュールがまだ無いと書かれているけど、現時点で学習モジュールface_landmark_trainerがあるようです↓
https://docs.opencv.org/3.4.1/d6/d49/md__build_master-contrib_docs-lin64_opencv_contrib_modules_face_tutorials_face_landmark_face_landmark_trainer.html

多くの人が画像認識の実装に求める機能をOpenCVがどんどん取り込んでいくな。

コメント