|
|
Introduction
SigRecNN is an artificial neural network using backpropagation for signature recognition. It was written in C++ and uses BMP files for the signatures.
Unfortunately the code available here was recovered from a backup and currently lacks features such as the CLI (command line interface) and the GUI. I have no way to know how old that backup was and I can't easily determine what else is missing without looking closely at the code which I haven't done. From the overview, it looks like it's just that and maybe some minor tweaks.
SigRecNN is made available for educational purposes and it clearly lacks "refinement" in several areas.
Read the demo.cpp code and you should understand how to get it work.
How It Works
The Signatures
SigRecNN loads the training signatures from a directory (e.g. train/). The signatures should be BMPs 512x128 pixels in size and 256 (8 bit) colors and the files should be named
OWNERNAME-NUMBER.bmp
where OWNERNAME should be replaced by the name of the signature's owner and NUMBER by a sequential number starting with 1. e.g. luisrei-9.bmp
The program than reduces the image to 128x32 pixels, aligns the signature to the top left corner and scales it as much as possible (within the image) without distorting it (maintains height/width ratio). The program takes th result of those operations, extracts two projections of the signature at 0º and 90º (also images) and converts them to an array by dividing each into 8x2 blocks and assigning the number of signature pixels (e.g. black pixels) in each block to the respective place in the array
(to be continued)
not entirely sure it's necessary in this version, it wasn't in some of the later versions.
