web-dev-qa-db-ja.com

顔検出用のカスケードファイルを選択するにはどうすればよいですか?

私は顔検出の新入生です。最近、私は顔検出のためにOpenCV2.1コードをコンパイルしようとしています。正面検出用のカスケードファイルは、「haarcascade_frontalface_alt.xml」、「haarcascade_frontalface_alt_tree.xml」、「haarcascade_frontalface_alt2.xml」、「haarcascade_frontalface_default.xml」の約4つであることがわかりました。

それらの違いを説明するドキュメントが見つかりませんでした。これは顔検出タスクに適していますか?

29
Dayong Wang

それぞれがどれだけ成功しているか、誤検知がいくつあるか、合計でどれだけのものが見つかるかを知るために、41,452の雑誌の表紙で各XMLファイルを実行し、コンタクトシートとそれぞれの平均を作成しました。

これが Flickrでの結果 です。タイトルには、入力されたXMLファイル名と検出された機能の数が表示されます。

Example result for haarcascade_frontalface_default.xml

haarcascade_frontalface_alt_tree.xml_-_4720_into_onehaarcascade_frontalface_alt2.xml_-_9563_into_onehaarcascade_frontalface_alt.xml_-_8970_into_one

あなたが言及したファイルについて、見つかった機能の数は次のとおりです。

私は誤検知を数えませんでした、あなたはそれについて画像をチェックしなければなりません(例えば、笑顔ファイルはあまり良くありませんが、顔は一般的に良いです)。もちろん、入力データによって異なる結果が得られ、雑誌の表紙は一般的に非常にきれいな写真です。

32
Hugo

ユースケースによって異なります。高精度または高再現率を好む場合。

私は、haarcascade_frontalface_default.xmlとhaarcascade_frontalface_alt_tree.xmlの顔検出の比較テストを、detectMultiScale関数の同じパラメーターを使用して行い、detectMultiScaleが返す最大の長方形のみを保持しました。

私のテストデータでは、haarcascade_frontalface_default.xmlの方がリコールが高く(副作用は誤検知が多い)、haarcascade_frontalface_alt_tree.xmlの精度が高い(副作用は検出される面の数が少ない)ことがわかりました。

多くの場合、データに対して同様のテストを試し、目的に最も適したテストを選択します

5
Ronggang