Facial Recognition is good. Is it possible to make it even better?

Started by ChicagoGhost, October 15, 2024, 09:22:08 AM

Previous topic - Next topic

ChicagoGhost

I am trying out the facial recognition function now.
I did a little comparison of the facial recognition function between IMatch and Digikam.
Overall, IMatch is much more powerful than Digikam, and I see bugs in Digikam from time to time.
However, speaking of facial recognition, I found that Digikam with YOLO v3 did a better job in my test.
Maybe there is some option in IMatch I should set (to improve the facial recognition quality), which I don't know.

In IMatch, I set the "Face Recognition Image Size" to "Original Size", and "Face Recognition Quality" to "Extra High". In Digikam, I set the "Face Accuracy" to 100, and compared the results with or without the "Use YOLO v3 detection model" checked.

Among 440 photos (some without faces), 305 faces are correctly detected (by different methods).
IMatch correctly detected 245 faces and gave 3 false detections.
Digikam with the YOLO v3 model correctly detected 280 faces and gave 2 false detections.
Digikam without the YOLO model correctly detected 203 faces and gave 7 false detections.

I found that when IMatch fails to recognize the face, mostly it is when the person is looking down or looking to one side, etc.

I wonder whether there are any options in IMatch to get even better face recognition results (maybe at the cost of a longer time).
Or maybe some other face recognition algorithm can be added. Of course, I don't know anything about those models.

Mario

Using original image size is only (rarely) required when the faces in the image are very small (64 px or less). Else it's just wasting power.

As AI improves, things like face recognition also improves.
Integrating yet another AI system into IMatch is always possible, but expensive (time needed).
Since each face recognition AI model produces it's own unique and non-interchangeable face "fingerprints", IMatch would have to re-detect all images in the database to create a new set of face fingerprints and to feed the AI model and to be able to assign persons to faces.

I'm aware of the various Yolo models around on Github, many clones of each other etc.

So far, I'm quite happy with the integrated face recognition in IMatch. It's fast, energy efficient, does not need any special hardware except AVX in the processor etc. And it rates very well on the typical facial recognition benchmarks.

I see as many "Dikicam Face recognition sucks / does not work" posts out there as I see for IMatch or other software out there with facial recognition features. It all depends on your images, lighting, facial positions. The face recognition in IMatch was designed for typical pro and hobby photography, not for surveillance purposes, which models like Yolo are trained for.

If Digikam works better for your images, let it run face detection and let it write the resulting regions and tags into the XMP record. IMatch imports them from there automatically. IMatch does the same to make it's face recognition results available to other applications. See Working with XMP Face Regions
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook