2015-08-17 2 views
2

J'ai testé la nouvelle interface de visages realisée pour android, et remarqué même avec "ACCURATE_MODE" activé, il ne détecte pas les visages que l'ancienne interface FaceDetector utilisé pour détecter, aussi je voudrais savoir le effet du codage Bitmap "RGB_565" vs "ARGB_888" dans la production des résultats.Nouvelles limitations de l'interface Android Face

+0

Pouvez-vous donner quelques exemples? Y at-il quelque chose en commun avec les exemples qui ne fonctionnent pas pour vous? (par exemple, de très petits visages?). – pm0733464

+0

Il me semble que la dimension du visage doit être dans un "rapport correct" par rapport à la dimension de l'image pour être détecté. Les visages ne sont donc pas nécessairement petits pour ne pas être détectés mais ils sont petits par rapport à la taille de l'image. Si je recadre l'image dans le runtime et la passe au détecteur, elle détectera ces visages et autant que je zoomerai plus (en recadrant une plus petite taille de l'image originale) elle détectera plus de visages dans un cas que j'ai plusieurs visages dans l'image. – feisal

+0

Cela a du sens. Voir les modifications à ma réponse ci-dessous, ce qui explique ce problème. – pm0733464

Répondre

2

Mise à jour:

La question est que le détecteur de visage est réglé pour ne détecter les visages qui sont au moins 10% par défaut (comme l'optimisation des performances).

La nouvelle version 8.4 de Google Play Services prend en charge la définition de cette taille de face minimale inférieure, ce qui permet de détecter les visages plus petits. Voir la méthode setMinFaceSize ici:

https://developers.google.com/android/reference/com/google/android/gms/vision/face/FaceDetector.Builder.html#setMinFaceSize(float)

+0

Je suppose qu'il n'y a aucun moyen de manipuler ces nombres, des suggestions sur la façon de détecter les visages plus petits dans une image étant donné que je ne sais pas nécessairement où ils se trouvent et quel rapport le visage peut avoir par rapport à l'image taille – feisal

+0

Basé sur mon expérience largeur de l'image n'est pas le seul facteur et j'ai dû couper en hauteur aussi bien pour détecter la plupart des visages par exemple des tranches de chevauchement de 400x400. – feisal

+0

Voir la mise à jour ci-dessus, qui permet de détecter les visages plus petits sans avoir besoin de couper. – pm0733464

1

J'ai vu ce même problème sur notre projet ObscuraCam [0], et on utilise à la fois l'ancienne et la nouvelle API pour essayer de maximiser la détection.

Il semble que la nouvelle API ne soit meilleure que dans les détails qu'elle donne sur les points de repère de face et la classification des expressions, et non dans la capacité de détecter des visages ou des faces partielles.

[0] https://github.com/guardianproject/obscuracam