DE102023120330A1 - Neuronales strahlungsfeld für ein fahrzeug - Google Patents

Neuronales strahlungsfeld für ein fahrzeug Download PDF

Info

Publication number
DE102023120330A1
DE102023120330A1 DE102023120330.4A DE102023120330A DE102023120330A1 DE 102023120330 A1 DE102023120330 A1 DE 102023120330A1 DE 102023120330 A DE102023120330 A DE 102023120330A DE 102023120330 A1 DE102023120330 A1 DE 102023120330A1
Authority
DE
Germany
Prior art keywords
nerf
mlp
color
geometric
lidar
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
DE102023120330.4A
Other languages
English (en)
Inventor
Alexandra Carlson
Nikita Jaipuria
Punarjay Chakravarty
Manikandasriram SRINIVASAN RAMANAGOPAL
Ramanarayan Vasudevan
Katherine Skinner
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.)
Ford Global Technologies LLC
University of Michigan
Original Assignee
Ford Global Technologies LLC
University of Michigan
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 Ford Global Technologies LLC, University of Michigan filed Critical Ford Global Technologies LLC
Publication of DE102023120330A1 publication Critical patent/DE102023120330A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward 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/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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/10024Color image
    • 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Optics & Photonics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Ein Computer beinhaltet einen Prozessor und einen Speicher, und der Speicher speichert Anweisungen, die durch den Prozessor ausführbar sind, um ein mehrschichtiges Perzeptron (MLP) eines geometrischen NeRF und ein Farb-NeRF MLP gemeinsam zu trainieren, um eine Szene unter Verwendung einer Belegungsgitterkarte, Kameradaten der Szene von einer Kamera und Lidardaten der Szene von einem Lidar zu modellieren; das geometrische NeRF MLP mit den Lidardaten während des gemeinsamen Trainierens zu überwachen; und das Farb-NeRF MLP mit den Kameradaten während des gemeinsamen Trainierens zu überwachen. Das geometrische NeRF MLP ist ein neuronales Strahlungsfeld, das eine Geometrie der Szene modelliert, und das Farb-NeRF MLP ist ein neuronales Strahlungsfeld, das Farben der Szene modelliert.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanm. Nr. 63/370,304 , eingereicht am 3. August 2022, die hiermit durch Bezugnahme vollumfänglich aufgenommen ist.
  • TECHNISCHES GEBIET
  • Diese Offenbarung betrifft ein neuronales Strahlungsfeld für ein Fahrzeug.
  • HINTERGRUND
  • Moderne Fahrzeuge beinhalten typischerweise eine Vielfalt von Sensoren. Einige Sensoren erfassen die Außenwelt, z. B. Objekte und/oder Eigenschaften der Umgebung der Fahrzeuge, wie etwa andere Fahrzeuge, Fahrbahnmarkierungen, Verkehrsampeln und/oder -schilder, Fußgänger usw. Arten von Sensoren für Fahrzeuge beinhalten Radarsensoren, Ultraschallsensoren, Laserscanner-abstandsmesser, Lichterfassungs- und abstandsmessungs-(lidar-) -Vorrichtungen und Bildverarbeitungssensoren, wie etwa Kameras.
  • KURZDARSTELLUNG
  • Diese Offenbarung beschreibt Techniken zum geometrischen und visuellen Modellieren einer Szene. Die Szene wird unter Verwendung mehrschichtiger Perzeptronen (multilayer perceptrons - MLP) eines bestimmten neuronalen Strahlungsfelds (neural radiance field - NeRF), eines geometrischen NeRF MLP und eines Farb-NeRF MLP sowie einer Belegungsgitterkarte modelliert. Das geometrische NeRF MLP ist ein neuronales Strahlungsfeld, das eine Geometrie der Szene modelliert, und das Farb-NeRF MLP ist ein neuronales Strahlungsfeld, das Farben der Szene modelliert. Ein neuronales Strahlungsfeld ist ein neuronales Netz, in diesem Fall ein mehrschichtiges Perzeptron, das dazu trainiert ist, eine spezifische Szene implizit darzustellen. Die Szene wird zudem mit einer Belegungsgitterkarte modelliert. Eine Belegungsgitterkarte ist eine Darstellung einer dreidimensionalen Szene als ein Gitter, wobei jeder Punkt in dem Gitter eine Variable ist, die angibt, ob dieser Punkt belegt (z. B. durch ein Objekt gefüllt) oder unbelegt (z. B. leerer Raum) ist. Ein Computer ist dazu programmiert, das geometrische NeRF MLP und das Farb-NeRF MLP gemeinsam zu trainieren, um die Szene unter Verwendung der Belegungsgitterkarte, Kameradaten der Szene von einer Kamera und Lidardaten der Szene von einem Lidar zu modellieren; das geometrische NeRF MLP mit den Lidardaten während des gemeinsamen Trainierens zu überwachen; und das Farb-NeRF MLP mit den Kameradaten während des gemeinsamen Trainierens zu überwachen. Das Überwachen des geometrischen NeRF MLP mit Lidardaten kann helfen, zu verhindern, dass Sensorartefakte und Beleuchtungseffekte in den Kameradaten das geometrische NeRF MLP beeinflussen. Die Verwendung der Belegungsgitterkarte kann eine bessere Leistung als ein grober MLP bereitstellen, der typischerweise für NeRFs verwendet wird, insbesondere für große Außenszenen. Die Techniken in dieser Schrift können ein dichtes, genaues Modell einer Szene aus spärlichen Daten bereitstellen, z. B. von einem einzelnen Kamerabild und einem einzelnen Lidar-Scan - etwas, mit dem NeRFs zuvor Schwierigkeiten für große Außenszenen hatten. Zum Beispiel können diese Techniken für ein Fahrzeug nützlich sein, das gerade eingeschaltet wurde. Da sich das Fahrzeug nicht durch die Umgebung bewegt hat, in der die Kamera und das Lidar Daten sammeln, können die verfügbaren Daten auf Kameradaten und Lidardaten beschränkt sein, die erfasst werden, während das Fahrzeug, das die Kamera und das Lidar beinhaltet, stationär ist. Trotz der begrenzten Daten können diese Techniken eine genaue Darstellung der Szene bereitstellen, damit das Fahrzeug beginnt, durch die Szene zu fahren.
  • Ein Computer beinhaltet einen Prozessor und einen Speicher, und der Speicher speichert Anweisungen, die durch den Prozessor ausführbar sind, um ein mehrschichtiges Perzeptron (multilayer perceptron - MLP) eines geometrischen NeRF und ein Farb-NeRF MLP gemeinsam zu trainieren, um eine Szene unter Verwendung einer Belegungsgitterkarte, Kameradaten der Szene von einer Kamera und Lidardaten der Szene von einem Lidar zu modellieren; das geometrische NeRF MLP mit den Lidardaten während des gemeinsamen Trainierens zu überwachen; und das Farb-NeRF MLP mit den Kameradaten während des gemeinsamen Trainierens zu überwachen. Sas geometrische NeRF MLP ist ein neuronales Strahlungsfeld, das eine Geometrie der Szene modelliert, und das Farb-NeRF MLP ist ein neuronales Strahlungsfeld, das Farben der Szene modelliert.
  • In einem Beispiel können die Anweisungen weiter Anweisungen beinhalten, um nach dem gemeinsamen Trainieren eine Komponente auf der Grundlage von mindestens einem von der Belegungsgitterkarte, des geometrischen NeRF MLP oder des Farb-NeRF MLP zu betätigen. In einem Beispiel können die Anweisungen weiter Anweisungen zum Abtasten der Belegung der Belegungsgitterkarte an Punkten entlang eines Strahls, der sich von der Kamera oder dem Lidar erstreckt, beinhalten. In einem weiteren Beispiel können die Anweisungen weiter Anweisungen zum Abtasten der Belegung an den Punkten durch Interpolieren von Belegungswerten an nahegelegenen Gitterpunkten der Belegungsgitterkarte beinhalten.
  • In einem weiteren Beispiel können die Punkte erste Punkte sein, können die ersten Punkte gleichmäßig entlang des Strahls beabstandet sein und können die Anweisungen weiter Anweisungen zum Durchführen einer Wichtigkeitsabtastung der Belegung der Belegungsgitterkarte an zweiten Punkten entlang des Strahls beinhalten. In noch einem weiteren Beispiel können die Anweisungen weiter Anweisungen zum Ausführen von mindestens einem von dem geometrischen NeRF MLP oder dem Farb-NeRF MLP mit Positionen der zweiten Punkte als Eingabe beinhalten.
  • In einem Beispiel können die Anweisungen weiter Anweisungen zum Rendern von mindestens einem von einem Lidarstrahl, der sich von dem Lidar erstreckt, durch Ausführen des geometrischen NeRF MLP, oder einem Kamerastrahl, der sich von der Kamera erstreckt, durch Ausführen des Farb-NeRF MLP, beinhalten.
  • In einem Beispiel können die Anweisungen weiter Anweisungen zum Aktualisieren des geometrischen NeRF MLP auf der Grundlage einer Verlustfunktion beinhalten. In einem weiteren Beispiel kann die Verlustfunktion einen Opazitätsverlust auf der Grundlage einer Opazität entlang eines Strahls beinhalten, der sich von dem Lidar erstreckt.
  • In einem weiteren Beispiel kann die Verlustfunktion einen Sichtlinienverlust entlang eines Strahls beinhalten, der sich von dem Lidar erstreckt. In noch einem weiteren Beispiel kann die Verlustfunktion einen Opazitätsverlust auf der Grundlage einer Opazität entlang des Strahls beinhalten, und der Sichtlinienverlust kann in der Verlustfunktion stärker gewichtet werden als der Opazitätsverlust.
  • In einem Beispiel können die Anweisungen weiter Anweisungen zum Aktualisieren des geometrischen Farb-NeRF MLP auf der Grundlage einer Verlustfunktion beinhalten. In einem weiteren Beispiel kann die Verlustfunktion einen Opazitätsverlust auf der Grundlage einer Opazität entlang eines Strahls beinhalten, der sich von der Kamera erstreckt.
  • In einem weiteren Beispiel kann die Verlustfunktion einen Farbverlust entlang eines Strahls beinhalten, der sich von der Kamera erstreckt.
  • In einem Beispiel können die Anweisungen weiter Anweisungen zum Aktualisieren der Belegungsgitterkarte unter Verwendung eines stochastischen Gradientenabstiegs auf der Grundlage der Lidardaten beinhalten.
  • In einem Beispiel können die Anweisungen weiter Anweisungen zum Aktualisieren der Belegungsgitterkarte zeitgleich mit dem Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP beinhalten.
  • In einem Beispiel können die Anweisungen weiter Anweisungen zum Aktualisieren der Belegungsgitterkarte und zum mehrmaligen Aktualisieren des geometrischen NeRF MLP oder des Farb-NeRF MLP während des gemeinsamen Trainierens für jede Aktualisierung der Belegungsgitterkarte beinhalten.
  • In einem Beispiel können die Anweisungen weiter Anweisungen beinhalten, um vor dem gemeinsamen Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP das geometrische NeRF MLP unabhängig von dem Farb-NeRF MLP zu trainieren.
  • In einem Beispiel können die Anweisungen weiter Anweisungen beinhalten, um vor dem gemeinsamen Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP das geometrische NeRF MLP unabhängig von dem Farb-NeRF MLP zu trainieren.
  • Ein Verfahren beinhaltet gemeinsames Trainieren eines mehrschichtigen Perzeptrons (multilayer perceptron - MLP) eines geometrischen NeRF und eines Farb-NeRF MLP, um eine Szene unter Verwendung einer Belegungsgitterkarte, Kameradaten der Szene von einer Kamera und Lidardaten der Szene von einem Lidar zu modellieren; Überwachen des geometrischen NeRF MLP mit den Lidardaten während des gemeinsamen Trainierens; und Überwachen des Farb-NeRF MLP mit den Kameradaten während des gemeinsamen Trainierens. Das geometrische NeRF MLP ist ein neuronales Strahlungsfeld, das eine Geometrie der Szene modelliert, und das Farb-NeRF MLP ist ein neuronales Strahlungsfeld, das Farben der Szene modelliert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist ein Blockdiagramm eines beispielhaften Fahrzeugs.
    • 2 ist ein Diagramm eines Abschnitts eines Belegungsgitters, durch das ein Strahl von einem Sensor hindurchgeht.
    • 3 ist ein Verlauf der Wichtigkeitsabtastung aus dem Belegungsgitter entlang des Strahls.
    • 4 ist zwei Verläufe von Farbe bzw. Tiefe entlang des Strahls.
    • 5 ist ein Diagramm der Interpolation eines Belegungswerts an einem Abtastpunkt von Punkten in dem Belegungsgitter.
    • 6 ist ein Verlauf des stochastischen Gradientenanstiegs, der auf Abtastpunkte entlang des Strahls angewendet wird.
    • 7A-C sind zusammen ein Ablaufdiagramm für Trainieren eines geometrischen mehrschichtigen Perzeptrons, eines farbigen mehrschichtigen Perzeptrons und des Belegungsgitters.
  • DETAILLIERTE BESCHREIBUNG
  • Unter Bezugnahme auf die Figuren, in denen gleiche Bezugszeichen gleiche Teile über die verschiedenen Ansichten hinweg angeben, beinhaltet ein Computer 102 eines Fahrzeugs 100 einen Prozessor und einen Speicher, und der Speicher speichert Anweisungen, die durch den Prozessor ausführbar sind, um ein mehrschichtiges Perzeptron (multilayer perceptron - MLP) eines geometrischen NeRF und ein Farb-NeRF MLP gemeinsam zu trainieren, um eine Szene unter Verwendung einer Belegungsgitterkarte 200, Kameradaten der Szene von einer Kamera 104, und Lidardaten der Szene von einem Lidar 106 zu modellieren; das geometrische NeRF MLP mit den Lidardaten während des gemeinsamen Trainierens zu überwachen; und das Farb-NeRF MLP mit den Kameradaten während des gemeinsamen Trainierens zu überwachen. Das geometrische NeRF MLP ist ein neuronales Strahlungsfeld, das eine Geometrie der Szene modelliert, und das Farb-NeRF MLP ist ein neuronales Strahlungsfeld, das Farben der Szene modelliert.
  • Unter Bezugnahme auf 1 kann das Fahrzeug 100 ein beliebiger/-s Personenkraftwagen oder Nutzfahrzeug sein, wie etwa ein Auto, ein Truck, ein Sport Utility Vehicle, ein Crossover, ein Van, ein Minivan, ein Taxi, ein Bus usw. Das Fahrzeug 100 kann den Computer 102, ein Kommunikationsnetzwerk 108, das Lidar 106, die Kamera 104, ein Antriebssystem 110, ein Bremssystem 112, ein Lenksystem 114 und eine Benutzerschnittstelle 116 beinhalten.
  • Der Computer 102 ist eine mikroprozessorbasierte Rechenvorrichtung, z. B. eine generische Rechenvorrichtung, die einen Prozessor und einen Speicher, eine elektronische Steuerung oder dergleichen, ein feldprogrammierbares Gate-Array (field-programmable gate array - FPGA), eine anwendungsspezifische integrierte Schaltung (application-specific integrated circuit - ASIC), eine Kombination des Vorstehenden usw. beinhaltet. Typischerweise wird eine Hardwarebeschreibungssprache, wie etwa VHDL (VHSIC (Very High Speed Integrated Circuit) Hardware Description Language), in elektronischer Designautomation verwendet, um digitale und Mischsignal-Systeme, wie etwa FPGA und ASIC, zu beschreiben. Zum Beispiel wird eine ASIC basierend auf einer VHDL-Programmierung hergestellt, die vor der Herstellung bereitgestellt wird, wohingegen logische Komponenten innerhalb eines FPGA basierend auf einer VHDL-Programmierung konfiguriert sein können, die z. B. auf einem Speicher gespeichert ist, der elektrisch mit der FPGA-Schaltung verbunden ist. Der Computer 102 kann somit einen Prozessor, einen Speicher usw. beinhalten. Der Speicher des Computers 102 kann Medien zum Speichern von Anweisungen, die durch den Prozessor ausführbar sind, sowie zum elektronischen Speichern von Daten und/oder Datenbanken beinhalten und/oder der Computer 102 kann Strukturen, wie etwa die Vorstehenden, beinhalten, durch die Programmierung bereitgestellt wird. Bei dem Computer 102 kann es sich um mehrere aneinander gekoppelte Computer handeln.
  • Der Computer 102 kann über das Kommunikationsnetzwerk 108 Daten übertragen und empfangen. Das Kommunikationsnetzwerk 108 kann z. B. einen Controller-Area-Network-Bus (CAN-Bus), Ethernet, WiFi, ein Local Interconnect Network (LIN), einen On-Board-Diagnostics-Connector (OBD-II) und/oder ein beliebiges anderes drahtgebundenes oder drahtloses Kommunikationsnetzwerk sein. Der Computer 102 kann kommunikativ an das Lidar 106, die Kamera 104, das Antriebssystem 110, das Bremssystem 112, das Lenksystem 114, die Benutzerschnittstelle 116 und andere Komponenten über das Kommunikationsnetzwerk 108 gekoppelt sein.
  • Das Lidar 106, z. B. eine Scanning-Lidar-Vorrichtung, detektiert Abstände zu Objekten durch Emittieren von Laserimpulsen bei einer bestimmten Wellenlänge und Messen der Laufzeit, die der Puls benötigt, um zu dem Objekt und zurück zu gelangen. Das Lidar 106 kann ein beliebiger geeigneter Typ zum Bereitstellen der Lidar-Daten sein, auf die der Computer 102 reagieren kann, z. B. Lidar vom Spindeltyp, Festkörper-Lidar, Flash-Lidar usw.
  • Der Computer 102 ist dazu programmiert, Lidardaten von dem Lidar 106 zu empfangen. Die Lidar-Daten können z. B. eine Punktwolke sein. Eine Punktwolke kann für jede Abtastung erzeugt werden, d. h. für jede vollständige Umdrehung des Lidars 106. Die Punkte der Punktwolke spezifizieren jeweilige Positionen in der Szene. Jeder Punkt in der Punktwolke kann einen Strahl 204 definieren, der sich von dem Lidar 106 erstreckt. Die Punkte können in einem Weltkoordinatensystem dargestellt sein, d. h. einem Koordinatensystem, das sich auf die Szene und nicht auf das Fahrzeug 100 bezieht. Der Ursprung des Strahls 204 kann durch die folgende Gleichung gegeben sein: o = H L [ 0 0 0 1 ]
    Figure DE102023120330A1_0001
    wobei HL die Pose des Lidars 106 in Weltkoordinaten ist. Der Ursprung des Strahls 204 kann durch die folgende Gleichung gegeben sein: d = H L [ x T 1 ] o
    Figure DE102023120330A1_0002
    wobei x
    Figure DE102023120330A1_0003
    der Punkt in einem Koordinatensystem relativ zu dem Lidar 106 ist.
  • Die Kamera 104 kann elektromagnetische Strahlung in einem gewissen Wellenlängenbereich detektieren. Zum Beispiel kann die Kamera 104 sichtbares Licht, Infrarotstrahlung, ultraviolettes Licht oder einen gewissen Wellenlängenbereich, der sichtbares, infrarotes und/oder ultraviolettes Licht beinhaltet, detektieren. Zum Beispiel kann die Kamera 104 eine ladungsgekoppelte Vorrichtung (charge-coupled device - CCD), ein komplementärer MetallOxid-Halbleiter (complementary metal oxide semiconductor - CMOS) oder ein beliebiger anderer geeigneter Typ sein.
  • Der Computer 102 ist programmiert, Kameradaten von der Kamera 104 zu empfangen. Die Kameradaten sind einer oder mehrere Bildframes des Sichtfelds der Kamera 104. Jeder Bildframe ist eine zweidimensionale Matrix aus Pixeln. Jedes Pixel weist eine Helligkeit oder Farbe auf, die als ein oder mehrere numerische Werte dargestellt wird, z. B. ein skalarer einheitsloser Wert der photometrischen Lichtintensität zwischen 0 (schwarz) und 1 (weiß) oder Werte für Rot, Grün und Blau, z. B. jeweils auf einer 8-bit-Skala (0 bis 255) oder einer 12- oder 16-bit-Skala. Die Pixel können eine Mischung von Darstellungen sein, z. B. ein sich wiederholendes Muster von Skalarwerten der Intensität für drei Pixel und ein viertes Pixel mit drei numerischen Farbwerten oder ein anderes Muster. Die Position in einem Bildframe, d. h. die Position in dem Sichtfeld des Sensors zu dem Zeitpunkt, zu dem der Bildframe aufgenommen wurde, kann in Pixelabmessungen oder Koordinaten angegeben werden, z. B. ein geordnetes Paar von Pixelabständen (u, v), wie etwa eine Anzahl an Pixeln von einer oberen Kante und eine Anzahl an Pixeln von einer linken Kante des Bildframes.
  • Das Antriebssystem 110 des Fahrzeugs 100 erzeugt Energie und wandelt die Energie in Bewegung des Fahrzeugs 100 um. Bei dem Antriebssystem 110 kann es sich um Folgendes handeln: ein herkömmliches Teilsystem des Fahrzeugantriebs, zum Beispiel einen herkömmlichen Antriebsstrang, der eine Brennkraftmaschine beinhaltet, die an ein Getriebe gekoppelt ist, das eine Rotationsbewegung auf Räder transferiert; einen elektrischen Antriebsstrang, der Batterien, einen Elektromotor und ein Getriebe, das Rotationsbewegung auf die Räder transferiert, beinhaltet; einen Hybridantriebsstrang, der Elemente des herkömmlichen Antriebsstrangs und des elektrischen Antriebsstrangs beinhaltet; oder einen beliebigen anderen Antriebstyp. Das Antriebssystem 110 kann eine elektronische Steuereinheit (electronic control unit - ECU) oder dergleichen beinhalten, die mit dem Computer 102 und/oder einem menschlichen Bediener in Kommunikation steht und Eingaben von diesem empfängt. Der menschliche Bediener kann das Antriebssystem 110 z. B. über ein Gaspedal und/oder einen Gangschalthebel steuern.
  • Das Bremssystem 112 ist typischerweise ein herkömmliches Teilsystem zum Bremsen eines Fahrzeugs und wirkt der Bewegung des Fahrzeugs 100 entgegen, um dadurch das Fahrzeug 100 abzubremsen und/oder anzuhalten. Das Bremssystem 112 kann Folgendes beinhalten: Reibungsbremsen, wie etwa Scheibenbremsen, Trommelbremsen, Bandbremsen usw.; Nutzbremsen; eine beliebige andere geeignete Art von Bremsen; oder eine Kombination. Das Bremssystem 112 kann eine elektronische Steuereinheit (ECU) oder dergleichen beinhalten, die mit dem Computer 102 und/oder einem menschlichen Bediener in Kommunikation steht und Eingaben von diesem/diesen empfängt. Der menschliche Bediener kann das Bremssystem 112 z. B. über ein Bremspedal steuern.
  • Das Lenksystem 114 ist in der Regel ein herkömmliches Teilsystem zum Lenken eines Fahrzeugs und steuert das Einlenken der Räder. Bei dem Lenksystem 114 kann es sich um ein Zahnstangensystem mit elektrischer Servolenkung, ein Steer-by-Wire-System, wie sie beide bekannt sind, oder ein beliebiges anderes geeignetes System handeln. Das Lenksystem 114 kann eine elektronische Steuereinheit (ECU) oder dergleichen beinhalten, die mit dem Computer 102 und/oder einem menschlichen Bediener in Kommunikation steht und Eingaben von diesen/diesem empfängt. Der menschliche Bediener kann das Lenksystem 114 z. B. über ein Lenkrad steuern.
  • Die Benutzerschnittstelle 116 präsentiert Informationen für einen Bediener des Fahrzeugs 100 und empfängt Informationen von diesem. Die Benutzerschnittstelle 116 kann sich z. B. an einem Armaturenbrett in einer Fahrgastzelle des Fahrzeugs 100 oder an einer beliebigen Stelle befinden, an der sie ohne Weiteres durch den Bediener gesehen werden kann. Die Benutzerschnittstelle 116 kann Ziffernblätter, Digitalanzeigen, Bildschirme, Lautsprecher und so weiter zum Bereitstellen von Informationen an den Bediener beinhalten, z. B. bekannte Elemente einer Mensch-Maschine-Schnittstelle (human-machine interface - HMI). Die Benutzerschnittstelle 116 kann Tasten, Knöpfe, Tastenfelder, ein Mikrofon und so weiter zum Empfangen von Informationen von dem Bediener beinhalten.
  • Unter Bezugnahme auf 2 verwenden die nachstehenden Techniken die Belegungsgitterkarte 200 der Szene. Eine Belegungsgitterkarte ist eine Darstellung einer dreidimensionalen Szene als ein Gitter, wobei jeder Gitterpunkt 202 einen Belegungswert γi,j,k hat, der angibt, ob dieser Gitterpunkt 202 belegt (d. h. durch ein Objekt gefüllt) oder unbelegt (d. h. leerer Raum) ist. Die Gitterpunkte 202 können gleichmäßig entlang dreier zueinander orthogonaler Achsen verteilt sein, wobei die Indizes i, j und k eines Gitterpunkts 202 die Positionen entlang jeder Achse darstellen. Der Belegungswert γi,j,k gibt eine Wahrscheinlichkeit an, dass der Gitterpunkt 202 (i, j, k) belegt ist und kann von null bis eins reichen.
  • Der Computer 102 kann dazu programmiert sein, die Belegungsgitterkarte 200 zu initialisieren, z. B. als Reaktion auf das Einschalten des Fahrzeugs 100. „Initialisieren“ der Belegungsgitterkarte 200 bezieht sich auf das Erstellen der Belegungsgitterkarte 200 in einem Anfangszustand, z. B. ohne den Vorteil vorheriger Zustände der Belegungsgitterkarte 200. Wie nachstehend beschrieben wird, kann die Belegungsgitterkarte 200 nach der Initialisierung aktualisiert werden. Zum Beispiel kann der Computer 102 die Belegungsgitterkarte 200 in einem Standardzustand erzeugen, z. B. mit den Belegungswerten, die Anfangswerte von null haben. Als ein anderes Beispiel kann der Computer 102 die Belegungsgitterkarte 200 auf der Grundlage der Lidardaten erzeugen. Jeder Belegungswert kann auf eins gesetzt werden, falls die Lidardaten einen Punkt an dem jeweiligen Gitterpunkt 202 beinhalten (oder näher an diesem Gitterpunkt 202 als an einem beliebigen anderen Gitterpunkt 202), und andernfalls auf null.
  • Der Computer 102 kann dazu programmiert sein, die Belegung der Belegungsgitterkarte 200 an den Abtastpunkten 206, 302 entlang eines Strahls 204 abzutasten, der sich von der Kamera 104 oder dem Lidar 106 erstreckt. Dieses Abtasten kann nach der Initialisierung oder nach dem Aktualisieren der Belegungsgitterkarte 200 erfolgen. Der Computer 102 kann die Belegung an den Abtastpunkten 206, 302 abtasten, indem er anhand von Belegungswerten an nahegelegenen Gitterpunkten 202 der Belegungsgitterkarte 200 interpoliert. Zum Beispiel kann der abgetastete Belegungswert β1 an einem Punkt entlang des Strahls 204 mit dem Index l als ein Mittelwert der Belegungswerte γi,j,k für die acht umgebenden Gitterpunkte 202 berechnet werden, z. B. gewichtet durch Nähe zum Abtastpunkt 206, 302, wie in 5 veranschaulicht.
  • Die Abtastung kann in zwei Stufen erfolgen, wobei die Belegung der ersten Punkte 206 in einer ersten Stufe abgetastet wird und die Belegung der zweiten Punkte 302 in einer zweiten Stufe abgetastet wird. Das Bestimmen der Belegung für jeden Abtastpunkt 206, 302 kann auf die gleiche Weise, wie unmittelbar vorstehend beschrieben, durchgeführt werden. In der ersten Stufe können die ersten Punkte 206 gleichmäßig entlang des Strahls 204 beabstandet sein. Unter Bezugnahme auf 3 kann der Computer 102 in der zweiten Stufe eine Wichtigkeitsabtastung der Belegung der Belegungsgitterkarte 200 an den zweiten Punkten 302 entlang des Strahls 204 durchführen. Die Wichtigkeitsabtastung ist ein Monte-Carlo-Verfahren, das eine zufällige Abtastung aus einer anderen Verteilung als der interessierenden Verteilung beinhaltet, wobei die andere Verteilung so gewählt wird, dass sie sich einer Zufallsvariablen annähert, die bei dem Erwartungswert der interessierenden Verteilung gleich eins ist und andernfalls null ist. Die Häufigkeiten der Abtastungen können beim Bestimmen des Erwartungswerts der interessierenden Verteilung nach ihren Gewichtungen sortiert werden. 3 ist ein Verlauf einer Kurve 300, die an die von den ersten Punkten 206 abgetasteten Belegungswerte angepasst ist, gegenüber dem Abstand entlang des Strahls 204. Die Wichtigkeitsabtastung verteilt die Positionen der zweiten Punkte 302 im Vergleich zu den ersten Punkten 206 so um, dass sie entlang des Strahls 204 ungleichmäßig verteilt sind, wie durch die Positionen der zweiten Punkte 302 entlang der Länge des Strahls 204 gezeigt. Insbesondere verleiht die Wichtigkeitsabtastung den zweiten Punkten 302 eine höhere lineare Dichte entlang des Strahls 204 nahe belegten Regionen der Gitterkarte und eine geringere lineare Dichte in unbesetzten Regionen.
  • Unter Bezugnahme auf 4 ist ein neuronales Strahlungsfeld (neural radiance field - NeRF) ein neuronales Netz, das dazu trainiert ist, eine spezifische Szene implizit darzustellen. Sobald ein NeRF an einer Szene trainiert wurde, kann das NeRF verwendet werden, um neue Ansichten der Szene aus Perspektiven zu generieren, die nicht in den Trainingsdaten beinhaltet waren. Herkömmlicherweise sind die Trainingsdaten lediglich eine Vielzahl von Bildern einer Szene und nimmt ein trainiertes NeRF einen dreidimensionalen Ort x = ( x , y , z )
    Figure DE102023120330A1_0004
    und eine Blickrichtung d = ( x d , y d , z d )
    Figure DE102023120330A1_0005
    als Eingaben und Ausgaben eine skalare Volumendichte σ an diesem Ort und die Farbe c = ( r , g , b ) ,
    Figure DE102023120330A1_0006
    die an diesem Ort in Richtung der Blickrichtung emittiert wird. Ein NeRF wird für eine spezifische Szene trainiert. Falls eine andere Szene von Interesse ist, muss ein neues NeRF trainiert werden.
  • Das geometrische NeRF MLP und das Farb-NeRF MLP sind mehrschichtige Perzeptronen (multilayer perceptrons - MLP). Ein MLP ist ein vollständig verbundenes künstliches neuronales Vorwärtskopplungsnetzwerk. Jedes MLP beinhaltet eine Eingabeschicht, mindestens eine verborgene Schicht und eine Ausgabeschicht. Die Schichten bestehen aus Knoten. Die Knoten in jeder Schicht empfangen als Eingaben die Ausgaben von den Knoten in der vorherigen Schicht, beginnend mit der Eingabeschicht und endend mit der Ausgabeschicht. Jede Verbindung zwischen Knoten in benachbarten Schichten weist eine Gewichtung auf. Jeder Knoten weist eine Aktivierungsfunktion auf, die die gewichteten Eingaben in diesen Knoten als ihr Argument verwendet. MI,Ps sind vollständig verbunden, indem jeder Knoten in einer Schicht mit jedem Knoten in der(den) benachbarten Schicht(en) verbunden ist. Das Trainieren eines MLP führt dazu, dass die Gewichtungen über Rückpropagierung geändert werden.
  • Die Techniken in dieser Schrift verwenden bestimmte NeRF-MI,Ps für Geometrie und Farbe anstelle eines einzelnen NeRF für beide. Das geometrische NeRF MLP ist ein neuronales Strahlungsfeld, das eine Geometrie der Szene modelliert. Sobald trainiert, empfängt das geometrische NeRF MLP eine dreidimensionale Position als Eingabe und erzeugt die skalare Volumendichte an dieser Position als Ausgabe. Das Farb-NeRF MLP ist ein neuronales Strahlungsfeld, das Farben der Szene modelliert. Sobald trainiert, empfängt das Farb-NeRF MLP eine dreidimensionale Position und eine Blickrichtung als Eingabe und erzeugt die Farbe, die an dieser Position in Richtung der Blickrichtung emittiert wird. Das geometrische NeRF MLP und das Farb-NeRF MLP weisen keine interagierenden Terme auf, d. h., es gibt keine Verbindungen von Knoten in einem der NeRF MLPs zu Knoten in dem anderen der NeRF MLPs. Die Verwendung unterschiedlicher NeRF MLPs für Geometrie und Farbe ermöglicht eine Überwachung der geometrischen Ausgabe (z. B. der skalaren Volumendichte) durch die Lidardaten, was bedeutet, dass viel weniger Kameradaten benötigt werden, z. B. nur ein einzelnes Bild.
  • Der Computer 102 kann dazu programmiert sein, das geometrische NeRF MLP und das Farb-NeRF MLP sowohl unabhängig als auch gemeinsam zu trainieren. Zum Beispiel kann der Computer 102 vor dem gemeinsamen Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP das geometrische NeRF MLP unabhängig von dem Farb-NeRF MLP trainieren und kann das Farb-NeRF MLP unabhängig von dem geometrischen NeRF MLP trainieren. Der Computer 102 kann dann das geometrische NeRF MLP und das Farb-NeRF MLP gemeinsam trainieren, um die Szene zu modellieren. Das unabhängige Trainieren ermöglicht dem geometrischen NeRF MLP und dem Farb-NeRF MLP, die Szene grob zu modellieren, und das gemeinsame Trainieren stimmt die Szenemodellierung fein ab.
  • Der Computer 102 trainiert das geometrische NeRF MLP und das Farb-NeRF MLP unter Verwendung der Belegungsgitterkarte 200, der Kameradaten und der Lidardaten. Der Computer 102 trainiert das geometrische NeRF MLP, das Farb-NeRF MLP und sowohl das geometrische NeRF MLP als auch das Farb-NeRF MLP in unterschiedlichen Stufen. In jeder Stufe führt der Computer 102 das geometrische NeRF MLP aus, um einen Lidarstrahl 204 zu rendern, oder das Farb-NeRF MLP, um einen Kamerastrahl 204 zu rendern, berechnet eine Verlustfunktion, die den gerenderten Strahl 204 mit einem Ground-Truth-Wert aus den Lidardaten oder Kameradaten vergleicht, und aktualisiert das geometrische NeRF MLP oder das Farb-NeRF MLP auf der Grundlage der Verlustfunktion, wie wiederum beschrieben wird. Der Computer 102 ist dazu programmiert, einen Lidarstrahl 204 zu rendern, der sich von dem Lidar erstreckt, indem das geometrische NeRF MLP ausgeführt wird, um die skalare Volumendichte an Punkten entlang des Lidarstrahls 204 auszugeben. 4 zeigt eine erste Kurve 402, die die skalare Volumendichte gegenüber dem Abstand entlang des Strahls 204 abbildet. Die Positionen der zweiten Punkte 302 aus der vorstehenden Wichtigkeitsabtastung können als die Positionen der Punkte, für die die skalare Volumendichte ausgegeben wird, in das geometrische NeRF MLP eingegeben werden. Zum Beispiel kann der Computer 102 eine erwartete Endtiefe des Lidarstrahls 204 bestimmen. Die erwartete Endtiefe ist der erwartete Abstand zu einem entsprechenden Punkt einer Punktwolke von dem Lidar 106. Der Computer 102 kann die erwartete Endtiefe durch Summieren oder Integrieren von Termen für die zweiten Punkte 302 bestimmen, wobei die Terme von der skalaren Volumendichte und dem Abstand zwischen den zweiten Punkten 302 abhängig sind, z. B. einer Exponentialfunktion eines Produkts der skalaren Volumendichte und des Abstands zwischen aufeinanderfolgenden zweiten Punkten 302, z. B. eine Quadraturapproximation einer volumetrischen Rendering-Gleichung, wie in dem folgenden Ausdruck: D ^ ( r ) = i = 1 N exp ( j = 1 i 1 σ j δ j ) ( 1 exp ( σ i δ i ) t i )
    Figure DE102023120330A1_0007
    wobei D̂ die erwartete Endtiefe ist, r
    Figure DE102023120330A1_0008
    der Strahl 204 ist, i und j Indizes der zweiten Punkte 302 sind, N die Gesamtanzahl der zweiten Punkte 302 entlang des Strahls 204 ist, exp() die Exponentialfunktion ist, d. h., die Eulersche Zahl e, die mit dem Argument potenziert ist, σi die skalare Volumendichte an Punkt i ist, δi der Abstand zwischen den Punkten i und i+1 ist, und ti der Abstand vom Ursprung des Strahls 204 bis zum Punkt i ist. Der Strahl 204 ist die Summe des Ursprungs des Strahls 204 und des Abstands vom Ursprung und einem Einheitsvektor der Richtung des Strahls 204, z. B. r ( t ) = o + t d ,
    Figure DE102023120330A1_0009
    wobei o
    Figure DE102023120330A1_0010
    der Ursprung des Strahls 204 ist und d
    Figure DE102023120330A1_0011
    die Einheitsvektorrichtung des Strahls 204 ist. Die skalare Volumendichte σi ist die Ausgabe des geometrischen NeRF MLP für Eingaben der Position des zweiten Punktes 302 i. Die Abstände zwischen den zweiten Punkten 302 können als die Differenz zwischen den Abständen von dem Ursprung zu einem zweiten Punkt 302 und zu dem nächsten zweiten Punkt 302 dargestellt werden, d. h. δi = ti+1 - ti. Aufgrund der vorstehend beschriebenen Wichtigkeitsabtastung sind die Abstände zwischen den zweiten Punkten 302 entlang des Strahls 204 unterschiedlich.
  • Der Computer 102 ist dazu programmiert, einen Kamerastrahl 204 zu rendern, der sich von der Kamera 104 erstreckt, indem das Farb-NeRF MLP ausgeführt wird, um die Farbe auszugeben, die beim Schauen in Richtung der Blickrichtung an jedem zweiten Punkt 302 entlang des Kamerastrahls 204 zu sehen ist. 4 zeigt eine zweite Kurve 404, die die Farbe, die in der Blickrichtung gesehen wird, gegenüber dem Abstand entlang des Strahls 204 abbildet. Der Computer 102 kann auch das geometrische NeRF MLP ausführen, um die skalare Volumendichte an den entsprechenden Punkten entlang des Kamerastrahls 204 zum Rendern des Kamerastrahls 204 auszugeben. Die Positionen der zweiten Punkte 302 aus der vorstehenden Wichtigkeitsabtastung können als die Positionen, für die die Farben und die skalare Volumendichte ausgegeben werden, in das Farb-NeRF MLP und das geometrische NeRF MLP eingegeben werden. Der Computer 102 kann zum Beispiel die erwartete Farbe des Kamerastrahls 204 durch Summieren oder Integrieren von Farbtermen für die zweiten Punkte 302 bestimmen, wobei die Terme auf der Grundlage der skalaren Volumendichte und dem Abstand zwischen den zweiten Punkten 302 gewichtet sind, z. B. auf der Grundlage einer Exponentialfunktion eines Produkts der skalaren Volumendichte und des Abstands zwischen aufeinanderfolgenden zweiten Punkten 302, z. B. eine Quadraturapproximation einer volumetrischen Rendering-Gleichung, wie in dem folgenden Ausdruck: D ^ ( r ) = i = 1 N exp ( j = 1 i 1 σ j δ j ) ( 1 exp ( σ i δ i ) t i )
    Figure DE102023120330A1_0012
    wobei C ^
    Figure DE102023120330A1_0013
    die erwartete Farbe des Kamerastrahls 204 ist und c i
    Figure DE102023120330A1_0014
    die Farbe an dem Punkt i in der Blickrichtung d
    Figure DE102023120330A1_0015
    ist. Die erwartete Farbe C ^
    Figure DE102023120330A1_0016
    ist die erwartete Farbe eines entsprechenden Pixels (u, v) eines Bildes von der Kamera 104. Die Farbe c i
    Figure DE102023120330A1_0017
    ist die Ausgabe des Farb-NeRF MLP für Eingaben der Position des zweiten Punktes 302 i und der Richtung des Strahls 204, z. B. der Einheitsvektor d .
    Figure DE102023120330A1_0018
  • Der Computer 102 kann dazu programmiert sein, eine Verlustfunktion zu berechnen, die die gerenderten Strahlen 204 mit Ground-Truth-Sensordaten von der Kamera 104 und dem Lidar 106 vergleicht. Der Computer 102 verwendet die Verlustfunktionen, um das geometrische NeRF MLP mit den Lidardaten zu überwachen und das Farb-NeRF MLP mit den Farbdaten sowie mit den Lidardaten während des Trainierens zu überwachen. Die Verlustfunktion kann einen Opazitätsverlust auf der Grundlage einer Opazität entlang eines Strahls 204, der sich von der Kamera 104 oder dem Lidar 106 erstreckt, einen Sichtlinienverlust entlang eines Strahls 204, der sich von dem Lidar 106 erstreckt, und/oder einen Farbverlust entlang eines Strahl 204, der sich von der Kamera 104 erstreckt, beinhalten.
  • Die Verlustfunktion kann den Opazitätsverlust entlang eines Strahls 204 beinhalten, der sich von dem Lidar 106 oder der Kamera 104 erstreckt. Ein Opazitätsverlust kann ein Strafverfahren verwenden, um zu erzwingen, dass sich die akkumulierten Opazitäten entlang des Strahls 204 zu eins summieren. Zum Beispiel kann der Opazitätsverlust die Differenz zwischen eins und einer Summe von akkumulierten Opazitäten entlang des Strahls 204 beinhalten, z. B. wie in dem folgenden Ausdruck: L O p a z i t a ¨ t ( Θ ) = 1 i w i
    Figure DE102023120330A1_0019
    wobei Θ die Gewichtungen in dem geometrischen NeRF MLP darstellt, i ein Index der zweiten Punkte 302 entlang des Strahls 204 ist und wi die akkumulierte Opazität an dem zweiten Punkt 302 i ist.
  • Die Verlustfunktion kann den Sichtlinienverlust entlang eines Lidarstrahls 204 beinhalten, der sich von dem Lidar 106 erstreckt. Der Sichtlinienverlust kann eine Differenz zwischen der akkumulierten Opazität und einer akkumulierten Ground-Truth-Opazität an jedem zweiten Punkt 302 beinhalten, z. B. wie in dem folgenden Ausdruck: L S i c h t ( Θ ) = w i w i * 1
    Figure DE102023120330A1_0020
    wobei wi* die akkumulierte Ground-Truth-Opazität an dem zweiten Punkt 302 i ist und der Index 1 eine L1-Strafe darstellt. Eine L1-Strafe wird verwendet, um anzuregen, dass die akkumulierte Opazität wi an einem Punkt ungleich null und an allen anderen Stellen null ist. Die akkumulierte Ground-Truth-Opazität basiert auf einer Ground-Truth-Endtiefe aus den Lidardaten, z. B. wie in dem folgenden Ausdruck: w i * = K ε ( t i z * )
    Figure DE102023120330A1_0021
    wobei K ε
    Figure DE102023120330A1_0022
    eine abgeschnittene Gauß-Verteilung mit einer Varianz gleich (∈/3)2 ist und ∈ eine Zahl ungleich null ist, die mit fortschreitendem Trainieren abklingt.
  • Die Verlustfunktion kann den Farbverlust entlang eines Kamerastrahls 204 beinhalten, der sich von der Kamera 104 erstreckt. Der Farbverlust kann eine Differenz zwischen der erwarteten Farbe des Kamerastrahls 204 und der Ground-Truth-Farbe des Kamerastrahls 204 (z. B. des entsprechenden Pixels (u, v) aus den Kameradaten) beinhalten, z. B. wie in dem folgenden Ausdruck: L c o l o r ( Φ ) = C ^ ( r ) C ( r ) 1
    Figure DE102023120330A1_0023
    wobei Φ die Gewichtungen in dem Farb-NeRF MLP darstellt, C ^ ( r )
    Figure DE102023120330A1_0024
    die erwartete Farbe des Strahls 204 ist r , C ( r )
    Figure DE102023120330A1_0025
    die Farbe des Pixels (u, v) von Kameradaten ist, die dem Strahl 204 entsprechen r ,
    Figure DE102023120330A1_0026
    und der Index 1 eine L1-Strafe darstellt. Die Kamerastrahlen 204 können Strahlen 204 beinhalten, die sich zwischen Pixeln in den Kameradaten befinden, z. B. mit anteiligen Pixelkoordinaten in dem Bildframe. In diesem Fall kann die Ground-Truth-Farbe mit bilinearer Interpolation der benachbarten Pixel bestimmt werden.
  • Der Computer 102 kann den Opazitätsverlust für einen Strahl 204 von dem Lidar 106 und den Sichtlinienverlust verwenden, um das geometrische NeRF MLP mit den Lidardaten während des unabhängigen Trainierens zu überwachen. Der Computer 102 kann den Opazitätsverlust für einen Strahl 204 von der Kamera 104 und den Farbverlust verwenden, um das Farb-NeRF MLP mit den Kameradaten während des unabhängigen Trainierens zu überwachen. Der Computer 102 kann den Opazitätsverlust, den Sichtlinienverlust und den Farbverlust verwenden, um das geometrische NeRF MLP und das Farb-NeRF MLP mit den Lidardaten und den Kameradaten während des gemeinsamen Trainierens zu überwachen. Zum Beispiel kann der Computer 102 die Verlustfunktion als eine Summe des Opazitätsverlusts, des Sichtlinienverlusts und des Farbverlusts berechnen, z. B. mit den Termen, die gewichtet werden, z. B. wie in dem folgenden Ausdruck: L ( Θ , Φ ) = L o p a c i t y ( Θ ) + λ 1 L s i g h t ( Θ ) + λ 2 L c o l o r ( Φ )
    Figure DE102023120330A1_0027
    wobei λ1 und λ2 Gewichtungen sind. Die Gewichtungen können so gewählt werden, dass die Genauigkeit beibehalten wird, während die Konvergenz innerhalb einer angemessenen Zeit für nachfolgende zu ergreifende Maßnahmen angeregt wird. Der Sichtlinienverlust kann in der Verlustfunktion stärker gewichtet werden als der Opazitätsverlust. Die Gewichtung λ1 für den Sichtlinienverlust kann im Verlauf des Trainierens abgebaut werden. Der Farbverlust kann in der Verlustfunktion stärker gewichtet werden als der Opazitätsverlust. Diese relativen Gewichtungen basieren auf der relativen Bedeutung für die Genauigkeit des geometrischen NeRF MLP oder Farb-NeRF MLP.
  • Der Computer 102 ist dazu programmiert, das geometrische NeRF MLP und/oder das Farb-NeRF MLP auf der Grundlage der Verlustfunktion zu aktualisieren. Zum Beispiel können die Gewichtungen Θ, Φ des geometrischen NeRF MLP und des Farb-NeRF MLP unter Verwendung von Rückpropagierung eingestellt werden, um den Wert der Verlustfunktion zu minimieren, wie es bekannt ist.
  • Das vorstehende Trainieren kann in drei Stufen durchgeführt werden: eine erste Stufe zum unabhängigen Trainieren des geometrischen NeRF MLP, eine zweite Stufe zum unabhängigen Trainieren des Farb-NeRF MLP und eine dritte Stufe zum gemeinsamen Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP. Der Computer 102 kann die erste Stufe zum Trainieren des geometrischen NeRF MLP vor der zweiten Stufe zum Trainieren des Farb-NeRF MLP durchführen, da das geometrische NeRF MLP zum Rendern des Kamerastrahls 204 verwendet wird und das Farb-NeRF MLP nicht zum Rendern des Lidarstrahls 204 verwendet wird. Die erste Stufe trainiert das geometrische NeRF MLP unabhängig dadurch, dass das Farb-NeRF MLP während der ersten Stufe nicht aktualisiert wird. Der Computer 102 kann die Gewichtungen des geometrischen NeRF MLP während der zweiten Stufe einfrieren, d. h., während das Farb-NeRF MLP unabhängig trainiert wird, um sicherzustellen, dass das Trainieren des Farb-NeRF MLP unabhängig ist. Der Computer 102 kann die erste und zweite Stufe für unabhängiges Trainieren vor der dritten Stufe für gemeinsames Trainieren durchführen, sodass die dritte Stufe betrieben wird, um das geometrische NeRF MLP und das Farb-NeRF MLP fein abzustimmen. Der Computer 102 kann jede Stufe für eine voreingestellte Anzahl von Iterationen durchführen, die ausgewählt ist, um Verarbeitungszeit und Konvergenz auszugleichen, z. B. 2.500 Iterationen mit einer Batchgröße von 1.024 Lidarstrahlen 204 für die erste Stufe, 2.500 Iterationen mit einer Batchgröße von 1.024 Kamerastrahlen 204 für die zweite Stufe und 10.000 Iterationen mit einer Batchgröße von 1.024 Lidarstrahlen 204 und 1.024 Kamerastrahlen 204 für die dritte Stufe.
  • Unter Bezugnahme auf 5 kann der Computer 102 dazu programmiert sein, die Belegungsgitterkarte 200, z. B. unter Verwendung eines stochastischen Gradientenabstiegs, auf der Grundlage der Lidardaten, zu aktualisieren. Der stochastische Gradientenabstieg ist ein iterativer Optimierungsvorgang, der bei jeder Iteration das Bewegen in die entgegengesetzte Richtung des Gradienten einer Funktion an einem aktuellen Punkt beinhaltet, um an dem Punkt für die nächste Iteration anzukommen, wobei der Gradient anhand einer Abtastung von Daten geschätzt wird, die die Funktion angibt. Um den stochastischen Gradientenabstieg durchzuführen, tastet der Computer 102 zuerst die Belegungswerte βj von der Belegungsgitterkarte 200 entlang eines Strahls 204 ab. Die nachstehenden Aktualisierungsberechnungen können Log-Odds-Werte der Belegungswerte verwenden. Die Log-Odds lk des Belegungswerts pk sind als log(pk/(1-pk)) definiert. Der Computer 102 kann sowohl gleichmäßig entlang des Strahls 204 abtasten als auch eine Wichtigkeitsabtastung entlang des Strahls 204 durchführen. Zum Beispiel kann der Computer 102 Belegungswerte für die Hälfte der Punkte der Abtastung entlang des Strahls 204 abtasten und die abgetasteten Belegungswerte verwenden, um eine Wichtigkeitsabtastung für die andere Hälfte der Punkte der Abtastung auf die gleiche Weise, wie vorstehend beschrieben, durchzuführen.
  • Die Belegungsgitterkarte 200 kann Belegungswerte γi in einem einheitlichen Gittermuster der Gitterpunkte 202 speichern. Die abgetasteten Belegungswerte βj können von Zwischenpositionen 502 zwischen den Belegungswerten γi entnommen werden. Um die Belegungswerte βj an den Zwischenpositionen 502 zwischen den Gitterpunkten 202 γi der Belegungsgitterkarte 200 abzutasten, kann der Computer 102 eine trilineare Interpolation der nächsten Gitterpunkte 202 der Belegungsgitterkarte 200 verwenden, wie in 5 veranschaulicht.
  • Unter Bezugnahme auf 6 kann der Computer 102 den stochastischen Gradientenabstieg unter Verwendung der abgetasteten Belegungswerte βj durchführen. Zum Beispiel kann der Computer 102 die Belegungswerte in der Nähe einer Tiefenmessung aus den Lidardaten erhöhen, z. B. die Belegungswerte innerhalb eines Parameterabstands von der Tiefenmessung erhöhen. Der Computer kann auch die Belegungswerte verringern, die näher an dem Lidar 106 liegen als die Tiefenmessung abzüglich des Parameterabstands, und die Belegungswerte weiter von dem Lidar 106 entfernt konstant halten als die Tiefenmessung plus der Parameterabstand, z. B. wie in dem folgenden Ausdruck: L O G M l β = g ( β j , z n )   = l f r e i U ( ( z n δ ) β j )   l o c c U ( β j ( z n δ ) ) U ( ( z n + δ ) β j )
    Figure DE102023120330A1_0028
    wobei L O G M
    Figure DE102023120330A1_0029
    eine Verlustfunktion für die Belegungsgitterkarte 200 ist, lβ eine Log-Odds der abgetasteten Belegung aus der Belegungsgitterkarte 200 ist, g() eine Funktion ist, die den Gradientenabstieg angibt, βj die j-te Abtastung der Belegung anhand der Belegungsgitterkarte 200 ist, zn die Tiefenmessung aus den Lidardaten ist, lfrei der Betrag ist, um den die Log-Odds der Belegung verringert wird, U ( )
    Figure DE102023120330A1_0030
    die Heaviside-Stufenfunktion ist, δ der Parameterabstand ist, und locc der Betrag ist, um den die Log-Odds der Belegung erhöht werden. Der Ausdruck verwendet die Log-Odds der abgetasteten Belegung anstelle der abgetasteten Belegung direkt.
  • Die Funktion g() definiert den Gradientenabstieg, obwohl die Verlustfunktion L O G M
    Figure DE102023120330A1_0031
    unbekannt sein kann. Die Mengen lfrei, locc des Gradientenabstiegs und der Parameterabstand δ können so gewählt werden, dass eine schnelle Konvergenz mit genauer Detektion lokaler Maxima zum Ausgleich gebracht wird. Die Heaviside-Stufenfunktion U ( )
    Figure DE102023120330A1_0032
    gibt 1 für positive Argumente und 0 für nicht positive Argumente zurück. In 6 ist der vorstehende Ausdruck gegenüber dem Abstand entlang des Strahls 204 aufgetragen. Der Verlauf 600 beinhaltet eine erste Region 602, die näher an dem Lidar 106 liegt als die Tiefenmessung zn abzüglich des Parameterabstands δ, in dem die Log-Odds des Belegungswerts um den negativen Betrag lfrei des Gradientenabstiegs verringert ist, eine zweite Region 604 innerhalb des Parameterabstandsδ von der Tiefenmessung zn, bei der die Log-Odds des Belegungswerts um den positiven Betrag locc des Gradientenabstiegs erhöht ist, und einer dritten Region 606, die weiter von dem Lidar 106 entfernt ist als die Tiefenmessung zn plus der Parameterabstandδ, in dem die Log-Odds des Belegungswerts unverändert sind.
  • Der Computer 102 kann dazu programmiert sein, die Belegungsgitterkarte 200 gleichzeitig mit dem Trainieren des geometrischen NeRF MLP und/oder des Farb-NeRF MLP zu aktualisieren. Zum Beispiel kann der Computer 102 die Belegungsgitterkarte 200 gleichzeitig mit dem unabhängigen Trainieren des geometrischen NeRF MLP in der ersten Stufe und gleichzeitig mit dem gemeinsamen Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP in der dritten Stufe aktualisieren. Der Computer 102 kann während des unabhängigen Trainierens und des gemeinsamen Trainierens das geometrische NeRF MLP und/oder das Farb-NeRF MLP mehrmals für jede Aktualisierung der Belegungsgitterkarte 200 aktualisieren, z. B. eine Aktualisierung der Belegungsgitterkarte 200 alle zehn Iterationen des Trainierens des geometrischen NeRF MLP und/oder des Farb-NeRF MLP. Die mehreren Aktualisierungen des geometrischen NeRF MLP und/oder Farb-NeRF MLP für jede Aktualisierung der Belegungsgitterkarte 200 können den feineren Detaillierungsgrad des geometrischen NeRF MLP und/oder Farb-NeRF MLP im Vergleich zu der Belegungsgitterkarte 200 berücksichtigen.
  • Der Computer 102 kann dazu programmiert sein, nach dem Trainieren des geometrischen NeRF MLP eine synthetische Punktwolke aus einer anderen Perspektive als der Lidar 106 unter Verwendung des geometrischen NeRF MLP zu erzeugen. Zum Beispiel kann der Computer 102 eine eingegebene dreidimensionale Position und eine eingegebene Blickrichtung empfangen, eine Vielzahl von Blickrichtungen erzeugen, die sich in vertikalen und horizontalen Bereichen um die eingegebene Blickrichtung erstrecken, und eine Vielzahl von Endtiefen aus der eingegebenen Position und jeweiligen Blickrichtungen auf die vorstehend beschriebene Weise berechnen. Jede Endtiefe ist ein Punkt in der synthetischen Punktwolke. Der Computer 102 kann dazu programmiert sein, nach dem Trainieren des Farb-NeRF MLP ein synthetisches Bild aus einer anderen Perspektive als der Kamera 104 unter Verwendung des Farb-NeRF MLP zu erzeugen. Zum Beispiel kann der Computer 102 eine eingegebene dreidimensionale Position und eine eingegebene Blickrichtung empfangen, eine Vielzahl von Blickrichtungen erzeugen, die sich in vertikalen und horizontalen Bereichen um die eingegebene Blickrichtung erstrecken, und eine Vielzahl von Farbvektoren aus der eingegebenen Position und jeweiligen Blickrichtungen auf die vorstehend beschriebene Weise berechnen. Jeder Farbvektor ist ein Pixel in dem synthetischen Bild.
  • Die 7A-C sind zusammen ein Ablaufdiagramm, das einen beispielhaften Prozess 700 zum Trainieren des geometrischen NeRF MLP, des Farb-NeRF MLP und der Belegungsgitterkarte 200 veranschaulicht. Der Speicher des Computers 102 speichert ausführbare Anweisungen zum Durchführen der Schritte des Prozesses700 und/oder eine Programmierung kann in Strukturen, wie vorstehend erwähnt, umgesetzt sein. Der Prozess 700 kann als Reaktion darauf beginnen, dass das Fahrzeug 100 eingeschaltet wird oder aus dem Parkgang in einen Fahrgang geschaltet wird. Als allgemeine Übersicht über den Prozess 700 empfängt der Computer 102 Daten von dem Lidar 106 und der Kamera 104 und initialisiert die Belegungsgitterkarte 200. Der Computer 102 trainiert unabhängig das geometrische NeRF MLP für eine voreingestellte Anzahl von Iterationen. Für jeden Lidarstrahl 204 in jeder Iteration rendert der Computer 102 den Lidarstrahl 204, berechnet den Wert der Verlustfunktion und aktualisiert die Gewichtungen des geometrischen NeRF MLP. Bei jeder voreingestellten mehreren Anzahl von Iterationen aktualisiert der Computer 102 die Belegungsgitterkarte 200. Der Computer 102 trainiert unabhängig das Farb-NeRF MLP für eine voreingestellte Anzahl von Iterationen. Für jeden Kamerastrahl 204 in jeder Iteration rendert der Computer 102 den Kamerastrahl 204, berechnet den Wert der Verlustfunktion und aktualisiert die Gewichtungen des Farb-NeRF MLP. Dann trainiert der Der Computer 102 gemeinsam das geometrische NeRF MLP und das Farb-NeRF MLP für eine voreingestellte Anzahl von Iterationen. Für jeden Lidarstrahl 204 und für jeden Kamerastrahl 204 in jeder Iteration rendert der Computer 102 den Strahl 204, berechnet den Wert der Verlustfunktion und aktualisiert die Gewichtungen des geometrischen NeRF MLP und des Farb-NeRF MLP. Bei jeder voreingestellten mehreren Anzahl von Iterationen aktualisiert der Computer 102 die Belegungsgitterkarte 200. Dann gibt der Computer 102 das trainierte geometrische NeRF MLP, Farb-NeRF MLP und die Belegungsgitterkarte 200 aus. Schließlich betätigt der Computer 102 eine Komponente des Fahrzeugs 100 auf der Grundlage des trainierten geometrischen NeRF MLP, Farb-NeRF MLP und der Belegungsgitterkarte 200.
  • Der Prozess 700 beginnt in einem Block 702 (gezeigt in 7A), in dem der Computer 102 die Lidardaten von dem Lidar 106 und die Kameradaten von der Kamera 104, wie vorstehend beschrieben, empfängt.
  • Als Nächstes initialisiert der Computer 102 in einem Block 704 die Belegungsgitterkarte 200, wie vorstehend beschrieben.
  • Als Nächstes geht der Computer 102 in einem Block 706 zu einer nächsten Iteration des unabhängigen Trainierens des geometrischen NeRF MLP über, d. h., einer nächsten Iteration der ersten Stufe des Trainierens, beginnend bei einer ersten Iteration. Der Computer 102 kann eine Indexnummer der aktuellen Iteration speichern und die Indexnummer um eins erhöhen. Als Nächstes bewegt sich der Computer 102 in einem Block 708 zu einem nächsten Lidarstrahl 204 eines Batches von Lidarstrahlen 204 für die aktuelle Iteration, beginnend mit einem ersten Lidarstrahl 204. Der Computer 102 kann eine Indexnummer des aktuellen Lidarstrahls 204 speichern und die Indexnummer um eins erhöhen.
  • Als Nächstes rendert der Computer 102 in einem Block 710 den aktuellen Lidar-Ray 204 durch Ausführen des geometrischen NeRF MLP, wie vorstehend beschrieben.
  • Als Nächstes berechnet der Computer 102 in einem Block 712 einen Wert der Verlustfunktion für den aktuellen Lidarstrahl 204, wie vorstehend beschrieben.
  • Als Nächstes aktualisiert der Computer 102 in einem Block 714 die Gewichtungen des geometrischen NeRF MLP auf der Grundlage des Werts der Verlustfunktion, z. B. unter Verwendung von Rückpropagierung, wie vorstehend beschrieben.
  • Als Nächstes bestimmt der Computer 102 in einem Entscheidungsblock 716, ob der aktuelle Lidarstrahl 204 der letzte Lidarstrahl 204 des Batches für die aktuelle Iteration ist. Zum Beispiel kann der Computer 102 prüfen, ob ein Index des aktuellen Lidarstrahls 204 der Gesamtanzahl von Lidarstrahlen 204 in jedem Batch entspricht, z. B. 1.024. Als Reaktion darauf, dass der aktuelle Lidarstrahl 204 vor dem letzten Lidarstrahl 204 liegt, kehrt der Prozess 700 zu dem Block 708 zurück, um zum nächsten Lidarstrahl 204 in dem Batch überzugehen. Als Reaktion auf das Erreichen des letzten Lidarstrahls 204 des Batches geht der Prozess 700 zu einem Entscheidungsblock 718 über.
  • In dem Entscheidungsblock 718 bestimmt der Computer 102, ob die Belegungsgitterkarte 200 aktualisiert werden soll. Zum Beispiel kann der Computer 102 prüfen, ob ein Index der aktuellen Iteration gleichmäßig durch die Anzahl von Iterationen pro Aktualisierung der Belegungsgitterkarte 200 teilbar ist, z. B. 10. Nach dem Bestimmen, die Belegungsgitterkarte 200 zu aktualisieren, geht der Prozess 700 zu einem Block 720 über. Nach dem Bestimmen, die Belegungsgitterkarte 200 nicht zu aktualisieren, geht der Prozess 700 zu einem Entscheidungsblock 722 über.
  • In dem Block 720 aktualisiert der Computer 102 die Belegungsgitterkarte 200, z. B. unter Verwendung eines stochastischen Gradientenabstiegs, wie vorstehend beschrieben. Nach dem Block 720 geht der Prozess 700 zu dem Entscheidungsblock 722 über.
  • In dem Entscheidungsblock 722 bestimmt der Computer 102, ob die aktuelle Iteration die letzte Iteration der ersten Stufe ist. Zum Beispiel kann der Computer 102 prüfen, ob der Index der aktuellen Iteration gleich der Gesamtanzahl an Iterationen in der ersten Stufe ist, z. B. 2.500. Als Reaktion darauf, dass die aktuelle Iteration vor der letzten Iteration liegt, kehrt der Prozess 700 zu dem Block 706 zurück, um zur nächsten Iteration überzugehen. Als Reaktion auf das Erreichen der letzten Iteration geht der Prozess 700 zu einem Block 724 über (gezeigt in 7B).
  • In dem Block 724 geht der Computer 102 zu einer nächsten Iteration des unabhängigen Trainierens des Farb-NeRF MLP über, d. h., einer nächsten Iteration der zweiten Stufe des Trainierens, beginnend bei einer ersten Iteration. Der Computer 102 kann eine Indexnummer der aktuellen Iteration speichern und die Indexnummer um eins erhöhen.
  • Als Nächstes bewegt sich der Computer 102 in einem Block 726 zu einem nächsten Kamerastrahl 204 eines Batches von Kamerastrahlen 204 für die aktuelle Iteration, beginnend mit einem ersten Kamerastrahl 204. Der Computer 102 kann eine Indexnummer des aktuellen Kamerastrahls 204 speichern und die Indexnummer um eins erhöhen.
  • Als Nächstes rendert der Computer 102 in einem Block 728 den aktuellen Kamerastrahl 204 durch Ausführen des Farb-NeRF MLP, wie vorstehend beschrieben.
  • Als Nächstes berechnet der Computer 102 in einem Block 730 einen Wert der Verlustfunktion für den aktuellen Kamerastrahl 204, wie vorstehend beschrieben.
  • Als Nächstes aktualisiert der Computer 102 in einem Block 732 die Gewichtungen des Farb-NeRF MLP auf der Grundlage des Werts der Verlustfunktion, z. B. unter Verwendung von Rückpropagierung, wie vorstehend beschrieben.
  • Als Nächstes bestimmt der Computer 102 in einem Entscheidungsblock 734, ob der aktuelle Kamerastrahl 204 der letzte Kamerastrahl 204 des Batches für die aktuelle Iteration ist. Zum Beispiel kann der Computer 102 prüfen, ob ein Index des aktuellen Kamerastrahls 204 der Gesamtanzahl von Kamerastrahlen 204 in jedem Batch entspricht, z. B. 1.024. Als Reaktion darauf, dass der aktuelle Kamerastrahl 204 vor dem letzten Kamerastrahl 204 liegt, kehrt der Prozess 700 zu dem Block 726 zurück, um zum nächsten Kamerastrahl 204 in dem Batch überzugehen. Als Reaktion auf das Erreichen des letzten Kamerastrahls 204 des Batches geht der Prozess 700 zu einem Entscheidungsblock 736 über.
  • In dem Entscheidungsblock 736 bestimmt der Computer 102, ob die aktuelle Iteration die letzte Iteration der zweiten Stufe ist. Zum Beispiel kann der Computer 102 prüfen, ob der Index der aktuellen Iteration gleich der Gesamtanzahl an Iterationen in der zweiten Stufe ist, z. B. 2.500. Als Reaktion darauf, dass die aktuelle Iteration vor der letzten Iteration liegt, kehrt der Prozess 700 zu dem Block 724 zurück, um zur nächsten Iteration überzugehen. Als Reaktion auf das Erreichen der letzten Iteration geht der Prozess 700 zu einem Block 738 über (gezeigt in 7C).
  • In dem Block 738 geht der Computer 102 zu einer nächsten Iteration des unabhängigen Trainierens des geometrischen NeRF MLP und des Farb-NeRF MLP über, d. h., einer nächsten Iteration der dritten Stufe des Trainierens, beginnend bei einer ersten Iteration. Der Computer 102 kann eine Indexnummer der aktuellen Iteration speichern und die Indexnummer um eins erhöhen.
  • Als Nächstes bewegt sich der Computer 102 in einem Block 740 zu einem nächsten Strahl 204 eines Batches von Lidarstrahlen 204 und Kamerastrahlen 204 für die aktuelle Iteration, beginnend mit einem ersten Strahl 204. Der Computer 102 kann eine Indexnummer des aktuellen Strahls 204 speichern und die Indexnummer um eins erhöhen. Eine erste Hälfte der Indexnummern kann den Lidarstrahlen 204 entsprechen und eine zweite Hälfte der Indexnummern kann den Kamerastrahlen 204 entsprechen.
  • Als Nächstes rendert der Computer 102 in einem Block 742 den aktuellen Strahl 204 durch Ausführen des geometrischen NeRF MLP, falls der aktuelle Strahl 204 ein Lidarstrahl 204 ist, oder durch Ausführen des Farb-NeRF MLP, falls der aktuelle Strahl 204 ein Kamerastrahl 204 ist, wie vorstehend beschriebenen.
  • Als Nächstes berechnet der Computer 102 in einem Block 744 einen Wert der Verlustfunktion für den aktuellen Strahl 204, wie vorstehend beschrieben.
  • Als Nächstes aktualisiert der Computer 102 in einem Block 746 die Gewichtungen des geometrischen NeRF MLP auf der Grundlage des Werts der Verlustfunktion, falls der aktuelle Strahl 204 ein Lidarstrahl 204 ist, und der Computer 102 aktualisiert die Gewichtungen des Farb-NeRF MLP auf der Grundlage des Werts der Verlustfunktion, falls der aktuelle Strahl 204 entweder ein Kamerastrahl 204 oder ein Lidarstrahl 204 ist, wie vorstehend beschrieben. Als Nächstes bestimmt der Computer 102 in einem Entscheidungsblock 748, ob der aktuelle Strahl 204 der letzte Strahl 204 des Batches für die aktuelle Iteration ist. Zum Beispiel kann der Computer 102 prüfen, ob ein Index des aktuellen Strahls 204 der Gesamtanzahl von Strahlen 204 in jedem Batch entspricht, z. B. 2.048. Als Reaktion darauf, dass der aktuelle Strahl 204 vor dem letzten Strahl 204 liegt, kehrt der Prozess 700 zu dem Block 740 zurück, um zum nächsten Strahl 204 in dem Batch überzugehen. Als Reaktion auf das Erreichen des letzten Strahls 204 des Batches geht der Prozess 700 zu einem Entscheidungsblock 750 über. In dem Entscheidungsblock 750 bestimmt der Computer 102, ob die Belegungsgitterkarte 200 aktualisiert werden soll. Zum Beispiel kann der Computer 102 prüfen, ob ein Index der aktuellen Iteration gleichmäßig durch die Anzahl von Iterationen pro Aktualisierung der Belegungsgitterkarte 200 teilbar ist, z. B. 10. Nach dem Bestimmen, die Belegungsgitterkarte 200 zu aktualisieren, geht der Prozess 700 zu einem Block 752 über. Nach dem Bestimmen, die Belegungsgitterkarte 200 nicht zu aktualisieren, geht der Prozess 700 zu einem Entscheidungsblock 754 über.
  • In dem Block 752 aktualisiert der Computer 102 die Belegungsgitterkarte 200, z. B. unter Verwendung eines stochastischen Gradientenabstiegs, wie vorstehend beschrieben. Nach dem Block 752 geht der Prozess 700 zu dem Entscheidungsblock 754 über.
  • In dem Entscheidungsblock 754 bestimmt der Computer 102, ob die aktuelle Iteration die letzte Iteration der dritten Stufe ist. Zum Beispiel kann der Computer 102 prüfen, ob der Index der aktuellen Iteration gleich der Gesamtanzahl an Iterationen in der dritten Stufe ist, z. B. 10.000. Als Reaktion darauf, dass die aktuelle Iteration vor der letzten Iteration liegt, kehrt der Prozess 700 zu dem Block 738 zurück, um zur nächsten Iteration überzugehen. Als Reaktion auf das Erreichen der letzten Iteration geht der Prozess 700 zu einem Block 756 über.
  • In dem Block 756 gibt der Computer 102 das vollständig trainierte geometrische NeRF MLP, das Farb-NeRF MLP und die Belegungsgitterkarte 200 z. B. zur Verwendung beim Erzeugen von synthetischen Punktwolken und/oder synthetischen Bildern an den Speicher des Computers 102 aus, oder zur Verwendung beim Betätigen einer Komponente des Fahrzeugs 100.
  • Als Nächstes betätigt der Computer 102 in einem Block 758 eine Komponente des Fahrzeugs 100 auf der Grundlage von mindestens einem aus dem trainierten geometrischen NeRF MLP, dem Farb-NeRF MLP oder der Belegungsgitterkarte 200. Zum Beispiel kann der Computer 102 eines oder mehrere von dem Antriebssystem 110, dem Bremssystem 112, dem Lenksystem 114 oder der Benutzerschnittstelle 116 betätigen. Zum Beispiel kann der Computer 102 die Komponente beim Ausführen eines fortgeschrittenen Fahrerassistenzsystems (advanced driver assistance system - ADAS) betätigen. ADAS sind elektronische Technologien, die Fahrer bei Fahr- und Parkfunktionen unterstützen. Beispiele für ADAS beinhalten Vorwärtskollisionserfassung, Spurabweichungserfassung, Totwinkelerfassung, automatische Bremsung, adaptive Geschwindigkeitssteuerung und Spurhalteassistenz. Der Computer 102 kann das Bremssystem 112 betätigen, um das Fahrzeug 100 anzuhalten, bevor es ein Objekt in der Umgebung erreicht, wie durch die Belegungsgitterkarte 200 angegeben, gemäß einem automatischen Bremsalgorithmus. Der Computer 102 kann die Benutzerschnittstelle 116 betätigen, um eine Nachricht an den Bediener auszugeben, die ein durch die Belegungsgitterkarte 200 angegebenes Objekt gemäß einem Vorwärtskollisionserfassungsalgorithmus angibt. Der Computer 102 kann das Fahrzeug 100 autonom betreiben, d. h., das Antriebssystem 110, das Bremssystem 112 und das Lenksystem 114 auf der Grundlage des geometrischen NeRF MLP, des Farb-NeRF MLP und/oder der Belegungsgitterkarte 200 betätigen. Der Computer 102 kann einen Wegplanungsalgorithmus ausführen, um das Fahrzeug 100 um Objekte in der Umgebung unter Verwendung der Belegungsgitterkarte 200 und synthetischer Punktwolken und/oder synthetischer Bilder an möglichen zukünftigen Punkten auf dem geplanten Weg zu navigieren. Nach dem Block 758 endet der Prozess 700.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Anzahl von Computerbetriebssystemen einsetzen, einschließlich, aber keinesfalls beschränkt auf Versionen und/oder Varianten der Ford Sync®-Anwendung, AppLink/Smart Device Link Middleware, des Microsoft Automotive® Betriebssystems, Microsoft Windows® Betriebssystems, des Unix Betriebssystems (z. B. das Solaris® Betriebssystems, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des AIX UNIX Betriebssystems, vertrieben durch International Business Machines in Armonk, New York, des Linux Betriebssystems, Mac OSX und iOS Betriebssystems, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch Blackberry, Ltd. in Waterloo, Kanada, und des Android Betriebssystems, entwickelt von Google, Inc. und der Open Handset Alliance, oder der Plattform QNX® CAR für Infotainment, angeboten von QNX Software Systems. Beispiele für Rechenvorrichtungen beinhalten ohne Einschränkung einen bordeigenen Fahrzeugcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
  • Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausführbar sein können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erstellt werden, die unter anderem und entweder allein oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTMI, usw. beinhalten. Einige dieser Anwendungen können auf einer virtuellen Maschine kompiliert und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
  • Ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhaltet ein beliebiges nichttransitorisches (z. B. physisches) Medium, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, die ohne Einschränkung nicht flüchtige Medien und flüchtige Medien beinhalten. Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, die Glasfasern, Drähte, drahtlose Kommunikation beinhalten, einschließlich der Innenaufbauelemente, die einen an einen Prozessor eines Computers gekoppelten Systembus umfassen. Übliche Formen von computerlesbaren Medien beinhalten zum Beispiel RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, von dem ein Computer lesen kann. Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem proprietären Format, eines relationalen Datenbankverwaltungssystems (relational database management system - RDBMS), einer nicht relationalen Datenbank (nonrelational database - NoSQL), einer Graphdatenbank (graph database - GDB) usw. Jeder solche Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem, wie etwa eines der vorangehend aufgeführten, verwendet, und es wird auf eine oder mehrere von einer Vielfalt von Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann Dateien beinhalten, die in verschiedenen Formaten gespeichert sind. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erstellen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorstehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, PCs usw.) umgesetzt sein, die auf computerlesbaren Medien gespeichert sind (z. B. Platten, Speicher usw.), die den Rechenvorrichtungen zugeordnet sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
  • In den Zeichnungen geben die gleichen Bezugszeichen die gleichen Elemente an. Weiter könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass obwohl die Schritte derartiger Prozesse usw. als gemäß einer gewissen geordneten Abfolge erfolgend beschrieben worden sind, derartige Prozesse praktisch umgesetzt werden könnten, wobei die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge abweicht. Weiter versteht es sich, dass gewisse Schritte gleichzeitig durchgeführt werden könnten, dass andere Schritte hinzugefügt werden könnten, oder dass gewisse in dieser Schrift beschriebene Schritte weggelassen werden könnten. Vorgänge, Systeme und Verfahren, die in dieser Schrift beschrieben sind, sollten immer in Übereinstimmung mit einer anwendbaren Bedienungsanleitung für Besitzer/Benutzer und/oder Sicherheitsrichtlinien umgesetzt und/oder durchgeführt werden.
  • Die Offenbarung ist auf veranschaulichende Weise beschrieben worden und es versteht sich, dass die Terminologie, die verwendet worden ist, beschreibenden und nicht einschränkenden Charakters sein soll. Die Adjektive „erstes“ und „zweites“ werden in der gesamten Schrift als Identifikatoren verwendet und sollen keine Bedeutung, Reihenfolge oder Anzahl angeben. Die Verwendung von „als Reaktion auf‟ und „wenn bestimmt wird“ gibt eine kausale Beziehung an, nicht nur eine rein temporale Beziehung. In Anbetracht der vorstehenden Lehren sind viele Modifikationen und Variationen an der vorliegenden Offenbarung möglich und kann die Offenbarung anders als konkret beschrieben umgesetzt werden.
  • Gemäß der vorliegenden Erfindung wird ein Computer bereitgestellt, der einen Prozessor und einen Speicher aufweist, wobei der Speicher Anweisungen speichert, die durch den Prozessor ausführbar sind, um: ein mehrschichtiges Perzeptron (multilayer perceptron - MLP) eines geometrischen NeRF und ein Farb-NeRF MLP gemeinsam zu trainieren, um eine Szene unter Verwendung einer Belegungsgitterkarte, Kameradaten der Szene von einer Kamera und Lidardaten der Szene von einem Lidar zu modellieren, wobei das geometrische NeRF MLP ein neuronales Strahlungsfeld ist, das eine Geometrie der Szene modelliert, und das Farb-NeRF MLP ein neuronales Strahlungsfeld ist, das Farben der Szene modelliert; das geometrische NeRF MLP mit den Lidardaten während des gemeinsamen Trainierens zu überwachen; und das Farb-NeRF MLP mit den Kameradaten während des gemeinsamen Trainierens zu überwachen.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen, um nach dem gemeinsamen Trainieren eine Komponente auf der Grundlage von mindestens einem von der Belegungsgitterkarte, des geometrischen NeRF MLP oder des Farb-NeRF MLP zu betätigen.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen zum Abtasten der Belegung der Belegungsgitterkarte an Punkten entlang eines Strahls, der sich von der Kamera oder dem Lidar erstreckt.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen zum Abtasten der Belegung an den Punkten durch Interpolieren von Belegungswerten an nahegelegenen Gitterpunkten der Belegungsgitterkarte.
  • Gemäß einer Ausführungsform sind die Punkte erste Punkte, sind die ersten Punkte gleichmäßig entlang des Strahls beabstandet und beinhalten die Anweisungen weiter Anweisungen zum Durchführen einer Wichtigkeitsabtastung der Belegung der Belegungsgitterkarte an zweiten Punkten entlang des Strahls.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen zum Ausführen von mindestens einem von dem geometrischen NeRF MLP oder dem Farb-NeRF MLP mit Positionen der zweiten Punkte als Eingabe.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen zum Rendern von mindestens einem von einem Lidarstrahl, der sich von dem Lidar erstreckt, durch Ausführen des geometrischen NeRF MLP, oder einem Kamerastrahl, der sich von der Kamera erstreckt, durch Ausführen des Farb-NeRF MLP.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen zum Aktualisieren des geometrischen NeRF MLP auf der Grundlage einer Verlustfunktion. Gemäß einer Ausführungsform beinhaltet die Verlustfunktion einen Opazitätsverlust auf der Grundlage einer Opazität entlang eines Strahls, der sich von dem Lidar erstreckt.
  • Gemäß einer Ausführungsform beinhaltet die Verlustfunktion einen Sichtlinienverlust entlang eines Strahls, der sich von dem Lidar erstreckt.
  • Gemäß einer Ausführungsform beinhaltet die Verlustfunktion einen Opazitätsverlust auf der Grundlage einer Opazität entlang des Strahls, und der Sichtlinienverlust kann in der Verlustfunktion stärker gewichtet werden als der Opazitätsverlust.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen zum Aktualisieren des Farb-NeRF MLP auf der Grundlage einer Verlustfunktion.
  • Gemäß einer Ausführungsform beinhaltet die Verlustfunktion einen Opazitätsverlust auf der Grundlage einer Opazität entlang eines Strahls, der sich von der Kamera erstreckt.
  • Gemäß einer Ausführungsform beinhaltet die Verlustfunktion einen Farbverlust entlang eines Strahls, der sich von der Kamera erstreckt.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen zum Aktualisieren der Belegungsgitterkarte unter Verwendung eines stochastischen Gradientenabstiegs auf der Grundlage der Lidardaten.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen zum Aktualisieren der Belegungsgitterkarte zeitgleich mit dem Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen zum Aktualisieren der Belegungsgitterkarte und zum mehrmaligen Aktualisieren des geometrischen NeRF MLP oder des Farb-NeRF MLP während des gemeinsamen Trainierens für jede Aktualisierung der Belegungsgitterkarte.
  • In einem Beispiel können die Anweisungen weiter Anweisungen beinhalten, um vor dem gemeinsamen Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP das geometrische NeRF MLP unabhängig von dem Farb-NeRF MLP zu trainieren.
  • Gemäß einer Ausführungsform beinhalten die Anweisungen weiter Anweisungen, um vor dem gemeinsamen Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP das Farb-NeRF MLP unabhängig von dem geometrischen NeRF MLP zu trainieren.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: gemeinsames Trainieren eines mehrschichtigen Perzeptrons (multilayer perceptron - MLP) eines geometrischen NeRF und eines Farb-NeRF MLP, um eine Szene unter Verwendung einer Belegungsgitterkarte, Kameradaten der Szene von einer Kamera und Lidardaten der Szene von einem Lidar zu modellieren, wobei das geometrische NeRF MLP ein neuronales Strahlungsfeld ist, das eine Geometrie der Szene modelliert, und das Farb-NeRF MLP ein neuronales Strahlungsfeld ist, das Farben der Szene modelliert; Überwachen des geometrischen NeRF MLP mit den Lidardaten während des gemeinsamen Trainierens; und Überwachen des Farb-NeRF MLP mit den Kameradaten während des gemeinsamen Trainierens.
  • 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 Patentliteratur
    • US 63/370304 [0001]

Claims (15)

  1. Verfahren, umfassend: gemeinsames Trainieren eines mehrschichtigen Perzeptrons (MLP) eines geometrischen NeRF und eines Farb-NeRF MLP, um eine Szene unter Verwendung einer Belegungsgitterkarte, Kameradaten der Szene von einer Kamera und Lidardaten der Szene von einem Lidar zu modellieren, wobei das geometrische NeRF MLP ein neuronales Strahlungsfeld ist, das eine Geometrie der Szene modelliert, und das Farb-NeRF MLP ein neuronales Strahlungsfeld ist, das Farben der Szene modelliert; Überwachen des geometrischen NeRF MLP mit den Lidardaten während des gemeinsamen Trainierens; und Überwachen des Farb-NeRF MLP mit den Kameradaten während des gemeinsamen Trainierens.
  2. Verfahren nach Anspruch 1, ferner umfassend, nach dem gemeinsamen Trainieren, Betätigen einer Komponente auf Grundlage von mindestens einem von der Belegungsgitterkarte, des geometrischen NeRF MLP oder des Farb-NeRF MLP.
  3. Verfahren nach Anspruch 1, ferner umfassend Abtasten der Belegung der Belegungsgitterkarte an Punkten entlang eines Strahls, der sich von der Kamera oder dem Lidar erstreckt.
  4. Verfahren nach Anspruch 3, ferner umfassend Abtasten der Belegung an den Punkten durch Interpolieren von Belegungswerten an nahegelegenen Gitterpunkten der Belegungsgitterkarte.
  5. Verfahren nach Anspruch 3, wobei die Punkte erste Punkte sind und die ersten Punkte gleichmäßig entlang des Strahls beabstandet sind, wobei das Verfahren ferner Durchführen einer Wichtigkeitsabtastung der Belegung der Belegungsgitterkarte an zweiten Punkten entlang des Strahls und Ausführen von mindestens einem von dem geometrischen NeRF MLP oder dem Farb-NeRF MLP mit Positionen der zweiten Punkte als Eingabe umfasst.
  6. Verfahren nach Anspruch 1, ferner umfassend Rendern von mindestens einem von einem Lidarstrahl, der sich von dem Lidar erstreckt, durch Ausführen des geometrischen NeRF MLP, oder einem Kamerastrahl, der sich von der Kamera erstreckt, durch Ausführen des Farb-NeRF MLP.
  7. Verfahren nach Anspruch 1, ferner umfassend Aktualisieren des geometrischen NeRF MLP auf Grundlage einer Verlustfunktion.
  8. Verfahren nach Anspruch 7, wobei die Verlustfunktion einen Sichtlinienverlust entlang eines Strahls beinhaltet, der sich von dem Lidar erstreckt, wobei die Verlustfunktion einen Opazitätsverlust auf Grundlage einer Opazität entlang des Strahls beinhaltet und der Sichtlinienverlust in der Verlustfunktion stärker gewichtet ist als der Opazitätsverlust.
  9. Verfahren nach Anspruch 1, ferner umfassend Aktualisieren des Farb-NeRF MLP auf Grundlage einer Verlustfunktion.
  10. Verfahren nach Anspruch 1, ferner umfassend Aktualisieren der Belegungsgitterkarte unter Verwendung eines stochastischen Gradientenabstiegs auf Grundlage der Lidardaten.
  11. Verfahren nach Anspruch 1, ferner umfassend Aktualisieren der Belegungsgitterkarte gleichzeitig mit dem Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP.
  12. Verfahren nach Anspruch 1, ferner umfassend Aktualisieren der Belegungsgitterkarte und mehrmaliges Aktualisieren des geometrischen NeRF MLP oder des Farb-NeRF MLP während des gemeinsamen Trainierens für jede Aktualisierung der Belegungsgitterkarte.
  13. Verfahren nach Anspruch 1, ferner umfassend, vor dem gemeinsamen Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP, Trainieren des geometrischen NeRF MLP unabhängig von dem Farb-NeRF MLP.
  14. Verfahren nach Anspruch 1, ferner umfassend, vor dem gemeinsamen Trainieren des geometrischen NeRF MLP und des Farb-NeRF MLP, Trainieren des Farb-NeRF MLP unabhängig von dem geometrischen NeRF MLP.
  15. Computer, umfassend einen Prozessor und einen Speicher, wobei auf dem Speicher Anweisungen gespeichert sind, die durch den Prozessor ausführbar sind, um das Verfahren nach einem der Ansprüche 1-14 durchzuführen.
DE102023120330.4A 2022-08-03 2023-07-31 Neuronales strahlungsfeld für ein fahrzeug Pending DE102023120330A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263370304P 2022-08-03 2022-08-03
US63/370,304 2022-08-03
US18/358,438 2023-07-25
US18/358,438 US20240046563A1 (en) 2022-08-03 2023-07-25 Neural radiance field for vehicle

Publications (1)

Publication Number Publication Date
DE102023120330A1 true DE102023120330A1 (de) 2024-02-08

Family

ID=89575221

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023120330.4A Pending DE102023120330A1 (de) 2022-08-03 2023-07-31 Neuronales strahlungsfeld für ein fahrzeug

Country Status (2)

Country Link
US (1) US20240046563A1 (de)
DE (1) DE102023120330A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230154101A1 (en) * 2021-11-16 2023-05-18 Disney Enterprises, Inc. Techniques for multi-view neural object modeling

Also Published As

Publication number Publication date
US20240046563A1 (en) 2024-02-08

Similar Documents

Publication Publication Date Title
DE102019102205A1 (de) System und verfahren zur end-to-end-validierung von autonomen fahrzeugen
DE102018129057A1 (de) Systeme und verfahren zum bestimmen der geschwindigkeit von lidar-punkten
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102019110428A1 (de) Sensorkalibrierung
DE102020102725A1 (de) Verfahren und vorrichtung für eine kontextabhängige, aus der crowd-source stammende, spärliche, hochauflösende karte
DE102023120330A1 (de) Neuronales strahlungsfeld für ein fahrzeug
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102023101354A1 (de) Sensorfusion
DE102021111977A1 (de) Dreidimensionale verkehrszeichenerkennung
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102023101724A1 (de) Dynamische kalibrierung von fahrzeugsensoren
DE102022123680A1 (de) Objektposenschätzung
DE102022120219A1 (de) Korrektur einer bewegung eines optischen fahrzeugsensors
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102023103742A1 (de) Korrektur von sensorfehlausrichtung
DE102022108505A1 (de) Objekterfassung durch ein neuronales netz
DE102021121715A1 (de) Anomalieerkennung in mehrdimensionalen sensordaten
DE102021122407A1 (de) Segmentierung und klassifizierung von punktwolkendaten
DE102021104178A1 (de) Dynamisch gerouteter felddiskriminator
DE102023109927A1 (de) Augmented-reality-bilderzeugung mit mehreren ebenen
DE102022117260A1 (de) Fahrzeug mit vollgeschwindigkeitsbestimmung mit radar
DE102022123358A1 (de) Frequenzbasierte merkmalsbeschränkung für ein neuronales netz
DE102019105578A1 (de) Generieren einer superauflösungs-tiefenkarte
DE102021131484A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE