yoloserv/doc
2024-08-23 13:30:56 -03:00
..
localcam.png add test data for image matching 2023-10-12 14:26:07 -03:00
Portrait_0.jpg add test data for image matching 2023-10-12 14:26:07 -03:00
README add fj palm vein SDK 2023-06-01 17:02:01 -03:00
test.jpg initial commit 2023-05-15 07:01:50 -03:00
yoloserv.odt doc update 2024-08-23 13:30:56 -03:00

    YOLOSERV
    ========

    Dispension uses several complex Python project for facial recognition. 
    Although very powerful, these packages do take some time to initialise:
     typically several sec EACH on a workstation and way more on a PI4.

    These startup times and sheer package weights don't play well with UKDI.
    Not because they don't work, but because they detract so heavily from
     UKDI's core mission - which is to interface to hardware devices.

    To get around it, we are obliged to run face recognition separately, whereby
     all the initialisation is is done only once - at startup. Then we 
     simply call the services and everything is snappy.

    As far as the UKDI architecture is concerned then, core will call
     out to yoloserv the same way as it currently does to UKDI.

    Keeping all the face recognition stuff in one project is also
     pretty useful for encapsulating the files, models and required 
     disciplines in one place so complex machine learning stuff doesnt
     get commingled with bread and butter kiosk tasks.
     
    Yoloserv doesnt only implement yolo as the name implies. it also implements:
    * OpenCV
    * SciPy / NumPy / Keras / TensorFlow / Pillow etc
    * ParaVision
    * Realsense
    * Facematch

    To install the pre-reqs:
        sbin/ctl.sh apt
        /etc/ukdi.json  (add yolo:localhost:8007,yolodir:/tmp)

    Pre-requisites:
     imgutes

    Possible modules:
        camera.py  - use opencv to get data from a cheap YUV USB camera
        seek.py    - use seek lib to get data from a seek IR camera
        flir.py    - not implemented
        fjpalmvein - get data from a fujitsu palm vein sensor
        yolov5     - use yolov5 to find objects (faces)
        yolov8     - use yolov8 to find objects (faces)
        paravision - use paravision to compare two face images (proprietary $$$)
        facematch  - use facematch to compare two face images (open source)