私はJavaCV / OpenCVのことは初めてなので、完全なばかである場合は事前に謝罪してください...
画像内の「プライマリ/メイン」の顔を検出する必要があります (この画像は、ほとんどの場合「プロフィール写真」になります)。顔認識は必要ありません。
異なるhaarcascadeファイルはそれぞれ異なる顔を検出し、検出された顔は実際には顔ではなく画像内の任意のアーティファクトである場合があるため、どの顔を使用するかを決定する必要があります。検出された顔が実際の顔であると仮定すると、プロフィール写真であるため、最大の顔を使用するのが理にかなっています。
私が抱えている主な問題は、コードが(一部の画像について)複数の顔を検出し、最大の顔が実際にはまったく顔ではないことです。コードが 2 つの顔を検出した私のテストの 1 つの例を次に示します。
顔:java.awt.Rectangle[x=62,y=42,width=78,height=78]
6084の
面積
バスト:java.awt.Rectangle[x=86,y=144,width=80,height=80]
6400の面積
簡単に言えば、私の質問は、複数の顔が検出された場合、どの顔が OpenCV が顔として認識するものに最もよく一致するかを判断するために使用できる何らかの評価尺度がありますか?