OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::face::MACE 類參考抽象類

最小平均相關能量濾波器,適用於使用(可取消的)生物特徵進行身份驗證。(不需要太多正樣本進行訓練(10-50個),完全不需要負樣本,並且對噪聲/加鹽具有魯棒性)更多...

#include <opencv2/face/mace.hpp>

cv::face::MACE 的協作圖

公共成員函式

virtual void salt (const cv::String &passphrase)=0
 可以選擇使用隨機卷積加密影像
 
virtual bool same (cv::InputArray query) const =0
 關聯查詢影像並閾值化到最小類值
 
virtual void train (cv::InputArrayOfArrays images)=0
 用正樣本特徵訓練它,計算 MACE 濾波器:h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C,同時計算此類的最小閾值,即來自訓練影像的最小自相似性
 
- 從 cv::Algorithm 繼承的公共成員函式
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除演算法狀態。
 
virtual bool empty () const
 如果 Algorithm 為空(例如,在最開始或讀取不成功之後),則返回 true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 從檔案儲存中讀取演算法引數。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 將演算法引數儲存到檔案儲存中。
 
void write (FileStorage &fs, const String &name) const
 

靜態公共成員函式

static cv::Ptr< MACEcreate (int IMGSIZE=64)
 建構函式
 
static cv::Ptr< MACEload (const String &filename, const String &objname=String())
 建構函式
 
- 從 cv::Algorithm 繼承的靜態公共成員函式
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 從檔案中載入演算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 從字串載入演算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 從檔案節點讀取演算法。
 

附加的繼承成員

- 從 cv::Algorithm 繼承的保護成員函式
void writeFormat (FileStorage &fs) const
 

詳細描述

最小平均相關能量濾波器,適用於使用(可取消的)生物特徵進行身份驗證。(不需要太多正樣本進行訓練(10-50個),完全不需要負樣本,並且對噪聲/加鹽具有魯棒性)

另請參閱:[239]

此實現主要基於:https://code.google.com/archive/p/pam-face-authentication (GSOC 2009)

像這樣使用它

vector<Mat> pos_images = ...
mace->train(pos_images);
Mat query = ...
bool same = mace->same(query);
n 維密集陣列類
定義 mat.hpp:830
static cv::Ptr< MACE > create(int IMGSIZE=64)
建構函式
virtual bool same(cv::InputArray query) const =0
關聯查詢影像並閾值化到最小類值
std::shared_ptr< _Tp > Ptr
Definition cvstd_wrapper.hpp:23

您還可以使用雙因素身份驗證,並使用額外的密碼

String owners_passphrase = "ilikehotdogs";
mace->salt(owners_passphrase);
vector<Mat> pos_images = ...
mace->train(pos_images);
// 現在,使用者必須提供有效的密碼以及影像
Mat query = ...
cout << "enter passphrase: ";
string pass;
getline(cin, pass);
mace->salt(pass);
bool same = mace->same(query);
std::string String
定義 cvstd.hpp:151

儲存/載入您的模型

mace->train(pos_images);
mace->save("my_mace.xml");
// 稍後
Ptr<MACE> reloaded = MACE::load("my_mace.xml");
reloaded->same(some_image);
static cv::Ptr< MACE > load(const String &filename, const String &objname=String())
建構函式

成員函式文件

◆ create()

static cv::Ptr< MACE > cv::face::MACE::create ( int IMGSIZE = 64)
static
Python
cv.face.MACE.create([, IMGSIZE]) -> retval
cv.face.MACE_create([, IMGSIZE]) -> retval

建構函式

引數
IMGSIZE影像將調整為此大小(應該為偶數)

◆ load()

static cv::Ptr< MACE > cv::face::MACE::load ( const String & filename,
const String & objname = String() )
static
Python
cv.face.MACE.load(filename[, objname]) -> retval
cv.face.MACE_load(filename[, objname]) -> retval

建構函式

引數
filename從預序列化的 FileStorage 構建新的 MACE 例項
objname(可選) FileStorage 中的頂層節點

◆ salt()

virtual void cv::face::MACE::salt ( const cv::String & passphrase)
純虛擬函式
Python
cv.face.MACE.salt(passphrase) ->

可以選擇使用隨機卷積加密影像

引數
passphrase將從此生成一個 crc64 隨機種子

◆ same()

virtual bool cv::face::MACE::same ( cv::InputArray query) const
純虛擬函式
Python
cv.face.MACE.same(query) -> retval

關聯查詢影像並閾值化到最小類值

引數
query帶有查詢影像的 Mat

◆ train()

virtual void cv::face::MACE::train ( typedef const _InputOutputArray images)
純虛擬函式
Python
cv.face.MACE.train(images) ->

用正樣本特徵訓練它,計算 MACE 濾波器:h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C,同時計算此類的最小閾值,即來自訓練影像的最小自相似性

引數
images帶有訓練影像的 vector<Mat>

此類文件由以下檔案生成