MATLAB Answers

Feature extraction, training and testing

17 views (last 30 days)
I am working on signature verification using neural network. I have learned the elementary matlab functions like imread, imshow, rgb2gray, imbinarize, imnoise, etc. Literally, I have learned how to do signature pre-processing. I have checked different sources on the internet to learn how to do feature extraction. I am finding it difficult to do feature extraction of signatures. Please, what MATLAB codes do I need to extract Signature area, Aspect ratio, Width, Height, Max. Horizontal histogram, Max. Vertical histogram, Horizontal distance, Vertical distance, Hipotenuse distance, and Angle? Also, how do I retrieve the corresponding value of each extraction? For example, in the attached picture, the signature area was assigned 2.4974 for genuine signatures. After the relevant features have been extracted, how do I compile all the features for training and testing? What are the MATLAB functions for training and testing. Kindly help out. Also, if you have any comprehensive literature or e-book I can read to gain better understanding on this, kindly send it to me.

  0 Comments

Sign in to comment.

Accepted Answer

Dinesh Yadav
Dinesh Yadav on 25 Mar 2020
There is no need for feature extraction while using a neural network. Neural networks themselves compute the required features while they are trained. For signature verification what you should be looking for is to train your network to compute similarity index similar to what is applied in one of the face recognition techniques. Lets say you have 10 signatures of one person and you have 100 such persons. You trained your network to compute a similarity index between different signatures and for test signature you compute similarity index across existing 1000 signatures and based on average similarity which one gets the highest score, you can classify to which person the signature belongs. Now coming to the verification part you can compute similarity between the existing signatures and set a threshold, lets say similarity is 0.7 of test signature for a particular person while you want it to match as close as 0.9. In this case you can say signature does not match.
You can start reading about neural networks architectures that are used to compute similarity by going through Siamese Networks.

  0 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!