-
Die vorliegende Erfindung betrifft ein Verfahren zur Detektion und Wiedererkennung von Objekten mit einem neuronalen Netz, ein neuronales Netz, ein Steuerungsverfahren, ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
Beim Verwenden eines externen Tracking Algorithmus zur Detektion und Wiedererkennung von Objekten, muss dieser in aufeinanderfolgenden Bildern, den sogenannten Frames, eine Box mit dem gleichen Objekt wiederfinden. Hierzu gibt es verschiedene Ansätze, welche z.B. den Inhalt der Boxen miteinander vergleichen oder die Position, Größe und das Seitenverhältnis mit in Betracht ziehen. Diese Verfahren sind oft fehleranfällig, wenn Objekte nah beieinanderliegen oder Objekte für eine Zeitspanne teilweise oder ganz verdeckt sind.
-
Es kann daher der Wunsch nach einem verbesserten Verfahren zur Detektion und Wiedererkennung von Objekten mit einem neuronalen Netz bestehen.
-
Offenbarung der Erfindung
-
Ausführungsformen der Erfindung ergeben sich aus den unabhängigen Ansprüchen. Zweckmäßige Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen, der Beschreibung sowie den begleitenden Figuren.
-
Gemäß einem Aspekt der Erfindung umfasst ein Verfahren zur Detektion und Wiedererkennung von Objekten mit einem neuronalen Netz folgende Schritte. Extrahieren von Features aus einem Bild, wobei die Features Informationen zu mindestens einem Objekt in dem Bild umfassen. Detektieren des mindestens einen Objekts in dem Bild mit einer Anchor-basierten Objektdetektion basierend auf den extrahierten Features, wobei zum Detektieren des Objekts mit Hilfe mindestens eines Anchors durch eine Klassifizierung Klassifizierungsdaten bestimmt werden und durch eine Regression Regressionsdaten bestimmt werden. Wiedererkennung des mindestens einen Objekts durch Bestimmen von Embeddingdaten basierend auf den extrahierten Features, wobei die Embeddingdaten für das mindestens eine Feature des Bildes eine Objektbeschreibung abbilden.
-
Der Begriff „Feature“, wie er hier benutzt wird, umfasst das Ergebnis der Gesamtheit von Operationen in einem neuronalen Netz, auf Basis dessen Regressions-, Klassifizierungs- und Embeddingdaten bestimmt werden. Diese Operationen erhalten als Eingabe ein bestimmtes Pixel oder eine bestimmte Region des Bildes, wobei das gesamte neuronale Netz mindestens ein Bild als Eingabe enthält.
-
Der Begriff „Klassifizierung“, wie er hier benutzt wird, umfasst eine Prädiktion von Klassenzugehörigkeit, in anderen Worten, ob sich ein Objekt im Bild innerhalb des Anchors befindet und wenn ja, welcher Klasse das Objekt gehört.
-
Der Begriff „Regression“, wie er hier benutzt wird, umfasst ein Verfeinern von Anchor-Koordinaten, in andern Worten, welche Verschiebung und Skalierung des Anchors nötig ist, damit eine Anchor-box des Anchors genau auf dem Objekt im Bild passt.
-
Der Begriff „Embeddingdaten“, wie er hier benutzt wird, umfasst Daten die für ein bestimmtes Pixel oder eine Region des Bildes eine Beschreibung darstellen. Die Embeddingdaten umfassen insbesondere mindestens einen Embeddingvektor. Diese Beschreibung ist möglichst eindeutig für den gegebenen Inhalt des Pixels oder der Region. Somit kann aufgrund der Embeddingdaten ein Ähnlichkeitsvergleich zu anderen Pixeln oder Regionen getroffen werden. Die Embeddingdaten werden auch als Embeddings bezeichnet. Bei der Objektwiedererkennung mit Embeddings wird einem neuronalen Netz beigebracht für ein Pixel oder eine Region spezifische Embeddingdaten, beispielsweise einen spezifischen Embeddingvektor auszugeben. Durch eine Ähnlichkeit der Embeddingdaten, also den Inhalt den sie abbilden, können somit Objekte auf verschiedenen Frames wiedererkannt werden, auch über mehrere Kameraansichten hinweg.
-
Der Begriff „Objekt-Widererkennung“, wie er hier benutzt wird, bezeichnet eine Wiedererkennung von Objekten auf unterschiedlichen Kameras oder Frames. Bei der Objekt-Wiedererkennung mit Embeddings wird dem neuronalen Netz beigebracht für ein bestimmtes Pixel oder eine Region eine Beschreibung auszugeben. Diese Beschreibung ist möglichst eindeutig für einen gegebenen Inhalt und kann aufgrund dieser Daten als Ähnlichkeitsvergleich zu einem anderen Pixel oder Region getroffen werden. Über eine Ähnlichkeit zwischen verschiedenen Embeddings kann eine Zugehörigkeit zu dem gleichen Objekt bestimmt werden.
-
Vorzugsweise wird das mindestens eine Objekt in aufeinanderfolgenden Bildern basierend auf den bestimmten Klassifizierungsdaten, den bestimmten Regressionsdaten und den bestimmten Embeddingdaten getrackt.
-
Der Begriff „Tracken“, wie er hier benutzt wird, umfasst eine Verwendung von einem Algorithmus und/oder System zusätzlich zur Objektdetektion, der insbesondere einem Objektdetektor nachgeschaltet ist, und welcher die Detektionen auf nacheinander folgenden Bildern, die auch Frames genannt werden, prozessiert. Beispielsweise sind Tracking und Objektdetektion voneinander unabhängig. Ein Tracker, der eingerichtet ist, das Tracken auszuführen kann sowohl mit klassischen als auch mit Deep Learning basierten Algorithmen arbeiten.
-
Vorzugsweise wird für jeden Anchor die Klassifizierung, die Regression und das Bestimmen des Embeddings trainiert.
-
Auf diese Weise können Objekte auf unterschiedlichen Bildern wiedererkannt werden.
-
Vorzugsweise, wird das mindestens eine Objekt auf unterschiedlichen Kameraansichten wiedererkannt.
-
Vorzugweise umfassen die Embeddingdaten mindestens einen Embeddingvektor. Vorzugsweise ist die Länge aller Embeddingvektoren gleich. Die Länge der Embeddingvektoren ist vorzugsweise variabel.
-
Vorzugsweise wird das Bild virtuell in Zellen aufgeteilt und zu jeder Zelle wird mindestens ein Anchor zugewiesen. Insbesondere sind die Anchor Prototypen für detektierte Boxen, in anderen Worten bilden transformierte Anchor am Ende den Ausgang des neuronalen Netzes.
-
Zu jedem Anchor gehören mindestens zwei Gruppen von Neuronen im neuronalen Netz. Ein Neuron ist trainiert die Klassifizierung durchzuführen, bei der eine Klassenzugehörigkeit des Objekts prädiziert wird. In anderen Worten wird bestimmt, ob sich ein Objekt im Bild innerhalb des Anchors befindet und wenn ja, ob zu einer der im Training definierten Klassen das Objekt gehört. Beispielsweise ist eine Klasse mit „Person“ bezeichnet. Ein Neuron ist trainiert die Regression durchzuführen, bei der Koordinaten des Anchors verfeinert werden. Insbesondere umfasst die Verfeinerung Informationen darüber, welche Verschiebung und Skalierung des Anchors nötig ist, damit der Anchor, oder in anderen Worten die Anchor-Box, genau auf das Objekt im Bild passt.
-
Vorzugsweise ist die Objektbeschreibung möglichst eindeutig für den Inhalt des Objekts.
-
Somit wird die Einschränkung behoben, dass der Tracking Algorithmus entweder nur auf sehr einfache Eigenschaften der Objekte Zugriff hat und somit zum größten Teil auf Basis von Eigenschaften der Box eine neue Identifikation geschehen muss, oder insbesondere, dass der Tracking Algorithmus für sich selbst Features aus dem Bild extrahieren muss, um komplexere Objekteigenschaften zu bestimmen, was mit Ressourcen- und Rechenaufwand verbunden ist.
-
Somit besteht die Möglichkeit das gleiche Objekt auf unterschiedlichen Kameras wiederzuerkennen.
-
Auf diese Weise werden Embeddings und Anchor-basierte Objektdetektionsverfahren kombiniert, mit dem Ziel Objekte auf unterschiedlichen Bildern wiederzuerkennen.
-
Somit wird die Aufgabe des Trackens vereinfacht, da die Embeddings direkte Informationen über eine Identität des Objekts liefert.
-
Auf diese Weise wird das Objekt diskriminativ durch die Embeddings beschrieben. Somit können diese außerdem zur Wiedererkennung des Objekts außerhalb des Trackings verwendet werden. Die Wiedererkennung führt zu einer Reduktion des Rechenaufwands. Beispielsweise kann bei einer Person Re-Identification, bei der Personen in unterschiedlichen Kameras zu unterschiedlichen Zeitpunkten wiedererkannt werden müssen, Rechenaufwand eingespart werden.
-
Auf diese Weise wird ein verbessertes Verfahren zur Detektion und Wiedererkennung von Objekten mit einem neuronalen Netz bereitgestellt.
-
In einer bevorzugten Ausführungsform umfasst das Verfahren den Schritt Tracken des mindestens einen Objekts in aufeinanderfolgenden Bildern basierend auf den bestimmten Klassifizierungsdaten, den bestimmten Regressionsdaten und den bestimmten Embeddingdaten.
-
Vorzugsweise, wird das mindestens eine Objekt auf unterschiedlichen Kameraansichten wiedererkannt.
-
Auf diese Weise wird ein verbessertes Verfahren zur Detektion und Wiedererkennung von Objekten mit einem neuronalen Netz bereitgestellt.
-
In einer bevorzugten Ausführungsform werden das Detektieren des mindestens einen Objekts und Bestimmen der Embeddingdaten zeitgleich auf Basis der gleichen Features und mit demselben neuronalen Netz durchgeführt.
-
Auf diese Weise werden Embeddings und Anchor-basierte Objektdetektionsverfahren kombiniert, mit dem Ziel Objekte auf unterschiedlichen Bildern wiederzuerkennen.
-
In einer bevorzugten Ausführungsform werden die Embeddingdaten durch ein Embedding-Layer bestimmt, wobei das Embedding-Layer mit einer Loss-Funktion gelernt wird.
-
Vorzugsweise umfasst die Loss-Funktion das Hinzufügen eines Losses.
-
Die Anchor sind vorzugsweise positive Anchor oder negative Anchor.
-
Ein positiver Anchor bezeichnet einen Anchor, dessen relativer Überlapp mit einem Objekt im Bild größer ist als ein vorher festgelegter Schwellwert. Da es Anchor mit der gleichen Position im Bild aber verschiedenen Größen gibt, kann es vorkommen, dass ein Objekt mehr als einen positiven Anchor besitzt solange die Bedingung des Schwellwertes für jeden Anchor jeweils zutrifft.
-
Ein negativer Anchor bezeichnet einen Anchor, bei dem sich innerhalb des Anchorbereichs kein Objekt befindet oder dessen relativer Überlapp mit einem Objekt im Bild kleiner ist als ein vorher festgelegter Schwellwert.
-
Der Loss wird vorzugsweise lediglich für positive Anchor gelernt.
-
Der Loss erfüllt vorzugsweise folgende Bedingungen. Wenn ein Objekt in verschiedenen Anchorn vorkommt, sollen die entsprechenden Embedding-Features gegeben einer Metrik einen möglichst geringen Abstand voneinander haben. Ein Wert, der durch die Metrik aus zwei Embeddingvektoren bestimmt wird soll möglichst groß sein, wenn den Embeddingvektoren unterschiedliche Objekte zugrunde liegen.
-
Der Loss umfasst vorzugsweise einen Pull-Loss, der angibt, dass die Embeddingdaten demselben Objekt zuzuordnen sind, und einen Push-Loss, der angibt, dass die Embeddingdaten verschiedenen Objekten zuzuordnen sind.
-
Vorzugsweise sind mehrere Ansichten von demselben Objekt bekannt, damit der Pull-Loss zwischen mehreren Ansichten desselben Objekts wirken kann.
-
Ein Beispiel für einen Pull-Loss ist wie folgt beschrieben:
-
Ein Beispiel für einen Push-Loss ist wie folgt beschrieben:
e
jk ∈ P(k) ist ein Embeddingvektor für das Objekt k und den Anchor j und eine der beiden Loss-Funktionen wird auf jedes Paar von positiven Anchors angewandt. Δ ist ein Hyperparameter des Trainings, welche die Distanz zwischen Embeddings von unterschiedlichen Objekten bestimmt.
-
Vorzugsweise weist ein Ausgang des Embedding-Layers dieselbe Anzahl von Vektoren wie die Anzahl der Anchor des Ausgangs der Klassifizierung.
-
In einer bevorzugten Ausführungsform umfasst die Pull-Loss-Funktion eine Metrik, wobei die Metrik eine L2Norm oder eine Cosinus-Distanz umfasst. Grundsätzlich kann die Pull-Loss-Funktion eine Funktion d() sein, die folgenden Eigenschaften genügt:
wobei x und y Elemente einer beliebigen Menge sind, insbesondere Embeddingvektoren.
-
In einer bevorzugten Ausführungsform wird das Embedding-Layer mit Objekt-Wiedererkennung gelernt, wobei Distanzen zwischen den Embeddingdaten, insbesondere Embeddingvektoren, von detektierten Objekten verwendet werden.
-
In einer bevorzugten Ausführungsform wird das Embedding-Layer mit temporal detection gelernt, wobei die Embeddingdaten von detektierten Objekten als Eingabe für einen Tracking-Algorithmus verwendet werden.
-
Der Begriff „temporal detection“, wie er hier benutzt wird, umfasst eine Verfolgung von Objekten innerhalb einer Sequenz von nacheinander folgenden Frames. Vorzugsweise wird dazu eine Detektion von Objekten mit anschließendem Tracking verwendet, wobei die Detektionen basieren auf Features von mindestens einem Bild.
-
Gemäß einem Aspekt der Erfindung umfasst ein neuronales Netz eine Klassifikation-Layer, die eingerichtet ist, zum Detektieren mindestens eines Objekts in einem Bild mit einer Anchor-basierten Objektdetektion Klassifizierungsdaten zu bestimmen, eine Regression-Layer, die eingerichtet ist, zum Detektieren mindestens eines Objekts in einem Bild mit einer Anchor-basierten Objektdetektion Regressionsdaten zu bestimmen, eine Embedding-Layer, die eingerichtet ist, das mindestens eine Objekt durch Bestimmen von Embeddingdaten basierend auf den extrahierten Features wiederzuerkennen, wobei die Embeddingdaten für das mindestens ein Feature des Bildes eine Objektbeschreibung abbilden.
-
Vorzugsweise wird das tiefe neuronale Netz benutzt um Objekte in einem Bild zu Detektieren und mit Embeddings wiederzuerkennen. Vorzugsweise umfassen die zu detektierenden und wiederzuerkennenden Objekte Fahrzeuge und/oder Verkehrszeichen.
-
Gemäß einem Aspekt der Erfindung umfasst ein Steuerungsverfahren für einen wenigstens teilautonomen Roboter die Schritte: Empfangen von Bilddaten des wenigstens teilautonomen Roboters, wobei die Bilddaten insbesondere eine Umgebung des Roboters abbilden. Anwenden eines Verfahrens zur Detektion und Wiedererkennung von Objekten, wies es hier beschrieben ist, auf die empfangenen Bilddaten. Steuern des wenigstens teilautonomen Roboters abhängig von den detektierten und wiedererkannten Objekten.
-
Gemäß einem Aspekt der Erfindung wird ein Computerprogramm bereitgestellt, umfassend Befehle, die bei der Ausführung des Computerprogramms durch einen Computer diesen veranlassen, ein Verfahren, wie es hier beschrieben ist, auszuführen.
-
Gemäß einem Aspekt der Erfindung wird ein maschinenlesbares Speichermedium bereitgestellt, auf dem das Computerprogramm, wie es hier beschrieben ist, gespeichert ist.
-
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
-
Figurenliste
-
Es zeigt:
- 1 ein neuronales Netz zur Detektion und Wiedererkennung von Objekten in einem Bild; und
- 2 ein Verfahren zur Detektion und Wiedererkennung von Objekten in einem Bild.
-
1 zeigt ein neuronales Netz 10 zur Detektion und Wiedererkennung von Objekten in einem Bild. Das neuronale Netz 10 umfasst einen Feature-Extraktor 20, der eingerichtet ist, Features F aus einem Bild zu extrahieren, wobei die Features F Informationen zu mindestens einem Objekt in dem Bild umfassen.
-
Das neuronale Netz umfasst weiter eine Klassifikations-Layer 30, eine Regressions-Layer 40, eine Embedding-Layer 50 und einen Tracking-Algorithmus 60. Der Feature-Extraktor 20 versorgt die Klassifikation-Layer 30, die Regression-Layer 40 und die Embedding-Layer 50 mit den extrahierten Features F. Die Klassifikation-Layer 30 ist eingerichtet mindestens ein Objekt in dem Bild mit einer Anchor-basierten Objektdetektion zu klassifizieren und dabei Klassifizierungsdaten Dk zu bestimmen. Die Regression-Layer 40 ist eingerichtet, mindestens ein Objekt in dem Bild mit einer Anchor-basierten Objektdetektion zu detektieren und dabei Regressionsdaten Dr zu bestimmen. Die Embedding-Layer 50 ist eingerichtet, mindestens einen Embeddingvektor V basierend auf den extrahierten Features F, zu bestimmen, um das mindestens eine Objekt in mehreren aufeinanderfolgenden Bildern wiederzuerkennen, wobei der mindestens eine Embeddingvektor für das mindestens eine Feature F des Bildes eine Objektbeschreibung abbildet.
-
Die bestimmten Klassifizierungsdaten Dk, Regressionsdaten Dr und der mindestens eine Embeddingvektor V werden im Anschluss an den Tracking-Algorithmus 60 weitergeleitet. Der Tracking-Algorithmus 60, ist eingerichtet, das mindestens eine Objekt in aufeinanderfolgenden Bildern basierend auf den bestimmten Klassifizierungsdaten Dk, den bestimmten Regressionsdaten Dr und dem bestimmten mindestens einen Embeddingvektor V zu tracken.
-
2 zeigt ein Verfahren zur Detektion und Wiedererkennung von Objekten mit einem neuronalen Netz, umfassend folgende Schritte. In einem ersten Schritt S10 werden Features F aus einem Bild extrahiert, wobei die Features F Informationen zu mindestens einem Objekt in dem Bild umfassen. In einem zweiten Schritt S20 wird das mindestens eine Objekt in dem Bild mit einer Anchor-basierten Objektdetektion basierend auf den extrahierten Features F detektiert, wobei zum Detektieren des Objekts mit Hilfe mindestens eines Anchors durch eine Klassifizierung Klassifizierungsdaten Dk bestimmt werden und durch eine Regression Regressionsdaten Dr bestimmt werden. In einem dritten Schritt S30 wird das mindestens eine Objekt durch Bestimmen von mindestens einem Embeddingvektor V basierend auf den extrahierten Features F wiedererkannt, wobei der mindestens eine Embeddingvektor V für das mindestens ein Feature F des Bildes eine Objektbeschreibung abbildet.