8000
Skip to content
  • kby-ai/IDCardRecognition-Docker

    Folders and files

    NameName
    Last commit message
    Last commit date

    Latest commit

    Β 

    History

    52 Commits
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 
    Β 

    Repository files navigation

    Our facial recognition algorithm is globally top-ranked by NIST in the FRVT 1:1 leaderboards. badge

    Latest NIST FRVT evaluation report 2024-12-20

    FRVT Sheet

    πŸ†” ID Document Liveness Detection - Linux - Here badge

    πŸ€— Hugging Face - Here

    πŸ“š Product & Resources - Here

    πŸ›Ÿ Help Center - Here

    πŸ’Ό KYC Verification Demo - Here

    πŸ™‹β€β™€οΈ Docker Hub - Here

    sudo docker pull kbyai/idcard-recognition:latest
    sudo docker run -e LICENSE="xxxxx" -p 8082:8080 -p 9002:9000 kbyai/idcard-recognition:latest

    IDCardRecognition-Docker

    Introduction

    This repo demonstrates the server-based recognition capabilities for ID card, passport, and driver's license.
    At the core of this project lies the ID Card Recognition SDK, which has been developed to provide comprehensive support for recognizing ID card, passport, and driver's license from 200+ countries.

    β—ΎID Card Recognition SDK Main Functionalities

    Surpported ID Type Functionalities Release Type
    ID Card Extracting Information(OCR) Android(Kotlin & Java)
    Passport Scanning Barcode iOS(Swift & Objectiv-C)
    Driver License Parsing MRZ Flutter(Dart)
    Auto Capturing Web Front-end(Javascript)
    Scanning QR code Server-Windows(Python)
    Supporting 200+ Countries' ID Documents Server-Linux(Python)
    Supporting 130+ Languages
    ID Document Detection

    β—ΎID Card Recognition Product List

    No. Repository Release Type
    1 ID Card Recognition - Android Android
    2 ID Card Recognition - iOS iOS
    3 ID Card Recognition - Flutter Flutter
    4 ID Auto Capture - React Web Front-end
    5 ID Card Recognition - Windows Server-Windows
    ➑️ ID Card Recognition - Linux Server-Linux
    7 ID Card Recognition - C# Server-Windows
    8 ID Card Liveness Detection - Linux Server-Linux

    Try the API

    Online Demo

    You can test the SDK against static images here.

    image

    Documentation

    https://docs.kby-ai.com/help/product/id-card-sdk

    Postman

    To test the API, you can use Postman. Here are the endpoints for testing:

    • Test with an image file: Send a POST request to http://18.221.33.238:8082/idcard_recognition.

    • Test with a base64-encoded image: Send a POST request to http://18.221.33.238:8082/idcard_recognition_base64.

      You can download the Postman collection to easily access and use these endpoints. click here

      image

    SDK License

    This project uses KBY-AI's ID card recognition server SDK, which requires a license per machine.

    • The code below shows how to use the license:

      licensePath = "license.txt"
      license = ""
      machineCode = getMachineCode()
      print("machineCode: ", machineCode.decode('utf-8'))
      try:
      with open(licensePath, 'r') as file:
      license = file.read()
      except IOError as exc:
      print("failed to open license.txt: ", exc.errno)
      print("license: ", license)

    • To request the license, please provide us with the machine code obtained from the getMachineCode function.

    Please contact us:

    πŸ§™Email: contact@kby-ai.com
    πŸ§™Telegram: @kbyaisupport
    πŸ§™WhatsApp: +19092802609
    πŸ§™Discord: KBY-AI
    πŸ§™Teams: KBY-AI

    How to run

    1. System Requirements

    • CPU: 2 cores or more (Recommended: 2 cores)
    • RAM: 4GB or more (Recommended: 8GB)
    • HDD: 4GB or more (Recommended: 8GB)
    • OS: Ubuntu 20.04 or later

    2. Setup and Test

    • Clone the project:

      git clone https://github.com/kby-ai/IDCardRecognition-Docker.git
    • Download the model from Google Drive: click here

      cd IDCardRecognition-Docker
      
      wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1fmTUG7a9IoMA8QiXR9A0xf3Cr6D5UkdC' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1fmTUG7a9IoMA8QiXR9A0xf3Cr6D5UkdC" -O data.zip && rm -rf /tmp/cookies.txt
      
      unzip data.zip
    • Build the Docker image:

      sudo docker build --pull --rm -f Dockerfile -t kby-ai-idcard:latest .
    • Run the Docker container:

      sudo docker run -v ./license.txt:/root/kby-ai-idcard/license.txt -p 8082:8080 -p 9002:9000 kby-ai-idcard:latest
    • Send us the machine code and then we will give you a license key.

      After that, update the license.txt file by overwriting the license key that you received. Then, run the Docker container again.

      image

      image

    • To test the API, you can use Postman. Here are the endpoints for testing:

      Test with an image file: Send a POST request to http://{xx.xx.xx.xx}:8082/idcard_recognition.

      Test with a base64-encoded image: Send a POST request to http://{xx.xx.xx.xx}:8082/idcard_recognition_base64.

      You can download the Postman collection to easily access and use these endpoints. click here

    3. Execute the Gradio demo

    • Setup Gradio Ensure that you have the necessary dependencies installed.

      Gradio requires Python 3.6 or above.

      You can install Gradio using pip by running the following command:

      pip install gradio
    • Run the demo Run it using the following command:

      cd gradio
      python demo.py
    • You can test within the following URL:
      http://127.0.0.1:9000

    About SDK

    1. Initializing the SDK

    • Step One

      First, obtain the machine code for activation and request a license based on the machine code.

      machineCode = getMachineCode()
      print("machineCode: ", machineCode.decode('utf-8'))
    • Step Two

      Next, activate the SDK using the received license.

      setActivation(license.encode('utf-8'))

      If activation is successful, the return value will be SDK_SUCCESS. Otherwise, an error value will be returned.

    • Step Three

      After activation, call the initialization function of the SDK.

      initSDK()

      If initialization is successful, the return value will be SDK_SUCCESS. Otherwise, an error value will be returned.

    2. APIs

    • ID Card Recognition

      The SDK provides a single API for ID card recognition.

      The function can be used as follows:

      ret = idcardRecognition(base64_image.encode('utf-8'))

      The function accepts only one parameter, which should be the base64-encoded format of the image (e.g., JPG, PNG, etc.).

      If the recognition is successful, the function will return a JSON-formatted string containing the recognized information. In case of failure, the return value will be NULL.

    Releases

    No releases published

    Packages

     
     
     

    Contributors

    0