类 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 MACE create()
      构造函数
      static MACE create​(int IMGSIZE)
      构造函数
      protected void finalize()  
      static MACE load​(java.lang.String filename)
      构造函数
      static MACE load​(java.lang.String filename, java.lang.String objname)
      构造函数
      void salt​(java.lang.String passphrase)
      可以选择使用随机卷积加密图像
      boolean same​(Mat query)
      关联查询图像并阈值化到最小类值
      void train​(java.util.List<Mat> images)
      使用正特征训练它,计算 mace 过滤器:h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C 还要计算此类的最小阈值,即来自训练图像的最小自相似性
      • 从类继承的方法 java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造函数详细信息

      • MACE

        protected MACE​(long addr)
    • 方法详细信息

      • __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()
        构造函数
        返回
        自动生成
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        重写
        finalize 在类中 Algorithm
        抛出
        java.lang.Throwable