Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR DETECTING OBJECTS FROM POINT CLOUD DATA BY MEANS OF A TRANSFORMER USING AN ATTENTION MODEL
Document Type and Number:
WIPO Patent Application WO/2024/068259
Kind Code:
A1
Abstract:
The invention relates to a method for detecting multiple objects (O1, O2) from point cloud data by means of a transformer using an attention model, the state of the tracked objects (O1, O2) being stored in a feature space. The following steps are carried out: a. calculating feature vectors from the point cloud data by means of a backbone (2), said feature vectors being used as key vectors (kj) and value vectors (vi) for the transformer; b. calculating first anchor positions (pi (0)) for a first layer (so) of the transformer from the point cloud data using a sampling method (4); c ascertaining feature vectors from the first anchor positions (pi (0)) by means of an encoding process (5), said feature vectors being used as object queries (yi (0)) for the first layer (so) of the transformer; d. ascertaining result feature vectors (zi (0)) in the first layer (so) of the transformer from the object queries (yi (0)) and the key vectors (ki) and value vectors (vj) using the first layer (so) of a decoder (6) of the transformer; e. calculating (7) box parameters (bzi (0) ) for the result feature vectors (zi (0)) of the first layer (so) of the transformer; f. adapting (40, 140) the anchor positions (pi (s)) for at least one additional layer (s) of the transformer in that the position differences of the box parameters (zi (o)) are added to the first anchor positions (pi (0)); g. ascertaining feature vectors from the adapted anchor positions (pi (s)) using an encoding process (50, 150), said feature vectors being used as object queries (yi (s)) for the at least one additional layer (s) of the transformer; h. transforming (90) the result feature vectors (zi (0)) of the first layer with respect to the adapted anchor positions (pi (l)), the transformed result feature vectors (zi (0)) being used as object queries for the at least one additional layer (s) of the transformer; and ascertaining result feature vectors (zi (s)) in the at least one additional layer (s) of the transformer from the transformed result feature vectors (yi (s)) of the previous layer (so), the calculated object queries of the current layer (s), and the key vectors (ki) and value vectors (vj) using the decoder (60) of the transformer.

Inventors:
FAION FLORIAN (DE)
RUPPEL FELICIA (DE)
Application Number:
PCT/EP2023/074993
Publication Date:
April 04, 2024
Filing Date:
September 12, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G06V10/82; G06V20/56
Other References:
JIAYAO SHAN ET AL: "Real-time 3D Single Object Tracking with Transformer", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 2 September 2022 (2022-09-02), XP091308682, DOI: 10.1109/TMM.2022.3146714
ZHOU CHANGQING ET AL: "PTTR: Relational 3D Point Cloud Object Tracking with Transformer", 2022 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), IEEE, 18 June 2022 (2022-06-18), pages 8521 - 8530, XP034193303, DOI: 10.1109/CVPR52688.2022.00834
YUBO CUI ET AL: "3D Object Tracking with Transformer", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 28 October 2021 (2021-10-28), XP091081914
DENING LU ET AL: "Transformers in 3D Point Clouds: A Survey", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 16 May 2022 (2022-05-16), XP091226702
ASHISH VASWANI ET AL.: "Attention is all you need", ARXIV PREPRINT ARXIV:1706.03762, 2017
Download PDF:
Claims:
R. 403233 - 13 - Ansprüche 1. Verfahren zur Detektion von mehreren Objekten (O1, O2) aus Punktwolken- Daten mittels eines Transformers mit Attention-Modell, wobei der Zustand der verfolgten Objekte (O1, O2) innerhalb des Modells 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 (^^) und Value-Vektoren (^^) für den Transformer dienen; ^ Berechnen von ersten Anker-Positionen für eine erste Schicht (s0) des Transformers aus den Punktwolken-Daten durch eine Sampling-Methode (4); ^ Ermitteln von Feature-Vektoren aus den ersten Anker-Positionen (^(^) ^ ) mittels eines Encodings (5), wobei die Feature-Vektoren als Objekt-Queries (^(^) ^ ) für die erste Schicht (s0) des Transformers dienen; ^ Ermitteln von Ergebnis-Feature-Vektoren (^(^) ^ ) in der ersten Schicht (s (^) 0) des Transformers aus den Objekt-Queries (^^ ) und den Key- Vektoren (^^) und Value-Vektoren (^^) mittels der ersten Schicht (s0) eines Decoders (6) des Transformers; ^ Berechnen (7) von Box-Parametern (^^^(^)^) für die Ergebnis-Feature- ^ Vektoren (^(^) ^ ) der ersten Schicht (s0) des Transformers; ^ Anpassen (40, 140) der Anker-Positionen (^(^) ^ ) für zumindest eine weitere Schicht (s) des Transformers, indem die Positions- Unterschiede der Box-Parameter (^^^(^)^) zu den ersten Anker- ^ Positionen (^(^) ^ ) addiert werden; ^ Ermitteln von Feature-Vektoren aus den angepassten Anker- Positionen (^(^) ^ ) mittels eines Encodings (50, 150), wobei die Feature- Vektoren als Objekt-Queries (^(^) ^ ) für die zumindest eine weitere Schicht (s) des Transformers dienen; ^ Transformation (90) der Ergebnis-Feature-Vektoren (^(^) ^ ) der ersten Schicht bezüglich der angepassten Anker-Positionen (^(^) ^ ), wobei die R. 403233 - 14 - transformierten Ergebnis-Feature-Vektoren (^(^) ^ ) als Objekt-Queries für die zumindest eine weitere Schicht (s) des Transformers dienen; ^ Ermitteln von Ergebnis-Feature-Vektoren (^(^) ^ ) in der zumindest einen weiteren Schicht (s) des Transformators aus den transformierten Ergebnis-Feature-Vektoren (^(^) ^ ) der vorherigen Schicht (s0), den berechneten Objekt-Queries der aktuellen Schicht (s) und den Key-Vektoren (^^) und Value-Vektoren (^^) mittels des Decoders (60) des Transformers. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Schritte Berechnen von Box-Parametern (^^^(^) ) für die Ergebnis-Feature-Vektoren, ^ ^ Anpassen (140) der Anker-Positionen (^(^) ^ ), Ermitteln von Feature-Vektoren (^(^) ^ ) aus den angepassten Anker- Positionen mittels eines Encodings (150) und Transformation (190) der Ergebnis-Feature-Vektoren (^(^) ^ ) bezüglich der angepassten Anker- Positionen für zumindest eine weitere Schicht (s) durchgeführt wird. 3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass zum Trainieren des Transformers folgende Schritte durchgeführt werden: ^ Schätzen von mehreren Sets von Box-Parametern für die Decoder- Ausgabe jeder Schicht; ^ Zuordnen von Box-Parametern der Grundwahrheit zu den nächstliegenden geschätzten Box-Parametern ^ Anwenden einer Median-Regression auf die Abweichung zwischen den Box-Parametern der Grundwahrheit und den zugeordneten geschätzten Box-Parametern; ^ Trainieren des Transformers mittels der Median-Regression. 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Transformation (90, 190) der Ergebnis-Feature- Vektoren (^(^) (^) ^ , ^^ ) bezüglich der angepassten Anker-Positionen ) durch ein Feed-Forward-Netz, bestehend aus zwei Schichten (91, 92) mit einer ReLU-Aktivierung, realisiert wird. R. 403233 - 15 - 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das zum Trainieren der Transformation (90, 190) der Ergebnis-Feature-Vektoren bezüglich der angepassten Anker-Positionen ) folgende Schritte ausgeführt werden: ^ Berechnen von Ergebnis-Feature-Vektoren aus den Punktwolken- Daten; ^ Transformieren der Ergebnis-Feature-Vektoren; ^ Anwenden einer Schätzung der Box-Parameter für die Ergebnis- Feature-Vektoren und der transformierten Ergebnis-Feature-Vektoren; ^ Anpassen der transformierten Ergebnis-Feature-Vektoren bis deren Positions-Unterschiede der Box-Parameter Null ergeben. 6. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Punktwolken-Daten durch LiDAR erfasst wurden. 7. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Punktwolken-Daten aus einem Fahrzeug (F) aufgenommen wurden. 8. Computerprogramm, welches eingerichtet ist, jeden Schritt des Verfahrens nach einem der Ansprüche 1 bis 7 durchzuführen. 9. Maschinenlesbares Speichermedium, auf welchem ein Computerprogramm nach Anspruch 8 gespeichert ist. 10. Elektronisches Steuergerät, welches eingerichtet ist, um mittels eines Verfahrens nach einem der Ansprüche 1 bis 7 eine Detektion von mehreren Objekten aus Punktwolken-Daten mittels eines Transformers mit Attention- Modell durchzuführen.
Description:
R. 403233 - 1 - Beschreibung Titel Verfahren zur Objektdetektion Die vorliegende Erfindung betrifft ein Verfahren zur Detektion 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. Bisher wurden solche Transformer beispielsweise auf Bilddaten angewendet. Der Einsatz auf großen Punktwolken, wie sie R. 403233 - 2 - beispielsweise im Kontext von autonomem und automatisiertem Fahren vorkommen, ist hingegen nicht bekannt. Offenbarung der Erfindung Die Erfindung betrifft ein Verfahren zur Detektion 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. 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 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. 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 Eingabesequenz bei der Self-Attention 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. 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 Encoding, 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- R. 403233 - 3 - 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 in einer ersten Schicht 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. Für die Verarbeitung zumindest einer weiteren Schicht des Transformers werden anschließend die Anker-Positionen mittels der ermittelten Box-Parameter angepasst. Bei einer Anpassung der Anker-Positionen werden die Positions- Unterschiede der Box-Parameter, die aus den Ergebnis-Feature-Vektoren der ersten Schicht des Transformers berechnet wurden, zu den ersten Anker- Positionen hinzuaddiert. Im Allgemeinen können für die Ergebnis-Feature- Vektoren der ersten Schicht Box-Parameter erhalten werden, die weit weg von der ersten Anker-Position liegen und die somit hohe Positions-Unterschiede aufweisen. Durch die Anpassung der Anker-Positionen werden angepasste Anker-Positionen erhalten, die näher am tatsächlichen Objekt liegen. Aus den R. 403233 - 4 - angepassten Anker-Positionen wird mittels eines Encodings, wie es oben beschrieben ist, Feature-Vektoren ermittelt, die als Objekt-Queries für die zumindest eine weitere Schicht des Transformers dienen. Um neben den angepassten Anker-Positionen auch die Informationen der hochdimensionalen Ergebnis-Feature-Vektoren der ersten Schicht zu propagieren, wird eine Transformation der Ergebnis-Feature-Vektoren der ersten Schicht bezüglich der angepassten Anker-Positionen durchgeführt. Die Ergebnis- Feature-Vektoren werden dabei an den angepassten Anker-Positionen ausgerichtet. Vorteilhafterweise wird dies durch ein Feed-Forward-Netz, das aus zwei Schichten mit einer ReLU-Aktivierung (Rectified Linear Unit) besteht, realisiert. Dies führt zu einem geringen Mehraufwand, da hier nur ein Feed- Forward-Netz mit zwei Schichten verwendet wird. Die vorstehend beschriebenen Schritte des Anpassens der Anker-Positionen, der Ermittlung der der Feature-Vektoren aus den angepassten Anker-Positionen und der Transformation der Ergebnis-Feature-Vektoren wird hierin als Verfeinerung der Objekt-Queries bezeichnet. Die transformierten Ergebnis-Feature-Vektoren und die berechneten Objekt- Queries, insbesondere deren Vektor-Summe, werden nun als Eingabe für zumindest eine weitere Schicht dem Decoder des Transformers zugeführt und dienen dort als Slots für mögliche Objekte. Der Decoder des Transformers ermittelt in der zumindest einen weiteren Schicht Ergebnis-Feature-Vektoren aus den transformierten Ergebnis-Feature-Vektoren, die für die vorhergehende Schicht ermittelt wurden, aus den berechneten Objekt-Queries, die wie oben beschrieben aus den angepassten Anker-Positionen ermittelt wurden, und aus den eingangs beschriebenen Key-Vektoren und Value-Vektoren. Im Ergebnis werden die Feature-Vektoren der zumindest einen weiteren Schicht und somit auch die Bounding-Boxen und schließlich die Objekte, die in der zumindest einen weiteren Schicht ermittelt werden, abhängig von den verfeinerten Objekt-Queries der angepassten Anker-Positionen der ersten Schicht ermittelt. Die Position der verfeinerten Objekt-Queries liegt dabei üblicherweise näher an dem tatsächlichen Objekt als die Position der ursprünglichen Objekt-Queries. Es gilt, dass der Abstand zwischen der Position R. 403233 - 5 - der Objekt-Queries, von denen aus die Erfassung durchgeführt wird, und dem tatsächlichen Objekt die Genauigkeit der Erfassung in der jeweiligen Schicht beeinflusst. Durch Anpassen der Position der verfeinerten Objekt-Queries an die vorhergehenden Box-Parameter wird der Abstand zwischen der Position der (verfeinerten) Objekt-Queries und dem tatsächlichen Objekt verringert, sodass eine genauere Erfassung realisiert wird. Durch die Transformation der Ergebnis-Feature-Vektoren bezüglich der angepassten Anker-Positionen können diese weiterhin als Objekt-Queries für die Auswertung in nachfolgenden Schichten verwendet werden. Dabei wird die Form der Ergebnis-Feature-Vektoren nicht verändert, sodass bekannte Arten des Encodings verwendet werden können. Die Transformation kann mit geringen Mehraufwand durchgeführt werden, insbesondere, wenn hierfür ein wie oben beschriebenes Feed-Forward-Netz mit nur zwei Schichten verwendet wird. Zudem wird dasselbe Encoding der Anker-Positionen wie für die erste Schicht verwendet, sodass keine zusätzlichen Parameter verwendet werden müssen. Darüber hinaus sind die Ergebnis-Feature-Vektoren positionsgebundene Vektoren, die bei der Verarbeitung durch den Decoder und die Anpassung an die Anker-Positionen sukzessive mehr Informationen über das Objekt erhalten. Die Objektinformationen werden im latenten Feature-Space und nicht wie herkömmlicherweise nur in den niederdimensionalen Box-Parametern kodiert. In einem weiteren Schritt können solche Vektoren dann zeitlich propagiert und beispielsweise für Objektverfolgung und Prädiktion verwendet werden. Im Ergebnis kann der Transformer für weitere nachgelagerte Anwendungen verwendet werden, welche Objekterkennung voraussetzen und die mit großen Punktwolken arbeiten. Besonders bei der ersten Verfeinerung der Objekt-Queries wird eine starke Verringerung des Abstands erreicht, sodass eine Verfeinerung der Objekt- Queries nur zwischen der ersten und der zweiten Schicht des Transformers bereits eine große Wirkung erzielt. Vorzugsweise werden die Schritte Berechnen von Box-Parametern für die Ergebnis-Feature-Vektoren, Anpassen der Anker- Positionen, Ermitteln von Feature-Vektoren aus den angepassten Anker- Positionen mittels eines Encodings und Transformation der Ergebnis-Feature- Vektoren bezüglich der angepassten Anker-Positionen für zumindest eine R. 403233 - 6 - weitere Schicht des Transformers außer der ersten Schicht durchgeführt, wobei in den genannten Schritten die weitere Schicht anstelle der ersten Schicht verwendet wird. Der Begriff „erste Schicht“ soll hierbei verstanden werden als die erste Schicht des Transformers, für die das Verfahren angewendet wird. Es ist zwar vorteilhaft das Verfahren direkt auf die erste Schicht des Transformers anzuwenden, dennoch ist es auch denkbar das Verfahren erst auf nachfolgende Schichten anzuwenden. In diesem Fall wird diese nachfolgende Schicht als „erste“ Schicht interpretiert. Um den Transformer bzw. das Modell des Transformers einzutrainieren, werden vorzugsweise folgende Schritte durchgeführt: Es werden mehrere Sets von Box- Parametern – vorzugsweise so viele Sets von Box-Parametern wie Objekt- Queries am Eingang des Decoders vorgesehen sind – für die Decoder-Ausgabe jeder Schicht ermittelt. Ferner werden Box-Parameter der Grundwahrheit (Ground Truth) bereitgestellt, die den nächstliegenden geschätzten Box- Parametern zugeordnet werden. Hierfür wird vorzugsweise die Ungarische Methode angewendet. Nicht passende Box-Parameter werden der „Nicht- Objekt“-Klasse zugeordnet und verworfen. Auf die Abweichung zwischen den Box-Parametern der Grundwahrheit und den zugeordneten geschätzten Box- Parametern wird eine Median-Regression, auch als ℓ ^ -loss bezeichnet, angewendet. Der Transformer wird schließlich mittels der Median-Regression trainiert. Das Trainieren der Transformation der Ergebnis-Feature-Vektoren bezüglich der angepassten Anker-Positionen, insbesondere unter Verwendung des Feed- Forward-Netzes wie oben beschrieben, kann unabhängig vom Transformer bzw. Modell trainiert werden und anschließend mit fester Gewichtung verwendet werden. Um die Eingangsdaten für die Transformation und die Grundwahrheit zu ermitteln wird ein trainierter Transformer mit fixierten Gewichten verwendet, der wie oben beschrieben aus den Punktwolken-Daten Ergebnis-Feature-Vektoren ermittelt. Diese werden dann der Transformation zugeführt, wodurch transformierte Ergebnis-Feature-Vektoren erhalten werden. Um die Grundwahrheit zu erhalten, wird eine Schätzung der Box-Parameter sowohl auf die ermittelten Ergebnis-Feature-Vektoren als auch auf die transformierten R. 403233 - 7 - Ergebnis-Feature-Vektoren angewendet. Dabei sollen alle Box-Parameter außer den Positions-Unterschieden unverändert bleiben. Schließlich werden die transformierten Ergebnis-Feature-Vektoren angepasst, bis die Positions- Unterschiede der Box-Parameter relativ zur neuen Anker-Position nach der Transformation Null ergeben und diese somit aufeinander liegen. 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, eine Detektion 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. Figur 1 zeigt eine Visualisierung aus der Vogelperspektive der Ermittlung der Bounding-Boxen gemäß dem Stand der Technik (Figur 1 a) und gemäß einer Ausführungsform des erfindungsgemäßen Verfahrens (Figur 1 b). Figur 2 zeigt ein Ablaufdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens. Figur 3 zeigt ein Ablaufdiagramm einer Transformation der Ergebnis-Feature- Vektoren bezüglich der angepassten Anker-Positionen gemäß dem erfindungsgemäßen Verfahren. R. 403233 - 8 - Ausführungsbeispiele der Erfindung Figur 1 zeigt aus der Vogelperspektive jeweils eine Bounding-Box Bgt gemäß der Grundwahrheit (Ground Truth) und eine geschätzte Bounding-Box Be, die durch ein Verfahren zur Objektdetektion mittels eines Transformers ermittelt wurde, sowie die Positionen Py,0, Py,1 des Objekt-Querys, von denen aus die Ermittlung jeweils stattfindet. In Figur 1 a wird die geschätzte Bounding-Box Be immer ausgehend von derselben Position Py,0 des Objekt-Querys ermittelt. Aufgrund des Abstands zwischen der Position Py,0 des Objekt-Querys und der Position des Objekts, also der Position, an der die Bounding-Box Bgt gemäß der Grundwahrheit angeordnet ist, kommt es bei der Ermittlung im Decoder des Transformers zu Ungenauigkeiten, sodass die geschätzte Bounding-Box Be und die Bounding-Box Bgt gemäß der Grundwahrheit deutlich auseinander liegen. Figur 1 b zeigt das Resultat des erfindungsgemäßen Verfahrens. Die Ermittlung der geschätzten Bounding-Box Be in einer ersten Schicht des Transformers erfolgt wie in Figur 1 a ausgehend von der ursprünglichen Position Py,0 des Objekt-Querys und ist in Figur 1 b nicht dargestellt. Wie nachfolgend beschrieben, wird anschließend eine Verfeinerung der Objekt-Queries durchgeführt und diese an neue Anker-Positionen, die von der in der ersten Schicht ermittelten Bounding-Box Be abhängen, angepasst. Die Ermittlung der hier dargestellten Bounding-Box Be in der zweiten Schicht des Transformers erfolgt ausgehend von einer neuen Position Py,1 des verfeinerten Objekt-Querys. Diese neue Position Py,1 des verfeinerten Objekt-Querys liegt näher am tatsächlichen Objekt, also der Position, an der die Bounding-Box Bgt gemäß der Grundwahrheit angeordnet ist, sodass die geschätzte Bounding-Box Be besser bestimmt werden kann und somit das Objekt genauer detektiert werden kann. Figur 2 zeigt ein Ablaufdiagramm des erfindungsgemäßen Verfahrens für zwei Schichten des Transformers. Gleiche Schritte werden mit gleichen Bezugszeichen bezeichnet und nur einmal im Detail beschrieben. Nachfolgend bezeichnet s die Nummer der Schicht des Decoders des Transformers. i wird als Laufvariable der Feature-Vektoren verwendet, wobei M Feature-Vektoren vorgesehen sind. Zu Beginn erfasst ein LiDAR-Sensor eines Fahrzeugs F die Umgebung. Eine visuelle Darstellung dieser aufgenommenen Punktwolken-Daten ist mit 1 R. 403233 - 9 - 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 ^ ^ und Value-Vektoren einem Decoder 6 eines Transformers zugeführt werden. Gleichzeitig werden aus den Punktwolken-Daten durch eine Sampling-Methode 4, beispielsweise Farthest-Point-Sampling, erste Anker-Positionen ermittelt, die dann ein Fourier-Encoding 5 durchlaufen: ^(^) ^ = FFN ^sin 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. ^ ( ^ ) ^ sind die berechneten Feature- Vektoren, welche als Objekt-Queries dem Decoder 6 des Transformers zugeführt werden. Ein erstes Set von Feature-Vektoren, welches direkt aus den ersten Anker- Positionen ^(^) ^ ermittelt wurde, ist mit Y 0 bezeichnet und besteht aus den Objekt- Queries ^(^). Jedes Objek (^) ^ t-Query ^^ dient als Slot (in Figur 2 dargestellt durch einzelne Kästchen) für ein mögliches Objekt. Der Decoder 6 des Transformers besteht aus sechs Schichten s mit jeweils acht Attention-Heads. In der ersten Schicht s0 (s=0) ermittelt der Decoder 6 aus den Objekt-Queries ^ ( ^ ) ^ sowie den Key-Vektoren ^ ^ und den Value-Vektoren ^ ^ Ergebnis-Feature-Vektoren ^ ( ^ ) ^ . Die Dimension der Objekt-Queries ^ ( ^ ) ^ , der Key-Vektoren ^ ^ und der Value-Vektoren ^ ^ beträgt beispielsweise 256. Hierdurch werden zwei Objekte O1 und O2 detektiert. Ein Feed-Forward-Netz 7 berechnet aus den Ergebnis-Feature-Vektoren ^ ( ^ ) ^ der ersten Schicht s0 Box- Parameter ^^^ ( ^ ) = (Δ^, Δ^, Δ^, ^, ^, ℎ, ^, ^ , ^ ,cls) für die Objekte O , O , wob ^ ^ ^ ^ 1 2 ei Δ^, Δ^, Δ^ den Unterschied der Position zu den Anker-Positionen ^(^) ^ in drei Dimensionen repräsentiert, ^, ^, ℎ die Ausmaße des Objekts O 1 , O 2 in drei Dimensionen sind, ^ die Ausrichtung des Objekts O1, O2 ist, ^ ^ , ^ ^ die Geschwindigkeit des Objekts O 1 , O 2 in der horizontalen Ebene repräsentiert und cls einen Klassenidentifikator darstellt. Die Objekte O 1 , O 2 wurden detektiert und sind hier in der mit 8 bezeichneten visuellen Darstellung eingezeichnet. R. 403233 - 10 - Erfindungsgemäß wird eine Verfeinerung VQ der Objekt-Queries durchgeführt. Hierfür erfolgt einerseits eine Anpassung 40 der Anker-Positionen ^(^) ^ um angepasste Anker-Positionen ^(^) ^ für die weitere Schicht s des Decoders 6 zu erhalten. Die Positions-Unterschiede Δ^, Δ^, Δ^ der Box-Parameter die in der ersten Schicht s0 des Decoders 6 ermittelt wurden, werden zu den ersten Anker-Positionen ^ ( ^ ) addiert und somit angepasste An ( ^ ) ^ ker-Positionen ^^ erhalten: ^ ( ^ ) = Δ^ ( ^ ) ^ ( , Δ^, Δ^ ) + ^^ Aus den Ergebnis-Feature-Vektoren ^(^) ^ können Box-Parameter erhalten werden, die weit weg von der ersten Anker-Position ^(^) ^ liegen und somit hohe Positions-Unterschiede Δ^, Δ^, Δ^ aufweisen. Durch die Anpassung 40 der Anker- Position werden angepasste Anker-Positionen ^(^) ^ erhalten, die näher am Objekt liegen. Ausgehend von diesen angepassten Anker-Positionen ^(^) ^ wird wiederum ein Encoding 50 durchgeführt, welches dem obenstehenden Encoding 5 entspricht, auf das verwiesen wird. Dadurch werden Feature-Vektorenerhalten, welche als Objekt-Queries ^(^) ^ einer weiteren Schicht s des Decoder 6 des Transformers zugeführt werden. Andererseits wird mittels eines Anker-Ausrichtungs-Moduls AAM (anchor alignment module) eine Transformation 90 der Ergebnis-Feature-Vektoren ^(^) ^ der ersten Schicht s0 durchgeführt, die mit Bezug auf Figur 3 näher beschrieben wird. Dabei werden transformierte Ergebnis-Feature-Vektoren ^(^) ^ erhalten, die an den angepassten Anker-Positionen ^(^) ^ ausgerichtet sind. ^(^) = AA (^) ^ M(^^ ) Die transformierten Ergebnis-Feature-Vektoren ^(^) ^ und die oben genannten Feature-Vektoren ^(^) ^ , die mittels Encoding 50 ermittelt wurden, werden als Set von Feature-Vektoren, das als Ys bezeichnet ist, der weiteren Schicht s des Decoders zugeführt. R. 403233 - 11 - Jeweils die Summe aus jedem Objekt-Query ^(^) ^ und jedem transformierten Ergebnis-Feature-Vektor ^(^) ^ dient als Slot (in Figur 2 dargestellt durch einzelne Kästchen) für ein mögliches Objekt. Somit werden insgesamt M Slots erhalten. Der Decoder 6 ermittelt in einer weiteren Schicht s, wie oben beschrieben, aus den Objekt-Queries ^(^) ^ der aktuellen Schicht s, die abhängig von den angepassten Anker-Positionen ^(^) ^ ermittelt wurde, den transformierte Ergebnis- Feature-Vektoren ^(^) ^ der vorhergehenden Schicht s0 sowie den Key-Vektoren ^ ^ und den Value-Vektoren ^ (^) ^ Ergebnis-Feature-Vektoren ^ ^ . Die Ergebnis- Feature-Vektoren ^(^) ^ werden dann ebenfalls einem Fast-Forward-Netz 7 zugeführt, das die Box-Parameter ^^^(^) = (Δ^, Δ^, Δ^, ^, ^, ℎ, ^, ^ , ^ ,cls) für die ^ ^ ^ ^ Objekte O1, O2 berechnet. Dabei sind die hier ermittelten Positions-Unterschiede Δ^, Δ^, Δ^ aufgrund der Verfeinerung VQ der Objekt-Queries klein. In Figur 2 ist eine weitere Verfeinerung QV der Objekt-Queries für noch weitere Schichten dargestellt. In einer Abfrage 100 wird entschieden, ob eine weitere Verfeinerung QV durchgeführt werden soll, wodurch eine weitere Verbesserung der Genauigkeit der Detektion in den weiteren Schichten erreicht werden kann. Sr bezeichnet hierbei die Schichten, bei denen die Verfeinerung QV durchgeführt werden soll. Für den Fall s ^ Sr werden die Ergebnis-Feature-Vektoren ^ ( ^ ) ^ der aktuellen Schicht s als Objekt-Queries für eine nachfolgende (hier nicht dargestellte) Schicht verwendet. Für den Fall s ^ Sr wird eine entsprechende Verfeinerung QV der Objekt-Queries durchgeführt. Wie oben beschrieben, erfolgt einerseits eine Anpassung 140 der Anker-Positionen ^ ( ^ ) ( ^ ) ^ , um angepasste Anker-Positionen ^^ zu erhalten, indem die Positions-Unterschiede Δ^, Δ^, Δ^ der Box-Parameter ^^^ ( ^ ) , die in der ^ ^ aktuellen Schicht s des Decoders 6 ermittelt wurden, zu den Anker-Positionen ^(^) addiert werden. Ausgehend von diesen angepassten Anker- (^)∗ ^ Positionen ^^ wird wiederum ein Encoding 150 durchgeführt, welches den obenstehenden Encodings 5 bzw.50 entspricht, auf die verwiesen wird, wodurch Feature- Vektoren ^(^) ^ erhalten werden. Andererseits wird mittels eines Anker- Ausrichtungs-Moduls AAM (anchor alignment module) eine Transformation 190 der Ergebnis-Feature-Vektoren ) durchgeführt, welche der R. 403233 - 12 - Transformation 90 entspricht, auf die auch mit Bezug auf Figur 3 verwiesen wird, wodurch transformierte Ergebnis-Feature-Vektoren erhalten werden. Allgemein kann das Set von Feature-Vektoren Ys, welches einer Schicht s des Decoder 6 zugeführt wird, abhängig von der Nummer der Schicht und abhängig davon, ob für diese eine Verfeinerung QV der Objekt-Queries durchgeführt wird, wie folgt aufgestellt werden: für s ∈ S ^ für s ∉ S ^ und s ≠ 0 für s = 0 Dabei ist ^ = max { ^ | ^ < ^ ∧ ^ ∈ ^ ^ ), was bedeutet, dass im zweiten Fall (zweite Zeile) stets die aktuellen durch Encoding 5, 50, 150 erhaltenen Objekt-Queries ^ ( ^ ) ^ dem Decoder 6 zugeführt werden. Die letzte Zeile gibt den Fall für die erste Schicht s0 an. Figur 3 zeigt ein Ablaufdiagramm der Transformation 90. Die Ergebnis-Feature- Vektoren ^ ( ^ ) ^ werden einem Fast-Forward-Netz zugeführt, welches aus zwei Schichten 91, 92 mit ReLU-Aktivierung besteht. Das Fast-Forward-Netz wird so eintrainiert, dass die beiden Schichten 91, 92 die Ergebnis-Feature-Vektoren ^ ( ^ ) ^ so verändern, dass die Positions-Unterschiede Δ^, Δ^, Δ^ zu der vorherigen Anker-Position zu Null gesetzt werden. Die Schichten 91, 92 selbst sind Umformungen der Eingabe mit Hilfe von gelernten Gewichten. Nach der ersten Schicht 91 wird eine Zwischenrepräsentation mit der Dimension h erhalten. Nach der zweiten Schicht 92 werden die transformierten Ergebnis-Feature-Vektor ^ ( ^ ) ^ erhalten, welche dieselbe Dimension d aufweisen, wie die eingegangenen Ergebnis-Feature-Vektoren ^ ( ^ ) ^ . Zudem wird eine Umgehungsverbindung 94 zum ursprünglichen Ergebnis-Feature-Vektoren ^ ( ^ ) ^ hergestellt, um sicherzugehen, dass keine Informationen verloren gegangen sind. Die vorstehende Beschreibung kann auch auf Transformationen für die weiteren Schichten s übertragen werden, beispielsweise auf die Transformation 190.