This Is How Support Vector Machines Are Helping Assess Personality Types With Iris Classification

Iris, the part of the eye responsible for controlling the amount of light entering into it, has been a subject of psychological interest for centuries. Progressing from physiology, literature and poetry, eyes are being used in neuro-linguistic programming (NLP), which focuses on interactions of the human body, iris movements and positions. Basically, NLP is being used to gain focus on assessing human behaviour and mental activities. Lately, machine learning has also made its way into psychology-related issues.

This article will examine a study by computer science academics at Universiti Teknologi, Malaysia, where they have used ML for iris position classifications. They apply a specific ML algorithm called support vector machines (SVM) to classify iris positions and then match the results from the algorithm to personality traits indexed according to a criterion called Visual, Auditory and Kinaesthetic (VAK) learning.

Using Neuro-Linguistic Programming

In psychology, there are a number of theories and methods to assess human behaviour, or personalities, to be specific. It depends on many factors such as age, emotional balance, and physical health among others. The reason for choosing NLP in the study is its effectiveness in correctly establishing behavioural factors. NLP analyses behaviour based on the learning style of an individual. It relies on three key factors — neurology, language and programming. The neurology part refers to the actual mental system of the human body, whereas the language and programming parts comprise of communication aspects with other people and perception of the world respectively. In simple words, it is the effect of language with respect to the mind, body and behaviour.

NLP is coupled with another personality theory called Visual, Auditory and Kinaesthetic (VAK) theory which has found considerable applications in psychology as well as in assisting fruitful research in this field. VAK has proved to showcase an individual’s learning style most efficiently. As part of this study, iris positions of the eye served as the visual cues to predict human behaviour. In addition, these iris images will be the key for image classification using SVM.

Support Vector Machine Algorithm For Analysis and Iris Classification

Eye images, specifically that of the iris, formed the data for this study. SVM was used on these images for iris classification and classifying the iris positions. The image below shows the research method followed in the study:

iris classification
Iris classification using SVM (Picture Courtesy: Sofea Ramli and Sharifallilah Nordin)

As evident from the picture above, once data (images of the eye) is collected from the users, they are subjected to image pre-processing using a graphical user interface (GUI). For this, the image requirement was restricted to 9,000 pixels to achieve optimum performance for classification with SVM. To extract features from the images, histogram equalisation in image processing was used. Also, Sobel Edge Detection was used to detect eye edges along with morphological filtering and binarization. All these features are saved as text files and are set for training and testing. MATLAB is the software environment for implementing this algorithm with the kernel being Standard Gaussian Kernel (known as Radial basis function in MATLAB) in SVM.

Accuracy In The Algorithm

The testing and training were conducted for features along with five standard iris positions in the study:

  1. Top left
  2. Top right
  3. Centre
  4. Centre-right
  5. Centre-left

The sample data was 215 eye images. When checked for accuracy using SVM for the sample, it was found to be approximately 80 per cent accurate (for training) in detecting those positions, with errors around 20 per cent (in testing). This factor will help match the behaviour along with VAK theory (mentioned in the picture) quickly. The logic behind choosing radial basis function was to achieve higher accuracy. The authors describe the following reason:

“After several trials that have been done using a different kind of parameters, it can be concluded that Standard Gaussian or RBF kernel produces better results in terms of its classification accuracy and lower error rate on the data that has been misclassified if to be compared to Fine Gaussian, Medium Gaussian or Course Gaussian. Therefore, out of the kernels that consist of SVM, RBF will be used for the actual implementation of this project system.”


This study is just at a surface level in the ocean of ML techniques. There are plenty of methods for iris classification and classification itself such as backpropagation, k-nearest neighbour and perceptron among others. The progress in this area is immense. In earlier years, iris detection was only used in security systems for authentication purposes. But in today’s world, it has gone beyond that horizon, with ML and artificial intelligence applications relying on iris and other related facial features for automation. Ultimately, it is the type of application clubbed with a practical implementation that serves ML fruitful.

Download our Mobile App

Abhishek Sharma
I research and cover latest happenings in data science. My fervent interests are in latest technology and humor/comedy (an odd combination!). When I'm not busy reading on these subjects, you'll find me watching movies or playing badminton.

Subscribe to our newsletter

Join our editors every weekday evening as they steer you through the most significant news of the day.
Your newsletter subscriptions are subject to AIM Privacy Policy and Terms and Conditions.

Our Recent Stories

Our Upcoming Events

3 Ways to Join our Community

Telegram group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our Daily newsletter

Get our daily awesome stories & videos in your inbox

6 IDEs Built for Rust

Rust IDEs aid efficient code development by offering features like code completion, syntax highlighting, linting, debugging tools, and code refactoring