Iris-Recognition-master

所属分类:其他
开发工具:Python
文件大小:69703KB
下载次数:1
上传日期:2019-04-07 20:07:16
上 传 者md_sabra
说明:  eye recognition, special for iris recognition

文件列表:
CASIA1 (0, 2018-11-28)
CASIA1\1 (0, 2018-11-28)
CASIA1\1\001_1_1.jpg (12161, 2018-11-28)
CASIA1\1\001_1_2.jpg (12355, 2018-11-28)
CASIA1\1\001_1_3.jpg (13110, 2018-11-28)
CASIA1\1\001_2_1.jpg (12385, 2018-11-28)
CASIA1\1\001_2_2.jpg (12288, 2018-11-28)
CASIA1\1\001_2_3.jpg (12254, 2018-11-28)
CASIA1\1\001_2_4.jpg (12503, 2018-11-28)
CASIA1\10 (0, 2018-11-28)
CASIA1\10\010_1_1.jpg (12282, 2018-11-28)
CASIA1\10\010_1_2.jpg (12906, 2018-11-28)
CASIA1\10\010_1_3.jpg (12353, 2018-11-28)
CASIA1\10\010_2_1.jpg (12762, 2018-11-28)
CASIA1\10\010_2_2.jpg (12872, 2018-11-28)
CASIA1\10\010_2_3.jpg (12357, 2018-11-28)
CASIA1\10\010_2_4.jpg (12009, 2018-11-28)
CASIA1\100 (0, 2018-11-28)
CASIA1\100\100_1_1.jpg (12157, 2018-11-28)
CASIA1\100\100_1_2.jpg (12068, 2018-11-28)
CASIA1\100\100_1_3.jpg (12522, 2018-11-28)
CASIA1\100\100_2_1.jpg (12319, 2018-11-28)
CASIA1\100\100_2_2.jpg (12530, 2018-11-28)
CASIA1\100\100_2_3.jpg (12243, 2018-11-28)
CASIA1\100\100_2_4.jpg (12150, 2018-11-28)
CASIA1\101 (0, 2018-11-28)
CASIA1\101\101_1_1.jpg (12764, 2018-11-28)
CASIA1\101\101_1_2.jpg (12395, 2018-11-28)
CASIA1\101\101_1_3.jpg (12986, 2018-11-28)
CASIA1\101\101_2_1.jpg (12893, 2018-11-28)
CASIA1\101\101_2_2.jpg (12855, 2018-11-28)
CASIA1\101\101_2_3.jpg (12796, 2018-11-28)
CASIA1\101\101_2_4.jpg (12742, 2018-11-28)
CASIA1\102 (0, 2018-11-28)
CASIA1\102\102_1_1.jpg (11982, 2018-11-28)
CASIA1\102\102_1_2.jpg (11887, 2018-11-28)
CASIA1\102\102_1_3.jpg (11472, 2018-11-28)
CASIA1\102\102_2_1.jpg (11514, 2018-11-28)
CASIA1\102\102_2_2.jpg (11683, 2018-11-28)
... ...

# Iris Recognition I have made `Iris-Recognition system`, implemented in both Matlab and Python. #### Keyword: Iris Recognition, Biometrics, Computer Vision, Image Processing, Daugman Table of contents ================= - [Iris Recognition](#iris-recognition) - [Table of contents](#table-of-contents) - [I.Introduction](#iintroduction) - [II.Description](#iidescription) - [III.Prerequisites](#iiiprerequisites) * [III.1.Matlab](#iii1matlab) * [III.2.Python](#iii2python) - [IV.Folder structure](#ivfolder-structure) - [V.MATLAB implementation](#vmatlab-implementation) * [V.1.Enrollment](#v1enrollment) * [V.2.Verification](#v2verification) * [V.3.Account infomation view](#v3account-infomation-view) - [VI.Python implementation](#vipython-implementation) I.Introduction ============== * During summer in 2017, I met my teacher in Digital Signal Processing course. He recommended me Biometrics topic. Since then, I have started exploring about Biometrics, such as Fingerprint, Iris, and Face. * I searched on Internet and found out an open-source Iris Recognition model, which was written on Matlab. Thanks to the author of this open-source code, I could make my own system. [Here is information about the author](http://www.peterkovesi.com/studentprojects/libor/sourcecode.html):\ `` Libor Masek, Peter Kovesi. MATLAB Source Code for a Biometric Identification System Based on Iris Patterns. The School of Computer Science and Software Engineering, The University of Western Australia. 2003. `` * Based on the available functions, I have modified, connected, and designed my individual system on Matlab. Subsequently, I have also converted Matlab version into Python one. * My contribution is creating a GUI so that user can use it as a convenient software. Moreover, in my modified system, I utilized hardware to boost runtime performance in order to make it faster than the original version. * The testing experiment shows that these two forms had fairly equal accuracy. In addition, because of the C++ platform, Matlab implementation is faster than Python. II.Description ============== * I notice that this system is not a real-world application. Clearly, a complete system must have a specific camera to capture iris inside eyes. However, these ones are extremely expensive. Therefore, I used an available image database on the Internet, called [CASIA-IrisV1](http://biometrics.idealtest.org/dbDetailForUser.do?id=1), to replace the costly camera. In this database, there are 108 people, each person has 7 eye images. All testing experiments are carried out using images in this database. * Typically, a recognition system involves two operation modes, namely Enrollment and Verification. The former is extracting features from an eye image and save it into a template database, while the latter allows users extract their features and match with existing entities in the template database to identify the origination of the input image. * Finally, Matlab version is equiped with a familiar GUI for convenient use, whereas, Python version is utilized all CPU cores of hardware for boosting the computation time. III.Prerequisites ================= III.1.Matlab ------------ * Since I made the GUI using App designer, and only updated versions of Matlab (from R2016a) have this feature, therefore to be able to run the code, your Matlab version must be R0216a or higher. III.2.Python ------------ * The OS, which I'm using, is Ubuntu 16.04. In addition, the Python interpreter is Python 3.5. * First, create a virtual environment using [this link](https://docs.python-guide.org/dev/virtualenvs/#lower-level-virtualenv). In my case, the virtual environment is *iris*. * Then, change the current working directory to "project_dir/python/" and install some python packages for the created virtual environment. ``` workon iris cd Iris-Recognition/python/ pip install -r requirements.txt ``` IV.Folder structure =================== ``` . +-- CASIA-database/ | +-- 001_1_1.jpg | +-- ... | +-- 108_2_4.jpg | +-- matlab/ | +-- fnc/ | +-- addcircle.m | +-- ... | +-- template-database/ | +-- 1.mat | +-- ... | +-- IrisRecognitionGUI.mlapp | +-- python/ | +-- fnc/ | +-- boundary.py | +-- ... | +-- template-database/ | +-- 1.mat | +-- ... | +-- path.py | +-- enroll-all.py | +-- enroll-single.py | +-- verify.py ``` * Folder `CASIA-database` includes original eye images. My system uses images in this folder as the input. * Folder `matlab` is the implementation on Matlab language. Folder `fnc` contains back-end functions for the GUI. Folder `template-database` stores registered template extracted from eye images. File `IrisRecognitionGUI.mlapp` is the GUI configuration for my system. * Folder `python` is the implemtation on Python language. In which, folder `fnc` contains back-end functions. Folder `template-database` stores registered template extracted from eye images. File `path.py` defines some essential paths. File `enroll-all.py` is responsible for registering 108 accounts. File `enroll-single.py` registers for a person, which is indicated by user. File `verify.py` is used to verify an eye image. V.MATLAB implementation ======================= * The picture below is the GUI of MATLAB. * There are 3 modes: `Enrollment`, `Verification`, and `Account infomation view`. `Enrollment` means register an account template to the database so that you can verify a different eye image from the database in the `Verification` mode. All account templates are anonymous that the name of template file doesn't reveal who owns it. Therefore, `Account infomation view` can be used to see the information inside a template file.

Drawing

V.1.Enrollment --------------- * Select button `Image select...`, a select browser will appear for you to select an eye image for enrollment.

Drawing

* Then, input the name and basic information that you want to store. Then, click button `Enroll`.

Drawing

* A message will notify that the enrollment is successful.

Drawing

* At this time, I haven't developed a feature to reject accounts that exist in the database. In future, I will fill into this blank. V.2.Verification ----------------- * To verify an eye image, click button `Image select...` to select an image as instructions in the `Enrollment` section. * Click button `Verify`. Then, a message will notify the verification state. In addition, information about the matched account will be shown as the following picture.

Drawing

V.3.Account infomation view ---------------------------- * Click button `View account...` to select the template file whose content you want to review. The result will be same as the picture below.

Drawing

VI.Python implementation ======================== * First, change the current directory into foler `python`. Afterward, activate the virtual environment that has been installed OpenCV. Assume virtual environment named `cv`. ``` cd python/ workon cv ``` * To register the whole of 108 people in the CASIA database: ``` python3 enroll-all.py ```

Drawing

* To register a specific person: ``` python3 enroll-single.py 099_1_3.jpg ```

Drawing

* To verify a specific person: ``` python3 verify.py 008_2_2.jpg ```

Drawing


近期下载者

相关文件


收藏者