50 lines
1.9 KiB
Plaintext
50 lines
1.9 KiB
Plaintext
|
|
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)
|
|
|
|
|