Is there any code or algorithm for signature recognition?

13,025

Solution 1

I'm not a computer vision expert, but as a grad student that's dabbled, it sounds like feature exaction is what you're looking for. The first thing that comes to mind is SIFT (Scale-Invariant Feature Transform). This algorithm would allow you to compare stored features of an original signature to copies and identify a match with a high level of accuracy, even in the cases that the sample is scaled or rotated.

With a simple Google search you can find a number of scholarly papers, for example this one or this one that are specifically related to using the algorithm for signatures/biometrics.

There is a discussion of using OpenCV with SIFT in this Stack Overflow Article.

If there are better vision algorithms that I'm unaware of that are particularly well suited to this problem I encourage the community to chime in.

Solution 2

Try looking at this resource which uses a neural network to do handwriting recognition. Try looking at this resource too which shows you how to recognize hand written digits. Both projects have full source code.

Solution 3

There is a similar question asked: Bitmap (of a signature) comparison in c#

I have also found one article in channel9 http://channel9.msdn.com/coding4fun/blog/Contour-Analysis-for-Image-Recognition-in-C

It requires a complex logic to be created, there are various products available for signature verification and recognition, I have found following code written in vb 6.0 which might be of some help: http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=38215&lngWId=1

In nutshell it requires lots of efforts, so you can ask client if by specifying some unique code or question the requirement "matching of signature" can be fulfilled.

Share:
13,025

Related videos on Youtube

Bobs
Author by

Bobs

You can contact me using this: breceivemail yahoo dot com می توانید با من تماس بگیرید: breceivemail yahoo dot com #SOreadytohelp

Updated on June 04, 2022

Comments

  • Bobs
    Bobs almost 2 years

    My users draw their signature in my application using touch events and I convert it to a bitmap. I want to extract unique specifications of each signature and compare it by its specifications stored in main server.

    How can I do that?

    What is the main and enterprise algorithm for extracting unique features of a signature?

    Thanks in advance,

    • Nicolas Gervais
      Nicolas Gervais about 2 years
      This is way too broad for a Stack Overflow post, but you should look into siamese neural networks, triplet loss, contrastive loss, or metric learning more generally.
  • Bobs
    Bobs about 12 years
    I want to store those specifications in my database for working offline. So converting image to byte array is not my solution and storing a big image in database is not good solution for a pocket pc device. I have to do my operations on my device.
  • Aurelian Cotuna
    Aurelian Cotuna about 12 years
    well storing images in database may not be a good solution. Try keeping it on /sdcard and it's path on database might be. Also you can store locally parts of image, as bytes array, and compare it with another bytes array from image you compare.
  • Bobs
    Bobs about 12 years
    signature detection is something like fingerprint detection. it is not pixel to pixel comparison.
  • vpiTriumph
    vpiTriumph almost 12 years
    I did a bit more research on the topic tonight out of my own curiosity. There is shockingly little material on 'signature recognition', but if you broaden your search to handwriting forensics you find some commercial solutions such as this Cedar Fox and Neuro Script. Both have free demos that you can probably use to get a sense of their process. I'm still a bit shocked nothing open source exists that does this out of the box...
  • Rui Marques
    Rui Marques almost 12 years
    If you are going to consider SIFT, you should also consider SURF and ORB. Similar algorithms, also implemented in opencv, but that run faster.