Last night i was watching a few series on watchseries.net on detective research and i noticed
they used a pretty dull and slow fingerprint system (prob already newer by now) and i was thinking,
I can make that.... why not? So i started to make a few crude sketches and modelling my code.
(Screenshots: Network picks two matches, wich are two seperate files but the same person (fingerprints))
![[Image: R5Yl3tt.png]](https://i.imgur.com/R5Yl3tt.png)
![[Image: 5tqRNMF.png]](https://i.imgur.com/5tqRNMF.png)
It's still needs a lote of tweaking and debugging but im pretty positive that i can make this work.
And i had some prior demo projects on neural networks so i had a good idea of how
i'll be tackling this system to a working solution.
I downloaded a few fingerprint samples of some random website,
and they are by default grayscaled, so that makes it easy for me, all i need is the matrix values
of a point in a grid, lets say a matrix of 10 x 10 points, the grayscale sum of a pixel color:
Wich is the general method to get the grayscale value of a color within the fingerprint.
Now in the real deal they use similair point systems but using an additional solution where they
have values from the swirls of the groves in a print, now that i keep aside, lets start simple i figured.
The matrix can be bigger for more accurate results, however more time to train is required,
less points less accurate and less train time. So its a bit tweaking here and there.
So i setup 4 layers for the neural network;
- Pre-Input(=Grid Points Total)
- Input(=Variable~)
- Hidden(=Variable~)
- Output (=Amount of candidates)
I implemented a simple ManualResetEvent with a seperate Train() loop thread,
so i can easily reset or abort on any given time for test sake.
And this is how far i got, maybe you guys have some thoughts about or even suggestions,
Let me know it ^^
Source code: Download
Remark:
This is a demo application it can contain mistakes or flaws that i haven't seen.
- Barret
they used a pretty dull and slow fingerprint system (prob already newer by now) and i was thinking,
I can make that.... why not? So i started to make a few crude sketches and modelling my code.
(Screenshots: Network picks two matches, wich are two seperate files but the same person (fingerprints))
![[Image: R5Yl3tt.png]](https://i.imgur.com/R5Yl3tt.png)
![[Image: 5tqRNMF.png]](https://i.imgur.com/5tqRNMF.png)
It's still needs a lote of tweaking and debugging but im pretty positive that i can make this work.
And i had some prior demo projects on neural networks so i had a good idea of how
i'll be tackling this system to a working solution.
I downloaded a few fingerprint samples of some random website,
and they are by default grayscaled, so that makes it easy for me, all i need is the matrix values
of a point in a grid, lets say a matrix of 10 x 10 points, the grayscale sum of a pixel color:
Code
((Value.R * 0.3) + (Value.G * 0.59) + (Value.B * 0.11)) / 255Wich is the general method to get the grayscale value of a color within the fingerprint.
Now in the real deal they use similair point systems but using an additional solution where they
have values from the swirls of the groves in a print, now that i keep aside, lets start simple i figured.
The matrix can be bigger for more accurate results, however more time to train is required,
less points less accurate and less train time. So its a bit tweaking here and there.
So i setup 4 layers for the neural network;
- Pre-Input(=Grid Points Total)
- Input(=Variable~)
- Hidden(=Variable~)
- Output (=Amount of candidates)
I implemented a simple ManualResetEvent with a seperate Train() loop thread,
so i can easily reset or abort on any given time for test sake.
And this is how far i got, maybe you guys have some thoughts about or even suggestions,
Let me know it ^^
Source code: Download
Remark:
This is a demo application it can contain mistakes or flaws that i haven't seen.
- Barret


![[Image: yrj7EJp.png]](https://i.imgur.com/yrj7EJp.png)
![[Image: PkuQmNH.png]](https://i.imgur.com/PkuQmNH.png)

