2017-06-29 13 views
1

dlibのfrontal_face_detector()のトレーニングプロセスを再現しようとしています。 dlibは正面と側面の組み合わせ+反射によって使用されたと同じデータセット( http://dlib.net/files/data/dlib_face_detector_training_data.tar.gz)を使用しています。dlib frontal_face_detector()training

私の問題は次のとおりである:データセット全体(30 + Gb)伝送部分データセットの 2.研修用 1.非常に高いメモリ使用量が非常に高い再現率、50から60パーセントが得られないfrontal_face_detectorの80〜90に比べて、 (トレーニングに使用されていない画像のサブセットについてのテスト)。 3.低解像度の画像では検出器がひどく機能し、1〜1.5メートル以上の深さの検出面では失敗します。私はより良い再現率を達成するために増加する必要がSVMのCパラメータを使用して大幅に 4.トレーニングの実行時間の増加は、trainigで

私の本来の動機は だった(私はこれがちょうどアーティファクトをオーバーフィッティングていると思われます)。カメラが設置されている特定の環境に適応する能力を獲得する。ハードネガティブマイニング。 b。 80x80ウィンドウを64x64または48x48に縮小することにより、深さ+実行時間の検出を改善します。

私は正しい経路にいますか?私は何かが欠けていますか?助けてください...

答えて

1

使用されるトレーニングパラメータは、dlibのコードhttp://dlib.net/dlib/image_processing/frontal_face_detector.h.htmlのコメントに記録されています。参考:

 It is built out of 5 HOG filters. A front looking, left looking, right looking, 
    front looking but rotated left, and finally a front looking but rotated right one. 

    Moreover, here is the training log and parameters used to generate the filters: 
    The front detector: 
     trained on mirrored set of labeled_faces_in_the_wild/frontal_faces.xml 
     upsampled each image by 2:1 
     used pyramid_down<6> 
     loss per missed target: 1 
     epsilon: 0.05 
     padding: 0 
     detection window size: 80 80 
     C: 700 
     nuclear norm regularizer: 9 
     cell_size: 8 
     num filters: 78 
     num images: 4748 
     Train detector (precision,recall,AP): 0.999793 0.895517 0.895368 
     singular value threshold: 0.15 

    The left detector: 
     trained on labeled_faces_in_the_wild/left_faces.xml 
     upsampled each image by 2:1 
     used pyramid_down<6> 
     loss per missed target: 2 
     epsilon: 0.05 
     padding: 0 
     detection window size: 80 80 
     C: 250 
     nuclear norm regularizer: 8 
     cell_size: 8 
     num filters: 63 
     num images: 493 
     Train detector (precision,recall,AP): 0.991803 0.86019 0.859486 
     singular value threshold: 0.15 

    The right detector: 
     trained left-right flip of labeled_faces_in_the_wild/left_faces.xml 
     upsampled each image by 2:1 
     used pyramid_down<6> 
     loss per missed target: 2 
     epsilon: 0.05 
     padding: 0 
     detection window size: 80 80 
     C: 250 
     nuclear norm regularizer: 8 
     cell_size: 8 
     num filters: 66 
     num images: 493 
     Train detector (precision,recall,AP): 0.991781 0.85782 0.857341 
     singular value threshold: 0.19 

    The front-rotate-left detector: 
     trained on mirrored set of labeled_faces_in_the_wild/frontal_faces.xml 
     upsampled each image by 2:1 
     used pyramid_down<6> 
     rotated left 27 degrees 
     loss per missed target: 1 
     epsilon: 0.05 
     padding: 0 
     detection window size: 80 80 
     C: 700 
     nuclear norm regularizer: 9 
     cell_size: 8 
     num images: 4748 
     singular value threshold: 0.12 

    The front-rotate-right detector: 
     trained on mirrored set of labeled_faces_in_the_wild/frontal_faces.xml 
     upsampled each image by 2:1 
     used pyramid_down<6> 
     rotated right 27 degrees 
     loss per missed target: 1 
     epsilon: 0.05 
     padding: 0 
     detection window size: 80 80 
     C: 700 
     nuclear norm regularizer: 9 
     cell_size: 8 
     num filters: 89 
     num images: 4748 
     Train detector (precision,recall,AP):  1 0.897369 0.897369 
     singular value threshold: 0.15 

パラメータの設定方法と設定方法は、すべてdlibのマニュアルで説明しています。トレーニングアルゴリズムについて説明している論文もある:Max-Margin Object Detection

はい、トレーナーを実行するには多くのRAMが必要です。

+0

ダウンロード用のデータセットとXMLはどこにありますか? –

+0

あなたが投稿したURLです。 –

+0

見つけた、ありがとう。回転左、回転右のバージョンについては、正面から人為的に計算されます。 –

関連する問題