Page MenuHomePhabricator

Meeting about Unidentified Faces
Closed, ResolvedPublic

Description

Date: soon
Time: ?
Type: IRC
Participants: AbdealiJK, DrTrigon, jayvdb

Description: Meeting about Unidentified Faces, see T135834

Agenda:

  • default values gave lots of errors
  • facebook uses DB

Minutes of the Meeting:

  • bot uses thresholds of e.g. at least 3 of 7 features (1 head, 2 eyes, 2 ears, 1 nose, 1 mouth) have to existst in order to cat. as person
  • bot uses fullbody detection (even less reliable) to identify groups of at least e.g. 3 persons (also by havin a simple number threshold)
  • testset in order to benchmark and train classifiers is needed (optimally derive from commons categories - use one of the numerous existing ones out there - upload them to commons?)

Event Timeline

A few notes from my side:

  • DigiKam in KDE apparently added this feature to face detect in their app in GSoC 2010. We should look into it as they've been working on it since 2010 till now. They were using libface in 2010, but may have changed now as libface hasnt been updated since 2013.
  • OpenBioMetrics is a neat tool which also attempts to find the age and gender, which I think is cool. very stable community with regular updates.
  • Various algorithms in OpenCV are there too.
  • dlib can detect facial landmarks that can be used. It seems to be more active than either clandmark or flandmark.

I've not checked how reliable any of the tools are, this is just a compilation of possible methods which I liked after searching.

Nice!

We have to separate face detection from recognition.
Detection: I had quite good success with my code, the training files gathered and by using some thresholds. I don't see why this should not be reproducable as the algorithm is still the same. If you have issues there, let me have a look.
Recognition: I looked into this - it basically always needs to have some kind of DB in the background. My concept is as follows:

  1. bot detects face and categorizes it unidentified
  2. human intervention assigns an identity/name
  3. based on this info in commons the bot can go over the unidentified category again and try to recognize other pictures of the same persons
  4. may be involve other sources as DB as well if e.g. open
  • DigiKam looks nice (we should also have species recognition) - but I guess libface is obsolete - I would guess they use OpenCV but we should ask
  • OpenBioMetrics looks nice (reminds me that we should look into fingerprinting of data as well), but what I don't get from this brief look is where it gets data from? It looks like it's just comparing images (1 against 1 at a time), right? So you would always have to compare against a list of images of any person know to commons...
  • OpenCV; I like this one (by the time I was working on the bot - there was eigenfaces but not included into OpenCV yet) and thus hand a brief look for examples:
  • dlib: nod - agree - and it has also HOG (face) detectors etc. - it might be intressting to run e.g. dlib agains opencv at some point to increase reliablity

You mentioned to make a testset for benchmarking and may be training, what about, e.g. the following (actually there should be tons of sets out there, right?): http://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html#face-database

DrTrigon updated the task description. (Show Details)

We should anyways always consider a bit what facebook does ... and have something similar for tools that are usful.

DrTrigon claimed this task.

@AbdealiJK: Feel free to re-open this or create a new one if needed. To me the important points were covered, thanks!