类 MACE
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.face.MACE
-
public class MACE extends Algorithm
最小平均相关能量滤波器,适用于使用(可取消的)生物特征进行身份验证。(不需要太多正样本进行训练 (10-50),并且根本不需要负样本,也对噪声/加盐具有鲁棒性)另请参阅:CITE: 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);您还可以使用双因素身份验证,使用额外的密码:String owners_passphrase = "ilikehotdogs"; Ptr<face::MACE> mace = face::MACE::create(64); 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);保存/加载您的模型:Ptr<face::MACE> mace = face::MACE::create(64); mace->train(pos_images); mace->save("my_mace.xml"); // 稍后: Ptr<MACE> reloaded = MACE::load("my_mace.xml"); reloaded->same(some_image);
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 保护MACE(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static MACE__fromPtr__(long addr)static MACEcreate()构造函数static MACEcreate(int IMGSIZE)构造函数protected voidfinalize()static MACEload(java.lang.String filename)构造函数static MACEload(java.lang.String filename, java.lang.String objname)构造函数voidsalt(java.lang.String passphrase)可以选择使用随机卷积加密图像booleansame(Mat query)关联查询图像并阈值化到最小类值voidtrain(java.util.List<Mat> images)使用正特征训练它,计算 mace 过滤器:h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C还要计算此类的最小阈值,即来自训练图像的最小自相似性-
从类继承的方法 org.opencv.core.Algorithm
clear, empty, getDefaultName, getNativeObjAddr, save
-
-
-
-
方法详细信息
-
__fromPtr__
public static MACE __fromPtr__(long addr)
-
salt
public void salt(java.lang.String passphrase)
可以选择使用随机卷积加密图像- 参数
passphrase- 一个 crc64 随机种子将从此生成
-
train
public void train(java.util.List<Mat> images)
使用正特征训练它,计算 mace 过滤器:h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C还要计算此类的最小阈值,即来自训练图像的最小自相似性- 参数
images- 带有训练图像的 vector<Mat>
-
same
public boolean same(Mat query)
关联查询图像并阈值化到最小类值- 参数
query- 带有查询图像的 Mat- 返回
- 自动生成
-
load
public static MACE load(java.lang.String filename, java.lang.String objname)
构造函数- 参数
filename- 从预序列化的 FileStorage 构建新的 MACE 实例objname- (可选) FileStorage 中的顶级节点- 返回
- 自动生成
-
load
public static MACE load(java.lang.String filename)
构造函数- 参数
filename- 从预序列化的 FileStorage 构建新的 MACE 实例- 返回
- 自动生成
-
create
public static MACE create(int IMGSIZE)
构造函数- 参数
IMGSIZE- 图像将被调整为此大小(应该是一个偶数)- 返回
- 自动生成
-
create
public static MACE create()
构造函数- 返回
- 自动生成
-
-