Dynamische Klassen-Warteschlange für große Skalen-Gesichtserkennung in der Wildnis

Die Entwicklung diskriminativer Darstellungen mithilfe großer, in der Wildnis erfasster Gesichtsdatensätze ist für Anwendungen in der realen Welt von entscheidender Bedeutung, bleibt jedoch herausfordernd. Die Schwierigkeiten ergeben sich aus mehreren Aspekten, wobei sich diese Arbeit auf die Beschränkung von Rechenressourcen und die langschwänzige Klassenverteilung konzentriert. In jüngster Zeit haben Klassifikationsbasierte Darstellungslernverfahren mit tiefen neuronalen Netzen und gut entworfenen Verlustfunktionen eine hervorragende Erkennungsleistung gezeigt. Allerdings steigen die Rechen- und Speicherkosten linear mit der Anzahl der Identitäten (Klassen) im Trainingsdatensatz an, und der Lernprozess leidet unter unbalancierten Klassen. In dieser Arbeit schlagen wir einen dynamischen Klassen-Queue (DCQ) vor, um diese beiden Probleme zu bewältigen. Konkret werden für jede Iteration während des Trainings eine Teilmenge von Klassen zur Erkennung dynamisch ausgewählt, und deren Klassen-Gewichte werden dynamisch in Echtzeit generiert und in einer Warteschlange gespeichert. Da jeweils nur eine Teilmenge von Klassen für jede Iteration ausgewählt wird, sinkt der Rechenaufwand erheblich. Durch die Verwendung eines einzigen Servers ohne Modellparallelisierung bestätigen wir empirisch an großen Datensätzen, dass lediglich 10 % der Klassen ausreichen, um eine vergleichbare Leistung wie bei der Verwendung aller Klassen zu erzielen. Zudem werden die Klassengewichte auf eine Few-Shot-Weise dynamisch generiert und eignen sich daher besonders gut für Klassen mit nur wenigen Instanzen. Wir zeigen eine deutliche Verbesserung gegenüber einem starken Baseline auf dem größten öffentlichen Datensatz, dem Megaface Challenge2 (MF2), der 672.000 Identitäten umfasst, wobei über 88 % dieser Identitäten weniger als zehn Instanzen aufweisen. Der Quellcode ist unter https://github.com/bilylee/DCQ verfügbar.