DE112021006299T5 - Verfahren und Systeme zur Bodensegmentierung mittels Graphenschnitten - Google Patents

Verfahren und Systeme zur Bodensegmentierung mittels Graphenschnitten Download PDF

Info

Publication number
DE112021006299T5
DE112021006299T5 DE112021006299.9T DE112021006299T DE112021006299T5 DE 112021006299 T5 DE112021006299 T5 DE 112021006299T5 DE 112021006299 T DE112021006299 T DE 112021006299T DE 112021006299 T5 DE112021006299 T5 DE 112021006299T5
Authority
DE
Germany
Prior art keywords
ground
points
processor
nodes
graph
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
DE112021006299.9T
Other languages
English (en)
Inventor
John Peterson
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
Original Assignee
Ford Global Technologies LLC
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 filed Critical Ford Global Technologies LLC
Publication of DE112021006299T5 publication Critical patent/DE112021006299T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/162Segmentation; Edge detection involving graph-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/422Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
    • G06V10/426Graphical representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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/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
    • 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
    • G06T2207/30256Lane; Road marking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

Offenbart werden Systeme und Verfahren zur Segmentierung von Scandaten. Zu den Verfahren gehören das Empfangen von Scandaten, die eine Vielzahl von Punkten in einer Umgebung darstellen, die mit einer Bodenoberfläche und einem oder mehreren Objekten assoziiert sind, und das Erstellen eines Diagramms aus den Scandaten. Das Diagramm enthält mehrere Knoten, die den mehreren Punkten entsprechen. Das Verfahren umfasst weiterhin das Zuweisen eines unären Potentials zu jedem der mehreren Knoten, das eine Aufwandsgröße für die Zuweisung dieses Knotens zu einem Boden-Label oder einem Nicht-Boden-Label darstellt, und das Zuweisen eines paarweisen Potentials zu jedem Paar benachbarter Knoten im Diagramm, das den Kosten für die Zuweisung unterschiedlicher Labels zu benachbarten Knoten entspricht. Die Verfahren umfassen die Verwendung der unären Potentiale und der paarweisen Potentiale zur Identifizierung von Labels für jeden der mehreren Punkte und die Segmentierung der Scandaten, um auf der Grundlage der identifizierten Labels mit dem Boden assoziierte Punkte zu identifizieren.

Description

  • QUERVERWEIS UND PRIORITÄTSANSPRUCH
  • Dieses Patentdokument beansprucht die Priorität der US-Patentanmeldung Nr. 17/111,899 , eingereicht am 4. Dezember 2020, die durch Bezugnahme in ihrer Gesamtheit hierin aufgenommen wird.
  • HINTERGRUND
  • Das Verständnis von Umgebungen ist eines der grundlegenden Probleme für intelligente Roboter wie autonome Fahrzeuge, um Aufgaben zuverlässig auszuführen. Um eine Umgebung zu modellieren, werden häufig dreidimensionale (3D) Sensoren (z.B. Laserscanner wie Light Detection and Ranging „LiDAR“) verwendet, um eine Reihe von Knoten in einem 3D-Koordinatensystem (als Punktwolke bezeichnet) zu erhalten. Jüngste Fortschritte in der 3D-Scantechnologie haben die schnelle Erfassung dichter und genauer Punktwolkendaten zu moderaten Kosten ermöglicht und können die Wahrnehmung von Fahrzeugen erleichtern. Bilder von Sensoren können beispielsweise zur Hindernisvermeidung, zur aufgabenspezifischen Zielerkennung und zur Erstellung von Geländekarten für die Navigation verwendet werden. Wenn ein Laserscanner zum Scannen einer Szene/städtischen Umgebung verwendet wird, enthält die Szene oft viele Objekte. Es ist schwierig zu bestimmen, welche Punkte zu welchen Objekten in der Szene gehören. Wenn beispielsweise ein Stadtblock mit einem Laser gescannt wird, kann der Scan neben Objekten wie Bäumen, Vegetation und Straßen auch die Bodenoberfläche umfassen. Für die Navigation eines autonomen Fahrzeugs ist es sehr wichtig, zwischen Punkten, die zum Boden gehören (Bodensegmentierung), und Punkten, die zu anderen Objekten in der Szene gehören, wie Gebäuden, Vegetation, Fahrzeugen usw., zu unterscheiden. Insbesondere ist die Bodensegmentierung ein wichtiger Vorverarbeitungsschritt, der eine große Anzahl von Punkten aus der Punktwolke entfernt und so die Belastung nachgelagerter Verarbeitungsaufgaben (z.B. bei der Wahrnehmung und Prognose für autonome Fahrzeuge) verringert. Da jedoch die Bodensegmentierung als Vorverarbeitungsschritt durchgeführt wird, muss eine hohe Genauigkeit erreicht werden, um nachgelagerte Fehler zu vermeiden.
  • Die Bodensegmentierung ist tendenziell entscheidend für die Verbesserung der Wahrnehmung autonomer Fahrzeuge. In verschiedenen Umgebungen, in denen autonome Fahrzeuge typischerweise eingesetzt werden, sind normalerweise keine A-Priori-Informationen über die Bodenoberfläche verfügbar. Darüber hinaus können sich die Bodenstruktur und das Erscheinungsbild während des Betriebs des Fahrzeugs erheblich verändern. Daher sind auf bestimmten Hinweisen basierende Bodenerkennungsalgorithmen ohne menschliche Aufsicht in der Regel nicht geeignet.
  • In diesem Dokument werden Verfahren und Systeme beschrieben, die auf die Lösung der oben beschriebenen Probleme und/oder anderer Probleme abzielen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • In einem oder mehreren Szenarien werden Systeme und Verfahren zur Segmentierung von Scandaten offenbart. Die Systeme umfassen einen Prozessor und ein nichtflüchtiges computerlesbares Medium einschließlich Programmieranweisungen. Der Prozessor kann die Programmieranweisungen ausführen, um die Verfahren dieser Offenbarung durchzuführen. Das computerlesbare Medium und die Programmieranweisungen können optional in einem Computerprogrammprodukt enthalten sein.
  • Die Verfahren können das Empfangen von Scandaten umfassen, die eine Vielzahl von Punkten in einer Umgebung darstellen, die einer Bodenoberfläche und einem oder mehreren Objekten zugeordnet sind, und das Erstellen eines Diagramms oder eines Graphen aus den Scandaten. Der Graph oder das Diagramm kann mehrere Knoten (Vertices) enthalten, die den mehreren Punkten entsprechen. Die Verfahren können weiterhin das Zuweisen eines unären Potentials zu jedem der mehreren Knoten umfassen, welches einem Aufwand für die Zuweisung dieses Knotens zu einem BodenLabel oder einem Nicht-Boden-Label entspricht, und das Zuweisen eines paarweisen Potentials zu jedem Paar benachbarter Knoten im Diagramm oder Graphen, welches dem Aufwand für die Zuweisung unterschiedlicher Labels zu benachbarten Knoten entspricht. Die Verfahren kann ferner die Verwendung der unären und der paarweisen Potenziale umfassen, um Labels für jeden der mehreren Punkte zu identifizieren, und die Scandaten zu segmentieren, um mit dem Boden zugehörige Punkte auf der Grundlage der identifizierten Labels zu identifizieren. Optional können die Verfahren eine Ausgabe (z.B. über eine Benutzeroberfläche) der dem Boden in den Scandaten zugeordneten oder assoziierten Punkte umfassen.
  • In verschiedenen Implementierungen kann das Verfahren das Verwerfen der identifizierten, dem Boden zugeordneten Punkte und das Verwenden der nicht verworfenen Punkte in der Vielzahl von Punkten zum Identifizieren des einen oder der mehreren Objekte umfassen. Optional kann das Verfahren die Verwendung der Identifikationen des einen oder der mehreren Objekte zum Navigieren eines autonomen Fahrzeugs in der Umgebung umfassen.
  • In einigen Implementierungen umfassen die Verfahren auch die Vorverarbeitung der Scandaten, um eine Teilmenge der Vielzahl von Punkten zu identifizieren, die wahrscheinlich mit dem Boden in Zusammenhang stehen, und die Verwendung nur der identifizierten Teilmenge von Punkten zum Erstellen des Diagramms bzw. des Graphen. Die Scandaten können vorverarbeitet werden, indem die Scandaten in ein Referenzbezugssystem einer der Umgebung entsprechenden Karte transformiert werden und ein oder mehrere der mehreren Punkte identifiziert werden, die innerhalb einer Schwellenentfernung von einer Bodenoberfläche innerhalb der Karte liegen.
  • In bestimmten Implementierungen kann der Graph unter Verwendung eines K-Nearest-Neighbors-Algorithmus erstellt werden. Optional kann der Graph mehrere Kanten umfassen, die die mehreren Knoten verbinden, wobei jede der mehreren Kanten ein entsprechendes Gewicht aufweist. Zusätzlich und/oder alternativ kann der Graph zwei Endknoten („terminal vertices“) umfassen, die mit der Bodenmarkierung und der Nicht-Bodenmarkierung verknüpft sind.
  • Optional kann die Verwendung der unären Potentiale und der paarweisen Potentiale zum Identifizieren von Labelzuweisungen für jeden der mehreren Punkte das Bestimmen einer unären Energiefunktion als Summe über die unären Potentiale aller der mehreren Knoten und das Bestimmen einer binären Energiefunktion unter Verwendung dieser umfassen Vielzahl paarweiser Potentiale als Summe über alle benachbarten Knoten der Vielzahl von Knoten eines Aufwands für die Zuweisung eines Paars von Boden- und Nicht-Boden-Labels zu jedem Paar benachbarter Knoten. Die unäre Energie kann eine Funktion eines oder mehrerer gewichteter Merkmale sein, die jedem der mehreren Knoten zugeordnet sind und beispielsweise aus Bodenhöhe, relativer Höhe, Farbe, Entfernung, Sensorpositionsunsicherheit, Bodenhöhenunsicherheit, semantischen Labels, Detektionsmasken, Intensität, Lokalisierungsausgabe, Streifwinkel, Oberflächennormalenkompatibilität, Höhe über dem Boden, Okklusionsprüfung, Bodenwahrscheinlichkeit pro Punkt und/oder Netzkompatibilität ausgewählt werden kann. Die binäre Energie kann eine Funktion (z.B. gemäß einem Potts-Modell) eines oder mehrerer gewichteter Merkmale sein, die jedem Paar benachbarter Knoten im Diagramm / Graphen zugeordnet sind und beispielsweise aus der Ähnlichkeit der Punkt-LiDAR-Intensität zwischen benachbarten Knoten oder der Ähnlichkeit der Punktfarbe zwischen benachbarten Knoten , Oberflächennormalenähnlichkeit, Abstandsähnlichkeit, relativem Winkel zwischen benachbarten Knoten und/oder Bildfarbkontinuität ausgewählt werden kann. Zusätzlich und/oder alternativ können die Verfahren auch das Optimieren einer Energiefunktion als Kombination der unären Energie und der binären Energie durch Durchführen eines Graphenschnitts umfassen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist ein Blockdiagramm, das ein beispielhaftes autonomes Fahrzeugsystem veranschaulicht.
    • 2 veranschaulicht ein beispielhaftes Fahrzeugsteuerungssystem.
    • 3 veranschaulicht ein Flussdiagramm eines beispielhaften Prozesses zur Durchführung der Bodensegmentierung.
    • 4 veranschaulicht ein schematisches System zum Sammeln von Scandaten.
    • 5 zeigt ein Beispieldiagramm, das aus einer Punktwolke erstellt wurde.
    • 6 veranschaulicht den Graphen von 5 segmentiert in Boden- und Nicht-Boden-Segmente.
    • 7 ist ein Blockdiagramm, das verschiedene Elemente eines möglichen elektronischen Systems, Subsystems, Controllers und/oder einer anderen Komponente eines autonomen Fahrzeugs (AV = Autonomous Vehicle) und/oder eines externen elektronischen Geräts veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Die in diesem Dokument verwendeten Singularformen „ein / eine“ bzw. „der / die / das“ sollen Pluralformen einschließen, sofern der Kontext nicht eindeutig etwas anderes erfordert. Sofern nicht anders definiert, haben alle hier verwendeten technischen und wissenschaftlichen Begriffe die gleiche Bedeutung, wie sie von einem Fachmann allgemein verstanden wird. Wie in diesem Dokument verwendet, soll der Begriff „umfassend“ im Sine von „einschließend“ verstanden werden, aber nicht beschränkt hierauf. Definitionen für zusätzliche Begriffe, die für dieses Dokument relevant sind, finden sich am Ende dieser detaillierten Beschreibung.
  • Ein autonomes Fahrzeug, das in einer Umgebung operiert, ist zur Navigation auf die Erkennung einer Bodenoberfläche und von Hindernissen auf oder in der Nähe der Bodenoberfläche angewiesen. In einem Beispiel kann das autonome Fahrzeug so konfiguriert sein, dass es eine dichte dreidimensionale (3D) Punktwolke sammelt und die Punktwolke in Hindernisse und Boden segmentiert. Das autonome Fahrzeug kann auch ein oder mehrere Merkmale oder Eigenschaften der Bodenoberfläche identifizieren (z.B. Konturen, Vegetation, Unebenheiten, Löcher, bergauf, bergab, Kurve, Gerade, Bordsteine, Straßenränder usw.) für eine sichere Steuerungs- und Navigationsstrategie. Von Sensoren - wie LiDAR-Sensoren - gesammelte Daten (sogenannte Punktwolkendaten) sind schwer zu interpretieren, und die Segmentierung ist ein entscheidender Vorverarbeitungsschritt bei der Interpretation der gescannten Umgebung.
  • Die Bodensegmentierung wird durchgeführt, um die Punkte zu trennen, die der Bodenoberfläche entsprechen, um entweder die Bodenoberfläche zu klassifizieren und/oder Punkte zu unterscheiden, die nicht der Bodenoberfläche entsprechen, um Punkte zu identifizieren, die verschiedenen Hindernissen in der Umgebung entsprechen. In verschiedenen Implementierungen kombiniert die Bodensegmentierung eine vorgefertigte Karte der Umgebung, die die Höhe der Bodenoberfläche darstellt, mit einem Lokalisierungssystem, das das Fahrzeug relativ zur vorkonstruierten Karte lokalisiert. Wenn bei diesen Ansätzen die Höhe eines Punktes über dem Boden unter einen bestimmten Schwellenwert (z.B. 0.3 m) fällt, wird der Punkt als Boden klassifiziert, andernfalls als nicht Boden. Diese harte Klassifizierung ist jedoch nicht robust gegenüber Fehlern in der Karte, wie beispielsweise einer falschen Schätzung der Bodenhöhe und/oder einer Verzerrung der Karte über große Entfernungen. Damit LiDAR-Punkte mit der Karte verglichen werden können, müssen sie insbesondere von einem Sensorbezugssystem über das Fahrzeugbezugssystem in das Kartenbezugssystem umgewandelt werden. Dies erfordert die Umwandlung jedes einzelnen Laserbezugssystems in das Sensorbezugssystem und dann vom Sensorbezugssystem in das Kartenbezugssystem durch das Fahrzeugbezugssystem. Dies bedeutet, dass Punkthöhenfehler (im Kartenbezugssystem) bei jeder Transformation einer Reihe von Fehlern unterliegen, darunter: Nick- oder Rollfehler in der Pose, insbesondere aufgrund von „doppeltem Boden“ (d.h. einem Bereich der Karte, in dem die Bodenpunkte in zwei oder mehr Höhencluster fallen, beispielsweise aufgrund schlechter Kartenqualität), extrinsische Kalibrierungsfehler (z.B. falsche Schätzung der Transformation zwischen dem LiDAR-Sensor und dem Fahrzeugbezugssystem), intrinsischer Kalibrierungsfehler (z.B. Fehler in der Schätzung der Transformation zwischen einzelnen Lasern und dem Sensorkörper), Lokalisierungsfehlern (Fehler, die sich darauf beziehen, wie die Position des Fahrzeugs im Kartenbezugssystem geschätzt wird), Bodenoberflächenfehler in der Karte oder Ähnliches. Bei großen Entfernungen kann bereits ein geringfügiger Neigungsfehler von weniger als einem Grad ausreichen, um einen Höhenfehler von mehreren zehn Zentimetern zu verursachen. Zusammengenommen kann dies zu einer ungenauen Klassifizierung von Punkten führen, die dem Boden zuzuordnen wären sind, als nicht auf dem Boden befindlich. Dies führt dazu, dass das Fahrzeug fälschlicherweise die Anwesenheit von Objekten erkennt, die nicht vorhanden sind, was dazu führt, dass das Fahrzeug anhält oder ruckelt. Dies kann auch dazu führen, dass Punkte, die mit einem Nicht-Bodenobjekt in Zusammenhang stehen, in ungenauer Weise als Boden klassifiziert werden, was möglicherweise zu einer Kollision führt.
  • Die Verfahren und Systeme der vorliegenden Offenbarung beschreiben eine Bodensegmentierungsverfahren, die zusätzliche Faktoren wie die Wechselbeziehung benachbarter Punkte verwendet und Graphenschnitte zur Durchführung einer binären Bodensegmentierung verwendet. Die Bodensegmentierung kann beispielsweise zum Manövrieren eines autonomen Fahrzeugs verwendet werden, indem die Bodenoberfläche identifiziert und eine Hinderniserkennung durchgeführt wird.
  • 1 ist ein Blockdiagramm, das ein beispielhaftes System 100 darstellt, das ein autonomes Fahrzeug 101 umfasst, das über ein Netzwerk 110 mit einem oder mehreren Datenspeichern 102 und/oder einem oder mehreren Servern 103 kommuniziert. Obwohl ein autonomes Fahrzeug gezeigt wird, können mehrere autonome Fahrzeuge über das Netzwerk 110 miteinander und/oder mit Datenspeichern 102 und/oder Servern 103 gekoppelt sein. Das Netzwerk 110 kann jede Art von Netzwerk sein, beispielsweise ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), beispielsweise das Internet, ein Mobilfunknetz, ein Satellitennetzwerk oder eine Kombination davon; ferner kann das Netzwerk drahtgebunden oder drahtlos sein. Bei den Datenspeichern 102 kann es sich um beliebige Arten von Datenspeichern handeln, beispielsweise um Kartendatenspeicher, Verkehrsinformationsdatenspeicher, Benutzerinformationsdatenspeicher und Point-of-Interest-Datenspeicher, oder jede andere Art von Inhaltsdatenspeichern. Bei den Servern 103 kann es sich um jede Art von Servern oder einen Servercluster handeln, beispielsweise um Web- oder Cloud-Server, Anwendungsserver, Backend-Server oder eine Kombination daraus.
  • Wie in 1 dargestellt, kann das autonome Fahrzeug 101 ein Sensorsystem 111, ein Bordcomputergerät 112, eine Kommunikationsschnittstelle 114 und eine Benutzerschnittstelle 115 umfassen. Das autonome Fahrzeug 101 kann darüber hinaus bestimmte Komponenten (wie beispielsweise in 2 dargestellt) umfassen, die in Fahrzeugen enthalten sind, wie etwa einen Motor, Räder, ein Lenkrad, ein Getriebe usw., die durch die Bordcomputer gesteuert werden können Gerät 112 unter Verwendung einer Vielzahl von Kommunikationssignalen und/oder Befehlen, wie beispielsweise Beschleunigungssignalen oder -befehlen, Verzögerungssignalen oder -befehlen, Lenksignalen oder -befehlen, Bremssignalen oder -befehlen, usw.
  • Das Sensorsystem 111 kann einen oder mehrere Sensoren umfassen, die mit dem autonomen Fahrzeug 101 gekoppelt und/oder darin enthalten sind. Beispiele für solche Sensoren sind - ohne Einschränkung -, ein LiDAR-System, ein RADAR-System (Radio Detection and Ranging), ein LADAR-System (Laser Detection and Ranging), ein SONAR-System (Sound Navigation and Ranging), eine oder mehrere Kameras (z.B. Kameras für das sichtbare Spektrum, Infrarotkameras, usw.), Temperatursensoren, Positionssensoren (z.B. Global Positioning System (GPS) usw.), Standortsensoren, Kraftstoffsensoren, Bewegungssensoren (z.B. Inertial Measurement Units (IMU) usw.), Feuchtigkeitssensoren, Anwesenheitssensoren , oder dergleichen. Die Sensordaten können Informationen umfassen, die den Standort von Objekten in der Umgebung des autonomen Fahrzeugs 101 beschreiben, Informationen über die Umgebung selbst, Informationen über die Bewegung des autonomen Fahrzeugs 101, Informationen über eine Route des autonomen Fahrzeugs oder Ähnliches. Während das autonome Fahrzeug 101 über eine Oberfläche fährt, können zumindest einige der Sensoren Daten über die Oberfläche sammeln.
  • Beispielsweise kann das GPS verwendet werden, um einen geografischen Standort des autonomen Fahrzeugs 101 zu bestimmen oder abzuschätzen. Zu diesem Zweck kann das GPS einen Transceiver umfassen, der dazu konfiguriert ist, eine Position des autonomen Fahrzeugs 101 in Bezug auf die Erde basierend auf satellitenbasierten Positionsdaten zu schätzen. In einem Beispiel kann das System so konfiguriert sein, dass es das GPS in Kombination mit den Kartendaten verwendet, um die Position einer Fahrspurgrenze auf einer Straße zu schätzen, auf der das autonome Fahrzeug 101 möglicherweise fährt.
  • Die IMU kann eine beliebige Kombination von Sensoren sein, die dazu konfiguriert sind, Positions- und Orientierungsänderungen des autonomen Fahrzeugs 101 basierend auf der Trägheitsbeschleunigung zu erfassen. In einigen Beispielen kann die Kombination von Sensoren beispielsweise Beschleunigungsmesser und Gyroskope umfassen.
  • Das RADAR-System kann als Objekterkennungssystem betrachtet werden, das so konfiguriert sein kann, dass es mithilfe von Funkwellen Eigenschaften des Objekts wie Entfernung, Höhe, Richtung oder Geschwindigkeit des Objekts bestimmt. Das RADAR-System kann so konfiguriert sein, dass es Impulse von Radiowellen oder Mikrowellen sendet, die von jedem Objekt im Wellenpfad reflektiert werden können. Das Objekt kann einen Teil der Wellenenergie an einen Empfänger (z.B. eine Empfangsschüssel oder eine Antenne) zurückgeben, der ebenfalls Teil des RADAR-Systems sein kann. Das RADAR-System kann auch so konfiguriert sein, dass es eine digitale Signalverarbeitung der empfangenen Signale (Abprallen vom Objekt) durchführt und das Objekt identifiziert. Die empfangenen Signale oder RADAR-basierten Informationen können beispielsweise Aufschluss über Dimensionseigenschaften einer bestimmten Oberfläche geben.
  • Das LiDAR-System kann einen Sensor umfassen, der dazu konfiguriert ist, Objekte in einer Umgebung, in der sich das autonome Fahrzeug 101 befindet, mithilfe von Licht zu erfassen oder zu erkennen. Im Allgemeinen ist ein LiDAR-System ein Gerät mit optischer Fernerkundungstechnologie, das die Entfernung zu einem Ziel (z.B. einer Bodenoberfläche) oder andere Eigenschaften eines Ziels messen kann, indem es das Ziel mit Licht beleuchtet. Beispielsweise kann das LiDAR-System eine Laserquelle und/oder einen Laserscanner umfassen, der zum Aussenden von Laserimpulsen konfiguriert ist, und einen Detektor, der zum Empfangen von Reflexionen der Laserimpulse konfiguriert ist. Das LiDAR-System kann beispielsweise einen Laser-Entfernungsmesser umfassen, der von einem rotierenden Spiegel reflektiert wird, und der Laser scannt eine zu digitalisierende Szene in einer, zwei oder mehr Dimensionen und erfasst Entfernungsmessungen in bestimmten Winkelintervallen. Das LiDAR-System kann beispielsweise so konfiguriert sein, dass es Laserimpulse als Strahl aussendet und den Strahl scannt, um zweidimensionale oder dreidimensionale Entfernungsmatrizen zu erzeugen. In einem Beispiel können die Entfernungsmatrizen verwendet werden, um die Entfernung zu einem bestimmten Fahrzeug oder einer bestimmten Oberfläche zu bestimmen, indem die Zeitverzögerung zwischen der Übertragung eines Impulses und der Erkennung eines entsprechenden reflektierten Signals gemessen wird. In einigen Beispielen kann mehr als ein LiDAR-System mit dem ersten Fahrzeug gekoppelt sein, um einen vollständigen 360°-Horizont des ersten Fahrzeugs zu scannen. Das LiDAR-System kann so konfiguriert sein, dass es dem Computergerät eine Punktdatenwolke liefert, die die vom Laser getroffene(n) Oberfläche(n) auf der Straße darstellt. Die Punkte können vom LiDAR-System zusätzlich zur Entfernung auch in Form von Azimut- und Höhenwinkeln dargestellt werden, die in (X, Y, Z)-Punktdaten relativ zu einem auf das Fahrzeug bezogenen lokalen Koordinatensystem umgewandelt werden können. Zusätzlich das LiDAR kann so konfiguriert sein, dass es Intensitätswerte des von der Straßenoberfläche reflektierten Lichts oder Lasers liefert, die auf einen Oberflächentyp hinweisen können. In Beispielen kann das LiDAR-System Komponenten wie eine Lichtquelle (z.B. Laser), einen Scanner und eine Optik, eine Fotodetektor- und Empfängerelektronik sowie ein Positions- und Navigationssystem umfassen. In einem Beispiel kann das LiDAR-System so konfiguriert sein, dass es ultraviolettes (UV), sichtbares oder infrarotes Licht verwendet, um Objekte abzubilden, und es kann mit einer Vielzahl von Zielen, einschließlich nichtmetallischen Objekten, verwendet werden. In einem Beispiel kann ein schmaler Laserstrahl verwendet werden, um physikalische Merkmale eines Objekts mit hoher Auflösung abzubilden. Ein Sichtfeld kann mit einem breit divergierenden Laserstrahl in einem einzigen Impuls und/oder Punkt für Punkt beleuchtet werden.
  • Bei einer Kamera kann es sich um eine beliebige Kamera (z.B. eine Standbildkamera, eine Videokamera usw.) handeln, die dazu konfiguriert ist, Bilder der Umgebung aufzunehmen, in der sich das autonome Fahrzeug 101 befindet. Mithilfe der Kameras können weitere Details der Objekte erfasst werden, die andere Sensoren nicht erfassen können. Darüber hinaus kann ein Kamerapaar verwendet werden, um mithilfe von Verfahren wie Triangulation den Abstand der Kameras zur Oberfläche zu bestimmen, über die das autonome Fahrzeug 101 fährt.
  • Es ist zu beachten, dass die Sensoren zum Sammeln von Daten über die Oberfläche in anderen Systemen als dem autonomen Fahrzeug 101 enthalten sein können, wie beispielsweise, ohne Einschränkung, anderen Fahrzeugen (autonom oder angetrieben), Boden- oder Luftvermessungssystemen, Satelliten, an der Luft montierten Kameras , Infrarot-Sensorgeräte, andere Roboter, Maschinen oder Ähnliches.
  • 2 veranschaulicht eine beispielhafte Systemarchitektur für ein Fahrzeug 201, wie etwa das autonome Fahrzeug 101 aus 1. Das Fahrzeug 201 kann eine Brennkraftmaschine oder einen Motor 202 und verschiedene Sensoren zum Messen verschiedener Parameter des Fahrzeugs und/oder seiner Umgebung umfassen. Betriebsparametersensoren, die beiden Fahrzeugtypen gemeinsam sind, umfassen beispielsweise: einen Positionssensor 236 wie einen Beschleunigungsmesser, ein Gyroskop und/oder eine Trägheitsmesseinheit; einen Geschwindigkeitssensor 238 und einen Kilometerzählersensor 240. Das Fahrzeug 101 kann auch verfügen eine Uhr oder einen Taktgeber 242 verfügen, die bzw. den die Systemarchitektur verwendet, um die Fahrzeugzeit während des Betriebs zu bestimmen. Die Uhr bzw. der Taktgeber 242 kann im Bordcomputergerät 212 des Fahrzeugs codiert sein, es kann sich um ein separates Gerät handeln oder es können mehrere Taktgeber verfügbar sein.
  • Das Fahrzeug 201 kann auch verschiedene Sensoren umfassen, die dazu dienen, Informationen über die Umgebung zu sammeln, in der das Fahrzeug fährt. Zu diesen Sensoren können beispielsweise gehören: ein Standortsensor 260, beispielsweise ein GPS-Gerät; Objekterkennungssensoren wie eine oder mehrere Kameras 262; ein LiDAR-Sensorsystem 264; und/oder ein Radar und/oder ein Sonarsystem 266. Zu den Sensoren können auch Umgebungssensoren 268 gehören, etwa ein Niederschlagssensor und/oder ein Umgebungstemperatursensor. Die Objekterkennungssensoren können es dem Fahrzeug 201 ermöglichen, Objekte zu erkennen, die sich in einer bestimmten Entfernung oder Reichweite des Fahrzeugs 201 in einer beliebigen Richtung befinden, während die Umgebungssensoren Daten über Umgebungsbedingungen im Fahrtgebiet des Fahrzeugs sammeln. Die Systemarchitektur umfasst außerdem eine oder mehrere Kameras 262 zum Erfassen von Bildern der Umgebung.
  • Während des Betriebs werden Informationen von den Sensoren an ein Bordcomputergerät 212 übermittelt. Das Bordcomputergerät 212 analysiert die von den Sensoren erfassten Daten und steuert optional den Betrieb des Fahrzeugs basierend auf den Ergebnissen der Analyse. Beispielsweise kann das Bordcomputergerät 212 das Bremsen über eine Bremssteuerung 222 steuern; die Fahrtrichtung über eine Lenksteuerung 224; die Geschwindigkeit und Beschleunigung über einen Drosselklappensteuerung 226 (in einem kraftstoffbetriebenen Fahrzeug) oder einen Motorgeschwindigkeitsregler 228 (z.B. einen Stromniveauregler in einem Elektrofahrzeug); eine Differenzialgetriebesteuerung 230 (in Fahrzeugen mit Getrieben); und/oder es können weitere Steuergeräte, wie etwa eine Hilfsgeräte-Steuerung 254 vorgesehen sein.
  • Geografische Standortinformationen können vom Standortsensor 260 an das Bordcomputergerät 212 übermittelt werden, das dann auf eine Karte der Umgebung zugreifen kann, die den Standortinformationen entspricht, um bekannte feste Merkmale der Umgebung zu bestimmen, z B. Straßen, Gebäude, Stoppschilder und/oder Stop/Go-Signale. Von den Kameras 262 erfasste Bilder und/oder von Sensoren - wie von einem LiDAR-System 264 - erfasste Objekterkennungsinformationen werden von diesen Sensoren an das Bordcomputergerät 212 übermittelt. Die Objekterkennungsinformationen und/oder die erfassten Bilder können vom Bordcomputergerät 212 verarbeitet werden, um Objekte in der Nähe des Fahrzeugs 201 zu erkennen. Zusätzlich oder alternativ kann das Fahrzeug 201 beliebige Daten zur Verarbeitung an ein Remote-Serversystem 103 (1) übertragen. In den in diesem Dokument offenbarten Ausführungsformen kann jede bekannte oder zukünftig bekannt werdende Technik zur Durchführung einer Objekterkennung auf der Grundlage von Sensordaten und/oder erfassten Bildern verwendet werden.
  • Das Bordcomputergerät 212 kann Kartendaten erhalten, abrufen und/oder erstellen, die detaillierte Informationen über die Umgebung des autonomen Fahrzeugs 201 bereitstellen. Das Bordcomputergerät 212 kann auch den Standort, die Ausrichtung, die Pose usw. des AV in der Umgebung (Lokalisierung) beispielsweise auf der Grundlage dreidimensionaler Positionsdaten (z.B. Daten von einem GPS) und der dreidimensionalen Ausrichtung bestimmen Daten, vorhergesagte Standorte oder Ähnliches. Beispielsweise kann das Bordcomputergerät 212 GPS-Daten empfangen, um die Breiten-, Längen- und/oder Höhenposition des AV zu bestimmen. Auch andere Standortsensoren oder -systeme wie laserbasierte Lokalisierungssysteme, trägheitsgestütztes GPS oder kamerabasierte Lokalisierung können zur Identifizierung des Standorts des Fahrzeugs verwendet werden. Der Standort des Fahrzeugs kann einen absoluten geografischen Standort wie Breitengrad, Längengrad und Höhe sowie relative Standortinformationen umfassen, beispielsweise den Standort relativ zu anderen Fahrzeugen in unmittelbarer Umgebung, die oft mit weniger Aufwand als der absolute geografische Standort bestimmt werden können. Die Kartendaten können Informationen über Folgendes liefern: die Identität und Lage verschiedener Straßen, Straßenabschnitte, Fahrspurabschnitte, Gebäude oder anderer Elemente; die Position, Grenzen und Richtungen von Fahrspuren (z.B. die Position und Richtung einer Parkspur, einer Abbiegespur, einer Fahrradspur oder anderer Spuren innerhalb einer bestimmten Fahrbahn) und Metadaten mit Fahrspuren verbunden; Verkehrskontrolldaten (z.B. Standort und Anweisungen von Beschilderungen, Ampeln oder anderen Verkehrskontrollgeräten); und/oder alle anderen Kartendaten, die Informationen bereitstellen, die das Bordcomputergerät 212 bei der Analyse der Umgebung des autonomen Fahrzeugs 201 unterstützen.
  • Die Kartendaten können auch Informationen und/oder Regeln zur Bestimmung der Vorfahrt von Objekten und/oder Fahrzeugen in Konfliktgebieten oder -räumen umfassen. Ein Konfliktraum (oder Konfliktgebiet) bezieht sich auf ein Gebiet, in dem voraussichtlich mehr als ein Objekt und/oder Fahrzeug gleichzeitig vorhanden sein wird, was zu einer Kollisionsgefahr führen kann, es sei denn, einem der Objekte und/oder Fahrzeuge wird Vorrang eingeräumt (d.h. Vorfahrt), um den Konfliktraum zu durchqueren. Beispiele für solche Konflikträume können Ampeln, Kreuzungen, Stoppschilder, Kreisverkehre, Abzweigungen, Zebrastreifen, Fußgängerüberwege usw. sein. Die Vorfahrtsinformationen und/oder -regeln für einen Konfliktraum können aus Verkehrsgesetzen und -regeln für ein geografisches Gebiet abgeleitet werden (und sind möglicherweise nicht für alle Räume gleich). Beispielsweise hat an einer Ampel ein Fahrzeug mit grünem Licht Vorfahrt vor einem Fahrzeug mit gelbem oder rotem Licht, ein geradeaus fahrendes Fahrzeug hat Vorfahrt vor einem Fahrzeug, das nach links abbiegen möchte oder rechts, ein Fußgänger hat Vorfahrt, wenn ein Gehwegsignal usw. vorhanden ist. Ebenso hat ein fahrendes Fahrzeug Vorfahrt vor einem stehenden Fahrzeug, das versucht, in den Verkehr einzufädeln, und/oder ein Fahrzeug, das sich auf seiner Fahrspur bewegt, hat Vorfahrt vor einem Fahrzeug, das auf eine andere Fahrspur einfädelt. In einem anderen Beispiel hat ein Fußgänger auf einem Fußgängerüberweg Vorfahrt. An einer Kreuzung hat ein geradeaus fahrendes Fahrzeug Vorfahrt vor einem Fahrzeug, das nach links oder rechts abbiegen möchte. An einem Stoppschild hat ein Fahrzeug, das zuerst am Stoppschild ankam, Vorfahrt vor einem Fahrzeug, das später am Stoppschild ankam.
  • In bestimmten Ausführungsformen können die Kartendaten auch Referenzpfadinformationen umfassen, die allgemeinen Mustern der Fahrzeugfahrt entlang einer oder mehrerer Fahrspuren entsprechen, so dass die Bewegung des Objekts auf den Referenzpfad beschränkt ist (z.B. Orte innerhalb von Fahrspuren, auf denen sich ein Objekt üblicherweise bewegt). Solche Referenzpfade können vordefiniert sein, beispielsweise die Mittellinie der Fahrspuren. Optional kann der Referenzpfad auf der Grundlage historischer Beobachtungen von Fahrzeugen oder anderen Objekten über einen bestimmten Zeitraum hinweg generiert werden (z.B. Referenzpfade für Geradeausfahrt, Spurzusammenführung, Abbiegen oder Ähnliches).
  • In bestimmten Ausführungsformen kann das Bordcomputergerät 212 auch Informationen bezüglich der Fahrt oder Route eines Benutzers, Echtzeit-Verkehrsinformationen auf der Route oder Ähnliches umfassen und/oder empfangen.
  • Das Bordcomputergerät 212 kann einen Routing-Controller 231 umfassen und/oder mit diesem kommunizieren, der eine Navigationsroute von einer Startposition zu einer Zielposition für ein autonomes Fahrzeug generiert. Der Routing-Controller 231 kann auf einen Kartendatenspeicher zugreifen, um mögliche Routen und Straßenabschnitte zu identifizieren, auf denen ein Fahrzeug fahren kann, um von der Startposition zur Zielposition zu gelangen. Der Routing-Controller 231 kann die möglichen Routen bewerten und eine bevorzugte Route zum Erreichen des Ziels identifizieren. Beispielsweise kann der Routing-Controller 231 eine Navigationsroute generieren, die die zurückgelegte euklidische Entfernung oder eine andere Kostenfunktion während der Route minimiert, und der Routing-Controller kann außerdem auf Verkehrsinformationen und/oder Schätzungen zugreifen, die sich auf die für die Fahrt auf der bestimmten Route benötigte Zeit auswirken können. Abhängig von der Implementierung kann der Routing-Controller 231 eine oder mehrere Routen mithilfe verschiedener Routing-Methoden generieren, beispielsweise dem Dijkstra-Algorithmus, dem Bellman-Ford-Algorithmus oder anderen Algorithmen. Der Routing-Controller 231 kann die Verkehrsinformationen auch verwenden, um eine Navigationsroute zu generieren, die die erwarteten Bedingungen der Route widerspiegelt (z.B. aktueller Wochentag oder aktuelle Tageszeit usw.), sodass eine Route, die für Fahrten während der Hauptverkehrszeit generiert wird, von einer Route abweichen kann, die für Fahrten spät in der Nacht erstellt wurde. Der Routing-Controller 231 kann außerdem mehr als eine Navigationsroute zu einem Ziel generieren und mehr als eine dieser Navigationsrouten an einen Benutzer senden, damit dieser aus den verschiedenen möglichen Routen auswählen kann.
  • In verschiedenen Implementierungen kann ein Bordcomputergerät 212 Wahrnehmungsinformationen der Umgebung des autonomen Fahrzeugs 201 ermitteln. Basierend auf den von einem oder mehreren Sensoren bereitgestellten Sensordaten und den erhaltenen Standortinformationen kann das Bordcomputergerät 212 Wahrnehmungsinformationen über die Umgebung des autonomen Fahrzeugs 201 ermitteln. Die Wahrnehmungsinformationen können darstellen, was ein normaler Fahrer in der Umgebung eines Fahrzeugs wahrnehmen würde. Die Wahrnehmungsdaten können Informationen zu einem oder mehreren Objekten in der Umgebung des autonomen Fahrzeugs 201 umfassen. Beispielsweise kann das Bordcomputergerät 212 Sensordaten (z.B. LiDAR- oder RADAR-Daten, Kamerabilder usw.) verarbeiten, um Objekte und/oder Merkmale in der Umgebung des autonomen Fahrzeugs 201 zu identifizieren. Zu den Objekten können Verkehrssignale, Fahrbahnbegrenzungen, andere Fahrzeuge, Fußgänger und/oder Hindernisse usw. gehören. Das Bordcomputergerät 212 kann alle jetzt oder später bekannten Objekterkennungsalgorithmen, Videoverfolgungsalgorithmen und Computer-Visions-Algorithmen verwenden (z.B. Objekte Bild für Bild iterativ über eine Reihe von Zeiträumen verfolgen), um Wahrnehmungsinformationen zu bestimmen. Die Wahrnehmungsinformationen können Objekte umfassen, die durch Verwerfen von Boden-LiDAR-Punkten identifiziert wurden, wie unten erläutert.
  • In einigen Ausführungsformen kann das Bordcomputergerät 212 auch für ein oder mehrere identifizierte Objekte in der Umgebung den aktuellen Zustand des Objekts ermitteln. Die Zustandsinformationen können ohne Einschränkung für jedes Objekt Folgendes umfassen: aktueller Standort; aktuelle Geschwindigkeit und/oder Beschleunigung, aktueller Kurs; aktuelle Pose; aktuelle Form, Größe oder Grundfläche; Typ (z.B. Fahrzeug vs. Fußgänger vs. Fahrrad vs. statisches Objekt oder Hindernis) und/oder andere Statusinformationen.
  • Das Bordcomputergerät 212 kann eine oder mehrere Vorhersage- und/oder Prognoseoperationen durchführen. Beispielsweise kann das Bordcomputergerät 212 zukünftige Standorte, Trajektorien und/oder Aktionen eines oder mehrerer Objekte vorhersagen. Beispielsweise kann das Bordcomputergerät 212 die zukünftigen Standorte, Trajektorien und/oder Aktionen der Objekte zumindest teilweise auf der Grundlage von Wahrnehmungsinformationen vorhersagen (z.B. die Zustandsdaten für jedes Objekt, die eine geschätzte Form und Pose umfassen, die wie unten näher erläutert bestimmt werden), ferner auf der Grundlage von Standortinformationen, von Sensordaten und/oder von anderen Daten, die den vergangenen und/oder aktuellen Zustand der Objekte, des autonomen Fahrzeugs 201, der Umgebung und/oder ihrer Beziehung(en) beschreiben. Wenn es sich bei einem Objekt beispielsweise um ein Fahrzeug handelt und die aktuelle Fahrumgebung eine Kreuzung umfasst, kann das Bordcomputergerät 212 vorhersagen, ob sich das Objekt wahrscheinlich geradeaus bewegen oder abbiegen wird. Wenn die Wahrnehmungsdaten darauf hinweisen, dass es an der Kreuzung keine Ampel gibt, kann das Bordcomputergerät 212 auch vorhersagen, ob das Fahrzeug möglicherweise vollständig anhalten muss, bevor es in die Kreuzung einfährt.
  • Wie weiter unten ausführlicher erörtert wird, kann das Bordcomputergerät 212 auch eine Vielzahl von Objekttrajektorien durch einen Konfliktraum vorhersagen und die mit jeder derartigen Vorhersage verbundenen Wahrscheinlichkeiten bestimmen.
  • In verschiedenen Ausführungsformen kann das Bordcomputergerät 212 einen Bewegungsplan für das autonome Fahrzeug bestimmen. Beispielsweise kann das Bordcomputergerät 212 einen Bewegungsplan für das autonome Fahrzeug basierend auf den Wahrnehmungsdaten und/oder den Vorhersagedaten bestimmen. Insbesondere kann das Bordcomputergerät 212 anhand von Vorhersagen über die zukünftigen Standorte von Objekten in der Nähe und anderen Wahrnehmungsdaten einen Bewegungsplan für das autonome Fahrzeug 201 bestimmen, der das autonome Fahrzeug relativ zu den Objekten an ihren zukünftigen Standorten am besten navigiert.
  • In einer oder mehreren Ausführungsformen kann das Bordcomputergerät 212 Vorhersagen empfangen und eine Entscheidung darüber treffen, wie mit Objekten in der Umgebung des autonomen Fahrzeugs 201 umgegangen wird. Beispielsweise entscheidet das Bordcomputergerät 212 für ein bestimmtes Objekt (z.B. ein Fahrzeug mit einer bestimmten Geschwindigkeit, Richtung, einem bestimmten Kurvenwinkel usw.), ob überholt, ausgewichen, angehalten und/oder überholt werden soll, beispielsweise auf Grundlage von Verkehrsbedingungen, Kartendaten, dem Zustand des autonomen Fahrzeugs, usw. Darüber hinaus plant das Bordcomputergerät 212 auch einen Weg, den das autonome Fahrzeug 201 auf einer bestimmten Route zurücklegen soll, sowie Fahrparameter (z.B. Entfernung, Geschwindigkeit und/oder Kurvenwinkel). D.h., für ein bestimmtes Objekt entscheidet das Bordcomputergerät 212, was mit dem Objekt geschehen soll, und bestimmt, wie es zu tun ist. Beispielsweise kann das Bordcomputergerät 212 für ein bestimmtes Objekt entscheiden, das Objekt zu passieren, und das Bordcomputergerät kann ferner bestimmen, ob es auf der linken oder rechten Seite des Objekts passiert werden soll (einschließlich Bewegungsparametern wie der Geschwindigkeit). Das Bordcomputergerät 212 kann auch das Risiko einer Kollision zwischen einem erkannten Objekt und dem autonomen Fahrzeug 201 bewerten. Wenn das Risiko einen akzeptablen Schwellenwert überschreitet, kann ermittelt werden, ob die Kollision vermieden werden kann, wenn das autonome Fahrzeug einer definierten Fahrzeugtrajektorie folgt und/oder ein oder mehrere dynamisch generierte Notfallmanöver in einem vordefinierten Zeitraum (z.B. N Millisekunden) durchführt. Wenn die Kollision vermieden werden kann, kann das Bordcomputergerät 212 eine oder mehrere Steueranweisungen ausführen, um ein vorsichtiges Manöver durchzuführen (z.B. leicht abbremsen, beschleunigen, die Spur wechseln oder ausweichen). Wenn die Kollision hingegen nicht vermieden werden kann, kann das Bordcomputergerät 112 eine oder mehrere Steueranweisungen zur Durchführung eines Notfallmanövers (z.B. Bremsen und/oder Fahrtrichtungswechsel) ausführen.
  • Wenn beispielsweise das Bordcomputergerät 212 auf der Grundlage der Trajektorienvorhersagen des Objekts feststellt, dass ein Objekt eine Vorfahrtsregelung gegenüber dem Fahrzeug voraussichtlich missachten wird, kann das Bordcomputergerät 212 bei einem autonomen Fahrzeug einen Bewegungsplan für das autonome Fahrzeug bestimmen, der eine Kollision mit einem solchen Objekt in einem Konfliktraum vermeidet.
  • Wie oben erläutert, werden Planungs- und Steuerungsdaten bezüglich der Bewegung des autonomen Fahrzeugs zur Ausführung generiert. Das Bordcomputergerät 212 kann beispielsweise das Bremsen über einen Bremscontroller steuern; die Fahrtrichtung über einen Lenksteuerung; eine Geschwindigkeit und eine Beschleunigung über einen Drosselklappensteuerung (in einem kraftstoffbetriebenen Fahrzeug) oder über einen Motorgeschwindigkeitsregler (z.B. einen Stromniveauregler in einem Elektrofahrzeug); ferner können eine Differentialgetriebesteuerung (in Fahrzeugen mit Getriebe); und/oder andere Steuerungen vorgesehen sein.
  • In den verschiedenen in diesem Dokument besprochenen Ausführungsformen kann in der Beschreibung angegeben sein, dass das Fahrzeug oder eine im Fahrzeug enthaltene Steuerung (z.B. in einem Bordcomputersystem) Programmieranweisungen implementieren kann, die das Fahrzeug und/oder eine Steuerung veranlassen, Entscheidungen zu treffen und verwenden die Entscheidungen zu verwenden, um den Betrieb des Fahrzeugs zu steuern. Allerdings sind die Ausführungsformen nicht auf diese Anordnung beschränkt, da in verschiedenen Ausführungsformen die Analyse, Entscheidungsfindung und/oder Betriebssteuerung vollständig oder teilweise von anderen Computergeräten übernommen werden kann, die in elektronischer Kommunikation mit dem Bordcomputergerät und/oder dem Fahrzeugsteuerungssystem des Fahrzeugs stehen. Beispiele für solche anderen Computergeräte umfassen ein elektronisches Gerät (z.B. ein Smartphone), das einer Person zugeordnet ist, die im Fahrzeug mitfährt, sowie ein Remote-Server, der über ein drahtloses Kommunikationsnetzwerk in elektronischer Kommunikation mit dem Fahrzeug steht. Der Prozessor eines solchen Geräts kann die unten beschriebenen Vorgänge ausführen.
  • Zurückkommend auf 1, kann, wie dort gezeigt, die Kommunikationsschnittstelle 114 so konfiguriert sein, dass sie die Kommunikation zwischen dem autonomen Fahrzeug 101 und externen Systemen ermöglicht, wie zum Beispiel externen Geräten, Sensoren, anderen Fahrzeugen, Servern, Datenspeichern, Datenbanken usw. Die Kommunikationsschnittstelle 114 kann alle derzeit oder künftig bekannten Protokolle, Schutzschemata, Kodierungen, Formate, Paketformen usw., wie beispielsweise Wi-Fi, eine Infrarotverbindung, Bluetooth®, usw., verwenden. Das Benutzerschnittstellensystem 115 kann Teil von Peripheriegeräten sein, die im Fahrzeug 101 implementiert sind, einschließlich beispielsweise einer Tastatur, eines Touchscreen-Anzeigegeräts, eines Mikrofons und eines Lautsprechers, usw.
  • 3 veranschaulicht ein Flussdiagramm eines beispielhaften Prozesses 300 zum Durchführen einer Bodenoberflächensegmentierung unter Verwendung von Diagrammschnitten gemäß einer Implementierung.
  • Wie in 3 dargestellt kann das System bei 302 Sensordaten (d.h. Scandaten) aus einer Umgebung sammeln. Die Scandaten können von einem Scansensor wie einem LiDAR generiert werden. In einigen Fällen kann der Sensor an einem Fahrzeug angebracht oder Teil davon sein. Die Scandaten können in einer Punktwolke aus Scandaten organisiert werden. Die Punktwolkendaten umfassen normalerweise Positionsdaten (X, Y, Z) und Intensitätsdaten (i), und einige können Farbdaten (R, G, B) enthalten. Das System kann auch Pose und Kovarianz des Sensors empfangen, um verschiedene Scanpunkte zu sammeln.
  • 4 veranschaulicht ein Beispiel eines Fahrzeugscansystems. Das Scansystem kann Fahrzeugsensoren 401 umfassen, die an einem Fahrzeug 400 angebracht sind. In einigen Fällen kann es sich bei den Fahrzeugsensoren 401 um die Kamera 262, das LiDAR 264, das RADAR 266 usw. von 1 handeln. Das Fahrzeug 400 kann das Fahrzeug 101/201 der 1 bzw. der 2 sein. Die Fahrzeugsensoren 401 können eine Umgebung um das Fahrzeug 400 scannen und Scandatenpunkte 405 von Merkmalen 407 in der Umgebung sammeln. Beispielsweise kann ein LiDAR-Sensor Scandatenpunkte 405 in der Umgebung sammeln. Die Scandatenpunkte 405 können von den Fahrzeugsensoren 401 erfasst werden, während das Fahrzeug 400 stationär verbleibt oder während sich das Fahrzeug 400 entlang eines Pfads bewegt. Die Navigation des Fahrzeugs 400 kann auf Grundlage der gesammelten und analysierten Scandatenpunkte 405 gesteuert werden.
  • Die Scandatenpunkte 405 können ein Maß für die Entfernung von einem Merkmal 407 in der Umgebung zu den Fahrzeugsensoren 401 oder dem Fahrzeug 400 sein. Auch wenn nur ein begrenzter Teil der Scandatenpunkte 405 in 4 dargestellt ist, können viele Scandatenpunkte 405 hinsichtlich Merkmalen 407 oberhalb des Fahrzeugs, unterhalb des Fahrzeugs und um das Fahrzeug 400 herum, einschließlich solcher das Fahrzeug 400 selbst betreffend, aufgezeichnet werden.
  • Optional können die Scandatenpunkte 405 mithilfe eines Koordinatensystems im Raum registriert werden. Zum Registrieren der Scandatenpunkte 405 können beispielsweise lokale Koordinaten, geografische Koordinaten, geozentrische Koordinaten oder kartesische Koordinaten verwendet werden. Lokale Koordinaten können ein Indexsystem in einem lokalen Koordinatenraum sein, das sich von einem breiteren Koordinatensystem unterscheidet, aber mit diesem verknüpft ist. Geografische Koordinaten können ein Koordinatensystem sein, das die Position eines Punktes relativ zur Erde beschreibt, beispielsweise anhand von Breitengrad, Längengrad und Höhe. Geozentrische Koordinaten können ein Koordinatensystem sein, das einen Punkt im Raum mithilfe von X-, Y- und Z-Koordinaten darstellt, wobei der Ursprung im Massenmittelpunkt der Erde liegt. Kartesische Koordinaten können ein Koordinatensystem sein, das die Position eines Punktes eindeutig in einer oder mehreren Ebenen durch einen Satz numerischer Koordinaten angibt, die die Abstände zu dem Punkt von zwei oder mehr senkrechten Achsen darstellen, die die Ebenen definieren und sich an einem Ursprungspunkt schneiden. In manchen Fällen werden die Koordinaten relativ zu einem Weg des Fahrzeugs registriert.
  • Zurückkommend auf 3, kann das System die empfangenen Scandaten (z.B. die Punktwolke) verarbeiten, um eine Teilmenge von Punkten (304) der Scandaten zu identifizieren, die sich in der Nähe des Bodens befinden („Höhe über dem Boden“). Optional liegt die Teilmenge der Punkte in der Nähe des Bodens und/oder innerhalb eines Schwellenwertbereichs vom Fahrzeug. Die in der Teilmenge enthaltenen Punkte werden mit den unten beschriebenen Verfahren weiter analysiert, um sie als zum Boden oder nicht zum Boden gehörend zu klassifizieren.
  • Beispielsweise kann die Teilmenge der Punkte derartige Punkte umfassen, die innerhalb eines Schwellenabstands von der Bodenebene liegen (z.B. ca. 0,2 bis ca. 0,8 Meter, ca. 0,1 bis 1,0 Meter, ca. 0,3 bis ca. 0,7 Meter, ca. 0,4 bis ca. 0,6 Meter), ca. 0,5 Meter, ca. 0,4 Meter, ca. 0,6 Meter oder dergleichen). Zusätzlich und/oder alternativ kann die Teilmenge Punkte umfassen, die darin liegen eine maximale Schwellenreichweite des Fahrzeugs (z.B. etwa 45-55 Meter vom Fahrzeug in einer oder mehreren Richtungen, etwa 47-53 Meter vom Fahrzeug, etwa 40-60 Meter vom Fahrzeug oder dergleichen). Optional können die Punkte in den Scandaten, die nicht in der identifizierten Teilmenge von Punkten enthalten sind, als Nicht-Bodenpunkte klassifiziert werden (d.h. die Punkte, die nicht innerhalb der Schwellenentfernung vom Boden liegen oder außerhalb der maximalen Reichweite liegen). Die identifizierte Teilmenge der Punkte wird zur Klassifizierung weiter analysiert, wie unten beschrieben.
  • Der Schwellenwertabstand vom Boden und/oder der maximale Schwellenwertbereich vom Fahrzeug können beispielsweise basierend auf der Art des Sensors, der Ausrichtung des Sensors, der gewünschten Genauigkeit der Bodensegmentierung, der Art der Umgebung und der Entfernung von Punkten innerhalb der Scandaten bestimmt werden (z.B. kann der Reichweiten-Schwellenwert dann in eine konservativere Richtung verschoben werden - d.h. der Schwellenwertabstand zum Ausschließen von Punkten aus der Teilmenge nimmt zu) oder dergleichen.
  • Um die Teilmenge der Punkte zu identifizieren, kann das System zunächst die Scandaten von einem Sensorbezugssystem in ein Kartenbezugssystem (z.B. über einen Fahrzeugbezugssystem in ein vorkonstruiertes Kartenbezugssystem) umwandeln, um den Sensor relativ zur Karte zu lokalisieren. Dies kann verwendet werden, um für jeden Punkt die Zellen in einer Kachelkarte zu identifizieren, in die der Punkt fällt, sowie die Höhe des Punktes über dem Boden im Kartenbezugssystem. Das System kann dann die Höhe jedes Punktes im Kartenbezugssystem verwenden, um die Punkte zu identifizieren, die innerhalb einer Schwellenentfernung vom Boden und/oder innerhalb einer maximalen Reichweite des Fahrzeugs liegen. Die Offenbarung und Punkte können auch direkt im lokalen Sensorbezugssystem analysiert werden. Beispielsweise kann das Oberflächennormalenmerkmal eines Punktes mit der Oberflächennormalen zur vertikalen Richtung im lokalen Fahrzeugbezugssystem verglichen werden, ein Relativwinkelmerkmal kann Steigungen im lokalen Fahrzeugbezugssystem und nicht im Kartenbezugssystem berechnen oder Ähnliches.
  • Andere alternative und/oder zusätzliche Verfahren zur Identifizierung der Teilmenge von Punkten liegen ebenfalls im Umfang dieser Offenbarung. Beispielsweise kann zusätzlich und/oder alternativ zur Identifizierung der Teilmenge der Punkte ein wahrscheinlichkeitsbasierter Verhältnistest basierend auf einem Merkmal der Höhe über dem Boden der Punkte in den Scandaten verwendet werden. Die Höhe-über-dem-Boden-Funktion berechnet und berücksichtigt die Höhe eines Punktes über dem Boden (optional in Kombination mit einer Positionsunsicherheit des Fahrzeugs) und die Unsicherheit der in der Karte gespeicherten Bodenhöhe, um eine Wahrscheinlichkeit zu berechnen, dass der Punkt zu einem Punkt der Bodenoberfläche gehört oder nicht. Das System vergleicht dann das Verhältnis der Wahrscheinlichkeit, dass der Punkt zum Boden gehört mit dem Verhältnis, dass der Punkt nicht zum Boden gehört wird, mit einem Schwellenwert. Wenn dieses Verhältnis einen Schwellenwert überschreitet (z.B. etwa 20:1, etwa 19:1, etwa 18:1 oder dergleichen), wird der Punkt als zu einer Klasse mit maximaler Wahrscheinlichkeit (d.h. hinsichtlich der Bodenzugehörigkeit) gehörend klassifiziert und nicht in die identifizierte Teilmenge der Punkte eingeschlossen. Dadurch kann das System Situationen analysieren, in denen die Höhe über dem Boden unsicher wird (z.B. in großer Entfernung von einem autonomen Fahrzeug), weil die Wahrscheinlichkeitsfunktion der Zugehörigkeit zum Boden breiter wird, sodass das System Punkte in der ausgewählten Teilmenge behält, um die Segmentierung auf größere Entfernungen mithilfe der unten beschriebenen Verfahren durchzuführen.
  • Optional kann das System zwei separate Wahrscheinlichkeitsschwellenwerte (einen primären Schwellenwert und einen sekundären Schwellenwert) für das Wahrscheinlichkeitsverhältnis verwenden, wobei der sekundäre Schwellenwert ≥ dem primären Schwellenwert ist. Wenn in solchen Implementierungen das Wahrscheinlichkeitsverhältnis eines Punkts den primären Schwellenwert (z.B. 20:1) überschreitet, kann das System ihn als maximale Wahrscheinlichkeitsklasse (d.h. Boden) klassifizieren. Wenn das Wahrscheinlichkeitsverhältnis jedoch unter dem sekundären Schwellenwert liegt (z.B. 750:1), kann das System dennoch den Punkt zur Aufnahme in die identifizierte Teilmenge von Punkten auswählen, um die Segmentierung wie unten beschrieben durchzuführen. Nur wenn das Wahrscheinlichkeitsverhältnis der Punkte den sekundären Schwellenwert überschreitet, wird der Punkt aus der identifizierten Teilmenge der Punkte ausgeschlossen. Dadurch kann das System die unären Energien benachbarter, nicht klassifizierter Punkte aktualisieren, um die harte Klassifizierung ihres jeweiligen Nachbarn widerzuspiegeln (wobei der Nachbar ein Wahrscheinlichkeitsverhältnis hat, das größer als ein primärer Schwellenwert, aber kleiner als ein sekundärer Schwellenwert ist). Das Ziel besteht darin, die Punkte in der Nähe der harten Entscheidungsgrenze der identifizierten Teilmenge zu halten, derart, dass sich ihre Energien in den Nachbarn widerspiegeln, die sie in der unten beschriebenen vollständigen Diagrammenergie hätten. Wenn beispielsweise im vollständigen Diagramm (unten beschrieben) ein unbekannter Punkt A an einen Punkt B angrenzt, der mithilfe des Likelihood-Ratio-Tests als nicht zum Boden gehörig klassifiziert wird, würde der Kantenenergieterm dazu führen, dass A ebenfalls als nicht zum Boden gehörig klassifiziert würde, indem ein Strafterm zur Einstufung von A als zum Boden gehörig hinzugefügt wird, wenn sowohl A als auch B in der Teilmenge der Punkte enthalten sind, obwohl B bekanntermaßen kein Bodenpunkt ist.
  • In verschiedenen Implementierungen kann der Wahrscheinlichkeitsverhältnistest wie folgt berechnet werden. Angesichts der Varianz der Bodenhöhe in einem Kartenbezugssystem (Var_map), der Varianz der Fahrzeugposition in der z-Richtung des Kartenbezugssystems (Var_vehicle_z) und der Unsicherheit in Bezug auf Roll- und Nickverhalten des Fahrzeugs (Var_vehicle_pitch), kann das System eine ungefähre Schätzung der Unsicherheit in der Höhe des Punktes über dem Boden mit der Reichweite R wie folgt berechnen (unter Verwendung einer Näherung für kleine Winkel): V a r _ H A G = V a r _ m a p + V a r _ v e h i c l e _ z + R 2 * V a r _ v e h i c l e _ p i t c h ,
    Figure DE112021006299T5_0001
    wobei
    • Var_vehic/e_z und Var_vehicle_pitch aus einem erweiterten Kalman-Filter (EKF) berechnet werden können, der die Unsicherheit der Fahrzeugposition im Kartenbezugssystem schätzt;
    • Var_map entweder eine fest codierte Konstante, die die Gesamtgenauigkeit einer Karte widerspiegelt, und/oder ein in der Karte selbst codierter Wert ist.
  • Das System kann dann eine Gaußsche Wahrscheinlichkeitsdichtefunktion berechnen und diese verwenden, um die Wahrscheinlichkeit, dass der Punkt zum Boden zugehörig und nicht zum Boden zugehörig ist, basierend auf seiner Höhe über dem Boden (HAG) wie folgt abzuschätzen: e x p _ t e r m = e x p ( H A G 2 / 2 ( 2 * V a r _ H A G ) )
    Figure DE112021006299T5_0002
    n o r m _ c o n s t a n t = 1.0 / s q r t ( 2 * p i * V a r _ H A G )
    Figure DE112021006299T5_0003
  • Dann berechnet man die Bodenwahrscheinlichkeit als: P ( G r o u n d ) = e x p _ t e r m = e x p _ t e r m / n o r m _ c o n s t a n t ;
    Figure DE112021006299T5_0004
    P ( N o t   G r o u n d ) = ( 1 e x p _ t e r m ) / n o r m _ c o n s t a n t
    Figure DE112021006299T5_0005
  • Es ist zu beachten, dass die Verwendung einer Normalisierungskonstante, die sich auf die geschätzte Varianz bezieht, zu einer Verringerung der Summe der Wahrscheinlichkeiten führt, wenn die Varianz zunimmt. Dadurch wird das Gewicht von dieser Funktion auf andere Funktionen bei größerer Reichweite verlagert. Darüber hinaus ist die Bodenwahrscheinlichkeit symmetrisch um eine Höhe über dem Boden von 0. So kann ein Punkt, der zu weit unter der erwarteten Bodenoberfläche liegt, als nicht bodenzugehörig eingestuft werden, wodurch das System negative Hindernisse und Löcher in der Bodenoberfläche erkennen könnte.
  • Das System kann optional berücksichtigen, wenn LiDAR-Strahlen auf ein Objekt treffen, nachdem sie von der Bodenoberfläche reflektiert wurden (z.B., wenn die Straße nass ist). Das System kann die Reflexion mithilfe eines Ablehnungsverfahrens berücksichtigen, bei dem angenommen wird, dass es sich bei dem Punkt um eine Reflexion handelt, sobald der Punkt mehr als einen Schwellenwertmultiplikator mal (z.B. 3 oder mehr) der Anzahl der Standardabweichungen unter der Bodenoberfläche liegt als das Rauschen, das mit der Bodenoberfläche und dem Posenfehler übereinstimmt). In diesem Fall wird der obige exp-Term auf 1,0 gesetzt (was einer Höhe über dem Boden von 0 entspricht). Daher bevorzugt das System die Klassifizierung dieser Reflexionspunkte als Boden, was dazu führt, dass sie nicht in der identifizierten Teilmenge der Punkte enthalten sind.
  • Die Teilmenge der identifizierten Punkte sind Punkte, die dem Boden entsprechen können und wie unten erläutert segmentiert werden. Eine solche Verarbeitung und Vorklassifizierung der Scandaten zur Identifizierung der Teilmenge von Punkten, die möglicherweise dem Boden entsprechen, hat den Vorteil, dass Verarbeitungsleistung und/oder Zeit gespart werden, da die Durchführung einer auf Diagrammschnitten oder Graphenschnitten basierenden Segmentierung für die gesamte Punktwolke rechenintensiv sein kann und/oder möglicherweise nicht die erforderlichen Zeitvorgaben erfüllt.
  • Bei 306 kann das System unter Verwendung der Teilmenge der Scandaten ein Diagramm oder einen Graphen erstellen, das oder der Paare benachbarter Punkte in Scandaten durch Kanten der grafischen Darstellung identifiziert. Das Ziel dieses Schritts besteht darin, die Teilmenge der Scandaten in einen ungerichteten Graphen G = {N, E} umzuwandeln, wobei die Knoten N = {(x, y, z)i} alle gemessenen Punkte in 3D sind (d.h. entsprechend den Punkten in der Teilmenge der Punktwolkendaten) und die Kanten E = {(Ni, Nj)}, die die Knoten verbinden. Der Graph kann auch zwei imaginäre Knoten enthalten, die als Terminals bezeichnet werden und die Zuordnung von Punkten aus N zu zwei Mengen darstellen, die Bodenpunkte (S) oder Nichtbodenpunkte (T) darstellen. Terminals, die diesen Mengen entsprechen, werden als Quelle s und Senke t bezeichnet. In dieser Art von Diagramm wird jeder Kante ein nicht negatives Gewicht oder ein nicht negativer Kostenwert zugewiesen.
  • Das Diagramm bzw. der Graph kann durch Identifizieren des Raums oder Koordinatenbezugssystems, in dem die Scandatenpunkte enthalten sein werden, sowie durch einen Algorithmus zum Generieren des Diagramms bzw. Graphen erstellt werden. Beispiele für das Koordinatensystem können beispielsweise ein 2D-Koordinatensystem, ein 3D-Koordinatensystem, kontinuierliche XYZ-kartesische Koordinaten relativ zum Sensor, sphärische Koordinaten relativ zum Sensor (d.h. Azimut, Höhe, Entfernung), zylindrische Koordinatensysteme (d.h. Azimut, Z, Entfernung) relativ zum Sensor, ein horizontales Koordinatensystem relativ zum Sensor (kontinuierliche 2D-Koordinaten einschließlich Azimut und Höhe), Bereichsbild („Range Image“) (diskrete 2D-Koordinaten einschließlich Laser-ID und Auslösungsazimut), ein Fahrzeugkoordinatensystem oder dergleichen. Beispiele für Algorithmen zum Erstellen der Diagramme bzw. Graphen können unter anderem den K-Nearest-Neighbors-Algorithmus, Varianten des K-Nearest-Neighbors-Algorithmus (z.B. unter Berücksichtigung benachbarter Laserzahlen), einen Punkte-innerhalb-Distanz-Schwellenwertalgorithmus, einen variablen Abstandsschwellenwertalgorithmus, einen Delaunay-Triangulationsalgorithmus, Algorithmen zur Netzgenerierung (z.B. Marching Cubes), auf Octree-Datenstrukturen basierende Algorithmen, 4/8-verbundene Algorithmen für Bereichsbilder, 4/8-verbundene Algorithmen für Bereichsbilder mit zusätzlichen Spaltenverbindungen, 4/8-verbundene Algorithmen für Bereichsbilder mit dynamischen Azimutkanten usw. und/oder Kombinationen davon umfassen.
  • Ein Beispieldiagramm, das mit einem Gitterdiagramm-Generator und den kontinuierlichen kartesischen XYZ-Koordinaten relativ zum Sensor erstellt wurde, wobei jeder Punkt mit K=4 nächsten Nachbarn in Gitterform verbunden ist, ist in 5 dargestellt. In verschiedenen Ausführungsformen können 4- oder 8-Konnektivität in Betracht gezogen werden, andere Konnektivitäten liegen jedoch im Rahmen dieser Offenbarung. Optional kann in bestimmten Szenarien ein Nicht-Gitterdiagramm unter Verwendung des K-Algorithmus für den nächsten Nachbarn und der kontinuierlichen XYZ-Koordinaten relativ zum Sensor erstellt werden (d.h. ein Diagramm ähnlich dem Diagramm in 5, bei dem die Knoten zufällig verteilt sind). In einem Diagramm, das mit dem K-Nearest-Neighbors-Algorithmus erstellt wurde, sind nähere Punkte stärker verbunden (d.h. die Kosten des binären Energieterms für eine Meinungsverschiedenheit sind höher). Die Knoten des Diagramms können zunächst mit K nächsten Nachbarn verbunden werden, wobei jede Kante E, die zwei Knoten verbindet, basierend auf dem Abstand zwischen den Endpunkten (die Energie der binären Nichtübereinstimmung der Kanten ist umgekehrt proportional), dem Farbunterschied und der zurückgegebenen Intensität als Teil der Uneinigkeitsenergie, od. dgl., gewichtet werden kann. Kanten zwischen einem Punkt p ∈ {N} und zwei Terminals s und t können initialisiert werden und können eine Gewichtung aufweisen, die der Wahrscheinlichkeit entspricht, den Punkt einem Boden- oder einem Nicht-Boden-Satz zuzuordnen, basierend auf, in einigen Beispielen, bestimmten a priori bekannten Informationen (diskutiert weiter unten als paarweise Potenziale), bestimmten Annahmen (z.B. Ignorieren von LiDAR-Punkten, die mehr als einen Schwellenwertabstand vom Boden entfernt sind) oder anderen Merkmalen (z.B. Vergleich des Neigungsmerkmals mit der vertikalen Richtung im lokalen Bezugssystem). Beispielsweise kann die Wahrscheinlichkeit widerspiegeln, wie der Punkt zu einem bekannten Farbmodell passt.
  • Bei 308 können jedem der Knoten in der grafischen Darstellung unäre Potentiale für jede der möglichen Labelzuweisungen (d.h. Boden-Labelzuweisung und Nicht-Boden-Labelzuweisung) zugewiesen werden. Konkret kann das unäre Potential als das Potential des Knotens n mit der Bezeichnung L definiert werden. Der gesamte unäre Energieterm kann beispielsweise mithilfe der folgenden Gleichung definiert werden: U n ä r e E n e r g i e = w 1 n N D 1 n ( L n ) + w 2 n N D 2 n ( L n ) + + w 1 n N D 1 n ( L n ) .
    Figure DE112021006299T5_0006
  • Der unäre Energieterm ist die Summe über alle Knoten der Kosten Dn(Ln) für die Zuweisung eines Labels Ln zu einem gegebenen Punkt n. Dieser Begriff entspricht dem Erkennungsteil des Modells. In einer beispielhaften Zielfunktion, bei der das Ziel darin besteht, die Energie zu minimieren, ist dies ein Energieterm, den das Modell zu minimieren versucht. Jeder Dn(Ln) kann als Strafterm angesehen werden, die Kosten für die Zuweisung von Punkt n zur Label von Ln basierend auf einem gegebenen Merkmal Di. Im Folgenden werden verschiedene Verfahren zur Berechnung der unären Potentiale Dn(Ln) beschrieben.
  • Die unäre Energie kann eine Funktion eines oder mehrerer gewichteter Merkmale Di sein, wie etwa, ohne Einschränkung, eine Funktion folgender Grö-ßen: der Bodenhöhe, der relativen Höhe, von Farbmerkmalen, einer Entfernung vom Sensor, einer Unsicherheit der Sensorposition, einer Unsicherheit der Bodenhöhe, von semantischen Bezeichnungen, von Erkennungsmasken, einer Intensität, einer Lokalisierungs-Ausgabe, eines Streifwinkels, einer Oberflächennormalenkompatibilität, einer Höhe über dem Boden, einer Okklusionsprüfung, einer Bodenwahrscheinlichkeit pro Punkt, einer Netzkompatibilität, oder Ähnliches.
  • Die Gewichte wi für jedes Merkmal bei der Berechnung der unären Energie können manuell zugewiesen (d.h. vorher codiert) und/oder vom System automatisch gelernt werden und können verwendet werden, um die endgültige unäre Energie auf der Grundlage eines oder mehrerer der oben genannten Merkmale zu bestimmen. Insbesondere werden die Gewichte zugewiesen, um den relativen Einfluss verschiedener Merkmale auf die unäre Energie zu steuern. Darüber hinaus sind viele Merkmale voneinander abhängig (wie unten beschrieben), und die Gewichtungen können je nach Beziehung zwischen den Merkmalen variieren.
  • Reichweitenfeature: Bei dem Reichweitenfeature ist es weniger wahrscheinlich, dass der Sensor ein Echo erhält, wenn der Einfallswinkel zwischen dem Sensorstrahl (Strahl) und der Bodenoberfläche flacher wird. Das System geht möglicherweise von einer annähernd flachen Bodenebene aus, so dass eine längere Echoreichweite bedeutet, dass der Winkel zur Bodenoberfläche flacher sein sollte, was in einer Umgebung mit unebener Bodenoberfläche (z.B. Hügeln und Tälern) nicht der Fall ist. Um dieses Feature zu berücksichtigen, kann das System beispielsweise eine Funktion verwenden, die die unäre Energie für die Kennzeichnung eines Punkts als zum Boden gehörig in größerer Entfernung erhöht (d.h. mit zunehmender Reichweite), da es unwahrscheinlich ist, dass der Sensor von solchen Punkten ein Echo erhalten hätte, es sei denn, sie befänden sich senkrecht zum Sensor. Unterhalb eines bestimmten Schwellenwertbereichs hat die Reichweite jedoch keinen Einfluss auf die unäre Energie, um eine Verzerrung der Klassifizierung zu vermeiden. Es ist zu beachten, dass das System die Reichweitenfunktion (wie oben erläutert) auf der Grundlage der Annahme berücksichtigt, dass die Bodenoberfläche eben und das Fahrzeug nivelliert ist.
  • Relative-Reichweiten-Feature: Das System kann den Unterschied in der Reichweite zwischen benachbarten Punkten analysieren, um auf das Vorhandensein eines Vordergrundobjekts zu schließen. Der nähere Punkt zwischen benachbarten Punkten ist wahrscheinlich ein Vordergrundobjekt. Insbesondere große Diskontinuitäten zwischen Punkten, die mit demselben Laser gemessen werden, weisen auf das Vorhandensein eines Vordergrundobjekts hin. Bei größeren Entfernungen ist dies ein weniger effektiver Hinweis, da der Rückgabebereich umso empfindlicher auf die Kontur der Straße reagiert, je flacher der Winkel zwischen Messung und Oberfläche wird. Um dieses Feature zu berücksichtigen, kann das System beispielsweise eine Funktion verwenden, die die unäre Energie für die Kennzeichnung eines Punktes als zum Boden gehörig erhöht, wenn Entfernungsdiskontinuitäten erkannt werden (da eine Diskontinuität auf das Vorhandensein eines Nicht-Bodenobjekts hinweisen kann).
  • Die Posenunsicherheit kann unter Verwendung des oben in Schritt 304 besprochenen Features „Höhe über dem Boden“ analysiert werden, um ein Wahrscheinlichkeitsverhältnis dafür zu berechnen, dass ein Punkt dem Boden zugerechnet wird. Das System kann dem Punkt dann eine hohe oder niedrige unäre Energie zuweisen, je nachdem, ob der Punkt nicht bodenzugehörig bzw. bodenzugehörig ist.
  • Relatives Höhenfeature - Viele Objekte können nahezu vertikale Seiten haben. Wenn bei solchen Objekten ein Punkt über einem benachbarten gemessenen Punkt liegt, ist der höhere Punkt wahrscheinlich nicht bodenzugehörig. Dieses Feature ist besonders nützlich, da dieses weder Vorkenntnisse über die Karte noch eine absolute Lage relativ zur Karte erfordert und die Erhöhung ihrer Gewichtung das System robuster gegenüber Kartenfehlern macht. Bei großen Entfernungen ist das Feature jedoch möglicherweise nicht so effektiv, da die Scans so spärlich werden, dass Personen und Objekte in der Größe eines Autos normalerweise nur von einer einzigen Laserlinie getroffen werden.
  • Für zwei benachbarte Punkte (x und y) kann das System das relative Höhenfeature als Differenz der z-Höhe im lokalen Bezugssystem zueinander berechnen. Das System kann auch den horizontalen Abstand zwischen den Punkten berechnen. Das System kann dann für jeden Punkt (unter Berücksichtigung jedes Nachbarn) den Maximalwert über die Nachbarn wie folgt bestimmen: i n t e r m e d i a t e _ v a l = a b s ( d e l t a _ z ) / m a x ( d e l t a _ x y , m i n i m u m _ x y )
    Figure DE112021006299T5_0007
    Der minimum_xy-Wert ist so konfiguriert, dass eine „Division durch 0“ für direkt übereinander liegende Punkte vermieden wird. Darüber hinaus gilt für jeden Punkt: Ground _ Likelihood = clamp ( scaling * intermediate _ val ,  0 ,  1 )
    Figure DE112021006299T5_0008
    Ground_Likelihood wird berechnet, indem der Wert mit einem konfigurierbaren Skalierungsfaktor multipliziert wird und dann auf den Bereich 0 und 1 gebracht wird („clamping“). Punkten, bei denen es wahrscheinlich ist, dass sie bodenzugehörig sind, wird ein Term mit niedriger unärer Energie zugewiesen, und Punkten, bei denen es unwahrscheinlich ist, dass sie bodenzugehörig sind, wird ein Term mit hoher unärer Energie zugewiesen. NotGround _ Likelihood = 1 Ground _ Likelihood
    Figure DE112021006299T5_0009
  • In Situationen mit geringer Strahldichte sind zwei Punkte, die eine vertikale Kante bilden, aufgrund des Winkelabstands zwischen den Strahlen möglicherweise kein Zeichen dafür, dass der obere Punkt auf große Entfernungen nicht bodenzugehörig ist. Vielmehr kann die vertikale Kante ein Zeichen dafür sein, dass der untere Punkt ebenfalls nicht bodenzugehörig ist, da es aufgrund der spärlichen Entfernungsringe, die durch das Auftreffen des Strahls auf den Boden entstehen, unwahrscheinlich ist, dass sich das Objekt zufällig über Bodenpunkten befindet. Das System kann solche Punkte durch eine erste Gewichtung des Delta-Z-Werts in der obigen Berechnung für das Bereichsmerkmal berücksichtigen. Dabei ist z_a die z-Höhe des Punkts im lokalen Bezugssystem und z_b die Höhe des benachbarten Punkts im lokalen Bezugssystem. Daher kann das System für einen Bereich, der kleiner als ein minimaler Schwellenwertbereich (R1) ist, Folgendes bestimmen: delta _ z = ( z _ a z _ b )  für  ( z _ a a _ b > 0 ) ;  andernfalls  0,0 ;
    Figure DE112021006299T5_0010
    Für eine Reichweite, die größer als eine maximale Reichweitenschwelle (R2) ist, kann das System Folgendes bestimmen: delta _ z = ( z _ a z _ b ) ,  unabhängig vom Vorzeichen ;
    Figure DE112021006299T5_0011
    wobei für negative Werte von z_a - z_b im Bereich zwischen R1 und R2 die Gewichtung der unären Energie von 0.0 auf 1.0 erhöht werden kann.
  • Farbfunktionen: Durch die Projektion von LiDAR-Punkten in Kamerabilder kann das System zusätzliche von den Kameras gesammelte Informationen nutzen. Befahrbare Straßenbereiche, die typischerweise aus Asphalt und Beton bestehen, sind in Grautönen gehalten (ohne Berücksichtigung von Fahrbahnmarkierungen wie den doppelten gelben Linien). Das Vorhandensein heller, gesättigter Farben kann also auf das Vorhandensein eines Nicht-Straßenobjekts hinweisen. Und da die Wahrscheinlichkeit höher ist, dass niedrigere Farbsättigungspunkte von Asphalt oder Beton stammen und eher auf die Bodenoberfläche gefallen sind. Beispielsweise kann das System den Farbmerkmalen eine Funktion zuweisen, um die Bodenmarkierungsenergie für Punkte zu verringern, wenn die Farbsättigung abnimmt. Optional kann eine Farbe der Bodenoberfläche (z.B. Ziegelstraßen sind rot) in der Karte selbst als definierte Regel codiert werden, die Punkten, die eine rote Farbe haben, eine niedrige Energie zuweist, um zur Bodenklasse zu gehören.
  • Intensitätsmerkmale: Im Hinblick auf die LiDAR-Rückgabeintensität ist es wahrscheinlicher, dass eine niedrige Intensität gemahlen wird, da Asphalt ein geringes Reflexionsvermögen aufweist. Konkret wird die Rückstrahlintensität gemeinsam durch das Reflexionsvermögen des Materials sowie den Winkel zwischen dem Laser und der Oberflächennormalen bestimmt. Eine höhere Rückkehrintensität zeigt an, dass die Oberfläche heller ist oder dass der Winkel zwischen der Oberfläche und unserem Strahl näher an der Senkrechten liegt. Unter der Annahme, dass die Bodenoberfläche ein konstantes Reflexionsvermögen aufweist, kann das System aus der Rückstrahlintensität Erkenntnisse über den relativen Winkel gewinnen. Zum Beispiel, Das System kann den Intensitätsmerkmalen eine Funktion zuweisen, um die Bodenmarkierungsenergie für Punkte zu verringern, wenn die Intensität abnimmt.
  • Semantische Labeln: Aus Kamerabildern gewonnene semantische Labeln können als Merkmal verwendet werden. Kamerabilder können Pixel in den Bildern als Straße, Gehweg, Gelände, Vegetation, Autos, Fußgänger usw. klassifizieren. Durch die Projektion der LiDAR-Sweep-Punkte in Kamerabilder kann das System eine Klassenbezeichnung pro Punkt erhalten. Den Punkten, die den Stra-ßen-, Gehweg-, Gelände- und anderen Bodentypklassen zu entsprechen scheinen, kann eine niedrige Energie für die Zugehörigkeit zur Bodenklasse zugewiesen werden, während Punkten, die scheinbar zu Nicht-Boden-Semantikklassen gehören, eine hohe Bodenenergie zugewiesen werden kann (und eine geringe Nicht-Bodenenergie).
  • Erkennungsmasken: Wenn ein Punkt in ein Kamerabild innerhalb einer Erkennungsmaske projiziert wird, ist es unwahrscheinlich, dass er bodenzugehörig eingeschätzt wird (außer bei Parallaxen- und Bewegungseffekten), und das System weist möglicherweise entsprechende Gewichtungen zu.
  • Streifwinkel: Die Wahrscheinlichkeit einer Rückkehr von einer Oberfläche nimmt ab, je flacher der Winkel zwischen dem Laserstrahl und der Oberfläche wird. Insbesondere unter der Annahme, dass ein Punkt die Bodenoberfläche getroffen hat (d.h. es wurde eine Rückmeldung empfangen), kann das System eine vorherige Karte und die Position des Fahrzeugs in der Karte verwenden, um den Einfallswinkel des Strahls abzuschätzen. Das System kann dann basierend auf dem Einfallswinkel eine Wahrscheinlichkeit für den Empfang eines Echos von der Bodenoberfläche berechnen. Bei großen Entfernungen verringert sich die Wahrscheinlichkeit, einen Treffer zu erzielen, wenn der Winkel flacher wird. Es wurde jedoch davon ausgegangen, dass eine Rückmeldung empfangen wurde, was bedeutet, dass der Punkt wahrscheinlich nicht bodenzugehörig ist (und ihm eine höhere unäre Energie zugewiesen werden sollte). Diese Funktion ermöglicht die Verwendung von Karteninformationen, um die Bestimmung robust gegenüber Hügeln und Tälern zu machen (Hügel ändern den Einfallswinkel, was dazu führt, dass die Entfernungsfunktion falsch positiv ist, wenn ein Hügel aus großer Entfernung betrachtet wird).
  • Oberflächennormalkompatibilität: Diese Funktion ist ein Vergleich der Punktoberflächennormalen mit dem, was die Bodenoberfläche an einem bestimmten Ort sein sollte. Mit dieser Funktion kann beispielsweise überprüft werden, ob die Flächennormale in die vertikale Richtung zeigt. Eine Oberflächennormale, die in die vertikale Richtung zeigt, weist darauf hin, dass die Oberfläche wahrscheinlich bodenzugehörig ist (oder umgekehrt), und der entsprechende unäre Energieterm kann entsprechend verringert/erhöht werden. Optional kann das Oberflächennormalenmerkmal die Oberflächennormale mit dem erwarteten Oberflächennormalwert vergleichen, der in der Karte gespeichert ist (anstelle einer angenommenen vertikalen Richtung).
  • Okklusionsprüfung: Mit dieser Funktion wird überprüft, ob der Sensor eine Sichtlinie zu einem Punkt hat, von dem angenommen wird, dass er sich auf dem Boden befindet. Dies kann über große Entfernungen anfällig für Krümmungen sein und das Gewicht kann entsprechend angepasst werden.
  • Lokalisierungsausgabe: Um das Fahrzeug zu lokalisieren, registriert ein Lokalisierungssystem den LiDAR-Sweep mit der Lokalisierungsvorstufe (basierend auf Karteninformationen), bei der es sich um eine Punktwolke handelt, die die stationären Teile der Umgebung wie Gebäude, Wände, Straßen usw. darstellt. Dieser Registrierungsschritt richtet den LiDAR-Sweep an diesem Punktwolkenmodell aus, das die stationären Teile der Umgebung darstellt. Allerdings stimmen möglicherweise nicht alle Punkte im Sweep mit der Karte überein. Beispielsweise kann ein Punkt auf einem Fahrzeug ein Ausreißer sein, wenn die Karte keine Fahrzeuge enthält, und das System kann diesen Punkt als Teil der Bodensegmentierung verwenden. Es ist sehr unwahrscheinlich, dass Punkte, die Ausreißer sind, zum Boden gehören und ihnen kann ein Term mit hoher unärer Energie zugewiesen werden (oder umgekehrt).
  • Bodenwahrscheinlichkeit pro Punkt: Die oben beschriebene Funktion „unsichere Höhe über dem Boden“ berücksichtigt Posenfehler möglicherweise nicht vollständig. Wenn sich beispielsweise die Pose des Fahrzeugs ändert, kann sich auch die Zelle in der Karte ändern, in die der LiDAR-Punkt projiziert wird. In solchen Situationen berechnet das System möglicherweise nicht eine Bodenwahrscheinlichkeit basierend auf der Annahme der Zelle in der Karte, in die der Punkt projiziert wird, sondern die Erwartung über verschiedene Zellen, die der Punkt projizieren könnte hinein. Das System kann dann die Bestimmung der unsicheren Höhe über dem Boden durchführen, wie oben beschrieben, und den unären Energieterm entsprechend anpassen.
  • Netzkompatibilität: Diese Funktion nutzt eine netzbasierte Kartenrekonstruktion und verwendet dann die mithilfe der netzbasierten Karte ermittelte Höhe über dem Boden sowie die Oberflächennormale, um die Wahrscheinlichkeit zu bestimmen, dass sich ein Punkt auf dem Boden befindet.
  • Bei 310 werden jedem der benachbarten Knotenpaare in der grafischen Darstellung paarweise Potentiale für das Labelpaar (d.h. Boden- und Nicht-Boden-Labels) zugewiesen.
  • Der binäre Energieterm drückt die Summe aller Nachbarn (n, m) der Kosten für die Zuweisung eines Labelpaars (Ln, Lm) zu den Nachbarn (n, m) aus.
    Binäre Energie = n , m N V n , m ( L n , L m )
    Figure DE112021006299T5_0012
  • Hier ist das paarweise Potenzial Vn,m(Ln, Lm) für zwei Punkte oder Knoten (n, m) der Aufwand für die Zuweisung eines Label-Paares Ln, Lm an Nachbarn (n, m). Dieser Begriff ist für die Regularisierung im Modell verantwortlich: Benachbarte Pixel werden dazu ermutigt, die gleiche Label zu verwenden (wodurch Rauschen bei der Labelzuweisung vermieden wird). Wenn also beispielsweise die möglichen Labelzuweisungen binär sind (d.h. Boden und Nicht-Boden), fördert der binäre Energiebegriff die Bezeichnungspaare (Boden, Boden) und (Nicht-Boden, Nicht-Boden) und entmutigt die Bezeichnung (verhindert sie jedoch nicht). Paare (Boden, Nicht-Boden) und (Nicht-Boden, Boden), d.h. weist niedrigere Kosten zu, wenn die Labelzuweisungen übereinstimmen.
  • Allerdings ist dieser Begriff auch dafür verantwortlich, die Segmentierung an den Objektgrenzen auszurichten, wo es wünschenswerterweise zu einem deutlichen Wechsel von einem Label zum anderen kommt, d.h. die Labels benachbarter Punkte können an der Stelle, an der eine Region in eine andere wechselt, unterschiedlich sein. Um beide Eigenschaften sicherzustellen, kann in bestimmten Implementierungen ein Potts-Modell als paarweise Funktion verwendet werden. Ein Potts-Modell ist eine Verallgemeinerung des Ising-Modells. Es bestraft nicht nur benachbarte Punkte, die sich hinsichtlich ihrer Bezeichnungen nicht einig sind (wie im Ising-Modell), sondern die Strafbedingungen hängen von der Größe des Unterschieds in den Beobachtungen ab. Je größer der Punktunterschied, desto geringer die Strafe. Dadurch werden die Einschränkungen neben Bild-/Punktwolkenkonturen verringert. Es erzeugt eine regulierte Segmentierung, wobei die Regionsgrenzen den Konturen folgen. Andere ähnliche Modelle liegen im Rahmen dieser Offenbarung, wie zum Beispiel ein Punktdifferenzterm, bei dem die binäre Energie anhand der Entfernung zwischen den Punkten skaliert.
  • Die paarweisen Potenziale basieren auf Merkmalen wie, ohne Einschränkung, Punkt-LiDAR-Intensitätsähnlichkeit zwischen benachbarten Knoten, Punktfarbähnlichkeit, Abstandsähnlichkeit, relativem Winkel, Bildfarbkontinuität oder Ähnlichem. Beispielsweise kann das Potts-Modell so modifiziert werden, dass die Energie für Meinungsverschiedenheiten geringer ist, wenn der Abstand zwischen Punkten zunimmt, der Farbunterschied zwischen Punkten zunimmt und/oder der Unterschied in der LiDAR-Intensität zwischen den Punkten zunimmt. In Bezug auf den relativen Winkel gilt: Je näher die Punkte an der Vertikalen voneinander liegen (d.h., wenn ein Punkt über einem anderen liegt, könnte dies die Grenze zwischen Boden und Nicht-Boden anzeigen), desto geringer sind die Kosten für Unstimmigkeiten zwischen den Punktbezeichnungen. Optional kann eine solche relative Winkelfunktion eine gewisse Gewichtung anhand des absoluten Abstands zwischen den Punkten erfordern, sodass kurze Diskontinuitäten (z.B. < 1 cm) immer noch in derselben Labelenklasse liegen sollten. Für das Normalmerkmal kann das System ein Skalarprodukt zwischen den geschätzten Oberflächennormalen zweier Punkte berechnen. Und je ähnlicher die Oberflächennormalen einander sind, desto größer ist die Meinungsverschiedenheit bei der Zuweisung verschiedener Klassen. Im Hinblick auf die Farbkontinuität des Bildes kann das System die Farbe des Pixels nehmen, in das jeder LiDAR-Punkt am Rand projiziert wird, und dann den Unterschied im Farbwert als Maß für die Ähnlichkeit berechnen (was mit zunehmender Ähnlichkeit die Kosten für Unstimmigkeiten erhöht). Optional kann das System jeden LiDAR-Punkt in einer Kante auf Bildkoordinaten projizieren und nach einem Pfad zwischen ihnen suchen, sodass die binären Energiekosten die Summe der quadrierten Farbunterschiede zwischen Pixeln im Pfad sein können. Mit dieser Funktion kann das System die von Kameras bereitgestellten dichten Daten nutzen, um zu bestimmen, ob zwei LiDAR-Punkte gruppiert werden sollten, und dies ist besonders bei großen Entfernungen nützlich, wo der Abstand zwischen Punkten die Nachbarschaft weniger nützlich macht.
  • So funktioniert die paarweise Funktion beispielsweise so, dass für ein erstes Paar von Knoten, deren Labels unterschiedlich sind und einen ersten Unterschied zwischen den beobachteten Merkmalswerten aufweisen, das paarweise Potenzial höher sein wird als für ein zweites Paar von Knoten, deren Labels unterschiedlich sind, aber die einen geringeren Unterschied zwischen den beobachteten Merkmalswerten aufweisen.
  • Bei 312 wird eine Energiefunktion optimiert, wobei die Energiefunktion die unären Potentiale (unäre Energie) und die paarweisen Potentiale (binäre Energie) aggregiert. Insbesondere ist die Energiefunktion eine optional gewichtete Kombination der unären und paarweisen Potentiale, die optimiert, z.B. über den Satz möglicher Labelauszeichnungen, minimiert wird, beispielsweise unter Verwendung grafischer Modelle (z.B. Graph-Cut-Verfahren). Bei der Optimierung kann das System eine exakte oder eine Näherungslösung für das Energiefunktionsoptimierungsproblem liefern. Der Graphenschnitt ist ein s-t-Schnitt (im Graphen von 5), der eine Teilmenge von Kanten darstellt, bei denen die Terminals S und T im induzierten Graphen vollständig getrennt werden. Wie in 6 dargestellt, entspricht jeder Schnitt einer binären Aufteilung einer zugrunde liegenden Punktwolke in „Boden“- und „Nicht-Boden“-Segmente. Zum Beispiel ist in 6 eine mögliche Segmentierungslinie durch den in 4 gezeigten Graphen gezogen, was die bodenzugehörigen und nicht bodenzugehörigen Punkte mithilfe der Energiefunktion segmentiert. Das Ziel besteht darin, den besten Schnitt zu berechnen, der eine „optimale“ Segmentierung ergibt.
  • Bei 314 werden die Punktbezeichnungen ausgegeben, die der optimierten Energiefunktion entsprechen. Beispielsweise kann den Punkten in der Punktwolke, die mithilfe der Energiefunktion als Boden gekennzeichnet sind, eine erste Farbe zugewiesen werden, und den Punkten in der Punktwolke, die mithilfe der Energiefunktion als Nicht-Boden gekennzeichnet werden, kann in einer visuellen Darstellung eine zweite Farbe zugewiesen werden. Optional können die Regionen in einer visuellen Anzeige als bodenzugehörig oder nicht bodenzugehörig gekennzeichnet werden. Alternativ und/oder zusätzlich kann die Bodensegmentierung in einer visuellen Anzeige als Pixelfarben ausgegeben werden, die auf ein Entfernungsbild angewendet werden.
  • Die oben beschriebene Bodensegmentierung kann verwendet werden, um die Bodenpunkte herauszufiltern, und die Punktwolkendaten können segmentiert werden, um zu versuchen, die verschiedenen Objekte in den Punktwolkendaten zu finden / zu klassifizieren / zu trennen. Die ausgewählten und klassifizierten Objekte können zur Steuerung der Navigation eines autonomen Fahrzeugs verwendet werden. Beispielsweise kann das autonome Fahrzeug gesteuert werden, um eine Kollision mit einem oder mehreren erkannten Objekten zu vermeiden. Aufgrund der großen Größe und Dichte lasergescannter Punkte aus einer städtischen Umgebung wird während des Segmentierungsprozesses viel Speicher verbraucht; und die Entfernung von Bodenpunkten reduziert die erforderlichen Verarbeitungszeiten, den Speicher und andere Rechenressourcen.
  • 7 zeigt ein Beispiel für interne Hardware, die in einer der elektronischen Komponenten des Systems enthalten sein kann, wie etwa interne Verarbeitungssysteme des AV, externe Überwachungs- und Berichtssysteme oder Remote-Server. Ein elektrischer Bus 700 dient als Informationsautobahn, die die anderen dargestellten Komponenten der Hardware miteinander verbindet. Der Prozessor 705 ist ein zentrales Verarbeitungsgerät des Systems, das für die Durchführung von Berechnungen und logischen Operationen konfiguriert ist, die zum Ausführen von Programmieranweisungen erforderlich sind. Wie in diesem Dokument und in den Ansprüchen verwendet, können sich die Begriffe „Prozessor“ und „Verarbeitungsgerät“ auf einen einzelnen Prozessor oder eine beliebige Anzahl von Prozessoren in einer Gruppe von Prozessoren beziehen, die gemeinsam eine Reihe von Vorgängen ausführen, beispielsweise eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Remote-Server oder eine Kombination davon. Beispiele für Speichergeräte sind Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), Flash-Speicher, Festplatten und andere Geräte, die elektronische Daten speichern können. Ein Speichergerät kann ein einzelnes Gerät oder eine Sammlung von Geräten umfassen, über die Daten und/oder Anweisungen werden gespeichert. Verschiedene Ausführungsformen der Erfindung können ein computerlesbares Medium umfassen, das Programmieranweisungen enthält, die so konfiguriert sind, dass sie einen oder mehrere Prozessoren und/oder Computergeräte dazu veranlassen, die im Kontext der vorherigen Figuren beschriebenen Funktionen auszuführen.
  • Eine optionale Anzeigeschnittstelle 730 kann die Anzeige von Informationen vom Bus 700 auf einem Anzeigegerät 735 im visuellen, grafischen oder alphanumerischen Format ermöglichen, beispielsweise auf einem Anzeigesystem im Armaturenbrett des Fahrzeugs. Es können auch eine Audioschnittstelle und ein Audioausgang (z.B. ein Lautsprecher) vorhanden sein. Die Kommunikation mit externen Geräten kann über verschiedene Kommunikationsgeräte 740 erfolgen, wie etwa eine drahtlose Antenne, ein RFID-Tag (Radio Frequency Identification) und/oder einen Nahbereichs- oder Nahfeld-Kommunikations-Transceiver, von denen jedes optional mit anderen Komponenten des Geräts über ein oder mehrere Kommunikationssysteme kommunizieren kann. Das/die Kommunikationsgerät(e) 740 kann/können für eine kommunikative Verbindung mit einem Kommunikationsnetzwerk wie dem Internet, einem lokalen Netzwerk oder einem Mobilfunkdatennetzwerk konfiguriert sein.
  • Die Hardware kann auch einen Benutzerschnittstellensensor 745 umfassen, der den Empfang von Daten von Eingabegeräten 750 wie einer Tastatur oder einem Tastenfeld, einem Joystick, einem Touchscreen, einem Touchpad, einer Fernbedienung, einem Zeigegerät und/oder einem Mikrofon ermöglicht. Digitale Einzelbilder können auch von einer Kamera 720 empfangen werden, die Videos und/oder Standbilder aufnehmen kann. Das System kann auch Daten von einem Bewegungs- und/oder Positionssensor 770 empfangen, beispielsweise einem Beschleunigungsmesser, einem Gyroskop oder einer Trägheitsmesseinheit. Das System kann auch Daten von einem LiDAR-System 760 empfangen, wie beispielsweise dem zuvor in diesem Dokument beschriebenen.
  • Die oben offenbarten Merkmale und Funktionen sowie Alternativen können in vielen anderen unterschiedlichen Systemen oder Anwendungen kombiniert werden. Verschiedene Komponenten können in Hardware oder Software oder eingebetteter Software implementiert sein. Verschiedene derzeit unvorhergesehene oder unvorweggenommene Alternativen, Modifikationen, Variationen oder Verbesserungen können von Fachleuten auf dem Gebiet vorgenommen werden, die jeweils auch von den offenbarten Ausführungsformen umfasst sein sollen.
  • Zu den für die oben bereitgestellte Offenlegung relevanten Begriffen gehören:
  • Ein „automatisiertes Gerät“ oder „Robotergerät“ bezieht sich auf ein elektronisches Gerät, das einen Prozessor, Programmieranweisungen und eine oder mehrere physische Hardwarekomponenten umfasst, die sich als Reaktion auf Befehle des Prozessors mit minimalem oder keinem menschlichen Eingriff bewegen können. Durch eine solche Bewegung kann ein Robotergerät eine oder mehrere automatische Funktionen oder Funktionssätze ausführen. Beispiele für solche Vorgänge, Funktionen oder Aufgaben können ohne Einschränkung das Bedienen von Rädern oder Propellern zum Bewirken von Fahr-, Flug- oder anderen Transportvorgängen, das Bedienen von Roboterliften zum Be- und Entladen, für medizinische Prozesse, baubezogene Prozesse und/oder ähnliches umfassen. Zu den Beispielen automatisierter Geräte können unter anderem autonome Fahrzeuge, Drohnen und andere autonome Robotergeräte gehören.
  • Der Begriff „Fahrzeug“ bezieht sich auf jedes bewegliche Fortbewegungsmittel, das einen oder mehrere menschliche Insassen und/oder Fracht befördern kann und durch irgendeine Form von Energie angetrieben wird. Der Begriff „Fahrzeug“ umfasst unter anderem Autos, Lastwagen, Transporter, Züge, autonome Fahrzeuge, Flugzeuge, Flugdrohnen und dergleichen. Ein „autonomes Fahrzeug“ ist ein Fahrzeug mit einem Prozessor, Programmieranweisungen und Antriebsstrangkomponenten, die vom Prozessor gesteuert werden können, ohne dass ein menschlicher Bediener erforderlich ist. Ein autonomes Fahrzeug kann insofern vollständig autonom sein, als es für die meisten oder alle Fahrbedingungen und -funktionen keinen menschlichen Bediener benötigt, oder es kann insofern teilautonom sein, als unter bestimmten Bedingungen oder für bestimmte Vorgänge ein menschlicher Bediener erforderlich ist, oder so Ein menschlicher Bediener kann das autonome System des Fahrzeugs außer Kraft setzen und die Kontrolle über das Fahrzeug übernehmen. Zu den autonomen Fahrzeugen zählen auch Fahrzeuge, in denen autonome Systeme den menschlichen Betrieb des Fahrzeugs unterstützen, beispielsweise Fahrzeuge mit fahrerunterstützter Lenkung, Geschwindigkeitsregelung, Bremsen, Parken und anderen Systemen.
  • Wie in diesem Dokument verwendet, bedeutet der Begriff „Licht“ elektromagnetische Strahlung, die mit optischen Frequenzen verbunden ist, z.B. ultraviolette, sichtbare, infrarote und Terahertz-Strahlung. Beispiele für Lichtemitter sind Laseremitter und andere Emitter, die konvergentes Licht emittieren. In diesem Dokument bezieht sich der Begriff „Emitter“ auf einen Lichtsender, beispielsweise einen Lasersender, der Infrarotlicht aussendet.
  • Ein „elektronisches Gerät“ oder ein „Computergerät“ bezieht sich auf ein Gerät, das einen Prozessor und einen Speicher enthält. Jedes Gerät verfügt möglicherweise über einen eigenen Prozessor und/oder Speicher, oder der Prozessor und/oder Speicher kann mit anderen Geräten in Konflikt stehen, wie in einer virtuellen Maschine oder Containeranordnung. Der Speicher enthält oder empfängt Programmieranweisungen, die bei Ausführung durch den Prozessor dazu führen, dass das elektronische Gerät einen oder mehrere Vorgänge gemäß den Programmieranweisungen ausführt.
  • Die Begriffe „Speicher“, „Speichergerät“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen beziehen sich jeweils auf ein nichtflüchtiges Gerät, auf dem computerlesbare Daten, Programmieranweisungen oder beides gespeichert sind. Sofern nicht ausdrücklich anders angegeben, sollen die Begriffe „Speicher“, „Speichergerät“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen Ausführungsformen mit einem einzelnen Gerät umfassen, Ausführungsformen, in denen mehrere Speichergeräte zusammen oder gemeinsam einen Satz von Daten oder Anweisungen speichern sowie einzelne Sektoren innerhalb solcher Geräte.
  • Die Begriffe „Prozessor“ und „Verarbeitungsgerät“ beziehen sich auf eine Hardwarekomponente eines elektronischen Geräts, die zur Ausführung von Programmieranweisungen konfiguriert ist. Sofern nicht ausdrücklich etwas anderes angegeben ist, ist der singuläre Begriff „Prozessor“ oder „Verarbeitungsgerät“. soll sowohl Ausführungsformen mit einem einzigen Verarbeitungsgerät als auch Ausführungsformen umfassen, bei denen mehrere Verarbeitungsgeräte zusammen oder gemeinsam einen Prozess durchführen.
  • In diesem Dokument bezeichnen die Begriffe „Kommunikationsverbindung“ und „Kommunikationspfad“ einen drahtgebundenen oder drahtlosen Pfad, über den ein erstes Gerät Kommunikationssignale an ein oder mehrere andere Geräte sendet und/oder Kommunikationssignale von diesen empfängt. Geräte sind „kommunikativ verbunden“, wenn die Geräte über eine Kommunikationsverbindung Daten senden und/oder empfangen können. „Elektronische Kommunikation“ bezieht sich auf die Übertragung von Daten über ein oder mehrere Signale zwischen zwei oder mehreren elektronischen Geräten, sei es über ein drahtgebundenes oder drahtloses Netzwerk und sei es direkt oder indirekt über ein oder mehrere zwischengeschaltete Geräte.
  • Der Begriff „Klassifikator“ bezeichnet einen automatisierten Prozess, durch den ein System der künstlichen Intelligenz einem oder mehreren Datenpunkten eine Bezeichnung oder Kategorie zuweisen kann. Ein Klassifikator umfasst einen Algorithmus, der über einen automatisierten Prozess wie maschinelles Lernen trainiert wird. Ein Klassifikator beginnt normalerweise mit einem Satz gekennzeichneter oder unbeschrifteter Trainingsdaten und wendet einen oder mehrere Algorithmen an, um ein oder mehrere Merkmale und/oder Muster in Daten zu erkennen, die verschiedenen Bezeichnungen oder Klassen entsprechen. Zu den Algorithmen können unter anderem einfache Algorithmen, wie Entscheidungsbäume, komplexe Algorithmen, wie die Naive-Bayes-Klassifizierung und/oder Zwischenalgorithmen, wie die K-Nearest-Neighbors gehören. Zu den Klassifikatoren können künstliche neuronale Netze (ANNs), Support-Vector-Machine-Klassifikatoren und/oder eine Vielzahl unterschiedlicher Klassifikatortypen gehören. Nach dem Training kann der Klassifikator dann neue Datenpunkte mithilfe der Wissensbasis klassifizieren, die er während des Trainings gelernt hat. Der Trainingsprozess eines Klassifikators kann sich im Laufe der Zeit weiterentwickeln, da Klassifikatoren regelmäßig anhand aktualisierter Daten trainiert werden und aus der Bereitstellung von Informationen über Daten lernen können, die sie möglicherweise falsch klassifiziert haben. Ein Klassifikator wird von einem Prozessor implementiert, der Programmieranweisungen ausführt, und kann mit großen Datensätzen, wie Bilddaten, LiDAR-Systemdaten und/oder anderen Daten arbeiten.
  • Ein „Modell“ bezieht sich auf eine Reihe algorithmischer Routinen und Parameter, die die Ergebnisse eines Prozesses in der realen Welt vorhersagen können (z.B. die Vorhersage einer Objektbahn, eine Diagnose oder Behandlung eines Patienten, eine geeignete Empfehlung auf der Grundlage einer Benutzersuchabfrage usw.) basierend auf einer Reihe von Eingabefunktionen, ohne explizit programmiert zu werden. Eine Struktur der Softwareroutinen (z.B. Anzahl der Unterroutinen und Beziehung zwischen ihnen) und/oder die Werte der Parameter können in einem Trainingsprozess bestimmt werden, der tatsächliche Ergebnisse des realen Prozesses verwenden kann, der modelliert wird. Es wird davon ausgegangen, dass solche Systeme oder Modelle notwendigerweise in der Computertechnologie verwurzelt sind und tatsächlich ohne Computertechnologie weder implementiert noch existieren können. Während maschinelle Lernsysteme verschiedene Arten statistischer Analysen nutzen, unterscheiden sich maschinelle Lernsysteme von statistischen Analysen dadurch, dass sie ohne explizite Programmierung lernen können und auf Computertechnologie basieren.
  • Wie hierin verwendet, beziehen sich die Begriffe „Segmentation“, „Segmentierung“ und ihre Ableitungen zusätzlich zu ihrer gewöhnlichen Bedeutung auf den Prozess der Auswahl oder anderweitigen Definition einer Teilmenge einer Punktwolke/eines Bilds, die ein „Segment“ der Gesamtpunktwolke//des Bilds bildet. Das Ergebnis eines Segmentierungsprozesses kann die Generierung einer Grenze, einer Abgrenzung, einer Liste von Pixeln/Voxeln, eines Umrisses, eines Bildfragments, eines Punktwolkenfragments, einer hervorgehobenen Region oder anderer geeigneter Daten umfassen, die zur Unterscheidung der Teile des Bilds/der Punktwolke, die ausgewählt wurden (auch Zieldaten und/oder Zielregion genannt) von den nicht ausgewählten Bildteilen verwendet werden. Beispielsweise kann das Segmentieren einer Punktwolke/eines Bilds in bestimmten Ausführungsformen dazu führen, dass ein Teil der Punktwolke/des Bilds in eine Zwischenablage oder einen anderen Cache kopiert wird, von der bzw. dem aus weitere Vorgänge ausgeführt werden können. In anderen Ausführungsformen kann das Segmentieren einer Punktwolke/eines Bilds dazu führen, dass ein Rand um einen Teil der Punktwolke/des Bilds gezogen wird, der das Ziel der Segmentierung ist. Die segmentierten Teile der Punktwolke/des Bildes können segmentiert sein oder auch nicht zusammenhängend und können integrierte „Löcher“ enthalten, die nicht ausgewählt werden, und/oder „Inseln", die trotz einer solchen Trennung ausgewählt werden.
  • In diesem Dokument sind die Begriffe „Optimierung“, „Minimierung“ und ähnliche Ausdrücke so weit auszulegen, wie ein Durchschnittsfachmann diese Begriffe verstehen würde. Diese Begriffe sind beispielsweise nicht so auszulegen, dass sie auf den absoluten globalen Optimalwert, das absolute globale Minimum usw. beschränkt sind. Beispielsweise kann bei der Minimierung einer Funktion ein iterativer Minimierungsalgorithmus eingesetzt werden, der bei einem Stoppkriterium endet, bevor ein absolutes Minimum erreicht wird. Es ist auch vorgesehen, dass der optimale oder minimale Wert ein lokaler optimaler oder lokaler minimaler Wert ist.
  • Wenn in diesem Dokument relative Ordnungsbegriffe wie „erster“ und „zweiter“ verwendet werden, um ein Substantiv zu modifizieren, dient diese Verwendung lediglich dazu, ein Element von einem anderen zu unterscheiden, und ist nicht dazu gedacht, eine sequentielle Reihenfolge zu implizieren, sofern nicht ausdrücklich angegeben.
  • Darüber hinaus sollen Begriffe der relativen Position wie „vertikal“ und „horizontal“ oder „vorne“ und „hinten“, wenn sie verwendet werden, relativ zueinander verstanden werden und müssen nicht absolut sein und beziehen sich nur auf eine mögliche Position des Geräts, das mit diesen Begriffen verknüpft ist, abhängig von der Ausrichtung des Geräts. Wenn in diesem Dokument die Begriffe „vorne“, „hinten“ und „seitlich“ verwendet werden, um sich auf einen Bereich eines Fahrzeugs zu beziehen, beziehen sie sich auf Bereiche des Fahrzeugs in Bezug auf den Standardfahrbereich des Fahrzeugs. Beispielsweise ist eine „Vorderseite“ eines Automobils ein Bereich, der näher an den Scheinwerfern des Fahrzeugs als an den Rücklichtern des Fahrzeugs liegt, während das „Heck“ eines Automobils ein Bereich ist, der näher an den Rücklichtern des Fahrzeugs liegt als an den Frontscheinwerfern des Fahrzeugs. Darüber hinaus sind die Begriffe „vorne“ und „hinten“ nicht unbedingt auf nach vorne oder nach hinten gerichtete Bereiche beschränkt, sondern umfassen auch Seitenbereiche, die näher an der Vorderseite als an der Rückseite liegen, bzw. umgekehrt. Mit „Seiten“ eines Fahrzeugs sind seitlich zugewandte Abschnitte gemeint, die sich zwischen dem vordersten und dem hintersten Teil des Fahrzeugs befinden.
  • 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 17/111899 [0001]

Claims (41)

  1. Verfahren zum Segmentieren von Scandaten, wobei das Verfahren - durch einen Prozessor - Folgendes umfasst: Empfangen von Scandaten, die eine Vielzahl von Punkten in einer Umgebung darstellen, die mit einem Boden und einem oder mehreren Objekten assoziiert sind; Erstellen eines Diagramms aus den Scandaten, wobei das Diagramm mehrere Knoten umfasst, die den mehreren Punkten in der Umgebung entsprechen; Zuweisen eines unären Potentials zu jedem der mehreren Knoten, das den Kosten für die Zuweisung eines Boden-Labels oder eines Nicht-Boden-Labels an diesen Knoten entspricht; Zuweisen eines paarweisen Potenzials zu jedem Paar benachbarter Knoten im Diagramm, wobei das paarweise Potenzial einem Aufwand für die Zuweisung unterschiedlicher Labels an benachbarte Knoten entspricht; und Verwenden der unären Potentiale und der paarweisen Potentiale, um Labels für jeden der mehreren Punkte zu identifizieren; und Segmentieren der Scandaten auf der Grundlage der identifizierten Labels, um mit dem Boden assoziierte Punkte zu identifizieren.
  2. Verfahren nach Anspruch 1, ferner umfassend: Verwerfen der identifizierten Punkte, die mit dem Boden assoziiert sind; und Verwenden der nicht verworfenen Punkte in der Vielzahl von Punkten, um das eine oder die mehreren Objekte zu identifizieren.
  3. Verfahren nach Anspruch 2, das ferner die Verwendung der Identifikationen des einen oder der mehreren Objekte zum Navigieren eines autonomen Fahrzeugs in der Umgebung umfasst.
  4. Verfahren nach Anspruch 1, ferner umfassend: Vorverarbeiten der Scandaten, um eine Teilmenge der Vielzahl von Punkten zu identifizieren, die wahrscheinlich mit dem Boden assoziiert sind; und Verwenden nur der identifizierten Teilmenge von Punkten zum Erstellen des Diagramms.
  5. Verfahren nach Anspruch 4, wobei das Vorverarbeiten der Scandaten zum Identifizieren der Teilmenge der Vielzahl von Punkten Folgendes umfasst: Umwandeln der Scandaten in ein Referenzbezugssystem einer Karte, die der Umgebung entspricht; und aus der Vielzahl von Punkten Identifizieren eines Punkts oder mehrerer Punkte, die auf der Karte innerhalb einer Schwellenentfernung von einer Bodenoberfläche liegen.
  6. Verfahren nach Anspruch 1, wobei das Erstellen des Diagramms das Erstellen des Diagramms umfasst, sodass es mehrere Kanten enthält, die die mehreren Knoten verbinden.
  7. Verfahren nach Anspruch 6, wobei das Erstellen des Diagramms die Verwendung mindestens eines der folgenden Verfahren umfasst: eines K-Nearest-Neighbors-Algorithmus, sodass jede der mehreren Kanten ein entsprechendes Gewicht erhält, oder eines Gittergraphen-Erzeugers / Grid Graph Builders.
  8. Verfahren nach Anspruch 6, wobei das Diagramm weiterhin zwei Endknoten umfasst, die mit dem Boden-Label und dem Nicht-Boden-Label assoziiert sind.
  9. Verfahren nach Anspruch 1, wobei die Verwendung der unären Potentiale und der paarweisen Potentiale zum Identifizieren von Labels für jeden der mehreren Punkte Folgendes umfasst: Bestimmen einer unären Energiefunktion als Summe über die unären Potentiale aller der mehreren Knoten; und Bestimmen einer binären Energiefunktion unter Verwendung der mehreren paarweisen Potentiale als Summe über alle benachbarten Knoten der mehreren Knoten gemäß den Kosten für die Zuweisung eines Paares von Boden-Kennzeichnungen bzw. eines Paares von Nicht-Boden-Kennzeichnungen zu jedem Paar benachbarter Knoten.
  10. Verfahren nach Anspruch 9, wobei die unäre Energie eine Funktion eines oder mehrerer gewichteter Merkmale ist, die jedem der mehreren Knoten zugeordnet sind und aus mindestens einem der Folgenden ausgewählt werden: Bodenhöhe; relative Höhe; Farbe; Bereich; Sensor-Posenunsicherheit; Bodenhöhenunsicherheit; semantische Label; Erkennungsmasken; Intensität; Lokalisierungsausgabe; Streifwinkel; Normalen-Oberflächenverträglichkeit; Höhe über dem Boden; Okklusionsprüfung; Bodenwahrscheinlichkeit pro Punkt und/oder Mesh-Kompatibilität.
  11. Verfahren nach Anspruch 9, wobei die binäre Energie eine Funktion eines oder mehrerer gewichteter Merkmale ist, die jedem Paar benachbarter Knoten im Diagramm zugeordnet sind und aus mindestens einem der Folgenden ausgewählt werden: Punkt-LiDAR-Intensitätsähnlichkeit zwischen benachbarten Knoten, Punktfarbähnlichkeit zwischen benachbarten Knoten, Oberflächennormalenähnlichkeit, Abstandsähnlichkeit, relativer Winkel zwischen benachbarten Knoten und/oder Bildfarbkontinuität.
  12. Verfahren nach Anspruch 11, wobei die binäre Energiefunktion einem Potts-Modell entspricht.
  13. Verfahren nach Anspruch 9, das außerdem das Optimieren einer Energiefunktion als Kombination der unären Energie und der binären Energie umfasst, wobei die Optimierung das Durchführen eines Diagramm- oder Graphenschnitts umfasst.
  14. Verfahren nach Anspruch 1, das außerdem das Ausgeben der mit dem Boden in den Scandaten assoziierten Punkte über eine Benutzerschnittstelle umfasst.
  15. System zum Segmentieren von Scandaten, wobei eine Methode umfasst: einen Prozessor; und ein nichtflüchtiges computerlesbares Medium, das eine oder mehrere Anweisungen umfasst, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor dazu veranlassen: - Scandaten zu empfangen, die eine Vielzahl von Punkten in einer Umgebung darstellen, die mit einem Boden und einem oder mehreren Objekten assoziiert sind; - ein Diagramm aus den Scandaten zu erstellen, wobei das Diagramm mehrere Knoten umfasst, die den mehreren Punkten in der Umgebung entsprechen; - jedem der mehreren Knoten ein unäres Potential zuzuordnen, das einem Aufwand für die Zuweisung dieses Knotens zu einem Boden-Label oder einem Nicht-Boden-Label entspricht; - jedem Paar benachbarter Knoten im Diagramm ein paarweises Potenzial zuzuordnen, wobei das paarweise Potenzial einem Aufwand für die Zuweisung unterschiedlicher Labelzuweisungen an benachbarte Knoten entspricht; und - Verwenden der unären Potentiale und der paarweisen Potentiale, um Labels für jeden der mehreren Punkte zu identifizieren; und - basierend auf den identifizierten Labeln die Scandaten zu segmentieren, um mit dem Boden assoziierte Punkte zu identifizieren.
  16. System nach Anspruch 15, das außerdem Programmieranweisungen umfasst, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor dazu veranlassen: die identifizierten, mit dem Boden assoziierten Punkte zu verwerfen; und die nicht verworfenen Punkte in der Vielzahl von Punkten zu verwenden, um das eine oder die mehreren Objekte zu identifizieren.
  17. System nach Anspruch 16, das außerdem Programmieranweisungen umfasst, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, die Identifikationen des einen oder der mehreren Objekte zum Navigieren eines autonomen Fahrzeugs in der Umgebung zu verwenden.
  18. System nach Anspruch 15, das außerdem Programmieranweisungen umfasst, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor dazu veranlassen: die Scandaten vorzuverarbeiten, um eine Teilmenge der Vielzahl von Punkten zu identifizieren, die wahrscheinlich mit dem Boden assoziiert sind; und nur die identifizierte Teilmenge der Punkte zum Erstellen des Diagramms zu verwenden.
  19. System nach Anspruch 18, wobei die Programmieranweisungen, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, die Scandaten vorzuverarbeiten, um die Teilmenge der Vielzahl von Punkten zu identifizieren, Programmieranweisungen umfassen, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor dazu veranlassen: - die Scandaten in ein Referenzbezugssystem einer Karte umzuwandeln, die der Umgebung entspricht; und - aus der Vielzahl von Punkten einen Punkt oder mehrere Punkte zu identifizieren, die auf der Karte innerhalb einer Schwellenentfernung von einer Bodenoberfläche liegen.
  20. System nach Anspruch 19, wobei die Programmieranweisungen, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, das Diagramm zu erstellen, Programmieranweisungen umfassen, die den Prozessor veranlassen, das Diagramm derart zu erstellen, dass es mehrere Kanten enthält, die die mehreren Knoten verbinden.
  21. System nach Anspruch 20, wobei die Programmieranweisungen, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, das Diagramm zu erstellen, Programmieranweisungen umfassen, die den Prozessor veranlassen, das Diagramm unter Verwendung mindestens eines der folgenden Verfahren zu erstellen: eines K-Nearest-Neighbors-Algorithmus, derart, dass jede der mehreren Kanten ein entsprechendes Gewicht erhält, oder eines Gittergraphen-Erzeugers / Grid Graph Builders.
  22. System nach Anspruch 20, wobei das Diagramm weiterhin zwei Endknoten umfasst, die mit der Bodenmarkierung und der Nicht-Bodenmarkierung assoziiert sind.
  23. System nach Anspruch 15, wobei die Programmieranweisungen, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, die unären Potentiale und die paarweisen Potentiale zur Identifizierung von Labeln für jeden der mehreren Punkte einzusetzen, Programmieranweisungen umfassen, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor dazu veranlassen: - eine unäre Energiefunktion als Summe über die unären Potentiale aller der mehreren Knoten zu bestimmen; und - eine binäre Energiefunktion unter Verwendung der mehreren paarweisen Potentiale zu bestimmen als Summe über alle benachbarten Knoten der mehreren Knoten gemäß einem Kostenfaktor für die Zuweisung eines Paares von Boden-Labels und eines Paars von Nicht-Boden-Labels zu jedem Paar benachbarter Knoten.
  24. System nach Anspruch 23, wobei die unäre Energie eine Funktion eines oder mehrerer gewichteter Merkmale ist, die jedem der mehreren Knoten zugeordnet sind und aus mindestens einem der folgenden ausgewählt werden: Bodenhöhe; relative Höhe; Farbe; Bereich; Sensor-Posenunsicherheit dar; Bodenhöhenunsicherheit; semantische Label; Erkennungsmasken; Intensität; Lokalisierungsausgabe; Streifwinkel; Normalen-Oberflächenverträglichkeit; Höhe über dem Boden; Okklusionsprüfung; Bodenwahrscheinlichkeit pro Punkt und/oder Mesh-Kompatibilität.
  25. System nach Anspruch 23, wobei die binäre Energie eine Funktion eines oder mehrerer gewichteter Merkmale ist, die jedem Paar benachbarter Knoten im Diagramm zugeordnet sind und aus mindestens einem der Folgenden ausgewählt werden: Punkt-LiDAR-Intensitätsähnlichkeit zwischen benachbarten Knoten, Punktfarbähnlichkeit zwischen benachbarten Knoten, Oberflächennormalenähnlichkeit, Abstandsähnlichkeit, relativer Winkel zwischen benachbarten Knoten und/oder Bildfarbkontinuität.
  26. System nach Anspruch 25, wobei die binäre Energiefunktion einem Potts-Modell entspricht.
  27. System nach Anspruch 23, das außerdem Programmieranweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor veranlassen, eine Energiefunktion als Kombination der unären Energie und der binären Energie zu optimieren, wobei die Optimierung die Durchführung eines Graphen- oder Diagrammschnitts umfasst.
  28. Das System nach Anspruch 15, weiterhin umfassend: eine Benutzerschnittstelle; und Programmieranweisungen, die bei Ausführung durch den Prozessor dazu führen, dass der Prozessor über die Benutzerschnittstelle die dem Boden in den Scandaten zugeordneten Punkte ausgibt.
  29. Ein Computerprogrammprodukt zum Segmentieren von Scandaten, wobei das Computerprogrammprodukt eine oder mehrere Anweisungen umfasst, die so konfiguriert sind, dass sie einen Prozessor dazu veranlassen: - Scandaten zu empfangen, die eine Vielzahl von Punkten in einer Umgebung darstellen, die mit einem Boden und einem oder mehreren Objekten assoziiert sind; - ein Diagramm aus den Scandaten zu erstellen, wobei das Diagramm mehrere Knoten umfasst, die den mehreren Punkten in der Umgebung entsprechen; - jedem der mehreren Knoten ein unäres Potential zuordnen, das einem Aufwand für die Zuweisung dieses Knotens zu einem Boden-Label oder einem Nicht-Boden-Label entspricht; - jedem Paar benachbarter Knoten im Diagramm ein paarweises Potenzial zuzuweisen, wobei das paarweise Potenzial einem Aufwand für die Zuweisung unterschiedlicher Bezeichnungen an benachbarte Knoten entspricht. und - die unären Potentiale und die paarweisen Potentiale zu verwenden, um Labels für jeden der mehreren Punkte zu identifizieren; und - basierend auf den identifizierten Labeln die Scandaten segmentieren, um mit dem Boden assoziierte Punkte zu identifizieren.
  30. Computerprogrammprodukt nach Anspruch 29, das außerdem Anweisungen umfasst, die so konfiguriert sind, dass sie den Prozessor veranlassen: die identifizierten, mit dem Boden assoziierten Punkte zu verwerfen; und die nicht verworfenen Punkte in der Vielzahl von Punkten verwenden, um das eine oder die mehreren Objekte zu identifizieren.
  31. Computerprogrammprodukt nach Anspruch 30, das außerdem Anweisungen umfasst, die so konfiguriert sind, dass sie den Prozessor veranlassen, die Identifikationen des einen oder der mehreren Objekte zum Navigieren eines autonomen Fahrzeugs in der Umgebung zu verwenden.
  32. Computerprogrammprodukt nach Anspruch 29, das außerdem Anweisungen umfasst, die so konfiguriert sind, dass sie den Prozessor dazu veranlassen: die Scandaten vorzuverarbeiten, um eine Teilmenge der Vielzahl von Punkten zu identifizieren, die wahrscheinlich mit dem Boden assoziiert sind; nur die identifizierte Teilmenge der Punkte zum Erstellen des Diagramms zu verwenden.
  33. Computerprogrammprodukt nach Anspruch 32, wobei die Anweisungen, die so konfiguriert sind, dass sie den Prozessor veranlassen, die Scandaten vorzuverarbeiten, um die Teilmenge der mehreren Punkte zu identifizieren, Anweisungen enthalten zum: Umwandeln der Scandaten in ein Referenzbezugssystem einer Karte entsprechend der Umgebung; und aus der Vielzahl von Punkten, Identifizieren eines Punkts oder mehrerer Punkte, die auf der Karte innerhalb einer Schwellenentfernung von einer Bodenoberfläche liegen.
  34. Computerprogrammprodukt nach Anspruch 33, wobei die Anweisungen, die so konfiguriert sind, dass sie den Prozessor veranlassen, das Diagramm zu erstellen, Anweisungen umfassen, um mehrere Kanten einzuschließen, die die mehreren Knoten verbinden.
  35. Computerprogrammprodukt nach Anspruch 34, wobei die Anweisungen, die so konfiguriert sind, dass sie den Prozessor veranlassen, das Diagramm zu erstellen, Anweisungen zum Erstellen des Diagramms unter Verwendung mindestens eines der folgenden Algorithmen umfassen: eines K-Nearest-Neighbors-Algorithmus, so dass jede der mehreren Kanten ein entsprechendes Gewicht aufweist, oder eines Gittergraphen-Erzeugers / Grid Graph Builders.
  36. Computerprogrammprodukt nach Anspruch 34, wobei das Diagramm weiterhin zwei Endknoten umfasst, die der Boden-Labelzuweisung und der Nicht-Boden-Labelzuweisung zugeordnet sind.
  37. Computerprogrammprodukt nach Anspruch 29, wobei die Anweisungen, die so konfiguriert sind, dass sie den Prozessor dazu veranlassen, die unären Potentiale und die paarweisen Potentiale zu verwenden, um Labels für jeden der mehreren Punkte zu identifizieren, Anweisungen umfassen, um: eine unäre Energiefunktion als Summe über die unären Potentiale aller Knoten zu bestimmen; und eine binäre Energiefunktion unter Verwendung der mehreren paarweisen Potentiale als Summe über alle benachbarten Knoten der mehreren Knoten anhand eines Kostenfaktors für die Zuweisung eines Paares von Boden- und eines Paares Nicht-Boden-Kennzeichnungen zu jedem Paar benachbarter Knoten zu bestimmen.
  38. Computerprogrammprodukt nach Anspruch 37, wobei die unäre Energie eine Funktion eines oder mehrerer gewichteter Merkmale ist, die jedem der mehreren Knoten zugeordnet sind und aus mindestens eine der folgenden Angaben ausgewählt werden: Bodenhöhe; relative Höhe; Farbe; Bereich; Sensorposenunsicherheit; Bodenhöhenunsicherheit; semantische Label; Erkennungsmasken; Intensität; Lokalisierungsausgabe; Streifwinkel; Normalen-Oberflächenverträglichkeit; Höhe über dem Boden; Okklusionsprüfung; Bodenwahrscheinlichkeit pro Punkt und/oder Mesh-Kompatibilität.
  39. Computerprogrammprodukt nach Anspruch 37, wobei die binäre Energie eine Funktion eines oder mehrerer gewichteter Merkmale ist, die jedem Paar benachbarter Knoten im Diagramm zugeordnet sind und aus mindestens einem der folgenden ausgewählt werden: Punkt-LiDAR-Intensitätsähnlichkeit zwischen benachbarten Knoten, Punkt-Farbähnlichkeit zwischen benachbarten Knoten, Oberflächennormalenähnlichkeit, Abstandsähnlichkeit, relativer Winkel zwischen benachbarten Knoten oder Bildfarbkontinuität.
  40. Computerprogrammprodukt nach Anspruch 39, wobei die binäre Energiefunktion einem Potts-Modell entspricht.
  41. Computerprogrammprodukt nach Anspruch 37, das außerdem Anweisungen umfasst, die so konfiguriert sind, dass sie den Prozessor veranlassen, eine Energiefunktion als Kombination der unären Energie und der binären Energie zu optimieren, wobei die Optimierung die Durchführung eines Graphen- oder Diagrammschnitts umfasst.
DE112021006299.9T 2020-12-04 2021-12-01 Verfahren und Systeme zur Bodensegmentierung mittels Graphenschnitten Pending DE112021006299T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/111,899 US11361484B1 (en) 2020-12-04 2020-12-04 Methods and systems for ground segmentation using graph-cuts
US17/111,899 2020-12-04
PCT/US2021/072668 WO2022120346A1 (en) 2020-12-04 2021-12-01 Methods and systems for ground segmentation using graph-cuts

Publications (1)

Publication Number Publication Date
DE112021006299T5 true DE112021006299T5 (de) 2023-11-09

Family

ID=81849353

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021006299.9T Pending DE112021006299T5 (de) 2020-12-04 2021-12-01 Verfahren und Systeme zur Bodensegmentierung mittels Graphenschnitten

Country Status (4)

Country Link
US (2) US11361484B1 (de)
CN (1) CN116710961A (de)
DE (1) DE112021006299T5 (de)
WO (1) WO2022120346A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10970929B2 (en) * 2018-07-16 2021-04-06 Occipital, Inc. Boundary detection using vision-based feature mapping
US11873004B2 (en) * 2020-10-31 2024-01-16 Huawei Technologies Co., Ltd. Method and system for motion planning for an autonmous vehicle
US20220289237A1 (en) * 2021-03-10 2022-09-15 Gm Cruise Holdings Llc Map-free generic obstacle detection for collision avoidance systems
CN115222988B (zh) * 2022-07-17 2024-06-18 桂林理工大学 激光雷达点云数据城市地物PointEFF精细分类方法
CN115861383B (zh) * 2023-02-17 2023-05-16 山西清众科技股份有限公司 一种拥挤空间下多信息融合的行人轨迹预测装置及方法
CN117576144B (zh) * 2024-01-15 2024-03-29 湖北工业大学 一种激光点云电力线提取方法、装置和电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8107726B2 (en) * 2008-06-18 2012-01-31 Samsung Electronics Co., Ltd. System and method for class-specific object segmentation of image data
US8249349B2 (en) * 2008-11-25 2012-08-21 Microsoft Corporation Labeling image elements
US8311285B2 (en) 2009-06-30 2012-11-13 Mitsubishi Electric Research Laboratories, Inc. Method and system for localizing in urban environments from omni-direction skyline images
US9396545B2 (en) 2010-06-10 2016-07-19 Autodesk, Inc. Segmentation of ground-based laser scanning points from urban environment
US8824797B2 (en) 2011-10-03 2014-09-02 Xerox Corporation Graph-based segmentation integrating visible and NIR information
US9129192B2 (en) 2013-12-16 2015-09-08 Adobe Systems Incorporated Semantic object proposal generation and validation
KR20150089663A (ko) * 2014-01-28 2015-08-05 한국전자통신연구원 그래프 기반의 멀티 프리미티브 피팅 장치 및 그 동작 방법
US9704257B1 (en) 2016-03-25 2017-07-11 Mitsubishi Electric Research Laboratories, Inc. System and method for semantic segmentation using Gaussian random field network
CN111108342B (zh) * 2016-12-30 2023-08-15 辉达公司 用于高清地图创建的视觉测程法和成对对准
GB201709672D0 (en) * 2017-06-16 2017-08-02 Ucl Business Plc A system and computer-implemented method for segmenting an image
US10579063B2 (en) 2017-07-21 2020-03-03 Uatc, Llc Machine learning for predicting locations of objects perceived by autonomous vehicles
US11004202B2 (en) * 2017-10-09 2021-05-11 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods for semantic segmentation of 3D point clouds
CN108427124B (zh) * 2018-02-02 2020-05-12 北京智行者科技有限公司 一种多线激光雷达地面点分离方法及装置、车辆
US10620317B1 (en) * 2018-12-23 2020-04-14 Chongqing Jinkang New Energy Automobile Co., Ltd. Lidar-based high definition map generation
US11393097B2 (en) * 2019-01-08 2022-07-19 Qualcomm Incorporated Using light detection and ranging (LIDAR) to train camera and imaging radar deep learning networks
US11763565B2 (en) * 2019-11-08 2023-09-19 Intel Corporation Fine-grain object segmentation in video with deep features and multi-level graphical models

Also Published As

Publication number Publication date
WO2022120346A1 (en) 2022-06-09
US11842430B2 (en) 2023-12-12
US11361484B1 (en) 2022-06-14
US20220270309A1 (en) 2022-08-25
CN116710961A (zh) 2023-09-05
US20220180578A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
DE112021006299T5 (de) Verfahren und Systeme zur Bodensegmentierung mittels Graphenschnitten
US20190145765A1 (en) Three Dimensional Object Detection
DE112020006426T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE102020110458A1 (de) Fahrzeugpfadvorhersage
DE102019111402A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE112020003897T5 (de) Systeme und verfahren zur überwachung von fahrspurüberlastung
DE112020002592T5 (de) Systeme und verfahren zur fahrzeugnavigation basierend auf bildanalyse
DE112020002764T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE102016119130A1 (de) Probabilistische Folgerung unter Verwendung gewichteter Integrale und Summen durch Hashing zur Objektverfolgung
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE112020002869T5 (de) Navigationssysteme und verfahren zum bestimmen von objektabmessungen
DE112021003811T5 (de) Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation
DE112021005607T5 (de) Systeme und Verfahren für kamera-LiDAR-fusionierte Objektdetektion
DE112021006101T5 (de) Systeme und Verfahren zur Objektdetektion mit LiDAR-Dekorrelation
DE112021002680T5 (de) Systeme und verfahren zum erkennen einer offenen tür
DE112022002353T5 (de) Verfahren und Systeme zur Trajektorienerzeugung für ein autonomes Fahrzeug beim Überfahren einer Kreuzung
DE112021005708T5 (de) Verfahren und Systeme zur Verfolgung einer Fahrspur über die Zeit
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE102022102189A1 (de) Multimodales Segmentierungsnetz für ein verbessertes semantisches Labelingbei einer Kartenerzeugung
DE102021118316A1 (de) Monokulare 3d-objekterkennung aus bildsemantiknetzwerk
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE112021006402T5 (de) Schätzung von Automatikbelichtungswerten einer Kamera durch Priorisieren eines Objekts von Interesse auf Basis von kontextuellen Eingaben aus 3D-Karten
DE102022100413A1 (de) Objekterkennung unter verwendung von radar-und-lidar-zusammenführung
DE102021132199A1 (de) Bestimmen von Objektmobilitätsparametern unter Verwendung einer Objektsequenz