1

I'd like to allow users to enter their signature using a canvas and then use image recognition to authenticate (to a degree) the signature by matching it against one or more stored versions of the signature.

I can see from Capture Signature using HTML5 and iPad that there are some great libraries for capturing signatures.

I can also see from Feature Extraction with Javascript that there are image processing libraries in JavaScript, which is great because I don't want to read the signatures, I just want to process it as an image.

What I don't know is how to use an image processing library to match or recognise images. I'm trying to do a design proof-of-concept during an innovation sprint, so in truth I won't have time to do much speculative coding. In fact if there isn't a ready-to-wear solution I would also be interested in using pairing these signature capture widgets with an online image recognition service, if there is an image equivalent of eg http://www.skybiometry.com/Demo#recognition

[Edit] In order to avoid this being closed as off-topic, may I clarify that I am not asking for people's favourite image-matching library, rather asking if any tool or library exists which is capable of estimating the similarity of two linear, cursive, monochrome images, and also asking what steps, if any, I would have to take to get from existing image processing libraries like http://www.pixastic.com/lib/ and https://github.com/harthur/hog-descriptor to image comparison.

Community
  • 1
  • 1
Francis Norton
  • 674
  • 1
  • 8
  • 16
  • Could you be a bit more specific about your question, it's rather too broad as it stands. Be aware that if you're asking for a recommendation for a tool or library, your question will probably be closed as off-topic. – Roger Rowland Dec 16 '13 at 20:10
  • 1
    A quick google search finds this kind of signature verification software is out there for a price. Given the legal liability involved, I wouldn't suggest trying to do this yourself from scratch. Good luck with your sprint! – markE Dec 17 '13 at 07:17
  • Hi @Roger - I was certainly hoping for library or tool recommendations, it had not occurred to me that this might be off-topic. In terms of being more specific, I'm looking for something with a similar API to http://huddle.github.io/Resemble.js/ but with a focus on comparing signatures rather than screen shots. – Francis Norton Dec 17 '13 at 11:28
  • [See item 5 on this page](http://stackoverflow.com/help/on-topic) for why it's off-topic. I don't have a recommendation for you but you may be lucky enough to get some comments/answers before you get closed... – Roger Rowland Dec 17 '13 at 11:31
  • Hi @MarkE - thanks for the tip on "signature verification" as a search term. Can't remember now exactly what I had searched under but I was mainly getting handwriting recognition results. As to the liability question, this project investigates the use of signature recognition as a secondary authentication factor rather than in the traditional sense of irrevocably binding a contract, so I don't expect that to be a special issue. – Francis Norton Dec 17 '13 at 11:33

2 Answers2

1

Somewhat off-topic, but still related since you mention multiple biometric identification methods.

Our problem:

We had multiple retail stores with managers. Only those managers had the authority to change prices and that authority required their PIN code to execute. Problem was that the managers would get busy and when they were approached by salespeople, they would give their PINs to the salespeople. Security violations.

Our solution:

We installed fingerprint readers so the managers were required to physically do those tasks that they alone were authorized to do. No more PINs to cause security violations.

Fingerprint verification has fewer false positives and fewer false negatives than other biometrics. It is inexpensive to implement and properly matches actions with authority. It was a good solution for us.

markE
  • 102,905
  • 11
  • 164
  • 176
  • Yes, that's the kind of thinking going on here. As you say, not exactly on-topic, but it's a good story and someone will find it helpful. – Francis Norton Dec 17 '13 at 17:10
0

Thanks to a helpful pointer from Heather Arthur, I can point anyone interested in this question to http://harthur.github.io/kittydar/, which demonstrates exactly which steps are required to get from the same author's https://github.com/harthur/hog-descriptor to a functional (feline) image recognition system.

From the How It Works section of https://github.com/harthur/kittydar:

Kittydar first chops the image up into many "windows" to test for the presence of a cat head. For each window, kittydar first extracts more tractable data from the image's data. Namely, it computes the Histogram of Orient Gradients descriptor of the image, using the hog-descriptor library. This data describes the directions of the edges in the image (where the image changes from light to dark and vice versa) and what strength they are. This data is a vector of numbers that is then fed into a neural network which gives a number from 0 to 1 on how likely the histogram data represents a cat.

The neural network (the JSON of which is located in this repo) has been pre-trained with thousands of photos of cat heads and their histograms, as well as thousands of non-cats. See the repo for the node training scripts.

Francis Norton
  • 674
  • 1
  • 8
  • 16