{ "info": { "author": "Nesli Erdogmus", "author_email": "nesli.erdogmus@idiap.ch", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Programming Language :: Python" ], "description": "=============================================================================\n Spoofing Face Recognition with 3D Masks\n=============================================================================\n\nThis package implements the baseline verification algorithms and LBP-based counter-measures against spoofing attacks with 3d masks to 2D, 2.5D and 3D face recognition systems as described in the paper `Spoofing Face Recognition with 3D Masks`, by N. Erdogmus and S. Marcel.\n\nIf you use this package and/or its results, please cite the following publications:\n\n1. The original paper with the baseline verification and counter-measure algorithms explained in details::\n\n ==TO BE UPDATED==\n \n2. Bob as the core framework used to run the experiments::\n\n @inproceedings{Anjos_ACMMM_2012,\n author = {A. Anjos AND L. El Shafey AND R. Wallace AND M. G\\\"unther AND C. McCool AND S. Marcel},\n title = {Bob: a free signal processing and machine learning toolbox for researchers},\n year = {2012},\n month = oct,\n booktitle = {20th ACM Conference on Multimedia Systems (ACMMM), Nara, Japan},\n publisher = {ACM Press},\n }\n\nIf you wish to report problems or improvements concerning this code, please contact the authors of the above mentioned papers.\n\nRaw data\n--------\n\nThe data used in the paper is publicly available and should be downloaded and installed **prior** to try using the programs described in this package. Visit `the 3D MASK ATTACK database portal `_ for more information.\n\nInstallation\n------------\n\n.. note:: \n\n If you are reading this page through our GitHub portal and not through PyPI, note **the development tip of the package may not be stable** or become unstable in a matter of moments.\n\n Go to `http://pypi.python.org/pypi/maskattack.study `_ to download the latest stable version of this package.\n\nThere are 2 options you can follow to get this package installed and operational on your computer: you can use automatic installers like `pip `_ (or `easy_install `_) or manually download, unpack and use `zc.buildout `_ to create a virtual work environment just for this package.\n\nUsing an automatic installer\n============================\n\nUsing ``pip`` is the easiest (shell commands are marked with a ``$`` signal)::\n\n $ pip install maskattack.study\n\nYou can also do the same with ``easy_install``::\n\n $ easy_install maskattack.study\n\nThis will download and install this package plus any other required dependencies. It will also verify if the version of Bob you have installed is compatible.\n\nThis scheme works well with virtual environments by `virtualenv `_ or if you have root access to your machine. Otherwise, we recommend you use the next option.\n\nUsing ``zc.buildout``\n=====================\n\nDownload the latest version of this package from `PyPI `_ and unpack it in your working area. The installation of the toolkit itself uses `buildout `_. You don't need to understand its inner workings to use this package. Here is a recipe to get you started::\n \n $ python bootstrap.py \n $ ./bin/buildout\n\nThese 2 commands should download and install all non-installed dependencies and get you a fully operational test and development environment.\n\n.. note::\n\n The python shell used in the first line of the previous command set determines the python interpreter that will be used for all scripts developed inside this package. Because this package makes use of `Bob `_, you must make sure that the ``bootstrap.py`` script is called with the **same** interpreter used to build Bob, or unexpected problems might occur.\n\n If Bob is installed by the administrator of your system, it is safe to consider it uses the default python interpreter. In this case, the above 3 command lines should work as expected. If you have Bob installed somewhere else on a private directory, edit the file ``buildout.cfg`` **before** running ``./bin/buildout``. Find the section named ``external`` and edit the line ``egg-directories`` to point to the ``lib`` directory of the Bob installation you want to use. For example::\n\n [external]\n recipe = xbob.buildout:external\n egg-directories=/Users/crazyfox/work/bob/build/lib\n\nUser Guide\n----------\n\nThis section explains how to use the package in order to: a) accumulate depth frames in the 3DMAD database in order to obtain better 3D face models; b) analyze each mask in the 3DMAD database with 2 different algorithms for each of the 2D, 2.5D and 3D modes; c) test LBP-based anti-spoofing algorithms using 3 different classifiers: Chi-2, Linear Discriminant Analysis (LDA) and Support Vector Machines (SVM).\n\nIt is assumed you have followed the installation instructions for the package, and got the required database downloaded and uncompressed in a directory. After running the ``buildout`` command, you should have all required utilities sitting inside the ``bin`` directory. We expect that the data files of the database are installed in a sub-directory called ``database`` at the root of the package. You can use a link to the location of the database files, if you don't want to have the database installed on the root of this package::\n\n $ ln -s /path/where/you/installed/the/database database\n\nIf you don't want to create a link, use the ``--inputdir`` flag (available in all the scripts) to specify the root directory containing the database files.\n\nAccumulate depth frames and generate pre-processed 2D, 2.5D and 3D files\n=========================================================================\n\nThe first stage of the process is accumulating depth frames for each Kinect video. 30 frames are aligned and accumulated for each 3D model, resulting in 10 models per video (HDF5 file).\n\nFirstly, the depth values in depth frames have to be projected to their real world coordinates by running the following command::\n \n $ bin/rgbd_to_rgbxyz.py -i \n\nThis creates a subfolder in the output directiory (By default ``./output/aligned``) and saves there the aligned coordinates of all frames in HDF5 files.\n\nNext, the aligned frames are accumulated via the following command::\n \n $ bin/rgbxyz_to_accumulated.py\n\nThis creates a subfolder in the output directiory (By default ``./output/accumulated``) and saves there the accumulated models as HDF5 files (10 models per one video in the database). The contents of this folder are the 3D data to be used in baseline verification experiments.\n\nIn order to generate depth maps from the accumulated models, run the following command::\n\n $ bin/accumulated_to_depth.py\n \nThis creates a subfolder in the output directiory (By default ``./output/depth``) and saves there the depth maps obtained from the accumulated models. The contents of this folder are the 2.5D data to be used in baseline verification and anti-spoofing experiments.\n\nFinally, the corresponding grayscale images are created, by taking every 30th frame of each video in the database::\n\n $ bin/hdf5_to_grayscale.py -i \n \nThis creates a subfolder in the output directiory (By default ``./output/grayscale``) and saves there the grayscale images obtained from the video files in the database. The contents of this folder are the 2D data to be used in baseline verification and anti-spoofing experiments.\n\nTo see all the options for these scripts, just type ``--help`` at the command line.\n\nYou can also view the accumulated models using:\n\n $ bin/view_accumulated.py \n\n\nAnalyzing facial masks in 3DMAD via baseline verification experiments\n=====================================================================\n\nOnce the experiments files for 2D, 2.5D and 3D modes are generated, you can run the baseline verification algorithms which analyze each mask in the database in a leave-one-out manner.\n\nFor LBP-2D, LBP-2.5D, TPS-3D, ISV-2D, ISV-2.5D and ICP-3D methods, the following commands should be used in their respective order::\n\n $ bin/analyzeLBP.py\n $ bin/analyzeLBP.py -t depth\n $ bin/analyzeTPS.py\n $ bin/analyzeISV.py\n $ bin/analyzeISV.py -t depth\n $ bin/analyzeICP.py\n \nThe LBP, TPS and ISV algorithms save the extracted features in subfolders, by default under ``./feature/``. The obtained scores are saved into subfolders by default under ``./result/_``.\n\nFinally, the plots are generated for each of these experiments via following commands (by default under ``./result`` folder)::\n \n $ bin/analyze_plot.py\n $ bin/analyze_plot.py -t depth\n $ bin/analyze_plot.py -a TPS\n $ bin/analyze_plot.py -a ISV\n $ bin/analyze_plot.py -a ISV -t depth\n $ bin/analyze_plot.py -a ICP\n\nTo see all the options for these scripts, just type ``--help`` at the command line.\n\n\nAnti-spoofing experiments\n==========================\n\nAnti-spoofing experiments with different types of LBP features and classifiers can be run by the following command::\n\n $bin/antispoofLBP.py -t -l -c \n\nwithout using blocks. ``-b`` flag is used to divide the LBP images into 3x3 blocks and concatahate their histograms::\n\n $bin/antispoofLBP.py -t -l -c -b\n \nMaatta11 has its own specific block division.\n\nOnce all experiments are completed (2x5x3 + 2x4x3 = 54 in total), the bar plot can be obtained via::\n\n $ bin/antispoof_plot.py\n \nTo see all the options for these scripts, just type ``--help`` at the command line.\n\n\nProblems\n--------\n\nIn case of problems, please contact any of the authors of the paper.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/bioidiap/maskattack.study", "keywords": null, "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "maskattack.study", "package_url": "https://pypi.org/project/maskattack.study/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/maskattack.study/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/bioidiap/maskattack.study" }, "release_url": "https://pypi.org/project/maskattack.study/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "Accumulate depth frames of 3DMAD database for better face models and analyze verification and spoofing performances of 2D, 2.5D and 3D samples", "version": "1.0.0" }, "last_serial": 923845, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "b1417acabd9cb85491117b65274067e4", "sha256": "1ff52c8be3c8b8bc16b58ff88d81b2be6a9b34f97f7e87c7565ee49ec6ff12c4" }, "downloads": -1, "filename": "maskattack.study-1.0.0.zip", "has_sig": false, "md5_digest": "b1417acabd9cb85491117b65274067e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125967, "upload_time": "2013-11-19T18:21:46", "url": "https://files.pythonhosted.org/packages/ae/64/4fbac322d5de1af1f8cc2b1c46425c64fe05cb109673bff1194dcca1f00d/maskattack.study-1.0.0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b1417acabd9cb85491117b65274067e4", "sha256": "1ff52c8be3c8b8bc16b58ff88d81b2be6a9b34f97f7e87c7565ee49ec6ff12c4" }, "downloads": -1, "filename": "maskattack.study-1.0.0.zip", "has_sig": false, "md5_digest": "b1417acabd9cb85491117b65274067e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125967, "upload_time": "2013-11-19T18:21:46", "url": "https://files.pythonhosted.org/packages/ae/64/4fbac322d5de1af1f8cc2b1c46425c64fe05cb109673bff1194dcca1f00d/maskattack.study-1.0.0.zip" } ] }