Open set face recognition - welche Punktzahl geben Sie Frageflächen, die in der Galerie nicht vorhanden sind?

8

Szenario:

Bei geschlossener Gesichtserkennung haben wir in einem Gallery-Set 10 Personen, dann stammen die Abfragebilder aus diesen zehn Personen. Jede Abfrage wird somit einer der 10 Personen zugeordnet.

In open-set Gesichtserkennung können Abfrage-Gesichter von Personen außerhalb der 10 Personen in der Galerie stammen. Diese zusätzlichen Leute sind bekannt als " Distraktoren ". Eine Beispielaufgabe kann in der Herausforderung IJB-A gefunden werden.

Frage:

Angenommen, ich habe eine SVM (eins gegen alle) für jede der 10 Identitäten trainiert. Wie soll ich die Genauigkeit im offenen Szenario melden? Wenn ein Abfragebild X eingeht, wird mein Modell es IMMER als einen von 10 Personen in meiner Galerie identifizieren, allerdings mit einem niedrigen Wert, wenn diese Person nicht zu den 10 in der Galerie gehört. Wenn also die Genauigkeit in% angegeben wird, liefert jedes Distraktor -Abfragebild eine Genauigkeit von 0, was die Gesamtgenauigkeit der Kennzeichnung jedes Abfragebilds mit seiner korrekten Identität verringert.

Ist dies der richtige Weg, um die Erkennungsgenauigkeit bei einem offenen Protokoll zu melden? Oder gibt es eine Standardmethode zum Festlegen eines Schwellenwerts für die Klassifizierungsbewertung, und sagen, dass "ein Abfragebild X eine niedrige Punktzahl für jede Identität in der Galerie aufweist. Daher wissen wir, dass es sich um ein Ablenkerbild handelt, und wir berücksichtigen dies bei der Berechnung unserer Erkennung nicht Genauigkeit "

Schließlich ein Vorbehalt : Dies ist sehr spezifisch für Biometrie und Gesichtserkennung im Besonderen. Allerdings liefert SO die kohärentesten Antworten und auch sehr wahrscheinlich Biometriker, die in den Tags Vision und Bildverarbeitung bei SO aktiv sind, weshalb ich das hier frage.

    
AruniRC 17.08.2015, 16:04
quelle

2 Antworten

0

Selbsterklärend, nach Durchlesen einiger NIST-Protokolle als Referenz [Sec 4 ]:

Im Open-Set-Szenario müssen zwei Leistungsmetriken gemeldet werden: CMC und DET .

Das kumulative Übereinstimmungsmerkmal oder die CMC-Kurve wird nur mit übereinstimmenden Bildern berechnet, d. h. mit den Bildern im Probe- oder Test-Set, die aus der Liste der im Galerie-Set vorhandenen Objekte stammen. Der CMC meldet den Rückrufwert in verschiedenen Rängen 1, 2, ... #Klassen.

Die Entscheidungsfehler-Tradeoff- oder DET-Kurve wird verwendet, um zu quantifizieren, wie gut das System "Betrüger" oder "Distraktoren" ablehnt. Es gibt eine SVM pro Galerie-Identität. Für jedes Abfragebild gäbe es also #identity scores (für 50 Identitäten in der Galerie würden 50 SVMs 50 Scores ergeben). Wenn Sie das Maximum der SVM-Scores ausnutzen, wird angezeigt, wie nahe das Eingabe-Image davon ist, Teil des Gallery-Identitätssatzes zu sein. Dann wird die DET-Kurve unter Verwendung dieser Werte aufgetragen, was den ROC-Kurven zur Verifizierung sehr ähnlich ist. Die Achsen sind die Falsch-Positiv-Identifikationsrate (FPIR) gegenüber der Falsch-Negativ-Identifikationsrate (FNIR).

    
AruniRC 13.05.2016, 17:37
quelle
2

Ich komme aus der Open-Set-Welt (Kennzeichenerkennung), daher erscheint es mir naheliegend, so etwas wie eine untere Vertrauensschwelle für eine positive Erkennung zu definieren.

Ich würde empfehlen, die Histogramme der Erkennungsqualitäten / Scores / Confidences (wie auch immer sie in Ihrer Domäne genannt werden) für Personen aus Ihrem Set und für Distraktoren zu betrachten (zB ein Histogramm für SVM_A mit mehreren Bildern von Person A, ein Histogramm für SVM_A mit mehreren Bildern für andere Personen aus Ihrem Set, ein Histogramm für SVM_A mit mehreren Bildern für Distraktoren).

Das erwartete Ergebnis (wenn sich Ihre SVMs gut benehmen) ist, dass Sie im Grunde nur sehr hohe Werte für SVM_i mit Person i und nur sehr niedrige Werte für SVM_i mit anderen Personen aus Ihrem Set und Distraktoren haben. Insbesondere sollten die Ergebnisse für "andere Personen von Set" und "Distraktoren" grundsätzlich identisch sein (im statistischen Sinne sollten sie alle als "NICHT Person i = sehr niedrige Punktzahl" anerkannt werden).

Ich würde erwarten, dass (hoffentlich) eine natürliche Cutoff-Position irgendwo zwischen den höchsten falschen positiven (SVM_A auf Nicht-A) und niedrigsten wahren positiven (SVM_A auf A) Scores liegt.

Sie könnten auch Distraktoren als zusätzliche Kategorie neben Ihren geschlossenen Set-Personen einführen und die Erkennungsmatrix betrachten (erste Zeile: A erkannt als A, als B, ..., als N, als Distraktor, zweite Zeile mit B, ... letzte Zeile: Distraktor erkannt als A, als B, ... als N, als Distraktor) und berechnen Sie Ihren korrekten Klassifikationsprozentsatz aus dieser Matrix.

edit: Ich verstehe jetzt, dass Sie sich mit Ihrem durchschnittlichen Erkennungsvertrauen befassen (richtig?). Da Sie keine Möglichkeit haben, explizit für nicht-gesetzte Personen zu trainieren, denke ich, dass es fair ist, jene Fälle zu ignorieren, in denen Distraktoren korrekt als Distraktoren identifiziert wurden (höchstes Vertrauen aller SVMs ist unterschwellig).

    
Daniel 23.09.2015 09:07
quelle