Why do it?
FaceID. Iris scanning. Voice recognition. Tech giants all over are adapting to new and developing biometric authentication techniques that are more secure than traditional fingerprint scanning. When we saw Apple’s revolutionary FaceID scanning system, we wanted to look at alternatives to the status quo, and landed on Palm Vein Authentication.
Palm veins are:
near impossible to forge (active blood circulation is needed)
more unique (due to more data points in the palm vein network)
less prone to false positives
What it does
To obtain an accurate vein image, we first make use of the fact that hemoglobin in the blood absorbs infrared light. Taking infrared LEDs in combination with an IR camera connected to a Raspberry Pi, we can capture and process an image of the palm using OpenCV. Once we have a noise reduced, skeletonized image of the vein network, we use TensorFlow models to train the network with training data. If we have a match, we display the result with a Node.js web app, and a servo unlocks the door!
Challenges we ran into
We ran into challenges collecting data to train our neural network (which we thank 15 HTN participants for providing!), image processing, and building an effective locking mechanism.
Accomplishments that we're proud of
We love the fact that we were able to minimize the cost of a usually expensive authentication system!
What we learned
We learned about how to use neural networks effectively with minimal data, how to properly structure code across a stack that ranges from embedded to frontend, and how to work wood!
What's next for InVein
Working on getting a more accurate classification system through larger training data sets.