Latest NIST FRVT evaluation report 2024-12-20
🆔 ID Document Liveness Detection - Linux - Here 
🤗 Hugging Face - Here
📚 Product & Resources - Here
🛟 Help Center - Here
💼 KYC Verification Demo - Here
🙋♀️ Docker Hub - Here
sudo docker pull kbyai/palmvein-recognition:latest
sudo docker run -v ./license.txt:/home/openvino/kby-ai-palmvein/license.txt -p 8081:8080 -p 9001:9000 kbyai/palmvein-recognition:latest
This repository demonstrates an efficient and accurate palmvein
recognition technology by implementing palm-vein comparison based on palmvein feature extraction and face matching algorithm, which was implemented via a Dockerized Flask API
.
It includes features that allow for testing plamvein
recognition between two images using both image files and base64-encoded
images.
In this repo, we integrated
KBY-AI
's palmvein recognition solution intoLinux Server SDK
by wrapping with docker image.
We can customize the SDK to align with customer's specific requirements.
No. | Repository | SDK Details | Status |
---|---|---|---|
1 | Palmprint Recognition - Linux | Palmprint Comparison Linux SDK | Available |
2 | Palmprint Recognition - Docker | Palmprint Comparison Docker Image | Available |
➡️ | Palmvein Recognition - Linux | Palmvein Comparison Linux SDK | Available |
4 | Palmprint Recognition - Android | Palmprint Comparison Android SDK | Available |
5 | Palmvein Recognition - Docker | Palmvein Comparison Docker Image | Available |
To get more products, please visit products here:
This SDK
can be tested on online test demo page here:
The API
can be evaluated through Postman
tool. Here are the endpoints for testing:
- Test with an image file: Send a
POST
request tohttp://127.0.0.1:8081/palmvein
. - Test with a
base64-encoded
image: Send aPOST
request tohttp://127.0.0.1:8081/palmvein_base64
.
This project demonstrates KBY-AI
's Palmvein Recognition Server SDK
, which requires a license per machine.
- The code below shows how to use the license:
Palmvein-Recognition-Docker/app.py
Lines 17 to 29 in c92c8d9
- To request the license, please provide us with the
machine code
obtained from thegetMachineCode
function.
🧙Email:
contact@kby-ai.com
🧙Telegram:
@kbyai
🧙WhatsApp:
+19092802609
🧙Discord:
KBY-AI
🧙Teams:
KBY-AI
CPU
: 2 cores or more (Recommended: 2 cores)RAM
: 4 GB or more (Recommended: 8 GB)HDD
: 4 GB or more (Recommended: 8 GB)OS
:Ubuntu 20.04
or later- Dependency:
ncnn
(Version: 2024.12.26)
- Clone the project:
git clone https://github.com/kby-ai/Palmvein-Recognition-Docker.git
cd Palmvein-Recognition-Docker
- Build the
Docker
image:sudo docker build --pull --rm -f Dockerfile -t kby-ai-palmvein:latest .
- Read
machine code
sudo docker run -e LICENSE="xxxxx" kby-ai-palmvein:latest
- Send us
machine code
obtained. - Update the
license.txt
file by overwriting thelicense key
that you received fromKBY-AI
team. - Run the
Docker
container:sudo docker run -v ./license.txt:/home/openvino/kby-ai-palmvein/license.txt -p 8081:8080 -p 9001:9000 kby-ai-palmvein:latest
- Here are the endpoints to test the
API
throughPostman
: Test with an image file: Send aPOST
request tohttp://{xx.xx.xx.xx}:8081/palmvein
.
Test with abase64-encoded
image: Send aPOST
request tohttp://{xx.xx.xx.xx}:8081/palmvein
.
- Setup
Gradio
Ensure that the necessary dependencies are installed.
Gradio
requiresPython 3.6
or above.
InstallGradio
usingpip
by running the following command:pip install gradio
- Run the demo with the following command:
cd gradio python demo.py
SDK
can be tested on the following URL:http://127.0.0.1:9000
- Obtain the
machine code
to activate and request a licensemachineCode = getMachineCode() print("\nmachineCode: ", machineCode.decode('utf-8'))
- Activate the
SDK
using the license keyOnceret = setActivation(license.encode('utf-8')) print("\nactivation: ", ret)
ret
value is zero,SDK
can get work started
ROI
Extraction TheSDK
provides a single API for detecting hands and extractingROI
from the whole hand image(palmvein
).
The function can be used as follows:roi, label = get_roi_image(cv2.flip(image, 1))
image
: input image.label
:Left
hand orRight
one.roi
: handROI(Region Of Interest)
image to get palm feature.
- Create Feature
getFeature
function returns palmvein feature againstROI
data.
cnt = getFeature(roi_byte, len(roi_byte), feature_array)
roi_byte
: roi image in byte format(image should be converted to byte format by functionmat_to_byets()
).feature_array
: palmvein feature extracted from handROI
data.
- Similiarity
The
getScore()
function takes two palmveinfeature
s as arguments and returnsscore
value to determine whether 2 input hands are from the same or different.score = getScore(feature_array1, cnt1, feature_array2, cnt2)
The threshold is 0.65
as a default.
Palmvein-Recognition-Docker/app.py
Lines 109 to 110 in a3553ee