Convolutional Neural Network for Iris Recognition

—In this paper, I proposed an iris recognition system by using deep learning via convolutional neural networks (CNN). Although CNN is used for machine learning, the recognition is achieved by building a non-trained CNN network with multiple layers. The main objective of the code is recognizing the test pictures’ category (aka person name) with a high accuracy rate after having extracted enough features from training pictures of the same category which are obtained from a dataset that I added to the code. I used IITD iris dataset which included 10 iris pictures for 223 people.


II. INTRODUCTION
Convolutional neural networks (CNN) is a deep learning algorithm used to help machines categorize objects. CNN is used as a computer vision detection on images. CNN is designed to mimic human brain hence the name neural. CNN is used to treat visual inputs and determine what the input represents based on the inputs features. CNN uses a set of multiple layers to analyze the visual inputs and to determine what are the inputs' distinguishing features based on probability of repetition. CNN is useful for Artificial Intelligence (AI) such as self-driving cars to help the cars determine what the objects appearing in their cameras represent. In general, CNN is two parts: convolution layer and fully connected layer. The convolution layer is a single layer used to extract a specific feature from the visual input which can be repeated as many times as desired. The fully connected layer connects all convolution layers to one layer or representation to combine the features. 737521:17512588

A. CNN Architecture
In order to create a CNN system, one needs a dataset to be used for training and another dataset to be used for testing.
The training dataset is categorized according to the desirable categories. The set of data for training is usually very large compared to the test data but it is not a requirement; however, the bigger the number of data for training the better the quality of the result. The machine uses the training images or train dataset to find distinguishing features of each category. The features are extracted with the help of layers. A layer in this case represents a specific process which transforms the image into another shape, size, color, or look which is done in some pixels that are extremely smaller than the actual image. Many layers are applied for images of the same category which are then stored in the network of the CNN. The stored features are based on the probability of repetition of a number of features among a category from the training dataset. Afterward, when an image is tested, the same layers will be applied to it and then are processed to determine which category is most similar to its features.

A. Data Set: Description of the IITD Iris image database version 1.0 737521:17512589
A sample of the dataset pictures:

B. Layers
A CNN is composed of different types of layers as follows: 737521:17512588 Convolutional layer: in this layer the computer scans the visual input few pixels at a time to determine a feature for each few pixels then continue to the next few pixels until the whole visual input is finalized.
Pooling layer (downsampling): in this layer the features of the previous layer is downsampled after having stored the most important features.
Fully connected layer: in this layer all the previous layers are connected together to build a conclusion of all important features. The

B. Samples of Identification Results
The for loop for samples was adjusted to display all mismatches then a sample of successful matches were displayed with the same numbers of mismatches as follows: