Giter Site home page Giter Site logo

iris-recognition-casia-interval-v4's Introduction

iris-Recognition-Casia-Interval-v4

Definition

  • This project represents a new iris recognition technique that detects and classify the iris images efficiently with high accuracy. The iris recognition model is beginning by eye detection process then the iris detection process takes place which detects the iris inside the eyes then iris segmentation process gets iris images that will be saved and used in the last process which is responsible for iris classification using convolutional neural network.

  • The dataset used in this project is CASIA-Interval version 4. I choosed 42 classes from the dataset to make blanced dataset..

  • The model uses a pre-trained convolutional neural network(CNN) model DenseNet-201 in the last process of iris classification.

Description

  • eye_detection_3.py: this file represents the first process in this project where it's responsible for eye detection. This stage will ensure that the images contain eyes.
  • eyes_iris_detection_3.py: this file represents the second process where it's responsible for iris detection. The model takes the images detected in the last phase and it ensures that there is an iris inside the eyes the image will pass to the next step if it passed this step.
  • iris_segmentation_3.py: this file represents the third process where the iris features are extracted.
  • iris_extraction_3.py: this file combines all the above files in on file. it begins by eye detection then iris segmentation and saves the output that will be used in the iris classification process.
  • iris_classification_3. ipynb: this file represents the last process which is iris classification. this file uses pre-trained DenseNet-201 to classify between 42 different classes in CASIA-Interval version 4 dataset.
  • image_aug.py: this file used for image augmentation but it's not necessary to use it as you can run the project without using this file.

How to run this project ?

Dependencies

install this libraries:

  • numpy
  • keras
  • sklearn
  • opencv
  • glob
  • tensorflow

To run this project you will need to:

  1. Download the CASIA-Interval dataset from this link Casia-Interval

  2. Change your directory names that contain the dataset to the name in the python and notebook files in these lines:

    • In iris_extreaction_3.py:

      #here create directory name that contain the dataset "casia_interval/"
      
      for filepath in glob.iglob(casia_interval/*'):
      
      #here create  directory name that contain the the extracted iris feautres "final_ casia/"
      cv2.imwrite(final_ casia/'+str(L)+'.'+str(number)+".jpg",new_roi)
    • In iris_classification_3.ipynb:

      # here directory name is "final_casia" which contain extracted iris features
      
      
      for filefilepath in glob.iglob('final_ casia/*'):
  3. choose only 42 classes and delete the rest of classes.

  4. Run iris_extraction_3.py.

  5. Open iris_classification_3.ipynb and run it's cells.

I wrote a research paper in this project found here

iris-recognition-casia-interval-v4's People

Contributors

omarmedhat22 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

iris-recognition-casia-interval-v4's Issues

Error in running iris_extraction_3.py

I've done as per instruction which is to change the directory name for the dataset and limit it to 42 dataset classes. I tried running iris_extraction_3.py on Windows cmd and it was running smoothly in the beginning but then got this error at the end:

total_iris_found = 404
total images number 404
the image threshold = 20
the image name 0

Traceback (most recent call last):
File "D:\gpt4all\gpt4all-j-v1.3-groovy\notes and sample\Iris Recognition\iris-Recognition-Casia-Interval-v4-master\iris_extraction_3.py", line 248, in
, contours, = cv2.findContours(working_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
^^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 3, got 2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.