2016-09-16 18 views
1

私は、顔から感情(悲しい、幸せ、怒りなど)を認識することに関連するプロジェクトに取り組んでいます。私は68の興味の点を検出するdlibライブラリから顔のランドマーク検出器を使用しています。同じ感情の場合、これらの関心ポイントは、顔の向き、目のサイズ、唇の様子などによって異なります。画像処理における顔のランドマークポイントの正規化

私は顔の向き、目の大きさ、唇などを変えないようにこれらの関心点を正規化したいと思います。私はSVMでデータを訓練したいと思います。

答えて

1

Dlibはhttp://dlib.net/face_landmark_detection_ex.cpp.htmlサンプルで使用されている正規化コードを既に持っています。http://dlib.net/imaging.html#extract_image_chips関数を呼び出してください。

あなたは、正規化されたランドマークを取得するためのコードの一部を使用する必要があります - 彼らはまだ感情を検出するのに十分な情報を持っていますが、顔が回転し、拡大縮小されます。

... 
// 1. detect faces 
std::vector<rectangle> dets = detector(image); 
for (rectangle d : dets) 
{ 
    // 2. get landmarks 
    full_object_detection shape = sp(image, d); 
    // 3. chip details (normalization params) for normalized image with normalized size of 100 pixels 
    chip_details chip = get_face_chip_details(shape, 100); 
    // 4. get normalized landmarks 
    full_object_detection normalized = map_det_to_chip(shape, chip); 
    // now you can used normalized shape in your classifier 
} 

あなたが正規化された形状を得た後 - その上でどのように分類器を訓練するのですか?あなたは最も重要なポイントを取得し、それらの間の距離を計算し、距離データを訓練する必要がありますか?

+0

このコードのpythonラッパーはありますか? – vinnitu