RaspiReader: Cost-Effective Open-Source Fingerprint Reader
HTML-код
- Опубликовано: 11 сен 2024
- Building a cost-effective, open-source, and spoof-resilient fingerprint reader for $160* in under an hour.
Code: github.com/eng...
Links to parts:
1. PRISM -
www.amazon.com...
(Better fit) www.thorlabs.c...
2. RaspiCams -
www.amazon.com...
3. Camera Multiplexer
www.amazon.com...
4. Raspberry Pi Kit:
www.amazon.com...
Whitepaper: ieeexplore.iee... (Full Whitepaper)
arxiv.org/abs/... (Technical Report)
* Prices can vary based on Amazon's pricing.
P.s. Case model is slightly different than shown in the video. This is to further simplify building RaspiReader.
Excellent work!
Bravo!!! Amazing Work! :D
Are you one of the researchers? I don't see your name in the paper.
Great prototype! Beautiful work on the analysis! I didn't think it would be possible to defeat all of the various methods available for spoofing fingerprint readers.
If you were to use the Raspberry Pi Compute Module instead, you wouldn't need the multiplexer board as the CM has two CSI interfaces built in. You could make it less expensive, significantly smaller, and much faster because you could take simultaneous shots as you wouldn't have to switch between cameras and wait for the 2nd one to settle.
Hi glabifrons,
thanks for the suggestion on the compute module. It seems like a reasonable solution, though I am not sure it would bring the cost down. The Raspberry Pi 3 and Multiplexer cost a total of around $85. The compute module + compute module IO board cost $150.
Hi glabifrons,
Thank you for your comment! I work on face recognition in the same lab as Joshua and helped him create the video.
Please feel free to drop additional suggestions - your comments are very much appreciated.
True, and the prototype board is also quite large compared to the B models.
I guess I should have clarified that I meant if you wanted to produce more than a single PoC unit and made a custom interface board (required for the compute module, since it has no peripheral connectors). Since you only need a few GPIO, usb, power, and the CSI connectors routed out, it could be made relatively small (the prototype board comes with lots of connectors you won't need). Even in very small (single-digit) batches, you should be able to get the boards produced for around $10 each (likely less, depending on the board size). I'm not sure what facilities you have available, but I'd expect the university to have some kind of reflow equipment you could use for soldering the SO-DIMM and FFC connectors. That would bring the cost of the compute module with the custom interface board to somewhere closer to $45-$55 (adding in connector costs and depending on whether you're using the lite version or not).
That makes sense. Thanks for the feedback and suggestions glabifrons. I appreciate it.
Do you have the CAD's so I can 3D print the case? :)
Great job! Didn't know camera module will work as a the scanner.
BTW. I was just starting to learn how to use the RaspPi so please don't expect too much from me.
I'm currently working on a project which uses a fingerprint scanner and Rpi3. Is it possible to convert those data from the scanner as text or something that can be used as an encyption key?
Thanks and again. Great job. :D
Thank you so much for your kind words!
I would take the png image from the sensor and convert it into a Base64 string. If you google "png to Base64", there are tons of code for various programming languages.
I hope this helps!
Yes, that helps. Like a lot, coz I need to start at something and you gave me that idea. Again. Thank you so much! :D
Awesome project and great video!
I'm trying to run capture1.py on a raspberry pi 3, but keep running into errors when importing cv2. I've tried several different commands to install opencv and its related libraries, but I can't seem to fix this issue. Any advice?
Hi Michael, sorry for the late response. It's hard to say what the problem is without more information. Did you encounter any errors when installing opencv? Are you installing opencv for python2 or python3? How did you try to install opencv?
Hi! Thanks for the response. I ended up using Anaconda to install opencv!
Excellent Work. Is there any possible way to use the pi cameras and the adaptor to turn those cameras into an USB camera? rather than using the Pi's CSI port, is it possible to use the USB ports and get the same access to those pi cameras?
Hi Reaz. You certainly can try to use a USB webcam instead of the multicamera adapter and Pi CSI port. However, in my experience these cameras are much slower than the Pi cameras due to latency in loading from the USB to the Pi's graphics card and the resolution is not as high (which will definitely hurt when trying to get fine detailed fingerprints). Hope this helps.
I understand your point. But my question wasn't exactly asking for an USB camera. Actually I have a project for safety deposit system done with Raspberry Pi Zero W. The authentication methods I am planning to use in this project are: username, password, 2FA, face recognition and voice recognition. After seeing your project I was wondering if I could add this spoof proof fingerprint system also in the project. But the problem was the pi zero CSI camera port is already occupied with a Pi Camera v2 for doing the facial recognition using opencv. And your fingerprint scanner certainly using two pi cameras and a prism. So, I was wondering weather or not it is possible to use the same two pi cameras and prism for fingerprint scanner but the pi cameras will get connected to the pi using USB (not CSI port). In this way the fingerprint scanner in itself will become a module which can also be used in other computer devices except a raspberry pi.
Hi Reaz, I am not aware of a way to connect the Pi cameras to USB. That being said, the multicamera adapter being used by my fingerprint reader actually has room for 4 cameras. Therefore, for your project, you could use one of the camera slots provided by the adapter for your Face Recognition module, and the other two slots for the Fingerprint module. You would even have one slot left over.
Got it. Thanks...