私は顔検出の新入生です。最近、私は顔検出のためにOpenCV2.1コードをコンパイルしようとしています。正面検出用のカスケードファイルは、「haarcascade_frontalface_alt.xml」、「haarcascade_frontalface_alt_tree.xml」、「haarcascade_frontalface_alt2.xml」、「haarcascade_frontalface_default.xml」の約4つであることがわかりました。
それらの違いを説明するドキュメントが見つかりませんでした。これは顔検出タスクに適していますか?
それぞれがどれだけ成功しているか、誤検知がいくつあるか、合計でどれだけのものが見つかるかを知るために、41,452の雑誌の表紙で各XMLファイルを実行し、コンタクトシートとそれぞれの平均を作成しました。
これが Flickrでの結果 です。タイトルには、入力されたXMLファイル名と検出された機能の数が表示されます。
あなたが言及したファイルについて、見つかった機能の数は次のとおりです。
私は誤検知を数えませんでした、あなたはそれについて画像をチェックしなければなりません(例えば、笑顔ファイルはあまり良くありませんが、顔は一般的に良いです)。もちろん、入力データによって異なる結果が得られ、雑誌の表紙は一般的に非常にきれいな写真です。
ユースケースによって異なります。高精度または高再現率を好む場合。
私は、haarcascade_frontalface_default.xmlとhaarcascade_frontalface_alt_tree.xmlの顔検出の比較テストを、detectMultiScale関数の同じパラメーターを使用して行い、detectMultiScaleが返す最大の長方形のみを保持しました。
私のテストデータでは、haarcascade_frontalface_default.xmlの方がリコールが高く(副作用は誤検知が多い)、haarcascade_frontalface_alt_tree.xmlの精度が高い(副作用は検出される面の数が少ない)ことがわかりました。
多くの場合、データに対して同様のテストを試し、目的に最も適したテストを選択します