The detection on the camera seems to be very reliable, so I decided that it will be good enough for my needs.
Functionally its very simple -The camera is setup to FTP an image to my NR server, whenever a person is detected, and a file watch node gets any new file names and passes them as a buffer to the recognition node. That returns a name that can be used for an Alexa announcement. Simples
So far I only added about 20 pictures of myself for testing. It's working but the matches are quite low, typically 50% for a front facing image, oddly side facing is giving me 65%.
I added images in different resolutions 800x1000 from my phone camera, some around 300 x 300 from an old tablet and some approximately 100 x100 using the doorbell itself.
All the images are cropped to just a face and there are several with up down left right orientation.
However as the bulk are face on to the camera I'm puzzled why the side view gives a better match, other than the fact that the side views were in a higher resolution possibly ?
I can capture the image to be used for comparison in low, medium or higher resolution, but not sure what is better, is there an optimal size for ssd mobilenet v1 ?
So I'm looking for tips to improve the training images, as I'm not sure what is most important here.
I'm not sure mobile net would be good for face recognition... It is more for detecting things I think - generally it uses (or was originally trained on) images sized 320x320, and can be tweaked to improve face detection - but I'm not convinced it can do recognition... For that you need a different model - eg see this pipeline face-api.js
This is strange. Every cell phone offers automatic organize/indexing/searching on images by names of the people that are being photographed. Since that hype is all over the place, you would expect this to be available in all kinds of open-source libraries also.
However after a quick search, I didn't find much stuff. Like Dave says, it is mostly about face detection even when they talk about face recognition. And the popular face recognition libraries I found, aren't maintained anymore for years. And then there are a bunch of libraries that can detect stuff like gender/skin color/age/... but no names.
Very weird. Hopefully somebody pops up with a good one...
I did a bit of reading yesterday, but its not an easy subject, for my old brain, so I could be completely wrong
But I think the node uses ssd mobilenet v1 to find the face co-ordinates in the supplied image and tensorflow / @vladmandic/face-api to do the recognition ?
Just scanning through the face-api.js link it also appears to be using SSD Mobilenet V1
By default detectAllFaces and detectSingleFace utilize the SSD Mobilenet V1 Face Detector