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).
More...
#include <opencv2/face/mace.hpp>
|
| virtual void | salt (const cv::String &passphrase)=0 |
| | optionally encrypt images with random convolution
|
| virtual bool | same (cv::InputArray query) const =0 |
| | correlate query img and threshold to min class value
|
| virtual void | train (cv::InputArrayOfArrays images)=0 |
| | train it on positive features compute the mace filter: h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C also calculate a minimal threshold for this class, the smallest self-similarity from the train images
|
| | Algorithm () |
| virtual | ~Algorithm () |
| virtual void | clear () |
| | Clears the algorithm state.
|
| virtual bool | empty () const |
| | Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
|
| virtual String | getDefaultName () const |
| virtual void | read (const FileNode &fn) |
| | Reads algorithm parameters from a file storage.
|
| virtual void | save (const String &filename) const |
| void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
| virtual void | write (FileStorage &fs) const |
| | Stores algorithm parameters in a file storage.
|
| void | write (FileStorage &fs, const String &name) const |
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).
see also: [239]
this implementation is largely based on: https://code.google.com/archive/p/pam-face-authentication (GSOC 2009)
use it like:
vector<Mat> pos_images = ...
mace->train(pos_images);
bool
same = mace->same(query);
n-dimensional dense array class
Definition mat.hpp:830
static cv::Ptr< MACE > create(int IMGSIZE=64)
constructor
virtual bool same(cv::InputArray query) const =0
correlate query img and threshold to min class value
std::shared_ptr< _Tp > Ptr
Definition cvstd_wrapper.hpp:23
you can also use two-factor authentication, with an additional passphrase:
String owners_passphrase =
"ilikehotdogs";
mace->salt(owners_passphrase);
vector<Mat> pos_images = ...
mace->train(pos_images);
cout << "enter passphrase: ";
string pass;
getline(cin, pass);
mace->salt(pass);
bool same = mace->same(query);
std::string String
Definition cvstd.hpp:151
save/load your model:
mace->train(pos_images);
mace->save("my_mace.xml");
reloaded->same(some_image);
static cv::Ptr< MACE > load(const String &filename, const String &objname=String())
constructor
◆ create()
| cv::Ptr< MACE > cv::face::MACE::create |
( |
int | IMGSIZE = 64 | ) |
|
|
static |
| Python: |
|---|
| cv.face.MACE.create( | [, IMGSIZE] | ) -> | retval |
| cv.face.MACE_create( | [, IMGSIZE] | ) -> | retval |
constructor
- Parameters
-
| IMGSIZE | images will get resized to this (should be an even number) |
◆ load()
| Python: |
|---|
| cv.face.MACE.load( | filename[, objname] | ) -> | retval |
| cv.face.MACE_load( | filename[, objname] | ) -> | retval |
◆ salt()
| virtual void cv::face::MACE::salt |
( |
const cv::String & | passphrase | ) |
|
|
pure virtual |
| Python: |
|---|
| cv.face.MACE.salt( | passphrase | ) -> | None |
optionally encrypt images with random convolution
- Parameters
-
| passphrase | a crc64 random seed will get generated from this |
◆ same()
| Python: |
|---|
| cv.face.MACE.same( | query | ) -> | retval |
correlate query img and threshold to min class value
- Parameters
-
| query | a Mat with query image |
◆ train()
| Python: |
|---|
| cv.face.MACE.train( | images | ) -> | None |
train it on positive features compute the mace filter: h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C also calculate a minimal threshold for this class, the smallest self-similarity from the train images
- Parameters
-
| images | a vector<Mat> with the train images |
The documentation for this class was generated from the following file: