DE102022205110A1 - Verfahren zur Objektverfolgung - Google Patents

Verfahren zur Objektverfolgung Download PDF

Info

Publication number
DE102022205110A1
DE102022205110A1 DE102022205110.6A DE102022205110A DE102022205110A1 DE 102022205110 A1 DE102022205110 A1 DE 102022205110A1 DE 102022205110 A DE102022205110 A DE 102022205110A DE 102022205110 A1 DE102022205110 A1 DE 102022205110A1
Authority
DE
Germany
Prior art keywords
vectors
feature vectors
transformer
time
result feature
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
DE102022205110.6A
Other languages
English (en)
Inventor
Florian Faion
Felicia Ruppel
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022205110.6A priority Critical patent/DE102022205110A1/de
Priority to CN202310585034.0A priority patent/CN117115472A/zh
Publication of DE102022205110A1 publication Critical patent/DE102022205110A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/66Tracking systems using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • 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
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Abstract

Die Erfindung betrifft ein Verfahren zur Verfolgung von mehreren Objekten (O1, O2, O3) aus Punktwolken-Daten mittels eines Transformers mit Attention-Modell, wobei der Zustand der verfolgten Objekte (O1, O2, O3) im Feature-Space gespeichert ist. Es werden folgende Schritte ausgeführt:- Berechnen von Feature-Vektoren aus den Punktwolken-Daten durch ein Backbone (2), wobei die Feature-Vektoren als Key-Vektoren (kt,i, kt+1,i) und den Value-Vektoren (vt,i, vt+1,i) für den Transformer dienen;- Berechnen von Anker-Positionen (ρt,i, ρt+1,i) aus den Punktwolken-Daten durch eine Sampling-Methode (4);- Ermitteln von Feature-Vektoren aus den Anker-Positionen (ρt,i, ρt+1,ί) mittels eines Encodings (5), wobei die Feature-Vektoren als Objekt-Queries (yt,i, yt+1,i) für den Transformer dienen;- Ermitteln von Ergebnis-Feature-Vektoren (yt,i) zu einem ersten Zeitpunkt t aus den Objekt-Queries (yt,i) und den Key-Vektoren (kt,i) und Value-Vektoren vt,izu diesem Zeitpunkt (t) mittels eines Decoders (6) des Transformers;- Eigengeschwindigkeitskompensation (9) der Ergebnis-Feature-Vektoren(yt,i'),um transformierte Ergebnis-Feature-Vektoren(yt,k'')zu erhalten;- Ermitteln von Ergebnis-Feature-Vektoren(yt+1,i')nach einem Zeitschritt aus den transformierten Ergebnis-Feature-Vektoren(yt,k'')zum vorherigen Zeitpunkt (t) und berechneten Objekt-Queries yt+1,iund den Key-Vektoren kt+1,iund Value-Vektoren vt+1,izu diesem Zeitpunkt (t+1) mittels des Decoders (6) des Transformers.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Verfolgung von mehreren Objekten aus Punktwolken-Daten mittels eines Transformers mit Attention-Modell.
  • Stand der Technik
  • Bei bildgebenden Sensoren wird heutzutage Objektverfolgung (Object Tracking) durchgeführt, bei dem ein Objekt detektiert und über einen Zeitraum hinweg verfolgt wird. In der aufgenommenen Umgebung befinden sich typischerweise mehrere Objekte, sodass eine Verfolgung von mehreren Objekten (MOT, Multi-Object Tracking) durchgeführt wird. Jedem Objekt wird eine eindeutige Identifikation zugeordnet, welche sich in dem Zeitraum nicht ändert. Beispielsweise wird Objektverfolgung 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. Bei Fahrzeugen muss die Eigengeschwindigkeit des Fahrzeugs bei der Objektverfolgung miteinbezogen werden.
  • Generell gibt es zwei Ansätze für die Objektverfolgung. Beim Tracking-by-Detection werden die Objekte detektiert und einem separaten Tracker übergeben, der sie über den Zeitraum verfolgt. Die Informationen werden dabei über eine Schnittstelle zwischen dem Detektor und dem Tracker übergeben.
  • Beim Tracking-and-Detection werden Detektion und Verfolgung (Tracking) der Objekte gleichzeitig ausgeführt. Dabei kann Deep Learning und ein neuronales Netzwerk in Form eines Transformers verwendet werden. Hierfür sind bis jetzt weder eine Auswertung von Punktwolken-Daten noch eine Anwendung für den Fahrzeugbereich bekannt.
  • Die Transformer werden in dem Paper Ashish Vaswani et al, „Attention is all you need“, arXiv preprint arXiv:1706.03762, 2017 beschrieben.
  • Offenbarung der Erfindung
  • Die Erfindung betrifft ein Verfahren zur Verfolgung von mehreren Objekten aus Punktwolken-Daten mittels eines Transformers mit Attention-Modell. Die Punktwolken-Daten werden 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. Ein Fahrzeug bewegt sich typischerweise, sodass hier eine unten beschriebene Eigengeschwindigkeitskompensation besonders vorteilhaft ist.
  • Der Zustand der verfolgten Objekte ist im Feature-Space gespeichert. Das Verfahren umfasst die folgenden Schritte: Zu Beginn werden Feature-Vektoren aus den Punktwolken-Daten berechnet. Dies wird nicht wie üblich von dem Encoder des Transformers durchgeführt, sondern durch einen 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. Durch die Verwendung des Backbones zur Berechnung der Feature-Vektoren ist die Eingabesequenz bei der Self-Attention weniger limitiert und stattdessen wird bei einem gitterbasierten Backbone, wie PointPillars, die Größe der Zelle erhöht. 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.
  • Zudem werden aus den Punktwolken-Daten durch eine Sampling-Methode wie beispielsweise Farthest-Point-Sampling (FPS) Anker-Positionen berechnet. Da die Anker-Positionen aus den aufgenommenen Daten ermittelt werden, ändern sich diese für jeden Zeitpunkt (Frame). Aus den Anker-Positionen werden mittels Encoding, beispielsweise Fourier-Encoding, Feature-Vektoren ermittelt. Das Encoding kann insbesondere durch ein Feed-Forward-Netz ausgeführt werden. Die somit berechneten Feature-Vektoren dienen als Objekt-Queries für den Transformer. 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.
  • Ein Decoder des Transformers ermittelt zu einem ersten Zeitpunkt (Frame) aus den Objekt-Queries, also den vorstehend beschriebenen Feature-Vektoren, die zu diesem ersten Zeitpunkt berechnet wurden, und den Key-Vektoren und Value-Vektoren, also den eingangs beschriebenen Feature-Vektoren, die zu diesem Zeitpunkt berechnet wurden, Ergebnis-Feature-Vektoren, welche auch als Decoder-Ausgabe-Vektoren bezeichnet werden. Aus den Ergebnis-Feature-Vektoren werden Box-Parameter, die ein Objekt beschreiben, also z. B. dessen Position, Ausmaße, Orientierung, Geschwindigkeit und/oder Klassenidentifikator, insbesondere relativ zu den Anker-Positionen, 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 Ergebnis werden somit mehrere Objekte aus Punktwolken-Daten zu einem ersten Zeitpunkt detektiert. Für die Objektverfolgung müssen die Objekte an weiteren aufeinanderfolgenden Zeitpunkten ermittelt werden. Hierbei kann sich der Sensor, das Sensorsystem bzw. das System, an dem der Sensor angeordnet ist, also z. B. ein Fahrzeug, selbst mit einer Eigengeschwindigkeit bewegen. Im Folgenden wird die Eigengeschwindigkeit mittels eines Eigengeschwindigkeitskompensationsmoduls kompensiert und diese Kompensation auf die Ergebnis-Feature-Vektoren angewendet, um somit eigengeschwindigkeits-kompensierte, transformierte Ergebnis-Feature-Vektoren zu erhalten.
  • Die transformierten Ergebnis-Feature-Vektoren werden nun als Eingabe für den nächsten Zeitpunkt dem Decoder des Transformers zugeführt und dienen dort neben den Objekt-Queries als Slots für mögliche Objekte. Der Decoder des Transformers ermittelt jeweils nach einem Zeitschritt zu einem weiteren Zeitpunkt Ergebnis-Feature-Vektoren aus den transformierten Ergebnis-Feature-Vektoren, die für den vorherigen Zeitpunkt berechnet wurden, aus den berechneten Objekt-Queries, die zu diesem Zeitpunkt wie oben beschrieben berechnet wurden, und aus den Key-Vektoren und Value-Vektoren, die zu diesem Zeitpunkt wie eingangs beschrieben berechnet wurden. Diese Berechnung kann für beliebig viele Zeitschritte fortgesetzt werden. Die berechneten Ergebnis-Feature-Vektoren werden schließlich wie oben beschrieben den Objekten zugeordnet und somit die mehreren Objekte verfolgt.
  • Im Ergebnis wird somit eine Objektverfolgung von mehreren Objekten aus Punktwolken-Daten mit einer Eigengeschwindigkeitskompensation erhalten.
  • Um den Transformer bzw. das Modell des Transformers einzutrainieren, werden vorzugsweise folgende Schritte durchgeführt: Zunächst werden, wie oben beschrieben, Ergebnis-Feature-Vektoren berechnet und aus jedem Ergebnis-Feature-Vektor Box-Parameter, die ein Objekt beschreiben, also z. B. dessen Position, Ausmaße, Orientierung, Geschwindigkeit und/oder Klassenidentifikator, insbesondere relativ zu den Anker-Positionen, mittels des Feed-Forward-Netzes berechnet. Dabei können mehrere Zeitschritte übersprungen werden. Im Anschluss werden diejenigen Ergebnis-Feature-Vektoren ermittelt, deren Box-Parameter der bekannten Position der vorhandenen Objekte aus der Grundwahrheit (Ground Truth) am nächsten liegen. Hierfür wird ein an sich bekannter Optimierungs-Algorithmus wie z. B. die Ungarische Methode verwendet. Nun erfolgt eine Zuweisung zwischen den aus den Ergebnis-Feature-Vektoren berechneten, geschätzten Objekten und den bekannten, vorhandenen Objekten der Grundwahrheit. Die Ergebnis-Feature-Vektoren, deren Box-Parameter der bekannten Position der vorhandenen Objekte aus der Grundwahrheit am nächsten liegen, werden zur Verfolgung der bekannten Objekte im nächsten Zeitschritt verwendet. Ergebnis-Feature-Vektoren, die keinem Objekt der Grundwahrheit zugewiesen werden können, werden eine geringe Konfidenz zugewiesen. Aus der Grundwahrheit ist bekannt, welche Pfade von Objekten fortgesetzt werden, welche enden und welche neu entstehen. Diejenigen Objekte der Grundwahrheit, deren Pfade sich fortsetzen, werden den entsprechenden Slots zugeordnet, diejenigen, die in einem Zeitschritt neu erscheinen, werden den nächstliegenden Objekt-Queries zugeordnet und diejenigen, deren Pfade enden, werden der „nicht-Objekt“-Klasse zugeordnet. Schließlich wird der Transformer bzw. dessen Modell mittels der Zuweisung eintrainiert.
  • Bei der Objektverfolgung selbst, kann die Konfidenz als Maß verwendet werden, ob ein Pfad weitergeführt wird, endet oder neu entsteht. Bevorzugt wird die Verfolgung eines Objekts weitergeführt, wenn in dem entsprechenden Zeitschritt die Konfidenz über einem Schwellenwert liegt. Ansonsten wird die Objektverfolgung dieses Objekts ausgesetzt - sodass sie zu einem späteren Zeitpunkt wieder aufgenommen werden kann - oder beendet. Ebenso bevorzugt wird ein neues Objekt in den Ergebnis-Feature-Vektoren nur verfolgt, wenn die Konfidenz über einem (weiteren) Schwellenwert liegt.
  • Im Folgenden wird eine bevorzugte Art der Eigengeschwindigkeitskompensation für das Verfahren beschrieben. In jedem Zeitschritt wird die Ego-Posenänderung, also die Änderung in Translation und Rotation des Sensors, des Sensorsystems bzw. des Systems, an dem der Sensor angeordnet ist, also z. B. ein Fahrzeug, erfasst. Aus dieser Ego-Posenänderung wird eine Transformationsmatrix mittels eines Feed-Forward-Netzes berechnet. Hierfür wird bevorzugt ein anderes Feed-Forward-Netz als das oben genannte Feed-Forward-Netz zur Ermittlung der Objekt-Queries und/oder das oben genannte Feed-Forward-Netz zur Berechnung der Box-Parameter verwendet, das sich durch die Gewichtung unterscheidet. Ein weiteres Feed-Forward-Netz wird verwendet, um die Dimension des Ergebnis-Feature-Vektors des Decoders zu reduzieren. Dann wird eine Transformation des Ergebnis-Feature-Vektors durchgeführt, indem ein Matrix-Vektor-Produkt - auch als „dot product“ bezeichnet - der Transformationsmatrix und des reduzierten Ergebnis-Feature-Vektors berechnet wird. Das Ergebnis der Transformation wird dann mittels eines Feed-Forward-Netzes wieder auf die ursprüngliche Dimension erweitert. Schließlich kann der ursprüngliche Ergebnis-Feature-Vektor einbezogen werden, sodass ein Verlust von Informationen verhindert wird. Diese Art der Eigengeschwindigkeitskompensation bietet die Vorteile einerseits, dass die Transformation in einer im Vergleich zu der vollen Länge des Feature-Vektors niedrigen Dimension durchgeführt wird, sodass nur relevante Teile des Vektors transformiert werden. Andererseits wird die Transformationsmatrix unabhängig von den Feature-Vektoren berechnet, sodass sie unabhängig von der Position der Objekte ist.
  • Für das Trainieren der Eigengeschwindigkeitskompensation können folgende Schritte ausgeführt werden: Es werden sowohl die Box-Parameter für die zu kompensierenden Ergebnis-Feature-Vektoren des Decoders als auch die Box-Parameter für die vorstehend beschriebenen transformierten Ergebnis-Feature-Vektoren der Eigengeschwindigkeitskompensation mittels eines Feed-Forward-Netzwerks ermittelt. Dann wird, wie oben beschrieben, in jedem Zeitschritt die Ego-Posenänderung, also die Änderung in Translation und Rotation, des Sensors, des Sensorsystems bzw. des Systems, an dem der Sensor angeordnet ist, also z. B. ein Fahrzeug, erfasst. Aus der Ego-Posenänderung und den vorstehend beschriebenen Box-Parametern, werden erwartete Box-Parameter, wie die erwartete Position, Ausrichtung und Geschwindigkeit, jedes Objekts im nächsten Zeitschritt ermittelt. Die Abmessung und die Klassenidentifikation werden als konstant angesehen und somit für die erwarteten Box-Parameter direkt aus den obengenannten Box-Parametern übernommen. Die erwarteten Box-Parameter werden dann als Grundwahrheit (Ground Truth) für die Eigengeschwindigkeitskompensation verwendet. Vorteilhafterweise wird dabei die aus der Ego-Posenänderung zu erwartende Änderung in der Position direkt als transformierte Anker-Positionen übernommen.
  • 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. Lediglich ein Transformator muss auf den elektronischen Steuergerät implementiert sein oder werden. Zur Implementierung ist das Computerprogramm auf dem maschinenlesbaren Speichermedium gespeichert.
  • Durch Aufspielen des Computerprogramms und eines Transformators auf ein herkömmliches elektronisches Steuergerät, wird das elektronische Steuergerät erhalten, welches eingerichtet ist, eine Verfolgung von mehreren Objekten aus Punktwolken-Daten.
  • 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 einer Eigengeschwindigkeitskompensation gemäß dem erfindungsgemäßen Verfahren.
  • 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.
  • 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, welche dann durch ein Positions-Encoding 3 mittels Sinus und Cosinus augmentiert werden und schließlich als Key-Vektoren kt,i und Value-Vektoren vt,i für den ersten Zeitpunkt t einem Decoder 6 eines Transformers zugeführt werden.
  • Gleichzeitig werden aus den Punktwolken-Daten durch eine Sampling-Methode 4, beispielsweise Farthest-Point-Sampling, Anker-Positionen ρt,i zum ersten Zeitpunkt t ermittelt, die dann ein Fourier-Encoding 5 durchlaufen: y i = FFN [ sin ( B ρ i ) , cos ( B ρ i ) ]
    Figure DE102022205110A1_0005
  • 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. yi sind die berechneten Feature-Vektoren, welche als Objekt-Queries dem Decoder 6 des Transformers zugeführt werden.
  • Das für den ersten Zeitpunkt t ausgegebene Set von Feature-Vektoren ist mit Yt bezeichnet und bestehen aus den Objekt-Queries yt,i. Jedes Objekt-Query yt,i 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 mit jeweils acht Attention-Heads. Der Decoder 6 ermittelt zum ersten Zeitpunkt t aus den Objekt-Queries yt,i sowie den Key-Vektoren kt,i und den Value-Vektoren vt,i Ergebnis-Feature-Vektoren y t , i ' .
    Figure DE102022205110A1_0006
    Die Dimension der Objekt-Queries yt,i, der Key-Vektoren kt,i und der Value-Vektoren vt,i beträgt beispielsweise 256.
  • Hierdurch werden zwei Objekte O1 und O2 zum ersten Zeitpunkt t detektiert. Ein Feed-Forward-Netz 7 berechnet aus den Ergebnis-Feature-Vektoren y t , i '
    Figure DE102022205110A1_0007
    Box-Parameter di = (Δx, Δy, Δz, w, l, h, γ, vx, vy,cls) für die Objekte O1, O2, wobei Δx, Δy, Δz den Unterschied der Position zu den Anker-Positionen ρi in drei Dimensionen repräsentiert, w, L, h die Ausmaße des Objekts O1, O2 in drei Dimensionen sind, γ die Ausrichtung des Objekts O1, O2 ist, vx, vy die Geschwindigkeit des Objekts O1, O2 in der horizontalen Ebene repräsentiert und cis einen Klassenidentifikator darstellt. Die Objekte O1, O2 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 O1, O2 aus. Es wird eine Eigengeschwindigkeitskompensation 9 durchgeführt, die mit Bezug auf 2 näher beschrieben wird. Hierbei werden aus den Ergebnis-Feature-Vektoren y t , i '
    Figure DE102022205110A1_0008
    für den ersten Zeitpunkt t, den Anker-Positionen ρt,i, und einer Posenänderung p transformierte Ergebnis-Feature-Vektoren y t , k ' '
    Figure DE102022205110A1_0009
    erhalten: y t , k ' ' = EMC ( y t , i ' , ρ i , p )
    Figure DE102022205110A1_0010
  • 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. Gleichzeitig werden aus den Punktwolken-Daten durch die Sampling-Methode 4, Anker-Positionen ρt+1,i zum zweiten Zeitpunkt t+1 ermittelt, die dann das Fourier-Encoding 5 gemäß Formel 1 durchlaufen. Es werden Objekt-Queries yt+1,i für den zweiten Zeitpunkt t+1 erhalten.
  • Das für den zweiten Zeitpunkt t+1 ausgegebene Set von Feature-Vektoren ist mit Yt+1 bezeichnet und bestehen aus den Objekt-Queries yt+1,i für den zweiten Zeitpunkt t+1 und den transformierten Ergebnis-Feature-Vektoren y t , k ' ' ,
    Figure DE102022205110A1_0011
    die für den ersten Zeitpunkt t berechnet wurden, und kann als Vereinigung Y t + 1 = { y t , k ' ' } k = 1 K { y t + 1, i } i = 1 M
    Figure DE102022205110A1_0012
    dargestellt werden. Jedes Objekt-Query yt+1,i und jeder transformierte Ergebnis-Feature-Vektor y t , k ' '
    Figure DE102022205110A1_0013
    dient als Slot (In 1 dargestellt durch einzelne Kästchen) für ein mögliches Objekt.
  • Der Decoder 6 ermittelt aus den Objekt-Queries yt,i, den transformierten Ergebnis-Feature-Vektoren y t , k ' '
    Figure DE102022205110A1_0014
    sowie den Key-Vektoren kt+1,i und den Value-Vektoren vt+1,i Ergebnis-Feature-Vektoren y t + 1, i '
    Figure DE102022205110A1_0015
    zum zweiten Zeitpunkt t+1. Ein neues Objekt O3 wird in den Ergebnis-Feature-Vektoren y t + 1, i '
    Figure DE102022205110A1_0016
    nur verfolgt, wenn die Konfidenz über einem Schwellenwert liegt. Es wird neben den beiden Objekten O1 und O2 ein drittes Objekt O3 detektiert, dessen Pfad weiterverfolgt wird. Das Feed-Forward-Netz 7 berechnet aus den Ergebnis-Feature-Vektoren y t , i '
    Figure DE102022205110A1_0017
    Box-Parameter di für die Objekte O1, O2, O3. Auch hier sind die Objekte O1, O2, O3 in der mit 8 bezeichneten visuellen Darstellung eingezeichnet. Hierdurch werden die mehreren Objekte O1, O2, O3 zu einem weiteren Zeitschritt t+1 detektiert.
  • Die genannten Schritte werden für weitere Zeitpunkte durchgeführt, sodass eine Objektverfolgung der mehreren Objekte O1, O2, O3 erfolgt. Dabei werden die genannten Schritte, Eingaben und Ausgaben entsprechend den Zeitpunkten angepasst.
  • In 2 ist eine Eigengeschwindigkeitskompensation für den Zeitschritt zwischen dem ersten Zeitpunkt t und dem zweiten Zeitpunkt t+1 dargestellt. Diese kann durch Anpassung der Zeitpunkte auf weitere Zeitschritte übertragen werden.
  • In dem aktuellen Zeitschritt wird eine Ego-Posenänderung p des Fahrzeugs F ermittelt 90. Die Ego-Posenänderung p = (t1, t2, t3, q0, q1, q2, q3) ist ein Vektor mit Dimension p, der sich aus der Translation t1, t2, t3 und der Rotation q0, q1, q2, q3 in Quaternionform zusammensetzt. Mittels eines Feed-Forward-Netz 91 wird nun die Dimension des Vektors der Ego-Posenänderung p zu k2 geändert, sodass der Vektor nun k2 Werte aufweist. Aus dem Vektor der Ego-Posenänderung p mit der Dimension k2 wird nun durch Umformen 92 eine featureunabhängige Transformationsmatrix T mit der Dimension (k x k) gebildet. Gleichzeitig wird mittels eines weiteren Feed-Forward-Netzes 93 die Dimension des zum ersten Zeitpunkt t vom Decoder 6 ausgegebenen Ergebnis-Feature-Vektors y t , i ' ,
    Figure DE102022205110A1_0018
    die ursprünglich d beträgt, zu k reduziert. Die Vektorlänge wird also so verändert, dass die Transformationsmatrix T anwendbar ist. Die Transformationsmatrix T und des Ergebnis-Feature-Vektors y t , i '
    Figure DE102022205110A1_0019
    weisen nun die Dimension k als gemeinsame Basis auf. Im Folgenden wird eine Transformation 94 durchgeführt, indem das Matrix-Vektor-Produkt - auch als „dot product“ bezeichnet - der Transformationsmatrix T und des Ergebnis-Feature-Vektors y t , i '
    Figure DE102022205110A1_0020
    berechnet wird. Dadurch wird der transformierte Ergebnis-Feature-Vektoren y t , i ' '
    Figure DE102022205110A1_0021
    erhalten. Da dieser die Dimension k hat, wird mittels eines weiteren Feed-Forward-Netzes 95 die Dimension wieder auf d erweitert. Schließlich wird eine Verbindung 96 zum ursprünglichen Ergebnis-Feature-Vektor y t , i '
    Figure DE102022205110A1_0022
    hergestellt, um sicherzustellen, dass keine Informationen verloren gegangen sind.

Claims (13)

  1. Verfahren zur Verfolgung von mehreren Objekten (O1, O2, O3) aus Punktwolken-Daten mittels eines Transformers mit Attention-Modell, wobei der Zustand der verfolgten Objekte (O1, O2, O3) im Feature-Space gespeichert ist, mit folgenden Schritten: - Berechnen von Feature-Vektoren aus den Punktwolken-Daten durch ein Backbone (2), wobei die Feature-Vektoren als Key-Vektoren (kt,i, kt+1,i) und den Value-Vektoren (vt,i, vt+1,i) für den Transformer dienen; - Berechnen von Anker-Positionen (ρt,i, ρt+1,i) aus den Punktwolken-Daten durch eine Sampling-Methode (4); - Ermitteln von Feature-Vektoren aus den Anker-Positionen (ρt,i, ρt+1,i) mittels eines Encodings (5), wobei die Feature-Vektoren als Objekt-Queries (yt,i, yt+1,i) für den Transformer dienen; - Ermitteln von Ergebnis-Feature-Vektoren ( y t , i ' )
    Figure DE102022205110A1_0023
    zu einem ersten Zeitpunkt t aus den Objekt-Queries (yt,i) und den Key-Vektoren (kt,i) und Value-Vektoren vt,i zu diesem Zeitpunkt (t) mittels eines Decoders (6) des Transformers; - Eigengeschwindigkeitskompensation (9) der Ergebnis-Feature-Vektoren ( y t , i ' ) ,
    Figure DE102022205110A1_0024
    um transformierte Ergebnis-Feature-Vektoren ( y t , k ' ' )
    Figure DE102022205110A1_0025
    zu erhalten; - Ermitteln von Ergebnis-Feature-Vektoren ( y t + 1, i ' )
    Figure DE102022205110A1_0026
    nach einem Zeitschritt aus den transformierten Ergebnis-Feature-Vektoren ( y t , k ' ' )
    Figure DE102022205110A1_0027
    zum vorherigen Zeitpunkt (t) und berechneten Objekt-Queries yt+1,i und den Key-Vektoren kt+1,i und Value-Vektoren vt+1,i zu diesem Zeitpunkt (t+1) mittels des Decoders (6) des Transformers.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zum Trainieren des Transformers folgende Schritte durchgeführt werden: - Berechnen von Ergebnis-Feature-Vektoren; - Berechnen von Box-Parametern aus jedem Ergebnis-Feature-Vektor mittels des Feed-Forward-Netzes - Ermitteln derjenigen Ergebnis-Feature-Vektoren, deren Box-Parameter der bekannten Position von vorhandenen Objekten am nächsten liegen, durch einen Optimierungs-Algorithmus; - Zuweisung zwischen aus den Ergebnis-Feature-Vektoren geschätzten Objekten und den bekannten, vorhandenen Objekten, - Trainieren des Transformers mittels der Zuweisung.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass beim Trainieren einer oder mehrere der Zeitschritte übersprungen werden.
  4. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Objektverfolgung weitergeführt wird, wenn in dem entsprechenden Zeitschritt die Konfidenz über einem Schwellenwert liegt und ansonsten die Objektverfolgung dieses Objekts ausgesetzt oder beendet wird.
  5. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass ein neues Objekt in den Ergebnis-Feature-Vektoren ( y t , i ' )
    Figure DE102022205110A1_0028
    nur verfolgt wird, wenn die Konfidenz über einem Schwellenwert liegt.
  6. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Eigengeschwindigkeitskompensation (9) durch folgende Schritte ausgeführt wird: - Erfassen (90) der Ego-Posenänderung (p) in jedem Zeitschritt; - Berechnen einer Transformationsmatrix (T) aus der Ego-Posenänderung (p) mittels eines Feed-Forward-Netzwerks (91); - Reduzieren der Dimension des Ergebnis-Feature-Vektors ( y t , i ' )
    Figure DE102022205110A1_0029
    des Decoders (6) durch ein weiteres Feed-Forward-Netzwerk (93); - Transformation (94) des Ergebnis-Feature-Vektors ( y t , i ' )
    Figure DE102022205110A1_0030
    durch ein Matrix-Vektor-Produkt der Transformationsmatrix (T) und dem reduzierten Ergebnis-Feature-Vektor ( y t , i ' ) ;
    Figure DE102022205110A1_0031
    - Erweitern der Dimension des Transformationsergebnisses mittels eines Feed-Forward-Netzwerks (95).
  7. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das Trainieren der Eigengeschwindigkeitskompensation durch die folgenden Schritte ausgeführt wird: - Berechnen von Box-Parametern sowohl für die zu kompensierenden Ergebnis-Feature-Vektoren des Decoders als auch für die transformierten Ergebnis-Feature-Vektoren der Eigengeschwindigkeitskompensation mittels eines Feed-Forward-Netzes; - Erfassen der Ego-Posenänderung in jedem Zeitschritt; - Ermitteln von zu erwartenden Position, Ausrichtung und Geschwindigkeit jedes Objekts im nächsten Zeitschritt anhand der Ego-Posenänderung und den berechneten Box-Parametern; - Verwenden der erwarteten Box-Parameter als Grundwahrheit für die Eigengeschwindigkeitskompensation.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die aus der Ego-Posenänderung zu erwartenden Positions-Änderung jedes Objekts als transformierte Anker-Position übernommen wird.
  9. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Punktwolken-Daten durch LiDAR erfasst wurden.
  10. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Punktwolken-Daten aus einem Fahrzeug (F) aufgenommen wurden.
  11. Computerprogramm, welches eingerichtet ist, jeden Schritt des Verfahrens nach einem der Ansprüche 1 bis 10 durchzuführen.
  12. Maschinenlesbares Speichermedium, auf welchem ein Computerprogramm nach Anspruch 11 gespeichert ist.
  13. Elektronisches Steuergerät, welches eingerichtet ist, um mittels eines Verfahrens nach einem der Ansprüche 1 bis 10 eine Verfolgung von mehreren Objekten aus Punktwolken-Daten mittels eines Transformers mit Attention-Modell durchzuführen.
DE102022205110.6A 2022-05-23 2022-05-23 Verfahren zur Objektverfolgung Pending DE102022205110A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022205110.6A DE102022205110A1 (de) 2022-05-23 2022-05-23 Verfahren zur Objektverfolgung
CN202310585034.0A CN117115472A (zh) 2022-05-23 2023-05-23 用于对象跟踪的方法、电子控制器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022205110.6A DE102022205110A1 (de) 2022-05-23 2022-05-23 Verfahren zur Objektverfolgung

Publications (1)

Publication Number Publication Date
DE102022205110A1 true DE102022205110A1 (de) 2023-11-23

Family

ID=88599716

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022205110.6A Pending DE102022205110A1 (de) 2022-05-23 2022-05-23 Verfahren zur Objektverfolgung

Country Status (2)

Country Link
CN (1) CN117115472A (de)
DE (1) DE102022205110A1 (de)

Also Published As

Publication number Publication date
CN117115472A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
DE60308413T2 (de) Verfahren und vorrichtung zum bearbeiten und analysieren von digitalen gelände daten.
DE102018200724A1 (de) Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"
DE102005035746B4 (de) Verfahren zur Bestimmung einer Relativposition einer mobilen Einheit durch Vergleich von Scans einer Umgebung und mobile Einheit
DE102017205518A1 (de) Streckenermittlungsvorrichtung für ein autonomes Fahrzeug und Streckenermittlungsverfahren
DE102018124108A1 (de) VERFAHREN UND VORRICHTUNG ZUM ERFASSEN EINER STRAßENBEGRENZUNG
DE102013204833A1 (de) Spurhalteassistenz-System und -Verfahren
EP0494632A2 (de) Signalverarbeitungsanordnung zur Klassifizierung von Objekten aufgrund der Signale von Sensoren
EP1052558A1 (de) Verfahren und Einrichtung zur Zustandsschätzung
WO2020094534A1 (de) Verfahren zum trainieren eines künstlichen neuronalen netzes, künstliches neuronales netz, verwendung eines künstlichen neuronalen netzes sowie entsprechendes computerprogramm, maschinenlesbares speichermedium und entsprechende vorrichtung
DE102020110157A1 (de) Bilderkennungsvorrichtung
EP3746850B1 (de) Verfahren zum ermitteln eines zeitlichen verlaufs einer messgrösse, prognosesystem, aktorsteuerungssystem, verfahren zum trainieren des aktorsteuerungssystems, trainingssystem, computerprogramm und maschinenlesbares speichermedium
DE102010018144A1 (de) Verfahren zur automatischen Erzeugung eines dreidimensionalen Referenzmodells als Geländeinformation für eine bildgebende Einrichtung
DE102016124888A1 (de) Verfahren zum Unterstützen eines Fahrers eines Kraftfahrzeugs beim Einparken unter Verwendung einer Fahrerassistenzvorrichtung, entsprechendes Computerprogrammprodukt und Fahrerassistenzvorrichtung
DE102023001304A1 (de) Verfahren zum Tracking von Objekten
DE102022205110A1 (de) Verfahren zur Objektverfolgung
DE102020200499A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, unter Verwendung ungelabelter, partitionierter Stichproben
DE102022202548B3 (de) Verfahren zum Trainieren eines Computerprogrammprodukts
EP3576013A1 (de) Abschätzen eines verlaufs eines schienenpfads
DE102020205962B3 (de) Vorrichtung und Verfahren zum Betreiben eines Prüfstands
DE19627938A1 (de) Verfahren zur dynamischen Spurverfolgung in Bewegtbildsequenzen
DE102022210248A1 (de) Verfahren zur Objektdetektion
DE102019219247A1 (de) Verfahren zur Umfelderfassung, Datenverarbeitungseinheit
DE102022211285A1 (de) Verfahren zum Erfassen von Unsicherheiten bei der Detektion von mehreren Objekten
EP2251849B1 (de) Verfahren zur verbesserten Erkennung von leitungsartigen Objekten
DE102019127478A1 (de) Bestimmen einer Anhängerausrichtung