按文中所述进行实验:

xfacereclib.paper.IET2014的Python项目详细描述


=====================================
人脸识别中的分数校准
===================================== < BR>
此软件包提供了运行论文"人脸识别中的分数校准"中发布的实验的源代码,该论文发表于http://publications.idiap.ch/index.php/publications/show/2822>;`。
它依赖于facereclib湫来执行人脸识别实验,并依赖于bob湫来计算校准实验。 < BR><…注:
目前,此软件包仅在类unix环境和macos下工作。
由于Bob_u库的限制,不支持MS Windows操作系统。
我们正在为MS Windows开发Bob_的端口,但可能需要一段时间。
与此同时,您可以使用我们的VirtualBox图像,这些图像可以下载到"here<;http://www.idiap.ch/software/bob/images>;"。 < BR>< BR>
安装
============
此包的安装依赖于"buildout<;http://www.buildout.org>;"系统。默认情况下,命令行序列: < BR>
$./python bootstrap.py
美元/bin/建筑 < BR>
应下载并安装所有需求,包括facereclib、数据库接口"xbob.db.scface<;http://pypi.python.org/pypi/xbob.db.scface>;``、`xbob.db.mobio<;http://pypi.python.org/pypi/xbob.db.mobio>;``及其所有必需的软件包。
有一些例外情况不会自动下载: < BR>< BR> 鲍伯 < BR>
人脸识别实验依赖于开源的信号处理和机器学习工具箱bob。
要安装Bob廑,请访问http://www.idiap.ch/software/bob并按照安装说明进行操作。
请验证是否安装了至少1.2.0版的bob。
如果您在非标准目录中安装了bob,请从基本目录打开buildout.cfg文件,并相应地设置"前缀"目录。 < BR><…注:
我们在论文中报告的实验是用bob版本1.2.1和facereclib版本1.2.1生成的。
如果使用这两个包的不同版本,结果可能略有不同。
例如,我们知道,由于一些初始化差异,使用bob 1.2.0和1.2.1的结果不相同,但相似。 < BR>< BR>
图像数据库
------
实验在外部图像数据库上运行。
我们不提供数据库本身的图像。
因此,请与数据库所有者联系以获取图像的副本。
我们实验中使用的两个数据库可以在此处下载: < BR>
-scface[``scface`]:http://www.scface.org
-mobio[``mobio`]:http://www.idiap.ch/dataset/mobio < BR><…注:
对于mobio数据库,您需要签署eula才能访问数据——该过程在上面的mobio链接中进行了说明。
签署EULA后,请下载图像文件**images_png.tar.gz**和注释文件**images_annotations.tar.gz**并将这些文件提取到您选择的目录中。 < BR>
重要!

下载数据库后,您需要告诉我们的软件,在哪里可以通过更改**配置文件**找到它们。
请特别更新**xfacerlib/paper/iet12014/database_scface.py**中的"scface_目录",以及**xfacerlib/paper/iet12014/database_mobio.py**中的"mobio_image_目录"和"mobio_annotation_目录"。
请保持所有其他配置参数不变,因为这可能会影响人脸识别实验,从而影响结果的再现性。 < BR>
寻求帮助
----
如有任何问题,请随时在我们的Gitlab网页上打开新的门票,或发送电子邮件至manuel.guenther@idiap.ch。 < BR>< BR>
重新创建pap结果埃尔希
==================================== < BR>
成功设置数据库后,您现在可以运行本文中介绍的人脸识别和校准实验。 < BR>
实验配置
--
使用facereclib运行人脸识别实验,但是为了方便起见,存在一个包装器脚本,它为调用facereclib设置了正确的参数化。
包含所有实验参数的facereclib所使用的配置文件可以在**xfacereclib/paper/iet1044/**目录中找到。
特别是**xfacereclib/paper/iet2014/dct_mobio.py**和**xfacereclib/paper/iet2014/isv_mobio.py**文件包含了文中描述的dct块特性和isv算法的配置。
相应地, < BR>
运行实验
-
此脚本可以在"bin/iet1046 face_recog.py"中找到。
它需要一些命令行选项,您可以使用`./bin/iet1044_face_recog.py--help``列出这些选项。
通常,命令行选项有一个长版本(以`--``开头)和一个快捷方式(以单个`-``开头),这里我们只使用长版本: < BR>
-`--temp directory`:指定将存储临时文件的目录(默认值:``temp``)。所有实验成功运行后,可以删除此目录。
-`--result directory`:指定存储最终结果文件的目录(默认值:``results``)。此目录是评估实验所必需的。
-`--databases`:指定要在其上运行实验的数据库列表。可能的值是"scface"和"mobio"。默认情况下,在两个数据库上执行实验。
-`--protocols`:指定要运行的协议列表。可能的值是数据库"scface"的"combined"、"close"、"medium"和"far",以及"mobio"的"male"和"female"。默认情况下,使用所有协议。
-``--组合zt范数``:在scface数据库上用组合zt范数队列进行人脸识别实验。
-`--verbose`:在执行实验期间打印出附加信息或调试信息。可以多次使用`--verbose``选项,将级别增加到warning(1)、info(2)和debug(3)。默认情况下,只打印错误(0)消息。
-`--dry run`:使用此选项打印对facereclib的调用,而不执行它们。 < BR>
此外,您可以直接将选项传递给facereclib,但您应该小心。
只需使用`--``即可将``bin/iet1046 face_recog.py``的选项与facereclib`的选项分开。
例如,可能会对`--force``选项感兴趣。
有关选项的完整列表,请参见`./bin/faceverify.py--help`'。 < BR>
在实际运行实验之前,最好使用`--dry run``选项,以确保一切正常。
此外,信息(2)详细级别还打印有用的信息,例如,通过在命令行上添加`--verbose--verbose``(或很短的`-vv```)。
在两个数据库上执行人脸识别算法的常用命令行序列可以是: < BR>
1。在mobio数据库上运行实验: < BR>
$./bin/iet1044_face_recog.py-vv——数据库mobio < BR>
2。使用zt规范的协议特定文件在scface数据库上运行实验: < BR>
$./bin/iet1044_face_recog.py-vv——数据库scface < BR>
3。在scface数据库上运行实验,使用来自zt norm的所有距离条件的文件: < BR>
$./bin/iet1044_face_recog.py-vv——数据库scface——组合zt norm——协议近中远 < BR><…注:
如果脚本的所有输出目录不存在,则会自动生成它们然而。 < BR><…警告:
脚本的执行可能需要很长时间,并且需要大量内存——特别是在mobio数据库上。
尽管如此,脚本的设置使得它们尽可能重用实验的所有部分。 < BR>< BR>< BR>
评估实验
----
在所有实验成功完成后,可以评估得到的分数文件。
为此,可以使用"bin/iec2014\u evaluate.py"脚本创建纸张的表3、表4、表5和表6,只需编写与乳胶兼容的文件,这些文件稍后可以解释为生成表。 < BR>
生成输出文件
< BR>
此外,所有信息都会写入控制台(使用`-vvv``选项启用调试信息时),包括: < BR>
1。开发集的:math:`c^{\mathrm{min}}{\mathrm{ver}',计算集的:math:`c^{\mathrm{min}}{\mathrm{ver}',以及基于开发集上的最佳阈值的计算集的:math:`c{\mathrm{ver}。 < BR>
2。开发集和计算集上的:math:`c{\mathrm{frr}',使用在开发集的"far=1%"处定义的阈值。 < BR>
3。在应用threshold:math:`\theta_0=0`(主要用于校准分数)时,开发和评估集上的:math:`c{\mathrm{ver}`。 < BR>
4。开发和计算集的:math:`c{\mathrm{cllr}`性能。 < BR>
5。开发和计算集上的:math:`c^{\mathrm{min}{\mathrm{cllr}}性能。 < BR>
所有这些数字都是在zt分数标准化和不标准化的情况下,以及在分数校准前后计算的。 < BR>
要运行脚本,可以指定一些命令行参数,请参见``./bin/iec2014_evaluate.py--help`: < BR>
-`--result directory`:指定存储最终结果文件的目录(默认值:``results``)。这个目录应该与传递给"bin/iec2014_execute.py"脚本的目录相同。
-`--databases``:指定要计算的数据库列表。可能的值是"scface"和"mobio"。默认情况下,对两个数据库都求值。
-`--protocols`:指定要评估的协议列表。可能的值是数据库"scface"的"combined"、"close"、"medium"和"far",以及"mobio"的"male"和"female"。默认情况下,使用所有协议。
-`--组合zt范数``:用组合zt范数队列评价scface数据库上的人脸识别实验。
-`--组合阈值``:通过计算组合开发集上的阈值来评估在scface数据库上的人脸识别实验。
-`--latex directory`:将最终分数文件放入其中的目录,默认情况下,此目录为``latex``。 < BR>
同样,计算结果表的最常用方法可能是: < BR>
1。评估Mobio上的实验: < BR>
$bin/iet2014_evaluate.py-vvv——数据库mobio < BR>
2。使用与距离相关的zt范数评估scface上的实验: < BR>
$bin/iet2014_evaluate.py-vvv——数据库scface < BR>
3。用与距离无关的zt范数评估scface上的实验: < BR>
$bin/iet104u evaluate.py-vvv——数据库scface——组合zt norm——协议接近中远 < BR>
4。使用与距离无关的阈值对scface上的实验进行求值(将主要更改求值集的:math:`c{\mathrm{ver}`): < BR>
$bin/iet104u evaluate.py-vvv——数据库scface——组合阈值——协议关闭距离中等 < BR>
5。本文表7中给出的比较线性校准和分类校准的实验使用``bin/iet1044`分类.py``脚本: < BR>
$bin/iet1044_分类.py-vvv < BR>< BR>
生成乳胶表 < BR>喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂 < BR>
最后,可以通过定义一致的"result"和"resultatzero"乳胶宏来重新生成乳胶表,并包括生成的文件。
例如,要创建纸张的表3,请定义: < BR>
\newcommand\resultii[2]{\}
\newcommand\resultii[9]{1',\%\resultii}
\newcommand\result[9]{1\、\%&;4\、\%&;2\、\%&;3\、\%&;5\、\%&;6\、\%&;9\、\%&;7\、\%&;8\、\%&;resultii}
\newcommand\resultatzero[8]{} < BR>
设置包含10列的"表格"环境,并在以下位置输入: < BR>
\input{latex/mobio\u male}
\input{latex/mobio_female}
\input{latex/scface\u close}
\input{latex/scface_medium}
\input{latex/scface}
\input{latex/scface_combined} < BR>
因此,可以从文件生成其他表: < BR>
-表4a):``乳胶/scface_close-zt.tex``,``乳胶/scface_medium-zt.tex``和``乳胶/scface_far-zt.tex``
-表4b):``乳胶/scface_close-thres.tex``,``乳胶/scface_medium-thres.tex``和``乳胶/scface_far-thres.tex``
-表5和表6:``乳胶/mobio_male.tex``,``乳胶/mobio_mene.tex`,``乳胶/scface_close-zt.tex`,``乳胶/scface_medium-zt.tex`,``乳胶/scface_far-zt.tex``和``乳胶/scface_combined.tex`。
-表7:``latex/calibration none.tex``,``latex/calibration linear.tex``和``latex/calibration categorical.tex`` < BR>< BR>
生成分数分布图
< BR>
最后,还可以重新生成论文图3和图4所示的分数分布图。
这些图需要完成人脸识别实验,还需要运行分类校准。
之后,可以执行脚本"bin/iet1044\u plot.py"。
同样,脚本有一个命令行选项列表: < BR>
-`--result directory`:指定存储最终结果文件的目录(默认值:``results``)。这个目录应该与传递给"bin/iec2014_execute.py"脚本的目录相同。
-`--图``:指定要创建的图。可能的值是3和4。
-`--output file`:指定绘图应写入的文件。默认情况下,对于`--Figure 3``或`--Figure 4```,这分别是``Figure 3.pdf``或``Figure 4.pdf``。 < BR>
因此,运行: < BR>
$./bin/iet1044_plot.py-vv——图3
$./bin/iet1044_plot.py-vv——图4 < BR>
应足以生成绘图。 < BR>< BR><…_论文:http://publications.idiap.ch/index.php/publications/show/2822 <…_ IDIAP:http://www.idiap.ch <…_鲍勃:http://www.idiap.ch/software/bob <…_ facereclib:http://pypi.python.org/pypi/facereclib <…_ Gitlab:http://gitlab.idiap.ch/manuel.guenther/xfacereclib-paper-iet12014 <…_虚拟盒子:http://www.virtualbox.org

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

推荐PyPI第三方库


热门话题
java如何使用Scanner用文件中的文本填充数组,然后从数组中随机选择文本?   java如何在windows中使用BlueJ进行无限缓冲   java为什么JPA中存在“太多连接”?   java如何在recyclerview中创建和填充公共字段?   当我在Google Play上发布应用程序时,很多设备都不支持java xWalkWebView 64位   HTML文档文本中位置或偏移量的java含义   java如何在JTextArea中打开文件,并使用FileReader和FileWriter类进行读写   java`elementtobelickable`只是检查它是否可见并已启用   安卓中图像下方的java绘图文本   java我如何为我的Android应用程序启用Google signin,使其只允许来自特定Google域的用户?   在超级Java调用中调用父级的内部类   java在没有定时器的情况下运行代码   java使用hashset值作为hashmap中的键   java我需要为我的应用程序获取API密钥,为此,我需要证书的MD5签名   java编写一个方法来查看字符串x是否包含字母“G”