4

dlib ライブラリを介して顔のランドマークを検出するために使用されるhelenデータセットを使用して、194 の顔のランドマークのDLIBshape_predictorをトレーニングしています。face_landmark_detection_ex.cpp

これで、68 個の顔のランドマークに対して指定されたファイル ( http://sourceforge.net/projects/dclib/files/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2 )と比較して、約45 MBsp.datのバイナリ ファイルが得られました。研修中

  • 平均トレーニング エラー: 0.0203811
  • 平均検定誤差 : 0.0204511

そして、トレーニングされたデータを使用して顔のランドマークの位置を取得すると、INの結果が得られました..

ここに画像の説明を入力

これは、68 のランドマークから得られた結果から大きく外れています

68 ランドマーク画像:

ここに画像の説明を入力

なんで?

4

1 に答える 1

7

コードのコメント (?)を読んでいないようですね:

shape_predictor_trainer trainer;
// This algorithm has a bunch of parameters you can mess with.  The
// documentation for the shape_predictor_trainer explains all of them.
// You should also read Kazemi's paper which explains all the parameters
// in great detail.  However, here I'm just setting three of them
// differently than their default values.  I'm doing this because we
// have a very small dataset.  In particular, setting the oversampling
// to a high amount (300) effectively boosts the training set size, so
// that helps this example.
trainer.set_oversampling_amount(300);
// I'm also reducing the capacity of the model by explicitly increasing
// the regularization (making nu smaller) and by using trees with
// smaller depths.  
trainer.set_nu(0.05);
trainer.set_tree_depth(2);

Kazemi paperを見て、文字列 'parameter' を ctrl-f して読んでください...

于 2016-04-28T10:18:02.883 に答える