3

簡単な質問かもしれませんが、少し混乱しているので、誰かが私を適切に導いてくれることを願っています。

私は openCV libfacerec の顔認識ライブラリを使用しています。良い結果が得られますが、類似度を推定する必要があります。不明な画像を入力として使用しても、最後の距離値に基づいてシステムに人物が存在するかのように予測します

         if(dist < minDist) {
        minDist = dist;
        minClass = _labels[sampleIdx];
    }

いくつかのしきい値を定義し、そのしきい値に基づいてパーセンテージまたは距離値に対してユーザー画像を検証/無効化する必要があります。このライブラリには距離またはパーセンテージを表示するパブリック変数がないため、libfacerec ライブラリを使用してそれを行う方法を知っている人はいますか?価値?それ以外の場合は、ライブラリ内でコードを作成する必要がありますか?私が理解している限り、この機能は含まれていませんか???

4

1 に答える 1

5

最新のリビジョンで作業していることを確認してください。libfacerec の最新リビジョンでは、予測と予測の信頼値を取得できます。メソッドのシグネチャは次の場所で確認できます。

これは、ライブラリに同梱されているデモ アプリケーションに示されています。以下を参照してください。

それは呼び出すのと同じくらい簡単です:

FaceRecognizer::predict(InputArray src, int &label, double &confidence); 

計算されたモデルで。したがって、アプリケーションでは次のように記述します。

Mat testSample; // of course this is set somewhere in your application
int predictedLabel = -1;
double confidence = 0.0;
model.predict(testSample, predictedLabel, confidence);

次に、predictedLabel に予測されたラベルと、この予測の信頼値が含まれています。

第二に、これはおそらくあなたの質問にさらに当てはまるでしょう。入力画像が不明と見なされるしきい値を設定できるようになりました。モデルのコンストラクターで、またはセッター/ゲッター メソッドを使用して、しきい値を設定できます。

これは、ライブラリに同梱されているデモ アプリケーションにも示されています。

于 2012-06-13T17:25:47.140 に答える