AI-United » Allgemein » Das generative kontradiktorische Neuronennetz erlern Gesichter im kleinen Maßstab zu erkennen

Das generative kontradiktorische Neuronennetz erlern Gesichter im kleinen Maßstab zu erkennen

Die Gesichtserkennung — ist ein grundlegendes Problem im Bereich der Computer Vision und der entscheidende Schritt auf dem Weg zur Entwicklung von Applikationen, die menschliche Gesichter erkennen und unterscheiden können. Methoden der Gesichtserkennung wurden in den letzten 20 Jahren aktiv erforscht. Es wurden genaue und ergebnisreiche Ansätze vorgeschlagen, die bei gewissen Bedingungen funktionieren.

Moderne Ansätze der Gesichtserkennung haben bei der Arbeit mit großen und mittelgroßen Bildern seriöse Ergebnisse erzielt, doch die Wirksamkeit der Arbeit mit kleinen Bildern ist unbefriedigend. Das Hauptproblem des Erkennens von kleinen Gesichtern liegt im Mangel an Gesichtsdetails, die es vom Hintergrund unterscheiden. Ein weiteres Problem besteht darin, dass sich heutige Techniken der Gesichtserkennung auf das Convolution Neural Network (faltenden neuronalen Netzwerk) gründen. Sie verwenden Karten der Besonderheiten mit einer geringen Abtastfrequenz und einer großen Steigung (8, 16, 32), die die Information verlieren und zur Beschreibung der kleinen Bilder zu unpräzise sind.

Zur Beseitigung dieser Schwierigkeiten wurde das universale Convolution Neural Network angeboten, das auf dem klassischen generativen kontradiktorischen Neuronennetz basiert. Dies besteht aus zwei Subnetzen: dem Generator und dem Diskriminator.

Im Generator wird das SRN Neuronennetz (super-resolution network) verwendet, um die Auflösung zu erhöhen. Im Unterschied zur bilinearen Operation gibt SRN keine Artefakte dazu, verbessert die Qualität durch große Faktoren der Skaleneinstellung. Aber beim Einsatz von SRN erhielten die Forscher sehr unscharfe Bilder ohne Kleinteile. Das ist die Folge der sehr niedrigen Auflösung von Eingangsbildern.

Zur Wiederherstellung von fehlenden Details und Generierung von präzisen Bildern mit hoher Auflösung wurde das optimierende Neuronennetz RN (refinement network) angewandt. Endliche und reale Bilder bearbeitet man mit dem Diskriminator, der feststellt, ob beide Bilder real sind, ob es auf ihnen Gesichter gibt. Die Rückmeldung lässt den Generator Bilder mit präziseren Gesichtszügen generieren.

Die Architektur des Neuronennetzes

Der Generator besteht aus zwei Teilen — dem SRN Neuronennetz und dem optimierenden Neuronennetz. Das erste Neuronennetz erhöht die Auflösung des Eingangsbildes. Da es auf kleinen Bildern an Details fehlt, und durch den Einfluss von Mittelquadratverlusten, sind die vom ersten Neuronennetz generierten Bilder in der Regel unscharf. Deshalb wird das zweite Neuronennetz benötigt, das diese Bilder verbessert. In den Diskriminator wird der Klassifikationsgabelarm zur Gesichtserkennung addiert. Das lässt den Diskriminator Gesichter und andere Objekte klassifizieren und generierte und reale Bilder unterscheiden.

Die Architektur des Generators und des Diskriminators

Der Generator

Das optimierende Neuronennetz des Generators weist die Architektur vom Convolution Neural Network auf. Nach jedem Convolution Layer außer dem letzten wurde die Normalisierung (batch normalization) und die Aktivierung von ReLU durchgeführt.

Das SRN Neuronennetz im Generator steigert die Auflösung vom hervorgehobenen Fragment von Bildern 4-mal. Diese Fragmente sind unscharf, falls das Gesicht weit von der Kamera entfernt war oder sich bewegte. Das optimierende Neuronennetz bearbeitet diese Fragmente und gibt präzisere Bilder aus, auf denen der Diskriminator Gesichter erkennen kann.

Der Diskriminator

Im Diskriminator wird als Bezugs-Neuronennetz das Neuronennetz VGG19 angewandt, aus dem die Schichten von Unterabtastung zur Ausschließung der Operationen von Auflösungssenkung gelöscht wurde. Alle verknüpften Schichten (d.h. f c6, f c7, f c8) sind durch zwei parallel verknüpfte Schichten fcGAN und fcclc ersetzt. Das Bild mit der hohen Auflösung wird gegeben. Der Gabelarm fcGAN meldet die Wahrscheinlichkeit, dass das Eingangsbild real ist, und der Gabelarm fcclc meldet die Wahrscheinlichkeit, dass es auf dem Eingangsbild ein Gesicht gibt.

Die Verlustfunktion

Pixelverluste: Kleine unscharfe Bilder gelangen in den Generator. Die einzige Möglichkeit, das Bild am Ausgang des Generators wirklichkeitsnah zu gestalten, besteht darin,  den Pixel-Mittelquadratfehler wie folgt zu berechnen:

ILR und IHR bedeuten geringe unscharfe Fragmente (low resolution) und Bilder mit hoher Auflösung (high resolution), G1 — das SNR Neuronennetz, G2 — das optimierende Neuronennetzw — die Parameter des Generators.

Kontradiktorische Verluste: Zum Erreichen von realistischeren Resultaten werden kontradiktorische Verluste eingegeben, die folgenderweise bestimmt werden:

Die kontradiktorischen Verluste lassen das Neuronennetz schärfere Hochfrequenzdetails generieren, um den Diskriminator zu betrügen.

Klassifikationsverluste: Die Klassifikationsverluste werden eingegeben, damit man die vom Generator wiederhergestellten Bilder einfach erkennen kann. Die Formel zur Berechnung von Klassifikationsverlusten ist wie folgt:

Die Klassifikationsverluste werden verwendet, weil sie dem Diskriminator zu bestimmen helfen, ob auf den realen und generierten Bildern Gesichter vorhanden sind oder nicht. Sie stimulieren den Generator detailliertere Bilder zu machen.

Die Zielfunktion: Kontradiktorische und Klassifikationsverluste gehören zu den Pixel-Mittelquadratverlusten. Man kann das generative kontradiktorische Neuronennetz mit Hilfe der Zielfunktion lehren. Zum besseren Verhalten des Gradienten wurden die Verlustfunktionen des Generators G und des Diskriminators D folgenderweise verändert:

Die erste Gleichung besteht aus den kontradiktorischen, mittelquadratischen und Klassifikationsverlusten. Das macht Bilder wie reale Bilder mit der hohen Auflösung auf dem Niveau von Hochfrequenzteilen, Pixeln und der Semantik aussehen. Die Verlustfunktion des Diskriminators D in der zweiten Gleichung addiert Klassifikationsverluste um zu erkennen, ob es Gesichter auf den Bildern mit hoher Auflösung gibt. Dank der Addition von Klassifikationsverlusten sind die vom Generator wiederhergestellten Bilder realistischer, als die Ergebnisse, die mit Hilfe von kontradiktorischen und mittelquadratischen Verlusten optimiert wurden.

Die Ergebnisse

Die Ergebnisse des vorgeschlagenen Modells sind besser, als die von früheren Neuronennetzen.

Der Vergleich des Modells Baseline und der angebotenen Methode an einem Beispiel vom Datensatz WIDER FACE.

Diese Methode hilft kleine Gesichter unter Anwendung des generativen kontradiktorischen Neuronennetzes (GAN) zu erkennen. Das neue Neuronennetz generiert Bilder der hohen Auflösung, wobei das unscharfe Fragmente verwendet. In den Diskriminator wurde der zusätzliche Klassifikationsgabelarm addiert, der generierte und reale Bilder unterscheiden und Gesichter erkennen lässt.

Qualitative Ergebnisse der neuen Methode. Alle Gesichter auf den Bildern wurden mit dem grünen Rahmen, und Ergebnisse der Erkennung mit der neuen Methode — mit dem roten Rahmen markiert:

Quelle
AI-United-Redaktion

Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.