DE102019213059A1 - Verfahren und Datenverarbeitungssystem - Google Patents

Verfahren und Datenverarbeitungssystem Download PDF

Info

Publication number
DE102019213059A1
DE102019213059A1 DE102019213059.3A DE102019213059A DE102019213059A1 DE 102019213059 A1 DE102019213059 A1 DE 102019213059A1 DE 102019213059 A DE102019213059 A DE 102019213059A DE 102019213059 A1 DE102019213059 A1 DE 102019213059A1
Authority
DE
Germany
Prior art keywords
network
teacher
student
trained
rpn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019213059.3A
Other languages
English (en)
Inventor
Sikandar Amin
Bharti Munjal
Fabio GALASSO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Osram GmbH
Original Assignee
Osram GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Osram GmbH filed Critical Osram GmbH
Priority to DE102019213059.3A priority Critical patent/DE102019213059A1/de
Publication of DE102019213059A1 publication Critical patent/DE102019213059A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • G06F18/2185Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

Ein Verfahren zum Trainieren eines computerimplementierten Netzwerks zum gemeinsamen Detektieren und Identifizieren wenigstens eines Objektes umfasst die Schritte eines Bereitstellens eines trainierten Lehrernetzwerks (L) sowie eines Studentennetzwerks (S) mit einem ersten Netzwerk (RPN, RCN) zur Detektion des Objektes und eines zweiten Netzwerkes (IDNet) zur Identifikation des detektierten Objektes. Eine Vielzahl von Referenzbildern wird dem trainierten Lehrernetzwerk. und das Studentennetzwerk zugeführt. Für jedes Referenzbild werden Fehler zwischen den Ergebnissen des Studentennetzwerks und des Lehrernetzwerks ermittelt und dann ein kombinierter Fehler aus ermittelten Fehlern (LossDet, KDLossDet, KDLossOIM) bestimmt. Dieser wird anschließend minimiert, wobei das Lehrernetzwerk im Wesentlichen unverändert bleibt.

Description

  • Die Erfindung betrifft ein Verfahren zum Trainieren eines computerimplementierten Netzwerks zum gemeinsamen Detektieren und Identifizieren wenigstens eines Objektes in wenigstens einem Einzelbild. Die Erfindung betrifft weiterhin ein Verfahren in einem computerimplementierten Netzwerk zum gemeinsamen Detektieren und Identifizieren wenigstens eines Objektes in wenigstens einem Einzelbild sowie ein Datenverarbeitungssystem.
  • Deep Learning und neurale Netzwerke finden mittlerweile eine Vielzahl von Anwendungen. Eine wichtige davon ist die Erkennung und Klassifizierung zw. Identifizierung von Objekten in Einzelbildern oder in einem Videostream. Anwendungen hierfür finden sich im Bereich Automotive, aber auch für Tracking oder im Bereich der Bildüberwachung.
  • Generell wird bei Deep Learning Netzwerken für die Anwendung ein mehrstufiger Prozess angewandt. In einem ersten Schritt wird das Netzwerk anhand von Referenzinformationen, deren Grundwahrheit bekannt ist, trainiert. Dadurch „lernt“ das Netzwerk beispielsweise Objekte zu detektieren und anhand verschiedener charakteristischer Merkmale zu klassifizieren bzw. zu identifizieren.
  • Deep Learning Netzwerke sind jedoch abhängig von dem verwendeten Netzwerk sehr ressourcenhungrig. Gerade in dem oben genannten Anwendungsfall sind Leistung und Effizienz eines derartigen Netzwerks der Schlüssel zur industriellen Anwendung von Objekt-Suchalgorithmen. Eine geeignete Wahl der Netzwerkbestandteile sowie eine geeignete Wahl des Trainings ermöglicht die Ausführung in Echtzeit auf Geräten mit eingeschränkten Ressourcen.
  • Es besteht daher das Bedürfnis, die Effizienz und Leistung eines Netzwerks für verschiedenen Anwendungen im Bereich des Detektierens und Klassifizierens bzw. Identifizierens von Objekten in Einzel- oder Videobildsequenzen zu verbessern.
  • Zusammenfassung der Erfindung
  • Der Erfindung liegt die Erkenntnis zugrunde, dass sich die Performance von fest vorgegebenen Netzwerken durch eine geeignete Wahl des Trainings positiv beeinflussen lässt. Performance eines Netzwerks bedeutet in diesem Fall, dass ein trainiertes Netzwerk bei vorgegebenen Referenzdaten, z.B. vorgegebenen Referenzbildern eine bestimmte korrekte Trefferquote (d.h. korrekte Resultate) liefert. Für Referenzdaten für eine Detektion und Klassifizierung bzw. Identifizierung von Objekten in Bildern werden beispielsweise die Referenzsätze CUHK-SYSU und PRW-mini verwendet. Durch eine besondere Trainingsmethode gelang es den Erfindern das Ergebnis und die Trefferquote bei einem Netzwerk vorgegebener Komplexität weiter zu verbessern.
  • Im Folgenden werden einige Begrifflichkeiten eingeführt und definiert, die auf das vorgeschlagene Prinzip hinführen.
  • Objektsuche: Die Objektsuche wie in den vorliegenden Anwendungsfällen ist die Aufgabe, ein bestimmtes Abfrageobjekt in Kamera- oder Videobildern zu finden. Die Eingabe für diese Aufgabe ist ein Abfragebild („query image“) mit dem markierten Ort des Abfrageobjekts („query object“) sowie eine Reihe von Galeriebildern, in denen das Objekt gesucht werden soll. Die Galeriebild kann aus einem gespeicherten Satz von Bildern oder aus einem Live-Kamerastream stammen. Die Objektsuche ermöglicht eine Reihe von technischen Anwendungen in der Bildverarbeitung wie Objektdetektion, Gefahrenanalyse, autonomes Fahren, Videoüberwachung, Identitätsüberprüfung und kameraübergreifende Verfolgung usw. Die Natur des Objektes ist dabei erstmal unwesentlich, d.h. ein Objekt wie ein Auto oder ein Fahrrad kann genauso detektiert werden wie eine Blume, ein Tier oder eine Person.
  • Die zwei Kernbestandteile für eine Objektsuche der eingangs genannten Art sind die Objekterkennung und die Objektklassifizierung und -identifizierung. Bei der Objekterkennung werden Objekte in dem Galeriebild erkannt und entsprechend hervorgehoben. Bei der Objektklassifizierung werden diese Objekte klassifiziert, d.h. vorher definierten Objektklassen zugeordnet.
  • Bei der Vorgabe eines Abfragebildes liefern Objekterkennung und Objektklassifizierung alle Objekte in dem Bild, welche zu der gleichen (oder einer ähnlichen Klasse gehören) wie das Objekt des Abfragebildes. Zum Beispiel würde bei der Autosuche die Komponente alle Autos erkennen. Die zweite Komponente identifiziert das Objekt, d.h. bestimmt, ob ein bestimmtes Objekt in dem Galeriebild vorhanden ist. Beispielsweise erkennt diese Komponente, ob das vorher als Auto klassifizierte Objekt ein bestimmtes Modell mit einer bestimmten Farbe wie in dem Abfragebild ist.
  • Die Aufgabe lässt sich somit in mehrere Schritte unterteilen. Ein computerimplementiertes Netzwerk, welches die einzelnen Schritte übernimmt muss hierfür, d.h. für die Objekterkennung und Klassifizierung bzw. Identifizierung entsprechend trainiert werden. Ansätze hierzu ist beispielsweise ein Training und eine Optimierung der einzelnen Komponenten. Jedoch hat es sich gezeigt, dass die Leistung des Gesamtsystems hinter der Leistung der Einzelsysteme zurückbleibt.
  • Die Erfinder schlagen nun vor, ein computerimplementiertes Netzwerk nicht nur anhand der Grundwahrheit von Trainingsbildern zu trainieren, sondern mit Hilfe eines vorher ausgebildeten Lehrers. Mit anderen Worten erhält das computerimplementierte Netzwerk zusätzliche Informationen, nämlich neben der Grundwahrheit auch noch Information eines vorher trainierten, genaueren Netzwerks. Dieses wird als Lehrer bezeichnet, während das zu trainierende Netzwerk als Studentennetzwerk bezeichnet wird. Das Referenzbild zum Trainieren wird daher nicht nur dem Studentennetzwerk zugeführt wie in herkömmlichen Methoden, sondern auch dem Lehrer. Damit wird zur Verbesserung des Studentennetzwerks sowohl die Grundwahrheit aus dem Trainingsbild als auch das Resultat vom Lehrer benutzt.
  • In einer Ausgestaltung umfasst ein Verfahren zum Trainieren eines computerimplementierten Netzwerks zum gemeinsamen Detektieren und Identifizieren wenigstens eines Objektes in wenigstens einem Einzelbild den Schritt eines Bereitstellens eines trainierten Lehrernetzwerks ausgeführt zum Detektieren und Identifizieren des Objektes sowie ein Bereitstellen eines Studentennetzwerks mit einem ersten Netzwerk zur Detektion des Objektes und einen zweiten Netzwerk zur Identifikation des detektierten Objektes.
  • Das Lehrernetzwerk wurde bereits in vorangeschalteten Schritten für die gleiche Anwendung wie das Studentennetzwerk trainiert. Es werden dann eine Vielzahl von Trainingsbildern bereitgestellt, wobei jedes Trainingsbild das wenigstens eine Objekt sowie eine Grundwahrheitsinformation umfasst. Jedes Trainingsbild wird dem trainierten Lehrernetzwerk und dem Studentennetzwerk zugeführt. Für jedes Trainingsbild wird dann ein erster Detektionsfehler aus dem ersten Netzwerk und dem zweiten Netzwerk des Studentennetzwerks bezogen auf die Grundwahrheit bestimmt. Ebenso wird zusätzlich für jedes Trainingsbild ein zweiter Detektionsfehler für das erste Netzwerk und das zweite Netzwerk des Studentennetzwerks bezogen auf eine Ausgabe des Lehrernetzwerkes bestimmt. Mit anderen Worten wird ein Fehler des Studentennetzwerks für dessen einzelne Komponenten bestimmt und zwar bezüglich der Grundwahrheit und der korrespondierenden Resultate des Lehrernetzwerks.
  • Anschließend wird ein kombinierter Fehler aus dem ersten Detektionsfehler und dem zweiten Detektionsfehler sowie einem Identifikationsfehler bestimmt. Der kombinierte Fehler wird dann durch Rückführung und Änderung der Parameter des Studentennetzwerks minimiert. Das Lehrernetzwerk bleibt im Wesentlichen unverändert.
  • Mit dem vorgeschlagenen Prinzip wird nun nicht nur die Grundwahrheit der Trainingsbilder verwendet, um das Studentennetzwerk zu trainieren, sondern auch noch Resultate des Lehrernetzwerks. Diese enthalten beispielsweise Wahrscheinlichkeiten verschiedener möglicher Resultate und nicht wie die Grundwahrheit nur ein Resultat. Dadurch erhält das Studentennetzwerk während des Trainings zusätzliche Information. Die Erfinder haben überraschend festgestellt, dass ein Training nach dem vorgeschlagenen Prinzip für die Objektsuche und Klassifizierung bzw. Identifizierung von Objekten zu einer Verbesserung der Leistung eines solch trainierten Netzwerk führt.
  • Diese Art des Trainings mit einem Lehrernetzwerk wird als „Knowledge Distillation“ bezeichnet und wird mit Erfolg bei verbundenen end-to-end Netzwerken für die Objektsuche angewandt. Das Studentennetzwerk umfasst in einigen Aspekten ein derartiges Netzwerk, welches die Aufgaben einer Objektdetektion die Identifizierung gleichzeitig und parallel löst.
  • In einem Aspekt ist das Lehrernetzwerk für die Aufgabe besonders geeignet, d.h. es werden Bestandteile verwendet, deren Ergebnisse bei der Lösung der zugrundeliegenden Aufgabe eine besonders hohe Erfolgsrate haben. Im konkreten Beispiel kann das Lehrernetzwerk ein erstes trainiertes Netzwerk zur Detektion des Objektes und ein zweites trainiertes Netzwerk zur Identifikation des detektierten Objektes aufweisen. Da das Lehrernetzwerk vorher trainiert wurde, kann die Komplexität des Teils des Lehrernetzwerks für die Objektdetektion größer sein als die Komplexität des ersten Netzwerks des Studentennetzwerks. Gleiches kann für andere Teile des Lehrernetzwerks und dazu korrespondierender Teile des Studentennetzwerks gelten. Komplexität ist von einer Anzahl von Parametern, Knoten und/oder Schichten abhängig.
  • Damit kann das Studentennetzwerk in einigen Ausgestaltungen einfacher aufgebaut sein, ohne jedoch, dass die Resultate wesentlich verschlechtert werden. Ein derartig trainiertes Netzwerk wäre somit auch einsetzbar, wenn weniger Rechenkapazität zur Verfügung steht.
  • Ein anderer Aspekt betrifft einzelne Bestandteile des Studentennetzwerks. Es kann in einigen Aspekten vorgesehen sein, Teile des Studentennetzwerks durch korrespondierende Teile des Lehrernetzwerks zu ersetzen, bzw. Teile des Studentennetzwerks mit Parametern des Lehrernetzwerks zu füttern. In einem Beispiel können beispielsweise vom Lehrernetzwerk gelernte Identifikationsvektoren in das Studentennetzwerk kopiert werden. in einem anderen Beispiel wird vom Studentennetzwerk eine vom Lehrernetzwerk vorab trainierte ID Merkmalstabelle verwendet. Somit verwendet das Studentennetzwerk zumindest teilweise Parameter oder Information direkt aus dem Lehrernetzwerk. Dadurch lassen sich einzelne Teile des Studentennetzwerks besonders trainieren, ohne dass die Gesamtleistung leidet oder das Prinzip des Trainings eines verbundenen end-to-end Netzwerks aufgegeben wird. Das Lehrernetzwerk kann darüber hinaus mit der Vielzahl von Trainingsbildern trainiert werden.
  • Ein weiterer Aspekt betrifft das Lernen bzw. Trainieren des Lehrernetzwerks. In Aspekten wird dies nach dem gleichen Prinzip als end-to-end Netzwerk trainiert. In anderen Aspekten wird in einem ersten Schritt zur Erzeugung des ersten trainierten Netzwerks das erste Netzwerk, insbesondere alleine trainiert und in einem nachfolgenden Schritt zur Erzeugung des zweiten trainierten Netzwerks das erste Netzwerk gemeinsam mit dem zweiten Netzwerk trainiert.
  • Ein weiterer Gesichtspunkt betrifft die Auswahl einzelner Komponenten oder Netzwerke für das Studentennetzwerk und/oder das Lehrernetzwerk. In einer Ausgestaltung umfasst das Lehrernetzwerk und/oder das Studentennetzwerk beispielsweise ein BaseNet ausgeführt zur Ausgabe einer Merkmalskarte. Ebenso können Lehrernetzwerk und/oder das Studentennetzwerk ein Region Proposal Netzwerk, ein Recurrent Neural Network (RNN), ein oder mehrere Classification Neural Netzwerke sowie ein Identifikationsnetzwerk umfassen. Abwandlungen wie ein Region-basierten CNN oder auch ein schnelles RCNN (Faster RCNN) sind ebenso möglich wie Kombinationen hiervon, zum Beispiel ein Online Instant Matching (OIM). In einem Aspekt umfasst das erste Netzwerk des Studentennetzwerks ein Region Proposal Netzwerk und ein daran angeschlossenes Region basiertes Classification Neural Netzwerk. Das Lehrernetzwerk kann die gleichen Netzwerke mit der gleichen oder einer größeren Anzahl Schichten oder Parametern aufweisen.
  • Ein anderer Aspekt betrifft die Ermittlung der Fehler und deren Berechnung. In einem Aspekt umfasst der Schritt des Ermittelns des kombinierten Fehlers eine einstellbare Gewichtung für wenigstens einen der Fehler aus dem ersten Detektionsfehler, dem zweiten Detektionsfehler und dem Identifikationsfehler. Durch die Gewichtung kann während des Trainings des Studentennetzwerks ein Focus auf verschiedenen Aspekte gelegt werden. Beispielsweise können Fehler, die von Teilen stammen, die vom Lehrernetzwerk übernommen wurden, geringer gewichtet werden. In einem Aspekt ist die einstellbare Gewichtung für den Identifikationsfehler kleiner als eine Gewichtung der anderen Fehler, insbesondere kleiner als 0.3, und beträgt insbesondere 0.1.
  • In einem anderen Aspekt stellt das Lehrernetzwerk und/oder das Studentennetzwerk zur Bestimmung des ersten und/oder zweiten Detektionsfehlers verschiedene Vektoren bereit. Diese stellen Resultate oder Wahrscheinlichkeiten dar. Dazu gehören beispielsweise eine Merkmalskarte, ein Klassifizierungsvektor und ein Regressionszielvektor. Der Klassifizierungsvektor wird durch ein Region Proposal oder ein Region basiertes Classification Neurales Netzwerk gebildet. Diese sind Teil des Lehrernetzwerks und/oder des Studentennetzwerks. Ebenso wird der Regressionszielvektor durch ein Region Proposal oder Region basiertes Classification Neurales Netzwerk gebildet.
  • Für den Schritt des Bestimmens des zweiten Detektionsfehlers wird in einigen Aspekten ein Fehler bestimmt, der sich aus der Differenz zwischen von dem Studentennetzwerk und dem Lehrernetzwerk ermittelten Klassifizierungsvektoren ergibt. Auf eine ähnliche Weise kann ein Fehler zwischen von dem Studentennetzwerk und dem Lehrernetzwerk ermittelten Regressionszielvektoren bestimmt werden. In einem anderen Aspekt können beide Fehler gewichtet zusammengezählt werden. Durch die Bestimmung und Berücksichtigung eines Fehlers, der sich aus der Differenz, der Summe bzw. den Unterschieden zwischen den Resultaten des Studentennetzwerks und des Lehrernetzwerks ergibt, wird eine Verbesserung des Trainingsergebnisses erreicht.
  • Nach einem Trainieren eines derartigen Netzwerks kann das Studentennetzwerk zum gemeinsamen Detektieren und Identifizieren wenigstens eines Objektes in wenigstens einem Einzelbild eingesetzt werden. Dazu wird in einem ersten Schritt ein nach dem vorangegangenen erläuterten Prinzip trainiertes Studentennetzwerk bereitgestellt. Dann wird ein Abfragebild mit einem zu detektierenden und identifizierenden Objekt vorgesehen. Dieses Objekt soll von dem trainierten Studentennetzwerk erkannt und identifiziert werden. Anschließend wird ein Einzelbild oder eine Vielzahl von Bildern dem Studentennetzwerk zur Detektion und Identifikation des Objektes zugeführt. Das Studentennetzwerk verarbeitet diese und prozessiert diese mit den trainierten Parametern.
  • In einigen Anwendungen wird in dem Abfragebild das Objekt identifiziert, d.h. es wird eine Box oder eine andere Positionsinformation um das zu detektierende Objekt gelegt. Dies erlaubt eine genaue Identifikation des Objektes im Abfragebild.
  • Ein anderer Gesichtspunkt betrifft schließlich ein Computer- oder Datenverarbeitungssystem. Dieses umfasst einen Speicher, der ausgestaltet ist, das wenigstens eine Abfragebild, eine Vielzahl der Trainingsbilder und/oder die Galeriebilder zu speichern. Letztere können ebenfalls Einzelbilder sein, aber auch von einer Videosequenz stammen. Mit dem Speicher sind ein oder mehrere Prozessoren gekoppelt, die bei Ausführung eines zugeführten Programmcodes das Verfahren nach einem der vorherigen Schritte durchzuführen.
  • Im Folgenden wird das vorgeschlagene Prinzip anhand mehrerer Ausführungsbeispiele unter Zuhilfenahme von Zeichnungen im Detail erläutert.
  • So zeigen:
    • 1 eine prinzipielle Darstellung nach einer Ausführung der Erfindung;
    • 2 eine beispielhafte Ausgestaltung eines Studentennetzwerks und eines Lehrernetzwerks zum Training nach dem vorgeschlagenen Prinzip;
    • 3 eine weitere Ausgestaltung eines Studentennetzwerks und eines Lehrernetzwerks zum Training nach dem vorgeschlagenen Prinzip;
    • 4 eine Darstellung zu Erläuterung eines Performanceverlustes in einem Netzwerk zur Objektsuche;
    • 5 eine Darstellung eines OIM Modells für eine Objektsuche;
    • 6 ein beispielhaftes Verfahren zum Trainieren;
    • 7 ein Beispiel eines Datenverarbeitungssystems für eine Anwendung des Verfahrens nach dem vorgeschlagenen Prinzip.
  • Die automatische Suche nach Objekten und deren Identifikation in einer Videosequenz oder in Einzelbildern gewinnt zunehmend an Bedeutung. Neben Objekten, wie beispielsweise Gegenständen, Autos, Fahrräder oder anderen Verkehrsteilnehmern ist ein weiteres wichtiges Anwendungsfeld auch die Identifikation von Personen in einer Videosequenz oder in Einzelbildern. Gerade Personensuche kann sich als überaus aufwendig erweisen, sofern Personen nicht nur detektiert, sondern auch erkannt und identifiziert werden sollen. Personen, Identifizierung, Verifizierung und die Verfolgung von Personen über mehrere Kameras hinweg sind heute typische Anwendungsfälle. Im Folgenden wird unter dem Begriff Objekt somit sowohl eine Person als auch ein Gegenstand wie beispielsweise ein Auto, ein Fahrrad, ein Motorrad, ein anderer Verkehrsteilnehmer oder auch ein allgemeiner Gegenstand verstanden.
  • Die Objektsuche ist im Allgemeinen in zwei Bereiche gegliedert. Zum einen soll ein Objekt aus einer Vielzahl möglicher Objekte detektiert werden. Anschließend wird das so detektierte Objekte klassifiziert und mit dem gesuchten Objekt verglichen. Der letzte Schritt wird als Identifikation bzw. Re-Identifikation bezeichnet. Diese beiden Aufgaben sind an sich widersprüchlich zueinander. In der Tat soll die Objektdetektion spezifische Nuancen des Objektes ignorieren und lediglich das Objekt detektieren. Bei der Objektidentifikation liegt der Fokus hingegen auf den spezifischen Nuancen, um ein Objekt einer bestimmten Klasse von anderen Objekten mit der gleichen Klasse zu unterscheiden und Lösungen identifizieren zu können.
  • Erschwerend kommt bei einer Identifikation hinzu, dass das zu identifizierende Objekt bekannt ist, sich die Ansicht, Pose, Belichtung oder anderen Parameter des Objektes in dem Bild bzw. der Videosequenz über die Zeit ändern können. Die unterschiedlichen Anforderungen an die Objektdetektion und die Objektidentifizierung führen bei konventionellen Herangehensweisen zu einer Separierung des Problems, bei dem in einem ersten Schritt die Objekte detektiert und daran nachfolgend diese identifiziert werden. Ein derartiges Netzwerk lässt sich so in einzelne Bestandteile separieren und die Komponenten für die Objektdetektion und die Identifikation werden einzeln trainiert. Dadurch kann beispielsweise die Objektdetektion mittels eines geeigneten Netzwerks optimiert werden und das Resultat wird anschließend für die Identifikation einem zweiten Netzwerk zugeführt.
  • Ein anderer Ansatz besteht darin, eine Objektsuche nicht sequenziell auszuführen, sondern das Netzwerk und die einzelnen Komponenten gemeinsam zu trainieren. Dies wird als gemeinsames End-to-end Training bezeichnet, und es werden die Module des Netzwerks für die Objektdetektion sowie für die Objektklassifizierung und/oder -Identifikation gemeinsam trainiert. Dieses gemeinsame Training führt zwar insgesamt zu einer Verbesserung der Performance, da sich die oben beschriebenen widersprechenden Anforderungen etwas kompensieren lassen, jedoch nimmt die Performance für die Objektdetektion bei solch gemeinsamen trainierten Netzwerken ab.
  • Ein typisches Beispiel derartiger Netzwerke zeigt 5, welches ein sogenanntes OIM Modell darstellt und den gegenwärtigen de-facto Standard bei Netzwerken für die Objektsuche bildet. Bei dem OIM Modell wird zu Trainingszwecken als Input das Einzelbild (Trainingsbild), als auch Information zur Objektposition in dem Trainingsbild und deren assoziierte Klassifizierungsvektoren bzw. Identifikationsvektoren zugeführt. Während des Trainings werden diese als Grundwahrheiten bezeichnet.
  • Der Input wird einem Basisnetzwerk BaseNet zugeführt, welches eine Merkmals Karte erstellt und diese an zwei folgende Netzwerke weiterreicht. Diese Netzwerke sind ein Region Proposal Netzwerk sowie ein Region Klassifikation Netzwerk. Beide Netzwerke erfassen die Merkmalskarte für die Abfrageobjekte und verarbeiten das Eingangsbild anschließend, um alle Objekte im Bild zu detektieren und ihnen Klassifizierung bzw. Identifikationsvektoren zuzuordnen. Ein Ähnlichkeitswert bestimmt anschließend die Ähnlichkeit eines jeden detektierten Objektes mit dem zu identifizierenden Objekt.
  • Während des Trainings wird das OIM Modell optimiert, in dem der Fehler für die Detektion (DetLoss) und der für die Identifikation (LOSSOIM) minimiert wird. Der Fehler für die Detektion (DetLoss) ergibt sich aus den Fehlern gegenüber der Grundwahrheit, lässt sich in weitere Fehler aufspalten und ist in der 5 mit den Fehlern „L2 Regression Loss“ und „Cross Entropy Loss“ bezeichnet.
  • Zum Erlernen von Identitätsmerkmalen (LOSSOIM) , und im Besonderen zum Erlernen einer 256-dimensionalen ID-Funktion, die jedem Objektvorschlag zugeordnet ist, wird eine Nachschlagetabelle (LUT) für alle Identitäten (L) während der Trainingszeit erstellt. Bei einem gegebenen ID Merkmalsvektor x ∈ RD , bei dem D=256 die Dimensionen darstellt, verwaltet das OIM die Nachschlagetabelle (LUT) und V ∈ RDxL für die D-dimensionalen ID-Merkmale, die zu den L ID-Label korrespondieren.
  • Während des Netzwerkdurchlaufs wird das berechnete ID-Merkmal jeder Probe mit allen Merkmalseinträgen in Kosinus-Ähnlichkeit verglichen (VTx wobei VT die Transponierte von V ist). Dies ergibt L Ähnlichkeitswerte für jede Probe x. Das OIM-Ziel besteht darin, die Ähnlichkeit des Merkmals x zu maximieren, welches der Grundwahrheits-ID „i“ im i-ten Merkmalseintrag in der LUT entspricht und die die Ähnlichkeit mit allen anderen ID-Merkmalen in der LUT zu minimieren.
  • Dies wird erreicht durch Maximieren von pi(x), was die Wahrscheinlichkeit darstellt, dass x dem korrekten ID ‚i‘ Merkmal ähnlich ist und unähnlich zu den anderen Merkmalen. Es gilt p i ( x ) = e x p ( v i T x ) / Σ e x p ( v j T x )
    Figure DE102019213059A1_0001
  • Hier läuft die Summe Σ über alle IDs L im Trainingssatz, und vi, vj stehen für den Merkmalseintrag in der LUT für i-te und j-te ID. Ausgehend von der Softmax - Wahrscheinlichkeit pi (x) ist für jede Stichprobe x in der Mini-Batch der OIM-Verlust aus dieser Probe wie folgt angegeben: L O I M = l o g   p i ( x )
    Figure DE102019213059A1_0002
  • Wenn pi (x) zunimmt, nimmt der LOIM -Verlust ab. Während des Rückwärtsdurchlaufs entsprechen die Einträge von V den Identitäten im aktuellen Minibatch und werden mit gleitendem Durchschnitt vi = vi + x aktualisiert. Auf diese Weise umfasst die OIM-Optimierung eine iterative Schätzung des ID-Merkmalsvektors (x) und der Nachschlagetabelle (V) zur Auswertung dieser ID-Merkmalsvektoren und zur Berechnung des OIM-Verlusts.
  • Diese beiden iterativen Schätzungen erschweren das Erlernen dieser Aufgabe, was sich negativ die andere parallele durchgeführte Objekterkennung auswirkt. Im Gesamtergebnis nimmt so wie oben beschrieben die Performance des Teils für die Objekterkennung ab.
  • 4 zeigt die Verschlechterung der Objektdetektion bei einer unterschiedlichen Gewichtung der Identifikation. Bei einer gleichen Gewichtung von 0,5 zwischen der Objektdetektion und der Objektidentifikation ist die Performance der Objektdetektion von etwas mehr als 82 Punkten auf ca. 79 Punkte gefallen. Der Wert für die Objektidentifikation bleibt über die Gewichtung mit wenigen Ausnahmen relativ konstant.
  • Die Erfindung schlägt nun ein neues Verfahren zum Lernen bzw. Trainieren eines gemeinsamen end-to-end Netzwerks vor. Dabei ist die Idee, ein neurales Netzwerk nicht nur mittels Grundwahrheiten alleine, sondern auch mithilfe eines Lehrernetzwerkes zu trainieren, um so die spätere Treffergenauigkeit des Studentennetzwerks zu verbessern.
  • 1 zeigt eine schematische Darstellung des vorgeschlagenen Prinzips. Das zu trainierende Netzwerk wird als Studentennetzwerk S bezeichnet, das bereits trainierte Netzwerke zur Unterstützung ist als Lehrernetzwerk T bezeichnet. Das Lehrernetzwerk T ist bereits in vorangegangenen Schritten für die Objektsuche, d. h. für die Objektdetektion und die Objektidentifizierung trainiert. Dabei kann dieses Lehrernetzwerk ähnlich, gleich oder auch anders aufgebaut sein, wie das Studentennetzwerk. In vielen Ausführungen ist das Lehrernetzwerk komplexer ausgestaltet als das Studentennetzwerk. Beispielsweis kann es für die Objektidentifikation oder auch die Detektion eine größere Anzahl an Schichten oder anderen Parametern beinhalten als das Studentennetzwerk S. Das Training des Lehrernetzwerks kann auf verschiedene Arten erfolgen.
  • Wie in 1 dargestellt wird zum Training des Studentennetzwerks S ein oder mehrere Trainingsbilder verwendet, die dem Studentennetzwerk als auch dem trainierten Lehrernetzwerk T gleichzeitig bzw. gemeinsam zugeführt werden. Beide Netzwerke S und T prozessieren somit das zugeführte Trainingsbild und geben entsprechende Resultate, SR bzw. TR aus. Dabei lässt sich generell sagen, dass die Aussage des Lehrernetzwerks genauer und präziser ist, als die des noch untrainierten oder teilweise trainierten Studentennetzwerks. Bedeutsam ist jedoch, dass die Ausgabe des Lehrernetzwerks Wahrscheinlichkeiten enthalten kann, d.h. also auch Beiträge zu anderen möglichen Ähnlichkeiten. Beispielsweise gibt das Lehrernetzwerk bei einem zu detektierenden Auto als Objekt ein Resultat aus, bei dem es das Objekt Auto zu 90% richtig klassifiziert, aber auch eine 10% Wahrscheinlichkeit einen Laster annimmt. Im Gegensatz zur Grundwahrheit, die im Wesentlichen einem Wert entspricht, gibt das Lehrernetzwerk zu jedem zu identifizierten Objekt eine Wahrscheinlichkeit aus und benennt zudem auch andere noch mögliche Klassifizierungen oder Identifizierungen.
  • Die Ausgabe des Studentennetzwerks SR kann sowohl mit den Grundwahrheiten als auch mit der Ausgabe des Lehrernetzwerks TR verglichen werden. durch den Vergleich mit dem Resultat des Lehrernetzwerks enthält das Studentennetzwerk mit jedem Trainingsdurchlauf zusätzliche Information. Der daraus resultierende Fehler L wird an das Studentennetzwerk zurückgeführt, um dessen Parameter zu ändern und dieses zu trainieren. Währenddessen bleibt das Lehrernetzwerk T im Wesentlichen unverändert.
  • Nach dem vorgeschlagenen Prinzip werden somit die Resultate des Lehrernetzwerks dazu verwendet, das Studentennetzwerk über den jeweiligen Fehler anzuleiten und so zu trainieren. Dabei wird während der Trainingsdurchläufe lediglich das Studentennetzwerk trainiert.
  • Dieser Vorgang wird als Wissensdestillation oder auch in „Knowledge distillation“ bezeichnet. Der Vorteil eines derartigen Verfahrens ergibt sich aus der Annahme, dass neuronale Netzwerke während der Trainingsphase häufig überparametrisiert sind. Dies kann beispielsweise beim Lehrernetzwerk der Fall sein, wobei dieses dennoch ein großes und akkurates Modell für das Problem, in diesem Fall die Objektsuche bildet. Durch das vorgeschlagene Prinzip überwacht das Lehrernetzwerk nun das Trainingssignal, wodurch das Studentennetzwerk kleiner, d. h. weniger komplex ausgebildet sein kann, ohne die Erfolgsrate wesentlich negativ zu beeinflussen. In dem vorgeschlagenen Fall sind sowohl das Lehrer- als auch das Studentennetzwerk durch gemeinsame Endzu-End Netzwerke für die Objektsuche ausgeführt.
  • 2 zeigt eine Übersicht über das Lehrernetzwerk T sowie das Studentennetzwerk S, welche als gemeinsame end-to-end Netzwerke aufgebaut sind. Die vorgeschlagene Trainingsstrategie einer Wissensdestillation macht sich dabei zunutze, dass das Lehrer Netzwerk aus zwei wesentlichen vordefinierten Einzelnetzwerken zur Objektdetektion und zur Objektidentifikation besteht bzw. diese umfasst.
  • Das Lehrernetzwerk umfasst ein als BaseNet bezeichnetes Basisnetzwerk, welches beispielsweise als ResNet50 ausgebildet sein kann. Dieses stellt eine Merkmalskarte Ft bereit. Das Sub-Netzwerk für die Objektdetektion DT des Lehrernetzwerks umfasst weiterhin ein Region Proposal Netzwerk, RPN sowie ein Region Classification Netzwerk RCN. Das RPN Netzwerk des Lehrernetzwerks DT ermittelt aus der Merkmalskarte Bereichsvorschläge und gibt diese als Klassifikationsvektor RPN Ct oder als Bounding Box Regressionsziel RPN Ct aus. Die RPN und RCN-Netzwerke verwenden somit die gleiche Merkmalskarte, um daraus Bereichsvorschläge für eine Klassifizierung abzuleiten.
  • Auch das RCN-Netzwerk erzeugt jeweilige Vektoren für die Klassifizierung RCN Ct sowie für jedes Regression Target RCN Tt. Das für die Objekterkennung zuständige Netzwerk des Lehrers bildet somit eine spezialisierte Faster R-CNN Netzwerkarchitektur. Für das Identifikationsnetzwerk IDT des Lehrers wird ebenso eine entsprechende Identifikationstabelle mit den Grundwahrheiten gelernt.
  • Das Studentennetzwerk S ist demgegenüber in ähnlicher Weise aufgebaut und umfasst die gleiche Architektur wie das Lehrernetzwerk. Es umfasst ein Subnetz S1 für die Objektdetektion und ein daran angeschlossenes zweites Subnetzwerk S2 für die Objektklassifizierung und - identifikation. Im Training werden beide Subnetzwerke S1 und S2 gemeinsam trainiert. Das erste Subnetzwerk S1 des Studentennetzwerks beinhaltet ein Basisnetzwerk BaseNet, das ausgangsseitig mit einem Region Proposal Network RPN und einem Region Classification Netzwerk RCN verbunden ist. Vom BaseNet wird eine Merkmalskarte Fs bereitgestellt und dem RPN und dem RCN zugeführt. An das Netzwerk RCN des ersten Subnetzwerks werden ebenso vom RPN erzeugte Bereichsvorschläge weitergegeben.
  • Alle Subnetzwerke DT und S1, S2 erzeugen somit in den verschiedenen Teilbereichen entsprechende Klassifizierungs- und Zielvektoren, die für die Berechnung eines Fehlers in geeigneter Weise verarbeitet werden können. Hierzu gehören neben den Merkmalskarten Ft und Fs auch zweidimensionale Vektoren RPN C und RCN C, die eine Klassifikationswahrscheinlichkeit aus dem PRN und dem RCN Netzwerk angeben und sowohl vom Lehrernetzwerk T als auch vom Studentennetzwerk S erzeugt werden. Zusätzlich werden noch jeweils vierdimensionale Bounding box Regressionsziele erzeugt, wieder jeweils eines für die jeweiligen RPN- und RCN-Netzwerke des Studenten- und des Lehrernetzwerks. Diese sind als RPN Tx und RCN_Tx bezeichnet, wobei x entweder für das Studentennetzwerk S oder das Lehrernetzwerk T steht.
  • Dabei ist zu beachten, wie noch später erläutert, dass für den Fehler des Studentennetzwerks zwei mögliche Fehler in Betracht kommen. Einmal ist dies der Fehler gegenüber den Ergebnissen des Lehrernetzwerks. Dese werden allgemein als Lt gekennzeichnet. Zum anderen sind dies aber auch Fehler gegenüber der Grundwahrheit, die als Lg definiert sind. Fehler bei der Objekterkennung und Identifikation des Studentennetzwerks werden somit sowohl gegenüber der Grundwahrheit als auch gegenüber den Resultaten des Lehrernetzwerks bewertet.
  • Ein erster Fehler LHint ist durch den L2-Verlust in den Zwischenschichten des Basisnetzwerkes Ft für den Lehrer und für den Studenten fa(Fs) definiert. Für ihn gilt der Fehler: L Hint = f a ( F s ) F t 2
    Figure DE102019213059A1_0003
  • Ebenso lassen sich Klassifikationsfehler für die Region Proposal Netzwerke RPN und die Region Classification Netzwerke RCN des Lehrers DT und des Studenten S1 definieren. Diese sind durch eine gewichtete Kreuz Entropiefunktion gegeben: L cls = μ L g , cls + ( 1 μ ) L t , cls
    Figure DE102019213059A1_0004
  • Dabei ist Lg der Fehler gegenüber der Grundwahrheit, Lt gegenüber den Resultaten des Lehrers. Der Faktor µ stellt eine Gewichtung dar, je nach Wert wird stärker auf den Fehler gegenüber der Grundwahrheit oder gegenüber den Resultaten des Lehrers fokussiert.
  • Ein Regressionsfehler für beide Sub-Netzwerke RPN und RCN korrespondiert zu einem Bounding Box Regressionsfehler und es gilt dort: L reg = L g , reg + γ L t , reg
    Figure DE102019213059A1_0005
  • Auch hier gilt Lg als Fehler gegenüber der Grundwahrheit, Lt als Fehler gegenüber den Resultaten des Lehrers.
  • Das Studentennetzwerk umfasst darüber hinaus ein zweites Sub Netzwerk S2, welches für die Identifikation der vom Region Classification Netzwerk detektierten Objektvektoren zuständig ist. Im vorliegenden Beispiel wird hierzu die vom Lehrernetzwerk erzeugte Identifikationstabelle LUT als Kopie verwendet. Der sich daraus ergebende Fehler wird als LOIM definiert. Somit ergibt sich für einen Gesamtfehler L für die RPN und RCN Netzwerke: L = L cls rpn + L reg rpn + L cls rcn + L reg rcn + λ Hint L hint + λ OIM L OIM
    Figure DE102019213059A1_0006
  • Die Parameter µ, γ und λHint sind wählbar und können beispielsweise auf 0.5 gesetzt werden um eine gleiche Gewichtung des RPN und RCN zwischen dem Lehrer und der Grundwahrheit zu erhalten. Andere Gewichtungen sind möglich.
  • Jedoch wird der letzte Faktor λOIM bewusst angepasst, um einen zu großen Einfluss auf die Identifikation zu verhindern. Dies ist angebracht, da für die Identifikation im Wesentlichen die LUT des Lehrers übernommen und keine eigene antrainiert wird.
  • Mit anderen Worten wird durch die Wissendistillation nach dem vorgeschlagenen Prinzip das Studentennetzwerk nicht zusätzlich mit dem Trainieren einer LUT oder einer Identifikation belastet. Ebenso wenig wird dieser Bereich bei der Rückführung und Parameteranpassung des Studentennetzwerks bei jedem Trainingsdurchlauf berücksichtigt. Das Studentennetzwerk erhält vielmehr eine gute Anleitung nach der ersten Iteration.
  • Durch einen geringen Faktor von λOIM beispielsweise im Bereich von 0,05 bis 0,25, z.B. 0,1 wird das Studentennetzwerk vor allem im Bereich des Detektors trainiert und so die Performance für die Objekterkennung bei dem gemeinsamen End-to-End Training verbessert.
  • 3 zeigt eine weitere Ausgestaltung des erfindungsgemäßen Prinzips einer Wissensdistillation, bei dem ein Lehrernetzwerk das Training eines Studentennetzwerks unterstützt. Das hier dargestellte Lehrernetzwerk umfasst einen ersten Bereiche DT für die Objekterkennung und Klassifizierung sowie ein Netzwerk für die Objektidentifikation. Ersteres ist als sogenanntes Faster R-CNN Netzwerk ausgeführt. Wie in den vorangegangenen Beispielen umfasst das Faster R-CNN Netzwerk ein Basisnetzwerk BaseNet sowie ein daran angeschlossenes Region Proposal Netzwerk RPN und Region Classification Neural Netzwerk. Das RPN und das R-CNN Netzwerke sind parallel angeordnet, sodass die vom BaseNet abgegebene Merkmalskarte beiden Netzwerken gleichzeitig zugeführt wird.
  • Daran angeschlossen befindet sich der für die Objektidentifikation zuständige Bereich IDT des Lehrernetzwerks, welcher ein vordefiniertes OIM Modell umfasst. Dieses erzeugt den Ähnlichkeitswert mittels einer Nachschlagetabelle, in der die vorher trainierten verschiedenen Identifikationsmerkmale abgelegt sind. Das Studentennetzwerk S ist als gemeinsames end-to-end Netzwerk mit einem OIM Modell ausgeführt. Dieses umfasst wie das Lehrernetzwerk ein Faster R-CNN Netzwerk sowie ein daran angeschlossenes ID Net.
  • Für das Training werden beiden Netzwerken verschiedene Trainingsbilder zugeführt, bei denen das zu identifizierende Objekt entsprechend gekennzeichnet ist. Alternativ kann auch das zu identifizierende Objekt mit den Informationen zur Klassifikation und Identifikation als Grundwahrheit separat zu den Trainingsbildern den Netzwerken zugeführt werden. Das Studentennetzwerk erzeugt an verschiedenen Stellen seines RPN-Netzwerks und seines R-CNN-Netzwerks Ausgangssignale, aus denen die Fehler abgeleitet werden können. Dies sind zum einen Fehler, die sich aus den Klassifikationsvektoren gegenüber der Grundwahrheit bestimmen und als Lg,cls rpnund Lg,cls rcn für die RPN und R-CNN Subnetzwerke bezeichnet sind. Zudem erzeugen jedes Netzwerk, RPN und R-CNN des Studentennetzwerks auch Fehler des Bounding Box Regressionsziels bezüglich der Grundwahrheit, nämlich Lg,reg rpn und Lg,reg rcn. Diese Fehler lassen sich auch bei konventionellen Trainingsmethoden ableiten. Darüber hinaus zeigt das Studentennetzwerk ein IDNet für die Objektidentifikation. Dieses berücksichtigt die Tabelle aus dem Lehrernetzwerk, welche dorthin kopiert wurde. Der Fehler aus der Identifikation LOIM wird während des Trainings gewichtet, um den Fokus des Trainings auf die Objektdetektion zu richten.
  • Erfindungsgemäß ist nun vorgesehen, neben den Fehlern bezüglich der Grundwahrheiten auch Fehler zu berücksichtigen, die sich aus dem Vergleich mit den korrespondierenden Resultaten des Lehrernetzwerks ergeben. Zum einen werden die Resultate des BaseNet miteinander verglichen, um das BaseNet des Studentennetzwerks zu trainieren. In gleicher Weise werden die Fehler zwischen den Klassifikationsvektoren RPN Ct, RCN Ct des Lehrernetzwerks und des Studentennetzwerks RPN_Cs, RCN Cs berücksichtigt. Durch eine Minimierung eines gemeinsamen Fehlers aus der Summe aller eventuell gewichteten Fehler wird das Studentennetzwerk trainiert.
  • 6 zeigt eine Ausführung einiger Verfahrensschritte für ein Training eines derartigen Netzwerks mit einer Knowledge Distillation nach dem vorgeschlagenen Prinzip. In einem ersten vorgelagerten Schritt ST1 wird ein Lehrernetzwerk mit einem ersten trainierten Netzwerk DT zur Detektion des Objektes und ein zweites trainiertes Netzwerk IDT zur Identifikation des detektierten Objektes bereitgestellt und dieses mit einem Daten Set und Trainingsbildern mit einer jeweiligen Grundwahrheit trainiert. Dazu wird in einem ersten Schritt das erste Netzwerk für die Objektdetektion einzeln trainiert und in einem nachfolgenden Schritt zur Erzeugung des zweiten trainierten Netzwerks IDT das erste Netzwerk mit dem zweiten Netzwerk gemeinsam trainiert. Während des Trainings wird eine Look-up Tabelle oder ein anderer Parametersatz erzeugt, der später in dem Studentennetzwerk übernommen werden kann.
  • In einem zweiten Schritt ST2 wird nun ein noch untrainiertes Studentennetzwerks S mit einem ersten Netzwerk zur Detektion des wenigstens eines Objekts und mit einem zweiten Netzwerk zur Identifikation des detektierten Objekts bereitgestellt. Optional kann hier vorgesehen sein, das zweite Netzwerk bereits mit dem Parametersatz aus dem Lehrernetzwerk zu versehen und dadurch die Komplexität des Trainings zu verringern. Insbesondere wird durch die Trainingsdurchläufe aufgrund des bereits stark optimierten Teils des Studentennetzwerks, nämlich des Netzwerks zur Identifikation des detektierten Objekts eine Trainingsperformance für das erste Netzwerk nicht oder nicht so stark negativ beeinträchtigt.
  • In einem Schritt ST3 werden nun eine Vielzahl von Trainingsbildern bereitgestellt. Die Trainingsbilder enthalten Bounding Boxes, in denen Objekte detektiert sind, sowie deren Klassifikation und ggf. Identifikation. Die Trainingsbilder sind daher mit einer Grundwahrheit versehen. Die Trainingsbilder werden nun sowohl dem Studentennetzwerk S als auch dem Lehrernetzwerk T zugeführt, die dem Trainingsbild entsprechende Grundwahrheit ebenso dem Studentennetzwerk. In einer Ausführung können die Trainingsbilder die gleichen sein, mit der auch das Lehrernetzwerk trainiert wurde. Ebenso wäre eine Untermenge möglich, d.h. die Trainingsbilder sind eine Unter- oder Teilmenge der Bilder, mit der das Lehrernetzwerk trainiert wurde. Beispielsweise kann
  • Im Schritt ST4 wird für jedes Trainingsbild im Studentennetzwerk ein erster Detektionsfehler in dem ersten Netzwerk und dem zweiten Netzwerk des Studentennetzwerks bezogen auf die entsprechende Grundwahrheit bestimmt. Im Einzelnen sind dies die vorher angesprochenen Fehlerwerte.
  • Zudem wird jedes Trainingsbild zusätzlich auch dem Lehrernetzwerk zugeführt.
  • In Schritt ST5 wird nun für jedes Trainingsbild ein zweiter Detektionsfehler bestimmt. Dazu ermittelt das Lehrernetzwerk ausgehend von dem Trainingsbild die Merkmalskarte, die Bounding Boxen für die möglichen Objekte, detektiert und klassifiziert diese. Das Ergebnis wird nun mit den korrespondierenden Resultaten des Studentennetzwerks verglichen und ein Fehler daraus bestimmt. Die Art der Fehlerbestimmung ist ähnlich wie in Schritt S4. Beispielsweise können anstelle der Grundwahrheit die Resultate des Lehrernetzwerks zur Bestimmung des Fehlers herangezogen werden. Alternativ werden die Einzelfehler aus den korrespondierenden Resultaten einfach addiert.
  • Anschließend wird in Schritt ST6 ein kombinierter Fehler aus dem ersten Detektionsfehler und dem zweiten Detektionsfehler und einem Identifikationsfehler bestimmt. Die Fehler werden gewichtet zusammengerechnet, um den Gesamtfehler zu bestimmen. Insbesondere ist der Identifikationsfehler, der sich aus einem Fehler mit den vom Lehrernetzwerk kopierten Parametern ergibt, mit einer Gewichtung versehen. Dadurch kann der Einfluss des Identifikationsfehlers zugunsten einer größeren Gewichtung bei der Objektdetektion verschoben werden. Ein Training optimiert dann vor allem die Objektdetektion, berücksichtigt jedoch aufgrund des gemeinsamen end-to-end Trainings auch die Identifikation. Im Gesamtergebnis wird nach einem Training die Gesamtperformance des Studentennetzwerks insbesondere bei der Objektdetektion verbessert.
  • 7 zeigt eine Darstellung eines Datenverarbeitungssystems 10, das sowohl für ein Training nach dem vorgeschlagenen Prinzip, als auch für die spätere Anwendung für die Objektsuche geeignet ist. Das Datenverarbeitungssystem 10 umfasst einen oder mehrere Speicher 11, in dem zum einen der Programmcode 111 für die Durchführung des Verfahrens, zum anderen aber auch eine Vielzahl von Trainingsbildern 112 oder Abfragebildern abgelegt sind oder abgelegt werden können. Ebenso können im Speicher ein oder mehrere anwendunsspezifisch trainierte Lehrernetzwerke 113 bereits abgelegt sein.
  • Der Speicher 11 kann einen flüchtigen, aber auch einen nichtflüchtigen Speicher oder eine Kombination aus beiden umfassen. Er kann mit einer Cloud verbunden sein. Mit dem Speicher 11 sind ein oder mehrere Prozessoren 12 gekoppelt. Diese können auf derselben Hardware ausgeführt sein, aber auch in einer Cloud oder in einem verteilten Netzwerk gebildet sein. Die Prozessoren sind ausgeführt, den im Speicher enthaltenen Programmcode 111 auszuführen und damit sowohl ein Netzwerk nach dem vorgeschlagenen Prinzip zu trainieren als auch eine Anwendung mit einem solchen Netzwerk auszuführen. Dazu gehören beispielsweise die Eingangs erläuterten Anwendungen. Mit dem Datenverarbeitungssystem sind, beispielsweise über ein Netzwerk 13, eine oder mehrere Kameras 14 verbunden. Diese liefert Einzelbilder oder auch Videosequenzen in den Speicher 11.
  • In einer Anwendung ist das Datenverarbeitungssystem 10 ohne Lehrernetzwerke ausgeführt, sondern enthält in seinem Speicher lediglich das trainierte Studentennetzwerk. Dies ist dann zweckmäßig, wenn die Ressourcen beschränkt sind, das Datenverarbeitungssystem beispielsweise ein mobiles Gerät wie ein Smartphone ein Tablet oder ähnliches ist.
  • In einem Beispiel führt das Datenverarbeitungssystem nun eine Objektsuche mittels eines trainierten Studentennetzwerks durch. Dazu wird ein Abfragebild bereitgestellt und aus dem Speicher zugeführt. Das Abfragebild kann auch von der Kamera 14 geliefert werden. Das Abfragebild enthält das zu identifizierende Objekt mittels Identifikationsvektor sowie deren Position im Bild. Das Netzwerk ist nun ausgeführt, in weiteren Galeriebildern (Einzel- oder als Videostream) das zu identifizierende Objekt wiederzuerkennen. Dazu muss es die Objekte in den Galeriebildern detektieren, klassifizieren und mit dem zu identifizierenden Objekt, bzw. mit dessen Identifikationsvektor vergleichen.
  • Für ein Training wird das Lehrernetzwerk gemeinsam mit den Trainingsbildern benutzt. Bei den Trainingsbildern sind die Objekte bekannt, sie sind korrekt klassifiziert und identifiziert sowie deren Position als Bounding Box bestimmt. Insofern ist das Datenverarbeitungssystem sowohl für das Training nach dem vorgeschlagenen Prinzip als auch für eine spätere Anwendung mit dem trainierten Studentennetzwerk geeignet.
  • Die vorliegende Erfindung verbessert die Performance bei einer Objektsuche für Deep-Learning Netzwerke gegenüber herkömmlichen Trainingsmethoden. Dazu wird ein Wissensdestillat aus einem vorher trainierten und akkuraten Lehrernetzwerk verwendet. Im Einzelnen werden Ergebnisse des Studentennetzwerks während des Training durch das Lehrernetzwerk überwacht und geleitet. Es lässt sich so auch für Netzwerke mit einem kleineren Parameterraum oder weniger Schichten ein besseres Ergebnis erzielen als bei herkömmlichen Methoden. Diese Model-Kompression erlaubt es, resourcensparende Netzwerke mit der gleichen Erkennungsrate betreiben zu können.
  • Bezugszeichenliste
  • DT
    Sub-Netzwerk für Objektdetektion
    Ft
    Merkmalskarte
    IDT
    Sub-Netzwerk für Objektidentifikation
    I
    Trainingsbild, Bild
    Lt,cls RPN
    Fehler
    Lt,cls RCN
    Fehler
    Lt,reg RPN
    Fehler
    Lt,reg RCN
    Fehler
    LOIM
    Fehler
    RPN
    Region Proposal Network
    RCN
    Region classification Netzwerk
    RPN Ct
    Klassifikationsvektor
    RPN Cs
    Klassifikationsvektor
    RCN Ct
    Klassifikationsvektor
    RCN Cs
    Klassifikationsvektor
    RPN Ts
    Bounding Box Regressionsziel
    RCN Tt
    Bounding Box Regressionsziel
    RPN Tt
    Bounding Box Regressionsziel
    RCN Ts
    Bounding Box Regressionsziel
    S
    Studentennetzwerk
    S1, S2
    Subnetzwerke des Studentennetzwerks
    T
    Lehrernetzwerk

Claims (15)

  1. Verfahren zum Trainieren eines computerimplementierten Netzwerks zum gemeinsamen Detektieren und Identifizieren wenigstens eines Objekts in wenigstens einem Einzelbild (I), umfassend die Schritte: - Bereitstellen eines trainierten Lehrernetzwerks (T) ausgeführt zum Detektieren und Identifizieren des wenigstens einen Objekts; - Bereitstellen eines Studentennetzwerks (S) mit einem ersten Netzwerk (RPN, RCN) zur Detektion des wenigstens einen Objekts und mit einem zweiten Netzwerk (IDNet) zur Identifikation des detektierten Objekts; - Bereitstellen einer Vielzahl von Trainingsbildern, wobei jedes Trainingsbild das wenigstens eine Objekt sowie eine Grundwahrheit umfasst; - Zuführen eines jeden Trainingsbildes dem trainierten Lehrernetzwerk (T) und dem Studentennetzwerk (S); - Für jedes Trainingsbild Bestimmen eines ersten Detektionsfehlers (LossDet) von dem ersten Netzwerk (RPN, RCN) und dem zweiten Netzwerk (IDNet) des Studentennetzwerks bezogen auf die Grundwahrheit; - Für jedes Trainingsbild, Bestimmen eines zweiten Detektionsfehlers (KDLossDet) von dem ersten Netzwerk und dem zweiten Netzwerk des Studentennetzwerks bezogen auf eine Ausgabe des Lehrernetzwerkes; - Ermitteln eines kombinierten Fehlers aus dem ersten Detektionsfehler (LossDet) und dem zweiten Detektionsfehler (KD LossDet) und einem Identifikationsfehler (KDLOSSOIM) ; - Minimieren des kombinierten Fehlers, wobei das Lehrernetzwerk im Wesentlichen unverändert bleibt.
  2. Verfahren nach Anspruch 1, bei dem das Lehrernetzwerk ein erstes trainiertes Netzwerk (DT) zur Detektion des Objektes und ein zweites trainiertes Netzwerk (IDT) zur Identifikation des detektierten Objektes umfasst.
  3. Verfahren nach Anspruch 2, bei dem zur Bereitstellung des trainierten Lehrernetzwerks in einem ersten Schritt das erste Netzwerk (DT) trainiert wird und in einem nachfolgenden Schritt zur Erzeugung des zweiten trainierten Netzwerks (IDT) das erste Netzwerk gemeinsam mit dem zweiten Netzwerk trainiert wird.
  4. Verfahren nach einem der Ansprüche 2 bis 3, bei dem das zweite Netzwerk (LUT) des Studentennetzwerks mit einer Kopie oder mit Parametern aus dem zweiten trainierten Netzwerk (IDT) versehen ist, insbesondere mit einer vom zweiten trainierten Netzwerk (IDT) bereitgestellten Look-Up-Table (LUTt) aufweisend erlernte Identifikationsvektoren.
  5. Verfahren nach einem der Ansprüche 1 bis 4, bei der die Komplexität des ersten Netzwerkes des Studentennetzwerks kleiner oder gleich einer Komplexität des für die Detektion des wenigstens einen Objekts zuständigen Teils des Lehrernetzwerks ist, wobei die Komplexität von einer Anzahl von Parametern, Knoten und/oder Schichten ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem das erste Netzwerk des Studentennetzwerks ein Region Proposal Netzwerk (RPN) und ein daran angeschlossenes Regionbasiertes Classification Neural Netzwerk (RCNN) umfasst.
  7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem das Lehrernetzwerk und/oder das Studentennetzwerk wenigstens eines der folgenden Netzwerke umfasst: - Ein BaseNet ausgeführt zur Ausgabe einer Merkmalskarte; - Region Proposal Netzwerk (RPN); - Classification Neural Network (CNN); - Region Classification Netzwerk (RCN); - Region-basierten CNN (RCNN); - Faster RCNN; - Identifikationsnetzwerk (IDNet); - Online Instant Matching (OIM); - Recurrent Neural Network (RNN);
  8. Verfahren nach einem der Ansprüche 1 bis 7, bei dem das Lehrernetzwerk mit der Vielzahl von Trainingsbildern trainiert wird.
  9. Verfahren nach einem der Ansprüche 1 bis 8, bei dem der Schritt des Ermittelns des kombinierten Fehlers eine einstellbare Gewichtung λOIM) für wenigstens einen aus dem ersten Detektionsfehler (LossDet) , dem zweiten Detektionsfehler (KDLossDet) und dem Identifikationsfehler (KDLOSSOIM) umfasst.
  10. Verfahren nach Anspruch 9, bei der die einstellbare Gewichtung für den Identifikationsfehler (KDLossOIM) kleiner ist als eine Gewichtung der anderen Fehler, insbesondere kleiner als 0.3 ist, insbesondere 0.1 beträgt.
  11. Verfahren nach einem der Ansprüche 1 bis 10, bei dem das Lehrernetzwerk und/oder das Studentennetzwerk zur Bestimmung des ersten und/oder zweiten Detektionsfehlers (LossDet, KDLossDet) wenigstens eine der folgenden Vektoren bereitstellt: - eine Merkmalskarte (Ft, Fs); - einen Klassifizierungsvektor (RPN Ct, RCN Ct, RPN_Cs, RCN Cs), insbesondere einen durch ein Region Proposal oder Region basiertes Classification Neurales Netzwerk gebildeten Klassifizierungsvektor; - einen Regressionszielvektor (RPN Tt, RCN_Tt, RPN_Ts, RCN Ts), insbesondere einen durch ein Region Proposal oder Region basiertes Classification Neurales Netzwerk gebildeten Regressionszielvektor.
  12. Verfahren nach einem der Ansprüche 1 bis 11, bei dem der Schritt des Bestimmens eines zweiten Detektionsfehlers (KDLossDet) umfasst: - Bestimmen eines Fehlers zwischen von dem Studentennetzwerk und dem Lehrernetzwerk ermittelten Klassifizierungsvektoren (RPN Cs, RPN Ct, ReN_es, RCN Ct); - Bestimmen eines Fehlers zwischen von dem Studentennetzwerk und dem Lehrernetzwerk ermittelten Regressionszielvektoren (RPN_Ts, RPN Tt, RCN_Ts, RCN Tt).
  13. Verfahren in einem computerimplementierten Netzwerk zum gemeinsamen Detektieren und Identifizieren wenigstens eines Objektes in wenigstens einem Einzelbild, umfassend die Schritte: - Bereitstellen eines nach einem der vorherigen Ansprüche trainierten Studentennetzwerks; - Bereitstellen eines Abfragebildes mit einem zu detektierenden und identifizierenden Objekt; - Zuführen des wenigstens einen Einzelbilds an das Studentennetzwerk zur Detektion und Identifikation des Objektes.
  14. Verfahren nach Anspruch 13, bei dem der Schritt des Bereitstellens eines Abfragebildes umfasst: - Bereitstellen einer Positionsinformation in dem das zu detektierenden und identifizierenden Objekt zu finden ist.
  15. Datenverarbeitungssystem umfassend: - einen Speicher zur Speicherung wenigstens eines Abfragebildes und/oder einer Vielzahl von Trainingsbildern und/oder einer Vielzahl von Galleriebildern; - einen oder mehrere mit dem Speicher gekoppelte Prozessoren, die bei Ausführung eines zugeführten Programmcodes das Verfahren nach einem der vorherigen Schritte durchführen.
DE102019213059.3A 2019-08-29 2019-08-29 Verfahren und Datenverarbeitungssystem Pending DE102019213059A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019213059.3A DE102019213059A1 (de) 2019-08-29 2019-08-29 Verfahren und Datenverarbeitungssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019213059.3A DE102019213059A1 (de) 2019-08-29 2019-08-29 Verfahren und Datenverarbeitungssystem

Publications (1)

Publication Number Publication Date
DE102019213059A1 true DE102019213059A1 (de) 2021-03-04

Family

ID=74564805

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019213059.3A Pending DE102019213059A1 (de) 2019-08-29 2019-08-29 Verfahren und Datenverarbeitungssystem

Country Status (1)

Country Link
DE (1) DE102019213059A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688760A (zh) * 2021-08-31 2021-11-23 广州文远知行科技有限公司 自动驾驶的数据识别方法、装置、计算机设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHEN, Guobin [et al.]: Learning efficient object detection models with knowledge distillation. In: Advances in Neural Information Processing Systems. 2017. S. 742-751. *
XIAO, Tong, [et al.]: Joint detection and identification feature learning for person search. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017. S. 3415-3424. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688760A (zh) * 2021-08-31 2021-11-23 广州文远知行科技有限公司 自动驾驶的数据识别方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
DE3689049T2 (de) Selbstanpassender Prozessor.
DE102017220307B4 (de) Vorrichtung und Verfahren zum Erkennen von Verkehrszeichen
DE112017005651T5 (de) Vorrichtung zur Klassifizierung von Daten
DE102017116017A1 (de) Kraftfahrzeug-Sensorvorrichtung mit mehreren Sensoreinheiten und mehreren neuronalen Netzen zum Erzeugen einer kombinierten Repräsentation einer Umgebung
DE19955919C1 (de) Verfahren zur Erkennung von Objekten in Bildern auf der Bildpixelebene
WO2020192849A1 (de) Automatische erkennung und klassifizierung von adversarial attacks
DE102018128531A1 (de) System und Verfahren zum Analysieren einer durch eine Punktwolke dargestellten dreidimensionalen Umgebung durch tiefes Lernen
DE112017007492T5 (de) System und Verfahren zur Erfassung von Objekten in einem digitalen Bild und System und Verfahren zur Neubewertung von Objekterfassungen
DE112019006156T5 (de) Erkennung und behandlung von unsachgemässen eingaben durch neuronale netzwerke
DE4217832A1 (de) Mustererkennungs- und musterlerngeraet
DE102018220274A1 (de) Verfahren zum gemeinsamen Detektieren, Verfolgen und Klassifizieren von Objekten
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
DE102019210507A1 (de) Vorrichtung und computerimplementiertes Verfahren für die Verarbeitung digitaler Sensordaten und Trainingsverfahren dafür
DE102019213059A1 (de) Verfahren und Datenverarbeitungssystem
DE102018113621A1 (de) Verfahren zum Trainieren eines konvolutionellen neuronalen Netzwerks zum Verarbeiten von Bilddaten zur Anwendung in einem Fahrunterstützungssystem
EP4078238A1 (de) Verfahren und vorrichtung zum robustifizieren von sensordaten gegen adversariale störungen
DE102019129029A1 (de) System und verfahren zur objektdetektion
DE112022002037T5 (de) Lernen von ordinalen repräsentationen für tiefe, auf verstärkungslernen basierende objektlokalisierung
DE202019105304U1 (de) Vorrichtung zum Erstellen eines künstlichen neuronalen Netzes
DE102021200643B3 (de) Verfahren zur Umfelderkennung für teilautonome oder autonome Fahrfunktionen eines Kraftfahrzeugs mittels eines neuronalen Netzes
DE4211171C2 (de) Verfahren zum Erkennen von interessierenden Mustern
DE102009060687A1 (de) Verfahren und Vorrichtung zum rechnergestützten Annotieren von Multimediadaten
WO2021043517A1 (de) Verfahren zum komprimieren eines neuronalen netzes
EP1835442A2 (de) Bewertungsvorrichtung, Verfahren und Computerprogramm
DE202019105256U1 (de) Vorrichtung zum Erstellen eines maschinellen Lernsystems

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee