2

bytefish が提供する fisherfaces 実装 (opencv 2.4 以前のバージョン) に基づく顔認識エンジンに取り組んできました。実際の fisherfaces アルゴリズムは同じですが、違いは主に便利なものです。

-画像/ストレージの圧縮。

-int ではなく文字列による分類。

-包括的な予測 (パーセンテージで並べ替えられた複数の結果)。

注: パーセンテージは次のように計算されます: パーセント = 1.0 - (lowdist/distthreshold) ここで、lowdist は src マトリックス (テスト顔画像) と投影セット内のマトリックス (トレーニング済み顔画像) の間の最小ユークリッド距離であり、distthreshold は許容される最大距離。

包括的な予測は、私が問題を抱えているところです。使用する最適なしきい値を計算する適切な方法が見つかりませんでした。現在、テストするランダム値として 2200.0 を選択しています。もちろん、これは多くの不安定な結果を生み出します。特に、顔の画像がさまざまな照明と解像度のランダムなソースから来ている場合はなおさらです。

だから私の質問は: fisherfaces で使用する最適な距離のしきい値を計算する方法はありますか?

以下のレコグナイザーにソースコードを提供しました。

メソッド「FBaseLDARecognizer::calculateOptimalThreshold」は無視してください。まだ終了していません。目標は、認識エンジンに顔のグループを追加してから、既知の分類を持つ未知の顔のセットに対してテストし、最大および最小の正しい距離を取得することでした。私が得た限りでは、そのデータを使用する有用な方法はまだ考えていません。したがって、現在は常に 0.0 を返します。

注: これはまだ完了していません。まだ解決していないパフォーマンスの問題がいくつかあります。また、このコードはコメントされていません。さらに説明が必要な場合はお知らせください。コメントしてファイルを再アップロードできます。

ソース ファイル:

ヘッダ

ソース

4

0 に答える 0