Code Monkey home page Code Monkey logo

iris-recognition-casia-iris-thousand's Introduction

Iris-Recognition-CASIA-Iris-Thousand

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-Iris-Thousand version 4 which contains 20000 images from 1000 different persons.

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

Description

  • eye_detection_2.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_2.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_2.py: this file represents the third process where the iris features are extracted.
  • iris_extraction_2.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_2. ipynb: this file represents the last process which is iris classification. this file uses pre-trained DenseNet-201 to classify between 1000 different classes in CASIA-Iris-Thousand 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-Iris-Thousand dataset from this link CASIA-Iris-Thousand

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

    • In iris_extreaction_2.py:

      #here create directory name that contain the dataset "CASIA-Iris-Thousand/"
      
      for filepath in glob.iglob('CASIA-Iris-Thousand/*'):
      
      #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_2.ipynb:

      # here directory name is "final_casia" which contain extracted iris features
      
      
      for filefilepath in glob.iglob('final_ casia/*'):
  3. Run iris_extraction_2.py.

  4. Open iris_classification_2.ipynb and run it's cells.

I wrote a research paper in this project found here

iris-recognition-casia-iris-thousand's People

Contributors

omarmedhat22 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

iris-recognition-casia-iris-thousand's Issues

execution error in iris_segmentacion_2.py

Greetings.

When I was executing the iris_segmentacion_2.py code, the following error occurred, I consider that it is an error in the parameters that I expected to receive, if you could help me it would be of great help to me.

Attached capture of the error.

imagen

Dataset Availability

Hi,I am not able to download the dataset CASIA-IRIS-ThHOUSAND from the given site due to some issues of that site.I have tried multiple times but it didn't work.Can you please provide me any other resource for that dataset like google drive link?

DenseNet201 initialization - list indices must be integers or slices, not str

During the running of iris_classification_2.ipynb got an error:

TypeError Traceback (most recent call last)
f:\repo\Iris-Recognition-CASIA-Iris-Thousand\iris_classification_2.ipynb Cell 7 line 8
5 from keras.applications.xception import Xception
7 #original_model = VGG16(include_top=False)
----> 8 original_model = DenseNet201(include_top="False")
9 #original_model = InceptionV3(include_top=False)
10 #original_model = InceptionResNetV2(include_top=False)
11 #original_model = Xception(include_top=False)
13 bottleneck_input = original_model.get_layer(index=0).input

File c:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\keras\applications\densenet.py:408, in DenseNet201(include_top, weights, input_tensor, input_shape, pooling, classes, classifier_activation)
395 @keras_export(
396 "keras.applications.densenet.DenseNet201", "keras.applications.DenseNet201"
397 )
(...)
405 classifier_activation="softmax",
406 ):
407 """Instantiates the Densenet201 architecture."""
--> 408 return DenseNet(
409 [6, 12, 48, 32],
410 include_top,
411 weights,
412 input_tensor,
413 input_shape,
...
68 def getitem(self, key):
69 """Retrieves item by the specified key."""
---> 70 return self._values[key]

TypeError: list indices must be integers or slices, not str

##10 Datasets

Sir, I have chosen 10 datasets from the "Iris_Recognition-CASIA-Iris-Thousand" one error in the classification cell as show below how to tackel it

classicerrpr

##Running code

Hello sir, i have taken the similar datasets as mentioned in "README.md"
the code is giving only the "print" statements as the output
"total_eyes_found = 0
total_eyes_found 2 = 0
total images number 0"
........
even though i have changed the directory name as per my directory

### 21 Datasets

Sir, i have taken 21 datasets of both left and right eye, and also made the changes in the code as u said, but in the checkpointer code i arrive with new error.

#THIS PART OF THE CODE

dens1

#ERROR

dens2

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.