-
Die vorliegende Erfindung betrifft ein Verfahren zur Erfassung von Unsicherheiten bei der Detektion und/oder Verfolgung von mehreren Objekten aus Punktwolken-Daten mittels eines Transformers mit Attention-Modell.
-
Stand der Technik
-
Bei bildgebenden Sensoren wird heutzutage Objektdetektion durchgeführt. In der aufgenommenen Umgebung befinden sich typischerweise mehrere Objekte, sodass eine Detektion von mehreren Objekten durchgeführt wird. Beispielsweise wird Objektdetektion bei Sensoren für Fahrzeuge eingesetzt, um andere Fahrzeuge, andere Verkehrsteilnehmer und die Infrastruktur zu erfassen. Diese Daten können für (teil-)automatisiertes oder autonomes Fahren verwendet werden.
-
Neuerdings wird das Konzept verfolgt, Transformer für die Objektdetektion anzuwenden. Transformer werden in dem Paper Ashish Vaswani et al, „Attention is all you need", arXiv preprint arXiv:1706.03762, 2017 beschrieben, zunächst im Kontext von Sprachverarbeitung. Bei der Objektdetektion werden aus einer Messung für jedes Objekt Bounding-Boxen und deren Box-Parameter, die das Objekt beschreiben, also z. B. dessen Position, Ausmaße, Orientierung, Geschwindigkeit und/oder Klassenidentifikator, ermittelt. Die Transformer können auch für nachgelagerte Anwendungen wie beispielsweise Objektverfolgung, Prädiktion oder (Pfad-) Planung verwendet werden. Bei Verwendung von Transformern zur Objektdetektion kann die herkömmlicherweise in der Nachverarbeitung angewendete Unterdrückung von überlappenden Detektionen vernachlässigt werden.
-
Unsicherheiten werden in zwei Klassen aufgeteilt: Epistemische Unsicherheiten rühren von Unsicherheiten im Modell her, beispielsweise, wenn eine Observation gemacht wurde, die nicht in den Trainingsdaten vorhanden ist. Zudem kann ein unstrukturiertes und dynamisches Umfeld zu solchen Unsicherheiten führen, da diese Vielseitigkeit kaum von einem Trainingsdatensatz abgedeckt werden kann. Demgegenüber stehen aleatorische Unsicherheiten, die von Sensorrauschen herrühren und/oder durch schlechte Sicht des Sensors und/oder großen Abstand zum Sensor entstehen.
-
Offenbarung der Erfindung
-
zur Erfassung von Unsicherheiten bei der Detektion und/oder Verfolgung von mehreren Objekten aus Punktwolken-Daten mittels eines Transformers mit Attention-Modell. Die Punktwolken-Daten werden durch einen Sensor, beispielsweise durch ein LiDAR, erfasst. Allerdings ist dieses Verfahren nicht auf LiDAR beschränkt, sondern es können auch andere Sensortypen verwendet werden. Bevorzugt ist der Sensor bzw. das Sensorsystem an einem Fahrzeug angeordnet, sodass die Punktwolken-Daten aus dem Fahrzeug aufgenommen werden.
-
Das Verfahren umfasst die folgenden Schritte: Zu Beginn werden Feature-Vektoren aus den Punktwolken-Daten berechnet. Dies wird nicht von dem Encoder des Transformers durchgeführt, sondern durch ein Backbone. Ein Backbone ist ein neuronales Netz, das dafür verwendet wird, aus gemessenen Daten Features zu extrahieren, bzw. den Input in eine gewisse Feature-Repräsentation zu bringen, die dann weiterverarbeitet werden kann. Somit kann auf den Encoder des Transformers verzichtet werden. Das Backbone überträgt die typischerweise dreidimensionalen Punktwolke-Daten in eine räumliche Struktur. Vorzugsweise wird die Ausgabe des Backbones umformatiert, um eine Folge von Feature-Vektoren mit einer vorgebbaren Länge zu erhalten. Durch die Verwendung des Backbones zur Berechnung der Feature-Vektoren ist die Länge der Eingabesequenz weniger limitiert als mit einem Encoder des Transformers und stattdessen kann bei einem gitterbasierten Backbone, wie PointPillars, eine ausreichend kleine Zellgröße gewählt werden. Die somit berechneten Feature-Vektoren werden dann dem Transformer zugeführt und dienen als Key-Vektoren und Value-Vektoren für die Ermittlung der Cross-Attention. Die ausgegebenen Feature-Vektoren, die als Key-Vektoren und als Value-Vektoren dienen, lassen sich somit jeweils einem Ort im Raum zuordnen.
-
Generell können die Attention-Gewichte einem beliebigen Punkt im Raum zugeordnet werden. Vorzugsweise ist die räumliche Struktur ein Gitter. Das Backbone überträgt die dreidimensionalen Punktwolke-Daten in die Gitterstruktur. Es kodiert den Inhalt jeder Gitterzelle jeweils in einen Feature-Vektor. Es können verschiedene Gitterarten verwendet werden, sowohl zweidimensionale Gitter als auch dreidimensionale Gitter. Ein Gitter aus der Vogelperspektive hat sich als besonders geeignet hervorgetan, um die Szenerie zu repräsentieren.
-
Zudem werden aus den Punktwolken-Daten durch eine Sampling-Methode wie beispielsweise Farthest-Point-Sampling (FPS) erste Anker-Positionen für eine erste Schicht des Transformers berechnet. Aus den ersten Anker-Positionen werden mittels Encodings, beispielsweise Fourier-Encoding, Feature-Vektoren ermittelt. Das Encoding kann insbesondere durch ein Feed-Forward-Netz komplettiert werden. Die somit berechneten Feature-Vektoren dienen als Objekt-Queries für die erste Schicht eines Decoders des Transformers. Die Objekt-Queries der Anker-Positionen dienen als Ausgangspunkte für die Suche nach Objekten. Allerdings ist die Suche nicht auf diese Anker-Positionen beschränkt, sondern es werden auch Objekte in einem Abstand zu diesen Anker-Positionen detektiert. Anker-Positionen entsprechen nicht Anchor-Boxen, wie sie bei anderen Detektionsansätzen verwendet werden. Die Objekt-Queries für den Transformer sind somit von Daten abhängig und nicht wie üblich eingelernt. Dies bietet vor allem bei dünn besetzen Punktwolken Vorteile, da sonst viel Rechenressourcen für das Auffinden von Positionen, die tatsächlich Daten aufweisen, verschwendet wird. Solche dünn besetzen Punktwolken kommen insbesondere bei Messungen mit LiDAR vor. Die aus den Anker-Positionen ermittelten Objekt-Queries dienen als Slots für mögliche Objekte.
-
Zur Detektion der Objekte ermittelt ein Decoder des Transformers mittels Cross-Attention aus den Objekt-Queries, also den vorstehend beschriebenen Feature-Vektoren, und den Key-Vektoren und Value-Vektoren, also den eingangs beschriebenen Feature-Vektoren, Ergebnis-Feature-Vektoren, welche auch als Decoder-Ausgabe-Vektoren bezeichnet werden. Aus den Ergebnis-Feature-Vektoren werden Box-Parameter für Bounding-Boxen, die ein Objekt beschreiben, also z. B. dessen Position bzw. Positions-Unterschiede relativ zu den Anker-Positionen, Ausmaße, Orientierung, Geschwindigkeit und/oder Klassenidentifikator mittels eines Feed-Forward-Netzes berechnet. Hierfür wird bevorzugt ein anderes Feed-Forward-Netz als das vorstehend genannte Feed-Forward-Netz zur Ermittlung der Objekt-Queries verwendet, das sich durch die Gewichtung unterscheidet.
-
Im Decoder des Transformers findet Cross-Attention zwischen den Objekt-Queries und den aus der Ausgabe des Backbones berechneten Key-Vektoren statt. Die Value-Vektoren werden nicht zur Berechnung der Attention-Gewichte benötigt. Dazu wird paarweise für jede Kombination aus Objekt-Query und Key-Vektor ein Attention-Gewicht berechnet. Bevorzugt werden die ohnehin bei der Detektion ermittelten Attention-Gewichte zur Erfassung von Unsicherheiten bei der Detektion verwendet.
-
Die Attention-Gewichte bezüglich jedem Key-Vektor lassen sich in der vom Backbone verwendeten räumlichen Struktur interpretieren. Für den Fall, dass die räumliche Struktur ein Gitter ist, lassen sich die Attention-Gewichte bezüglich jedem Key-Vektor in den Gitterzellen interpretieren, da jeder Key-Vektor einer Gitter-Zelle zugeordnet ist.
-
Die Attention-Gewichte werden vorzugsweise für jede Schicht des Decoders ermittelt. Nach der Berechnung liegen die Attention-Gewichte bevorzugt in Attention-Gewicht-Matrizen vor. Optional können die zweidimensionalen Attention-Gewicht-Matrizen entsprechend den Feature-Vektoren, insbesondere den Key-Vektoren, des Backbone zu dreidimensionalen Matrizen umgeformt werden. Für jedes Objekt, das auf die oben beschriebene Weise detektiert wird, werden somit Attention-Gewicht-Matrizen für jede Schicht des Decoders erhalten. Diese geben Einsicht, auf welche Eingabedaten die jeweilige Abfrage (Query) zugegriffen hat, um dieses Objekt zu erkennen.
-
Für jedes Objekt-Query wird aus den berechneten Attention-Gewichten eine vorgebbare Anzahl k von größten Attention-Gewichte bestimmt, beschrieben durch das Set S
k. Die vorgebbare Anzahl richtet sich nach der gewünschten Genauigkeit und dem aufzubringenden Rechenaufwand. Es müssen somit nicht alle Attention-Gewichte berechnet werden, sondern eine kleine Auswahl der größten Attention-Gewichte ist ausreichend. Generell können die größten Attention-Gewichte aus allen Schichten des Decoders berechnet werden, um ein frühzeitiges und/oder genaues Ergebnis zu erhalten. Bevorzugt werden die größten Attention-Gewichte nur aus der letzten Schicht des Decoders berechnet, um den Rechenaufwand zu minimieren. Aus den größten Attention-Gewichten wird dann eine Attention-Kovarianz mittels einer Kovarianzmatrix C
K berechnet:
wobei W = Σ
i∈SK w
i ist und µ
K der empirische Erwartungswert für die größten Attention-Gewichte für jede Schicht ist und folgendermaßen definiert wird:
-
Der Raum ist hier als zweidimensionale Fläche in x- und y-Richtung angenommen, wie er beispielsweise in der Vogelperspektive repräsentiert wird. Optional kann bei der Berechnung die dritte Dimension (zi) hinzugefügt werden.
-
Für die Berechnung kann auch ein robuster Schätzer wie die Huber-Verlustfunktion L
δ ((Huber loss function) verwendet werden:
δ stellt einen Schwellenwert dar. Im oberen Fall für kleine Abweichungen vom Erwartungswert µ
k wird die vorstehend beschriebene Kovarianzmatrix berechnet. Große Ausreiser vom Erwartungswert µ
k, welche den Schwellenwert übersteigen, werden im unteren Fall berechnet und tragen nur linear und nicht quadratisch zur Kovarianzmatrix bei.
-
Durch Berechnen der Determinante der Kovarianzmatrix C
k, wird schließlich eine Attention-Spread AS erhalten, die als Wert ein Maß für die Unsicherheit darstellt.
-
Nachfolgend wird der Zusammenhang zwischen der Attention-Spread und dem loU (intersection-overunion) zwischen den ermittelten Bounding-Boxen und den Bounding-Boxen von nächstliegenden Objekt gemäß der Grundwahrheit beschrieben. IoU ist der Quotient aus der Schnittmenge der ermittelten Bounding-Box B
e mit der Bounding-Box B
gt gemäß der Grundwahrheit und der Vereinigung dieser:
-
Ein größerer loU-Wert entspricht einer genaueren Detektion des Objekts. Das loU-Maß korreliert mit der epistemischen Unsicherheit. IoU-Werte von Null, bei denen also kein Überlapp vorhanden ist, wurden für den Vergleich entfernt. Aus dem Vergleich geht hervor, dass die Attention-Spread mit steigender loU sinkt. Somit zeigt eine niedrige Attention-Spread einen hohen loU und somit eine niedrige epistemische Unsicherheit und umgekehrt. Die Attention-Spread ist somit ein Indikator für die epistemische Unsicherheit.
-
Des Weiteren wurde das Verhalten der Attention-Spread für unterschiedliche Abstände der Bounding-Boxen zum Sensor, der die Punktwolke erfasst, untersucht. Die Attention-Spread nimmt mit größer werdendem Abstand zu. Somit verhält sich die Attention-Spread entsprechend der aleatorischen Unsicherheit und ist somit ein Indikator für diese.
-
Das Computerprogramm ist eingerichtet, jeden Schritt des Verfahrens durchzuführen, insbesondere, wenn es auf einem Rechengerät oder Steuergerät durchgeführt wird. Es ermöglicht die Implementierung des Verfahrens in einem herkömmlichen elektronischen Steuergerät, ohne hieran bauliche Veränderungen vornehmen zu müssen. Zur Implementierung ist das Computerprogramm auf dem maschinenlesbaren Speichermedium gespeichert.
-
Durch Aufspielen des Computerprogramms auf ein herkömmliches elektronisches Steuergerät, wird das elektronische Steuergerät erhalten, welches eingerichtet ist, ein Erfassen von Unsicherheiten für eine Detektion und/oder Verfolgung von mehreren Objekten aus Punktwolken-Daten durchzuführen.
-
Kurze Beschreibung der Zeichnungen
-
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert.
- 1 zeigt ein Ablaufdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens.
- 2 zeigt ein Ablaufdiagramm zur Berechnung der Attention-Spread gemäß einer Ausführungsform der Erfindung.
- 3 zeigt einen Ausschnitt aus einem Gitter aus der Vogelperspektive, in dem die ermittelten Bounding-Boxen, die Attention-Spread und Bounding-Boxen gemäß der Grundwahrheit dargestellt sind.
-
Ausführungsbeispiele der Erfindung
-
1 zeigt ein Ablaufdiagramm des erfindungsgemäßen Verfahrens zu zwei aufeinanderfolgenden Zeitpunkten t und t+1. Gleiche Schritte werden mit gleichen Bezugszeichen bezeichnet und nur einmal im Detail beschrieben. Nachfolgend bezeichnen i und k als Indizes Laufvariablen. p und q sind Indizes, die einem Vogelperspektive-Gitter zugeordnet sind. Jeder Index q ist mit einer horizontalen Position in x-Richtung assoziiert und jeder Index p ist mit einer vertikalen Position in y-Richtung des Vogelperspektive-Gitter assoziiert.
-
Die linke Seite betrifft den ersten Zeitpunkt t. Zu Beginn erfasst ein LiDAR-Sensor eines Fahrzeugs F die Umgebung. Eine visuelle Darstellung dieser aufgenommenen Punktwolken-Daten ist mit 1 bezeichnet. Aus den Punktwolken-Daten berechnet ein Backbone 2 Feature-Vektoren. Das Backbone 2 überträgt die dreidimensionalen Punktwolken-Daten in eine Gitterstruktur. Als Beispiel verwendet das Backbone 2 ein Gitter aus der Vogelperspektive mit 128x128 Gitterzellen. Das Backbone 2 kodiert den Inhalt jeder Gitterzelle jeweils in einen Feature-Vektor, z.B. mit einer Dimension von 64, sodass das Ergebnis die Größe 128x128x64 hat. Dieses Ergebnis wird in eine Folge von Feature-Vektoren mit der Größe (128x128)x64 umgeformt. Aus dieser Folge von Feature-Vektoren wird dann durch ein Positions-Encoding 3 Key-Vektoren k
t,i und Value-Vektoren v
t,i berechnet. Im vorliegenden Beispiel werden somit 128x128 Key-Vektoren k
t,i und genauso viele Value-Vektoren v
t,i erhalten. Die Anzahl 128x128 wird nachfolgend als N festgelegt, sodass das Gitter eine Größe von
aufweist. Die Key-Vektoren k
t,i und Value-Vektoren v
t,i werden dann einem Decoder 6 des Transformers zugeführt.
-
Gleichzeitig werden aus den Punktwolken-Daten durch eine Sampling-Methode 4, beispielsweise Farthest-Point-Sampling, Anker-Positionen ρ
t,j zum ersten Zeitpunkt t ermittelt, die dann ein Fourier-Encoding 5 durchlaufen:
-
B ist dabei eine Matrix, die Einträge der Normalverteilung aufweist, FFN stellt ein Feed-Forward-Netz dar, welches hier aus zwei Schichten mit einer ReLU-Aktivierung (Rectified Linear Unit) besteht. yj sind die berechneten Feature-Vektoren, welche als Objekt-Queries dem Decoder 6 des Transformers zugeführt werden. Die Anzahl der Ankerpositionen beträgt beispielsweise 100 und wird im Folgenden mit M bezeichnet (die Laufvariable j läuft von 1 bis M).
-
Das für den ersten Zeitpunkt t ausgegebene Set von Feature-Vektoren ist mit Y
t bezeichnet und bestehen aus den Objekt-Queries y
t,j. Jedes Objekt-Query y
t,j dient als Slot (In
1 dargestellt durch einzelne Kästchen) für ein mögliches Objekt. Der Decoder 6 des Transformers besteht aus sechs Schichten K mit jeweils acht Attention-Heads. Der Decoder 6 ermittelt zum ersten Zeitpunkt t aus den Objekt-Queries y
t,j sowie den Key-Vektoren k
t,i und den Value-Vektoren v
t,i Ergebnis-Feature-Vektoren
Für die Detektion berechnet der Decoder 6 Attention-Gewichte w
p,q,i für jedes Objekt-Query y
t, j. Die Attention-Gewichte w
p,q,i werden in einer Attention-Gewichte-Matrizen M
w abgespeichert. Da diese Attention-Gewichte w
p,q,i in diesem Beispiel auf Basis des Vogelperspektive-Gitter ermittelt wurden, können der Index q mit einer Position x
q in x-Richtung des Vogelperspektive-Gitters und der Index p mit einer Position y
p in y-Richtung des Vogelperspektive-Gitters assoziiert werden. Im Decoder 6 werden in jeder Schicht K Attention-Gewichte-Matrizen M
w ermittelt. Die Attention-Gewichte w
p, a, i bzw. die Attention-Gewichte-Matrizen M
w werden für eine Ermittlung 10 einer Attention-Spread AS verwendet, wie sie nachfolgend im Zusammenhang mit
2 beschrieben wird.
-
Es werden zwei Objekte O
1 und O
2 zum ersten Zeitpunkt t detektiert. Ein Feed-Forward-Netz 7 berechnet aus den Ergebnis-Feature-Vektoren
Box-Parameter d
j für die Objekte O
1, O
2. Die Objekte O
1, O
2 wurden detektiert und sind hier in der mit 8 bezeichneten visuellen Darstellung eingezeichnet.
-
Die Objektverfolgung für ein Objekt O1, O2 wird nur weitergeführt, wenn in dem entsprechenden Zeitschritt die Konfidenz über einem Schwellenwert liegt. Ansonsten wird die Objektverfolgung dieses Objekts ausgesetzt oder beendet.
-
Auf der rechten Seite in
1 ist die Auswertung für einen zweiten Zeitpunkt t+1 dargestellt, der nach einem Zeitschritt, der durch die Wiederholrate der Aufnahme des LiDAR-Sensors definiert ist, dem ersten Zeitpunkt t folgt. Das Fahrzeug F bewegt sich in diesem Zeitschritt mit seiner Eigengeschwindigkeit fort. Dies wirkt sich auf die Auswertung der gemessenen Daten und die relative Position und Geschwindigkeit der Objekte O
1, O
2 aus. Es wird eine Eigengeschwindigkeitskompensation 9 durchgeführt. Hierbei werden aus den Ergebnis-Feature-Vektoren
für den ersten Zeitpunkt t, den Anker-Positionen ρ
t,j, und einer Posenänderung p transformierte Ergebnis-Feature-Vektoren
erhalten:
-
Analog zum ersten Zeitpunkt t erfasst auch hier zu Beginn der LiDAR-Sensor die Umgebung und das Backbone 2 berechnet aus den Punktwolken-Daten Feature-Vektoren, welche durch das Positions-Encoding 3 mittels Sinus und Cosinus augmentiert werden und schließlich als Key-Vektoren kt+1, i und Value-Vektoren vt+1, i für den zweiten Zeitpunkt t+1 dem Decoder 6 des Transformers zugeführt werden. Hierfür verwendet das Backbone dasselbe Gitter wie vorstehend beschrieben. Gleichzeitig werden aus den Punktwolken-Daten durch die Sampling-Methode 4, Anker-Positionen ρt+1, j zum zweiten Zeitpunkt t+1 ermittelt, die dann das Fourier-Encoding 5 gemäß Formel 1 durchlaufen. Es werden Objekt-Queries yt+1, j für den zweiten Zeitpunkt t+1 erhalten.
-
Das für den zweiten Zeitpunkt t+1 ausgegebene Set von Feature-Vektoren ist mit Y
t+1 bezeichnet und bestehen aus den Objekt-Queries y
t+1, j für den zweiten Zeitpunkt t+1 und den transformierten Ergebnis-Feature-Vektoren
die für den ersten Zeitpunkt t berechnet wurden, und kann als Vereinigung
dargestellt werden. Jedes Objekt-Query y
t+1, j und jeder transformierte Ergebnis-Feature-Vektor
dienen als Slot (In
1 dargestellt durch einzelne Kästchen) für ein mögliches Objekt.
-
Der Decoder 6 ermittelt aus den Objekt-Queries y
t,j, den transformierten Ergebnis-Feature-Vektoren
sowie den Key-Vektoren k
t+1, i und den Value-Vektoren v
t+1, i Ergebnis-Feature-Vektoren
zum zweiten Zeitpunkt t+1. Auch hier berechnet der Decoder 6 Attention-Gewichte w
p,q,i für jedes Objekt-Query y
t, j und jeden transformierten Ergebnis-Feature-Vektor
in jeder Schicht K des Decoders 6. Attention-Gewichte w
p, a, i werden ebenfalls in Attention-Gewichte-Matrizen M
w abgespeichert. Die Attention-Gewichte w
p, a, i bzw. die Attention-Gewichte-Matrizen M
w werden wiederum für die Ermittlung 10 der Attention-Spread AS verwendet, wie sie nachfolgend im Zusammenhang mit
2 beschrieben wird.
-
Ein neues Objekt O
3 wird in den Ergebnis-Feature-Vektoren
nur verfolgt, wenn die Konfidenz über einem Schwellenwert liegt. Es wird neben den beiden Objekten O
1 und O
2 ein drittes Objekt O
3 detektiert, dessen Pfad weiterverfolgt wird. Das Feed-Forward-Netz 7 berechnet aus den Ergebnis-Feature-Vektoren
Box-Parameter d
j für die Objekte O
1, O
2, O
3. Auch hier sind die Objekte O
1, O
2, O
3 in der mit 8 bezeichneten visuellen Darstellung eingezeichnet. Hierdurch werden die mehreren Objekte O
1, O
2, O
3 zu einem weiteren Zeitschritt t+1 detektiert.
-
In
2 ist eine Ermittlung der Attentions-Spread AS dargestellt. Die zur Detektion der Objekte O
1, O
2, O
3 im Decoder 6 berechneten Attention-Gewichte w
p,q,i sind in Attention-Gewichts-Matrizen M
w der Größe NxM, also der Anzahl der Eingangs-Objekt-Queries M und der Länge der Vektoren der Eingangs-Objekt-Queries N, gespeichert. Im vorliegenden Beispiel für 100 Objekt-Queries y
j (und zusätzlich den transformierten Ergebnis-Feature-Vektoren
die hier aus Gründen der Übersicht nicht jedes Mal erwähnt werden) erhält man somit eine Attention-Gewichte-Matrix der Größe (128*128)x100. Durch eine Transformation 11 wird die Attention-Gewichts-Matrix M
w in eine transformierte Attention-Gewichts-Matrix M
w der Größe
umgewandelt, also der Größe des Gitters
das sich aus den zugehörigen Positionen zu Key-Vektoren k
i und Value-Vektoren v
i ergibt und der Länge M der Vektoren der Eingangs-Objekt-Queries. In diesem Beispiel ist die Größe 128x128x100. Dies lässt sich auch als ein 1 Gitter der Größe 128x128 pro Objekt-Query y
j interpretieren. Somit wird ein Zusammenhang zwischen der transformierten Attention-Gewichts-Matrix M̃
w,den Objekt-Queries y
j (sowie den transformierten Ergebnis-Feature-Vektoren
)und dem Gitter hergestellt. Für jedes Objekt-Queries y
j wird nun eine vorgebbare Anzahl k von größten Attention-Gewichte aus der transformierten Attention-Gewichts-Matrix M̃
w für das jeweilige Objekt-Queries y
j ermittelt 12. Die vorgebbare Anzahl k von größten Attention-Gewichten ist in diesem Beispiel 100. Dies kann für alle Schichten K des Decoders 6 durchgeführt werden oder nur für eine einzelne Schicht, insbesondere für die letzte Schicht oder für mehrere Schichten des Decoders. Die größten Attention-Gewichte w
max sind die Attention-Gewichte w
p,a,i, für die gilt: p, q ∈ S
k. Anschließend wird für die größten Attention-Gewichten w
max (also für w
p,q,i mit p, q ∈ S
k) eine Kovarianzmatrix berechnet 13:
wobei W = Σ
p,q∈Sk w
p,q,i ist, x
q die Position in x-Richtung des Gitters ist, y
p die Position in y-Richtung des Gitters ist und µ
k der empirische Erwartungswert für die größten Attention-Gewichte w
max des Decoders 6 ist und folgendermaßen definiert wird:
-
Schließlich wird die Determinante dieser Kovarianzmatrix C
k berechnet 14 und somit als Wert die Attention-Spread AS erhalten.
-
3 zeigt ein Gitter aus der Vogelperspektive, welches durch ein Fahrzeug F in 30 bis 50 Entfernung aufgenommen wurde. Das hier nicht gezeigte Fahrzeug F liegt in genannter Entfernung auf der negativen y-Achse. Es sind für fünf Objekte O1, O2, O3, O4 und O5 die ermittelten Bounding-Boxen Be, die Bounding-Boxen Bgt gemäß der Grundwahrheit (ground truth) dargestellt sowie die berechneten Attention-Spread AS als Ellipse eingezeichnet. Für die beiden näher liegenden (unten dargestellten) Objekte O1 und O2 liegen die jeweiligen ermittelten Bounding-Boxen Be auf oder nur knapp neben den Bounding-Boxen Bgt gemäß der Grundwahrheit. Die Attention-Spread AS ist klein, was sich durch die kleine Ellipse ausdrückt. Für die weiter entfernten (oben links dargestellten) Objekte O3 und O4 wurde nur eine Bounding-Box Be ermittelt, nämlich für das Objekt O4. Die Attention-Spread AS ist sehr groß, was sich durch die große Ellipse ausdrückt. Für das ebenfalls weiter entfernte (oben rechts dargestellte) Objekt O5 wurden zwei Bounding-Boxen Be ermittelt, wobei eine ermittelte Bounding-Box Be mit der Bounding-Box Bgt der Grundwahrheit übereinstimmt und die andere ermittelte Bounding-Box Be neben dieser liegt. Die Attention-Spread AS der nebenliegenden ermittelten Bounding-Box Be ragt aber in die andere ermittelte Bounding-Box Be hinein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Paper Ashish Vaswani et al, „Attention is all you need“, arXiv preprint arXiv:1706.03762, 2017 [0003]