OpenCV 4.5.3(日本語機械翻訳)
公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
cv::face::MACE クラス abstract

Minimum Average Correlation Energy Filter useful for authentication with (cancellable) biometrical features. (does not need many positives to train (10-50), and no negatives at all, also robust to noise/salting) [詳解]

#include <mace.hpp>

cv::Algorithmを継承しています。

公開メンバ関数

virtual CV_WRAP void salt (const cv::String &passphrase)=0
オプションで,ランダムな畳み込みで画像を暗号化します[【詳解】(英語]
virtual CV_WRAP void train (cv::InputArrayOfArrays images)=0
正の特徴で学習させ、Maceフィルタを計算する。h = D(-1) * X * (X(+) * D(-1) * X)(-1) * Cまた,このクラスに対する最小の閾値,つまり,訓練画像からの自己相似性が最小となる閾値を計算します.[【詳解】(英語]
virtual CV_WRAP bool same (cv::InputArray query) const =0
クエリ画像と閾値を相関させてクラス値を最小にする[【詳解】(英語]
- 基底クラス cv::Algorithm に属する継承公開メンバ関数
virtual CV_WRAP void clear ()
アルゴリズムの状態をクリアする[【詳解】(英語]
virtual void write (FileStorage &fs) const
アルゴリズムのパラメーターをファイルストレージに格納[【詳解】(英語]
CV_WRAP void write (const Ptr< FileStorage > &fs, const String &name=String()) const
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
virtual CV_WRAP void read (const FileNode &fn)
アルゴリズム・パラメータをファイル・ストレージから読み込みます。[【詳解】(英語]
virtual CV_WRAP bool empty () const
が空の場合はtrueを返します。Algorithmが空の場合は真を返します。[【詳解】(英語]
virtual CV_WRAP void save (const String &filename) const
virtual CV_WRAP String getDefaultName () const

静的公開メンバ関数

static CV_WRAP cv::Ptr< MACE > load (const String &filename, const String &objname=String())
コンストラクタ[【詳解】(英語]
static CV_WRAP cv::Ptr< MACE > create (int IMGSIZE=64)
コンストラクタ[【詳解】(英語]
- 基底クラス cv::Algorithm に属する継承静的公開メンバ関数
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
ファイル・ノードからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > load (const String &filename, const String &objname=String())
ファイルからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
文字列からアルゴリズムを読み込む[【詳解】(英語]

その他の継承メンバ

- 基底クラス cv::Algorithm に属する継承限定公開メンバ関数
void writeFormat (FileStorage &fs) const

詳解

最小平均相関エネルギーフィルタは,(キャンセル可能な)バイオメトリクス特徴を用いた認証に役立ちます.(学習に多くの陽性(10-50)と全くの陰性を必要とせず,ノイズや塩分にも強い)

も参照してください。[Savvides04] を参照してください。

この実装は主に以下に基づいています。https://code.google.com/archive/p/pam-face-authentication(GSOC 2009)

のように使うことができます。

Ptr<face::MACE> mace = face::MACE::create(64);
vector<Mat> pos_images = ...
mace->train(pos_images);
Mat query = ...
bool same = mace->same(query);
static CV_WRAP cv::Ptr< MACE > create(int IMGSIZE=64)
constructor
virtual CV_WRAP bool same(cv::InputArray query) const =0
correlate query img and threshold to min class value

パスフレーズを追加して、二要素認証を使用することもできます。

String owners_passphrase = "ilikehotdogs";
Ptr<face::MACE> mace = face::MACE::create(64);
mace->salt(owners_passphrase);
vector<Mat> pos_images = ...
mace->train(pos_images);
// now, users have to give a valid passphrase, along with the image:
Mat query = ...
cout << "enter passphrase: ";
string pass;
getline(cin, pass);
mace->salt(pass);
bool same = mace->same(query);

モデルを保存/読み込みます。

Ptr<face::MACE> mace = face::MACE::create(64);
mace->train(pos_images);
mace->save("my_mace.xml");
// later:
Ptr<MACE> reloaded = MACE::load("my_mace.xml");
reloaded->same(some_image);
static CV_WRAP cv::Ptr< MACE > load(const String &filename, const String &objname=String())
constructor

関数詳解

create()

static CV_WRAP cv::Ptr< MACE > cv::face::MACE::create ( int IMGSIZE = 64 )
static

コンストラクタ

引数
IMGSIZE 画像のサイズは,この値に合わせて変更されます(偶数である必要があります).

load()

static CV_WRAP cv::Ptr< MACE > cv::face::MACE::load ( const String & filename,
const String & objname = String()
)
static

コンストラクタ

引数
filename 新しいインスタンスをMACEインスタンスを構築します。FileStorage
objname (オプション) のトップレベルノードから新しいインスタンスを生成します.FileStorage

salt()

virtual CV_WRAP void cv::face::MACE::salt ( const cv::String & passphrase )
pure virtual

オプションで,ランダムな畳み込みで画像を暗号化します

引数
passphrase crc64ランダムシードが生成される

same()

virtual CV_WRAP bool cv::face::MACE::same ( cv::InputArray query ) const
pure virtual

クエリ画像と閾値を相関させてクラス値を最小にする

引数
query aMatクエリ画像との相関

train()

virtual CV_WRAP void cv::face::MACE::train ( cv::InputArrayOfArrays images )
pure virtual

正の特徴で学習させ、Maceフィルタを計算する。h = D(-1) * X * (X(+) * D(-1) * X)(-1) * Cまた,このクラスに対する最小の閾値,つまり,訓練画像からの自己相似性が最小となる閾値を計算します.

引数
images 訓練画像を含む vector<Mat>.

このクラス詳解は次のファイルから抽出されました: