Al.

Find a male comedian who came up in the 70s, did drugs, and lots of other crazy stuff. A ringmaster in the boys club of comedy if you will, who then becomes a senator. Slowly make him into a rising…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Eye Movement Verification and Identification

The aim of this model is to determine how people may be identified based on their eye movement characteristics.

In this model, readings were from any kind of eye tracker(e.g. Ober2)

The sample readings were taken with 250Hz frequency using an Ober2 eye tracker and then fed to the model. The model was trained as per left and right eye gaze coordinates. This was done separately for each user.

The dataset

For the dataset 2048 sample readings were taken and whole measurements lasted 8192ms. As a stimulus, a 3x3 jumping matrix was used and consisted of eleven-point change positions. These point change positions returned twelve consecutive point positions.

Preparation of the dataset

For readings, the first point appears in the middle of the screen where the subject should focus on it with eyes positioned toward it. After the duration of 1600ms, the point disappears and the screen goes black for 20ms. This makes the eyes of the subject go in an unstable state, waiting for another point of interest. Further, the next point appears in the upper right corner and the flashing point attracts the attention of the subject’s eyes. This process is repeated till the last position in the middle of the screen is reached.

Dataset was available in “.csv” format. There were training and test files. Each reading had four types of values:

The values are 0 for point in the middle, positive for a point on the right or upper side of the screen, and negative for points on the left or lower side of the screen.

Top rows of dataset

A large part of most machine learning projects is getting to know the dataset. However, the pandas API provides a describe function that outputs the following statistics about every column in the DataFrame:

Preprocessing the dataset

I used MinMax Scaler to scale the dataset. Scaling will keep loss values and learning rates in a friendlier range.

Defining features and labels

The column “class” will be used as a label here and the rest of the columns represent the characteristic of that particular class.

Eye movement graph plotted for “subject 1”, as per its lx, ly, rx, ry coordinates.

Left and Right eye gaze coordinated on the x-axis
Left and Right eye gaze coordinates on the y-axis

Using kNN classifier

The k-nearest neighbors (KNN) algorithm is a very simple, supervised machine learning algorithm. It can be used to solve both classification and regression problems. In this case, we have a classification problem, since all features belong to different classes.

First, we imported the KNeighborsClassifier module and create kNN classifier object by passing the argument number of neighbors in KNeighborsClassifier() function.

Determining targets and features for kNN classifier here, we assigned “X” for features and “y” for labels.

We then used “fit()” to fit our model on the training set and then perform prediction on the test set using predict().

Here, we can’t verify our results on the test set, since the test set is an unlabelled dataset. Moreover, we can split the training set into train and validation sets and determine an estimated accuracy of our model and even plot a confusion matrix.

Conclusion

Eye movement-based biometrics is an emerging field and this model can be improved with a larger and calibrated dataset. The predictions done on the test set didn’t result as aspected because the accuracy score was close to 0.55, this was because of uncalibrated data from the eye tracker. Since the kNN classifier was used here, it is known for its well-scaling properties with datasets. Hence, this model accuracy will increase with more data. This project was inspired by the Kaggle competition, “Eye Movements Verification and Identification Competition”.

Add a comment

Related posts:

We Spent a Weekend in the Mountains

We took a last-minute overnight trip to Jasper, Alberta for Thanksgiving weekend. Here’s what we got up to.

Mulheres

Eu sinto falta de abrir um livro. “Mulheres” is published by Maithê Prampero in Fale com Elas.

CIIAG participates in APRIGF in Russia

The Asia Pacific Regional IGF was held on July 16–19 2019 at the recently constructed Far Eastern Federal University on Russky Island in Vladivostok, Russia. The theme of this year’s event was…