反垃圾邮件跨数据库测试

antispoofing.crossdatabase的Python项目详细描述


此包包含允许在face antispoofing对策中进行跨数据库测试的脚本,以便评估它们的泛化能力

如果您使用此软件包和/或其结果,请引用以下出版物:

  1. 原版论文结合反措施进行了详细说明:

    @inproceedings{FreitasPereira_ICB_2013,
      author = {de Freitas Pereira, Tiago and Anjos, Andr{\'{e}} and De Martino, Jos{\'{e}} Mario and Marcel, S{\'{e}}bastien},
      month = Jun,
      title = {Can face anti-spoofing countermeasures work in a real world scenario?},
      journal = {International Conference on Biometrics 2013},
      year = {2013},
    }
    
  2. bob作为运行实验的核心框架:

    @inproceedings{Anjos_ACMMM_2012,
      author = {A. Anjos AND L. El Shafey AND R. Wallace AND M. G\"unther AND C. McCool AND S. Marcel},
      title = {Bob: a free signal processing and machine learning toolbox for researchers},
      year = {2012},
      month = oct,
      booktitle = {20th ACM Conference on Multimedia Systems (ACMMM), Nara, Japan},
      publisher = {ACM Press},
    }
    

安装

注意

如果您是通过我们的github门户而不是通过pypi阅读此页面, 注意包的开发提示可能不稳定或 瞬间不稳定的

转到http://pypi.python.org/pypi/antispoofing.crossdatabase下载最新的 这个包的稳定版本。

有两个选项可用于安装此软件包和 在计算机上运行:可以使用自动安装程序,如pip(或easy_install),也可以手动下载、解包和 使用zc.buildout创建 虚拟工作环境仅用于此包。

使用自动安装程序

使用pip是最简单的(shell命令用$信号标记):

$ pip install antispoofing.crossdatabase

您也可以使用easy_install

$ easy_install antispoofing.crossdatabase

这将下载并安装此软件包以及任何其他需要的 依赖关系。它还将验证您安装的bob版本 是兼容的

此方案可以通过virtualenv或根访问 机器。否则,我们建议您使用下一个选项。

使用zc.buildout

PyPI下载此包的最新版本,并将其解压缩到 工作区。工具包本身的安装使用buildout。你不需要了解它的内部工作原理 使用这个包裹下面是一个让你开始的食谱:

$ python bootstrap.py
$ ./bin/buildout

这两个命令应该下载并安装所有未安装的依赖项和 为您提供一个完全可操作的测试和开发环境。

注意

在前一个命令集的第一行中使用的python shell 确定将用于开发的所有脚本的python解释器 在这个包裹里。因为这个包使用Bob,所以必须确保bootstrap.py 使用用于构建bob的解释器调用脚本,或者 可能会出现意外问题

如果系统管理员安装了bob,则可以安全地 假设它使用默认的python解释器在这种情况下,上述3 命令行应按预期工作如果你在某个地方安装了鲍勃 否则,在私有目录中,在buildout.cfg之前编辑文件 正在运行./bin/buildout。找到名为buildout的节并编辑或添加 第prefixes行指向安装或构建Bob的目录例如:

[buildout]
...
prefixes=/Users/crazyfox/work/bob/build/lib

用户指南

首先,需要熟悉卫星包:antispoofing.motionantispoofing.lbptop。 antispoofing.lbp top卫星包生成lbp-top和lbp对策的分数。

跨数据库测试

下面的示例演示了如何使用数据库间协议再现性能。

对于使用重放攻击数据库训练和调整的每个对策,要使用casia fasd的测试集获得性能,只需键入:

$ ./bin/crossdb_result_analysis.py --scores-dir <scores_replay_countermeasure_directory> -d replay -t casias_fasd:

对于使用casia fasd训练和调整的每个对策,要使用重放攻击数据库的测试集获得性能,只需键入:

$ ./bin/crossdb_result_analysis.py --scores-dir <scores_casia_countermeasure_directory> -d casia_fasd -t replay

训练所有数据

要使用经过训练并使用两个数据库(重放攻击数据库和Casia FASD)调整的对策获得性能,只需键入:

要使用重播攻击数据库报告结果,请执行以下操作:

$ ./bin/crossdb_result_analysis.py --scores-dir <scores_all_countermeasures_directory> -d all -t replay

使用casia fasd报告结果:

$ ./bin/crossdb_result_analysis.py --scores-dir <scores_all_countermeasures_directory> -d all -t casia_fasd
框架

对于每个对策,要使用基于分数级融合的框架获得性能,只需键入:

要使用重播攻击数据库报告结果,请执行以下操作:

$ ./bin/crossdb_fusion_framework.py --scores-dir <scores_trained_with_replay> <scores_trained_with_casia> -d all -t replay --normalizer MinMaxNorm --fusion-algorithm SUM

使用casia fasd报告结果:

$ ./bin/crossdb_fusion_framework.py --scores-dir <scores_trained_with_casia> <scores_trained_with_replay> -d all -t casia_fasd --normalizer MinMaxNorm --fusion-algorithm SUM

问题

如有问题,请与论文作者联系。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java语义理解递归反向字符串返回语句   java toString()方法打印空值   java大型IN子句   如何使用JavaSpring在JavaScriptjQuery中设置post路径   java ByteArrayOutputStream已上载到服务器   java为什么轮询在SocketIO上获取数据“无法加载请求的项”?   java源代码应该以UTF8格式保存   Java数据库轮询器?   在Java中将double转换为float   java AccessDeniedException:C:\Windows\System32\drivers\etc\hosts