- University of Hildesheim ›
- Mathematics, Natural Sciences, Economics and Computer Science ›
- Institutes ›
- Institute of Mathematics and Applied Computer Science ›
- Groups ›
- Diskrete Mathematik und Stochastik ›
- Arbeitsgruppe Professor Dr. Bentz ›
- Projektgruppe Neuronale Netze ›
- Forschungsthemen ›
SIGNPROOF Demonstrator Software
University of Hildesheim
The Demonstrator mainly acts on a fixed set of 24 signatures (bitmaps) which are collected in ten groups. Each group contains several authentic signatures from one person, therefore the bitmaps belonging to a group appear much mor similar to each other member compared to those from other groups. In order to demonstrate a certain phenomenon, there was constructed one "artificial" signature (Peterp1d.bmp) by a paint-program such that it is not an exact copy, but nearly identical to another member of the group (Peterp1.bmp).
These 24 elements have been "learned" by the SIGNPROOF algorithm (a particular pattern detecting matrix memory) such that the system is prepared afterwards to show its recognition capabilities. The general SIGNPROOF modul is not restricted so far, however, but may work on a much larger set of signatures, either being present already (archive) or showing up sometime in the future. Furthermore, the full SIGNPROOF program is prepared to have a much larger (and adaptable) set of coding functions, such that it may discriminate within a larg collection of signatures. In real applications the modul has to be integrated and combined with the FindLink modules, preferably, such that the very powerful FindLink retrieval engine may perform the storage and retrieval tasks. In such environment, the SIGNPROOF modul will do its main the job of coding incoming signatures and detection of similarities, merely.
The start window of the demonstrator shows a list of the stored items plus some information about them (ID= ID Number, Gruppe=Group Number, Bild=free name, Datei=file name). The description within the program is in German language, so a translation of the entries will be given in the sequel. The seven buttons allow the following actions, from left to right:
Bild öffnen=open bitmap (if activated, the system shows the bitmap of the chosen line, the arrow switches by mouseclick.).
Suche=find a certain entry (if activated, another window appears and asks for a group number, which brings the arrow/actual line onto the main screen. This option is useful in case the list of the stored items exceeds the screen size and allows to jump directly to any entry line. In the present example its function should not be necessary, because all 24 lines can be presented at the main screen.).
Suche Gruppe=Search for the group (this button is the most frequently used one in the demonstrator program, it starts the search algorithm of the SIGNPROOF program. It picks the signature from the activated line as an input for the detector engine and delivers a list of group numbers as hits, ordered with respect to the similarity with the input signature. Please note that the percentages follow an internal, purely artificial measure and have to be interpreted in another, subsequent step, according to the particular task in the application. The list is restricted to three hits in the demo, just to avoid that the screens will be overloaded with information. Of course, the full version allows to adjust this length to the needs of the user or of the application.).
Suche ID=Search for the single items (this button work in a similar way than the foregoing one, but presents a list of hits, which are the signatures itself and not the groups. As a result, one may compare the functionalities of the detection algorithm and discrimination function with respect to more or less information given in the input. Also it serves as a check for the requirement, that each signature should produce a similartity of 100% to its identical copy. Last, not least, it shows the ability of the system to detect "fakes", which means to detect such kind of similarities between signatures, which cannot be produced manually or by will. An example is given in the numbers 8 and 9, which are nearly identical, i.e. differ much less than any other ordinary signature from the same hand.).
Suche Datei in Archive=Search for a file in another archive (this option was added in order to allow comparisons of signatures which are not in the set of the 24 pre-collected ones to the 24. If the button is activated another window appears and waits for the input of a path leading to a signature/bitmap. This new bitmap may be chosen as input and the system will produce appropriate outputs then. Hence, any inspector of this demo may offer an unknown signature to the system and will get back a list of hits plus similarity measures. From this one can infer, if there are similar items in the demo set and how close (or far) they are. The demo does not allow to compare two "unknown" signatures to each other, but requires that at least one of them was already coded (according to its defining features) and stored in the matrix. The full program, however, may easily be designed in a way such that an online comparison of two signatures is done.)
The remaining (two) buttons are for internal purposes only and allow to check the type and version of the demonstrator. There is no serious need to play with and no extra explanation will be given.
Instead, one typical session shall be described.
It shows the options Datei=File (which only contains beenden=finish) and Fenster=Window (which contains some information about the actual archive, which is the demo set, and some screen representation modes) and the demo-archive screen with the 24 signature files list.
Choose Nr. 7, say, and activate the Search Group button, this leads to the screen Ergebnis: Gruppensuche=Result of: Search Group
and shows four signatures. At first the "original" (=input Number 7 ), then the best group (here always the first member, i.e. the one with the smallest number in the group, is chosen as representative. Actually it is Number 6), then those two groups which are on place 2 and 3 of the similarity list. Here, the similarities are 88%, 64%, 60%. The 88% stems from an internal comparison of the input (signature) to an ideal, artificial signature, which was constructed from the set of the two files Nr. 6 and 7. Hence, the algorithm in this case compares features of the coded input to features of one "immaterial" signature "Group 3".
Usually, the members of a group will naturally differ, as no one is able to write down a series of signatures which are identical to each other. In the present example, the differences are measured within the range 100% to 76%.
Note that some other items in this demo database, Pterp1 and Peterp1d (from the group PeterPan), are very close to each other, they differ by a few %-points, only. If one takes a closer look and opens the candidates' images, one notices that they are indeed near copies of each other. In fact, the Peterp1 was manually altered by a Paint-program in order to produce the "fake" Peterp1d. (There was a little erasing in the starting "P" plus a small additional line at the "a".) The other image, Peterp2, was a regular, authentic signature from the same hand. It is rather similar to Peterp1 but not an identical or near copy of Peterp1
In order to compare a signature, which is unknown to the system (to the ones stored in the archive), one has to activate the fifth button in the Archive Demo screen and to choose a path leading to such other bitmaps. For the sake of this demo, there was a list of some signatures added to the demo path, and one of them was chosen as new input (Search Group) to the system. The result is shown in an extra window, designed as above. Here the output list clearly shows that there was no group in the archive which fits well to the input. Hence, in the application, the file WILL1.BMP would either be "rejected" or installed to the archive as a new record, etc.
One may exit the SIGNPROOF Demo via the first button to the left (Schließen=close) and leave the program as usual in the Windows95 environment.
Final comment: The coding functions and the pattern detection algorithm are chosen to work in a standard manner here, but can be adapted or enlarged (by similar modules) according to the needs and settings in the real application.