DE112019000049T5 - Für autonomes fahren geeignete objekterfassung und erfassungssicherheit - Google Patents

Für autonomes fahren geeignete objekterfassung und erfassungssicherheit Download PDF

Info

Publication number
DE112019000049T5
DE112019000049T5 DE112019000049.7T DE112019000049T DE112019000049T5 DE 112019000049 T5 DE112019000049 T5 DE 112019000049T5 DE 112019000049 T DE112019000049 T DE 112019000049T DE 112019000049 T5 DE112019000049 T5 DE 112019000049T5
Authority
DE
Germany
Prior art keywords
data
coverage
value
vehicle
sensor
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
DE112019000049.7T
Other languages
English (en)
Inventor
Tommi Koivisto
Pekka Janis
Tero Kuosmanen
Timo Roman
Sriya Sarathy
William Zhang
Nizar Assaf
Colin Tracey
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE112019000049T5 publication Critical patent/DE112019000049T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/417Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section involving the use of neural networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • 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/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • 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
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/867Combination of radar systems with cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9318Controlling the steering
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9323Alternative operation using light waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/411Identification of targets based on measurements of radar reflectivity
    • G01S7/412Identification of targets based on measurements of radar reflectivity based on a comparison between measured values and known or stored values
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4802Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Electromagnetism (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

In verschiedenen Beispielen können Erfasstes-Objekt-Daten, die für Positionen von erfassten Objekten in einem Sichtfeld repräsentativ sind, bestimmt werden. Ein oder mehrere Cluster der erfassten Objekte können zumindest teilweise basierend auf den Positionen erzeugt werden, und Merkmale des Clusters können zur Verwendung als Eingänge für ein/mehrere Modelle maschinellen Lernens bestimmt werden. Es kann ein Vertrauenswert empfangen werden, der zumindest teilweise basierend auf den Eingaben von dem/den Modell(en) maschinellen Lernens berechnet wurde, wobei der Vertrauenswert für eine Wahrscheinlichkeit repräsentativ sein kann, dass der Cluster einem Objekt entspricht, das zumindest teilweise in dem Sichtfeld dargestellt ist. Weitere Beispiele stellen Ansätze zum Bestimmen von Referenzdaten für Trainingsobjektdetektoren, wie beispielsweise zum Bestimmen von Abdeckungswerten für Referenzobjekte unter Verwendung zugeordneter Formen, und zum Bestimmen von weichen Abdeckungswerten für Referenzobjekte bereit.

Description

  • HINTERGRUND DER ERFINDUNG
  • Für sicheren Betrieb sollten autonome Fahrzeuge Objekte - wie beispielsweise Fahrzeuge, Menschen, Bäume, Tiere, Gebäude, Schilder und Masten - bei der Planung von Wegen durch die Umgebung berücksichtigen. Dazu kann ein Objektdetektor dazu verwendet werden, Objekte, die in einem oder mehreren Bildern in Echtzeit dargestellt werden (z.B. Bilder, die mit einem oder mehreren Sensoren, die an dem autonomen Fahrzeug verbaut sind, aufgenommen wurden), genau zu erkennen. Konventionelle Ansätze haben jedoch möglicherweise nicht die gewünschte Genauigkeit und können infolgedessen falsche oder verzögerte Objekterfassungen auslassen oder erzeugen, welches zu ungeeigneten Wegen und sogar Kollisionen führen kann.
  • Ein konventionelles System zur Objekterfassung kann ein neuronales Faltungsnetzwerk (CNN) verwenden, das Abdeckungswerte und Begrenzungsrahmen für ein Raster von Raumelementregionen bzw. Regionen räumlicher Elemente des Bilds bereitstellt. Jeder Abdeckungswert kann eine Wahrscheinlichkeit repräsentieren, dass ein Objekt zumindest teilweise in einer entsprechenden Raumelementregion dargestellt wird, und der Begrenzungsrahmen kann um das Objekt für die Raumelementregion herum bereitgestellt sein. Da Objekte mehrere Raumelementregionen des Gitters belegen können, können unterschiedliche Abdeckungswerte und Begrenzungsrahmen Erfassungen desselben Objekts entsprechen. Diese Erfassungen können durch Bündelung bzw. Clustering der Erfassungen zu bestimmten Objekten aggregiert werden, und jeder aggregierten Erfassung kann ein Vertrauenswert zugewiesen werden. In einigen Ansätzen kann der maximale Abdeckungswert eines Clusters als ein Vertrauenswert verwendet werden. In der Praxis kann dieser Ansatz zu Fehlerfassungen oder falsch positiven Ergebnissen führen, da der maximale Abdeckungswert nur einem kleinen Teil des Bilds entsprechen kann. Ein anderer Ansatz kann eine Summe der Abdeckungswerte eines Clusters als Vertrauenswert verwenden. Da jedoch die Summe unbegrenzt ist, kann die Summe möglicherweise nicht direkt als ein Vertrauens- oder Wahrscheinlichkeitsmaß interpretiert werden, welches ebenfalls zu falschen oder ausgelassenen Erfassungen führen kann (z.B. kann eine variable Anzahl von Erfassungen Teil eines Clusters sein, so dass die Summe kein relatives Maß über Cluster hinweg bereitstellt).
  • Ein konventioneller Ansatz zum Trainieren des CNN zur Erfassung von Objekten, die in einem Bild dargestellt sind, kann neben Sätzen von Begrenzungsrahmenkoordinaten, die jeweils einen Bereich in einem Trainingsbild angeben können, in welchem das CNN ein Objekt erkennen soll, auch Trainingsbilder verwenden. Um das CNN dazu zu trainieren, Abdeckungswerte für bestimmte Raumelementregionen auszugeben, kann jeder Satz von Begrenzungsrahmenkoordinaten einer einzigen Raumelementregion des Gitters von Raumelementregionen des Trainingsbilds zugeordnet sein. Insbesondere ist die dem Satz von Begrenzungsrahmenkoordinaten zugeordnete Raumelementregion die Raumelementregion, die den Mittelpunkt des Begrenzungsrahmens beinhaltet. Ein Referenz- bzw. Grundwahrheitstensor, der zum Trainieren des CNN verwendet wird, kann befüllt werden, um jeder Raumelementregion einen harten Abdeckungswert (z.B. 1 oder 0) zuzuweisen, je nachdem, ob der Raumelementregion ein Satz von Begrenzungsrahmenkoordinaten zugeordnet ist.
  • Dieser Ansatz kann das CNN dazu trainieren, zu versuchen, definitiv zu bestimmen, ob ein Objekt in einer Raumelementregion dargestellt ist, und das Objekt nur dieser Region mit Raumelementen zuzuordnen. In vielen Fällen kann es jedoch schwierig sein, ein Objekt nur einer Raumelementregion zuzuordnen oder definitiv zu bestimmen, ob ein Objekt in dieser Raumelementregion dargestellt ist. Dies kann beispielsweise der Fall sein, wenn Objekte in einem Bild nahe beieinander liegen (z.B. wenn ein Objekt ein anderes verdeckt) und/oder wenn ein Objekt mehrere Raumelementregionen einnimmt. Als ein Ergebnis dieses Trainingsansatzes kann das CNN, wie vorstehend beschrieben wurde, Fehlerfassungen von einem Objektdetektor oder falsch positiven Ergebnis für aggregierte Erfassungen erzeugen, wodurch die Wirksamkeit des CNN verringert wird.
  • KURZBESCHREIBUNG DER ERFINDUNG
  • Ausführungsbeispiele der Erfindung beziehen sich auf Objekterfassung und Erfassungssicherheit, die für autonomes Fahren geeignet sind. Im Gegensatz zu konventionellen Ansätzen, die einen Vertrauenswert für eine aggregierte Erfassung bestimmen, der nicht direkt als Vertrauens- oder Wahrscheinlichkeitsmaß interpretiert werden kann oder nur einem kleinen Teil eines Bilds entspricht, ermöglichen offenbarte Ansätze die Bestimmung eines Vertrauenswerts (z.B. eines Einzelwerts), der direkt als Vertrauenswert interpretiert werden kann und eine Wahrscheinlichkeit, dass eine aggregierte Erfassung einem in Bilddaten dargestellten tatsächlichen Objekt entspricht, genau anzeigen kann. Somit können falsche oder verpasste Erfassungen weniger wahrscheinlich sein, wenn der Vertrauenswert verwendet wird.
  • In einigen Beispielen kann ein Modell maschinellen Lernens bzw. ein Machine Learning Model (MLM), wie beispielsweise ein mehrschichtiges Perzeptron-Netzwerk, dazu trainiert sein, den Vertrauenswert anhand von Merkmalen zu bestimmen, die aus erfassten Objekten (z.B. in einem oder mehreren Sichtfeldern eines Fahrzeugs) generiert wurden. Das MLM kann lernen, die komplexen Beziehungen zwischen erfassten Objekten für verschiedene Raumelementregionen bzw. Regionen räumlicher Elemente bei der Erzeugung des Vertrauenswerts zu berücksichtigen. Darüber hinaus kann der Vertrauenswert ein begrenzter Wert sein, der eine direkte Interpretierbarkeit bereitstellt und gleichzeitig eine beliebige Anzahl von erfassten Rohobjekten berücksichtigt, die Teil einer aggregierten Erfassung sind. Somit ist es im Vergleich zu konventionellen Ansätzen, wie den vorstehend beschriebenen, weniger wahrscheinlich, dass die Verwendung des Vertrauenswerts zu Fehlerfassungen führt.
  • In weiterem Gegensatz zu konventionellen Ansätzen zum Trainieren eines CNN zur Objekterfassung, die einem Satz von Begrenzungsrahmenkoordinaten nur eine einzige Raumelementregion bzw. Region räumlicher Elemente zuordnen, können offenbarte Ansätze die Genauigkeit von final erfassten Objekten verbessern, indem sie es ermöglichen, einen Satz von Begrenzungsrahmenkoordinaten mehreren Raumelementregionen (z.B. unter Verwendung einer elliptischen Grundwahrheit bzw. Referenz, die mehreren Raumelementregionen entspricht) für das Training zuzuordnen, und/oder weiche Abdeckungswerte (z.B. in einem Bereich von 1 bis 0) Raumelementregionen in Grundwahrheits- bzw. Referenzdaten, die zur Ausbildung der CNN verwendet werden, zuzuordnen.
  • In einigen Beispielen wird eine Größe einer Form, die zumindest teilweise innerhalb einer Objektregion (z.B. einer Grundwahrheits-Begrenzungsrahmenregion) liegt, unter Verwendung einer Dimension bzw. einer Abmessung der Objektregion berechnet. Die Form kann dann dazu verwendet werden, Abdeckungswerte für Raumelementregionen des zum Trainieren des CNN verwendeten Trainingsbilds zu bestimmen (z.B. durch Zeichnen zumindest eines Teils der Form in einem Grundwahrheitstensor). Bereitgestellte Ansätze können ferner ein Bestimmen eines Abdeckungswerts für eine Raumelementregion ermöglichen, wenn die Raumelementregion mehreren Objektregionen entspricht (die unterschiedliche Objekte angeben). In weiterer Hinsicht kann ein Totzonenbereich dazu verwendet werden, Abdeckungswerte, die verschiedenen Objektregionen (mit unterschiedlichen Objekten) entsprechen, räumlich zu trennen. Dies kann das CNN dazu trainieren, besser zwischen benachbarten Objekten zu unterscheiden. Beispielsweise kann das in dieser Weise trainierte CNN niedrigere Abdeckungswerte für Bereiche zwischen benachbarten Objekten bereitstellen.
  • Figurenliste
  • Die vorliegenden Systeme und Verfahren zur Objekterfassung und Detektionssicherheit, die für autonomes Fahren geeignet sind, werden im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen näher beschrieben, wobei:
    • 1A eine Darstellung einschließlich eines beispielhaften Objekterfassungssystems ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 1B ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erfassen von Objekten und zum Bestimmen entsprechender Vertrauenswerte darstellt, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 2A eine Darstellung eines Bilds ist, das mit visuellen Elementen überlagert ist, die den erfassten Objekten entsprechen, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 2B eine Darstellung eines Bilds ist, das mit visuellen Elementen überlagert ist, die den Gruppen bzw. Clustern von erfassten Objekten entsprechen, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 3 eine Abbildung einschließlich eines beispielhaften Objektdetektors ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 4 eine Darstellung einschließlich eines beispielhaften Objekterfassungs-Trainingssystems ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 5A eine Abbildung einschließlich eines Beispiels einer Form- und Objektregion ist, die dazu verwendet werden kann, Abdeckungswerten Raumelementregionen zuzuweisen, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 5B eine Darstellung einschließlich eines Beispiels für das Bestimmen von Abdeckungswerten für Raumelementregionen ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 6 eine Darstellung einschließlich eines Beispiels zum Bestimmen von Abdeckungswerten für Raumelementregionen ist, die mehreren Objekten entsprechen, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 7 eine Darstellung einschließlich eines Beispiels für das Bestimmen von Abdeckungswerten für Raumelementregionen unter Verwendung eines Totzonenbereichs ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 8A eine Darstellung einschließlich Beispielen von Grundwahrheitskennzeichnungen für ein Trainingsbild, die zum Bestimmen einer Orientierung eines Objekts verwendet werden können, ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 8B eine Darstellung ist, die dazu verwendet wird, Beispiele für ein Bestimmen einer Orientierung eines Objekts zu beschreiben, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 9 eine Darstellung ist, die dazu verwendet wird, Beispiele für ein Bestimmen der Sichtbarkeit oder Verdeckung eines Objekts zu beschreiben, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 10A ein Ablaufdiagramm eines Verfahrens zum Bestimmen von Vertrauenswerten von erfassten Objekten ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 10B ein Ablaufdiagramm eines Verfahrens zum Bestimmen von erfassten Objektdaten ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 11 ein Ablaufdiagramm eines Verfahrens zum Bestimmen von Abdeckungswerten zum Trainieren eines Objektdetektors ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 12 ein Ablaufdiagramm eines Verfahrens zum Bestimmen von weichen Abdeckungswerten zum Trainieren eines Objektdetektors ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 13 ein Ablaufdiagramm eines Verfahrens zum Bestimmen eines Abdeckungswerts ist, der zum Trainieren eines Objektdetektors verwendet wird, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 14 eine Darstellung einer beispielhaften Betriebsumgebung ist, die zur Verwendung bei der Implementierung einiger Ausführungsbeispiele der Erfindung geeignet ist;
    • 15A eine Darstellung eines beispielhaften autonomen Fahrzeugs ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 15B ein Beispiel für Kamerastandorte und Sichtfelder für das beispielhafte autonome Fahrzeugs von 15A ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 15C ein Blockdiagramm einer beispielhaften Systemarchitektur für das beispielhafte autonome Fahrzeug von 15A ist, gemäß einigen Ausführungsbeispielen der Erfindung;
    • 15D ein Systemdiagramm für die Kommunikation zwischen einem oder mehreren Cloud-basierten Server(n) und dem beispielhaften autonomen Fahrzeug von 15A ist, gemäß einigen Ausführungsbeispielen der Erfindung; und
    • 16 ein Blockdiagramm einer beispielhaften Rechenvorrichtung ist, die zur Verwendung bei der Implementierung einiger Ausführungsbeispiele der Erfindung geeignet ist.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Systeme und Verfahren werden hierin mit Bezug zu Objekterfassung und Erfassungssicherheit offenbart. Offenbarte Ansätze können für autonomes Fahren geeignet sein, können aber auch für andere Anwendungen wie beispielsweise Robotik, Videoanalyse, Wettervorhersage, medizinische Bildgebung usw. verwendet werden. Die Erfindung kann in Bezug auf ein beispielhaftes autonomes Fahrzeug 1500 (alternativ hierin als „Fahrzeug 1500“ oder „autonomes Fahrzeug 1500“ bezeichnet) beschrieben werden, von dem ein Beispiel hierin mit Bezug zu 15A-15D näher beschrieben wird. Obwohl die Erfindung in erster Linie Beispiele unter Verwendung von autonomen Fahrzeugen bereitstellt, können andere Arten von Vorrichtungen dazu verwendet werden, diese verschiedenen hierin beschriebenen Ansätze umzusetzen, wie beispielsweise Roboter, Kamerasysteme, Wettervorhersagegeräte, bildgebende medizinische Geräte usw. Darüber hinaus können diese Ansätze zur Steuerung autonomer Fahrzeuge oder für andere Zwecke verwendet werden, wie z.B. für, und ohne beschränkt zu sein auf, Videoüberwachung, Video- oder Bildbearbeitung, Video- oder Bildsuche oder -abruf, Objektverfolgung, Wettervorhersage (z.B. unter Verwendung von RADAR-Daten) und/oder medizinische Bildgebung (z.B. unter Verwendung von Ultraschall- oder Magnetresonanztomographie (MRI)-Daten).
  • Modell(e) maschinellen Lernens zur Vertrauensbestimmung
  • Um Objekte zu erkennen, die in einem Bild dargestellt sind, kann ein konventionelles System ein neuronales Faltungsnetzwerk (CNN) verwenden, das Abdeckungswerte und Begrenzungsrahmen für ein Gitter bzw. Raster von Raumelementregionen bzw. Regionen räumlicher Elemente des Bilds bereitstellt. Jeder Abdeckungswert kann eine Wahrscheinlichkeit darstellen, dass ein Objekt zumindest teilweise in einer entsprechenden Raumelementregion dargestellt ist, und die Begrenzungsrahmen können um das Objekt herum für die Raumelementregion bereitgestellt sein. Da Objekte mehrere Raumelementregionen des Gitters belegen können, können unterschiedliche Abdeckungswerte und Begrenzungsrahmen Erfassungen desselben Objekts entsprechen. Die Erfassungen können durch Bündelung der Erfassungen zu bestimmten Objekten aggregiert werden, und jeder aggregierten Erfassung kann ein Vertrauenswert zugewiesen werden. In einigen Ansätzen kann der maximale Abdeckungswert eines Clusters als der Vertrauenswert verwendet werden. Wenn er implementiert ist, kann dieser Ansatz zu Fehlerfassungen oder falsch positiven Ergebnissen führen, da der maximale Abdeckungswert nur einem kleinen Teil des Bilds entsprechen kann. Ein anderer Ansatz kann eine Summe der Abdeckungswerte eines Clusters als den Vertrauenswert verwenden. Da die Summe jedoch unbegrenzt ist, kann die Summe möglicherweise nicht direkt als ein Vertrauens- oder Wahrscheinlichkeitsmaß interpretiert werden, welches ebenfalls zu falschen oder verpassten Erfassungen führen kann.
  • Infolge dieser falschen oder verpassten Erfassungen konventioneller Ansätze können Wege, die von autonomen Fahrzeugen geplant werden, die diese konventionellen Systeme implementieren, ungenau sein, welches zu einer Steuerung des autonomen Fahrzeugs auf eine Weise führt, die unerwünscht weniger sicher ist. Darüber hinaus kann aufgrund falscher oder verpasster Erfassungen eine zusätzliche Verarbeitung erforderlich sein, um diese Fehler zu korrigieren (z.B. durch zusätzliche Objekterfassungen), oder muss das autonome Fahrzeug möglicherweise seinen Weg korrigieren, sobald der Fehler erfasst ist, welches zu einem potenziell weniger effizienten und effektiven Betrieb des autonomen Fahrzeugs führt.
  • Im Gegensatz zu konventionellen Ansätzen ermöglichen die offenbarten Ansätze die Bestimmung eines Vertrauenswerts (z.B. eines skalaren Werts), der direkt als ein Vertrauensmaß interpretiert werden kann und eine Wahrscheinlichkeit, dass eine aggregierte Erfassung einem in Bilddaten dargestellten tatsächlichen Objekt entspricht, genau angeben kann. Daher treten falsche oder verpasste Erfassungen weniger wahrscheinlich auf, wenn der Vertrauenswert verwendet wird.
  • In einigen Beispielen kann ein Modell maschinellen Lernens bzw. ein Machine Learning Model (MLM), wie beispielsweise ein mehrschichtiges Perzeptron-Netzwerk, dazu trainiert sein, den Vertrauenswert unter Verwendung von Merkmalen zu bestimmen, die aus erfassten Objekten generiert wurden (z.B. in einem oder mehreren Sichtfeldern eines Fahrzeugs). Nicht beschränkende Beispiele beinhalten Merkmale, die zumindest teilweise auf einem oder mehreren Abdeckungswert(en) basieren, der/die einem Cluster, der Anzahl der Erfassungen des Clusters und einer oder mehreren dem Cluster zugeordneten, erfassten Objektregion(en) zugeordnet ist/sind. Das MLM kann lernen, die komplexen Beziehungen zwischen erfassten Objekten für verschiedene Raumelementregionen bei der Erzeugung des Vertrauenswerts zu berücksichtigen. Darüber hinaus kann der Vertrauenswert ein begrenzter Wert sein, der eine direkte Interpretierbarkeit bereitstellt und gleichzeitig eine beliebige Anzahl von rohen erfassten Objekten berücksichtigt, die Teil einer aggregierten Erfassung sind (z.B. im Gegensatz zu konventionellen Ansätzen, bei denen eine variable Anzahl von Erfassungen Teil eines Clusters sein kann, so dass die Summe clusterübergreifend kein relatives Maß bereitstellt). Daher kann die Verwendung des Vertrauenswerts im Vergleich zu konventionellen Vertrauenswerten weniger wahrscheinlich zu Fehlerfassungen führen.
  • In weiterem Gegensatz zu konventionellen Ansätzen, wie beispielsweise denjenigen, die direkt Abdeckungswerte und Begrenzungsrahmen verwenden, können Merkmale, die von dem MLM gemäß der vorliegenden Offenbarung zur Bestimmung eines Vertrauenswerts verwendet werden, auf einer Vielzahl von Faktoren basieren. Beispielhafte Faktoren beinhalten Parameter, wie beispielsweise eine Anzahl von Einzelbildern, in welchen das Objekt erfasst worden ist, eine Kovarianz der nachverfolgten Objektzustandsschätzung, Statistiken über Merkmalspunkte, die innerhalb einer Objektbegrenzungsbox nachverfolgt wurden, Schätzungen optischen Flusses innerhalb einer Objektbegrenzungsbox, Korrelation mit einem Modell des Objekterscheinungsbilds, Schätzungen der Objektkinematik und/oder einer Objekttrajektorie. Andere Faktoren beinhalten Merkmale, die direkt aus den Bilddaten (z.B. aus Punkten oder Pixeln) oder aus den Merkmalen einer oder mehrerer primärer CNN-Schichten eines CNN berechnet wurden, das zur Bereitstellung der erfassten Objekte verwendet wurde, wie z.B. die letzte Schicht vor einer Schicht, die erfasste Objektpositionen vorhersagt (z.B. eine Gridbox-Ausgabe). Dies kann Merkmale innerhalb des Objektbegrenzungsrahmens beinhalten, wie z.B. ein Histogramm orientierter Gradienten. Andere Beispiele für Faktoren beinhalten eine IMU (Internal Measurement Unit)-Ausgabe bzw. Ausgabe einer internen Messeinheit, die einer Orientierung des Fahrzeugs entspricht, und Abstands- oder dreidimensionale (3D-) Positionsschätzungen des Objekts, welche von dem CNN und/oder anderen Sensoren, wie LIDAR oder RADAR, bestimmt werden können. Weitere Beispiele für Faktoren beinhalten eine vollständige Abdeckungsmerkmalskarte als eine Aktivitätskarte, einen maximalen Schnittpunkt über die Vereinigung zwischen Begrenzungsrahmen eines erfassten Objektclusters und eine Boden- und Breiten-Sichtbarkeit des erfassten Objekts (z.B. basierend auf Indikatoren, die von dem CNN ausgegeben werden und angeben, ob der Boden des erfassten Objekts vollständig sichtbar ist und/oder ob die gesamte Breite des Objekts sichtbar ist).
  • Training von Modellen maschinellen Lernens zur präzisen Objekterfassung
  • Ein konventioneller Ansatz zum Trainieren des CNN zum Erfassen von Objekten, die in einem Bild dargestellt sind, verwendet Trainingsbilder und Sätze von Begrenzungsrahmenkoordinaten, die jeweils eine Region in einem Trainingsbild spezifizieren, in dem das CNN ein Objekt erkennen soll. Um das CNN dazu trainieren, Abdeckungswerte für bestimmte Raumelementregionen auszugeben, kann jeder Satz von Begrenzungsrahmenkoordinaten einer einzigen Raumelementregion des Gitters von Raumelementregionen des Trainingsbilds zugeordnet werden. Insbesondere kann die dem Satz von Begrenzungsrahmenkoordinaten zugeordnete Raumelementregion die Raumelementregion sein, die den Mittelpunkt des Begrenzungsrahmens beinhaltet. Ein Grundwahrheits- bzw. Referenztensor, der zum Trainieren des CNN verwendet wird, kann befüllt werden, um jeder Raumelementregion einen harten Abdeckungswert (z.B. 1 oder 0) zuzuweisen, je nachdem, ob der Raumelementregion ein Satz von Begrenzungsrahmenkoordinaten zugeordnet ist.
  • Dieser Ansatz kann das CNN dazu trainieren, zu versuchen, definitiv zu bestimmen, ob ein Objekt in einer Raumelementregion dargestellt ist, und das Objekt nur dieser Raumelementregion zuzuordnen. In vielen Fällen kann es jedoch schwierig sein, ein Objekt nur einer Raumelementregion zuzuordnen und/oder definitiv zu bestimmen, ob ein Objekt in dieser Raumelementregion dargestellt ist. Dies kann beispielsweise der Fall sein, wenn Objekte in einem Bild nahe beieinander liegen (z.B. wenn ein Objekt ein anderes verdeckt) und/oder wenn ein Objekt mehrere Raumelementregionen einnimmt bzw. belegt. Infolge dieser Schwierigkeit kann es zu Ungenauigkeiten bei Objekterfassungen kommen, welches zu einem CNN führt, das bei der Erfassung von Objekten in Sensordaten nicht so nützlich oder genau ist, wie es wünschenswert wäre.
  • Im Gegensatz zu diesen konventionellen Ansätzen zum Trainieren eines oder mehrere Modell(e) maschinellen Lernens können offenbarte Ansätze die Genauigkeit final erfasster Objekte verbessern, indem sie es ermöglichen, einen Satz von Begrenzungsrahmenkoordinaten mehreren Raumelementregionen (z.B. unter Verwendung einer elliptischen Grundwahrheit bzw. Referenz, die mehreren Raumelementregionen entspricht) für das Training zuzuordnen, und/oder weiche Abdeckungswerte (z.B. in einem Bereich von 1 bis 0), Raumelementregionen in Grundwahrheitsdaten zuzuordnen, die zum Trainieren des CNN verwendet werden.
  • In einigen Beispielen wird eine Größe einer Form, die zumindest teilweise innerhalb einer Objektregion (z.B. Grundwahrheits-Begrenzungsrahmenregion) liegt, unter Verwendung einer Dimension bzw. Abmessung der Objektregion berechnet. Die Form kann dann dazu verwendet werden, Abdeckungswerte für Raumelementregionen des Trainingsbilds zu bestimmen, das zum Trainieren des CNN verwendet wird (z.B. durch Zeichnen zumindest eines Teils der Form in einem Grundwahrheitstensor). Beispielsweise kann ein Abdeckungswert für eine Raumelementregion basierend zumindest teilweise auf der Raumelementregion entsprechend einem Abschnitt der Form bestimmt werden. Elemente von Grundwahrheitsdaten können unter Verwendung des/der Abdeckungswert(s/e) und zumindest eines Objektregionswerts, der für die Objektregion repräsentativ ist, gefüllt werden, und die Grundwahrheitsdaten können dazu verwendet werden, das CNN zu trainieren.
  • In einigen Fällen kann/können der/die Abdeckungswert(e) ein weicher Abdeckungswert sein, der (einem) bildkantengeglätteten Abschnitt(en) der Form entspricht. Der/die bildkantengeglättete(n) Abschnitt(e) der Form kann/können beispielsweise durch Rendern zumindest eines Teils der Form mit einer höheren räumlichen Auflösung als ein durch die Grundwahrheitsdaten repräsentierter Grundwahrheitstensor und herunterskalieren der gerenderten Form auf eine räumliche Auflösung des Grundwahrheitstensors berechnet werden. Dies kann in niedrigeren Abdeckungswerten nahe der Grenze der Form resultieren und das CNN dazu trainieren, mehr Sicherheit bei Erfassungen von Raumelementregionen in Richtung der Mitte der Form zu haben (welche zuverlässigere Indikatoren für das Vorhandensein eines Objekts sein können).
  • Bereitgestellte Ansätze können ferner ein Bestimmen eines Abdeckungswerts für eine Raumelementregion ermöglichen, wenn die Raumelementregion mehreren Objektregionen entspricht (die unterschiedliche Objekte angeben). In einigen Beispielen kann das System bestimmen, welche Objektregion die aktive Objektregion ist, und kann einen Abdeckungswert für die aktive Objektregion als den Abdeckungswert für die Raumelementregion verwenden (oder die aktive Objektregion stärker gewichten als die anderen Objektregionen). Die aktive Objektregion kann in einigen Fällen auf die Objektregion für das Objekt mit dem höchsten Abdeckungswert der Objekte festgelegt werden. Zusätzlich oder alternativ kann die aktive Objektregion auf das nächstgelegene oder vorderste der Objekte in dem Bild festgelegt werden.
  • In weiterer Hinsicht kann ein Totzonenbereich dazu verwendet werden, Abdeckungswerte, die verschiedenen Objektregionen entsprechen (die unterschiedliche Objekte abgeben), räumlich zu trennen. Beispielsweise können sich Formen, die dazu verwendet werden, die Abdeckungswerte für die verschiedenen Objektregionen zu generieren, teilweise überlappen. Unter Verwendung des Totzonenbereichs können Abdeckungswerte, die einem überlappenden Abschnitt der Formen entsprechen, dazu festgelegt werden, die Abdeckungswerte für die Formen in den Grundwahrheitsdaten räumlich zu trennen (z.B. durch Nullsetzen oder Reduzieren der Abdeckungswerte für den Totzonenbereich). Dies kann das CNN trainieren, besser zwischen benachbarten Objekten zu unterscheiden. Beispielsweise kann das CNN niedrigere Abdeckungswerte für Bereiche zwischen benachbarten Objekten bereitstellen.
  • Nunmehr auf 1A Bezug nehmend, zeigt 1A eine Darstellung einschließlich eines beispielhaften Objekterfassungssystems 100 gemäß einigen Ausführungsbeispielen der Erfindung. Es versteht sich, dass diese und andere hierin beschriebene Anordnungen nur als Beispiele aufgeführt sind. Andere Anordnungen und Elemente (z.B. Maschinen, Schnittstellen, Funktionen, Reihenfolgen und Gruppierungen von Funktionen usw.) können zusätzlich zu den oder anstelle der dargestellten verwendet werden, und einige Elemente können aus Gründen der Übersichtlichkeit ganz weggelassen sein. Darüber hinaus sind viele der hierin beschriebenen Elemente funktionale Einheiten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und Lage implementiert sein können. Verschiedene Funktionen, die hierin als von einer oder mehreren Einheiten ausgeführt beschrieben werden, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können einige Funktionen von einem Prozessor ausgeführt werden, der in einem Speicher gespeicherte Anweisungen ausführt.
  • In einer oder mehreren Ausführungsbeispielen beinhaltet das Objekterfassungssystem 100 beispielsweise einen Kommunikationsmanager 104, einen Objektdetektor 106, einen Erfasstes-Objekt-Clusterer bzw. -Gruppierer bzw. Bündeler 108, einen Merkmalsbestimmer 110, einen Vertrauenswertgenerator 112, einen Objektnachverfolger 114 und einen Erfasstes-Objekt-Filter 116.
  • Der Kommunikationsmanager 104 kann dazu konfiguriert sein, Kommunikationen zu verwalten, die von dem Objekterfassungssystem 100 (z.B. Sensordaten und/oder Bilddaten umfassend) empfangen und/oder von dem Objekterfassungssystem 100 (z.B. Vertrauensraten, erfasste Objektdaten und/oder davon abgeleitete Informationen umfassend) bereitgestellt wurden. Zusätzlich oder alternativ kann der Kommunikationsmanager 104 Kommunikationen innerhalb des Objekterfassungssystems 100 verwalten, wie beispielsweise zwischen einem beliebigen des Objektdetektors 106, des Erfasstes-Objekt-Clusterers 108, des Merkmalsbestimmers 110, des Vertrauenswertgenerators 112, des Objektnachverfolgers 114, des Erfasstes-Objekt-Filters 116 und/oder anderen Komponenten, die in dem Objekterfassungssystem 100 (z.B. innerhalb des Fahrzeugs 1500) enthalten sein können.
  • Mit Bezug auf 1B ist 1B ein Ablaufdiagramm, das einen beispielhaften Prozess 118 zum Erfassen von Objekten und zum Bestimmen entsprechender Erfassungsvertrauenswerte gemäß einigen Ausführungsbeispielen der Erfindung veranschaulicht. Der Objektdetektor 106 kann dazu konfiguriert sein, von dem Kommunikationsmanager 104 empfangene Sensordaten, wie beispielsweise Bilddaten, zu analysieren und Erfasstes-Objekt-Daten zu erzeugen, die repräsentativ für erfasste Objekte sind, die in den Sensordaten aufgenommen wurden. Der Erfasstes-Objekt-Clusterer 108 kann dazu konfiguriert sein, einen oder mehrere Cluster der erfassten Objekte basierend zumindest teilweise auf den Erfasstes-Objekt-Daten zu generieren oder zu bestimmen. Der Merkmalsbestimmer 110 kann dazu konfiguriert sein, Merkmale der Cluster zur Verwendung als Eingänge für den Vertrauenswertgenerator 112 zu generieren oder zu bestimmen. Der Vertrauenswertgenerator 112 kann dazu konfiguriert sein, Vertrauenswerte für einen oder mehrere der Cluster basierend zumindest teilweise auf den Eingaben zu berechnen. Der Objektnachverfolger 114 kann dazu konfiguriert sein, Objekte und/oder erfasste Objekte über Einzelbilder (z.B. Videobilder) und/oder Bilder hinweg nachzuverfolgen, wie beispielsweise in einem Zeitbereich. Der Erfasstes-Objekt-Filter 116 von 1A kann einen oder mehrere eines Erfasstes-Objekt-Filters 116A beinhalten, der dazu konfiguriert ist, erfasste Objekte aus den Erfasstes-Objekt-Daten zu filtern, oder einen erfassten Objektfilter 116B, der dazu konfiguriert ist, Cluster aus den Clustern erfasster Objekte zu filtern.
  • Das Objekterfassungssystem 100 kann gemäß einigen Ausführungsbeispielen der Erfindung in einer beispielhaften Betriebsumgebung 1400 von 14 implementiert sein. Beispielsweise können die Komponenten von 1A allgemein unter Verwendung einer beliebigen Kombination aus (einer) Client-Vorrichtung(en) 1420, (einer) Servervorrichtung(en) 1460 oder (einem) Datenspeicher(n) 1450 implementiert sein. Somit kann das Objekterfassungssystem 100 über mehrere Vorrichtungen bereitgestellt sein, die in einer verteilten Umgebung angeordnet sind, die kollektiv die hierin beschriebene Funktionalität bereitstellt, oder kann auf einer einzelnen Vorrichtung (z.B. dem Fahrzeug 1500) verkörpert sein. Während sich einige Beispiele, die zur Beschreibung des Objekterfassungssystems 100 verwendet werden, auf bestimmte Vorrichtungen und/oder Konfigurationen beziehen können, wird erwogen, dass diese Beispiele allgemeiner auf jede beliebige der hierin beschriebenen möglichen Kombinationen von Vorrichtungen und Konfigurationen anwendbar sein können. Beispielsweise können in einigen Ausführungsbeispielen zumindest einige der Sensoren 1480, die zum Generieren eines oder mehrerer Teile der Sensordaten verwendet werden, auf mehrere Fahrzeuge und/oder Objekte in der Umgebung verteilt sein und/oder kann zumindest einer der Sensoren 1480 in dem Fahrzeug 1500 enthalten sein.
  • Wie hierin erwähnt wurde, kann der Kommunikationsmanager 104 dazu konfiguriert sein, Kommunikationen zu verwalten, die von dem Objekterfassungssystem 100 (z.B. umfassend Sensordaten und/oder Bilddaten) empfangen und/oder von dem Objekterfassungssystem 100 (z.B. umfassend die Vertrauenswerte, Erfasstes-Objekt-Daten und/oder davon abgeleitete Informationen) bereitgestellt werden. Zusätzlich oder alternativ kann der Kommunikationsmanager 104 Kommunikationen innerhalb des Objekterfassungssystems 100 verwalten.
  • Wo eine Kommunikation empfangen und/oder als eine Netzwerkkommunikation bereitgestellt wird, kann der Kommunikationsmanager 104 eine Netzwerkschnittstelle umfassen, welche ein/eine oder mehrere drahtlose Antenne(n) (drahtlose Antenne(n) 1526 aus 15A) und/oder Modem(e) zur Kommunikation über ein oder mehrere Netzwerke verwenden kann. Beispielsweise kann die Netzwerkschnittstelle zur Kommunikation über Long-Term Evolution (LTE), Wideband Code-Division Multiple Access (WCDMA), Universal Mobile Telecommunications Service (UMTS), Global System for Mobile Communications (GSM), CDMA2000, usw. in der Lage sein. Die Netzwerkschnittstelle kann darüber hinaus die Kommunikation zwischen Objekten in der Umgebung (z.B. Fahrzeuge, mobile Geräte usw.) unter Verwendung lokaler Netzwerke wie Bluetooth, Bluetooth Low Energy (LE), Z-Wave, ZigBee usw. und/oder Low Power Wide-Area Network (LPWANs), wie beispielsweise Long Range Wide-Area Network (LoRaWAN), SigFox usw. ermöglichen. Der Kommunikationsmanager 104 braucht jedoch keine Netzwerkschnittstelle zu beinhalten, wie beispielsweise dann, wenn das Objekterfassungssystem 100 vollständig auf einem autonomen Fahrzeug (z.B. dem Fahrzeug 1500) implementiert ist. In einigen Beispielen kann eine oder mehrere der hierin beschriebenen Kommunikationen zwischen Komponenten einer Rechenvorrichtung 1600 über einen Bus 1602 von 16 erfolgen.
  • Von dem Kommunikationsmanager 104 empfangene Sensordaten können unter Verwendung einer beliebigen Kombination der Sensoren 1480 aus 14 generiert werden. Beispielsweise können die Sensordaten Bilddaten, die ein oder mehrere Bilder repräsentieren, Bilddaten, die ein Video repräsentieren (z.B. Video-Schnappschüsse) und/oder Sensordaten, die Sichtfelder von Sensoren repräsentieren (z.B. LIDAR-Daten von LIDAR-Sensor(en) 1564, RADAR-Daten von RADAR-Sensor(en) 1560, Bilddaten von einer oder mehreren Kameras aus 15B, usw.) beinhalten.
  • In Bezug auf 2A und 2B ist 2A eine Darstellung eines Bilds, das mit visuellen Elementen überlagert ist, die erfassten Objekten entsprechen, und ist 2B eine Darstellung des Bilds, das mit visuellen Elementen überlagert ist, die Clustern der erfassten Objekte entsprechen, gemäß einigen Ausführungsbeispielen der Erfindung. Die Sensordaten und/oder Bilddaten, die der Kommunikationsmanager 104 dem Objektdetektor 106 zur Verfügung stellt, können in einer Umgebung 202 erzeugt sein und können Bilddaten beinhalten, die für ein Sichtfeld bzw. Sichtfelder jeweiliger Kameras des Fahrzeugs 1500 in der Umgebung 202 repräsentativ sind, welche ein oder mehrere Bilder, wie beispielsweise ein Bild 204, beinhalten können.
  • Das Bild 204 stellt Regionen der Umgebung 202 dar, in denen die Regionen beliebig viele Objekte beinhalten können, von welchen Beispiele Objekte 248A, 248B, 248C und 248D beinhalten, die in 2B bezeichnet sind. Die Objekte können eine beliebige Kombination von Fahrzeugen, Personen (z.B. Fußgänger), Motorrädern, Radfahrern, Bäumen, Tieren, Gebäuden, Schildern, Strukturen und/oder anderen Objekten innerhalb der Umgebung 202 umfassen. Während das Beispiel von Sensordaten angegeben ist, können in anderen Beispielen, wie beispielsweise dann, wenn das Objekterfassungssystem 100 nicht in Verbindung mit einem Fahrzeug und/oder einer Kamera verwendet wird, die Sensordaten nicht verwendet werden. Beispielsweise könnte das Bild 204 Bilddaten entsprechen, die nicht von einem Sensor 1480 generiert wurden. In diesen Fällen kann das Bild 204 ein digitales Rendering sein, oder ein anderes Bild, aus welchem Objekte erfasst werden können (welche möglicherweise keinen physischen Objekten in einer Umgebung entsprechen).
  • Die Sensordaten und/oder Bilddaten können von dem Kommunikationsmanager 104 dem Objektdetektor 106 bereitgestellt werden, welcher die Sensordaten (z.B. die Bilddaten) analysieren kann, um Erfasstes-Objekt-Daten zu generieren. Die Erfasstes-Objekt-Daten können für Erfassungen durch den Objektdetektor 106, von Objekten in dem Sichtfeld und/oder in dem Bild 204 (welche auch als erfasste Objekte bezeichnet werden können) repräsentativ sein. Die erfassten Objekte können tatsächlichen Objekten, die in dem Sichtfeld und/oder in dem Bild 204 dargestellt sind, entsprechen oder nicht. Beispielsweise können einige der erfassten Objekte Fehlerfassungen durch den Objektdetektor 106 entsprechen. Darüber hinaus können einige der erfassten Objekte dem gleichen Objekt entsprechen, das in dem Sichtfeld und/oder in dem Bild 204 dargestellt ist.
  • Der Objektdetektor 106 kann ein oder mehrere Modelle maschinellen Lernens umfassen, die dazu trainiert sind, die Erfasstes-Objekt-Daten aus Merkmalen zu generieren, die aus den Sensordaten (z.B. den Bilddaten) extrahiert wurden. In einigen Beispielen ist der Objektdetektor 106 dazu konfiguriert, einen Satz von Erfasstes-Objekt-Daten (z.B. einen Abdeckungswert und einen erfassten Objektregion und/oder -ort) für jede Raumelementregion eines Sichtfelds und/oder Bilds zu bestimmen. Positionen und Bereiche der Raumelementregion können durch entsprechende Raumelemente (z.B. Ausgänge) des Objektdetektors 106 definiert sein. Beispielsweise können sich die Raumelementregionen für das gleiche Raumelement für verschiedene Sichtfelder und/oder Bilder an derselben Position und in einem gleichen Bereich befinden, der dem Raumelement entspricht. In verschiedenen Beispielen kann sich ein Raumelement auch auf eine Gitterzelle, eine Ausgabezelle, ein Super-Pixel und/oder ein Ausgabepixel des Objektdetektors 106 beziehen.
  • In verschiedenen Beispielen können die Raumelemente ein Raster bzw. Gitter von Raumelementregionen bilden. Beispielsweise zeigt 2A als ein Beispiel visuell ein Gitter 210 von Raumelementen des Objektdetektors 106 an. Die Raumelementregionen, wie beispielsweise eine Region räumlicher Elemente 254, können durch das Gitter definiert sein. Beispielsweise kann jede Gitterzelle eine Raumelementregion eines Raumelements enthalten. In anderen Beispielen brauchen gitterbasierte räumliche Elemente nicht verwendet zu werden. Darüber hinaus brauchen die räumlichen Elemente nicht notwendigerweise zusammenhängende Raumelementregionen zu definieren, nicht notwendigerweise rechteckige Raumelementregionen zu definieren und/oder brauchen nicht alle Regionen eines Sichtfelds und/oder Bilds abzudecken.
  • In einigen Beispielen kann für ein einzelnes Bild 204 oder Einzelbild, oder einen Satz von Bildern oder Einzelbildern, jedes Raumelement des Objektdetektors 106 die Erfasstes-Objekt-Daten für ein entsprechendes erfasstes Objekt bereitstellen. In anderen Beispielen brauchen ein oder mehrere Raumelemente keine erfassten Objektdaten bereitzustellen. Die Erfasstes-Objekt-Daten können beispielsweise für eine Position des erfassten Objekts in dem Sichtfeld und/oder in dem Bild 204 repräsentativ sein, wie beispielsweise Koordinaten des erfassten Objekts in dem Sichtfeld und/oder in dem Bild 204. Zusätzlich oder alternativ können die Erfasstes-Objekt-Daten für das erfasste Objekt für eine Erfasstes-Objekt-Region, die dem erfassten Objekt entspricht, repräsentativ sein. Beispielsweise kann die Erfasstes-Objekt-Region eine Region in dem Sichtfeld und/oder in dem Bild 204 sein, in dem der Objektdetektor 106 das Objekt erfasst und/oder vorhersagt. In einigen Beispielen kann der Objektdetektor 106 die erfasste Objektregion als eine Form generieren, die das erfasste Objekt begrenzt. Beispielsweise kann jede erfasste Objektregion ein Begrenzungsrahmen um das erfasste Objekt sein. Der Objektdetektor 106 kann in einigen Beispielen die Erfasstes-Objekt-Region unter Verwendung des/der Position(en) des erfassten Objekts darstellen. Beispielsweise kann der Objektdetektor 106 einen Satz der Positionen bereitstellen, die die Form der Erfasstes-Objekt-Region definieren.
  • In dem Beispiel von 2A kann jede Erfasstes-Objekt-Region von dem Objektdetektor 106 als ein Satz von Begrenzungsrahmenkoordinaten bereitgestellt sein. Beispielsweise sind visuelle Elemente, die Erfasstes-Objekt-Regionen 250A, Erfasstes-Objekt-Regionen 250B, Erfasstes-Objekt-Regionen 250C und Erfasstes-Objekt-Regionen 250D entsprechen, gezeigt, um zumindest einige der Begrenzungsrahmen an den Begrenzungsrahmenkoordinaten (z.B. die vier Eckpunkte eines Begrenzungsrahmens) für verschiedene räumliche Elemente (z.B. durch schattierte Zellen angegeben) darzustellen.
  • Die von dem Objektdetektor 106 für ein erfasstes Objekt bereitgestellten Erfasstes-Objekt-Daten können beispielsweise für einen Abdeckungswert des erfassten Objekts repräsentativ sein. Der Abdeckungswert kann eine Likelihood oder eine Wahrscheinlichkeit repräsentieren, dass ein Objekt zumindest teilweise an einer Position dargestellt ist, die der/den Position(en) des erfassten Objekts entspricht (z.B. innerhalb einer Erfasstes-Objekt-Region des erfassten Objekts).
  • Ein weiteres Beispiel der Erfasstes-Objekt-Daten, welche von dem Objektdetektor 106 bereitgestellt sein können, beinhaltet Tiefendaten, die für eine Tiefe (oder eine 3D-Position) des erfassten Objekts in dem/den Sichtfeld(ern), Bild(ern) und/oder der Umgebung 202 (z.B. in Bezug auf die Sensoren, die zum Aufnehmen der Sensordaten verwendet wurden) repräsentativ sind. Ein weiteres Beispiel der Erfasstes-Objekt-Daten beinhaltet sind Sichtbarkeitsdaten, die für ein Ausmaß des erfassten Objekts, das sichtbar ist, und/oder ob ein bestimmter Teil des erfassten Objekts sichtbar ist, repräsentativ sind. Beispielsweise können Sichtbarkeitsdaten für Unterseiten- und/oder Breiten-Sichtbarkeitszustände und/oder -werte repräsentativ sein, welche jeweils vorhersagen können, ob die Unterseite/Höhe oder Breite eines Objekts sichtbar ist. Beispielsweise kann ein Objekt von einer oder mehreren Seiten her verdeckt sein, und/oder aus dem/den Sichtfeld(ern) eines Sensors ausgeschnitten sein.
  • Ein weiteres Beispiel für die Erfasstes-Objekt-Daten beinhaltet Orientierungsdaten, die für eine Orientierung des erfassten Objekts in dem/den Sichtfeld(ern), Bild(ern) und/oder der Umgebung 202 repräsentativ sind. Die Orientierung kann einen oder mehrere Orientierungswerte umfassen, die einen Winkel erfassen, in welchem ein Objekt von Interesse (z.B. ein Auto) erscheint, bezogen auf einen Ursprung, der auf dem/den Sensor(en), wie beispielsweise einer Kamera, liegt. In einigen Beispielen ist der Objektdetektor 106 dazu trainiert, sowohl Sinus- als auch Cosinus-Werte des Winkels vorherzusagen, im Gegensatz zu der Rohorientierung selbst. Dies kann die Genauigkeit der Vorhersagen verbessern.
  • In einigen Beispielen können zumindest einige der Erfasstes-Objekt-Daten für verschiedene Raumelementregionen dem gleichen Objekt entsprechen, das in dem Sichtfeld und/oder Bilddaten dargestellt ist, wie beispielsweise aufgrund von Nachbarschaften bzw. Abständen zwischen den Raumelementregionen. Beispielsweise kann der Objektdetektor 106 die Erfasstes-Objekt-Regionen 250A für verschiedene Raumelementregionen basierend auf dem Objekt 248A, die Erfasstes-Objekt-Regionen 250B für verschiedene Raumelementregionen basierend auf dem Objekt 248B, die Erfasstes-Objekt-Regionen 250C für verschiedene Raumelementregionen basierend auf dem Objekt 248C und die Erfasstes-Objekt-Regionen 250D für verschiedene Raumelementregionen basierend auf dem Objekt 248D bestimmen. In Beispielen kann eine beliebige Anzahl von erfassten Objekten und Erfasstes-Objekt-Regionen (oder allgemeiner Positionen) einem bestimmten Objekt entsprechen, das in dem Sichtfeld und/oder Sensordaten (z.B. Bilddaten) dargestellt ist.
  • Der Erfasstes-Objekt-Clusterer 108 kann dazu verwendet werden, die erfassten Objekte, die dem gleichen in dem Sichtfeld dargestellten Objekt entsprechen können, und/oder Sensordaten miteinander zu verknüpfen, damit das Objekterfassungssystem 100 aggregierte Erfassungen für bestimmte Objekte bildet. Beispielsweise kann der Erfasstes-Objekt-Clusterer 108 einen Clustering-Algorithmus auf erfasste Objekte anwenden, die von dem Objektdetektor 106 bereitgestellt werden, um einen ersten Cluster von erfassten Objekten, der den Erfasstes-Objekt-Regionen 250A entspricht, einen zweiten Cluster von erfassten Objekten, der den Erfasstes-Objekt-Regionen 250B entspricht, einen dritten Cluster von erfassten Objekten, der den Erfasstes-Objekt-Regionen 250C entspricht, und einen vierten Cluster von erfassten Objekten, der den Erfasstes-Objekt-Regionen 250D entspricht, zu bilden.
  • In einigen Fällen kann der Erfasstes-Objekt-Filter 116A, bevor die erfassten Objekte durch den Erfasstes-Objekt-Clusterer 108 gebündelt werden, erfasste Objekte aus der Ausgabe des Objektdetektors 106 filtern, basierend zumindest teilweise auf zugehörigen Abdeckungswerten und/oder anderen Kriterien (z.B. einer beliebigen der verschiedenen hierin beschriebenen Informationen, die durch die Erfasstes-Objekt-Daten repräsentiert oder daraus extrahiert werden können). Die verbleibenden erfassten Objekte können dann dem Erfasstes-Objekt-Clusterer 108 für das Clustering bereitgestellt werden. Dies kann durch reduzieren der Anzahl von erfassten Objekten, die gebündelt werden, Rechenleistung einsparen. Beispielsweise können die erfassten Objekte, die herausgefiltert werden, unwahrscheinlich tatsächlichen Objekten entsprechen, oder können redundant sein. Die visuellen Elemente von 2A können den erfassten Objekten entsprechen, die nach der Filterung durch den Erfasstes-Objekt-Filter 116A verbleiben. In anderen Beispielen braucht der Erfasstes-Objekt-Filter 116A nicht verwendet zu werden und kann jedes von dem Objektdetektor 106 bereitgestellte erfasste Objekt von dem Erfasstes-Objekt-Clusterer 108 gebündelt werden.
  • Zusätzlich oder alternativ kann der Objektfilter 116A die erfassten Objekte zumindest teilweise auf der Grundlage der zugehörigen Erfasstes-Objekt-Regionen filtern. Beispielsweise kann ein erfasstes Objekt basierend zumindest teilweise aus einer Größe seiner Erfasstes-Objekt-Region gefiltert werden (z.B. unter Verwendung eines Größenschwellenwerts). Dies kann in Beispielen nützlich sein, in denen der Objektdetektor 106 eine oder mehrere spezialisierte Komponenten oder Parameter beinhaltet, die optimiert wurden, um Objekte in verschiedenen Größenbereichen zu erfassen. Beispielsweise kann ein erster Abschnitt des Objektdetektors 106 dazu trainiert oder konfiguriert sein, Objekterfassungen für einen ersten Größenbereich auszugeben, und kann ein zweiter Abschnitt des Objektdetektors 106 dazu trainiert oder konfiguriert sein, Objekterfassungen für einen zweiten Größenbereich auszugeben. Der Erfasstes-Objekt-Filter 116A kann erfasste Objekte filtern, die von denjenigen Komponenten des Objektdetektors 106 bereitgestellt werden, die außerhalb des Größenbereichs liegen (und/oder Abdeckungswerte unterhalb eines Schwellenwerts aufweisen).
  • Zusätzlich oder alternativ kann/können der/die von dem Objektfilter 116A verwendete(n) Schwellenwert(e) zum Filtern der erfassten Objekte (z.B. Größenschwellenwerte oder Abdeckungswert-Schwellenwerte) zumindest teilweise auf einer Klasse des erfassten Objekts basieren. Beispielsweise kann der Objektdetektor 106 dazu trainiert sein, für ein erfasstes Objekt einen Teil der Erfasstes-Objekt-Daten auszugeben, der für einen erfassten Objektklassenwert oder -identifikator (ID) repräsentativ ist, welcher eine Klasse eines erfassten Objekts angibt. Beispielklassen können, ohne darauf beschränkt zu sein, Autos, Motorräder, Fußgänger und/oder Radfahrer beinhalten, obwohl eine beliebige Anzahl und Art von Klassen verwendet werden kann. Jeder Schwellenwert (oder eine Reihe von Schwellenwerten) könnte beispielsweise spezifisch für eine bestimmte Zielklasse sein oder auf andere Weise darauf basieren.
  • Der Erfasstes-Objekt-Clusterer 108 kann eine beliebige Anzahl von Clustern erfasster Objekten bilden, indem er einen oder mehrere Clustering-Algorithmen auf die Ausgänge des Objektdetektors 106 für die erfassten Objekte anwendet (z.B. nach dem Filtern). Beispielsweise können die Cluster erfasster Objekte jeweils Erfasstes-Objekt-Regionen 260A, 260B, 260C und 260D in 2B entsprechen. Um erfasste Objekte zu clustern bzw. bündeln, kann der Erfasstes-Objekt-Clusterer 108 die Positionen (z.B. Erfasstes-Objekt-Regionen) der erfassten Objekte zusammenbündeln. Dies kann beispielsweise zumindest teilweise auf der Grundlage der den Positionen zugeordneten Abdeckungswerte und/oder anderen hierin beschriebenen Erfasstes-Objekt-Daten erfolgen. In einigen Beispielen verwendet der Erfasstes-Objekt-Clusterer 108 einen Density-Based Spatial Clustering of Applications with Noise (DBSCAN)-Algorithmus. Andere Beispiele beinhalten nichtmaximale Unterdrückungs- oder groupRectangles-Algorithmen.
  • Der Clustering-Algorithmus kann einen oder mehrere Parameter beinhalten, die einen maximal zulässigen Abstand (z.B. paarweise) zwischen zwei erfassten Objektorten angeben, damit sie als Teil desselben Clusters betrachtet werden können. Der Clustering-Algorithmus kann auch eine Mindestabdeckung beinhalten, um Parameter zu bündeln, wo räumliche Elemente, deren Abdeckungswerte unter diesem Schwellenwert liegen, verworfen und während des Bündelns bzw. Clusterns nicht berücksichtigt werden. Der Clustering-Algorithmus kann darüber hinaus einen Parameter für minimale Objekthöhe beinhalten, wobei räumliche Elemente, die Erfasstes-Objekt-Regionen mit einer Höhe unterhalb dieses Schwellenwerts haben, verworfen und beim Clustern nicht berücksichtigt werden können. Der Clustering-Algorithmus kann darüber hinaus einen Parameter für minimale Abtastungen beinhalten, bei dem dann, wenn die Summe der Abdeckungswerte von erfassten Objekte, aus denen sich ein Cluster zusammensetzt, unter diesen Wert fällt, der Cluster verworfen wird. Der Clustering-Algorithmus kann eine Suche über einen Teil des Hyperraums durchführen, der durch die vorstehenden Parameter gebildet wird.
  • Eingaben in den Clustering-Algorithmus (z.B. für DBSCAN) können paarweise Abstände zwischen den Positionen (z.B. Begrenzungsrahmen) der erfassten Objekte sowie die den Positionen zugeordneten Abdeckungswerte beinhalten. Die Abdeckungswerte können als Sample- bzw. Stichprobengewichte für den Clustering-Algorithmus verwendet werden. Ausgaben des Clustering-Algorithmus können Bezeichnungen der Positionen der erfassten Objekte beinhalten, so dass alle Positionen, die zusammengebündelt sind, dieselbe Bezeichnung aufweisen können. Die Clustering-Algorithmen - welche von dem Erfasstes-Objekt-Clusterer 108 verwendet werden können -- können durch Hyperparameter parametrisiert sein, wie beispielsweise einen Parameter, der die Größe der Nachbarschaft für jedes erfasste Objekt steuert, und/oder das minimale Gesamtgewicht der Probe, die einen gültigen Cluster bildet. Der paarweise Abstand zweier Erfasstes-Objekt-Regionen b1 und b2 kann berechnet werden als: d(b1, b2) = 1,0 - IoU(b1, b2), wobei loU sich auf Intersection over Union bzw. den Jaccard-Koeffizienten bezieht. Dies kann sich auf das Verhältnis der Fläche des Schnittpunkts zwischen zwei Erfasstes-Objekt-Regionen über die Fläche ihrer Vereinigung beziehen.
  • Das Objekterfassungssystem 100 kann aggregierte Erfasstes-Objekt-Daten für jeden Cluster bestimmen, welche zu den hierin beschriebenen Ausgaben des Objektdetektors 106 für ein bestimmtes erfasstes Objekt ähnlich sein können, aber dem Cluster entsprechen können. Ein Cluster oder eine Gruppe von erfassten Objekten kann auch als aggregiertes erfasstes Objekt bezeichnet werden. Das Objekterfassungssystem 100 kann einen oder mehrere Positionen für das aggregierte erfasste Objekt bestimmen, basierend zumindest teilweise auf den Positionen der erfassten Objekte in dem Cluster. Beispielsweise kann die Position ein gemittelter und/oder gewichteter Durchschnitt (z.B. nach Abdeckungswert) der Positionen sein. Als weiteres Beispiel kann die Position mit dem höchsten Abdeckungswert als die Position für das aggregierte erfasste Objekt verwendet werden. Die Erfasstes-Objekt-Regionen 260A, 260B, 260C und 260D in 2B entsprechen Beispielen von Positionen für aggregierte erfasste Objekte.
  • Es kann ferner wünschenswert sein, dass das Objekterfassungssystem 100 eine Likelihood und/oder Wahrscheinlichkeit bestimmt, dass ein aggregiertes erfasstes Objekt einem Objekt entspricht, das zumindest teilweise in dem/den Sichtfeld(ern) und/oder Bild(ern) dargestellt ist. In einem Ansatz kann der maximale Abdeckungswert des erfassten Objekts eines Clusters als der Vertrauenswert verwendet werden. Während dieser Ansatz in einigen der hierin beschriebenen Beispiele verwendet werden kann, kann dieser Ansatz zu Fehlerfassungen führen, da der maximale Abdeckungswert nur einem kleinen Abschnitt des/der Bild(er) und/oder des/der Sichtfeld(s/er) entspricht. Ein anderer Ansatz kann eine Summe der Abdeckungswerte der erfassten Objekte des Clusters als den Vertrauenswert verwenden. Während dieser Ansatz in einigen hierin beschriebenen Beispielen verwendet werden kann, kann, weil die Summe unbegrenzt ist, die Summe nicht direkt als Vertrauens- oder Wahrscheinlichkeitsmaß interpretiert werden, welches ebenfalls zu Fehlerfassungen führen kann. In diesem Zusammenhang kann der Vertrauenswertgenerator 112 dazu verwendet werden, einen Vertrauenswert für einen Cluster zu bestimmen, der direkt als eine Likelihood oder Wahrscheinlichkeit, dafür interoperabel sein kann, dass ein aggregiertes erfasstes Objekt einem Objekt entspricht, das zumindest teilweise in dem/den Sichtfeld(ern) und/oder Bild(ern) dargestellt ist.
  • Der Vertrauenswertgenerator 112 kann einen Vertrauenswert für einen Cluster oder eine aggregierte Erfassung generieren, der zumindest teilweise auf Merkmalen basiert, die mit zumindest der aggregierten Erfassung verbunden sind. Beispielsweise kann der Vertrauenswertgenerator 112 ein oder mehrere Modelle maschinellen Lernens (z.B. ein oder mehrere neuronale Netzwerke) umfassen, die dazu trainiert wurden, den Vertrauenswert zumindest teilweise basierend auf den Merkmalen zu generieren. Der Merkmalsbestimmer 110 kann Merkmale erfassen und/oder generieren, die zumindest teilweise auf den Erfasstes-Objekt-Daten basieren, die mit der aggregierten Erfassung verbunden sind. Die Merkmale können als Eingabe für das/die Modell(e) maschinellen Lernens verwendet werden. Darüber hinaus kann/können das/die Modell(e) maschinellen Lernens Vertrauenswertdaten ausgeben, die für den Vertrauenswert (z.B. ein skalarer Wert) repräsentativ sind. Beispielsweise kann für ein oder mehrere bestimmte(s) Bild(er) oder Einzelbild(er) der Vertrauenswertgenerator 112 dazu verwendet werden, einen Vertrauenswert für jede der aggregierten Erfassungen (oder Kombinationen davon) zu generieren.
  • Während sich einige Beispiele für ein oder mehrere Modelle maschinellen Lernens, die für den Vertrauenswertgenerator 112 und/oder andere hierin beschriebene Komponenten (z.B. den Objektdetektor 106) verwendet werden können, auf bestimmte Arten von Modellen des maschinellen Lernens (z.B. neuronale Netzwerke) beziehen können, wird erwogen, dass Beispiele der hierin beschriebenen Modelle maschinellen Lernens, beispielsweise und ohne darauf beschränkt zu sein, jede beliebige Art eines Modells maschinellen Lernens beinhalten können, wie z.B. ein oder mehrere Modelle maschinellen Lernens mit linearer Regression, logistischer Regression, Entscheidungsbäumen, Support-Vektor-Maschinen (SVM), Naive Bayes, k-nearest neighbors bzw. K-Nächste-Nachbarn (k-NN), K-Means-Clustering, Random Forest, Dimensionality Reduction-Algorithmen, Gradient Boosting-Algorithmen, neuronale Netzwerke (z.B. Auto-Encoder, faltende, rekurrente, Perzeptrons, Long/Short Term Memory (LSTM), Hopfield, Boltzmann, Deep Belief, entfaltende, Generative Adversarial, Liquid State Machine, usw.), und/oder andere Arten von Modellen maschinellen Lernens.
  • In einigen Fällen kann der Erfasstes-Objekt-Filter 116B dazu verwendet werden, aggregierte Erfassungen basierend auf zugehörigen Abdeckungswerten und/oder anderen Kriterien (z.B. eine beliebige der verschiedenen hierin beschriebenen Informationen, die durch die zugehörigen Erfasstes-Objekt-Daten, aggregierte Erfasstes-Objekt-Daten repräsentiert oder daraus extrahiert werden können), zu filtern. Beispielsweise kann eine aggregierte Erfassung zumindest teilweise basierend auf dem Vertrauenswert, der einen Schwellenwert (z.B. einen einstellbaren Wert) überschreitet, beibehalten werden. Diese Filterung kann durchgeführt werden, um falsch positive Ergebnisse zu reduzieren.
  • In einigen Beispielen kann das Objekterfassungssystem 100 eine mehrstufige Inferenzierung unter Verwendung des Objektdetektors 106 verwenden. Bei mehrstufiger Inferenzierung kann der Objektdetektor 106 dieselben Bilder mehrfach in verschiedenen Maßstäben (z.B. parallel) ableiten. Roherfassungen können zusammengeführt und zur weiteren Verarbeitung an den Erfasstes-Objekt-Filter 116A oder den Erfasstes-Objekt-Clusterer 108 weitergeleitet werden, wie in 1 B.
  • Die aggregierten Erfassungen und beliebige zugehörige aggregierte Erfassungsdaten können für verschiedene Zwecke verwendet werden. Nicht beschränkende Beispiele beinhalten Videoüberwachung, Video- oder Bildbearbeitung, Video- oder Bildsuche oder -abruf, Objektnachverfolgung, Wettervorhersage (z.B. mit RADAR-Daten), medizinische Bildgebung (z.B. mit Ultraschall- oder Magnetresonanztomographie (MRI)-Daten) und/oder autonomes Fahren. In einigen Beispielen können die aggregierten Erfassungen zur Hinderniserkennung für ein autonomes Fahrzeug, wie beispielsweise das Fahrzeug 1500, verwendet werden. Beispielsweise kann das Objekterfassungssystem 100 in einen Hinderniserkenner des Fahrzeugs 1500 enthalten sein, wobei zumindest ein Teil der aggregierten Erfassungen Hindernisse sein können, die unter Verwendung des Hinderniserkenners wahrgenommen werden.
  • In einigen Beispielen kann der Objektnachverfolger 114 dazu verwendet werden, Objekte und/oder erfasste Objekte (z.B. aggregierte erfasste Objekte) über Einzelbilder (z.B. Videobilder) und/oder Bilder hinweg nachzuverfolgen, z.B. in einem Zeitbereich. Beispielsweise kann der Objektnachverfolger 114 zumindest bestimmen, dass ein erstes erfasstes Objekt und ein zweites erfasstes Objekt dasselbe Objekt sind, das über sequentielle Einzelbilder (z.B. zeitlich aufeinanderfolgende Einzelbilder), die durch die Sensordaten und/oder Bilddaten repräsentiert werden, dargestellt wird. Dies kann zumindest teilweise auf den Vertrauenswerten basieren, die den aggregierten erfassten Objekten zugeordnet sind. Als weiteres Beispiel kann der Objektnachverfolger 114 zumindest bestimmen, dass ein erstes erfasstes Objekt und ein zweites erfasstes Objekt dasselbe Objekt sind, das von verschiedenen Sensoren (z.B. des Fahrzeugs 1500) und/oder in verschiedenen Bildern aufgenommen ist (und z.B. die Erfassungen zusammenführen oder fusionieren), die durch die Sensordaten und/oder Bilddaten repräsentiert werden. Als ein Beispiel kann der Objektnachverfolger 114 die Vertrauenswerte und/oder aggregierten Objektdaten dazu verwenden, Erfassungen von Objekten (z.B. nach dem Verfahren von 1B), die von einem oder mehreren Sensoren und/oder Sensortypen (z.B. einer Kamera oder einer Anordnung von Kameras, die Bilddaten erzeugen) abgeleitet sind, mit Erfassungen von Objekten (z.B. nach dem Verfahren von 1B), die von einem oder mehreren anderen Sensoren und/oder Sensortypen (z.B. LIDAR- und/oder RADAR-Sensoren) bestimmt wurden, zu fusionieren oder zusammenzuführen.
  • Beispiele für ein oder mehrere Modell(e) maschinellen Lernens zur Objekterfassung
  • Nun auf 3 Bezug nehmend ist 3 eine Darstellung einschließlich eines Objektdetektors 306 gemäß einigen Ausführungsbeispielen der Erfindung. Als ein Beispiel kann der Objektdetektor 306 als der Objektdetektor 106 von 1A und 1B verwendet werden, oder können andere Arten von Objektdetektoren verwendet werden. Der Objektdetektor 306 beinhaltet ein oder mehrere neuronale(s) Netzwerk(e), wie beispielsweise ein oder mehrere CNN(s), das/die zur Objekterfassung verwendet wird/werden. Die CNN(s) können eine Gridbox oder eine andere Architektur verwenden, wie in 3 dargestellt ist, mit einer Anzahl N (z.B. 256, 512 oder 1024) räumlicher Elemente. In der Architektur können die vollständig verbundenen Schichten und/oder durchschnittlichen Pooling-Schichten, die für die Bildklassifizierung an der Spitze des Netzwerks verwendet werden, durch eine Faltungsschicht mit Ausgängen für jede räumliche Zelle (entsprechend einem räumlichen Element) ersetzt sein. Beispiele der Ausgaben für eine räumliche Zelle (z.B. entsprechend dem Bereich 254 der Raumelementregion von 2A) sind in 3 gezeigt und beinhalten eine beliebige Kombination der hierin beschriebenen Erfasstes-Objekt-Daten. In dem bestimmten gezeigten Beispiel beinhalten die Ausgaben Positionsdaten 310, Abdeckungsdaten 312, Tiefendaten 314, Orientierungsdaten 316, Orientierungsdaten 318, Boden- oder Höhen-Sichtbarkeitsdaten 320 und Breiten-Sichtbarkeitsdaten 322.
  • Die Orientierungsdaten 316 und die Orientierungsdaten 318 sind zwei Beispiele für Orientierungsdaten, von welchen in einigen Beispielen nur eines verwendet werden kann. Jedes kann repräsentativ sein für eine Orientierung des erfassten Objekts in dem/den Bild(ern), wie beispielsweise ein oder mehrere Orientierungswert(e), der/die einen Winkel erfasst/erfassen, in welchem ein Objekt von Interesse (z.B. ein Auto) erscheint, bezogen auf einen Ursprung, der auf dem/den Sensor(en), wie beispielsweise einer Kamera, liegt. Die Orientierungsdaten 318 können sowohl für Sinus- als auch für Cosinus-Werte des Winkels repräsentativ sein und können unter Verwendung einer Hyperbeltangens (tanh)-Aktivierungsfunktion bereitgestellt sein. Die Orientierungsdaten 316 können repräsentativ sein für eine Rohorientierung selbst (z.B. einen Winkel) und können unter Verwendung einer Rectified Linear Unit (ReLu)-Aktivierungsfunktion bereitgestellt sein. 3 zeigt nur beispielhaft bestimmte Aktivierungsfunktionen für die verschiedenen Ausgänge des Objektdetektors 306. Allgemein kann jeder der dargestellten Ausgänge unter Verwendung eines oder mehrerer von ReLU, Leaky ReLU, Sigmoid, tanh, Exponential Linear Unit (ELU) und/oder anderen Aktivierungsfunktionen bereitgestellt sein.
  • Die Orts- bzw. Positionsdaten 310 können eine beliebige Anzahl von Positionskoordinaten repräsentieren, die eine Erfasstes-Objekt-Region definieren, wie beispielsweise vier Koordinaten, die den Ecken einer Begrenzungsrahmenregion entsprechen. Die Positionskoordinaten können in verschiedenen möglichen Formaten angegeben sein, wie z.B. linke, untere, obere und rechte Koordinaten. Ein weiteres Beispiel für ein Format beinhaltet Zentrumskoordinaten (z.B. x, y) sowie die Breite und die Höhe der Raumelementregion. In einigen Beispielen können die Positionsdaten 310 unter Verwendung von Ankerboxen bereitgestellt sein. Während beispielsweise eine 4x1x1 Schicht dargestellt wird, können mehrere Schichten für verschiedene Ankerboxenarten bereitgestellt sein (z.B. für unterschiedliche Größen und/oder Orientierungen erfasster Objekte).
  • Die Abdeckungsdaten 312 können einen Abdeckungswert für die räumliche Zelle bzw. Raumzelle repräsentieren. Der Abdeckungswert kann als ein Maß für die „Objektivität“ (oder die Wahrscheinlichkeit, dass die Raumzelle einem Objekt entspricht) in der entsprechenden Raumelementregion interpretiert werden. Beispielsweise kann der Abdeckungswert unter Verwendung einer Sigmoid-Aktivierungsfunktion bereitgestellt sein.
  • Die Tiefendaten 314 können für einen Tiefenwert repräsentativ sein, der einer Entfernung oder einer Tiefe (oder 3D-Position) des erfassten Objekts von dem/den Sensor(en), wie beispielsweise von einer/mehreren Kamera(s), entspricht. Der Tiefenwert kann beispielsweise unter Verwendung einer ReLU-Aktivierungsfunktion bereitgestellt sein.
  • Die Boden- oder Höhen-Sichtbarkeitsdaten 320 können für einen Wert repräsentativ sein, der angibt, ob ein Boden oder eine Höhe des erfassten Objekts vollständig sichtbar oder teilweise verdeckt (oder durch das Bild abgeschnitten) ist. In anderen Beispielen kann der Wert ein Ausmaß des Bodens oder der Höhe des erfassten Objekts angeben, das sichtbar, verdeckt oder abgeschnitten ist. Der Wert kann beispielsweise unter Verwendung einer Sigmoid-Aktivierungsfunktion bereitgestellt sein.
  • In ähnlicher Weise können die Breiten-Sichtbarkeitsdaten 322 für einen Wert repräsentativ sein, der angibt, ob eine Breite des erfassten Objekts vollständig sichtbar oder teilweise verdeckt (oder durch das Bild abgeschnitten) ist. In anderen Beispielen kann der Wert ein Ausmaß der Breite des erfassten Objekts angeben, der sichtbar, verdeckt oder abgeschnitten ist. Der Wert kann beispielsweise mit einer Sigmoid-Aktivierungsfunktion bereitgestellt sein.
  • Die Ausgänge des Objektdetektors 106 (z.B. eine oder mehrere Ausgabeschicht(en) 330 des/der neuronalen Netzwerk(s/e) können typisch für jedes Raumelement (z.B. Gitter oder Raumzelle) bereitgestellt sein und können als „rohe“ Ausgänge oder Detektionen für ein erfasstes Objekt bezeichnet werden. Jede beliebige Kombination der verschiedenen Rohausgaben oder Erfassungen kann das sein, was der Objektfilter 116A verwendet, um die von dem Objektdetektor 306 bereitgestellten erfassten Objekte zu filtern. Beispielsweise können verschiedene Schwellenwerte als Abschaltung für eine beliebige Kombination der verschiedenen Ausgänge verwendet werden. Darüber hinaus können die Ausgaben, obwohl nicht dargestellt, Klassendaten beinhalten, die für eine Klasse des erfassten Objekts repräsentativ sind, und können für verschiedene Klassen unterschiedliche Schwellenwerte verwendet werden. Der Objektdetektor 306 kann auf mehrere Objektklassen erweitert werden, indem die Struktur der Ausgabeschicht 330 entsprechend repliziert oder die Tiefe jeder Ausgabe entsprechend der Anzahl der Klassen modifiziert wird. Auch 3x3 oder beliebige andere Faltungsgrößen könnten anstelle von 1x1 verwendet werden, wie in 3 dargestellt.
  • Wie hierin erwähnt wurde, kann der Erfasstes-Objekt-Filter 116A die erfassten Objekte zumindest teilweise auf der Grundlage der Größen der zugehörigen Erfasstes-Objekt-Regionen filtern. Um das Vorstehende zu veranschaulichen, kann der Objektdetektor 306 mehrere Köpfe umfassen, von denen jeder die Aufgabe hat, seinen eigenen Satz von erfassten Objekten (z.B. Begrenzungsrahmen, Abdeckungswerte und/oder andere hierin beschriebene Ausgaben) vorherzusagen (z.B. parallel). Ein erster Kopf kann größer sein (z.B. eine größere Schrittweite wie beispielsweise 16 haben) als ein zweiter Kopf (z.B. mit einer Schrittweite von 8), so dass er besser dazu geeignet ist, mittelgroße bis große Objekte zu erfassen, die in dem Bild 204 dargestellt sind, während der zweite Kopf eher dazu geeignet ist, kleine bis mittelgroße Objekte zu erfassen, die in dem Bild 204 dargestellt sind. Während jeder Kopf seine eigene(n) Ausgabeschicht(en) 330 haben kann, können die Ausgänge durch den Erfasstes-Objekt-Filter 116A unterschiedlich gefiltert werden, um die Fähigkeiten jedes Kopfes zu nutzen, welches in einer höheren Qualität der für das Clustering verwendeten roherfassten Objekte führen kann. Beispielsweise kann der Erfasstes-Objekt-Filter 116A erfasste Objekte herausfiltern, die von dem zweiten Kopf bereitgestellt werden, basierend zumindest teilweise auf den erfassten Objekten mit Erfasstes-Objekt-Regionen, die größer als eine Schwellengröße sind. In einigen Beispielen kann der Erfasstes-Objekt-Filter 116A zumindest einen Teil der erfassten Objekte für den zweiten Kopf zurückbehalten, wenn die Erfasstes-Objekt-Regionen größer als die Schwellengröße sind, kann aber einen höheren Schwellenwert für die zugehörigen Abdeckungswerte verwenden. In anderen Beispielen können die erfassten Objekte unabhängig von den Abdeckungswerten gefiltert werden.
  • Der Objektdetektor 306 kann eine Abbildung (z.B. ein Bild) verarbeiten, indem er das Bild in vereinfachte Blöcke einer bestimmten Größe zerlegt. Falls das Bild ursprünglich ein hochauflösendes Bild war (z.B. mit einer räumlichen Auflösung von 1920 Pixel mal 1080 Pixel oder größer), kann der Objektdetektor 306 das Bild auf eine Merkmalskarte mit geringerer räumlicher Auflösung (z.B. von 60 Pixel mal 30 (Super-)Pixel) reduzieren. Dabei können die Pixel in der Merkmalskarte Pixelblöcken (z.B. 16 × 16) im Pixelraum (z.B. nicht überlappend) des Eingangsbilds entsprechen. In einer mehrköpfigen Konfiguration kann der Objektdetektor 306 das Bild mehrfach (z.B. zweimal) reduzieren. Eine Reduzierung kann auf eine erste Merkmalskarte mit geringerer Auflösung (z.B. 60 × 30) erfolgen. Dies kann einer Verarbeitung von beispielsweise 16 × 16 Pixelblöcken (z.B. nicht überlappend) im Pixelraum des Eingangsbilds entsprechen. Eine weitere Reduzierung kann auf eine zweite Merkmalskarte mit geringerer Auflösung (z.B. 120 × 60) erfolgen. Dies kann beispielsweise der Verarbeitung von 8 × 8 Pixelblöcken (z.B. nicht überlappend) im Pixelraum des Eingangsbilds entsprechen.
  • Die erste Merkmalskarte mit geringerer Auflösung kann aufgrund größerer Pixelblöcke besser dazu geeignet sein, große Objekte in dem Bild (z.B. das hintere Ende eines nahen Autos) zu identifizieren, als die zweite Merkmalskarte mit geringerer Auflösung. Die zweite Merkmalskarte mit geringerer Auflösung kann aufgrund kleinerer Pixelblöcke besser dazu geeignet sein, kleine Objekte in dem Bild (z.B. einen Basketball, der gerade auf die Straße gerollt ist, oder das vordere Ende eines Lieferwagens in der Ferne) zu identifizieren.
  • Der Objektdetektor 306 kann ein tiefes neuronales Netzwerk (DNN) umfassen. In einigen Beispielen beinhaltet das DNN die Ausgabeschicht(en) 330, Zwischenschichten 332 und eine oder mehrere Eingabeschicht(en) 334. In einigen Beispielen ist das DNN achtzehn Schichten tief, jedoch könnte das DNN eine beliebige Anzahl von Schichten tief sein.
  • Für die Inferenzierung kann/können die Eingangsschicht(en) 334 des Objektdetektors 306 ein oder mehrere Bilder aufnehmen, je nachdem, ob eine Stapelverarbeitung bzw. Batching verwendet wird. Beispielsweise können mehrere Bilder gleichzeitig eingegeben werden, wenn beispielsweise die Stapelverarbeitung zur Inferenzierungszeit dazu verwendet wird, mehrere Eingangsbilder gleichzeitig herzuleiten, ein Mini-Batching während des Trainings des Objektdetektors 306 verwendet wird und/oder wenn eine Videoverarbeitung so verwendet wird, dass der Objektdetektor 306 mehrere Bilder nacheinander oder zeitlich sequenziell verarbeitet.
  • Viele Arten von Bildern oder Formaten können als Eingaben verwendet werden, z.B. komprimierte Bilder wie in den Joint Photographic Experts Group (JPEG)-Formaten oder Luminanz/Chrominanz (YUV)-Formaten, komprimierte Bilder als Einzelbilder, die aus einem komprimierten Videoformat wie H.264 oder H.265/High Efficiency Video Coding (HEVC) stammen, Rohbilder wie sie von Red Clear Clear Blue (RCCB), Red Clear Clear Clear (RCCC) oder anderen Arten von Bildsensoren stammen. Für das Training des Objektdetektors 306 können andere Formate und/oder Auflösungen verwendet werden als für die Inferenzierung (Entwicklung).
  • Bilder, die in den Objektdetektor 306 eingegeben werden, können in Form eines/einer multidimensionalen Arrays/Matrix (auch als Tensor bezeichnet, genauer als ein Eingangstensors) dargestellt und in den Speicher geladen werden. Die Array-Größe kann als W × H × C berechnet/dargestellt werden, wobei W für die Bildbreite in Pixeln, H für die Höhe in Pixeln und C für die Anzahl der Farbkanäle steht. Ohne Verlust an Allgemeingültigkeit sind auch andere Typen und Reihenfolgen von Eingangsbildkomponenten möglich. Zusätzlich kann die Batch- bzw. Losgröße B als eine Dimension (z.B. eine zusätzliche vierte Dimension) verwendet werden, wenn Batching verwendet wird. Batching kann zum Training und/oder zur Inferenzierung verwendet werden. Somit kann der Eingangstensor ein Array der Dimension W × H × C × B repräsentieren. Jede beliebige Reihenfolge der Maße kann möglich sein, welches von der jeweils bestimmten Hard- und Software abhängen kann, die zur Implementierung des Objektdetektors 306 verwendet wird. Diese Reihenfolge kann gewählt werden, um das Training und/oder die Inferenzierungsleistung zu maximieren.
  • Eine Vorverarbeitungs-Bildpipeline kann dazu verwendet werden, ein oder mehrere Rohbild(er), die von einem oder mehreren Sensoren aufgenommen wurden, zu verarbeiten, um ein oder mehrere Eingangsbild(er) für die Eingangsschicht(en) 334 zu erzeugen. Ein Beispiel für eine geeignete Vorverarbeitungs-Bildpipeline kann einen Roh-RCCB-Bayer (z.B. 1-Kanal)-Bildtyp von dem Sensor verwenden und dieses Bild in ein RCB-(z.B. 3-Kanal)-Planarbild umwandeln, das im Format mit fester Genauigkeit (z.B. 16-Bit pro Kanal) gespeichert wird. Die Vorverarbeitungs-Bildpipeline kann Dekompression, Rauschunterdrückung, Demosaicing, Weißabgleich, Histogrammberechnung und/oder adaptives globales Tonemapping (z.B. in dieser Reihenfolge) beinhalten.
  • Wenn eine Rauschminderung eingesetzt wird, kann diese bilaterale Rauschunterdrückung im Bayer-Bereich beinhalten. Wenn Demosaicing eingesetzt wird, kann dieses eine bilineare Interpolation beinhalten. Wenn eine Histogrammberechnung verwendet wird, kann diese die Berechnung eines Histogramms für den C-Kanal beinhalten und kann in einigen Beispielen mit der Dekompression oder der Rauschunterdrückung zusammengeführt sein. Wenn eine adaptives globales Tonemapping verwendet wird, kann dieses die Durchführung einer adaptiven Gamma-Log-Transformation beinhalten. Dies kann das Berechnen eines Histogramms, das Erhalten eines Mitteltonpegels und das Schätzen einer maximalen Leuchtdichte mit dem Mitteltonpegel beinhalten.
  • Die Zwischenschichten 332 können einen Merkmalsextraktor beinhalten, der Faltungsschichten und Pooling-Schichten umfasst, oder können in einigen Beispielen keinerlei Pooling-Schichten enthalten. Eine oder mehrere der Faltungsschichten können durchschrittene Faltungen durchführen. Der Merkmalsextraktor kann dazu konfiguriert sein, eine hierarchische Darstellung des/der Eingangsbild(s/er) aufzubauen, wobei jede Schicht eine Abstraktionsebene aufbaut, die umso höher wird, je höher/weiter sich die Schicht in dem DNN von der/den Eingangsschicht(en) 334 entfernt befindet. Die Ausgabe einer finalen Faltungsmerkmalskarte des Merkmalsextraktors kann als eine Eingabe für eine oder mehrere nachfolgende Ausgabeschicht(en) 330 verwendet werden.
  • In einigen Beispielen beinhalten die Zwischenschichten 332 eine oder mehrere Upsampling-Schichten als Teil des Merkmalsextraktors, welche sich an der Spitze des Merkmalsextraktors und/oder an anderen Stellen befinden kann/können. Die Upsampling-Schichten können die räumliche Auflösung an ihrem Ausgang im Vergleich zu ihrem Eingang erhöhen. Eine Upsampling-Schicht kann eine Dekonvolutionsschicht umfassen, obwohl sie streng genommen keinen Dekonvolutionsvorgang durchführen kann. Alternative Bezeichnungen für eine Upsampling-Schicht beinhalten eine Transponierungsfaltungsschicht oder eine teilweise durchschrittene Faltungsschicht.
  • In einigen Beispielen kann der Merkmalsextraktor des Objektdetektors 306 eine oder mehrere rekurrente Faltungsschichten wie beispielsweise Gated Recurrent Units (GRU) oder Long-Term Short-Term Memory (LSTM)-Einheiten beinhalten, welche entweder eindimensionale oder mehrdimensionale rekurrente Faltungseinheiten sein können. Ferner können Sprungverbindungen oder Restverbindungen zum Verbinden von nicht aufeinanderfolgenden Schichten des Merkmalsextraktors verwendet werden. Zusätzlich können Verkettungsoperatoren als Teil des Merkmalsextraktors verwendet werden. Es können verschiedene Arten von Aktivierungsfunktionen verwendet werden, wie z.B. (und nicht beschränkt auf): ReLU, Leaky ReLU, Sigmoid, Tanh und ELU. Außerdem können auch Stapel-Normalisierungsebenen verwendet werden.
  • Die Ausgabeschicht(en) 330 (oder das Ensemble von Schichten) kann beliebige der verschiedenen hierin beschriebenen Erfasstes-Objekt-Daten vorhersagen/ausgeben. Angenommen, der Objektdetektor 306 gibt Vorhersagen für eine Anzahl C von interessierenden Objektklassen aus. Die nachfolgende(n) Ausgabeschicht(en) 330 können einen Satz von Faltungsfiltern (z.B. 1 × 1 oder 3 × 3, aber nicht beschränkt auf diese Beispiele) auf die Ausgabe einer letzten oder finalen Faltungsmerkmalskarte vor der/den Ausgabeschicht(en) 330 anwenden. Es sei angenommen, dass in einem beispielhaften, nicht beschränkenden Ausführungsbeispiel die finale Merkmalskarte am Ausgang der Ausgabeschicht(en) 330 eine räumliche Auflösung von Wout × Hout aufweist. Dann kann jedes der Raumelemente auf dieser Merkmalskarte für jede der betrachteten C Klassen beliebige der verschiedenen hierin beschriebenen Erfasstes-Objekt-Daten in Bezug auf die Ausgabeschicht(en) 330 ausgeben.
  • Wenn beispielsweise angenommen wird, dass eine Eingabe der Größe 960 × 480 × 3 (z.B. einer Breite von 960 Pixel, einer Höhe von 480 Pixel und mit 3 Farbkanälen) in den Objektdetektor 306 eingegeben wird, kann jede Ausgabezelle (z.B. Gitterzelle) einem Pixelbereich (z.B. 16 × 16) in dem Eingabebild entsprechen. Dieser Pixelbereich kann einer hierin beschriebenen Erfasstes-Objekt-Region entsprechen und kann auf der Schrittweite des DNN basieren. In diesem Beispiel kann/können die Ausgabeschicht(en) 330 ein Feld bzw. Array der Größe 60 × 30 × (1+4) × C beinhalten. Ein Array/eine Matrix (z.B. eine multidimensionale Matrix), das bzw. die der/den Ausgangsschicht(en) 330 entspricht, kann als ein Ausgangstensor des Objektdetektors 306 bezeichnet werden.
  • Beispiele für ein oder mehrere Modell(e) maschinellen Lernens zur Bestimmung von Erfassungsvertrauenswerten
  • Der Vertrauenswertgenerator 112 (und damit die von dem Vertrauenswertgenerator 112 erzeugten Vertrauenswerte) können in vielen verschiedenen möglichen Anwendungen verwendet werden, von welchen nicht beschränkende Beispiele beinhalten: Videoüberwachung, Video- oder Bildbearbeitung, Video- oder Bildsuche oder -abruf, Objektnachverfolgung, Wettervorhersage (z.B. unter Verwendung von RADAR-Daten), medizinische Bildgebung (z.B. unter Verwendung von Ultraschall- oder Magnetresonanztomographie (MRI)-Daten) und/oder autonomes Fahren. Im Kontext autonomen Fahrens können aggregierte erfasste Objekte, die ausreichende Vertrauenswerte haben, Bereiche in dem/den Sichtfeld(ern) und/oder Bild(ern) beschreiben, die ein Objekt beinhalten, das für das Fahren des Fahrzeugs 1500 relevant ist, und mit anderen Arten von Informationen (wie Daten von anderen Sensoren wie LIDAR oder RADAR oder Informationen, die von anderen Systemen im Fahrzeug 1500 berechnet wurden) kombiniert werden. Beispielsweise können Vertrauenswerte dem Fahrzeug 1500 anzeigen, dass eine Wahrscheinlichkeit von 0,95 (95%) besteht, dass es ein Objekt (wie ein anderes Fahrzeug) unmittelbar vor dem Fahrzeug 1500 an einer bestimmten Position relativ zu dem Fahrzeug gibt, aber nur eine Wahrscheinlichkeit von 0,03 (3%) besteht, dass es ein relevantes Objekt über einer Grundebene, wie beispielsweise eine Wolke, gibt, die für den unmittelbaren Betrieb des Fahrzeugs 1500 wahrscheinlich nicht relevant ist.
  • Der Vertrauenswertgenerator 112 kann einen Vertrauenswert für einen Cluster oder eine aggregierte Erfassung erzeugen, der zumindest teilweise auf Merkmalen basiert, die zumindest der aggregierten Erfassung zugeordnet sind. Die Merkmale können unter Verwendung des Merkmalsbestimmers 110 bereitgestellt werden. Der Vertrauenswertgenerator 112 kann einen oder mehrere Vektor(en) (z.B. einen einzelnen Vektor) von Merkmalen als seine Eingabe(n) heranziehen und einen oder mehrere Vertrauenswert(e) ausgeben. Ein Vertrauenswert kann ein einzelner skalarer Wert sein, beispielsweise in einem Bereich von 0 bis 1. Unter Verwendung eines skalaren Werts kann der Vertrauenswert direkt als Wahrscheinlichkeit einer Fehlerfassung interpretiert werden.
  • Der Vertrauenswertgenerator 112 kann ein oder mehrere Modelle maschinellen Lernens (z.B. (ein) neuronale(s) Netzwerk(e)) umfassen, die dazu trainiert sind, den/die Vertrauenswert(e) zu erzeugen, der/die zumindest teilweise auf den Merkmalen basiert/basieren. Der Vertrauenswertgenerator 112 kann beispielsweise einen Vertrauenswert basierend zumindest teilweise auf den Ausgängen des erfassten Objekt-Clusterers 108 regressieren bzw. zurückentwickeln. Der Vertrauenswertgenerator 112 kann als oder unter Verwendung eines oder mehrerer rückgekoppelter neuronaler Netzwerk(e), wie beispielsweise ein mehrschichtiges Perzeptron (MLP)-Netzwerk, implementiert sein.
  • 1B zeigt ein nicht beschränkendes Beispiel, bei dem der Vertrauenswertgenerator 112 ein MLP umfasst. Das MLP kann eine einzelne verborgene Schicht beinhalten; dies ist jedoch nur ein Beispiel, und die Anzahl der verborgenen Schichten könnte unterschiedlich sein, beispielsweise zwei oder drei. Darüber hinaus könnte die Anzahl der Knoten pro Schicht auf verschiedene Weise dimensioniert werden. 1B zeigt beispielsweise sieben Eingangsknoten (einschließlich eines Knotens 140), einen pro Eingangsmerkmal, jedoch ist dies nur ein nicht beschränkendes Beispiel. Auch wenn Merkmale direkt aus Pixeln/Einzelbildelementen und/oder Bild- oder Sensordaten berechnet werden (z.B. Eingangspixel/Einzelbildelemente für den Objektdetektor 106), kann der Vertrauenswertgenerator 112 zusätzlich zu dem oder anstelle des MLP eine oder mehrere Faltungsschichten beinhalten.
  • In einigen Beispielen können dem Vertrauenswertgenerator 112 Erfassungen gemeinsam zur Verfügung gestellt werden, die aus einem zugeführten Einzelbild oder Bild für den Objektdetektor 106 (z.B. nach der Filterung durch den Erfasstes-Objekt-Filter 116A) extrahiert wurden. Doppelte Erfassungen könnten entfernt werden. In diesen Beispielen könnten die Eingangsmerkmale für den Vertrauenswertgenerator 112 allesamt gemeinsam von dem Merkmalsbestimmer 110 aus den Erfassungen extrahiert und dem Vertrauenswertgenerator 112 zugeführt werden. Der Vertrauenswertgenerator 112 kann ein rekurrentes neuronales Netzwerk (RNN) umfassen, das die Merkmale empfängt. Dies kann in Beispielen von Vorteil sein, in denen die Anzahl von Erfassungen pro Einzelbild variabel sein kann. Es kann jede Form von RNN(s) verwendet werden, wie z.B. Long Term Memory (LSTM) oder Gated Recurrent Unit (GRU). Ein MLP kann jedoch ferner verwendet werden, z.B. durch Dimensionierung eines Eingangsvektors in den Vertrauenswertgenerator 112 in Übereinstimmung mit einer maximalen Anzahl von Erfassungen pro Einzelbild. Nicht verwendete Einträge können mit Nullen und/oder anderen Platzhalterwerten gefüllt werden.
  • Das Training des Vertrauenswertgenerators 112 kann beispielsweise ein Clustern bzw. Bündeln von Ausgängen des Objektdetektors 106 (z.B. unter Verwendung des Erfasstes-Objekt-Clusterers 108 und/oder des Erfasstes-Objekt-Filter 116A) beinhalten. Basierend auf einer beliebigen Kombination der aggregierten erfassten Objektdaten, die den Clustern zugeordnet sind, kann der Merkmalsbestimmer 110 die Merkmale bestimmen und die Merkmale als Eingaben für den Vertrauenswertgenerator 112 bereitstellen. Ein Grundwahrheitsbezeichnen kann dazu verwendet werden, die Cluster als falsch positive Ergebnisse oder richtig positive Ergebnisse zu kennzeichnen. Während des Trainings kann falsch positiven Ergebnissen eine Kennzeichnung ‚0‘ zugewiesen werden, während richtig positiven Ergebnissen eine Kennzeichnung ‚1‘ für den Vertrauenswert zugewiesen werden kann. Unter Verwendung dieses Ansatzes können Ausgaben des Vertrauenswertgenerators 112 (z.B. entsprechend einem einzelnen Ausgangsknoten 142 in einigen Beispielen) mit den Grundwahrheitsbezeichnungen verglichen werden. Die Vergleiche können zur Berechnung von Fehlertermen verwendet werden, und die Fehlerterme können von einem Backpropagationsalgorithmus dazu verwendet werden, die Gewichte des/der Modell(e) maschinellen Lernens anzupassen. Der Vertrauenswertgenerator 112 kann mit einer Sigmoid-Aktivierungsfunktion (auch als eine logistische Aktivierungsfunktion bezeichnet) und/oder einem Kreuzentropieverlust (auch als ein logistischer Verlust bezeichnet) trainiert werden. In einigen Beispielen kann das Training offline durchgeführt werden, und kann nur ein Vorwärtsdurchlauf ausgeführt werden, wenn der Vertrauenswertgenerator 112 eingesetzt wird (z.B. mit vortrainierten und vorgeladenen Gewichten). Nach dem Training kann anhand des Vertrauenswerts beurteilt werden, welche Erfassungen (z.B. gebündelte Erfassungen) mit falsch positiven Erfassungen übereinstimmen.
  • Die Merkmale, die der Merkmalsbestimmer 110 dem Vertrauenswertgenerator 112 bereitstellt, können auf einer Vielzahl von möglichen Faktoren basieren. Um einen Vertrauenswert für eine aggregierte Erfassung zu bestimmen, kann der Merkmalsbestimmer 110 ein oder mehrere Merkmale aus der aggregierten Erfassung extrahieren oder das eine oder die mehreren Merkmale für die aggregierte Erfassung bestimmen und kann diese Merkmale auf den Vertrauenswertgenerator 112 anwenden. Ein Merkmal für eine aggregierte Erfassung kann zumindest teilweise auf den aggregierten Erfasstes-Objekt-Daten, wie beispielsweise einer Position und/oder einer Erfasstes-Objekt-Region, die der aggregierten Erfassung zugeordnet ist, einem oder mehreren Orientierungswert(en), der/die der aggregierten Erfassung zugeordnet ist/sind, einem oder mehreren Sichtbarkeitswert(en) (z.B. Höhe und/oder Breite), der/die der aggregierten Erfassung zugeordnet ist/sind, einem oder mehreren Tiefenwert(en), der/die der aggregierten Erfassung zugeordnet ist/sind, und/oder anderen Informationen, die der aggregierten Erfassung zugeordnet sind. basieren. Zusätzlich oder alternativ kann ein Merkmal für eine aggregierte Erfassung zumindest teilweise auf den Erfasstes-Objekt-Daten für ein beliebiges der verschiedenen erfassten Objekte basieren, die dem Cluster entsprechen, wie beispielsweise eine Position und/oder eine Erfasstes-Objekt-Region, ein oder mehrere Sichtbarkeitswert€ (z.B. Höhe und/oder Breite), ein oder mehrere Tiefenwert(e) und/oder andere den erfassten Objekten zugeordnete Informationen. Beispielsweise kann ein Merkmal einer Höhe, einer Breite, einem Bereich, einem Mittelpunkt oder Mittenpunkt (z.B. x und y, welche in einigen Beispielen separaten Merkmalen entsprechen können) und/oder einer anderen Dimension einer Erfasstes-Objekt-Region, die der aggregierten Erfassung zugeordnet ist, entsprechen.
  • In einigen Beispielen berechnet der Merkmalsbestimmer 110 eine oder mehrere Statistik(en) (z.B. einen oder mehrere statistische Wert(e)) und stellt die Statistik(en) oder daraus abgeleitete Daten als ein Merkmal zur Verfügung. Beispiele für Statistiken beinhalten eine Summe, einen Mittelwert, einen Durchschnitt, ein Histogramm orientierter Gradienten (HOG), ein Maximum, ein Minimum, eine Standardabweichung, eine Mode, eine Varianz, einen Median, einen Bereich und/oder einen anderen statistischen Aspekt der Abdeckungswerte von zumindest einigen der erfassten Objekte des Clusters. Weitere Beispiele für Statistiken beinhalten eine Summe, einen Mittelwert, ein HOG, einen Durchschnitt, ein Maximum, ein Minimum, eine Standardabweichung, eine Varianz, eine Mode, einen Median, einen Bereich und/oder andere statistische Aspekte der Orte bzw. Positionen (z.B. Koordinaten der Erfasstes-Objekt-Region) und/oder von Erfasstes-Objekt-Regionen von zumindest einigen der erfassten Objekte des Clusters. Beispielsweise kann die Statistik einer Höhe, einer Breite, einem Bereich, einem Mittelpunkt oder Mittenpunkt (z.B. x, y) und/oder einer anderen Dimension der Erfasstes-Objekt-Regionen entsprechen. In einigen Beispielen basiert die Statistik auf einer loU zwischen Erfasstes-Objekt-Regionen, wie beispielsweise einer maximalen loU zwischen Erfasstes-Objekt-Regionen (eine beispielhafte Gleichung zur Berechnung einer loU ist hierin enthalten). Ein weiteres Beispiel für eine Statistik ist eine Anzahl der erfassten Objekte, die Teil des Clusters sind. Darüber hinaus können Statistiken, wie z. B. eine Summe, ein Mittelwert, ein Durchschnitt, eine Standardabweichung, eine Mode, eine Varianz, ein Median, ein Bereich und/oder ein anderer statistischer Aspekt, aus beliebigen der verschiedenen hierin beschriebenen Erfasstes-Objekt-Daten berechnet werden, wie z. B. eine Statistik über Tiefe, Sichtbarkeit, Orientierung usw.
  • Der Merkmalsbestimmer 110 kann ein oder mehrere Merkmale aus einer oder mehreren Regionen der auf den Objektdetektor 106 angewandten Sensordaten bestimmen, wie beispielsweise Raumelementregionen (oder Erfasstes-Objekt-Regionen), die dem/den erfassten Objekt(en) oder den vorstehend beschriebenen aggregierten erfassten Objekten entsprechen. Wenn beispielsweise hierin beschrieben ist, dass eine Statistik zumindest teilweise basierend auf einer Erfasstes-Objekt-Region berechnet werden kann, dann kann diese Statistik aus entsprechenden Eingangspixeln oder Teilen von Sensordaten (z.B. für den Objektdetektor 106) und/oder Merkmalen in dem Objektdetektor 106 (z.B. NN-Schichten, wie beispielsweise eine oder mehrere Ausgangs- oder CNN-Schichten) berechnet werden.
  • Beispielsweise kann der Merkmalsbestimmer 110 Pixel eines oder mehrerer Bild(s/er), die zum Bestimmen des Clusters verwendet werden, analysieren, um einen oder mehrere Merkmalswert(e) zu bestimmen. Zusätzlich oder alternativ kann der Merkmalsbestimmer 110 zumindest einige dieser Pixel oder Raumelementregionen (oder Erfasstes-Objekt-Regionen) oder daraus abgeleitete Pixel einer oder mehreren Faltungsschichten als Merkmale des Vertrauenswertgenerators 112 bereitstellen (in Beispielen, in denen der Vertrauenswertgenerator 112 eine Faltungsschicht beinhaltet). Zusätzlich oder alternativ können diese Merkmale aus Merkmalen des Objektdetektors 106 berechnet werden, wie beispielsweise aus Merkmalen einer oder mehrerer der CNN-Schichten (z.B. der letzten Schicht vor der/den Ausgangsschicht(en) 330 des Objektdetektors 306). Ein solches Beispiel einer Statistik, die für eine Erfasstes-Objekt-Region berechnet werden kann, beinhaltet ein HOG. Dies kann (z.B. direkt) aus entsprechenden Elementen des letzten CNN vor der/den Ausgangsschicht(en) 330 und/oder aus entsprechenden Eingangspixeln in den Objektdetektor 106 berechnet werden. Statistiken und/oder Merkmale (z.B. nicht-statistisch) für Erfasstes-Objekt-Regionen (oder aggregierte Erfasstes-Objekt-Regionen) können Farb-, Chrominanz-, Luminanz-, Pixel- und/oder anderen Datenwerten für diese Bereiche entsprechen. Darüber hinaus kann jede der verschiedenen hierin beschriebenen statistischen Arten (z.B. Varianz, Mittelwert usw.) aus einem dieser Datenwerte oder anderen entsprechenden Werten der Regionen berechnet werden.
  • Jede der verschiedenen Statistiken hierin kann beispielsweise mittels den zugehörigen Abdeckungswerten und/oder Erfasstes-Objekt-Regionen für die erfassten Objekte gewichtet werden. Beispielsweise kann der Merkmalsbestimmer 110 bei der Berechnung einer Varianz für den Cluster eine Höhe, eine Breite, einen Bereich oder einen Mittelpunkt oder Mittenpunkt für ein erfasstes Objekt um seinen Abdeckungswert gewichten. Jedes andere hierin beschriebene Merkmal oder Element davon kann in ähnlicher Weise gewichtet werden, wenn es aus erfassten Objekten eines Clusters berechnet wird. Darüber hinaus kann jedes der verschiedenen Merkmale der hierin beschriebenen Elemente zur Bestimmung eines Vertrauenswerts für einen Cluster unter Verwendung erfasster Objekte berechnet werden, die Teil des Clusters sein können oder nicht. Als ein Beispiel könnte die Varianz oder eine andere Statistik für ein Merkmal für jedes erfasste Objekt (oder eine Teilmenge davon) von dem Objektdetektor 106, jedes erfasste Objekt (oder eine Teilmenge davon) nach dem Filtern durch den Erfasstes-Objekt-Filter 116A und/oder jedes erfasste Objekt (oder eine Teilmenge davon) eines oder mehrerer anderer Cluster sein.
  • In einigen Beispielen kann ein Merkmal zumindest teilweise auf einer Merkmalskarte der Abdeckungswerte des Objektdetektors 106 basieren. Beispielsweise könnte eine komplette Abdeckungsmerkmalskarte als ein Merkmal (z.B. als eine Aktivitätskarte) bereitgestellt sein. In einem Beispiel kann ein Merkmal zumindest teilweise auf einer Summe der von dem Objektdetektor 106 bereitgestellten Abdeckungswerte basieren, die jedem vom Erfasstes-Objekt-Clusterer 108 bestimmten Cluster entsprechen.
  • Der Merkmalsbestimmer 110 kann in einigen Beispielen zumindest ein Merkmal für den Vertrauenswertgenerator 112 bestimmen, das zumindest teilweise auf Ausgangsdaten einer Trägheitsmesseinheit (IMU) basiert, die zumindest einem Sensor zugeordnet sind, der die Sensordaten bereitstellt, die von dem Objektdetektor 106 zum Erfassen von Objekten verwendet werden können. Beispielsweise kann die IMU von dem Fahrzeug 1500 sein. Als ein weiteres Beispiel kann dann, wenn die Sensordaten von einer tragbaren Videokamera oder einem anderen Gerät stammen, die IMU von diesem Gerät sein. Die IMU-Ausgangsdaten können beispielsweise mit einer Orientierung des Gerätes in der Umgebung korreliert sein oder dieser entsprechen.
  • Während Entfernungsdaten für ein erfasstes Objekt und/oder ein aggregiertes erfasstes Objekt hierin als potenziell eine vorhergesagte oder abgeleitete Ausgabe des Objektdetektors 106 beschrieben werden, kann die Entfernung, die Tiefe oder die 3D-Position eines erfassten Objekts und/oder eines aggregierten erfassten Objekts auf andere Weise abgeleitet werden. Beispielsweise können die Entfernungsdaten aus dem Objektdetektor 106, einem anderen Modell maschinellen Lernens und/oder zumindest einem Sensor, wie beispielsweise einem oder mehreren LIDAR-Sensor(en), einem oder mehreren RADAR-Sensor(en) und/oder einer oder mehreren Stereokamera(s) (z.B. des Fahrzeugs 1500) bestimmt werden. In einigen Beispielen können die Entfernungsdaten für eine Entfernung repräsentativ sein, die unter Verwendung zumindest eines der Sensoren gemessen wird. Entfernungsdaten, die unter Verwendung einer beliebigen Kombination dieser Ansätze abgeleitet werden, können von dem Merkmalsbestimmer 110 dazu verwendet werden, ein entfernungsbasiertes Merkmal für den Vertrauenswertgenerator 112 zu bestimmen.
  • Der Merkmalsbestimmer 110 kann in einigen Beispielen zumindest ein Merkmal für den Vertrauenswertgenerator 112 bestimmen, das zumindest teilweise auf einer Grundebenenschätzung der Umgebung 202 basiert. Diese Grundebenenschätzung kann beispielsweise durch ein Subsystem eines fortgeschrittenen Fahrerassistenzsystems (ADAS) des Fahrzeugs 1500, das von dem Objekterfassungssystem 100 getrennt ist, bestimmt werden. Unter Verwendung einer Grundebenenschätzung kann der Vertrauenswertgenerator 112 lernen, falsch positive Ergebnisse für erfasste Objekte in Bezug auf eine Grundebene zu erfassen, wie beispielsweise, dass Autos oder andere bodengebundene Objekte zu der Grundebene benachbart sind.
  • In einigen Beispielen kann der Merkmalsbestimmer 110 eines oder mehrere der Merkmale, die zumindest teilweise auf einem beliebigen der verschiedenen hierin beschriebenen Faktoren beruhen, über Einzelbilder (z.B. Videoframes) und/oder Bilder, wie beispielsweise in einem Zeitbereich, bestimmen. Beispielsweise kann der Objektnachverfolger 114 aggregierte erfasste Objekte und/oder erfasste Objekte über Einzelbilder hinweg zuordnen (z.B. Cluster und/oder Cluster, die einen Vertrauenswert aufweisen, der einen Schwellenwert überschreitet). Dies kann beinhalten, dass der Objektnachverfolger 114 bestimmt, dass zumindest ein erstes erfasstes Objekt und ein zweites erfasstes Objekt ein oder mehrere gleiche Objekte sind, die über sequentielle Einzelbilder, die durch die Sensordaten und/oder Bilddaten dargestellt werden, hinweg dargestellt werden. Der Objektnachverfolger 114 kann ferner zumindest einen Wert desselben Objekts (derselben Objekte) berechnen, der (die) zumindest teilweise auf dem ersten erfassten Objekt und dem zweiten erfassten Objekt basiert (basieren). Dieser Wert kann für das/die gleiche(n) Objekt(e) über eine beliebige Anzahl von Einzelbildern berechnet und im Laufe der Zeit mit der Erzeugung neuer Einzelbilder aktualisiert werden. Ein oder mehrere der Merkmale können zumindest teilweise auf dem zumindest einen Wert basieren.
  • Als ein Beispiel kann der zumindest eine Wert einer Anzahl von Einzelbildern entsprechen, in welchen das/die verfolgte(n) Objekt(e) (z.B. das/die dem Cluster entspricht/entsprechen, für den/die der Vertrauenswert berechnet wird) erfasst worden sind. Beispielsweise kann der zumindest eine Wert einer Kovarianz einer Zustandsschätzung des/der nachverfolgten Objekte (z.B. Sichtbarkeitszustand, usw.) entsprechen. Die Zustandsschätzung kann durch einen probabilistischen Zustandsschätzer für die Objekte, wie beispielsweise einen Kalman-Filter, bereitgestellt werden. Weitere Beispiele sind Statistiken von Merkmalen und/oder Werten innerhalb der Erfasstes-Objekt-Regionen des/der verfolgten Objekt(s/e). Beispielsweise könnte jede(s) der verschiedenen hierin beschriebenen Statistiken und Merkmale, die mehrere erfasste Objekte (z.B. desselben Clusters) involvieren, als ein Merkmal oder für ein Merkmal verwendet werden, das dem/den nachverfolgten Objekt(en) entspricht (z.B. durch ähnliches Analysieren der Erfasstes-Objekt-Daten über Einzelbilder hinweg für dasselbe/dieselben Objekt(e)).
  • Weitere Beispiele beinhalten den/die Wert(e), der/die einer Korrelation des/der nachverfolgten Objekt(s/e) mit einem Modell der Objektdarstellung entspricht. Der Wert könnte beispielsweise angeben, wie ähnlich das nachverfolgte Objekt und/oder Teile desselben über Einzelbilder hinweg aussehen. Der/die Wert(e) können zusätzlich oder alternativ einer geschätzten Kinematik des nachverfolgten Objekts und/oder der Trajektorien des nachverfolgten Objekts entsprechen.
  • Beispiele für das Trainieren eines oder mehrerer Modell(s/e) maschinellen Lernens zur Objekterfassung
  • Der Objektdetektor 106 (oder der Objektdetektor 306) kann unter Verwendung verschiedener möglicher Ansätze trainiert werden. In einigen Beispielen kann der Objektdetektor 106 in einer vollständig überwachten Weise trainiert werden. Trainingsbilder zusammen mit ihren Bezeichnern können in Ministapel bzw. Minibatches zusammengefasst werden, wobei die Größe der Ministapel in einigen Beispielen ein abstimmbarer Hyperparameter sein kann. Jeder Ministapel kann an eine Online-Datenvermehrungsschicht übergeben werden, welche Transformationen auf Bilder in diesem Ministapel anwenden kann. Die Datenvermehrung kann dazu verwendet werden, eine mögliche Überanpassung des Objektdetektors 106 an die Trainingsdaten zu verringern. Die Datenvermehrungstransformationen können räumliche Transformationen wie Links-Rechts-Vertauschen, Ein-/Aus-Zoomen, zufällige Übersetzungen usw., Farbtransformationen wie Farbton-, Sättigungs- und Kontrasteinstellung oder additives Rauschen beinhalten (sind aber nicht darauf beschränkt). Bezeichner können transformiert werden, um entsprechende Transformationen widerzuspiegeln, die an Trainingsbildern durchgeführt wurden.
  • Erweiterte Bilder können an den Objektdetektor 106 weitergeleitet werden, um Vorwärtsdurchlaufberechnungen durchzuführen. Der Objektdetektor 106 kann eine Merkmalsextraktion und -vorhersage auf einer Pro-Raumelement-Basis (z.B. eine Vorhersage von Objektklassen, Begrenzungsrahmen und/oder anderen Ausgaben auf einer Pro-Gitterquadrat-Basis) durchführen. Verlustfunktionen können gleichzeitig den Fehler in den Aufgaben zur Vorhersage der verschiedenen Ausgaben (z.B. die Objektabdeckung für jede Objektklasse und regressierende Objektbegrenzungsrahmenkoordinaten, oder allgemeiner in allen Aufgaben, wenn zusätzliche Ausgaben einbezogen werden) messen.
  • Die Komponentenverluste für die verschiedenen Ausgaben können in einer einzigen Verlustfunktion, die für den gesamten Ministapel gilt (siehe die weitere Diskussion möglicher Kostenfunktionen) zusammengefasst werden. Dann können Rückwärtsdurchlaufberechnungen durchgeführt werden, um rekursiv Gradienten der Kostenfunktion in Bezug auf trainierbare Parameter (typischerweise zumindest die Gewichte und Tendenzen des Objektdetektors 106, jedoch nicht darauf beschränkt, da es andere trainierbare Parameter geben kann, z.B. wenn eine Stapelnormalisierung verwendet wird) zu berechnen. Vorwärts- und Rückwärtsdurchlaufberechnungen können typischerweise durch ein tief lernendes Framework und einen darunter liegenden Software-Stack durchgeführt werden.
  • Anschließend kann eine Parameteraktualisierung für den Objektdetektor 106 erfolgen. Ein Optimierer kann dazu verwendet werden, eine Anpassung trainierbarer Parameter vorzunehmen. Beispiele beinhalten stochastischen Gradientenabstieg oder stochastischen Gradientenabstieg mit einem Impulsterm. Der wichtigste Hyperparameter, der mit dem Optimierer verbunden ist, kann die Lernrate sein. Abhängig von dem Optimierer kann es auch andere Hyperparameter geben.
  • Bilder in dem Datensatz können für jede Epoche während des Trainings in einer zufälligen Reihenfolge dargestellt werden, welches zu einer schnelleren Konvergenz führen kann. Eine Epoche kann sich auf die Anzahl der Vorwärts-/Rückwärts-Durchlaufiterationen beziehen, die dazu verwendet werden, jedes Bild des Datensatzes einmalig dem unter Training stehenden Objektdetektor 106 zu zeigen. Der gesamte Prozess „Vorwärtsdurchlauf - Rückwärtsdurchlauf - Parameter-aktualisierung“ kann bis zur Konvergenz der trainierten Parameter iteriert werden. Die Konvergenz kann beurteilt werden, in dem beobachtet wird, wie sich der Wert der Verlustfunktion sowohl bei den Trainings- als auch bei den Validierungssets auf einen ausreichend niedrigen Wert verringert, und bestimmt wird, dass weiteres Iterieren den Verlust nicht weiter verringern würde. Andere Metriken könnten zur Beurteilung der Konvergenz herangezogen werden, wie beispielsweise eine über einen Validierungssatz berechnete durchschnittliche Genauigkeit.
  • Während des Trainings kann die Validierung periodisch durchgeführt werden. Dies kann eine Überprüfung der Durchschnittswerte der Verlustfunktion über Bilder in einem Validierungssatz (getrennt vom Trainingssatz) beinhalten. Darüber hinaus können andere Metriken dazu verwendet werden, die Konvergenz des Lernprozesses zu bewerten. Beispielsweise können Ende-zu-Ende-Metriken basierend auf final gebündelten Erfassungen berechnet werden. Zu diesem Zweck kann der Rest der Nachverarbeitungspipeline als Teil des Validierungsprozesses angewendet werden. Eine Metrik, die für zumindest einige Ausgaben verwendet werden kann, ist eine Average Precision (AP)-Metrik. Andere Ausgaben können andere zugehörige Metriken haben. Während der Validierung können eine oder mehrere Metriken berechnet werden, um die Leistung des Objektdetektors 106 gegenüber dem Validierungsdatensatz zu messen.
  • Wie hierin erwähnt wurde, kann jeder der Ausgänge des Objektdetektors 106 (z.B. der Ausgangsschicht(en) 330 oder anderweitig hierin diskutiert) einer separaten Verlustfunktion zugeordnet werden, die für das Training verwendet wird. Es kann jede geeignete Verlustfunktion(en) verwendet werden. Es folgen Beispiele für geeignete Verlustfunktionen: L ( y , x ) = | y f w ( x ) |
    Figure DE112019000049T5_0001
    L ( y , x ) = ( y f w ( x ) ) 2
    Figure DE112019000049T5_0002
    L ( y , x ) = y l o g ( f w ( x ) ) ( 1 y ) l o g ( 1 f w ( x ) )
    Figure DE112019000049T5_0003
  • In den vorstehenden Gleichungen ist die Grundwahrheit durch y bezeichnet, und ist der Ausgang des Objektdetektors 106 mit Gewichten W für Eingang x durch fw(x) bezeichnet.
  • Als Beispiele kann eine gewichtete (L1) Verlustfunktion für die Positionsdaten 310 (z.B. Begrenzungsrahmenkoordinaten) verwendet werden, kann eine gewichtete (Binäre Kreuzentropie) oder (L2) Verlustfunktion für die Abdeckungsdaten 312 (z.B. ein Abdeckungswert) verwendet werden, kann eine gewichtete (L1)-Verlustfunktion für die Orientierungsdaten 316 (oder die Orientierungsdaten 318) und die Tiefendaten 314 verwendet werden, und kann eine gewichtete (L2)-Verlustfunktion für die Höhen-Sichtbarkeitsdaten 320 und die Breiten-Sichtbarkeitsdaten 322 (z.B. Okklusions-/Trunkierungs-Flags) verwendet werden.
  • Für die einzelnen Kostenfunktionen kann ein Beispiel für ein geeignetes Gewichtungsschema für positive und negative räumliche Elemente (z.B. Gitterzellen), welche sich auf solche beziehen können, die Grundwahrheitsziele enthalten und solche, die keine Grundwahrheitsziele enthalten, ein unterschiedliches Gewichten dieser räumlichen Elemente, wenn die Gesamtkostenfunktion berechnet wird, beinhalten. Wenn beispielsweise ein größeres Gewicht auf die negativen Raumelemente als auf die positiven Raumelemente gelegt wird, kann dies dazu führen, dass das Netzwerk „leeren“ Raum (z.B. das Fehlen eines Objekts von Interesse) besser lernt, welches in weniger falsch positiven Erfassungen resultiert. Dieser Ansatz kann für die Abdeckungsdaten 312 verwendet werden.
  • Ein weiteres Beispiel für die individuellen Kostenfunktionen beinhaltet für die individuellen räumlichen Elemente (z.B. Gitterzellen) ein Gewichten des Verlusts durch die entsprechende (normierte) Abdeckung, weil Grundwahrheit für die Ausgabe nur in den räumlichen Elementen existiert, in denen die Grundwahrheit größer als Null ist. In räumlichen Elementen, bei denen die Grundwahrheit Null ist, kann der Verlust für die Ausgabe daher auf null gehen. Dieser Ansatz kann für alle anderen Ausgaben mit Ausnahme der Abdeckungsdaten 312 verwendet werden.
  • Nach der Gewichtung können die Verluste über die räumlichen Elemente (und Erfasstes-Objekt-Region-Koordinaten im Falle einer Erfasstes-Objekt-Region) gemittelt werden, um zu einem einzigen skalaren Verlust für jede Ausgabe und jede Zielklasse zu gelangen. Darüber hinaus kann es in Mehrkopf-Netzwerken zu unterschiedlichen skalaren Verlusten kommen, die jedem Kopf entsprechen. Zu Trainingszwecken können diese individuellen Verluste dann, wie hierin näher beschrieben, zu einem einzigen Skalar zusammengefasst werden.
  • Wie hierin beschrieben, kann es in einigen Beispielen für jede Kombination aus Ausgang, Zielklasse und Kopf des Objektdetektors 106 separate Verlust-/Kosten-Werte geben. Diese Kostenkomponenten können gewichtet und zu einem einzigen Skalar für Netzwerktrainingszwecke zusammengefasst werden. Ein Ansatz für die Gewichtung kann darin bestehen, einen festen Satz von Gewichten auszuwählen und eine einfache gewichtete Summe der Kostenkomponenten durchzuführen. Unter Verwendung dieses Ansatzes kann es herausfordernd sein, die Gewichte geeignet festzulegen, da die Anzahl verschiedener Gewichtsparameter groß sein kann. Dies kann in einer Suche nach optimalen Gewichtswerten durch Training mit jeder möglichen Kombination resultieren, welches eine schwere Belastung sein kann. In einigen Ansätzen können gleiche Gewichte zwischen den Zielklassen und auch zwischen verschiedenen Köpfen verwendet werden. Dies kann in einem genau trainierten Netzwerk resultieren, während die Wahl von Gewichten zwischen verschiedenen Ausgängen immer noch offen bleibt.
  • In jedem beliebigen Beispiel kann ein Gewichtungsschema verwendet werden, das die Festlegung eines Sollverhältnisses zwischen den Kostenkomponenten beinhaltet. Dies kann als die Bedeutung der verschiedenen Ausgaben im Vergleich zu der Abdeckungsleistung interpretiert werden. Dadurch kann auch die Gewichtsauswahl unabhängig von z.B. dem Datensatz erfolgen, der sonst die Auswahl beeinflussen könnte.
  • Ohne Verlust an Allgemeingültigkeit wird ein Auto-Gewichts-Schema für die Kosten der Positionsdaten 310 und insbesondere der Begrenzungsrahmenkosten erklärt. Die Gewichte für andere Ausgänge können auf die gleiche Weise abgeleitet werden. Das Auto-Gewichts-Schema kann die Kostengewichte adaptiv/automatisch anpassen, wenn nur die Sollverhältnisse für die gewichteten Verluste gegeben sind. Die Begrenzungsrahmenkosten und das entsprechende Kostengewicht können jeweils als Lbbox bzw. wbbox bezeichnet sein, und dasselbe gilt für die Abdeckung und Lcov und wcov . Die Gewichte w können gewählt werden unter Verwendung von: K bbox = L bbox w bbox L cov w cov
    Figure DE112019000049T5_0004
    worin Kbbox das Sollverhältnis für die gewichteten Verluste ist. Um zu erreichen, dass sich die Gewichte auf Eins summieren, kann für den Begrenzungsrahmen und das Abdeckungsgewicht das Folgende verwendet werden: w bbox = K bbox L cov K bbox L cov + L bbox
    Figure DE112019000049T5_0005
    w cov = L bbox K bbox L cov + L bbox
    Figure DE112019000049T5_0006
  • Diese Regel kann periodisch, wie z.B. einmal pro Trainingsepoche, zur Festlegung der Gewichte verwendet werden. Die Kosten in der Aktualisierungsregel können aus dem Trainingsdatensatz berechnet werden, um eine Überanpassung an die Validierungsdaten zu verhindern. Unter Verwendung dieses Ansatzes können die Gewichte adaptiv so eingestellt werden, dass nach der Konvergenz das gewünschte Sollverhältnis für die gewichteten Verluste erreicht werden kann.
  • Beispiele für die Erzeugung von Grundwahrheiten zur Objekterfassung
  • Auf 4 Bezug nehmend, ist 4 eine Darstellung einschließlich eines beispielhaften Objekterfassungs-Trainingssystems 400 gemäß einigen Ausführungsbeispielen der Erfindung. Das Objekterfassungs-Trainingssystem 400 beinhaltet einen Formbestimmer 402, einen Abdeckungswertbestimmer 404, einen Aktives-Objekt-Wähler 406, einen Sichtbarkeitsbestimmer 408, einen Orientierungsbestimmer 410, einen Grundwahrheitsgenerator 412 und einen Modelltrainer 414.
  • Aspekte der Erfindung stellen Ansätze für den Grundwahrheitsgenerator 412 zur Erzeugung von Grundwahrheitsdaten bereit, die von dem Modelltrainer 414 dazu verwendet werden können, Modelle maschinellen Lernens für die Objekterfassung zu trainieren. Beispielsweise können die Grundwahrheitsdaten dazu verwendet werden, den Objektdetektor 106, den Objektdetektor 306 oder ein anderes Modell maschinellen Lernens zu trainieren. Darüber hinaus können die Grundwahrheitsdaten von dem Modelltrainer 414 in Kombination mit einem beliebigen der verschiedenen hierin beschriebenen Trainingsansätze oder mit anderen verschiedenen Trainingsansätzen verwendet werden. Während Grundwahrheitstensoren und Ausgabetensoren (z.B. eines Objektdetektors) als Beispiele beschrieben sein können, können diese Begriffe ferner allgemein Grundwahrheitsdaten und Ausgangs- bzw. Ausgabedaten gelten.
  • Damit der Modelltrainer 414 differenzierbare bzw. unterscheidbare Verlustfunktionen für Trainingsausgaben eines Modells maschinellen Lernens (z.B. der Objektdetektor 106) bildet, kann der Grundwahrheits- bzw. Referenzgenerator 412 Grundwahrheits- bzw. Referenztensoren bilden, die die gleiche Form haben wie die Ausgangstensoren des Objektdetektors 106. Im weiteren Sinne können die von dem Grundwahrheitsgenerator 412 erzeugten Grundwahrheitsdaten dieselben, ähnliche oder korrespondierende Elemente als die Ausgabedaten eines gerade trainierten Modells beinhalten. In einigen Beispielen bildet der Grundwahrheitsgenerator 412 die Grundwahrheitsdaten unter Verwendung von Grundwahrheitsobjektbezeichungen, welche jeweils einem in einem Trainingsbild (oder allgemeiner einem Trainingsrahmen) dargestellten Objekt entsprechen können. Als Beispiele kann eine Objektbezeichnung für ein Objekt (z.B. ein Referenzobjekt) Daten beinhalten, die für eine beliebige Kombination der verschiedenen Ausgänge von den Ausgabeschicht(en) 330 des Objektdetektors 306 repräsentativ sind oder anderweitig in Bezug auf Erfasstes-Objekt-Daten (z.B. für ein räumliches Element) beschrieben sind. Als Beispiele könnte eine Objektbezeichnung eine Position des Objekts (z.B. eine Objektregion, welche in Form von Koordinaten vorliegen kann) zusammen mit anderen Attributen des Objekts, die von dem Objektdetektor 106 vorherzusagen sind, wie z.B. (aber nicht beschränkt auf) einen Klassenidentifikator, eine Entfernung zum Objekt, eine Orientierung des Objekts, einen Verdeckungs- oder Sichtbarkeits-Zustand (z.B. Höhe und Breite) des Objekts, usw. beinhalten.
  • Offenbarte Ansätze zur Erzeugung von Grundwahrheiten können die Genauigkeit der Objekterfassung unter Verwendung des Objektdetektors 106 verbessern, indem sie es dem Abdeckungswertbestimmer 404 ermöglichen, ein Objekt (z.B. eine Objektbezeichnung), wie beispielsweise eine GrundwahrheitsObjektregion des Objekts, mehreren Raumelementregionen (z.B. unter Verwendung einer elliptischen oder anderweitig geformten Grundwahrheit, die mehreren Raumelementregionen) für das Training zuzuordnen. Unter Verwendung dieses Ansatzes kann der Abdeckungswertbestimmer 404 Abdeckungswerte für ein Grundwahrheitsobjekt mehreren Raumelementen in den Grundwahrheitsdaten zuweisen (z.B. geführt von einer durch den Formbestimmer 402 bestimmten Form).
  • Nachdem er trainiert ist, kann der Objektdetektor 106 dazu neigen, mehrere positive Erfassungen für verschiedene Raumelemente bereitzustellen, die dem gleichen Objekt entsprechen, das in den Sensordaten (z.B. den Bilddaten) repräsentiert ist. Eine positive Erfassung kann sich auf ein erfasstes Objekt beziehen, das einen Abdeckungswert hat, der einen Schwellenwert überschreitet, oder das anderweitig einem aggregierten erfassten Objekt entspricht (z.B. das nach dem Erfasstes-Objekt-Filter 116A und/oder dem Erfasstes-Objekt-Cluster 108 verbleibt). Beispielsweise ist in 2A eine Positiverfassungsregion 240 dargestellt, die dem Objekt 248A entspricht. Die Positiverfassungsregion 240 kann in Beispielen, in denen eine Ellipse als eine Form zum Trainieren des Objektdetektors 106 verwendet wurde, einen elliptischen Erfassungsbereich bilden. Somit können die von dem Objektdetektor 106 ausgegebenen Abdeckungswerte, nachdem sie trainiert wurden, hoch indikativ auf Formen hinweisen, die zum Trainieren des Objektdetektors 106 verwendet werden.
  • Zusätzlich oder alternativ können offenbarte Ansätze zur Erzeugung von Grundwahrheiten die Genauigkeit der Objekterfassung unter Verwendung des Objektdetektors 106 verbessern, indem es dem Abdeckungswertbestimmer 404 erlaubt wird, weiche Abdeckungswerte (z.B. in einem Bereich von 1 bis 0) mit Raumelementregionen in Grundwahrheitsdaten, die zum Trainieren des Objektdetektors 106 verwendet werden, zu assoziieren. Dies kann dazu verwendet werden, den Objektdetektor 106 so zu trainieren, dass er in verschiedenen Szenarien, in denen es für den Objektdetektor 106 schwierig sein kann, eine definitive Vorhersage zu treffen, für einige Raumelementregionen höhere Vertrauenswerte liefert als für andere. In verschiedenen Beispielen kann der Abdeckungswertbestimmer 404 diese Szenarien berücksichtigen, wenn er Abdeckungswerte für die Raumelemente während des Trainings bestimmt.
  • Wie erwähnt, kann der Abdeckungswertbestimmer 404 ein Objekt (z.B. eine Objektbezeichnung), wie z.B. eine Grundwahrheitsobjektregion des Objekts, mit mehreren Raumelementregionen (z.B. unter Verwendung einer elliptischen oder anderen geformten Grundwahrheit, die mehreren Raumelementregionen entspricht) für das Training assoziieren. Der Abdeckungswertbestimmer 404 kann den Formbestimmer 402 dazu verwenden, zu bestimmen, welche der Raumelementregionen eines Trainingsbilds mit dem Objekt zu assoziieren sind.
  • Auf 5A Bezug nehmend ist 5A eine Darstellung einschließlich eines Beispiels für eine Form 504 und eine Objektregion 506, die dazu verwendet werden können, Raumelementregionen Abdeckungswerte zuzuordnen, gemäß einigen Ausführungsbeispielen der Erfindung. Der Formbestimmer 402 kann eine Position und Abmessungen der Form 504 relativ zu Raumelementregionen 510 eines Trainingsbilds (und/oder eines Grundwahrheitstensors) bestimmen. Jede Raumelementregion kann beispielhaft als eine Zelle in einem Gitter repräsentiert sein, welches einer Teilregion des Gitters der Raumelementregionen von 2A entsprechen kann. Der Abdeckungswertbestimmer 404 kann Abdeckungswerte bestimmen und diese einer oder mehreren der Raumelementregionen 510 zuweisen, basierend zumindest teilweise auf der einen oder den mehreren Raumelementregionen, die zumindest einem Teil der Form entsprechen (z.B. liegt ein Teil der Form innerhalb der Raumelementregion). Beispielsweise sind die Raumelementregionen 510, die zumindest einem Teil der Form 504 entsprechen, in 5A durch einen Punkt innerhalb der entsprechenden Zelle angezeigt.
  • Der Abdeckungswertbestimmer 404 kann jeder dieser Raumelementregionen einen harten oder weichen Abdeckungswert zuweisen, basierend zumindest teilweise auf diesen Raumelementregionen, die der Form 504 entsprechen. Der Abdeckungswertbestimmer 404 kann diesen Ansatz für eine beliebige Anzahl von Grundwahrheitsobjekten und entsprechenden Formen verwenden, so dass Raumelementregionen, die zumindest einer Form entsprechen, höhere Abdeckungswerte aufweisen können als Raumelementregionen, die keiner Form und/oder keinem Grundwahrheitsobjekt entsprechen (z.B. kann den anderen Raumelementregionen Null zugewiesen werden, wenn sie keinem Grundwahrheitsobjekt entsprechen).
  • Der Grundwahrheitsgenerator 412 kann Elemente der Grundwahrheitsdaten (z.B. Grundwahrheitstensor), die der/den Raumelementregion(en) des Trainingsbilds entspricht/entsprechen, mit dem/den zugehörigen Abdeckungswert(en) füllen. Der Grundwahrheitsgenerator 412 kann darüber hinaus zumindest ein Element der Grundwahrheitsdaten, das der Objektregion (oder allgemeiner der Objektposition) und/oder anderen Grundwahrheits-Ausgabedaten entspricht, mit zumindest einem entsprechenden Wert füllen, der für die Grundwahrheits-Objektdaten (z.B. zumindest ein Objektregionswert, wie z.B. Begrenzungsrahmenkoordinaten) repräsentativ ist.
  • Der Formbestimmer 402 kann eine oder mehrere Position(en) und/oder eine oder mehrere Dimension(en) einer Form bestimmen (z.B. berechnen), basierend zumindest teilweise auf (z.B. als eine Funktion von) der dem Objekt zugeordneten Objektregion und/oder anderen Attributen der Grundwahrheits-Objektdaten (z.B. Klassen-ID, Orientierung, usw.). Beispielsweise kann der Formbestimmer 402 eine oder mehrere Größe(n) für die Form 504 berechnen, basierend zumindest teilweise auf einer oder mehreren Dimension(en) der Objektregion 506. Die Form 504 kann beispielsweise eine geometrische Form sein, und die Dimension(en) der Objektregion 506 kann/können eine oder mehrere der Dimension(en) der Form 504 definieren. Beispielsweise kann die Form 504 eine Ellipse sein, und kann der Formbestimmer 402 die Größe der Ellipse zumindest teilweise basierend auf einer Höhe und/oder einer Breite der Objektregion 506 berechnen. Als ein Beispiel kann der y-Radius r der Ellipse als r = max(minimum_radius, shape_scale * bounding_box_height / 2) berechnet werden. Der Parameter minimum_radius kann einen minimalen Radius für die Ellipse (oder eine andere Dimension für eine andere Form) repräsentieren. Der Parameter shape_scale kann einen Skalierungsfaktor für die Ellipse repräsentieren. Ferner kann die bounding_box_height eine Höhe der Objektregion 506 repräsentieren. shape_scale und minimum radius können als abstimmbare Hyperparameter verwendet werden.
  • In Beispielen, in denen die Form 504 keine Ellipse ist, kann eine andere Formel dazu verwendet werden, die Größe der Form zu berechnen. Beispielsweise kann die Form 504 ein Kreis (z.B. ein Sonderfall einer Ellipse), ein Rechteck und/oder eine Superellipse sein. In verschiedenen Beispielen kann für alle Objekte der Grundwahrheit eine gleiche Form verwendet werden, oder es können unterschiedliche Formen verwendet werden. Beispielsweise kann der Formbestimmer 402 einen Formtyp für die Form zumindest teilweise basierend auf einem beliebigen der verschiedenen dem Objekt zugeordneten Attribute auswählen, wie beispielsweise einen Formtyp der Objektregion, einer Klasse des Objekts (oder einer Unterklasse), eines Abstands zu dem Objekt, einer Orientierung des Objekts, eines Verdeckungszustands des Objekts usw. Beispielsweise können somit verschiedene Klassen verschiedenen Formen zugeordnet sein, wie z.B. Ellipsen für Autos und Rechtecke für Fußgänger. Zusätzlich oder alternativ kann der Formbestimmer 402 verschiedene Funktionen und/oder Parameter dazu verwenden, die Form basierend auf einer beliebigen Kombination der Objektattribute zu berechnen (z.B. könnte der minimale Radius oder ein anderer ähnlicher Parameter für Fußgänger kleiner sein als für Fahrzeuge).
  • Darüber hinaus kann, während vordefinierte Formen beschrieben werden, in einigen Beispielen eine Form einer Form eines Objekts entsprechen, das in einem Trainingsbild dargestellt ist. Beispielsweise kann die Form Grenzen haben, die den Grenzen des dargestellten Objekts entsprechen. Teile der Form können Teilen des Objekts entsprechen, das in dem Trainingsbild dargestellt ist. In einigen Beispielen kann die Form über das Objekt gezogen worden sein, und/oder kann einer Maske des Objekts (z.B. zumindest dem dargestellten Teil desselben) entsprechen.
  • Der Formbestimmer 402 kann darüber hinaus eine oder mehrere Position(en) einer Form basierend zumindest teilweise auf (z.B. als eine Funktion von) einer oder mehreren Position(en) des Referenzobjekts (z.B. der dem Objekt zugeordneten Objektregion und/oder anderer Attribute der Grundwahrheitsobjektdaten (z.B. Klassen-ID, Orientierung, usw.) bestimmen (z.B. berechnen). Der Formbestimmer 402 kann die Position der Form so bestimmen, dass die Form 504 zumindest teilweise innerhalb (z.B. vollständig innerhalb) der Objektregion 506 beinhaltet ist. Beispielsweise kann der Formbestimmer 402 einen Mittelpunkt und/oder einen Mittenpunkt der Form 504 so festlegen, dass er einem Mittelpunkt und/oder Mittenpunkt der Objektregion 506 entspricht. Durch Festlegen einer Position der Form 504 auf eine Position innerhalb der Objektregion 506 kann der Formbestimmer 402 sicherstellen, dass die Form 504 zumindest teilweise innerhalb der Objektregion 506 liegt, indem er die Größenberechnung entsprechend konfiguriert. Ferner kann der Formbestimmer 402 in einigen Beispielen sicherstellen, dass die Form vollständig innerhalb der Objektregion 506 liegt. Dies kann durch die Funktionen gewährleistet werden, die zum Festlegen der Position und Berechnen der Größe der Form (z.B. so, dass Dimensionen Bruchteile der Dimensionen der Objektregion 506 sind) verwendet werden. Als andere Beispiele könnte der Formbestimmer 402 die Form auf die Objektregion 506 zuschneiden oder anderweitig die Form an die Objektregion 506 anpassen.
  • In einigen Beispielen kann der Abdeckungswertbestimmer 404 den Formbestimmer 402 dazu verwenden, Abdeckungswerte für Raumelementregionen von Trainingsbildern ohne Verwendung von weichen Abdeckungswerten zuzuweisen und/oder zu bestimmen. In anderen Beispielen kann der Abdeckungswertbestimmer 404 den Formbestimmer 402 dazu verwenden, Abdeckungswerte für Raumelementregionen von Trainingsbildern unter Verwendung von weichen Abdeckungswerten zuzuordnen und/oder zu bestimmen. In solchen Beispielen kann der Abdeckungswertbestimmer 404 einen weichen Abdeckungswert für eine Raumelementregion basierend zumindest teilweise auf dem bestimmten Abschnitt der Form, der der Raumelementregion entspricht, bestimmen. Beispielsweise kann ein weicher Abdeckungswert für die Raumelementregion 512 zumindest teilweise auf dem Raumelementregion 512 beruhen, der einer Grenze der Form 504 entspricht. Ein Abdeckungswert (z.B. ein weicher oder harter Abdeckungswert) für die Raumelementregion 514 kann ebenfalls zumindest teilweise auf der Raumelementregion 514, die einem Inneren der Form 504 entspricht, basieren. Beispielsweise kann Raumelementregionen, die einem Inneren einer Form entsprechen, ein höchster Abdeckungswert zugewiesen werden, und kann Raumelementregionen, die einem Rand oder einer Begrenzung der Form entsprechen, ein niedrigerer Abdeckungswert (z.B. größer als Null) zugewiesen werden.
  • 5B ist eine Darstellung einschließlich eines Beispiels für das Bestimmen von Abdeckungswerten für Raumelementregionen gemäß einigen Ausführungsbeispielen der Erfindung. Der Abdeckungswertbestimmer 404 kann in Bezug auf 5B beschriebene Ansätze dazu verwenden, einen oder mehrere Abdeckungswerte für eine oder mehrere Raumelementregionen in einem Trainingsbild zu bestimmen. 5B zeigt ein Trainingsbild 520, welches die Raumelementregionen 510 von 5A umfassen kann. Der Abdeckungswertbestimmer 404 kann zumindest einen Teil der Form 504 in Bilddaten 522 mit einer höheren räumlichen Auflösung rendern als zur Repräsentation der räumlichen Elemente in den Grundwahrheitsdaten verwendet wird (z.B. eine höhere räumliche Auflösung als ein durch die Grundwahrheitsdaten dargestellter Grundwahrheitstensor). Beispielsweise können die Bilddaten 522 repräsentativ für einen Tensor sein, der eine höhere räumliche Auflösung aufweist als ein Ausgangstensor des Objektdetektors 106 (die aber möglicherweise niedriger ist als die des Trainingsbilds 520). Der Abdeckungswertbestimmer 404 kann dann die in den Bilddaten 522 gerenderte Form auf eine niedrigere räumliche Auflösung (z.B. des Grundwahrheitstensors/Ausgabetensors) herunterskalieren (z.B. heruntersampeln), um Bilddaten 524 zu generieren, die für zumindest einen bildkantengeglätteten Abschnitt der Form 504 repräsentativ sind (z.B. unter Verwendung eines Herunterskalierverhältnisses). Der Herunterskaliervorgang kann in einigen Beispielen die Form 504 automatisch bildkantenglätten.
  • Der Abdeckungswertbestimmer 404 kann Abdeckungswerte für die Raumelementregionen bestimmen, die der Form 504 entsprechen, basierend zumindest teilweise auf den bildkantengeglätteten Werten oder Elementen der Form 504. Wenn beispielsweise die Bilddaten 524 dieselbe Auflösung wie die Grundwahrheitsdaten aufweisen, können die bildkantengeglätteten Werte oder Elemente der Form 504 eine Eins-zu-Eins-Entsprechung mit Abdeckungswerten aufweisen (z.B. je transparenter das Pixel, desto niedriger der Abdeckungswert). Unter Verwendung dieses Ansatzes können Abschnitte in Richtung des Inneren der Form 504 nicht bildkantengeglättet werden, oder können andernfalls immer noch hohe Abdeckungswerte repräsentieren, während Abschnitte in Richtung der Grenzen oder Ränder der Form 504 bildkantengeglättet werden können, welches niedrigere Abdeckungswerte repräsentiert. In anderen Beispielen können ein oder mehrere bildkantengeglättete Werte direkt berechnet werden, ohne die Form 504 mit einer mittleren Auflösung zu rendern. Ferner können in einigen Beispielen für bestimmte Abschnitte der Form 504 (z.B. Randabschnitte) bildkantengeglättete Werte berechnet werden, ohne alle Werte der Form 504 zu berechnen (z.B. können für Innenabschnitte der Form 504 harte Abdeckungswerte verwendet werden).
  • Der Abdeckungswertbestimmer 404 kann bildkantengeglättete Werte unter Verwendung eines beliebigen geeigneten Ansatzes, wie z.B. Supersample-Anti-Aliasing, Multisample-Anti-Aliasing, schnelles, ungefähres Anti-Aliasing, Coverage-Sample-Anti-Aliasing und zeitliches Sample-Anti-Aliasing (z.B. basierend auf mehreren Einzelbildern von Sensordaten) bestimmen. Während eine Form 504 gezeigt ist, können auch beliebig viele Formen in ähnlicher Weise in den Bilddaten 522 und den Bilddaten 524 aufgenommen sein, um bildkantengeglättete Werte für mehrere Formen parallel zu erzeugen.
  • In einigen Beispielen kann der Abdeckungswertbestimmer 404 bestimmen, dass mehr als ein/eine Grundwahrheitsobjekt und/oder Objektregion der/den gleichen Raumelementregion(en) entspricht. Dies kann zumindest teilweise darauf beruhen, dass beispielsweise das Bestimmen der Raumelementregion(en) einen Teil jedes Objekts zeigt. Zusätzlich oder alternativ kann dies zumindest teilweise auf dem Bestimmen von Formen für jedes Objekt beruhen, die sich zumindest teilweise in der/den Raumelementregion(en) überlappen. Nun auf 6 Bezug nehmend, ist 6 eine Darstellung einschließlich eines Beispiels für das Bestimmen von Abdeckungswerten für Raumelementregionen, die mehreren Objekten entsprechen, gemäß einigen Ausführungsbeispielen der Erfindung. 6 zeigt Raumelementregionen 600 eines Trainingsbilds zusammen mit verschiedenen potenziellen Abdeckungswerten, die der Abdeckungswertbestimmer 404 für die Raumelementregionen 600 bestimmen kann. Insbesondere zeigt 6 Abdeckungswerte 602, Abdeckungswerte 604 und Abdeckungswerte 606. Die Abdeckungswerte 602 können Abdeckungswerten entsprechen, die der Abdeckungswertbestimmer 404 für ein erstes Grundwahrheitsobjekt und/oder ein erste Objektregion bestimmen kann (z.B. unter Verwendung des Formbestimmers 402). Die Abdeckungswerte 604 können Abdeckungswerten entsprechen, die der Abdeckungswertbestimmer 404 für ein zweites Grundwahrheitsobjekt und/oder eine zweite Objektregion bestimmen kann (z.B. unter Verwendung des Formbestimmers 402). Die Abdeckungswerte 606 können Abdeckungswerten entsprechen, die der Abdeckungswertbestimmer 404 verwenden kann, um Grundwahrheitsdaten zu füllen. Die Abdeckungswerte 602 können einem Objekt entsprechen, das hinter einem Objekt dargestellt wird, das den Abdeckungswerten 602 in den Sensordaten und/oder Bilddaten entspricht. Ferner kann das den Abdeckungswerten 604 entsprechende Objekt das den Abdeckungswerten 602 entsprechende Objekt teilweise verdecken (z.B. kann ein Objekt vor dem anderen liegen).
  • Wie in 6 angegeben, kann der Abdeckungswertbestimmer 404 bestimmen, dass das Objekt und/oder die Objektregion, das/die den Abdeckungswerten 602 entspricht, und das Objekt und/oder die Objektregion, das/die den Abdeckungswerten 604 entspricht, der/den gleichen Raumelementregion(en) entsprechen. In solchen Szenarien kann der Abdeckungswertbestimmer 404 den Aktivobjektwähler 406 ein dazu verwenden, ein aktives Objekt aus den mehreren Grundwahrheitsobjekten und/oder Objektregionen auswählen und der/den räumlichen Objektregionen einen Abdeckungswert zuweisen, basierend zumindest teilweise auf dem aktiven Objekt. Beispielsweise kann der Abdeckungswertbestimmer 404 den Abdeckungswert des aktiven Objekts als den Abdeckungswert der räumlichen Objektregion(en) verwenden. Als weiteres Beispiel kann der Abdeckungswert für das aktive Objekt mit dem Abdeckungswert zumindest eines anderen in Konflikt stehenden Objekts kombiniert werden, kann aber stärker gewichtet werden (z.B. unter Verwendung eines gewichteten Durchschnitts).
  • Unter Verwendung des aktiven Objektwählers bzw. Aktivobjektwählers 406 kann der Abdeckungswertbestimmer 404 die Abdeckungswerte 606 den Raumelementregionen 600 zuordnen. Die Abdeckungswerte 606 können aus den Abdeckungswerten 602 und/oder den Abdeckungswerten 604 ausgewählt sein, und/oder können aus den Abdeckungswerten 602 und/oder den Abdeckungswerten 604 erzeugt werden. In dem gezeigten Beispiel kann der Aktivobjektwähler 406 für jede Raumelementregion ein aktives Objekt auswählen, und kann der Abdeckungswertbestimmer 404 den Abdeckungswert für das ausgewählte Objekt als den Abdeckungswert für die Abdeckungswerte 606 verwenden. In anderen Beispielen kann der Aktivobjektwähler 406 ein aktives Objekt für mehrere Raumelementregionen (z.B. alle Regionen mit räumlichen Elementen, die den Objekten entsprechen) auswählen, anstatt die Raumelementregionen einzeln auszuwählen.
  • Die Abdeckungswerte 602 und die Abdeckungswerte 604 können weiche und/oder harte Abdeckungswerte beinhalten und können unter Verwendung der hierin beschriebenen Ansätze oder anderer Ansätzen bestimmt werden. Ferner kann, während die Abdeckungswerte 602 und die Abdeckungswerte 604 jeweils mehrere Abdeckungswerte umfassen, der Abdeckungswertbestimmer 404 den Aktivobjektwähler 406 dazu verwenden, einen Abdeckungswert für eine Raumelementregion zu bestimmen, wobei jedes Objekt und/oder jede Objektregion einem einzelnen Raumelement und Abdeckungswert entspricht. In diesen Beispielen braucht der Abdeckungswertbestimmer 404 nicht notwendigerweise den Formbestimmer 402 zu verwenden. Beispielsweise kann der Abdeckungswertbestimmer 404 für jedes Objekt und/oder jede Objektregion (z.B. für den Mittenpunkt der Objektregion) einen einzigen Abdeckungswert verwenden. Darüber hinaus brauchen, während die Abdeckungswerte 602 und 604 gezeigt sind, zumindest einige dieser Werte nicht von dem Abdeckungswertbestimmer 404 berechnet zu werden. Wenn beispielsweise der Abdeckungswert eines aktiven Objekts als der Abdeckungswert für eine Raumelementregion verwendet wird, braucht ein Abdeckungswert für ein nicht aktives Objekt nicht berechnet zu werden.
  • Der Aktivobjektwähler 406 kann ein Objekt als ein aktives Objekt auswählen, zumindest teilweise auf einem oder mehreren Attributen und/oder Kriterien basierend, die dem Objekt zugeordnet sind, und/oder anderen Objekten, die der/den gleichen Raumelementregion(en). Beispiele beinhalten ohne Einschränkung den/die Abdeckungswert(e) für das/die Objekt(e), (einen) Klassenidentifikator(en) des Objekts, (eine) Entfernung(en) zu den Objekten, (eine) Orientierung(en) des/der Objekt(s/e) und/oder (einen) Verdeckungszustand/Verdeckungszustände (z.B. Höhe und Breite) und/oder Verdeckungsausmaße des/der Objekt(s/e), usw. Als weitere Beispiele kann zumindest eines der verschiedenen Attribute der Objekte durch den Aktivobjektwähler 406 über Trainingsbilder hinweg (z.B. sequentiell und/oder in einem Zeitbereich) analysiert werden.
  • Als Beispiele kann der Aktivobjektwähler 406 ein Objekt als ein aktives Objekt basierend zumindest teilweise auf dem Abdeckungswert (z.B. ein weicher oder harter Abdeckungswert) für das Objekt, das größer ist als der Abdeckungswert (z.B. ein weicher Abdeckungswert) für ein anderes Objekt, das der/den Raumelementregion(en) entspricht, wählen. Die Abdeckungswerte 606 können einem Ergebnis der Verwendung eines solchen Ansatzes entsprechen. Zusätzlich oder alternativ kann der Aktivobjektwähler 406 basierend zumindest teilweise auf einer Bestimmung, dass das Objekt in den Bilddaten näher als das andere Objekt dargestellt ist, das der/den Raumelementregion(en) entspricht, wählen. Dies kann beispielsweise aus den Entfernungs-Grunddaten bestimmt werden, die jedem Objekt zugeordnet sind. Diese Kriterien können beispielsweise dazu verwendet werden, Fesseln zu lösen, und können durch Betrachten des Entfernungsgrundwahrheitswerts der Objektbezeichnungen bestimmt werden. In Beispielen kann das aktive Objekt (z.B. zur Auflösung von Fesseln bzw. Bindungen), zumindest teilweise basierend auf einem Bestimmen der Unterkante, deren Objektregion am nächsten zu einer Unterkante des Trainingsbilds liegt (z.B. wenn Entfernungsinformationen nicht verfügbar sind), gewählt werden. Dieser Ansatz kann die entfernungsbasierten Kriterien annähern, wie z. B. wenn eine Grundebene oder Oberfläche näherungsweise planar ist, eine Kamera, die das Trainingsbild aufgenommen hat, aufrecht steht und die Objekte auf der Oberfläche der Grundebene ruhen.
  • Unter Verwendung des aktiven Objektwählers 406 kann der Abdeckungswertbestimmer 404 in einigen Beispielen einen Totzonenbereich um zumindest einen Teil der Form bilden, die dem aktiven Objekt entspricht, wenn Abdeckungsweckwerte basierend auf dem aktiven Objekt bestimmt werden. Wenn der Aktivobjektwähler 406 verwendet wird, um Objekte für sowohl ein Bestimmen eines Totzonenbereichs als auch für ein Bestimmen eines Abdeckungswerts auszuwählen, können für jede Aufgabe unterschiedliche Regeln oder Kriterien verwendet werden. Der Totzonenbereich kann dazu verwendet werden, in den Grundwahrheitsdaten Abdeckungswerte, die dem aktiven Objekt entsprechen, räumlich von Abdeckungswerten zu trennen, die einem dem Trainingsbild zugeordneten, nicht aktiven Objekt entsprechen. Dies kann den Objektdetektor 106 dazu trainieren, nahegelegene Objekte verlässlicher eindeutig zu machen.
  • Nun auf 7 Bezug nehmend, ist 7 eine Darstellung einschließlich eines Beispiels für ein Bestimmen von Abdeckungswerten für Raumelementregionen unter Verwendung eines Totzonenbereichs 710. In 7 kann eine Form 712 einem nicht aktiven Objekt entsprechen, und kann eine Form 714 einem aktiven Objekt entsprechen. Die Form 712 und die Form 714 können sich räumlich teilweise überlappen. Basierend zumindest teilweise auf der Form 714, die einem aktiven Objekt entspricht, kann der Abdeckungswertbestimmer 404 den Totzonenbereich 710 zumindest für Abschnitte der Form 714 bestimmen, die sich mit der Form 712 schneiden oder zu dieser benachbart sind (z.B. in einem definierten Abstand). Der Abdeckungswertbestimmer 404 kann einen Abdeckungswert für eine oder mehrere Raumelementregion(en) basierend zumindest teilweise auf der dem Totzonenbereich entsprechenden Raumelementregion bestimmen. Beispielsweise kann für Raumelementregionen, die einem Totzonenbereich entsprechen, der Abdeckungswertbestimmer 404 einen Standardwert (z.B. Null) zuweisen, oder kann einen Abdeckungswert berechnen, der niedriger ist als der Abdeckungswert, wenn der Raumelementregion nicht dem Totzonenbereich entsprochen hätte (z.B. unter Verwendung eines Reduktionsgewichts für die Berechnung des Abdeckungswerts). Unter Verwendung eines solchen Ansatzes können die Abdeckungswerte 606 einen zusätzlichen Bereich von Null oder reduzierte Abdeckungswerte für einen Totzonenbereich beinhalten. Der Abstand eines Totzonenbereichs von einer Grenze einer Form eines aktiven Objekts kann ein fester oder berechneter Wert sein (z.B. basierend auf einer Größe oder Dimension einer oder mehrerer der Formen). Beispielsweise kann die Form des Totzonenbereichs eine parametrische Funktion der Form und/oder der Objektregion des Objekts sein.
  • Als ein Beispiel für den Betrieb des Objekterfassungs-Trainingssystems 400 kann der Abdeckungswertbestimmer 404 für jedes Raumelement der Grundwahrheitsdaten (z.B. einen Ausgangs-Grundwahrheitstensor) Abdeckungswerte für jedes Objekt in dem Bild in der Raumelementregion des Trainingsbilds berechnen, der dem Raumelement entspricht. Der Aktivobjektwähler 406 kann diese Abdeckungswerte analysieren, um ein aktives Objekt als das Objekt mit dem höchsten Abdeckungswert in der Raumelementregion auszuwählen. Falle eine Verbindung besteht (für weiche Abdeckungswerte) oder Abdeckungswerte im Wesentlichen ähnlich sind (z.B. innerhalb eines definierten Bereichs voneinander), kann das Objekt ausgewählt werden, das der Kamera am nächsten ist. Der Grundwahrheitsgenerator 412 kann den Abdeckungswert des aktiven Objekts in entsprechenden Elementen der Grundwahrheitsdaten speichern. Ferner kann der Grundwahrheitsgenerator 412 einen oder mehrere Werte, die die Objektregion des aktiven Objekts definieren, in entsprechenden Elementen der Grundwahrheitsdaten speichern. Der Grundwahrheitsgenerator 412 kann auch beliebige andere dem aktiven Objekt zugeordnete Grundwahrheitsattribute in entsprechenden Elementen der Grundwahrheitsdaten für das Raumelement speichern.
  • Um die der Objektregion entsprechenden Grundwahrheitswerte zu bestimmen, kann der Grundwahrheitsgenerator 412 die Kanten der Objektregion bestimmen. Beispielsweise können Begrenzungsrahmenkanten aus einer Grundwahrheitsbezeichnung bestimmt werden, das als vier Werte [L, T, R, B] definiert ist, die die Koordinaten der linken (L), oberen (T), rechten (R) und unteren (B) Kanten eines Begrenzungsrahmens sind, die beispielsweise in dem Ausgabepixelraum gegeben sind. Für dieses Beispiel sei angenommen, dass die Mittelkoordinaten des Raumelements X und Y sind. Die Grundwahrheitswerte für Begrenzungsrahmenausgaben können zumindest vier Werte [B1, B2, B3, B4] beinhalten, die durch Anwenden von Funktionen auf die Bezeichnerkoordinaten und die Mittelkoordinaten der Raumelemente erhalten werden. Diese Funktionen können parametrisch sein und können Parameter beinhalten, die Hyperparameter einer Trainingsprozedur sind, das auf die Ausgabegenauigkeit des Objektdetektors 106 abgestimmt und kreuzvalidiert ist. Beispiele für die Funktionen sind: B1 = k1 * ( X L )
    Figure DE112019000049T5_0007
    B2 = k2 * ( Y T )
    Figure DE112019000049T5_0008
    B3 = k3 * ( R X )
    Figure DE112019000049T5_0009
    B4 = k4 * ( B Y ) ,
    Figure DE112019000049T5_0010
    wobei k1, k2, k3 und k4 abstimmbare Hyperparameter sind. Diese Funktionen können so konfiguriert sein, dass die Grundwahrheitswerte skalierte Abstände zwischen den Objektkanten und der Mitte des Raumelements kodieren. In anderen Beispielen können die Grundwahrheitswerte eine Position der Objektregionsmitte relativ zu der Mitte des Raumelements zusammen mit der Höhe, der Breite und/oder anderen Dimensionen der Objektregion kodieren. Im Allgemeinen kann für das Beispiel des Begrenzungsrahmens und angesichts der Mitte des Raumelements jedes beliebige Eins-zu-Eins-Mapping zwischen [L, T, R, B] und [B1, B2, B3, B4] verwendet werden.
  • Wenn der Grundwahrheitsgenerator 412 Entfernungsdaten dazu verwendet, den Objektdetektor 106 zu trainieren, kann/können durch Anwenden einer Funktion auf die Entfernung zwischen dem Objekt und der Kamera ein oder mehrere Grundwahrheitswert(e) für die Objektentfernung gebildet werden. Die Funktion kann in einer ähnlichen Weise wie die hierin beschriebenen, für Begrenzungsrahmenkoordinaten verwendeten Funktionen parametrisch sein. Beispielsweise kann die Funktion D = k_Dpostlog * log(k_Dprelog * distance_to_object) umfassen, wobei k_Dpostlog und k_Dprelog abstimmbare Hyperparameter sind und log die logarithmische Funktion bezeichnet.
  • Wenn der Grundwahrheitsgenerator 412 Orientierungsdaten verwendet, um den Objektdetektor 106 zu trainieren, kann/können ein oder mehrere Grundwahrheitswert(e) für die Objektorientierung unter Verwendung von Grundwahrheitsbezeichnern gebildet werden, die zumindest vordere und/oder hintere (und/oder linke und/oder seitliche) Marker bzw. Markierungen beinhalten. In einigen Beispielen können auch die Objektregionskoordinaten verwendet werden, wie beispielsweise für Fahrzeugtypklassen. Front- und Heckmarkierungen können als Brüche entlang der Breite der Objektregion repräsentiert sein, welche die Objektregion in eine Vorderseite/Rückseite + linke/rechte Seite des Fahrzeugs unterteilen. Der Grundwahrheitsgenerator 412 kann diese Marker in einen Winkel übersetzen.
  • 8A ist eine Darstellung mit Beispielen von Grundwahrheitsbezeichnern 804 und 806 für ein Trainingsbild 800, das zum Bestimmen einer Orientierung eines Objekts verwendet werden kann, gemäß einigen Ausführungsbeispielen der Erfindung. Wenn in dem Trainingsbild nur eine Vorderseite oder eine Rückseite des Objekts sichtbar sind, kann die hintere (oder vordere) Markierung auf ein Kennzeichen gesetzt sein, das eine solche Position anzeigt (z.B. entsprechend dem Grundwahrheitsbezeichner 804). In dem Beispiel von 8A kann der Grundwahrheitsbezeichner 804 einer Frontmarkierung 812 entsprechen, und kann der Grundwahrheitsbezeichner 806 einer Seitenmarkierung 814 entsprechen. Die Markierungen können Brüche einer dem Objekt zugeordneten Objektregion 808 definieren (z.B. einen Objektregionsbezeichner). Der Grundwahrheitsgenerator 412 kann diese Brüche nutzen, um den Winkel des Objekts zu bestimmen. Beispielsweise kann der Grundwahrheitsgenerator 412 diese Brüche dazu verwenden, einen Winkel, aus welchem die Kamera das Objekt sieht (Winkel können aus einer Sicht von oben nach unten interpretiert werden), linear zu interpolieren. In einigen Beispielen kann für den Winkel eine andere Referenz verwendet werden.
  • 8B ist eine Darstellung, die dazu verwendet wird, Beispiele für das Bestimmen einer Orientierung eines Objekts zu beschreiben, gemäß einigen Ausführungsbeispielen der Erfindung. Falls sich ein Objekt direkt von der Kamera wegbewegt (angegeben durch das Fahrzeug 1500 in 8A), wobei nur seine Rückseite sichtbar ist, kann ihm ein Winkel von -90° zugewiesen werden. Die Winkelvorhersageaufgabe kann als eine Regression auf die Sinus- und Cosinus-Werte dieses Winkels formuliert sein. Diese Sinus- und Cosinus-Werte können den Orientierungsdaten 318 von 3 entsprechen. In anderen Beispielen kann der Winkel in jeder geeigneten Form dargestellt sein, wie beispielsweise unter Verwendung eines Einzelwerts. Der Grundwahrheitsgenerator 412 kann für jedes Raumelement, das dem Objekt entspricht (z.B. dem aktiven Objekt), die gleichen Orientierungswerte verwenden. Im Gegensatz dazu können in einigen Beispielen für Raumelemente, die dem gleichen Objekt entsprechen, unterschiedliche Objektregionskoordinaten verwendet werden.
  • Für eine oder mehrere Klassen kann der Grundwahrheitsgenerator 412 die Kostengewichte auf null setzen, so dass für den Orientierungskopf für diese Klasse kein Verlust entsteht. Dies kann beispielsweise für Klassen verwendet werden, in denen vordere und hintere Markierungen nicht einfach hinzugefügt werden können, wie z.B. Fußgänger oder Menschen. Es wird angemerkt, dass der Grundwahrheitsgenerator 412 möglicherweise nicht in allen Beispielen die vorderen und hinteren Markierungen verwendet, und dass der/die Orientierungswert(e) auf unterschiedliche Weise bestimmt werden können. Beispielsweise kann eine Objektorientierung aus Sensordaten abgeleitet werden, die dem Trainingsbild zugeordnet sind, wie beispielsweise unter Verwendung von LIDAR 3D-Punktwolken zum Zeitpunkt der Aufnahme des Trainingsbilds. Entfernungswerte für Grundwahrheitsdaten können auch mit LIDAR-Sensoren und/oder anderen Sensoren (z.B. Tiefensensoren) zum Zeitpunkt der Erfassung des Trainingsbilds erhalten werden.
  • Wenn der Grundwahrheitsgenerator 412 Sichtbarkeits- oder Verdeckungs. bzw. Okklusionsdaten dazu verwendet, den Objektdetektor 106 zu trainieren, kann/können ein oder mehrere Grundwahrheitswerte für die Sichtbarkeit oder Verdeckung bzw. Okklusion von Objekten aus Sichtbarkeitsflags bestimmt werden. Beispielsweise kann der Grundwahrheitsgenerator 412 eine Taxonomie von Trunkierungs- und Okklusionsflags verwenden, um zu bestimmen, ob ein ganzer Boden und eine gesamte Breite eines Objekts abgedeckt ist. Nun auf 9 Bezug nehmend, ist 9 eine Darstellung, die dazu verwendet wird, Beispiele für das Bestimmen der Sichtbarkeit oder Okklusion eines Objekts zu beschreiben, gemäß einigen Ausführungsbeispielen der Erfindung. 9 zeigt einen Okkluder 904 eines Objekts 906 und einen Okkluder 908 eines Objekts 910, welche dazu verwendet werden können, verschiedene mögliche Sichtbarkeitszustände für Breitenflags und Bodenflags demonstriert werden können. Der Okkluder 904 und der Okkluder 908 können andere Objekte oder andere Elemente der Umgebung sein. Für das Objekt 906 kann ein Bodenflag anzeigen, dass der Boden des Objekts 906 zumindest teilweise sichtbar ist, und kann ein Breitenflag anzeigen, dass die Breite teilweise verdeckt oder abgeschnitten ist. Für das Objekt 910 kann ein Bodenflag anzeigen, dass der Boden des Objekts 910 überhaupt nicht sichtbar ist, und kann ein Breitenflag anzeigen, dass die Breite vollständig sichtbar ist. Das/die Sichtbarkeitsflag(s) eines Objekts können für jedes Raumelement, das zum gleichen Objekt gehört, gleich sein.
  • Nun auf 10A Bezug nehmend, ist 10A ein Ablaufdiagramm, das ein Verfahren 1000A zum Bestimmen von Vertrauenswerten von erfassten Objekten darstellt, gemäß einigen Ausführungsbeispielen der Erfindung. Jeder Block des Verfahrens 1000A und andere hierin beschriebene Verfahren umfasst einen Rechenprozess, der mit einer beliebigen Kombination aus Hardware, Firmware und/oder Software durchgeführt werden kann. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der in einem Speicher gespeicherte Anweisungen ausführt. Das Verfahren 1000A kann auch als computerverwendbare Anweisungen verkörpert sein, die auf Computerspeichermedien gespeichert sind. Das Verfahren 1000A kann durch eine eigenständige Anwendung, einen Dienst oder gehosteten Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst) oder ein Plug-in für ein anderes Produkt bereitgestellt sein, um nur einige zu nennen. Hierin beschriebene Verfahren können zusätzlich oder alternativ von einem beliebigen einzelnen System oder einer beliebigen Kombination von Systemen ausgeführt werden, einschließlich der, aber nicht beschränkt auf die, hierin beschriebenen, und sind nicht auf bestimmte Beispiele beschränkt.
  • Das Verfahren 1000A beinhaltet bei Block B1002 ein Bestimmen erfasster Objektdaten bzw. von Erfasstes-Objekt-Daten. Beispielsweise kann der Objektdetektor 106 basierend zumindest teilweise auf Sensordaten, die für ein Sichtfeld zumindest eines Sensors 1480 repräsentativ sind, Erfasstes-Objekt-Daten bestimmen, die für Positionen (z.B. der Erfasstes-Objekt-Regionen 250A, der Erfasstes-Objekt-Regionen 250B, der Erfasstes-Objekt-Regionen 250C und der Erfasstes-Objekt-Regionen 250D) von erfassten Objekten im Sichtfeld (z.B. der Umgebung 202) repräsentativ sind.
  • Das Verfahren 1000A beinhaltet bei Block B1004 ein Erzeugen eines Clusters bzw. Bündels von erfassten Objekten. Beispielsweise kann der Erfasstes-Objekt-Clusterer 108 einen Cluster der erfassten Objekte erzeugen, der zumindest teilweise auf den Positionen basiert. Beispiele für vier Cluster können jeweils den Erfasstes-Objekt-Regionen 250A, den Erfasstes-Objekt-Regionen 250B, den Erfasstes-Objekt-Regionen 250C und den Erfasstes-Objekt-Regionen 250D entsprechen.
  • Das Verfahren 1000A beinhaltet bei Block B1006 ein Bestimmen von Merkmalen des Clusters für Eingaben in ein neuronales Netzwerk. Beispielsweise kann der Merkmalsbestimmer 110 ein oder mehrere Merkmale des Clusters bestimmen, der den Erfasstes-Objekt-Regionen 250A und den Erfasstes-Objekt-Regionen 260A entsprechen.
  • Das Verfahren 1000A beinhaltet bei Block B1008 ein Empfangen eines Vertrauenswerts, der von dem neuronalen Netzwerk unter Verwendung der Merkmale berechnet wird. Beispielsweise können der Erfasstes-Objekt-Filter 116B, der Objektnachverfolger 114 und/oder eine andere Komponente des Fahrzeugs 1500 einen Vertrauenswert empfangen, der von dem Vertrauenswertgenerator 112 berechnet wird.
  • Nun auf 10B Bezug nehmend, ist 10B ein Ablaufdiagramm, das ein Verfahren 1000B zum Bestimmen von Erfasstes-Objekt-Daten darstellt, gemäß einigen Ausführungsbeispielen der Erfindung. Das Verfahren 1000B kann für einen Block B1002 des Verfahrens 1000A verwendet werden.
  • Das Verfahren 1000B beinhaltet bei Block B1010 ein Anwenden von Sensordaten auf ein neuronales Netzwerk. Beispielsweise kann der Kommunikationsmanager 104 Sensordaten auf den Objektdetektor 306 von 3 anwenden. Die Sensordaten können für ein Sichtfeld von zumindest einem Sensor 1480 des Fahrzeugs 1500 in der Umgebung 202 repräsentativ sein.
  • Das Verfahren 1000B beinhaltet bei Block B1012 ein Empfangen von Erfasstes-Objekt-Daten aus dem neuronalen Netzwerk. Beispielsweise können der Erfasstes-Objekt-Filter 116A und/oder der Erfasstes-Objekt-Clusterer 108 die Erfasstes-Objekt-Daten von der/den Ausgangsschicht(en) 330 des Objektdetektors 306 empfangen.
  • Nun auf 11 Bezug nehmend, ist 11 ein Ablaufdiagramm, das ein Verfahren 1100 zum Bestimmen von Abdeckungswerten für das Training eines Objektdetektors darstellt, gemäß einigen Ausführungsbeispielen der Erfindung.
  • Das Verfahren 1100 beinhaltet bei Block B1102 ein Berechnen einer Größe einer Form für eine Objektregion, die einem Trainingsbild zugeordnet ist. Beispielsweise kann der Formbestimmer 402 eine Größe für die Form 504 zumindest teilweise innerhalb der Objektregion 506, die einem Trainingsbild für den Objektdetektor 306 zugeordnet ist, das zumindest teilweise auf einer Abmessung bzw. Dimension der Objektregion 506 basiert, berechnen.
  • Das Verfahren 1100 beinhaltet bei Block B1104 ein Zuweisen eines Abdeckungswerts zu einem Raumelementregion bzw. Bereich mit räumlichen Elementen des Trainingsbilds, der zumindest teilweise auf der Form basiert. Beispielsweise kann der Abdeckungswertbestimmer 404 der Raumelementregion 512 einen Abdeckungswert (z.B. einen weichen oder harten Abdeckungswert) zuweisen, der zumindest teilweise auf der Raumelementregion 512 basiert, der einem Abschnitt der Form 504 entspricht.
  • Das Verfahren 1100 beinhaltet bei Block B1106 ein Füllen von Elementen von Grundwahrheitsdaten mit dem Abdeckungswert. Beispielsweise kann der Grundwahrheitsgenerator 412 ein oder mehrere Elemente von Grundwahrheitsdaten (z.B. einen Grundwahrheitstensor), die der Raumelementregion 512 des Trainingsbilds entsprechen, mit dem Abdeckungswert füllen. Der Grundwahrheitsgenerator 412 kann darüber hinaus zumindest ein Element der Grundwahrheitsdaten, das der Objektregion 506 entspricht, mit zumindest einem Objektregionswert füllen, der für die Objektregion 506 (oder eine oder mehrere zugehörige Positionen derselben) repräsentativ ist.
  • Das Verfahren 1100 beinhaltet bei Block B1108 ein Training eines Modells maschinellen Lernens unter Verwendung der Grundwahrheitsdaten. Beispielsweise kann das Modelltraining 414 den Objektdetektor 306 unter Verwendung der Grundwahrheitsdaten trainieren.
  • Nun auf 12 Bezug nehmend, ist 12 ein Ablaufdiagramm, das ein Verfahren 1200 zum Bestimmen von weichen Abdeckungswerten für das Training eines Objektdetektors darstellt, gemäß einigen Ausführungsbeispielen der Erfindung.
  • Das Verfahren 1200 beinhaltet bei Block B1202 ein Rendern zumindest eines Teils einer Form mit einer höheren räumlichen Auflösung als ein Grundwahrheitstensor. Beispielsweise kann der Abdeckungswertbestimmer 404 die Form 504 in den Bilddaten 522 mit einer höheren räumlichen Auflösung rendern, als zur Darstellung der Raumelemente in den Grundwahrheitsdaten verwendet wird.
  • Das Verfahren 1200 beinhaltet bei Block B1204 ein Herunterskalieren des gerenderten zumindest einen Teils der Form, um einen bildkantengeglätteten Abschnitt der Form bereitzustellen, der einem Abdeckungswert entspricht, der zum Trainieren eines Modells maschinellen Lernens zur Objekterfassung verwendet wird. Beispielsweise kann der Abdeckungswertbestimmer 404 die Form 504 in den Bilddaten 522 auf eine niedrigere räumliche Auflösung in den Bilddaten 524 heruntersampeln, wie beispielsweise auf eine Auflösung, die zur Darstellung der Raumelemente in den Grundwahrheitsdaten verwendet wird. Der Abdeckungswertbestimmer 404 kann einen oder mehrere Abdeckungswerte für die Raumelemente aus der heruntergesampelten Form bestimmen.
  • Nun auf 13 Bezug nehmend, ist 13 ein Ablaufdiagramm, das ein Verfahren 1300 zum Bestimmen eines Abdeckungswerts, der zum Trainieren eines Objektdetektors verwendet wird, darstellt, gemäß einigen Ausführungsbeispielen der Erfindung.
  • Das Verfahren 1300 beinhaltet bei Block B1302 ein Bestimmen eines ersten Abdeckungswerts für eine erste Objektregion, die einem Trainingsbild zugeordnet ist, und eines zweiten Abdeckungswerts für eine zweite Objektregion, die dem Trainingsbild zugeordnet ist. Beispielsweise kann der Abdeckungswertbestimmer 404 einen Abdeckungswert 620 von 6 und einen Abdeckungswert 622 von 6 bestimmen.
  • Das Verfahren 1300 beinhaltet bei Block B1302 ein Zuordnen des ersten Abdeckungswerts zu einer Raumelementregion mit Raumelementen bzw. räumlichen Elementen des Trainingsbilds, basierend zumindest teilweise darauf, dass der erste Abdeckungswert größer als der zweite Abdeckungswert ist. Beispielsweise kann der Aktivobjektwähler 406 ein dem Abdeckungswert 620 entsprechendes Objekt als ein aktives Objekt auswählen, zumindest teilweise basierend auf dem Abdeckungswert 620, der größer als der Abdeckungswert 622 ist. Der Abdeckungswertbestimmer 404 kann den Abdeckungswert 620 der Raumelementregion zumindest teilweise basierend auf dem dem aktiven Objekt entsprechenden Abdeckungswert 620 zuordnen.
  • Beispielhafte Betriebsumgebung
  • Das Objekterfassungssystem 100 und/oder das Objekterfassungs-Trainingssystem 400 können in einer beispielhaften Betriebsumgebung 1400 von 14 implementiert sein, gemäß einigen Ausführungsbeispielen der Erfindung.
  • Neben anderen nicht dargestellten Komponenten beinhaltet die Betriebsumgebung 1400 eine oder mehrere Client-Vorrichtung(en) 1420, ein oder mehrere Netzwerk(e) 1440, ein oder mehrere Servervorrichtung(en) 1460, einen oder mehrere Sensor(en) 1480 und einen oder mehrere Datenspeicher 1450. Es versteht sich, dass die in 14 gezeigte Betriebsumgebung 1400 ein Beispiel für eine geeignete Betriebsumgebung ist. Jede der in 14 gezeigten Komponenten kann über eine beliebige Art von Rechenvorrichtung implementiert sein, wie beispielsweise eine oder mehrere der in Verbindung mit 16 beschriebenen Rechenvorrichtung 1600. Diese Komponenten können über das Netzwerk 1440, das verkabelt, drahtlos oder beides sein kann, miteinander kommunizieren. Das Netzwerk 1440 kann mehrere Netzwerke oder ein Netzwerk von Netzwerken, beinhalten, ist aber in einfacher Form gezeigt, um Aspekte der Erfindung nicht zu verdecken. Beispielsweise kann das Netzwerk 1440 ein oder mehrere Wide Area Networks (WANs), ein oder mehrere Local Area Networks (LANs), ein oder mehrere öffentliche Netzwerke wie beispielsweise das Internet und/oder ein oder mehrere private Netzwerke beinhalten. Wenn das Netzwerk 1440 ein drahtloses Telekommunikationsnetzwerk beinhaltet, können Komponenten wie beispielsweise eine Basisstation, ein Kommunikationsturm oder sogar Zugangspunkte (sowie andere Komponenten) drahtlose Konnektivität bereitstellen. In jedem Beispiel kann zumindest ein Netzwerk 1440 dem/den Netzwerk(en) 1590 von 15D entsprechen, die nachstehend näher beschrieben werden.
  • Es versteht sich, dass im Rahmen der Erfindung eine beliebige Anzahl der Client-Vorrichtungen 1420, der Server-Vorrichtungen 1460, der Sensoren 1480 und der Datenspeicher 1450 innerhalb der Betriebsumgebung 1400 eingesetzt sein kann. Jedes derselben kann als eine einzelne Vorrichtung oder als mehrere Vorrichtungen konfiguriert sein, die in einer verteilten Umgebung zusammenarbeiten.
  • Die Client-Vorrichtung(en) 1420 können zumindest einige der Komponenten, Merkmale und Funktionalitäten der hierin mit Bezug auf 16 beschriebenen, beispielhaften Rechenvorrichtung 1600 beinhalten. Als Beispiel und nicht als Beschränkung kann eine Client-Vorrichtung 1420 als Personal Computer (PC), ein Laptop-Computer, eine mobile Vorrichtung, ein Smartphone, ein Tablet-Computer, eine Smart Watch, ein tragbarer Computer, ein Personal Digital Assistant (PDA), ein MP3-Player, ein Global Positioning System (GPS) oder eine solche Vorrichtung, ein Videoplayer, eine tragbare Kommunikationsvorrichtung, eine Spielvorrichtung oder ein Spielsystem, ein Unterhaltungssystem, ein Fahrzeugcomputersystem, eine eingebettete Systemsteuereinrichtung, eine Fernbedienung, ein Gerät, eine Verbraucherelektronikvorrichtung, eine Arbeitsstation, eine beliebige Kombination dieser voneinander abgegrenzten Vorrichtungen oder jede beliebige andere geeignete Vorrichtung verkörpert sein. In jedem Beispiel kann zumindest eine Client-Vorrichtung 1420 Teil eines Fahrzeugs sein, wie beispielsweise das Fahrzeug 1500 von 15A-15D, die hierin näher beschrieben werden.
  • Die Client-Vorrichtung(en) 1420 kann/können einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien beinhalten. Die computerlesbaren Medien können computerlesbare Anweisungen enthalten, die von dem einem oder den mehreren Prozessoren ausgeführt werden können. Die Anweisungen können, wenn sie von dem einem oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, eine beliebige Kombination und/oder einen Teil der hierin beschriebenen Verfahren durchzuführen und/oder einen beliebigen Teil der Funktionalität des Objekterfassungssystems 100 aus 1A zu implementieren.
  • Die Servervorrichtung(en) 1460 können auch einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien beinhalten. Das computerlesbare Medium beinhaltet computerlesbare Anweisungen, die von dem einem oder den mehreren Prozessoren ausführbar sind. Die Anweisungen können, wenn sie von dem einem oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, eine beliebige Kombination und/oder einen beliebigen Teil der hierin beschriebenen Verfahren durchzuführen und/oder einen beliebigen Teil der Funktionalität des Objekterfassungssystems 100 aus 1A zu implementieren. In jedem Beispiel kann zumindest eine Server-Vorrichtung 1460 dem bzw. den Server(n) 1578 von 15D entsprechen, die hierin näher beschrieben werden.
  • Der/die Datenspeicher 1450 können ein oder mehrere computerlesbare Medien umfassen. Die computerlesbaren Medien können computerlesbare Anweisungen enthalten, die von dem einem oder den mehreren Prozessoren ausführbar sind. Die Anweisungen können, wenn sie von dem einem oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, eine beliebige Kombination und/oder einen beliebigen Teil der hierin beschriebenen Verfahren durchzuführen und/oder einen beliebigen Teil der Funktionalität des Objekterfassungssystems 100 aus 1A zu implementieren. Der/die Datenspeicher 1450 (oder Computerdatenspeicher) ist/sind als eine einzige Komponente dargestellt, kann/können aber als ein oder mehrere Datenspeicher (z.B. Datenbanken) ausgeführt sein und kann/können zumindest teilweise in der Cloud liegen. Einer oder mehrere des/der Datenspeichers) 1450 können einem oder mehreren der Datenspeicher von 15C entsprechen.
  • Obwohl außerhalb der Servervorrichtung(en) 1460 und der Client-Vorrichtungen) 1420 dargestellt, kann/können der/die Datenspeicher 1450 zumindest teilweise auf einer beliebigen Kombination der Servervorrichtung(en) 1460 und/oder der Client-Vorrichtung(en) 1420 (z.B. als Speicher 1604 (16)) verkörpert sein. Beispielsweise können einige Informationen auf einer oder mehreren Client-Vorrichtung(en) 1420 gespeichert sein, und andere und/oder doppelte Informationen können extern (z.B. auf einer oder mehreren Servervorrichtung(en) 1460) gespeichert sein. Folglich sollte beachtet werden, dass Informationen in dem/den Datenspeicher(n) 1450 in beliebig geeigneter Weise über einen oder mehrere Datenspeicher hinweg zur Speicherung verteilt sein können (welche extern gehostet sein können). Beispielsweise kann/können der/die Datenspeicher 1450 zumindest einen Teil des einen oder der mehreren computerlesbaren Medien der Servervorrichtung(en) 1460 und/oder zumindest einen Teil des einen oder der mehreren computerlesbaren Medien der Client-Vorrichtung(en) 1420 umfassen.
  • Der/die Sensor(en) 1480 umfassen zumindest einen Sensor, der Sensordaten erzeugen kann, die zumindest einen gewissen Aspekt einer Umgebung repräsentieren. Beispielsweise kann/können der/die Sensor(en) 1480 die Sensordaten 102 von 1A erzeugen. Der/die Sensor(en) 1480 können eine beliebige Kombination aus einem/mehreren Sensor(en) eines globalen Navigationssatellitensystems (GNSS) (z.B. Global Positioning System (GPS)-Sensor(en)), RADAR-Sensor(en), Ultraschallsensor(en), LIDAR-Sensor(en), Trägheitsmesseinheit (IMU)-Sensor(en) (z.B, Beschleunigungssensor(en), Gyroskop(en), Magnetkompass(en), Magnetometer(n), usw.), Mikrofon(en), Stereokamera(s), Weitsichtkamera(s) (z.B, Fisheye-Kameras), Infrarotkamera(s), Surround-Kamera(s) (z.B. 360-Grad-Kameras), Fernbereich- und/oder Mittelbereich-Kameras, Geschwindigkeitssensor(en) (z.B. zum Messen der Geschwindigkeit des Fahrzeugs 1500), Schwingungssensor(en), Lenksensor(en), Bremssensor(en) (z.B. als Teil des Bremssensorsystems) und/oder anderen Sensortypen umfassen.
  • Unter Bezugnahme auf 15A-15C können die Sensordaten 102 von, beispielsweise und ohne Einschränkung, einem oder mehreren Sensor(en) 1568 (z.B. Global Positioning System-Sensor(en)), RADAR Sensor(en) 1560, Ultraschallsensor(en) 1562, LIDAR Sensor(en) 1564, Trägheitsmesseinheit(en) (IMU)-Sensor(en) 1566 (z.B. Beschleunigungssensor(en), Gyroskop(en), Magnetkompass(en), Magnetometer(n), usw.), Mikrofon(en) 1596, Stereokamera(s) 1568, Weitsichtkamera(s) 1570 (z.B, Fisheye-Kameras), Infrarot-Kamera(s) 1572, Surround-Kamera(s) 1574 (z.B. 360-Grad-Kameras), Fernbereich- und/oder Mittelbereich-Kamera(s) 1598, Geschwindigkeitssensor(en) 1544 (z.B. zur Messung der Fahrzeuggeschwindigkeit 1500), Schwingungssensor(en) 1542, Lenksensor(en) 1540, Bremssensor(en) (z.B. als Teil des Bremssensorsystems 1546) und/oder andere Sensortypen generiert werden.
  • In einigen Beispielen können die Sensordaten 102 von nach vorne und/oder nach der Seite gerichteten Kameras, wie beispielsweise einer oder mehreren Weitwinkelkamera(s) 1570, einer oder mehreren Surround-Kamera(s) 1574, einer oder mehreren Stereokamera(s) 1568 und/oder einer oder mehreren Fernbereich-oder Mittelbereich-Kamera(s) 1598, erzeugt werden. In einigen Beispielen können mehr als eine Kamera oder ein anderer Sensor dazu verwendet werden, mehrere Sichtfelder (z.B. das Sichtfeld der Fernbereichkameras 1598, der nach vorne gerichteten Stereokamera 1568 und/oder der nach vorne gerichteten Weitsichtkamera 1570 aus 15B) zu integrieren.
  • Beispielhaftes autonomes Fahrzeug
  • 15A ist eine Darstellung eines beispielhaften autonomen Fahrzeugs 1500, in Übereinstimmung mit einigen Ausführungsbeispielen der Erfindung. Das autonome Fahrzeug 1500 (alternativ hierin als das „Fahrzeug 1500“ bezeichnet) kann einen Personenkraftwagen, wie beispielsweise einen Pkw, einen Lastkraftwagen, einen Bus und/oder einen anderen Fahrzeugtyp, der einen oder mehrere Fahrgäste aufnimmt, beinhalten. Autonome Fahrzeuge werden allgemein in Bezug auf Automatisierungsstufen beschrieben, die von der National Highway Traffic Safety Administration (NHTSA), einer Abteilung des US Department of Transportation, und der Society of Automotive Engineers (SAE) „Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles“ (Standard Nr. J3016-201806, veröffentlicht am 15. Juni 2018, Standard Nr. J3016-201609, veröffentlicht am 30. September 2016, und früheren und zukünftigen Versionen dieser Norm) definiert wurden. Das Fahrzeug 1500 kann zu Funktionalität in Übereinstimmung mit einer oder mehreren der Stufen 3 - 5 der autonomen Fahrstufen in der Lage sein. Beispielsweise kann das Fahrzeug 1500 je nach Ausführungsform zu bedingter Automatisierung (Stufe 3), hohe Automatisierung (Stufe 4) und/oder Vollautomatisierung (Stufe 5) in der Lage sein.
  • Das Fahrzeug 1500 kann Komponenten wie beispielsweise ein Fahrgestell, eine Fahrzeugkarosserie, Räder (z.B. 2, 4, 6, 8, 18 usw.), Reifen, Achsen und andere Komponenten eines Fahrzeugs beinhalten. Das Fahrzeug 1500 kann ein Antriebssystem 1550 beinhalten, wie beispielsweise einen Verbrennungsmotor, ein Hybrid-Elektrokraftwerk, einen vollelektrischen Motor und/oder einen anderen Antriebssystemtyp. Das Antriebssystem 1550 kann mit einem Antriebsstrang des Fahrzeugs 1500 verbunden sein, der ein Getriebe beinhalten kann, um den Antrieb des Fahrzeugs 1500 zu ermöglichen. Das Antriebssystem 1550 kann im Ansprechen auf ein Empfangen von Signalen von der Drosselklappe/dem Fahrpedal 1552 gesteuert werden.
  • Ein Lenksystem 1554, welches ein Lenkrad beinhalten kann, kann dazu verwendet werden, das Fahrzeug 1500 zu lenken (z.B. auf einem gewünschten Weg oder einer gewünschten Route), wenn das Antriebssystem 1550 in Betrieb ist (z.B. wenn das Fahrzeug in Bewegung ist). Das Lenksystem 1554 kann Signale von einem Lenkstellglied 1556 empfangen. Das Lenkrad kann für Vollautomatisierung (Stufe 5) optional sein.
  • Das Bremssensorsystem 1546 kann dazu verwendet werden, die Fahrzeugbremsen im Ansprechen auf einen Empfang von Signalen von den Bremsstellgliedern 1548 und/oder Bremssensoren zu betätigen.
  • Eine oder mehrere Steuereinrichtung(en) 1536, die ein oder mehrere Systemauf-Chip (SoCs) 1504 (15C) und/oder GPU(s) beinhalten kann/können, kann/können Signale (z.B. repräsentativ für Befehle) an eine oder mehrere Komponenten und/oder Systeme des Fahrzeugs 1500 liefern. Beispielsweise kann/können die Steuereinrichtung(en) Signale zum Betätigen der Fahrzeugbremsen über ein oder mehrere Bremsstellglieder 1548, zum Betätigen des Lenksystems 1554 über ein oder mehrere Lenkstellglieder 1556, zum Betätigen des Antriebssystems 1550 über ein oder mehrere Drosselklappen/Fahrpedale 1552 senden. Die Steuereinrichtung(en) 1536 können eine oder mehrere eingebaute (z.B. integrierte) Rechenvorrichtungen (z.B. Supercomputer) beinhalten, die Sensorsignale verarbeiten, und Betriebsbefehle (z.B. Signale, die Befehle repräsentieren) ausgeben, um autonomes Fahren zu ermöglichen und/oder einen menschlichen Fahrer beim Fahren des Fahrzeugs 1500 zu unterstützen. Die Steuereinrichtung(en) 1536 können eine erste Steuereinrichtung 1536 für autonome Fahrfunktionen, eine zweite Steuereinrichtung 1536 für funktionale Sicherheitsfunktionen, eine dritte Steuereinrichtung 1536 für Funktionalität künstlicher Intelligenz (z.B. Computervision), eine vierte Steuereinrichtung 1536 für Infotainment-Funktionalität, eine fünfte Steuereinrichtung 1536 für Redundanz im Notfall und/oder andere Steuereinrichtungen beinhalten. In einigen Beispielen kann eine einzelne Steuereinrichtung 1536 zwei oder mehr der vorstehend genannten Funktionalitäten übernehmen, können zwei oder mehr Steuereinrichtungen 1536 eine einzelne Funktionalität übernehmen, und/oder eine beliebige Kombination davon.
  • Die Steuereinrichtung(en) 1536 können die Signale zum Steuern einer oder mehrerer Komponenten und/oder Systeme des Fahrzeugs 1500 im Ansprechen auf Sensordaten, die von einem oder mehreren Sensoren (z.B. Sensoreingänge) empfangen wurden, bereitstellen. Die Sensordaten können, beispielsweise und ohne Beschränkung, von einem oder mehreren Sensor(en) globaler Navigationssatellitensysteme 1558 (z.B. Global Positioning System-Sensor(en)), RADAR-Sensor(en) 1560, Ultraschallsensor(en) 1562, LIDAR-Sensor(en) 1564, Trägheitsmesseinheit (IMU)-Sensor(en) 1566 (z.B. Beschleunigungssensor(en), Gyroskop(en), Magnetkompass(en), Magnetometer(n), usw.), Mikrofon(en) 1596, Stereokamera(s) 1568, Weitsichtkamera(s) 1570 (z.B. Fisheye-Kameras), Infrarot-Kamera(s) 1572, Surround-Kamera(s) 1574 (z.B. 360-Grad-Kameras), Fernbereich- und/oder Mittelbereich-Kamera(s) 1598, Geschwindigkeitssensor(en) 1544 (z.B. zur Messung der Geschwindigkeit des Fahrzeugs 1500), Schwingungssensor(en) 1542, Lenksensor(en) 1540, Bremssensor(en) (z.B. als Teil des Bremssensorsystems 1546) und/oder anderen Sensortypen empfangen werden.
  • Eine oder mehrere der Steuereinrichtung(en) 1536 können Eingaben (z.B. repräsentiert durch Eingangsdaten) von einem Kombiinstrument 1532 des Fahrzeugs 1500 empfangen und Ausgaben (z.B. repräsentiert durch Ausgangsdaten, Anzeigedaten usw.) über eine Mensch-Maschine-Schnittstelle (HMI) 1534, einen akustischen Melder, einen Lautsprecher und/oder über andere Komponenten des Fahrzeugs 1500 bereitstellen. Die Ausgaben können Informationen wie beispielsweise eine Fahrzeuggeschwindigkeit, eine Geschwindigkeit, eine Zeit, Kartendaten (z.B. die HD-Karte 1522 von 15C), Positionsdaten (z.B. der Position des Fahrzeugs 1500, wie beispielsweise auf einer Karte), eine Richtung, eine Position anderer Fahrzeuge (z.B. ein Belegungsraster), Informationen über Objekte und Zustand von Objekten, wie sie von der/den Steuereinrichtung(en) 1536 wahrgenommen werden, usw. beinhalten. Beispielsweise kann die HMI-Anzeige 1534 Informationen über das Vorhandensein eines oder mehrerer Objekte (z.B. eines Straßenschilds, eines Warnschilds, eines Ampelwechsels usw.) und/oder Informationen über Fahrmanöver, die das Fahrzeug durchgeführt hat, gerade durchführt oder durchführen wird (z.B. Fahrspurwechsel jetzt, Ausfahrt 34B in zwei Meilen nehmen usw.), anzeigen.
  • Das Fahrzeug 1500 beinhaltet ferner eine Netzwerkschnittstelle 1524, welche eine oder mehrere drahtlose Antenne(n) 1526 und/oder Modem(e) zum Kommunizieren über ein oder mehrere Netzwerke verwenden kann. Beispielsweise kann die Netzwerkschnittstelle 1524 zu Kommunikation über LTE, WCDMA, UMTS, GSM, CDMA2000, usw. in der Lage sein. Die drahtlose(n) Antenne(n) 1526 können auch Kommunikation zwischen Objekten in der Umgebung (z.B. Fahrzeuge, mobile Vorrichtungen usw.) unter Verwendung lokaler Netzwerke wie beispielsweise Bluetooth, Bluetooth LE, Z-Wave, ZigBee usw. und/oder Fernbereichsnetzwerke mit geringer Leistung (LPWANs) wie beispielsweise LoRaWAN, SigFox usw. ermöglichen.
  • 15B ist ein Beispiel für Kamerastandorte und Sichtfelder für das beispielhafte autonome Fahrzeug 1500 von 15A, gemäß einigen Ausführungsbeispielen der Erfindung. Die Kameras und jeweilige Sichtfelder sind ein beispielhaftes Ausführungsbeispiel und sind nicht als beschränkend beabsichtigt. Beispielsweise können zusätzliche und/oder alternative Kameras integriert sein, und/oder können sich die Kameras an verschiedenen Positionen an dem Fahrzeug 1500 befinden.
  • Die Kameratypen für die Kameras können Digitalkameras beinhalten, die zur Verwendung mit den Komponenten und/oder Systemen des Fahrzeugs 1500 angepasst sein können, sind aber nicht darauf beschränkt. Die Kamera(s) können auf der automobilen Sicherheitsintegritätsstufe (ASIL) B und/oder einer anderen ASIL arbeiten. Die Kamera(s) können zu jeder beliebigen Bildaufnahmerate in der Lage sein, wie z.B. je nach Ausführung zu 60 Bildern pro Sekunde (fps), 1520 fps, 240 fps, usw. Die Kameras können Rollverschlüsse, Globalverschlüsse, eine andere Art von Verschluss oder eine Kombination derselben verwenden. In einigen Beispielen kann die Farbfilteranordnung eine Red Clear Clear Clear (RCCC)-Farbfilteranordnung, eine Red Clear Clear Blue (RCCB)-Farbfilteranordnung, eine Red Blue Green VClear (RBGC)-Farbfilteranordnung, eine Foveon X3-Farbfilteranordnung, eine Bayer-Sensoren (RGGB)-Farbfilteranordnung, eine Monochromsensor-Farbfilteranordnung und/oder eine andere Art von Farbfilteranordnung beinhalten. In einigen Ausführungsbeispielen können Klarpixelkameras, wie beispielsweise Kameras mit einer RCCC-, einer RCCB- und/oder einer RBGC-Farbfilteranordnung, dazu verwendet werden, die Lichtempfindlichkeit zu erhöhen.
  • In einigen Beispielen kann eine oder mehrere der Kamera(s) dazu verwendet werden, Funktionen fortgeschrittener Fahrerassistenzsysteme (ADAS) durchzuführen (z.B. als Teil einer redundanten oder ausfallsicheren Auslegung). Beispielsweise kann eine Multifunktions-Monokamera installiert sein, um Funktionen einschließlich Spurverlassenswarnung, Verkehrszeichenunterstützung und intelligente Scheinwerfersteuerung bereitzustellen. Eine oder mehrere der Kamera(s) (z.B. alle Kameras) können Bilddaten (z.B. Video) gleichzeitig aufnehmen und bereitstellen.
  • Eine oder mehrere der Kameras können in einer Montageanordnung, wie beispielsweise einer kundenspezifischen (3D-gedruckten) Anordnung, montiert sein, um Streulicht und Reflexionen aus dem Fahrzeuginneren (z.B. Reflexionen von dem Armaturenbrett, die in den Spiegeln der Windschutzscheibe reflektiert werden), welche die Bilddatenerfassungsfähigkeit der Kamera beeinträchtigen können, zu entfernen. In Bezug auf Montagebaugruppen der Außenspiegel können die Außenspiegelbaugruppen individuell 3D-gedruckt sein, so dass die Kameramontageplatte der Form des Außenspiegels entspricht. In einigen Beispielen kann/können die Kamera(s) in den Außenspiegel integriert sein. Bei Seitensichtkameras kann/können die Kamera(s) auch in die vier Säulen an jeder Ecke der Kabine integriert sein.
  • Kameras mit einem Sichtfeld, das Teile der Umgebung vor dem Fahrzeug 1500 beinhaltet (z.B. nach vorne gerichtete Kameras), können für die Rundumsicht verwendet werden, um dabei zu helfen, vorwärts gerichtete Wege und Hindernisse zu identifizieren, sowie dabei zu helfen, mit Hilfe einer oder mehrerer Steuereinrichtungen 1536 und/oder Steuer-SoCs Informationen bereitzustellen, die für die Erzeugung eines Belegungsgitters und/oder das Bestimmen der bevorzugten Fahrzeugwege maßgeblich sind. Vorwärts gerichtete Kameras können dazu verwendet werden, viele derselben ADAS-Funktionen wie LIDAR auszuführen, einschließlich Notbremsung, Fußgängererfassung und Kollisionsvermeidung. Vorwärts gerichtete Kameras können auch für ADAS-Funktionen und -Systeme einschließlich Spurverlassenswarnung bzw. Lane Departure Warnings („LDW“), autonome Geschwindigkeitsregelung bzw. Autonomous Cruise Control („ACC“) und/oder andere Funktionen wie Verkehrszeichenerfassung verwendet werden.
  • Eine Vielzahl von Kameras kann in einer nach vorne gerichteten Konfiguration verwendet werden, einschließlich beispielsweise einer monokularen Kameraplattform, die einen CMOS (Complementary Metal Oxide Semiconductor)-Farbbildsensor beinhaltet. Ein weiteres Beispiel kann zumindest eine Weitwinkelkamera 1570 sein, die dazu verwendet werden kann, Objekte wahrzunehmen, die aus der Peripherie heraus in Sicht geraten (z.B. Fußgänger, kreuzender Verkehr oder Fahrräder). Obwohl in 15B nur eine Weitwinkelkamera dargestellt ist, kann es an dem Fahrzeug 1500 eine beliebige Anzahl von Weitwinkelkameras 1570 geben. Darüber hinaus kann/können eine oder mehrere Fernbereichkamera(s) 1598 (z.B. ein Tele-Stereokamera-Paar) zur tiefenbasierten Objekterfassung verwendet werden, insbesondere für Objekte, für welche ein neuronales Netzwerk noch nicht trainiert wurde. Die Fernbereichkamera(s) 1598 kann/können auch zur Objekterfassung und -klassifizierung sowie zur grundlegenden Objektnachverfolgung verwendet werden.
  • Eine oder mehrere Stereokameras 1568 können ebenfalls in einer frontseitigen Konfiguration integriert sein. Die Stereokamera(s) 1568 können eine integrierte Steuereinheit beinhalten, die eine skalierbare Verarbeitungseinheit umfasst, welche eine programmierbare Logik (FPGA) und einen Mehrkern-Mikroprozessor mit einer integrierten CAN- oder Ethernet-Schnittstelle auf einem einzigen Chip bereitstellen kann. Eine solche Einheit kann dazu verwendet werden, eine 3D-Karte der Umgebung des Fahrzeugs zu erstellen, einschließlich einer Entfernungsschätzung für alle Punkte in dem Bild. Eine oder mehrere alternative Stereokamera(s) 1568 kann/können einen oder mehrere kompakte(n) Stereosichtsensor(en) beinhalten, der zwei Kameraobjektive (je eines links und rechts) und einen Bildverarbeitungschip beinhalten kann, der die Entfernung von dem Fahrzeug zu dem Zielobjekt messen und die generierten Informationen (z.B. Metadaten) dazu verwenden kann, die autonomen Notbrems- und Spurverlassenswarnungs-Funktionen zu aktivieren. Andere Arten von Stereokamera(s) 1568 können zusätzlich oder alternativ zu den hierin beschriebenen verwendet werden.
  • Kameras mit einem Sichtfeld, das Teile der Umgebung seitlich des Fahrzeugs 1500 beinhaltet (z.B. Seitensichtkameras), können für eine Surround- bzw. Rundum-Ansicht verwendet werden und Informationen bereitstellen, die zum Erstellen und Aktualisieren des Belegungsrasters sowie zum Erzeugen von Seitenaufprall-Kollisionswarnungen verwendet werden. Beispielsweise kann/können die Rundum- bzw. Surround-Kamera(s) 1574 (z.B. vier Surround-Kameras 1574, wie in 15B dargestellt) auf dem Fahrzeug 1500 positioniert sein. Die Surround-Kamera(s) 1574 können eine oder mehrere Weitwinkelkamera(s) 1570, Fischaugen-Kamera(s), 360-Grad-Kamera(s) und/oder dergleichen beinhalten. Beispielsweise können vier Fisheye-Kameras an der Vorderseite, dem Heck und den Seiten des Fahrzeugs positioniert sein. In einer alternativen Anordnung kann das Fahrzeug drei Surround-Kamera(s) 1574 (z.B. links, rechts und hinten) verwenden, und kann eine oder mehrere andere Kamera(s) (z.B. eine nach vorne gerichtete Kamera) als eine vierte Surround-Kamera nutzen.
  • Kameras mit einem Sichtfeld, das Teile der Umgebung nach hinten bzw. am Heck des Fahrzeugs 1500 beinhaltet (z.B. Rückfahrkameras), können für Einparkhilfe, Rundumsicht, Heckkollisionswarnung sowie Erstellung und Aktualisierung des Belegungsrasters verwendet werden. Eine Vielzahl von Kameras kann verwendet werden, einschließlich, aber nicht beschränkt auf, Kameras, die auch als nach vorne gerichtete Kamera(s) bzw. Frontkamera(s) geeignet sind (z.B. Fern- und/oder Mittelbereich-Kamera(s) 1598, Stereokamera(s) 1568), Infrarotkamera(s) 1572 usw.), wie hierin beschrieben.
  • 15C ist ein Blockdiagramm einer beispielhaften Systemarchitektur für das beispielhafte autonome Fahrzeug 1500 von 15A, gemäß einigen Ausführungsbeispielen der Erfindung. Es versteht sich, dass diese und andere hierin beschriebene Anordnungen nur als Beispiele aufgeführt sind. Andere Anordnungen und Elemente (z.B. Maschinen, Schnittstellen, Funktionen, Reihenfolgen, Gruppierungen von Funktionen usw.) können zusätzlich oder anstelle der gezeigten verwendet werden, und einige Elemente können ganz weggelassen sein. Darüber hinaus sind viele der hierin beschriebenen Elemente funktionale Einheiten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und Lage implementiert sein können. Verschiedene Funktionen, die hierin als von Einheiten ausgeführt beschrieben werden, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der in einem Speicher gespeicherte Anweisungen ausführt.
  • Jede(s) der Komponenten, Merkmale und Systeme des Fahrzeugs 1500 in 15C ist als über einen Bus 1502 verbunden dargestellt. Der Bus 1502 kann eine Controller Area Network (CAN)-Datenschnittstelle beinhalten (hierin alternativ als ein „CAN-Bus“ bezeichnet). Ein CAN kann ein Netzwerk innerhalb des Fahrzeugs 1500 sein, das zur Steuerung verschiedener Merkmale und Funktionalitäten des Fahrzeugs 1500 verwendet wird, wie z.B. Betätigung von Bremsen, Beschleunigung, Bremsen, Lenken, Scheibenwischer, usw. Ein CAN-Bus kann dazu konfiguriert sein, Dutzende oder sogar Hunderte von Knoten aufzuweisen, die jeweils mit einem eigenen eindeutigen Identifikator (z.B. einer CAN-ID) versehen sind. Der CAN-Bus kann gelesen werden, um einen Lenkradwinkel, eine Fahrgeschwindigkeit, Motordrehzahlen pro Minute (1/min), Tastenpositionen und/oder andere Fahrzeugstatusindikatoren festzustellen. Der CAN-Bus kann ASIL B-konform sein.
  • Obwohl der Bus 1502 hierin als ein CAN-Bus beschrieben ist, ist dies nicht als Einschränkung zu verstehen. Beispielsweise kann zusätzlich oder alternativ zu dem CAN-Bus FlexRay und/oder Ethernet verwendet werden. Obwohl eine einzige Leitung zur Repräsentation des Busses 1502 verwendet wird, ist dies nicht als Einschränkung zu verstehen. Beispielsweise kann es eine beliebige Anzahl von Bussen 1502 geben, welche einen oder mehrere CAN-Busse, einen oder mehrere FlexRay-Busse, einen oder mehrere Ethernet-Busse und/oder einen oder mehrere andere Arten von Bussen mit einem anderen Protokoll beinhalten können. In einigen Beispielen können zwei oder mehr Busse 1502 dazu verwendet werden, verschiedene Funktionen auszuführen, und/oder für Redundanz verwendet werden. Beispielsweise kann ein erster Bus 1502 zur Kollisionsvermeidungsfunktionalität und ein zweiter Bus 1502 zur Betätigungssteuerung verwendet werden. In jedem Beispiel kann jeder Bus 1502 mit jeder der Komponenten des Fahrzeugs 1500 kommunizieren, und können zwei oder mehr Busse 1502 mit den gleichen Komponenten kommunizieren. In einigen Beispielen kann jedes SoC 1504, jede Steuereinrichtung 1536 und/oder jeder Computer innerhalb des Fahrzeugs Zugriff auf die gleichen Eingangsdaten haben (z.B. Eingänge von Sensoren des Fahrzeugs 1500), und kann mit einem gemeinsamen Bus, wie dem CAN-Bus, verbunden sein.
  • Das Fahrzeug 1500 kann eine oder mehrere Steuereinrichtung(en) 1536 beinhalten, wie sie hierin in Bezug auf 15A beschrieben sind. Die Steuereinrichtung(en) 1536 kann/können für eine Vielzahl von Funktionen verwendet werden. Die Steuereinrichtung(en) 1536 kann/können mit einer der verschiedenen anderen Komponenten und Systeme des Fahrzeugs 1500 gekoppelt sein und kann/können zur Steuerung des Fahrzeugs 1500, der künstlichen Intelligenz des Fahrzeugs 1500, des Infotainments für das Fahrzeug 1500 und/oder dergleichen verwendet werden.
  • Das Fahrzeug 1500 kann ein oder mehrere Systeme auf einem Chip (SoC) 1504 beinhalten. Das SoC 1504 kann CPU(s) 1506, GPU(s) 1508, Prozessor(en) 1510, Cache(s) 1512, Beschleuniger 1514, Datenspeicher 1516 und/oder andere nicht dargestellte Komponenten und Merkmale beinhalten. Die SoC(s) 1504 können zum Steuern des Fahrzeugs 1500 in einer Vielzahl von Plattformen und Systemen verwendet werden. Beispielsweise können die SoC(s) 1504 in einem System (z.B. dem System des Fahrzeugs 1500) mit einer HD-Karte 1522 kombiniert sein, die über eine Netzwerkschnittstelle 1524 von einem oder mehreren Servern (z.B. Server 1578 von 15D) Kartenauffrischungen und/oder -aktualisierungen erhalten kann.
  • Die CPU(s) 1506 können einen CPU-Cluster oder CPU-Komplex (alternativ hierin als „CCPLEX“ bezeichnet) beinhalten. Die CPU(s) 1506 können mehrere Kerne und/oder L2-Caches beinhalten. Beispielsweise können die CPU(s) 1506 in einigen Ausführungsbeispielen acht Kerne in einer kohärenten Multiprozessor-Konfiguration beinhalten. In einigen Ausführungsbeispielen können die CPU(s) 1506 vier Doppelkern- bzw. Dual-Core-Cluster beinhalten, wobei jeder Cluster einen dedizierten L2-Cache (z.B. einen 2 MB-L2-Cache) aufweist. Die CPU(s) 1506 (z.B. CCPLEX) können dazu konfiguriert sein, gleichzeitigen Clusterbetrieb zu unterstützen, wodurch jede Kombination der Cluster der CPU(s) 1506 jederzeit aktiv sein kann.
  • Die CPU(s) 1506 können Energieverwaltungsfähigkeiten implementieren, die eines oder mehrere der folgenden Merkmale beinhalten: einzelne Hardwareblöcke können im Leerlauf automatisch getaktet werden, um dynamische Leistung zu sparen; jeder Kerntakt kann angesteuert werden, wenn der Kern aufgrund Ausführung von WFI/WFE-Befehlen Anweisungen nicht aktiv ausführt; jeder Kerncluster kann unabhängig leistungsangesteuert werden; jeder Kerncluster kann unabhängig taktangesteuert werden, wenn alle Kerne taktangesteuert oder leistungsangesteuert werden; und/oder jeder Kerncluster kann unabhängig leistungsgesteuert werden, wenn alle Kerne leistungsgesteuert werden. Die CPU(s) 1506 können ferner einen erweiterten Algorithmus zur Verwaltung von Leistungszuständen implementieren, bei dem zulässige Leistungszustände und erwartete Aufwachzeiten spezifiziert sind und die Hardware/Mikrocode den besten Leistungszustand für den Kern, den Cluster und CCPLEX bestimmt. Die Verarbeitungskerne können vereinfachte Leistungszustand-Eintrittssequenzen in Software unterstützen, wobei die Arbeit auf Mikrocode übertragen wird.
  • Die GPU(s) 1508 können eine integrierte GPU beinhalten (hierin alternativ als eine „iGPU“ bezeichnet). Die GPU(s) 1508 können programmierbar sein und für parallele Arbeitslasten effizient sein. Die GPU(s) 1508 können in einigen Beispielen einen erweiterten Tensor-Befehlssatz verwenden. Die GPU(s) 1508 können einen oder mehrere Streaming-Mikroprozessoren beinhalten, wobei jeder Streaming-Mikroprozessor einen L1-Cache (z.B. einen L1-Cache mit zumindest 96KB Speicherkapazität) beinhalten kann und sich zwei oder mehr der Streaming-Mikroprozessoren einen L2-Cache (z.B. einen L2-Cache mit 512 KB Speicherkapazität) teilen können. In einigen Ausführungsbeispielen kann/können die GPU(s) 1508 zumindest acht Streaming-Mikroprozessoren beinhalten. Die GPU(s) 1508 kann/können Rechenanwendungs-Programmierschnittstelle(n) (API(s)) verwenden. Darüber hinaus kann/können die GPU(s) 1508 eine oder mehrere parallele Rechenplattformen und/oder Programmiermodelle (z.B. NVIDIAs CUDA) verwenden.
  • Die GPU(s) 1508 können für beste Leistung in Automobil- und Embedded-Anwendungsfällen energieoptimiert sein. Beispielsweise kann/können die GPU(s) 1508 auf einem Fin-Feldeffekttransistor (FinFET) hergestellt sein. Dies ist jedoch nicht beschränkend, und die GPU(s) 1508 können unter Verwendung anderer Halbleiterherstellungsverfahren hergestellt sein. Jeder Streaming-Mikroprozessor kann eine Reihe von Verarbeitungskernen mit gemischter Genauigkeit beinhalten, die in mehrere Blöcke unterteilt sind. Beispielsweise, und ohne beschränkt zu sein, können 64 PF32-Kerne und 32 PF64-Kerne in vier Verarbeitungsblöcke unterteilt sein. In einem solchen Beispiel können jedem Verarbeitungsblock 16 FP32-Kerne, 8 FP64-Kerne, 16 INT32-Kerne, zwei NVIDIA TENSOR-KERNe mit gemischter Genauigkeit für Deep-Learning-Matrix-Arithmetik, ein L0-Befehlscache, ein Warp-Scheduler, eine Sendeeinheit und/oder eine 64 KB-Registerdatei zugeordnet sein. Darüber hinaus können die Streaming-Mikroprozessoren unabhängige parallele Ganzzahl- und Gleitkomma-Datenpfade beinhalten, um eine effiziente Ausführung von Arbeitslasten mit einer Mischung aus Berechnungs- und Adressierungsberechnungen bereitzustellen. Die Streaming-Mikroprozessoren können unabhängige Thread-Scheduling-Funktionalität beinhalten, um eine feinkörnigere Synchronisierung und Kooperation zwischen parallelen Threads zu ermöglichen. Die Streaming-Mikroprozessoren können einen kombinierten L1-Daten-Cache und eine gemeinsam genutzte Speichereinheit beinhalten, um die Leistung zu verbessern und gleichzeitig die Programmierung zu vereinfachen.
  • Die GPU(s) 1508 können einen Speicher mit hoher Bandbreite (HBM) und/oder ein 16 GB HBM2-Speicher-Subsystem beinhalten, um in einigen Beispielen eine maximale Speicherbandbreite von etwa 900 GB/Sekunde bereitzustellen. In einigen Beispielen kann zusätzlich zu dem oder alternativ zu dem HBM-Speicher ein synchroner Grafik-Random-Access-Speicher (SGRAM) verwendet werden, wie beispielsweise ein synchroner Grafik-Random-Access-Speicher mit doppelter Datenrate Typ 5 (GDDR5).
  • Die GPU(s) 1508 können eine Unified Memory-Technologie einschließlich Zugriffszählern beinhalten, um eine genauere Migration von Speicherseiten zu dem Prozessor zu ermöglichen, der am häufigsten auf sie zugreift, wodurch die Effizienz für zwischen den Prozessoren geteilte Speicherbereiche verbessert wird. In einigen Beispielen kann eine Unterstützung von Address Translation Services (ATS) verwendet werden, damit die GPU(s) 1508 direkt auf die Seitentabellen der CPU(s) 1506 zugreifen kann. In solchen Beispielen kann dann, wenn die Speicherverwaltungseinheit (MMU) der GPU(s) 1508 einen Fehlgriff erfährt, eine Adressübersetzungsanforderung an die CPU(s) 1506 gesendet werden. Als Reaktion darauf kann/können die CPU(s) 1506 in ihren Seitentabellen nach dem virtuellphysikalischen Mapping für die Adresse suchen und die Übersetzung zurück an die GPU(s) 1508 senden. Daher kann die Unified Memory-Technologie einen einzigen einheitlichen virtuellen Adressraum für Speicher sowohl der CPU(s) 1506 als auch der GPU(s) 1508 ermöglichen, wodurch die Programmierung und Portierung von Anwendungen auf die GPU(s) 1508 vereinfacht wird.
  • Darüber hinaus kann/können die GPU(s) 1508 einen Zugriffszähler beinhalten, der die Häufigkeit von Zugriffen der GPU(s) 1508 auf den Speicher anderer Prozessoren verfolgen kann. Der Zugriffszähler kann dazu beitragen, sicherzustellen, dass Speicherseiten in den physikalischen Speicher des Prozessors verschoben werden, der am häufigsten auf die Seiten zugreift.
  • Die SoC(s) 1504 können eine beliebige Anzahl von Cache(s) 1512 beinhalten, einschließlich der hierin beschriebenen. Beispielsweise kann der/die Cache(s) 1512 einen L3-Cache beinhalten, der sowohl für die CPU(s) 1506 als auch für die GPU(s) 1508 verfügbar ist (z.B. der/die sowohl mit der CPU(s) 1506 als auch mit der/den GPU(s) 1508 verbunden ist). Der/die Cache(s) 1512 kann/können einen Write-Back-Cache beinhalten, der den Zustand von Leitungen verfolgen kann, wie beispielsweise durch Verwenden eines Cache-Kohärenzprotokolls (z.B. MEI, MESI, MSI, usw.). Der L3-Cache kann je nach Ausführungsform 4 MB oder mehr beinhalten, obwohl kleinere Cachegrößen verwendet werden können.
  • Das/die SoC(s) 1504 können einen oder mehrere Beschleuniger 1514 beinhalten (z.B. Hardwarebeschleuniger, Softwarebeschleuniger oder eine Kombination davon). Beispielsweise kann/können das/die SoC(s) 1504 einen Hardwarebeschleunigungscluster beinhalten, der optimierte Hardwarebeschleuniger und/oder einen großen On-Chip-Speicher beinhalten kann. Der große On-Chip-Speicher (z.B. 4 MB SRAM) kann es dem Hardwarebeschleunigungscluster ermöglichen, neuronale Netzwerke und andere Berechnungen zu beschleunigen. Der Hardwarebeschleunigungscluster kann dazu verwendet werden, die GPU(s) 1508 zu ergänzen und einige der Aufgaben der GPU(s) 1508 zu entlasten (z.B. um mehr Zyklen der GPU(s) 1508 für andere Aufgaben freizugeben). Als ein Beispiel kann/können der/die Beschleuniger 1514 für gezielte Arbeitslasten (z.B. Wahrnehmung, faltende neuronale Netzwerke (CNNs) usw.) verwendet werden, die stabil genug sind, um für Beschleunigung geeignet zu sein. Der hierin verwendete Begriff „CNN“ kann alle Arten von CNNs beinhalten, einschließlich regionsbasierter oder regionaler neuronaler Faltungsnetze (RCNNs) und schneller RCNNs (wie beispielsweise zur Objekterfassung verwendet).
  • Der/die Beschleuniger 1514 (z.B. der Hardwarebeschleunigungscluster) kann/können einen oder mehrere Deep Learning Accelerator(s) (DLA) beinhalten. Die DLA(s) können eine oder mehrere Tensor-Verarbeitungseinheiten (TPUs) beinhalten, die dazu konfiguriert sein können, zusätzliche zehn Billionen Operationen pro Sekunde für Deep Learning-Anwendungen und Inferenzierung bereitzustellen. Die TPUs können Beschleuniger sein, die für die Durchführung von Bildverarbeitungsfunktionen (z.B. für CNNs, RCNNs, usw.) konfiguriert und optimiert sind. Der/die DLA(s) kann/können weiter für einen bestimmten Satz von neuronalen Netzwerktypen und Gleitkommaoperationen sowie für Inferenzierung optimiert sein. Das Design des/der DLA(s) kann mehr Leistung pro Millimeter bereitstellen als eine Allzweck-GPU und übertrifft die Leistung einer CPU erheblich. Die TPU(s) kann/können mehrere Funktionen ausführen, einschließlich einer Einzelinstanz-Faltungsfunktion, die beispielsweise die Datentypen INT8, INT16 und FP16 für sowohl Merkmale und Gewichte sowie Postprozessorfunktionen unterstützt.
  • Der/die DLA(s) können neuronale Netzwerke, insbesondere CNNs, schnell und effizient auf verarbeiteten oder unverarbeiteten Daten für eine Vielzahl von Funktionen ausführen, einschließlich, zum Beispiel und ohne Beschränkung: eines CNNs zur Objektidentifikation und -erfassung unter Verwendung von Daten von Kamerasensoren; eines CNNs zur Entfernungsschätzung unter Verwendung von Daten von Kamerasensoren; eines CNNs zur Einsatzfahrzeugerfassung und -identifikation und -erfassung unter Verwendung von Daten von Mikrofonen; eines CNNs zur Gesichtserkennung und Fahrzeughalteridentifikation unter Verwendung von Daten von Kamerasensoren; und/oder eines CNNs für schutz- und/oder sicherheitsrelevante Ereignisse.
  • Der/die DLA(s) können jede beliebige Funktion der GPU(s) 1508 ausführen, und zum Beispiel durch Verwenden eines Inferenzbeschleunigers kann ein Entwickler entweder den/die DLA(s) oder die GPU(s) 1508 für jede beliebige Funktion ansprechen. Beispielsweise kann sich der Entwickler beispielsweise auf die Verarbeitung von CNNs und Gleitkommaoperationen auf dem/den DLA(s) konzentrieren und andere Funktionen der/den GPU(s) 1508 und/oder anderen Beschleuniger(n) 1514 überlassen.
  • Der/die Beschleuniger 1514 (z.B. der Hardwarebeschleunigungscluster) kann/können einen/mehrere programmierbare(n) Sichtbeschleuniger (PVA) beinhalten, der/die hierin alternativ als ein Computer Vision Accelerator bezeichnet werden kann. Der/die PVA(s) kann/können dazu konzipiert und konfiguriert sein, die Bildverarbeitungsalgorithmen für die Anwendungen des Advanced Driver Assistance-Systems (ADAS), des autonomen Fahrens und/oder einer Augmented Reality (AR) und/oder Virtual Reality (VR) zu beschleunigen. Der/die PVA(s) kann/können ein Gleichgewicht zwischen Leistung und Flexibilität bereitstellen. Beispielsweise kann jede/jeder der PVA(s), beispielsweise und ohne Beschränkung, eine beliebige Anzahl von RISC (Reduced Instruction Set Computer)-Kernen, Direct Memory Access (DMA) und/oder eine beliebige Anzahl von Vektorprozessoren beinhalten.
  • Die RISC-Kerne können mit Bildsensoren (z.B. den Bildsensoren einer der hierin beschriebenen Kameras), einem oder mehreren Bildsignalprozessor(en) und/oder dergleichen interagieren. Jeder der RISC-Kerne kann beliebig viel Speicherplatz beinhalten. Die RISC-Kerne können je nach Ausführungsbeispiel eines von mehreren Protokollen verwenden. In einigen Beispielen können die RISC-Kerne ein Echtzeitbetriebssystem (RTOS) ausführen. Die RISC-Kerne können unter Verwendung einer oder mehrerer integrierter Schaltungsvorrichtungen, anwendungsspezifischer integrierter Schaltungen (ASICs) und/oder Speichervorrichtungen implementiert sein. Beispielsweise können die RISC-Kerne einen Befehls-Cache und/oder ein eng gekoppeltes RAM beinhalten.
  • Der DMA kann es Komponenten der PVA(s) ermöglichen, unabhängig von der/den CPU(s) 1506 auf den Systemspeicher zuzugreifen. Der DMA kann eine beliebige Anzahl von Merkmalen unterstützen, die dazu verwendet werden, eine Optimierung für die der PVA bereitzustellen, einschließlich, aber nicht beschränkt auf, der Unterstützung multidimensionaler Adressierung und/oder Ringadressierung. In einigen Beispielen kann der DMA bis zu sechs oder mehr Dimensionen der Adressierung unterstützen, welche Blockbreite, Blockhöhe, Blocktiefe, horizontale Blockstufen, vertikale Blockstufen und/oder Tiefenstufen beinhalten können.
  • Die Vektorprozessoren können programmierbare Prozessoren sein, die dazu konzipiert sein können, effizient und flexibel eine Programmierung für Computer Vision-Algorithmen durchzuführen und Signalverarbeitungsfunktionen bereitzustellen. In einigen Beispielen kann der/die PVA einen PVA-Kern und zwei Vektorverarbeitungs-Subsystem-Partitionen beinhalten. Der PVA-Kern kann ein Prozessorsubsystem, eine oder mehrere DMA-Maschinen (z.B. zwei DMA-Maschinen) und/oder andere Peripheriegeräte beinhalten. Das Vektorverarbeitungs-Subsystem kann als primäre Verarbeitungsmaschine des PVA arbeiten und kann eine Vektorverarbeitungseinheit (VPU), einen Befehls-Cache und/oder einen Vektorspeicher (z.B. VMEM) beinhalten. Ein VPU-Kern kann einen digitalen Signalprozessor beinhalten, wie beispielsweise einen digitalen Signalprozessor für Einzelbefehl, multiple Daten (SIMD), sehr langes Befehlswort digitalen (VLIW). Die Kombination von SIMD und VLIW kann den Durchsatz und die Geschwindigkeit erhöhen.
  • Jeder der Vektorprozessoren kann einen Befehlscache beinhalten und kann mit dediziertem Speicher gekoppelt sein. Infolgedessen kann in einigen Beispielen jeder der Vektorprozessoren dazu konfiguriert sein, unabhängig von den anderen Vektorprozessoren auszuführen. In anderen Beispielen können die Vektorprozessoren, die in einem bestimmten PVA enthalten sind, für die Verwendung von Datenparallelität konfiguriert sein. Beispielsweise kann in einigen Ausführungsbeispielen die Vielzahl von in einem einzelnen PVA enthaltenen Vektorprozessoren den gleichen Computer Vision-Algorithmus ausführen, jedoch auf verschiedenen Regionen eines Bilds. In anderen Beispielen können die in einem bestimmten PVA enthaltenen Vektorprozessoren gleichzeitig verschiedene Computer Vision-Algorithmen auf demselben Bild ausführen oder sogar verschiedene Algorithmen über sequenzielle Bilder oder Teile eines Bilds ausführen. Unter anderem können beliebig viele PVAs in dem Hardwarebeschleunigungscluster enthalten sein, und können beliebig viele Vektorprozessoren in jedem der PVAs enthalten sein. Darüber hinaus können die PVA(s) zusätzlichen Fehlerkorrekturcode- bzw. Error Correcting Code (ECC)-Speicher beinhalten, um die Gesamtsystemsicherheit zu erhöhen.
  • Der/die Beschleuniger 1514 (z.B. der Hardwarebeschleunigungscluster) kann ein Computer Vision-Netzwerk auf dem Chip und SRAM beinhalten, um ein SRAM mit hoher Bandbreite und niedriger Latenz für den/die Beschleuniger 1514 bereitzustellen. In einigen Beispielen kann der On-Chip-Speicher zumindest 4 MB SRAM beinhalten, der beispielsweise, und ohne Beschränkung, aus acht feldkonfigurierbaren Speicherblöcken besteht, die sowohl für PVA als auch für DLA zugänglich sind. Jedes Paar von Speicherblöcken kann eine erweiterte Advanced Peripheral Bus (APB)-Schnittstelle, Konfigurationsschaltkreise, eine Steuereinrichtung und einen Multiplexer beinhalten. Es kann jede Art von Speicher verwendet werden. PVA und DLA können über ein Backbone, das PVA und DLA einen schnellen Zugriff auf den Speicher ermöglicht, auf den Speicher zugreifen. Das Backbone kann ein Computer Vision-Netzwerk auf dem Chip beinhalten, das PVA und das DLA (z.B. über das APB) mit dem Speicher verbindet.
  • Das Computer-Vision-Netzwerk auf dem Chip kann eine Schnittstelle beinhalten, die vor der Übertragung irgendwelcher Steuersignale/Adressen/Daten bestimmt, dass sowohl der PVA als auch der DLA bereite und gültige Signale bereitstellen. Eine solche Schnittstelle kann getrennte Phasen und getrennte Kanäle für die Übertragung von Steuersignalen/Adressen/Daten sowie eine burstartige Kommunikation für kontinuierliche Datenübertragung bereitstellen. Diese Art von Schnittstelle kann den Normen ISO 26262 oder IEC 612508 entsprechen, wobei auch andere Normen und Protokolle verwendet werden können.
  • In einigen Beispielen können die SoC(s) 1504 einen Echtzeit-Ray-Tracing-Hardwarebeschleuniger beinhalten, wie er in der am 10. August 2018 eingereichten US-Patentanmeldung Nr. 16/101,1232 beschrieben ist. Der Echtzeit-Ray-Tracing-Hardwarebeschleuniger kann dazu verwendet werden, schnell und effizient die Positionen und Ausmaße von Objekten (z.B. innerhalb eines Weltmodells) zu bestimmen, um Echtzeit-Visualisierungssimulationen zur RADAR-Signalinterpretation, zur Schallausbreitungssynthese und/oder -analyse, zur Simulation von SONAR-Systemen, zur Simulation allgemeiner Wellenausbreitung, zum Vergleich mit LIDAR-Daten zu Zwecken der Lokalisierung und/oder anderer Funktionen und/oder für andere Anwendungen zu generieren.
  • Die Beschleuniger 1514 (z.B. der Hardwarebeschleunigercluster) haben ein breites Anwendungsspektrum für autonomes Fahren. Der PVA kann ein programmierbarer Vision-Beschleuniger sein, der für wichtige Verarbeitungsstufen in ADAS und autonomen Fahrzeugen verwendet werden kann. Die Fähigkeiten des PVAs sind eine gute Ergänzung für algorithmische Domänen, die eine vorhersagbare Verarbeitung benötigen, bei geringer Leistung und geringer Latenz. Mit anderen Worten schneidet der PVA bei semidichtem oder dichtem regulärem Rechnen gut ab, selbst bei kleinen Datensätzen, die vorhersagbare Laufzeiten mit geringer Latenz und geringer Leistung benötigen. Folglich sind in dem Kontext von Plattformen für autonome Fahrzeuge die PVAs dazu konzipiert, klassische Computer Vision-Algorithmen auszuführen, da sie bei der Objekterfassung effizient sind und mit ganzzahliger Mathematik arbeiten.
  • Beispielsweise wird gemäß einem Ausführungsbeispiel der Technologie der PVA zur Durchführung von Computer-Stereo-Sehen verwendet. In einigen Beispielen kann ein semi-globaler, matching-basierter Algorithmus verwendet werden, obwohl dies nicht einschränkend ist. Viele Anwendungen für autonomes Fahren der Stufen 3-5 erfordern eine Bewegungsschätzung/ein Stereomatching on-the-fly (z.B. Struktur aus Bewegung, Fußgängererkennung, Spurerfassung, usw.). Der PVA kann eine Computer-Stereo-Vision-Funktion auf Eingaben von zwei Monokularkameras durchführen.
  • In einigen Beispielen kann der PVA zur Durchführung eines dichten optischen Flusses verwendet werden. Demgemäß zum Verarbeiten von RADAR-Rohdaten (z.B. unter Verwendung einer 4D Fast Fourier-Transformation), um Verarbeitetes RADAR bereitzustellen. In anderen Beispielen wird der PVA für die Flugzeit-Tiefenverarbeitung verwendet, indem Flugzeit-Rohdaten verarbeitet werden, um z.B. verarbeitete Flugzeitdaten bereitzustellen.
  • Der DLA kann dazu verwendet werden, jede Art von Netzwerk zu betreiben, um die Steuerung und die Fahrsicherheit zu verbessern, einschließlich beispielsweise eines neuronalen Netzwerks, das ein Vertrauensmaß für jede Objekterfassung ausgibt. Ein solcher Vertrauenswert kann als eine Wahrscheinlichkeit oder als Bereitstellen einer relativen „Gewichtung“ jeder Erfassung im Vergleich zu anderen Erfassungen interpretiert werden. Dieser Vertrauenswert ermöglicht es dem System, weitere Entscheidungen dahingehend zu treffen, welche Erfassungen als wahre positive Erfassungen und nicht als falsch positive Erfassungen zu betrachten sind. Beispielsweise kann das System einen Schwellenwert für das Vertrauen festlegen und nur die den Schwellenwert übersteigenden Erfassungen als wahre positive Erfassungen betrachten. In einem automatischen Notbremssystem (AEB) würden falsch positive Erfassungen dazu führen, dass das Fahrzeug automatisch eine Notbremsung durchführt, welches offensichtlich unerwünscht ist. Daher sollten nur die vertrauenswürdigsten Erfassungen als Auslöser für die AEB betrachtet werden. Der DLA kann ein neuronales Netzwerk zur Regression des Vertrauenswerts betreiben. Das neuronale Netzwerk kann zumindest eine Teilmenge von Parametern als seinen Input verwenden, wie z.B. Abmessungen des Begrenzungsrahmens, eine Grundwahrheitsschätzung (z.B. von einem anderen Subsystem), eine Ausgabe des Sensors 1566 der Trägheitsmesseinheit (IMU), der mit der Orientierung des Fahrzeugs 1500 korreliert, eine Entfernung und 3D-Positionsschätzungen des Objekts, die aus dem neuronalen Netzwerk und/oder anderen Sensoren (z.B. LIDAR-Sensor(en) 1564 oder RADAR-Sensor(en) 1560) erhalten wurden, unter anderem.
  • Das/die SoC(s) 1504 kann/können Datenspeicher 1516 (z.B. Speicher) beinhalten. Die Datenspeicher 1516 können On-Chip-Speicher des/der SoC(s) 1504 sein, die neuronale Netzwerke speichern können, die auf der GPU und/oder dem DLA auszuführen sind. In einigen Beispielen können der/die Datenspeicher 1516 groß genug sein, um mehrere Instanzen neuronaler Netzwerke für Redundanz und Sicherheit zu speichern. Der/die Datenspeicher 1512 können L2- oder L3-Cache(s) 1512 umfassen. Die Bezugnahme auf den/die Datenspeicher 1516 kann eine Referenz auf den Speicher beinhalten, der dem PVA, DLA und/oder einem oder mehreren anderen Beschleuniger(n) 1514 zugeordnet ist, wie hierin beschrieben.
  • Das/die SoC(s) 1504 kann/können einen oder mehrere Prozessor(en) 1510 (z.B. eingebettete Prozessoren) beinhalten. Der/die Prozessor(en) 1510 können einen Boot- und Power-Management-Prozessor beinhalten, der ein dedizierter Prozessor und ein Subsystem sein kann, um Boot-Power- und Management-Funktionen und damit verbundene Sicherheitserzwingung zu übernehmen. Der Boot- und Power-Management-Prozessor kann ein Teil des/der SoC(s) 1504-Boot-Sequenz sein und zur Laufzeit Power-Management-Dienste bereitstellen. Der Boot-Power- und Management-Prozessor kann Takt- und Spannungsprogrammierung, Unterstützung bei Systemübergängen auf niedrigem Stromverbrauch, Verwaltung von Thermik- und Temperatursensoren des/der SoC(s) 1504 und/oder Verwaltung der Leistungszustände des/der SoC(s) 1504 bereitstellen. Jeder Temperatursensor kann als ein Ringoszillator implementiert werden, dessen Ausgangsfrequenz proportional zu der Temperatur ist, und das/die SoC(s) 1504 kann/können die Ringoszillatoren dazu verwenden, Temperaturen der CPU(s) 1506, GPU(s) 1508 und/oder Beschleuniger 1514 zu erfassen. Falls festgestellt wird, dass die Temperaturen einen Schwellenwert überschreiten, kann der Boot- und Power-Management-Prozessor in eine Temperaturfehlerroutine eintreten und das/die SoC(s) 1504 in einen Niedrigleistungszustand versetzen und/oder das Fahrzeug 1500 in einen Chauffeur-zu-sicherem-Stopp-Modus versetzen (z.B. das Fahrzeug 1500 zu einem sicheren Halt bringen).
  • Der/die Prozessor(en) 1510 können ferner einen Satz von eingebetteten Prozessoren beinhalten, die als eine Audioverarbeitungsmaschine dienen können. Die Audioverarbeitungsmaschine kann ein Audiosubsystem sein, das volle Hardwareunterstützung für Mehrkanal-Audio über mehrere Schnittstellen und einen breiten und flexiblen Bereich von Audio-I/O-Schnittstellen ermöglicht. In einigen Beispielen ist die Audioverarbeitungsmaschine ein dedizierter Prozessorkern mit einem digitalen Signalprozessor mit dediziertem RAM.
  • Der/die Prozessor(en) 1510 können ferner eine Always-On-Prozessor-Engine beinhalten, die notwendige Hardwaremerkmale bereitstellen kann, um die Verwaltung von Sensoren mit niedriger Leistung und Aufwach-Anwendungsfälle zu unterstützen. Die Always-On-Prozessor-Engine kann einen Prozessorkern, ein eng gekoppeltes RAM, Unterstützung von Peripheriegeräten (z.B. Zeitgeber und Unterbrechungs-Steuereinrichtungen), verschiedene I/O-Steuereinrichtungs-Peripheriegeräte und Routinglogik beinhalten.
  • Der/die Prozessor(en) 1510 können ferner eine Sicherheits-Cluster-Engine beinhalten, die ein dediziertes Prozessorsubsystem zum Handhaben des Sicherheitsmanagements für Automobilanwendungen beinhaltet. Die Sicherheits-Cluster-Engine kann zwei oder mehr Prozessorkerne, ein eng gekoppeltes RAM, Unterstützung von Peripheriegeräten (z.B. Zeitgeber und Unterbrechungs-Steuereinrichtungen) und/oder Routinglogik beinhalten. In einem Sicherheitsmodus können die zwei oder mehr Kerne in einem Schrittverriegelungs- bzw. Lockstep-Modus arbeiten und als ein einzelner Kern mit Vergleichslogik fungieren, um irgendwelche Unterschiede zwischen ihren Operationen zu erkennen.
  • Der/die Prozessor(en) 1510 können ferner eine Echtzeit-Kamera-Engine beinhalten, die ein dediziertes Prozessorsubsystem zur Handhabung eines Echtzeit-Kamera-Managements beinhalten kann.
  • Der/die Prozessor(en) 1510 können ferner einen Signalprozessor mit hohem Dynamikbereich beinhalten, der einen Bildsignalprozessor beinhalten kann, der eine Hardware-Engine ist, die Teil der Kameraverarbeitungspipeline ist.
  • Der/die Prozessor(en) 1510 können einen Videobildkompositor beinhalten, der ein (z.B. auf einem Mikroprozessor implementierter) Verarbeitungsblock sein kann, der Videonachbearbeitungsfunktionen implementiert, die von einer Videowiedergabeanwendung benötigt werden, um das finale Bild für das Abspielerfenster zu erzeugen. Der Videobildkompositor kann die Objektivverzerrungskorrektur an der/den Weitwinkelkameras 1570, der/den Surround-Kameras 1574 und/oder an in der Kabine montierten Kamerasensoren durchführen. Ein kabineninterner Überwachungskamerasensor wird vorzugsweise von einem neuronalen Netzwerk überwacht, das auf einer anderen Instanz des Advanced SoC läuft und dazu konfiguriert ist, Ereignisse in der Kabine zu identifizieren und entsprechend zu reagieren. Ein kabineninternes System kann ein Lippenlesen durchführen, um den Mobilfunk zu aktivieren und einen Anruf zu tätigen, E-Mails zu diktieren, das Ziel des Fahrzeugs zu ändern, das Infotainmentsystem und die Einstellungen des Fahrzeugs zu aktivieren oder zu ändern, oder sprachaktiviertes Internetsurfen bereitzustellen. Bestimmte Funktionen stehen dem Fahrer nur zur Verfügung, wenn das Fahrzeug in einem autonomen Modus betrieben wird, und sind andernfalls deaktiviert.
  • Der Videobild-Kompositor kann eine verbesserte zeitliche Rauschunterdrückung für sowohl räumliche als auch zeitliche Rauschunterdrückung beinhalten. Wenn beispielsweise eine Bewegung in einem Video auftritt, gewichtet die Rauschunterdrückung räumliche Informationen entsprechend und verringert das Gewicht von Informationen, die von benachbarten Einzelbildern bereitgestellt werden. Wenn ein Bild oder ein Teil eines Bilds keine Bewegung beinhaltet, kann die von dem Videobild-Kompositor durchgeführte zeitliche Rauschunterdrückung Informationen aus dem vorherigen Bild verwenden, um Rauschen in dem aktuellen Bild zu reduzieren.
  • Der Videobild-Kompositor kann auch dazu konfiguriert sein, eine Stereogleichrichtung auf zugeführten Stereoobjektiv-Einzelbildern durchzuführen. Der Videobild-Kompositor kann ferner für die Zusammensetzung der Benutzerschnittstelle verwendet werden, wenn der Desktop des Betriebssystems in Verwendung ist, so dass die GPU(s) 1508 nicht kontinuierlich neue Oberflächen rendern muss/müssen. Selbst wenn die GPU(s) 1508 eingeschaltet und aktiv ist/sind und aktiv ein 3D-Rendering durchführt/durchführen, kann der Videobild-Kompositor dazu verwendet werden, die GPU(s) 1508 zu entlasten, um Leistung und Ansprechvermögen zu verbessern.
  • Das/die SoC(s) 1504 kann/können ferner eine serielle MIPI (Mobile Industry Processor Interface)-Kameraschnittstelle zum Empfangen von Video und Eingaben von Kameras, eine Hochgeschwindigkeitsschnittstelle und/oder einen Videoeingangsblock, der für Kamera- und verwandte Pixeleingabefunktionen verwendet werden kann, beinhalten. Das/die SoC(s) 1504 kann/können ferner eine oder mehrere Eingabe-/Ausgabe-Steuereinrichtungen beinhalten, die durch Software gesteuert werden können und zum Empfangen von I/O-Signalen, die nicht für eine bestimmte Rolle bestimmt sind, verwendet werden können.
  • Das/die SoC(s) 1504 kann/können ferner einen breiten Bereich von Peripherieschnittstellen beinhalten, um Kommunikation mit Peripheriegeräten, Audiocodecs, Energieverwaltung und/oder anderen Vorrichtungen zu ermöglichen. Das/die SoC(s) 1504 kann/können zur Verarbeitung von Daten von Kameras (z.B. verbunden über Gigabit Multimedia Serial Link und Ethernet), Sensoren (z.B. LIDAR-Sensor(en) 1564, RADAR-Sensor(en) 1560 usw., die über Ethernet verbunden sein können), Daten von dem Bus 1502 (z.B. die Geschwindigkeit des Fahrzeugs eine 1500, Lenkradposition usw.), Daten von GNSS-Sensor(en) 1558 (z.B. verbunden über Ethernet oder CAN-Bus) verwendet werden. Das/die SoC(s) 1504 kann/können ferner dedizierte Hochleistungs-Massenspeicher-Steuereinrichtungen beinhalten, die ihre eigenen DMA-Engines beinhalten können und die dazu verwendet werden können, die CPU(s) 1506 von Routine-Datenverwaltungsaufgaben zu befreien.
  • Das/die SoC(s) 1504 kann/können eine Ende-zu-Ende-Plattform mit einer flexiblen Architektur sein, die die Automatisierungsstufen 3-5 überspannt und dadurch eine umfassende funktionale Sicherheitsarchitektur bereitstellt, die Computer Vision- und ADAS-Techniken für Vielfalt und Redundanz nutzt und effizient davon Gebrauch macht, eine Plattform für einen flexiblen, zuverlässigen Treibersoftware-Stack bereitstellt, zusammen mit Deep Learning-Werkzeugen. Das/die SoC(s) 1504 kann/können schneller, zuverlässiger und sogar energieeffizienter und platzsparender sein als konventionelle Systeme. Beispielsweise kann/können das/die Fahrpedal(e) 1514 in Kombination mit der/den CPU(s) 1506, der/den GPU(s) 1508 und dem/den Datenspeicher(n) 1516 eine schnelle, effiziente Plattform für autonome Fahrzeuge der Stufe 3-5 bereitstellen.
  • Die Technologie stellt damit Fähigkeiten und Funktionalität bereit, die mit konventionellen Systemen nicht erreicht werden können. Beispielsweise können Computer Vision-Algorithmen auf CPUs ausgeführt werden, welche unter Verwendung einer höheren Programmiersprache, wie beispielsweise der Programmiersprache C, dazu konfiguriert sein können, eine Vielzahl von Verarbeitungsalgorithmen über eine Vielzahl von visuellen Daten auszuführen. Jedoch sind CPUs oft nicht in der Lage, die Leistungsanforderungen vieler Computer Vision-Anwendungen zu erfüllen, wie beispielsweise solche mit Bezug zu Ausführungszeit und Stromverbrauch. Insbesondere sind viele CPUs nicht in der Lage, komplexe Objekterfassungsalgorithmen in Echtzeit auszuführen, welches eine Notwendigkeit für fahrzeuginterne ADAS-Anwendungen und eine Notwendigkeit für praxisgerechte autonome Fahrzeuge der Stufe 3-5 ist.
  • Im Gegensatz zu konventionellen Systemen ermöglicht die hierin beschriebene Technologie durch Bereitstellen eines CPU-Komplexes, eines GPU-Komplexes und eines Hardwarebeschleunigungsclusters die gleichzeitige und/oder sequentielle Ausführung mehrerer neuronaler Netzwerke und die Kombination der Ergebnisse, um eine autonome Fahrfunktionalität der Stufe 3-5 zu ermöglichen. Beispielsweise kann ein CNN, das auf dem DLA oder der dGPU (z.B. der/den GPU(s) 1520) ausgeführt wird, eine Text- und Wort-Erkennung beinhalten, welches es dem Supercomputer ermöglicht, Verkehrszeichen zu lesen und zu verstehen, einschließlich von Schildern, für die das neuronale Netzwerk nicht speziell trainiert wurde. Das DLA kann ferner ein neuronales Netzwerk beinhalten, das in der Lage ist, ein Schild zu identifizieren, zu interpretieren und semantisch zu verstehen und dieses semantische Verständnis an die auf dem CPU-Komplex laufenden Wegplanungsmodule weiterzugeben.
  • Als weiteres Beispiel können mehrere neuronale Netzwerke gleichzeitig betrieben werden, wie es für das Fahren auf Stufe 3, 4 oder 5 erforderlich ist. Beispielsweise kann ein Warnzeichen bestehend aus „Achtung: Blinkende Lichter zeigen eisige Zustände an“ zusammen mit einem elektrischen Licht von mehreren neuronalen Netzwerken unabhängig oder gemeinsam interpretiert werden. Das Schild selbst kann durch ein erstes eingesetztes neuronales Netzwerk (z.B. ein trainiertes neuronales Netzwerk) als ein Verkehrszeichen identifiziert werden, der Text „Blinkende Lichter zeigen eisige Zustände an“ kann durch ein zweites eingesetztes neuronales Netzwerk interpretiert werden, das die Wegplanungssoftware des Fahrzeugs (die vorzugsweise auf dem CPU-Komplex läuft) darüber informiert, dass bei Erfassung von Blinkleuchten eisige Zustände vorliegen. Das Blinklicht kann identifiziert werden, indem ein drittes eingesetztes neuronales Netzwerk über mehrere Einzelbilder hinweg betrieben wird und die Wegplanungssoftware des Fahrzeugs über das Vorhandensein (oder Fehlen) von Blinklichtern informiert wird. Alle drei neuronalen Netzwerke können gleichzeitig laufen, wie beispielsweise innerhalb des DLA und/oder auf der/den GPU(s) 1508.
  • In einigen Beispielen kann ein CNN zur Gesichtserkennung und Fahrzeughalteridentifikation Daten von Kamerasensoren dazu verwenden, das Vorhandensein eines autorisierten Fahrers und/oder Eigentümers des Fahrzeugs 1500 zu identifizieren. Die immer eingeschaltete Sensorverarbeitungs-Engine kann dazu verwendet werden, das Fahrzeug zu entriegeln, wenn sich der Eigentümer der Fahrertür nähert, und die Lichter einzuschalten, und, im Sicherheitsmodus, das Fahrzeug zu deaktivieren, wenn der Eigentümer das Fahrzeug verlässt. Auf diese Weise stellt/stellen das/die SoC(s) 1504 einen Schutz vor Diebstahl und/oder Autodiebstahl bereit.
  • In einem weiteren Beispiel kann ein CNN für die Erfassung und Identifizierung von Einsatzfahrzeugen Daten aus den Mikrofonen 1596 dazu verwenden, Sirenen von Einsatzfahrzeugen zu erkennen und zu identifizieren. Im Gegensatz zu konventionellen Systemen, die allgemeine Klassifizierer dazu verwenden, Sirenen zu erkennen, und Merkmale manuell extrahieren, verwendet/verwenden das/die SoC(s) 1504 das CNN zur Klassifizierung von Umgebungs- und Stadtgeräuschen sowie zur Klassifizierung von visuellen Daten. In einem bevorzugten Ausführungsbeispiel ist das auf dem DLA laufende CNN dazu trainiert, die relative Annäherungsgeschwindigkeit des Einsatzfahrzeugs (z.B. unter Verwendung des Doppler-Effekts) zu identifizieren. Das CNN kann auch dazu trainiert werden, Einsatzfahrzeuge zu identifizieren, die spezifisch für das lokale Gebiet sind, in dem das Fahrzeug eingesetzt wird, wie durch den/die GNSS-Sensor(en) 1558 identifiziert. Beispielsweise wird dann, wenn es in Europa betrieben wird, das CNN versuchen, europäische Sirenen zu erkennen, und wird das CNN dann, wenn es sich in den Vereinigten Staaten befindet, versuchen, nur nordamerikanische Sirenen zu identifizieren. Sobald ein Einsatzfahrzeug erfasst ist, kann ein Steuerprogramm dazu verwendet werden, unter Verwendung von Ultraschallsensoren 1562 eine Einsatzfahrzeug-Sicherheitsroutine auszuführen, das Fahrzeug zu verlangsamen, an den Straßenrand zu ziehen, das Fahrzeug zu parken und/oder das Fahrzeug im Leerlauf zu halten, bis das/die Einsatzfahrzeug(e) vorbeifährt.
  • Das Fahrzeug kann eine oder mehrere CPU(s) 1518 (z.B. diskrete CPU(s) oder dCPU(s)) beinhalten, die über eine Hochgeschwindigkeitsverbindung (z.B. PCle) mit dem/den SoC(s) 1504 gekoppelt sein kann/können. Die CPU(s) 1518 kann/können beispielsweise einen X86-Prozessor beinhalten. Die CPU(s) 1518 kann/können dazu verwendet werden, eine Vielzahl von Funktionen durchzuführen, einschließlich einer Arbitrierung potenziell inkonsistenter Ergebnisse zwischen ADAS-Sensoren und dem/den SoC(s) 1504 und/oder einem Überwachen des Zustands und der Gesundheit der Steuereinrichtung(en) 1536 und/oder des Infotainment-SoC 1530, zum Beispiel.
  • Das Fahrzeug 1500 kann eine oder mehrere GPU(s) 1520 (z.B. diskrete GPU(s) oder dGPU(s)) beinhalten, die über eine Hochgeschwindigkeitsverbindung (z.B. NVIDIAs NVLINK) mit dem/den SoC(s) 1504 gekoppelt sein kann. Die GPU(s) 1520 können zusätzliche Funktionalität künstlicher Intelligenz bereitstellen, wie beispielsweise durch Ausführen redundanter und/oder verschiedener neuronaler Netzwerke, und können dazu verwendet werden, neuronale Netzwerke basierend zumindest teilweise auf Eingaben (z.B. Sensordaten) von Sensoren des Fahrzeugs 1500 zu trainieren und/oder zu aktualisieren.
  • Das Fahrzeug 1500 kann ferner die Netzwerkschnittstelle 1524 beinhalten, welche eine oder mehrere drahtlose Antennen 1526 beinhalten kann (z.B. eine oder mehrere drahtlose Antennen für verschiedene Kommunikationsprotokolle, wie beispielsweise eine Mobilfunkantenne, eine Bluetooth-Antenne usw.). Die Netzwerkschnittstelle 1524 kann dazu verwendet werden, drahtlose Konnektivität über das Internet mit der Cloud (z.B. mit dem/den Server(n) 1578 und/oder anderen Netzwerkvorrichtungen), mit anderen Fahrzeugen und/oder mit Rechenvorrichtungen (z.B. Client-Vorrichtungen von Fahrgästen) zu ermöglichen. Zur Kommunikation mit anderen Fahrzeugen kann eine direkte Verbindung zwischen den beiden Fahrzeugen und/oder eine indirekte Verbindung (z.B. über Netzwerke und über das Internet) hergestellt werden. Direkte Verbindungen können über eine Kommunikationsverbindung zwischen Fahrzeug und Fahrzeug bereitgestellt werden. Die Fahrzeug-zu-Fahrzeug-Kommunikationsverbindung kann dem Fahrzeug 1500 Informationen über Fahrzeuge in der Nähe des Fahrzeugs 1500 liefern (z.B. Fahrzeuge vor dem, seitlich des und/oder hinter dem Fahrzeug(s) 1500). Diese Funktionalität kann Teil einer kooperativen adaptiven Geschwindigkeitsregelungsfunktionalität des Fahrzeugs 1500 sein.
  • Die Netzwerkschnittstelle 1524 kann ein SoC beinhalten, das Modulations- und Demodulations-Funktionalität bereitstellt und es der/den Steuereinrichtung(en) ermöglicht, über drahtlose Netzwerke zu kommunizieren. Die Netzwerkschnittstelle 1524 kann ein Funkfrequenz-Frontend für eine Aufwärtskonvertierung aus dem Basisband auf Hochfrequenz und eine Abwärtskonvertierung aus der Hochfrequenz in das Basisband beinhalten. Die Frequenzumwandlungen können mittels gut bekannten Verfahren durchgeführt werden, und/oder können durch unter Verwendung von Superheterodynverfahren durchgeführt werden. In einigen Beispielen kann die Funkfrequenz-Frontend-Funktionalität durch einen separaten Chip bereitgestellt sein. Die Netzwerkschnittstelle kann drahtlose Funktionalität zum Kommunizieren über LTE, WCDMA, UMTS, GSM, CDMA2000, Bluetooth, Bluetooth, LE, Wi-Fi, Z-Wave, ZigBee, LoRaWAN und/oder andere drahtlose Protokolle beinhalten.
  • Das Fahrzeug 1500 kann ferner einen oder mehrere Datenspeicher 1528 beinhalten, die auch Off-Chip-Speicher (z.B. außerhalb des/der SoC(s) 1504) beinhalten können. Der/die Datenspeicher 1528 können ein oder mehrere Speicherelemente einschließlich von RAM, SRAM, DRAM, VRAM, Flash, Festplatten und/oder andere Komponenten und/oder Vorrichtungen beinhalten, die zumindest ein Bit Daten speichern können.
  • Das Fahrzeug 1500 kann ferner einen oder mehrere GNSS-Sensor(en) 1558 beinhalten. Der/die GNSS-Sensor(en) 1558 (z.B. GPS- und/oder assistierte GPS-Sensoren), um Kartierungs-, Wahrnehmungs-, Belegungsnetzgenerierungs- und/oder Wegplanungsfunktionen zu unterstützen. Es kann eine beliebige Anzahl von GNSS-Sensor(en) 1558 verwendet werden, einschließlich, beispielsweise und ohne Beschränkung darauf, eines einen USB-Anschluss mit einer Ethernet-Seriell-(RS-232)-Brücke verwendenden GPS.
  • Das Fahrzeug 1500 kann ferner einen oder mehrere RADAR-Sensor(en) 1560 beinhalten. Der/die RADAR-Sensor(en) 1560 kann/können von dem Fahrzeug 1500 zur weiträumigen Fahrzeugerfassung verwendet werden, selbst bei Dunkelheit und/oder extremen Wetterbedingungen. Die funktionalen Sicherheitsniveaus von RADAR können ASIL B sein. Der/die RADAR-Sensoren 1560 kann/können den CAN und/oder den Bus 1502 zur Steuerung verwenden (z.B. um Daten zu übertragen, die von dem/den RADAR-Sensor(en) 1560 erzeugt wurden) und um auf Objektnachverfolgungsdaten zuzugreifen, mit in einigen Beispielen Zugriff auf Ethernet für den Zugriff auf Rohdaten. Es können eine Vielzahl von RADAR-Sensortypen verwendet werden. Beispielsweise und ohne Beschränkung darauf kann/können der/die RADAR-Sensor(en) 1560 für den frontseitigen, heckseitigen und seitlichen RADAR-Einsatz geeignet sein. In einigen Beispielen werden Puls-Doppler-RADAR-Sensoren verwendet.
  • Die RADAR-Sensor(en) 1560 können verschiedene Konfigurationen beinhalten, wie z.B. mit langer Reichweite und engem Sichtfeld, kurzer Reichweite mit weitem Sichtfeld, kurzer Reichweite mit seitlicher Abdeckung, usw. In einigen Beispielen kann das Langstrecken-RADAR für adaptive Geschwindigkeitsregelungsfunktionalität verwendet werden. Die Langstrecken-RADAR-Systeme können ein breites Sichtfeld bereitstellen, das durch zwei oder mehr unabhängige Abtastungen, beispielsweise in einem Umkreis von 250 m, realisiert wird. Der/die RADAR-Sensor(en) 1560 können bei der Unterscheidung zwischen statischen und beweglichen Objekten helfen, und können von ADAS-Systemen zur Notbremsunterstützung und Vorauskollisionswarnung verwendet werden. Langstrecken-RADAR-Sensoren können monostatisches multimodales RADAR mit mehreren (z.B. sechs oder mehr) festen RADAR-Antennen und einer schnellen CAN- und FlexRay-Schnittstelle beinhalten. In einem Beispiel mit sechs Antennen können die zentralen vier Antennen ein fokussiertes Strahlmuster erzeugen, das dazu ausgelegt ist, die Umgebung des Fahrzeugs 1500 bei höheren Geschwindigkeiten mit minimalen Störungen durch den Verkehr auf benachbarten Fahrspuren aufzuzeichnen. Die beiden anderen Antennen können das Sichtfeld erweitern, so dass Fahrzeuge, die in die Spur des Fahrzeugs 1500 einfahren oder diese verlassen, schnell erfasst werden können.
  • Mittelstrecken-RADAR-Systeme können beispielsweise eine Reichweite von bis zu 1460 m (vorne) oder 80 m (hinten) und ein Sichtfeld von bis zu 42 Grad (vorne) oder 1450 Grad (hinten) beinhalten. Kurzstrecken-RADAR-Systeme können, ohne darauf beschränkt zu sein, RADAR-Sensoren beinhalten, die für die Installation an beiden Enden der hinteren Stoßstange ausgelegt sind. Wenn sie an beiden Enden der hinteren Stoßstange installiert sind, kann ein solches RADAR-Sensorsystem zwei Strahlen erzeugen, die den toten Winkel am Heck und neben dem Fahrzeug ständig überwachen.
  • Kurzstrecken-RADAR-Systeme können in einem ADAS-System zur Erfassung des toten Winkels und/oder zur Spurwechselunterstützung eingesetzt sein.
  • Das Fahrzeug 1500 kann ferner einen oder mehrere Ultraschallsensor(en) 1562 beinhalten. Der/die Ultraschallsensor(en) 1562, welche vorne, hinten und/oder an den Seiten des Fahrzeugs 1500 positioniert sein kann/können, kann/können zur Einparkhilfe und/oder zur Erstellung und Aktualisierung eines Belegungsrasters verwendet werden. Ein breiter Bereich von Ultraschallsensor(en) 1562 kann/können verwendet werden, und verschiedene Ultraschallsensor(en) 1562 können für verschiedene Erfassungsbereiche (z.B. 2,5m, 4m) verwendet werden. Der/die Ultraschallsensor(en) 1562 können auf funktionellen Sicherheitsniveaus von ASIL B betrieben werden.
  • Das Fahrzeug 1500 kann LIDAR-Sensor(en) 1564 beinhalten. Der/die LIDAR-Sensor(en) 1564 können zur Objekt- und Fußgänger-Erfassung, Notbremsung, Kollisionsvermeidung und/oder für andere Funktionen verwendet werden. Der/die LIDAR-Sensor(en) 1564 können funktionelles Sicherheitsniveau von ASIL B sein. In einigen Beispielen kann das Fahrzeug 1500 mehrere LIDAR-Sensoren 1564 (z.B. zwei, vier, sechs usw.) beinhalten, die Ethernet verwenden können (z.B. um Daten an einen Gigabit-Ethernet-Switch zu liefern).
  • In einigen Beispielen kann/können der/die LIDAR-Sensor(en) 1564 in der Lage sein, eine Liste von Objekten und deren Entfernungen für ein 360-Grad-Sichtfeld bereitzustellen. Kommerziell verfügbare LIDAR-Sensor(en) 1564 können beispielsweise eine beworbene Reichweite von näherungsweise 1400 m haben, mit einer Genauigkeit von 2 cm-3 cm und mit Unterstützung einer 1400 Mbit/s-Ethernet-Verbindung. In einigen Beispielen können ein oder mehrere nicht vorstehende LIDAR-Sensoren 1564 verwendet werden. In solchen Beispielen kann/können der/die LIDAR-Sensor(en) 1564 als eine kleine Vorrichtung implementiert sein, die in die Front, das Heck, die Seiten- und/oder die Ecken des Fahrzeugs 1500 eingebettet sein kann. Der/die LIDAR-Sensor(en) 1564 kann/können in solchen Beispielen bis zu 1420 Grad horizontales Sichtfeld und 35 Grad vertikales Sichtfeld bereitstellen, mit einer Reichweite von 200 Metern auch für Objekte mit geringer Reflektivität. Frontmontierte LIDAR-Sensor(en) 1564 können für ein horizontales Sichtfeld zwischen 45 Grad und 135 Grad konfiguriert sein.
  • In einigen Beispielen können auch LIDAR-Technologien wie beispielsweise 3D-Flash-LIDAR verwendet sein. 3D-Flash-LIDAR verwendet einen Laserblitz als eine Übertragungsquelle, um die Fahrzeugumgebung bis hin zu etwa 200m auszuleuchten. Eine Flash-LIDAR-Einheit beinhaltet einen Rezeptor, welcher die Laserpulslaufzeit und das reflektierte Licht auf jedem Pixel erfasst, welches wiederum dem Bereich von dem Fahrzeug zu den Objekten entspricht. Flash LIDAR kann es ermöglichen, mit jedem Laserblitz hochpräzise und verzerrungsfreie Bilder der Umgebung zu erzeugen. In einigen Beispielen können vier Flash-LIDAR-Sensoren eingesetzt werden, einer auf jeder Seite des Fahrzeugs 1500. Verfügbare 3D-Flash-LIDAR-Systeme beinhalten eine Festkörper-3D-Sternfeld-LIDAR-Kamera ohne bewegliche Teile außer einem Lüfter (z.B. eine nicht abtastende LIDAR-Vorrichtung). Die Flash-LIDAR-Vorrichtung kann einen 5 Nanosekunden-Laserimpuls der Klasse I (augensicher) pro Einzelbild verwenden und kann das reflektierte Laserlicht in Form von 3D-Bereich-Punktwolken und co-registrierten Intensitätsdaten erfassen. Durch Verwenden von Flash-LIDAR und weil Flash-LIDAR eine Festkörpervorrichtung ohne bewegliche Teile ist, kann/können der/die LIDAR-Sensor(en) 1564 weniger anfällig für Bewegungsunschärfe, Vibrationen und/oder Stöße sein.
  • Das Fahrzeug kann ferner einen oder mehrere IMU-Sensor(en) 1566 beinhalten. Der/die IMU-Sensor(en) 1566 können sich in einigen Beispielen in einer Mitte der Hinterachse des Fahrzeugs 1500 befinden. Der/die IMU-Sensor(en) 1566 kann/können beispielsweise ein oder mehrere Beschleunigungssensor(en), Magnetometer, Gyroskop(e), Magnetkompass(e) und/oder andere Sensortypen beinhalten. In einigen Beispielen, wie beispielsweise in Sechs-Achsen-Anwendungen, kann/können der/die IMU-Sensor(en) 1566 Beschleunigungssensoren und Gyroskope beinhalten, während in Neun-Achsen-Anwendungen der/die IMU-Sensor(en) 1566 Beschleunigungssensoren, Gyroskope und Magnetometer beinhalten können.
  • In einigen Ausführungsbeispielen kann/können der/die IMU-Sensor(en) 1566 als ein miniaturisiertes, leistungsstarkes GPS-gestütztes Trägheitsnavigationssystem (GPS/INS) implementiert sein, das Trägheitssensoren mikro-elektromechanischer Systeme (MEMS), einen hochempfindlichen GPS-Empfänger und fortschrittliche Kalman-Filteralgorithmen kombiniert, um Schätzungen von Position, Geschwindigkeit und Lage zu liefern. Als solcher kann/können in einigen Beispielen der/die IMU-Sensor(en) 1566 dem Fahrzeug 1500 ermöglichen, die Richtung zu schätzen, ohne eine Eingabe von einem Magnetsensor zu erfordern, indem die Geschwindigkeitsänderungen von dem GPS zu dem/den IMU-Sensor(en) 1566 direkt beobachtet und korreliert werden. In einigen Beispielen kann/können der/die IMU-Sensor(en) 1566 und der/die GNSS-Sensor(en) 1558 in einer einzigen integrierten Einheit kombiniert sein.
  • Das Fahrzeug kann ein oder mehrere Mikrofone 1596 beinhalten, die in und/oder um das Fahrzeug 1500 herum platziert sind. Das/die Mikrofon(e) 1596 können unter anderem zur Erfassung und Identifizierung von Rettungsfahrzeugen verwendet werden.
  • Das Fahrzeug kann ferner eine beliebige Anzahl von Kameratypen beinhalten, einschließlich Stereokamera(s) 1568, Weitsichtkamera(s) 1570, Infrarotkamera(s) 1572, Surround-Kamera(s) 1574, Fern- und/oder Mittelbereich-Kamera(s) 1598 und/oder andere Kameratypen. Die Kameras können zum Erfassen von Bilddaten über eine gesamte Peripherie des Fahrzeugs 1500 hinweg verwendet werden. Die verwendeten Kameratypen hängen von den Ausführungsbeispielen und Anforderungen an das Fahrzeug 1500 ab, und jede beliebige Kombination von Kameratypen kann dazu verwendet werden, die erforderliche Abdeckung um das Fahrzeug 1500 herum zu gewährleisten. Darüber hinaus kann die Anzahl von Kameras je nach Ausführungsform unterschiedlich sein. Beispielsweise kann das Fahrzeug sechs Kameras, sieben Kameras, zehn Kameras, zwölf Kameras und/oder eine andere Anzahl von Kameras beinhalten. Die Kameras können beispielsweise, und ohne darauf beschränkt zu sein, Gigabit Multimedia Serial Link (GMSL) und/oder Gigabit Ethernet unterstützen. Jede der Kamera(s) ist hierin mit Bezug auf 15A und 15B näher beschrieben.
  • Das Fahrzeug 1500 kann ferner einen oder mehrere Schwingungssensor(en) 1542 beinhalten. Der/die Schwingungssensor(en) 1542 kann/können Schwingungen bzw. Vibrationen von Komponenten des Fahrzeugs, wie beispielsweise der Achse(n), messen. Beispielsweise können Änderungen der Schwingungen auf eine Veränderung der Fahrbahnoberfläche hinweisen. In einem weiteren Beispiel können dann, wenn zwei oder mehr Schwingungssensoren 1542 verwendet werden, die Unterschiede zwischen den Schwingungen dazu verwendet werden, die Reibung oder den Schlupf der Fahrbahnoberfläche zu bestimmen (z.B. wenn die Schwingungsänderung zwischen einer angetriebenen Achse und einer frei rotierenden Achse auftritt).
  • Das Fahrzeug 1500 kann ein ADAS-System 1538 beinhalten. Das ADAS-System 1538 kann in einigen Beispielen ein SoC beinhalten. Das ADAS-System 1538 kann eine autonome/adaptive/automatische Geschwindigkeitsregelung (ACC), eine kooperative adaptive Geschwindigkeitsregelung (CACC), eine Vorausunfallwarnung (FCW), eine automatische Notbremsung (AEB), Spurverlassenswarnungen (LDW), einen Spurhalteassistenten (LKA), eine Totwinkelwarnung (BSW), eine Heck-Querverkehrswarnung (RCTW), Kollisionswarnsysteme (CWS), eine Spurzentrierung (LC) und/oder andere Merkmale und Funktionalität beinhalten.
  • Die ACC-Systeme können einen oder mehrere RADAR-Sensor(en) 1560, einen oder mehrere LIDAR-Sensor(en) 1564 und/oder eine oder mehrere Kamera(s) verwenden. Die ACC-Systeme können eine Längs-ACC und/oder eine Seiten-ACC beinhalten. Das Längs-ACC überwacht und steuert den Abstand zu dem Fahrzeug unmittelbar vor dem Fahrzeug 1500 und passt die Fahrzeuggeschwindigkeit automatisch an, um einen Sicherheitsabstand zu vorausfahrenden Fahrzeugen einzuhalten. Die Seiten-ACC führt die Abstandshaltung durch und weist das Fahrzeug 1500 an, bei Bedarf die Fahrspur zu wechseln. Das Seiten-ACC ist mit anderen ADAS-Anwendungen wie beispielsweise LCA und CWS verwandt.
  • CACC verwendet Informationen von anderen Fahrzeugen, die über die Netzwerkschnittstelle 1524 und/oder die drahtlose(n) Antenne(n) 1526 von anderen Fahrzeugen über eine drahtlose Verbindung oder indirekt über eine Netzwerkverbindung (z.B. über das Internet) empfangen werden können. Direkte Verbindungen können über eine Fahrzeug-zu-Fahrzeug (V2V)-Kommunikationsverbindung bereitgestellt werden, während indirekte Verbindungen Infrastruktur-Fahrzeug (12V)-Kommunikationsverbindung sein können. Im Allgemeinen liefert das V2V-Kommunikationskonzept Informationen über die unmittelbar vorausfahrenden Fahrzeuge (z.B. Fahrzeuge unmittelbar vor dem und auf der gleichen Spur wie das Fahrzeug 1500), während das I2V-Kommunikationskonzept Informationen über den weiter vorne vorausfahrenden Verkehr liefert. CACC-Systeme können eine der 12V- und V2V-Informationsquellen oder beide derselben beinhalten. Angesichts der Informationen der Fahrzeuge vor dem Fahrzeug 1500 kann CACC zuverlässiger sein und hat das Potenzial, die Gleichmäßigkeit des Verkehrsflusses zu verbessern und Staus auf der Straße zu reduzieren.
  • FCW-Systeme sind dazu ausgelegt, den Fahrer vor einer Gefahr zu warnen, so dass der Fahrer Korrekturmaßnahmen ergreifen kann. FCW-Systeme verwenden eine nach vorne gerichtete Kamera und/oder einen oder mehrere RADAR-Sensor(en) 1560, die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der bzw. das elektrisch mit einer Fahrerrückmeldung gekoppelt ist, wie beispielsweise eine Anzeige-, einer Lautsprecher- und/oder einer Schwingungskomponente. FCW-Systeme können eine Warnung auslösen, z.B. in Form eines Tons, einer visuellen Warnung, einer Vibration und/oder einem schnellen Bremsimpuls.
  • AEB-Systeme erfassen eine drohende Vorauskollision mit einem anderen Fahrzeug oder einem anderen Objekt und können automatisch die Bremsen betätigen, falls der Fahrer innerhalb eines bestimmten Zeit- oder Entfernungsparameters keine Korrekturmaßnahmen ergreift. AEB-Systeme können nach vorne gerichtete Kamera(s) und/oder RADAR-Sensor(en) 1560 verwenden, die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind. Wenn das AEB-System eine Gefahr erkennt, warnt es typisch zunächst den Fahrer, Korrekturmaßnahmen zur Vermeidung der Kollision zu ergreifen, und kann das AEB-System dann, wenn der Fahrer keine Korrekturmaßnahmen ergreift, automatisch die Bremsen betätigen, um die Auswirkungen der vorhergesagten Kollision zu verhindern oder zumindest zu mildern. AEB-Systeme können Techniken wie beispielsweise dynamische Bremsunterstützung und/oder unfallimminentes Bremsen beinhalten.
  • LDW-Systeme liefern visuelle, akustische und/oder taktile Warnungen, wie beispielsweise Lenkrad- oder Sitzvibrationen, um den Fahrer zu warnen, wenn das Fahrzeug 1500 Fahrbahnmarkierungen überquert. Ein LDW-System wird nicht aktiviert, wenn der Fahrer durch Aktivieren eines Blinkers ein absichtliches Verlassen der Fahrspur anzeigt. LDW-Systeme können nach vorne gerichtete Kameras verwenden, die mit einem speziellen Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der bzw. das elektrisch mit der Fahrerrückmeldung gekoppelt ist, wie beispielsweise einer Anzeige-, Lautsprecher- und/oder Schwingungskomponente.
  • LKA-Systeme sind eine Variante der LDW-Systeme. LKA-Systeme stellen Lenkeingaben oder ein Bremsen bereit, um das Fahrzeug 1500 zu korrigieren, falls das Fahrzeug 1500 beginnt, die Fahrspur zu verlassen.
  • BSW-Systeme erfassen und warnen den Fahrer von Fahrzeugen in einem toten Winkel eines Fahrzeugs. BSW-Systeme können einen visuellen, akustischen und/oder taktilen Alarm auslösen, um anzuzeigen, dass ein Einfahren in oder ein Wechseln von Fahrspuren unsicher ist. Das System kann eine zusätzliche Warnung ausgeben, wenn der Fahrer einen Blinker benutzt. BSW-Systeme können rückwärts gerichtete Kamera(s) und/oder RADAR-Sensor(en) 1560 verwenden, die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der bzw. das elektrisch mit der Fahrerrückmeldung, wie beispielsweise einer Anzeige-, Lautsprecher- und/oder Schwingungskomponente, gekoppelt ist.
  • RCTW-Systeme können eine visuelle, akustische und/oder taktile Benachrichtigung bereitstellen, wenn ein Objekt außerhalb des Rückfahrkamerabereichs erfasst wird, wenn das Fahrzeug 1500 rückwärtsfährt. Einige RCTW-Systeme beinhalten AEB, um sicherzustellen, dass die Fahrzeugbremsen betätigt werden, um einen Unfall zu vermeiden. RCTW-Systeme können einen oder mehrere nach hinten gerichtete RADAR-Sensor(en) 1560 verwenden, die mit einem speziellen Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der elektrisch mit der Fahrerrückmeldung, wie beispielsweise einer Anzeige-, Lautsprecher- und/oder Schwingungskomponente, gekoppelt ist.
  • Konventionelle ADAS-Systeme können zu falsch positiven Ergebnissen neigen, die für einen Fahrer lästig und störend sein können, aber in der Regel nicht katastrophal sind, da die ADAS-Systeme den Fahrer warnen und es dem Fahrer ermöglichen, zu entscheiden, ob eine Sicherheitsbedingung tatsächlich vorliegt, und entsprechend zu handeln. Bei einem autonomen Fahrzeug 1500 muss jedoch das Fahrzeug 1500 bei widersprüchlichen Ergebnissen selbst entscheiden, ob es das Ergebnis von einem primären Computer oder einem sekundären Computer (z.B. einer ersten Steuereinrichtung 1536 oder einer zweiten Steuereinrichtung 1536) berücksichtigt. Beispielsweise kann das ADAS-System 1538 in einigen Ausführungsbeispielen ein Backup- und/oder Sekundärcomputer zum Liefern von Wahrnehmungsinformationen an ein Rationalitätsmodul des Backup-Computers sein.. Der Rationalitätsmonitor des Backup-Computers kann eine redundante, diverse Software auf Hardwarekomponenten ausführen, um Fehler in der Wahrnehmung und dynamische Fahraufgaben zu erkennen. Ausgaben aus dem ADAS-System 1538 können an eine übergeordnete MCU geliefert werden. Falls Ausgaben des primären Computers und des sekundären Computers miteinander in Konflikt stehen, muss die übergeordnete MCU bestimmen, wie der Konflikt zu lösen ist, um einen sicheren Betrieb zu gewährleisten.
  • In einigen Beispielen kann der primäre Computer dazu konfiguriert sein, der übergeordneten MCU einen Vertrauenswert zu liefern, der das Vertrauen des primären Computers in das gewählte Ergebnis anzeigt. Falls der Vertrauenswert einen Schwellenwert überschreitet, kann die übergeordnete MCU der Richtung des primären Computers folgen, unabhängig davon, ob der sekundäre Computer ein widersprüchliches oder inkonsistentes Ergebnis liefert. Wenn der Vertrauenswert den Schwellenwert nicht erreicht und wenn der primäre und der sekundäre Computer unterschiedliche Ergebnisse anzeigen (z.B. den Konflikt), kann die übergeordnete MCU zwischen den Computern vermitteln, um das geeignete Ergebnis zu bestimmen.
  • Die übergeordnete MCU kann dazu konfiguriert sein, ein oder mehrere neuronale(s) Netzwerk(e) zu betreiben, die dazu trainiert und konfiguriert sind, zumindest teilweise basierend auf Ausgaben des primären Computers und des sekundären Computers Bedingungen zu bestimmen, unter welchen der sekundäre Computer Fehlalarme liefert. Folglich kann/können das/die neuronale(n) Netzwerk(e) in der übergeordneten MCU lernen, wann die Ausgabe des sekundären Computers vertrauenswürdig ist und wann nicht. Beispielsweise dann, wenn der sekundäre Computer ein RADAR-basiertes FCW-System ist, kann ein neuronales Netzwerk in der übergeordneten MCU lernen, wann das FCW-System metallische Objekte identifiziert, die tatsächlich keine Gefahren sind, wie beispielsweise ein Drainagerost oder eine Schachtabdeckung, die einen Alarm auslöst. Ähnlich kann dann, wenn der sekundäre Computer ein kamerabasiertes LDW-System ist, ein neuronales Netzwerk in der übergeordneten MCU lernen, das LDW zu übersteuern, wenn Radfahrer oder Fußgänger anwesend sind und das Verlassen einer Spur tatsächlich das sicherste Manöver ist. In Ausführungsbeispielen, die ein oder mehrere neuronale Netzwerke beinhalten, die auf der übergeordneten MCU ausgeführt werden, kann die übergeordnete MCU zumindest eines einer DLA oder GPU beinhalten, die für den Betrieb des oder der neuronalen Netzwerk(e) mit zugehörigem Speicher geeignet ist. In bevorzugten Ausführungsbeispielen kann die übergeordnete MCU das/die SoCs umfassen und/oder als eine Komponente des/der SoC(s) 1504 enthalten sein.
  • In anderen Beispielen kann das ADAS-System 1538 einen sekundären Computer beinhalten, der die ADAS-Funktionalität unter Verwendung traditioneller Regeln der Computer Vision durchführt. Als solches kann der sekundäre Computer klassische Computer Vision-Regeln (if-then) verwenden, und kann das Vorhandensein eines oder mehrerer neuronale(n/r) Netzwerk(s/e) in der übergeordneten MCU die Zuverlässigkeit, Sicherheit und Leistung verbessern. Beispielsweise machen die diverse Implementierung und die absichtliche Nicht-Identität das Gesamtsystem fehlertoleranter, insbesondere gegenüber Fehlern, die durch die Funktionalität von Software (oder der Software-Hardware-Schnittstelle) verursacht werden. Falls beispielsweise ein Softwarefehler oder ein Fehler in der auf dem primären Computer ausgeführten Software vorliegt und der nicht identische Softwarecode, der auf dem sekundären Computer ausgeführt wird, das gleiche Gesamtergebnis liefert, kann die übergeordnete MCU eine größere Sicherheit haben, dass das Gesamtergebnis korrekt ist, und verursacht der Fehler in Software oder Hardware auf dem primären Computer keinen wesentlichen Fehler.
  • In einigen Beispielen kann die Ausgabe des ADAS-Systems 1538 in den Wahrnehmungsblock des primären Computers und/oder in den dynamischen Fahraufgabenblock des primären Computers eingespeist werden. Wenn das ADAS-System 1538 beispielsweise eine Vorausunfallwarnung aufgrund eines sich unmittelbar voraus befindenden Objekts anzeigt, kann der Wahrnehmungsblock diese Informationen verwenden, wenn er Objekte identifiziert. In anderen Beispielen kann der sekundäre Computer über sein eigenes neuronales Netzwerk verfügen, welches trainiert ist und somit das Risiko von Fehlalarmen reduziert, wie hierin beschrieben.
  • Das Fahrzeug 1500 kann ferner das Infotainment-SoC 1530 (z.B. ein fahrzeuginternes Infotainmentsystem (IVI)) beinhalten. Obwohl es als ein SoC dargestellt und beschrieben ist, ist das Infotainmentsystem möglicherweise kein SoC und kann zwei oder mehr diskrete Komponenten beinhalten. Das Infotainment-SoC 1530 kann eine Kombination aus Hard- und Software beinhalten, die dazu verwendet werden kann, um Audio (z.B. Musik, einen persönlichen digitalen Assistenten, Navigationsanweisungen, Nachrichten, Radio, usw.), Video (z.B. TV, Filme, Streaming, usw.), Telefon (z.B. Freisprechfunktion), Netzwerkkonnektivität (z.B. LTE, WiFi usw.) und/oder Informationsdienste (z.B. Navigationssysteme, Rückfahrhilfen, ein Radiodatensystem, fahrzeugbezogene Informationen wie beispielsweise Kraftstoffstand, Gesamtfahrstrecke, Bremsflüssigkeitsstand, Ölstand, Tür auf/zu, Luftfilterinformationen usw.) für das Fahrzeug 1500 bereitzustellen. Beispielsweise kann das Infotainment-SoC 1530 Radios, einen Diskettenspieler, Navigationssysteme, einen Videospieler, USB- und Bluetooth-Konnektivität, einen Car Computer, In-Car-Entertainment, WiFi, Lenkrad-Audiosteuerungen, eine Freisprechfunktion, eine Heads-Up-Anzeige (HUD), eine HMI-Anzeige 1534, ein Telematikgerät, ein Bedienfeld (z.B. zum Steuern von und/oder Interagieren mit verschiedenen Komponenten, Funktionen und/oder Systemen) und/oder andere Komponenten beinhalten. Das Infotainment-SoC 1530 kann ferner dazu verwendet werden, einem oder mehreren Benutzer(n) des Fahrzeugs Informationen (z.B. visuell und/oder akustisch) zur Verfügung zu stellen, wie beispielsweise Informationen aus dem ADAS-System 1538, Autonomfahrinformationen wie beispielsweise geplante Fahrzeugmanöver, Trajektorien, Umgebungsinformationen (z.B. Kreuzungsinformationen, Fahrzeuginformationen, Straßeninformationen usw.) und/oder andere Informationen.
  • Das Infotainment-SoC 1530 kann GPU-Funktionalität beinhalten. Das Infotainment-SoC 1530 kann über den Bus 1502 (z.B. CAN-Bus, Ethernet, usw.) mit anderen Vorrichtungen, Systemen und/oder Komponenten des Fahrzeugs 1500 kommunizieren. In einigen Beispielen kann das Infotainment-SoC 1530 derart mit einer übergeordneten MCU gekoppelt sein, dass die GPU des Infotainmentsystems einige Selbstfahrfunktionen ausführen kann, falls die primäre(n) Steuereinrichtung(en) 1536 (z.B. der primäre und/oder der Backup-Computer des Fahrzeugs 1500) ausfallen. In einem solchen Beispiel kann das Infotainment-SoC 1530 das Fahrzeug 1500 in einen Chauffeur-in-sicheren-Stopp-Modus versetzen, wie hierin beschrieben.
  • Das Fahrzeug 1500 kann ferner ein Kombiinstrument 1532 beinhalten (z.B. ein digitales Armaturenbrett, ein elektronisches Kombiinstrument, eine digitale Instrumententafel usw.). Das Kombiinstrument 1532 kann eine Steuereinrichtung und/oder einen Supercomputer (z.B. eine diskrete Steuereinrichtung oder einen Supercomputer) beinhalten. Das Kombiinstrument 1532 kann eine Reihe von Instrumenten beinhalten, wie beispielsweise einen Tachometer, einen Kraftstoffstand, einen Öldruck, einen Drehzahlmesser, einen Kilometerzähler, einen Blinker, eine Schaltpositionsanzeige, eine oder mehrere Sicherheitsgurtwarnleuchte(n), eine oder mehrere Feststellbremswarnleuchte(n), eine oder mehrere Motorstörungsleuchte(n), Airbag-(SRS)-Systeminformationen, Beleuchtungssteuerungen, Sicherheitssystemsteuerungen, Navigationsinformationen usw. In einigen Beispielen können Informationen angezeigt werden und/oder von dem Infotainment-SoC 1530 und dem Kombiinstrument 1532 gemeinsam genutzt werden. Mit anderen Worten kann das Kombiinstrument 1532 als Teil des Infotainment-SoC 1530 enthalten sein, oder umgekehrt.
  • 15D ist ein Systemdiagramm für die Kommunikation zwischen einem oder mehreren Cloud-basierten Server(n) und dem beispielhaften autonomen Fahrzeug 1500 von 15A, gemäß einigen Ausführungsbeispielen der Erfindung. Das System 1576 kann einen oder mehrere Server 1578, ein oder mehrere Netzwerk(e) 1590 und Fahrzeuge, einschließlich des Fahrzeugs 1500, beinhalten. Der/die Server 1578 können eine Vielzahl von GPUs 1584(A)-1284(H) (hierin kollektiv als GPUs 1584 bezeichnet), PCIe-Switches 1582(A)-1582(H) (hierin kollektiv als PCIe-Switches 1582 bezeichnet) und/oder CPUs 1580(A)-1580(B) (hierin kollektiv als CPUs 1580 bezeichnet) beinhalten. Die GPUs 1584, die CPUs 1580 und die PCIe-Switches können mit Hochgeschwindigkeitsverbindungen wie, beispielsweise und ohne darauf beschränkt zu sein, den von NVIDIA entwickelten NVLink-Schnittstellen 1588 und/oder PCIe-Verbindungen 1586 verbunden sein. In einigen Beispielen sind die GPUs 1584 über NVLink und/oder NVSwitch-SoC verbunden, und sind die GPUs 1584 und die PCIe-Switches 1582 über PCIe-Verbindungen verbunden. Obwohl acht GPUs 1584, zwei CPUs 1580 und zwei PCIe-Switches dargestellt sind, soll dies nicht beschränkend sein. Abhängig von dem Ausführungsbeispiel kann jeder der Server 1578 eine beliebige Anzahl von GPUs 1584, CPUs 1580 und/oder PCIe-Switches beinhalten. Beispielsweise können der/die Server 1578 jeweils acht, sechzehn, zweiunddreißig und/oder mehr GPUs 1584 beinhalten.
  • Der/die Server 1578 können über das/die Netzwerk(e) 1590 und von den Fahrzeugen Bilddaten empfangen, die für Bilder repräsentativ sind, die unerwartete oder geänderte Straßenverhältnisse zeigen, wie beispielsweise kürzlich begonnene Straßenarbeiten. Der/die Server 1578 können über das/die Netzwerk(e) 1590 und an die Fahrzeuge neuronale Netzwerke 1592, aktualisierte neuronale Netzwerke 1592 und/oder Karteninformationen 1594 übertragen, einschließlich von Informationen über den Verkehr und Straßenzustände. Die Aktualisierungen der Karteninformationen 1594 können Aktualisierungen für die HD-Karte 1522 beinhalten, wie beispielsweise Informationen über Baustellen, Schlaglöcher, Umleitungen, Überschwemmungen und/oder andere Hindernisse. In einigen Beispielen können die neuronalen Netzwerke 1592, die aktualisierten neuronalen Netzwerke 1592 und/oder die Karteninformationen 1594 aus neuem Training und/oder Erfahrungen, die in von einer beliebigen Anzahl von Fahrzeugen in der Umgebung empfangenen Daten repräsentiert sind, hervorgegangen sein, und/oder zumindest teilweise auf in einem Rechenzentrum (z.B. unter Verwendung des/der Server 1578 und/oder anderer Server) durchgeführtem Training basieren.
  • Der/die Server 1578 können dazu verwendet werden, Modelle maschinellen Lernens (z.B. neuronale Netzwerke) basierend zumindest teilweise auf Trainingsdaten zu trainieren. Die Trainingsdaten können von den Fahrzeugen generiert werden, und/oder können in einer Simulation (z.B. unter Verwendung einer Spiel-Engine) erzeugt werden. In einigen Beispielen werden die Trainingsdaten getaggt bzw. markiert (z.B. wenn das neuronale Netzwerk von überwachtem Lernen profitiert) und/oder einer anderen Vorverarbeitung unterzogen, während in anderen Beispielen die Trainingsdaten nicht markiert bzw. getaggt und/oder vorverarbeitet werden (z.B. wenn das neuronale Netzwerk kein überwachtes Lernen erfordert). Sobald die Modelle maschinellen Lernens trainiert sind, können die Modelle maschinellen Lernens von den Fahrzeugen verwendet werden (z.B. über das/die Netzwerk(e) 1590 an die Fahrzeuge übertragen werden), und/oder können die Modelle maschinellen Lernens von dem/den Server(n) 1578 dazu verwendet werden, die Fahrzeuge aus der Ferne zu überwachen.
  • In einigen Beispielen können der/die Server 1578 Daten von den Fahrzeugen empfangen und die Daten auf aktuelle neuronale Echtzeit-Netzwerke für intelligente Echtzeit-Inferenzierung anwenden. Die Server 1578 können Deep-Learning-Supercomputer und/oder dedizierte Kl-Computer beinhalten, die von GPU(s) 1584 betrieben werden, wie beispielsweise DGX- und DGX-Station-Maschinen, die von NVIDIA entwickelt wurden. In einigen Beispielen können der/die Server 1578 jedoch eine Deep-Learning-Infrastruktur beinhalten, die nur CPU-betriebene Rechenzentren verwendet.
  • Die Deep-Learning-Infrastruktur des/der Server 1578 kann in der Lage sein, schnell und in Echtzeit zu inferenzieren, und kann diese Fähigkeit nutzen, um den Zustand der Prozessoren, der Software und/oder der zugehörigen Hardware in dem Fahrzeug 1500 zu bewerten und zu überprüfen. Beispielsweise kann die Deep-Learning-Infrastruktur regelmäßige Aktualisierungen von dem Fahrzeug 1500 erhalten, wie beispielsweise eine Folge von Bildern und/oder Objekten, die das Fahrzeug 1500 in dieser Folge von Bildern (z.B. durch Computer-Vision und/oder andere Techniken zur Klassifizierung von Lernobjekten) lokalisiert hat. Die Deep Learning-Infrastruktur kann ihr eigenes neuronales Netzwerk betreiben, um die Objekte zu identifizieren und mit den vom Fahrzeug 1500 identifizierten Objekten zu vergleichen, und dann, wenn die Ergebnisse nicht übereinstimmen und die Infrastruktur zu dem Schluss kommt, dass die KI in dem Fahrzeug 1500 fehlfunktioniert, können der/die Server 1578 ein Signal an das Fahrzeug 1500 senden, das einen ausfallsicheren Computer des Fahrzeugs 1500 anweist, die Steuerung zu übernehmen, die Fahrgäste zu benachrichtigen und ein sicheres Parkmanöver durchzuführen.
  • Zur Inferenzierung können der/die Server 1578 die GPU(s) 1584 und einen oder mehrere programmierbare Inferenzbeschleuniger (z.B. NVIDIAs TensorRT 3) beinhalten. Die Kombination aus GPU-betriebenen Servern und Inferenzbeschleunigung kann eine Echtzeit-Reaktionsfähigkeit ermöglichen. In anderen Beispielen, z. B. dann, wenn Leistung weniger kritisch ist, können Server, die von CPUs, FPGAs und anderen Prozessoren betrieben werden, zur Inferenzierung verwendet werden.
  • Beispielhafte Rechenvorrichtung
  • 16 ist ein Blockdiagramm einer beispielhaften Rechenvorrichtung 1600, die zur Verwendung bei der Implementierung einiger Ausführungsbeispiele der Erfindung geeignet ist. Die Rechenvorrichtung 1600 kann einen Bus 1602 beinhalten, der direkt oder indirekt die folgenden Vorrichtungen koppelt: Speicher 1604, eine oder mehrere Zentralverarbeitungseinheiten (CPUs) 1606, eine oder mehrere Grafikverarbeitungseinheiten (GPUs) 1608, eine Kommunikationsschnittstelle 1610, Ein-/Ausgabe (I/O)-Ports 1612, Eingabe-/Ausgabe-Komponenten 1614, eine Stromversorgung 1616 und eine oder mehrere Präsentationskomponenten 1618 (z.B. Anzeige(n)).
  • Obwohl die verschiedenen Blöcke von 16 als über den Bus 1602 mit Leitungen verbunden dargestellt sind, ist dies nicht beschränkend und dient nur der Übersichtlichkeit. Beispielsweise kann in einigen Ausführungsbeispielen eine Präsentationskomponente 1618, wie beispielsweise eine Anzeigevorrichtung, als eine I/O-Komponente 1614 betrachtet werden (z.B. wenn die Anzeige ein Touchscreen ist). Als weiteres Beispiel können die CPUs 1606 und/oder die GPUs 1608 Speicher beinhalten (z.B. kann der Speicher 1604 für eine Speichervorrichtung zusätzlich zu dem Speicher der GPUs 1608, der CPUs 1606 und/oder anderer Komponenten repräsentativ sein). Mit anderen Worten ist die Rechenvorrichtung von 16 lediglich illustrativ. Es wird nicht zwischen Kategorien wie „Arbeitsstation“, „Server“, „Laptop“, „Desktop“, „Tablet“, „Client-Vorrichtung “, „mobile Vorrichtung“, „Handheld-Vorrichtung“, „Spielkonsole“, „elektronische Steuereinheit (ECU)“, „Virtual Reality-System“ und/oder anderen Geräte- oder Systemtypen unterschieden, wie sie alle im Rahmen der Computervorrichtung von 16 denkbar sind.
  • Der Bus 1602 kann einen oder mehrere Busse repräsentieren, wie beispielsweise einen Adressbus, einen Datenbus, einen Steuerbus oder eine Kombination derselben. Der Bus 1602 kann einen oder mehrere Bustypen beinhalten, wie beispielsweise einen Industrie-Standard-Architektur (ISA)-Bus, einen erweiterten Industrie-Standard-Architektur (EISA)-Bus, einen Video Electronics Standards Association (VESA)-Bus, einen Peripheral Component Interconnect (PCI)-Bus, einen Peripheral Component Interconnect Express (PCIe)-Bus und/oder eine andere Art von Bus.
  • Der Speicher 1604 kann beliebige einer Vielzahl von computerlesbaren Medien beinhalten. Die computerlesbaren Medien können beliebige verfügbare Medien sein, auf die von der Computervorrichtung 1600 zugegriffen werden kann. Die computerlesbaren Medien können sowohl flüchtige als auch nichtflüchtige Medien sowie wechselbare und nicht wechselbare Medien beinhalten. Beispielsweise und nicht beschränkend können die computerlesbaren Medien Computer-Speichermedien und Kommunikationsmedien umfassen.
  • Die Computer-Speichermedien können sowohl flüchtige als auch nichtflüchtige Medien und/oder entfernbare und nicht entfernbare Medien beinhalten, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen, wie beispielsweise computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und/oder anderen Datentypen, implementiert sind. Beispielsweise kann der Speicher 1604 computerlesbare Anweisungen (z.B. solche, die ein oder mehrere Programm(e) und/oder ein oder mehrere Programmelement(e), wie beispielsweise ein Betriebssystem, darstellen) speichern. Computer-Speichermedien können unter anderem RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, CD-ROM, Digitale Versatile Disk (DVD) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das von der Computervorrichtung 1600 zugegriffen werden kann, beinhalten. Wie hierin verwendet, umfassen Computerspeichermedien keine Signale per se.
  • Die Kommunikationsmedien können computerlesbare Anweisungen, Datenstrukturen, Programmmodule und/oder andere Datentypen in einem modulierten Datensignal, wie beispielsweise einer Trägerwelle oder einem anderen Transportmechanismus, verkörpern und beinhalten beliebige Informationen ausliefernde Medien. Der Begriff „moduliertes Datensignal“ kann sich auf ein Signal beziehen, bei dem eine oder mehrere seiner Eigenschaften derart festgelegt oder geändert sind, dass Informationen in dem Signal kodiert sind. Als Beispiel und nicht beschränkend können die Kommunikationsmedien drahtgebundene Medien wie beispielsweise ein drahtgebundenes Netzwerk oder eine direktverdrahtete Verbindung sowie drahtlose Medien wie akustische, HF-, Infrarot- und andere drahtlose Medien beinhalten. Kombinationen aus beliebigem des Vorstehenden sollten ebenfalls im Rahmen computerlesbarer Medien liegen.
  • Die CPU(s) 1606 können dazu konfiguriert sein, die computerlesbaren Anweisungen auszuführen, um eine oder mehrere Komponenten der Computervorrichtung 1600 zu steuern, um eine oder mehrere der hierin beschriebenen Verfahren und/oder Prozesse auszuführen. Die CPU(s) 1606 kann/können jeweils einen oder mehrere Kerne (z.B. ein, zwei, vier, acht, acht, achtundzwanzig, zweiundsiebzig usw.) beinhalten, die in der Lage sind, eine Vielzahl von Software-Threads gleichzeitig zu verarbeiten. Die CPU(s) 1606 kann/können jede Art von Prozessor beinhalten und kann/können je nach Art der implementierten Computervorrichtung 1600 verschiedene Arten von Prozessoren beinhalten (z.B. Prozessoren mit weniger Kernen für mobile Geräte und Prozessoren mit mehr Kernen für Server). Je nach Typ der Rechenvorrichtung 1600 kann der Prozessor beispielsweise ein ARM-Prozessor sein, der unter Verwendung von Reduced Instruction Set Computing (RISC) implementiert ist, oder ein x86-Prozessor, der unter Verwendung von Complex Instruction Set Computing (CISC) implementiert ist. Die Rechenvorrichtung 1600 kann eine oder mehrere CPUs 1606 zusätzlich zu einem oder mehreren Mikroprozessoren oder zusätzliche Co-Prozessoren, wie beispielsweise mathematische Co-Prozessoren, beinhalten.
  • Die GPU(s) 1608 kann/können von der Computervorrichtung 1600 dazu verwendet werden, Grafiken (z.B. 3D-Grafiken) zu rendern. Die GPU(s) 1608 können Hunderte oder Tausende von Kernen beinhalten, die in der Lage sind, Hunderte oder Tausende von Software-Threads gleichzeitig zu verarbeiten. Die GPU(s) 1608 kann Pixeldaten für Ausgabebilder im Ansprechen auf Rendering-Befehle (z.B. Rendering-Befehle von der/den CPU(s) 1606, die über eine Host-Schnittstelle empfangen werden) erzeugen. Die GPU(s) 1608 können Grafikspeicher, wie beispielsweise Anzeigespeicher, zum Speichern von Pixeldaten beinhalten. Der Anzeigespeicher kann als Teil des Speichers 1604 eingebunden sein. Die GPU(s) 1608 können zwei oder mehr GPU(s) beinhalten, die parallel (z.B. über eine Verbindung) arbeiten. In Kombination kann jede GPU 1608 Pixeldaten für verschiedene Abschnitte eines Ausgabebilds oder für verschiedene Ausgabebilder (z.B. eine erste GPU für ein erstes Bild und eine zweite GPU für ein zweites Bild) erzeugen. Jede GPU kann ihren eigenen Speicher beinhalten, oder kann sich Speicher mit anderen GPUs teilen.
  • In Beispielen, in denen die Computervorrichtung 1600 die GPU(s) 1608 nicht beinhaltet, kann/können die CPU(s) 1606 zum Rendern von Grafiken verwendet werden.
  • Die Kommunikationsschnittstelle 1610 kann einen oder mehrere Empfänger, Sender und/oder Sender-Empfänger beinhalten, die es der Rechenvorrichtung 1600 ermöglichen, mit anderen Rechenvorrichtungen über ein elektronisches Kommunikationsnetzwerk, einschließlich drahtgebundener und/oder drahtloser Kommunikation, zu kommunizieren. Die Kommunikationsschnittstelle 1610 kann Komponenten und Funktionen beinhalten, um Kommunikation über ein beliebiges einer Anzahl von verschiedenen Netzwerken, wie beispielsweise drahtlose Netzwerke (z.B. Wi-Fi, Z-Wave, Bluetooth, Bluetooth, Bluetooth LE, ZigBee, usw.), drahtgebundene Netzwerke (z.B. Kommunikation über Ethernet), Low-Power-Weitbereichsnetze (z.B. LoRaWAN, SigFox, usw.) und/oder das Internet zu ermöglichen.
  • Die I/O-Ports 1612 können es der Computervorrichtung 1600 ermöglichen, logisch mit anderen Vorrichtungen, einschließlich der I/O-Komponenten 1614, der Präsentationskomponente(n) 1618 und/oder anderer Komponenten, von denen einige in die Computervorrichtung 1600 eingebaut (z.B. integriert) sein können, gekoppelt zu sein. Veranschaulichende I/O-Komponenten 1614 beinhalten ein Mikrofon, eine Maus, eine Tastatur, einen Joystick, ein Gamepad, einen Game Controller, eine Satellitenschüssel, einen Scanner, einen Drucker, eine drahtlose Vorrichtung, usw. Die I/O-Komponenten 1614 können eine natürliche Benutzerschnittstelle (NUI) bereitstellen, die Luftgesten, Sprache oder andere physiologische Eingaben, die von einem Benutzer erzeugt werden, verarbeitet. In einigen Fällen können Eingaben zur weiteren Verarbeitung an ein geeignetes Netzwerkelement übertragen werden. Eine NUI kann jede beliebige Kombination aus Spracherkennung, Styluserkennung, Gesichtserkennung, biometrischer Erkennung, Gestenerkennung sowohl auf dem Bildschirm als auch neben dem Bildschirm, Luftgesten, Kopf- und Augen-Nachverfolgung und Berührungserfassung (wie nachstehend näher beschrieben) in Verbindung mit einer Anzeige der Computervorrichtung 1600 implementieren. Die Rechenvorrichtung 1600 kann Tiefenkameras beinhalten, wie beispielsweise stereoskopische Kamerasysteme, Infrarotkamerasysteme, RGB-Kamerasysteme, Touchscreen-Technologie und Kombinationen davon, zur Gestenerfassung und -erkennung. Darüber hinaus kann die Rechenvorrichtung 1600 Beschleunigungssensoren oder Gyroskope (z.B. als Teil einer Trägheitsmesseinheit (IMU)) beinhalten, die die Erfassung von Bewegungen ermöglichen. In einigen Beispielen kann die Ausgabe der Beschleunigungssensoren oder Gyroskope von der Rechenvorrichtung 1600 dazu verwendet werden, immersive Augmented Reality oder Virtual Reality zu rendern.
  • Die Stromversorgung 1616 kann eine fest verdrahtete Stromversorgung, eine Batteriestromversorgung oder eine Kombination derselben beinhalten. Die Stromversorgung 1616 kann die Rechenvorrichtung 1600 mit Strom versorgen, um den Betrieb der Komponenten der Rechenvorrichtung 1600 zu ermöglichen.
  • Die Präsentationskomponente(n) 1618 kann/können eine Anzeige (z.B. einen Monitor, einen Touchscreen, einen Fernsehbildschirm, eine Heads-up-Anzeige (HUD), andere Anzeigetypen oder eine Kombination davon), Lautsprecher und/oder andere Präsentationskomponenten beinhalten. Die Präsentationskomponente(n) 1618 kann/können Daten von anderen Komponenten (z.B. den GPU(s) 1608, den CPU(s) 1606 usw.) empfangen und die Daten (z.B. als Bild, Video, Ton usw.) ausgeben.
  • Die Erfindung kann im allgemeinen Kontext von Computercode oder maschinentauglichen Anweisungen, einschließlich computerausführbarer Anweisungen, wie beispielsweise Programmmodulen, die von einem Computer oder einer anderen Maschine, wie beispielsweise einem Assistenten für personenbezogene Daten oder einem anderen tragbaren Gerät, ausgeführt werden, beschrieben werden. Allgemein beziehen sich Programmodule, einschließlich von Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., auf Code, der bestimmte Aufgaben ausführt oder bestimmte abstrakte Datentypen implementiert. Die Erfindung kann in einer Vielzahl von Systemkonfigurationen praktiziert werden, einschließlich von tragbaren Geräten, Unterhaltungselektronik, Universalcomputer, spezialisierteren Computervorrichtungen usw. Die Erfindung kann auch in verteilten Computerumgebungen praktiziert werden, in denen Aufgaben von entfernten Verarbeitungsvorrichtungen, die über ein Kommunikationsnetzwerk verbunden sind, ausgeführt werden.
  • Wie hierin verwendet sollte eine Angabe von „und/oder“ in Bezug auf zwei oder mehr Elemente so interpretiert werden, dass nur ein Element oder eine Kombination von Elementen gemeint ist. Beispielsweise kann „Element A, Element B und/oder Element C“ nur Element A, nur Element B, nur Element C, Element A und Element B, Element A und Element C, Element B und Element C oder Elemente A, B und C beinhalten. Darüber hinaus kann „zumindest eines von Element A oder Element B“ zumindest eines von Element A, zumindest eines von Element B oder zumindest eines von Element A und zumindest eines von Element B beinhalten. Weiterhin kann „zumindest eines von Element A und Element B“ zumindest eines von Element A, zumindest eines von Element B oder zumindest eines von Element A und zumindest eines von Element B beinhalten.
  • Der Gegenstand der Erfindung ist hierin spezifisch beschrieben, um gesetzlichen Anforderungen zu entsprechen. Die Beschreibung selbst soll jedoch den Umfang dieser Erfindung nicht einschränken. Vielmehr haben die Erfinder ins Auge gefasst, dass der beanspruchte Gegenstand auch auf andere Weise verkörpert werden könnte, um unterschiedliche Schritte oder Kombinationen von Schritten ähnlich zu den in diesem Dokument beschriebenen in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien einzubeziehen. Obwohl die Begriffe „Schritt“ und/oder „Block“ hierin verwendet werden können, um verschiedene Elemente verwendeter Verfahren zu konnotieren, sind die Begriffe nicht als irgendeine bestimmte Reihenfolge zwischen oder unter hierin offenbarten Schritten implizierend zu interpretieren, so lange nicht und ausnahmsweise die Reihenfolge einzelner Schritte ausdrücklich beschrieben wird.
  • 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 16/1011232 [0218]

Claims (21)

  1. Verfahren, umfassend: Anwenden von Sensordaten, die für ein Sichtfeld von zumindest einem Sensor eines Fahrzeugs in einer Umgebung repräsentativ sind, auf ein erstes neuronales Netzwerk; Empfangen von Erfasstes-Objekt-Daten, die für Positionen von erfassten Objekten in dem Sichtfeld repräsentativ sind, von dem ersten neuronalen Netzwerk; Erzeugen eines Clusters der erfassten Objekte basierend zumindest teilweise auf den Positionen; Bestimmen von Merkmalen für den Cluster zur Verwendung als Eingänge eines zweiten neuronalen Netzwerks; Empfangen eines Vertrauenswerts, der von dem zweiten neuronalen Netzwerk berechnet wird, basierend zumindest teilweise auf den Eingängen, wobei der Vertrauenswert für eine Wahrscheinlichkeit steht, dass der Cluster einem Objekt in der Umgebung innerhalb des Sichtfelds des zumindest einen Sensors entspricht.
  2. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen, dass zumindest ein erstes erfasstes Objekt und ein zweites erfasstes Objekt ein und dasselbe Objekt sind, das über sequentielle Einzelbilder hinweg dargestellt wird, die von den Sensordaten repräsentiert werden; und Berechnen zumindest eines Werts desselben Objekts basierend zumindest teilweise auf dem ersten erfassten Objekt und dem zweiten erfassten Objekt, wobei zumindest eines der Merkmale dem zumindest einen Wert entspricht, der zumindest teilweise auf dem Cluster basiert, der demselben Objekt zugeordnet ist.
  3. Verfahren nach Anspruch 1, wobei die erfassten Objekte des Clusters Erfasstes-Objekt-Regionen umfassen und eines oder mehrere der Merkmale zumindest teilweise auf einer Varianz der Erfasstes-Objekt-Regionen basieren.
  4. Verfahren nach Anspruch 1, wobei eines oder mehrere der Merkmale zumindest teilweise auf Fahrzeugzustandsdaten basieren, die für einen Zustand des Fahrzeugs repräsentativ sind, der zumindest teilweise auf zusätzlichen Sensordaten basiert, die von einem oder mehreren des zumindest einen Sensors oder zumindest einem alternativen Sensor empfangen werden.
  5. Verfahren nach Anspruch 1, wobei die erfassten Objekte des Clusters eine Erfasstes-Objekt-Region umfassen und eines oder mehrere der Merkmale zumindest teilweise auf einem Berechnen einer Statistik eines oder mehrerer Eingangspixel für das erste neuronale Netzwerk basieren, das dazu verwendet wird, zumindest eines der folgenden zu bestimmen: die Erfasstes-Objekt-Daten oder Merkmale zumindest einer Schicht des ersten neuronalen Netzwerks.
  6. Verfahren nach Anspruch 1, wobei das Erzeugen eines Clusters ein Gruppieren der erfassten Objekte basierend zumindest teilweise auf Abdeckungswerten der erfassten Objekte umfasst, wobei jeder Abdeckungswert eine Wahrscheinlichkeit anzeigt, dass das erfasste Objekt einem in dem Sichtfeld dargestellten Objekt entspricht.
  7. Verfahren, umfassend: Bestimmen, basierend zumindest teilweise auf Sensordaten, die für ein Sichtfeld zumindest eines Sensors repräsentativ sind, von Erfasstes-Objekt-Daten, die für Positionen von erfassten Objekten in dem Sichtfeld repräsentativ sind; Erzeugen eines Clusters der erfassten Objekte basierend zumindest teilweise auf den Positionen; Bestimmen von Merkmalen für den Cluster zur Verwendung als Eingaben in ein neuronales Netzwerk; und Empfangen eines Vertrauenswerts, der von dem neuronalen Netzwerk basierend zumindest teilweise auf den Eingaben berechnet wird, wobei der Vertrauenswert eine Wahrscheinlichkeit darstellt, dass der Cluster einem Objekt entspricht, das zumindest teilweise in dem Sichtfeld dargestellt wird.
  8. Verfahren nach Anspruch 7, wobei das neuronale Netzwerk ein mehrschichtiges neuronales Perzeptron-Netzwerk ist.
  9. Verfahren nach Anspruch 7, wobei die Positionen der Objekterfassungen durch Ausgänge eines neuronalen Faltungsnetzwerks dargestellt werden, das die Positionen basierend zumindest teilweise auf den Sensordaten bestimmt.
  10. Verfahren nach Anspruch 7, wobei der zumindest eine Sensor von einem Fahrzeug ist und ein oder mehrere der Merkmale zumindest teilweise auf Abstandsdaten basieren, die für eine Entfernung des Fahrzeugs von dem Objekt repräsentativ sind, wobei die Abstandsdaten zumindest teilweise auf zusätzlichen Sensordaten basieren, die von einem oder mehreren des zumindest einen Sensors oder zumindest einem alternativen Sensor des Fahrzeugs empfangen werden.
  11. Verfahren nach Anspruch 7, wobei zumindest eines der Merkmale zumindest teilweise auf Abdeckungswerten der erfassten Objekte des Clusters basiert, wobei jeder Abdeckungswert für ein erfasstes Objekt eine Wahrscheinlichkeit anzeigt, dass das erfasste Objekt einer Objektdarstellung in dem Sichtfeld entspricht.
  12. Verfahren nach Anspruch 7, wobei zumindest eines der Merkmale zumindest teilweise auf einem oder mehreren einer Höhe einer Erfasstes-Objekt-Region, die den erfassten Objekten des Clusters entspricht, einer Breite der Erfasstes-Objekt-Region, einer zentralen Position der Erfasstes-Objekt-Region oder einer Anzahl der erfassten Objekte des Clusters basiert.
  13. Verfahren nach Anspruch 7, wobei eines oder mehrere der Merkmale zumindest teilweise auf zumindest einem geschätzten Parameter einer Grundebene in dem Sichtfeld basieren.
  14. Verfahren, umfassend: Berechnen einer Größe einer Form zumindest teilweise innerhalb einer Objektregion, die einem Trainingsbild für ein neuronales Netzwerk zugeordnet ist, das zumindest teilweise auf einer Dimension der Objektregion basiert; Zuweisen eines Abdeckungswerts zu einer Raumelementregion des Trainingsbilds, der zumindest teilweise auf der Raumelementregion basiert, die einem Abschnitt der Form entspricht; Füllen eines oder mehrerer Elemente von Referenzdaten, die der Raumelementregion des Trainingsbilds entsprechen, mit dem Abdeckungswert und zumindest einem Objektregionswert, der für die Objektregion repräsentativ ist; und Trainieren des neuronalen Netzwerks unter Verwendung der Referenzdaten.
  15. Verfahren nach Anspruch 14, wobei die Form zumindest eines ist von: einer Ellipse, einem Rechteck, einem Kreis oder einer Superellipse.
  16. Verfahren nach Anspruch 14, ferner umfassend ein Bestimmen, basierend zumindest teilweise auf der Form, eines weichen Abdeckungswerts für die Raumelementregion, der zumindest teilweise auf dem Raumelementregion basiert, der einer Grenze der Form entspricht, wobei der weiche Abdeckungswert der Abdeckungswert ist.
  17. Verfahren nach Anspruch 14, ferner umfassend ein Bestimmen des Abdeckungswerts, der zumindest teilweise basiert auf: einem Rendern zumindest eines Teils der Form in ersten Bilddaten mit einer höheren räumlichen Auflösung als ein durch die Grundwahrheitsdaten dargestellter Grundwahrheitstensor; und einem Reduzieren der ersten Bilddaten auf eine räumliche Auflösung des Grundwahrheitstensors, um zweite Bilddaten zu erzeugen, die für einen bildkantengeglätteten Abschnitt der Form repräsentativ sind, wobei der Abdeckungswert dem bildkantengeglätteten Abschnitt der Form entspricht.
  18. Verfahren nach Anspruch 14, ferner umfassend ein Füllen zusätzlicher Elemente der Grundwahrheitsdaten mit Abdeckungswerten, die einem Totzonenbereich um die Form herum entsprechen, wobei der Totzonenbereich dazu verwendet wird, in den Grundwahrheitsdaten einen ersten Satz von Abdeckungswerten, die der Form entsprechen, räumlich von einem zweiten Satz von Abdeckungswerten zu trennen, die einer zusätzlichen Form entsprechen, die auf einer zusätzlichen Objektregion basiert, die dem Trainingsbild zugeordnet ist.
  19. Verfahren nach Anspruch 14, wobei das Zuordnen des Abdeckungswerts zu der Raumelementregion des Trainingsbilds ferner zumindest teilweise auf einem Bestimmen eines weichen Abdeckungswerts für eine einem Trainingsbild zugeordnete zusätzliche Objektregion basiert, wobei der Abdeckungswert der Raumelementregion zugeordnet wird, die zumindest teilweise auf dem Abdeckungswert basiert, der größer als der weiche Abdeckungswert ist.
  20. Verfahren nach Anspruch 14, wobei das Zuordnen des Abdeckungswerts zu der Raumelementregion des Trainingsbilds ferner zumindest teilweise auf einem Bestimmen basiert, dass ein erstes Objekt, das der Objektregion entspricht, in dem Trainingsbild näher ist als ein zweites Objekt, das einer zusätzlichen dem Trainingsbild zugeordneten Objektregion entspricht, wobei der Abdeckungswert der Raumelementregion zugeordnet ist, die zumindest teilweise auf dem ersten Objekt basiert, das in dem Trainingsbild näher ist als das zweite Objekt.
  21. Verfahren nach Anspruch 14, wobei das eine oder die mehreren Elemente der Referenzdaten ferner mit einem oder mehreren von: zumindest einem Entfernungswert, der für eine Entfernung eines Objekts von zumindest einem zur Erfassung des Trainingsbilds verwendeten Sensor repräsentativ ist, zumindest einem Orientierungswert, der für eine Orientierung eines Objekts in dem Trainingsbild repräsentativ ist, oder zumindest einem Sichtbarkeitswert, der für eine Sichtbarkeit eines Objekts in dem Trainingsbild repräsentativ ist, gefüllt werden.
DE112019000049.7T 2018-02-18 2019-02-15 Für autonomes fahren geeignete objekterfassung und erfassungssicherheit Pending DE112019000049T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862631781P 2018-02-18 2018-02-18
US62/631,781 2018-02-18
US16/277,895 US11210537B2 (en) 2018-02-18 2019-02-15 Object detection and detection confidence suitable for autonomous driving
US16/277,895 2019-02-15
PCT/US2019/018348 WO2019161300A1 (en) 2018-02-18 2019-02-15 Detecting objects and determining confidence scores

Publications (1)

Publication Number Publication Date
DE112019000049T5 true DE112019000049T5 (de) 2020-01-23

Family

ID=67617927

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019000049.7T Pending DE112019000049T5 (de) 2018-02-18 2019-02-15 Für autonomes fahren geeignete objekterfassung und erfassungssicherheit

Country Status (4)

Country Link
US (3) US11210537B2 (de)
CN (1) CN111133447B (de)
DE (1) DE112019000049T5 (de)
WO (1) WO2019161300A1 (de)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019213867A1 (de) * 2019-09-11 2021-03-11 Zf Friedrichshafen Ag Hinderniserkennung umfassend ein rekurrentes neuronales Netzwerk
DE102019129463A1 (de) * 2019-10-31 2021-05-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zur Erkennung und Nachverfolgung eines dynamischen Objektes
US11006039B1 (en) 2020-02-13 2021-05-11 Mujin, Inc. Method and system for determining occlusion within a camera field of view
WO2022194440A1 (de) * 2021-03-16 2022-09-22 Psa Automobiles Sa Verfahren, computerprogramm, steuereinheit sowie kraftfahrzeug zum durchführen einer automatisierten fahrfunktion
DE102021113767A1 (de) 2021-05-27 2022-12-01 Bayerische Motoren Werke Aktiengesellschaft Überwachungseinrichtung und Verfahren zum Überwachen eines Gesamtsystems aus mehreren unterschiedlichen Teilsystemen auf Fehler und Kraftfahrzeug
US11659301B1 (en) 2022-03-28 2023-05-23 e-con Systems India Private Limited System and method for integration of real time data with image frame for image stabilization
EP4191274A1 (de) * 2021-12-03 2023-06-07 Aptiv Technologies Limited Radarbasierte schätzung der höhe eines objekts

Families Citing this family (234)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9972092B2 (en) * 2016-03-31 2018-05-15 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation
WO2018170074A1 (en) * 2017-03-14 2018-09-20 Starsky Robotics, Inc. Vehicle sensor system and method of use
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US10706534B2 (en) * 2017-07-26 2020-07-07 Scott Anderson Middlebrooks Method and apparatus for classifying a data point in imaging data
US10832440B2 (en) * 2017-08-31 2020-11-10 Nec Corporation Temporal multi-scale clockwork memory networks for object detection in videos
US10678241B2 (en) * 2017-09-06 2020-06-09 GM Global Technology Operations LLC Unsupervised learning agents for autonomous driving applications
US11077756B2 (en) * 2017-11-23 2021-08-03 Intel Corporation Area occupancy determining device
CN110248861B (zh) 2018-01-07 2023-05-30 辉达公司 在车辆操纵过程中使用机器学习模型来引导车辆
CN110096933B (zh) * 2018-01-30 2023-07-18 华为技术有限公司 目标检测的方法、装置及***
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
DE112019000065T5 (de) 2018-02-02 2020-03-05 Nvidia Corporation Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug
KR102054926B1 (ko) * 2018-02-27 2019-12-12 주식회사 만도 Free Space 신호 기반 근거리 컷인 차량 검출 시스템 및 방법
DE112019000122T5 (de) 2018-02-27 2020-06-25 Nvidia Corporation Echtzeiterfassung von spuren und begrenzungen durch autonome fahrzeuge
KR101967339B1 (ko) * 2018-03-06 2019-04-09 단국대학교 산학협력단 심층학습 기반의 adas 센서 고장 진단 및 백업을 위한 장치 및 방법
US11080590B2 (en) 2018-03-21 2021-08-03 Nvidia Corporation Stereo depth estimation using deep neural networks
US10867393B2 (en) * 2018-03-22 2020-12-15 Texas Instruments Incorporated Video object detection
JP7077726B2 (ja) * 2018-04-02 2022-05-31 株式会社デンソー 車両システム、空間領域推測方法及び空間領域推測装置
US10789487B2 (en) * 2018-04-05 2020-09-29 Here Global B.V. Method, apparatus, and system for determining polyline homogeneity
US11126199B2 (en) * 2018-04-16 2021-09-21 Baidu Usa Llc Learning based speed planner for autonomous driving vehicles
US10839262B2 (en) * 2018-04-24 2020-11-17 Here Global B.V. Machine learning a feature detector using synthetic training data
US10586456B2 (en) * 2018-04-27 2020-03-10 TuSimple System and method for determining car to lane distance
WO2019241022A1 (en) 2018-06-13 2019-12-19 Nvidia Corporation Path detection for autonomous machines using deep neural networks
US11966838B2 (en) 2018-06-19 2024-04-23 Nvidia Corporation Behavior-guided path planning in autonomous machine applications
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
JP7044000B2 (ja) * 2018-07-20 2022-03-30 株式会社デンソー 車両制御装置および車両制御方法
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US10845806B2 (en) * 2018-07-31 2020-11-24 GM Global Technology Operations LLC Autonomous vehicle control using prior radar space map
US11010903B1 (en) * 2018-08-09 2021-05-18 Amazon Technologies, Inc. Computer vision and machine learning techniques for item tracking
CN110826572B (zh) * 2018-08-09 2023-04-21 京东方科技集团股份有限公司 多目标检测的非极大值抑制方法、装置及设备
GB2576322B (en) * 2018-08-13 2022-11-09 Imperial College Innovations Ltd Mapping object instances using video data
US10479356B1 (en) 2018-08-17 2019-11-19 Lyft, Inc. Road segment similarity determination
US10942030B2 (en) 2018-08-17 2021-03-09 Lyft, Inc. Road segment similarity determination
JP6831474B2 (ja) * 2018-08-24 2021-02-17 バイドゥ ドットコム タイムス テクノロジー (ベイジン) カンパニー リミテッド センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
US11087174B2 (en) * 2018-09-25 2021-08-10 Nec Corporation Deep group disentangled embedding and network weight generation for visual inspection
JP7052663B2 (ja) * 2018-09-26 2022-04-12 トヨタ自動車株式会社 物体検出装置、物体検出方法及び物体検出用コンピュータプログラム
US11488374B1 (en) * 2018-09-28 2022-11-01 Apple Inc. Motion trajectory tracking for action detection
KR102545105B1 (ko) * 2018-10-10 2023-06-19 현대자동차주식회사 차량용 허위 타겟 판별 장치 및 그의 허위 타겟 판별 방법과 그를 포함하는 차량
IL282172B2 (en) 2018-10-11 2024-02-01 Tesla Inc Systems and methods for training machine models with enhanced data
KR102521657B1 (ko) * 2018-10-15 2023-04-14 삼성전자주식회사 차량을 제어하는 방법 및 장치
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US10726073B2 (en) * 2018-10-26 2020-07-28 Tensil AI Company Method and apparatus for compiling computation graphs into an integrated circuit
US11610115B2 (en) 2018-11-16 2023-03-21 Nvidia Corporation Learning to generate synthetic datasets for training neural networks
US10823855B2 (en) * 2018-11-19 2020-11-03 Fca Us Llc Traffic recognition and adaptive ground removal based on LIDAR point cloud statistics
US10936902B1 (en) * 2018-11-27 2021-03-02 Zoox, Inc. Training bounding box selection
US11010907B1 (en) 2018-11-27 2021-05-18 Zoox, Inc. Bounding box selection
CN111242117A (zh) * 2018-11-28 2020-06-05 佳能株式会社 检测装置和方法及图像处理装置和***
US10825148B2 (en) * 2018-11-29 2020-11-03 Adobe Inc. Boundary-aware object removal and content fill
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
EP3667557B1 (de) * 2018-12-13 2021-06-16 Axis AB Verfahren und vorrichtung zur verfolgung eines objekts
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11332124B2 (en) * 2019-01-10 2022-05-17 Magna Electronics Inc. Vehicular control system
US11113567B1 (en) * 2019-01-28 2021-09-07 Amazon Technologies, Inc. Producing training data for machine learning
US10776647B2 (en) * 2019-01-31 2020-09-15 StradVision, Inc. Method and device for attention-driven resource allocation by using AVM to thereby achieve safety of autonomous driving
US10726279B1 (en) * 2019-01-31 2020-07-28 StradVision, Inc. Method and device for attention-driven resource allocation by using AVM and reinforcement learning to thereby achieve safety of autonomous driving
US10817777B2 (en) * 2019-01-31 2020-10-27 StradVision, Inc. Learning method and learning device for integrating object detection information acquired through V2V communication from other autonomous vehicle with object detection information generated by present autonomous vehicle, and testing method and testing device using the same
US10997717B2 (en) * 2019-01-31 2021-05-04 Siemens Healthcare Gmbh Method and system for generating a confidence score using deep learning model
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
WO2020163390A1 (en) 2019-02-05 2020-08-13 Nvidia Corporation Driving lane perception diversity and redundancy in autonomous driving applications
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US11772658B1 (en) * 2019-02-19 2023-10-03 Viaduct, Inc. Systems, media, and methods applying machine learning to telematics data to generate driver fingerprint
US11003947B2 (en) * 2019-02-25 2021-05-11 Fair Isaac Corporation Density based confidence measures of neural networks for reliable predictions
US11113839B2 (en) * 2019-02-26 2021-09-07 Here Global B.V. Method, apparatus, and system for feature point detection
WO2020185779A1 (en) 2019-03-11 2020-09-17 Nvidia Corporation Intersection detection and classification in autonomous machine applications
US10936868B2 (en) 2019-03-19 2021-03-02 Booz Allen Hamilton Inc. Method and system for classifying an input data set within a data category using multiple data recognition tools
US10943099B2 (en) * 2019-03-19 2021-03-09 Booz Allen Hamilton Inc. Method and system for classifying an input data set using multiple data representation source modes
JP7183089B2 (ja) * 2019-03-20 2022-12-05 株式会社東芝 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US11168985B2 (en) * 2019-04-01 2021-11-09 GM Global Technology Operations LLC Vehicle pose determining system and method
US11120526B1 (en) * 2019-04-05 2021-09-14 Snap Inc. Deep feature generative adversarial neural networks
US11062454B1 (en) * 2019-04-16 2021-07-13 Zoox, Inc. Multi-modal sensor data association architecture
US11288534B2 (en) * 2019-05-23 2022-03-29 Samsung Sds Co., Ltd. Apparatus and method for image processing for machine learning
US11080561B2 (en) * 2019-05-30 2021-08-03 Qualcomm Incorporated Training and verification of learning models using high-definition map information and positioning information
US11928557B2 (en) 2019-06-13 2024-03-12 Lyft, Inc. Systems and methods for routing vehicles to capture and evaluate targeted scenarios
KR20200144862A (ko) * 2019-06-19 2020-12-30 삼성전자주식회사 레이더의 해상도 향상 방법 및 장치
DE102019209463A1 (de) * 2019-06-27 2020-12-31 Robert Bosch Gmbh Verfahren zur Bestimmung eines Vertrauenswertes eines Objektes einer Klasse
DE102019209462A1 (de) * 2019-06-27 2020-12-31 Robert Bosch Gmbh Verfahren zur Bestimmung eines Vertrauens-Wertes eines detektierten Objektes
US11157007B2 (en) 2019-06-28 2021-10-26 Lyft, Inc. Approaches for encoding environmental information
US10625748B1 (en) * 2019-06-28 2020-04-21 Lyft, Inc. Approaches for encoding environmental information
US11852750B2 (en) * 2019-06-28 2023-12-26 Smart Radar System, Inc. Method and apparatus for radar signal processing using recurrent neural network
US11568100B2 (en) 2019-06-28 2023-01-31 Zoox, Inc. Synthetic scenario simulator based on events
US11055540B2 (en) * 2019-06-28 2021-07-06 Baidu Usa Llc Method for determining anchor boxes for training neural network object detection models for autonomous driving
JP7323356B2 (ja) * 2019-06-28 2023-08-08 フォルシアクラリオン・エレクトロニクス株式会社 駐車支援装置及び駐車支援方法
US11449475B2 (en) 2019-06-28 2022-09-20 Lyft, Inc. Approaches for encoding environmental information
US11574089B2 (en) 2019-06-28 2023-02-07 Zoox, Inc. Synthetic scenario generator based on attributes
US10699563B1 (en) * 2019-07-12 2020-06-30 GM Global Technology Operations LLC Multi-sensor multi-object tracking
US11859985B2 (en) * 2019-08-21 2024-01-02 Lyft, Inc. Map data validation using knowledge graphs and randomness measures
KR20190104488A (ko) * 2019-08-21 2019-09-10 엘지전자 주식회사 인공 지능을 이용하여, 오브젝트의 이동을 관리하는 인공 지능 로봇 및 그의 동작 방법
US20210065374A1 (en) * 2019-08-26 2021-03-04 Organize Everything Inc. System and method for extracting outlines of physical objects
WO2021042051A1 (en) 2019-08-31 2021-03-04 Nvidia Corporation Map creation and localization for autonomous driving applications
US11507830B2 (en) 2019-09-13 2022-11-22 Honda Motor Co., Ltd. System and method for providing object-level driver attention reasoning with a graph convolution network
GB2590115B (en) * 2019-09-13 2023-12-06 Motional Ad Llc Extended object tracking using radar
CN110687530A (zh) * 2019-09-18 2020-01-14 上海广电通信技术有限公司 微型安防雷达监控***
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
US11788846B2 (en) 2019-09-30 2023-10-17 Lyft, Inc. Mapping and determining scenarios for geographic regions
WO2021067665A2 (en) * 2019-10-03 2021-04-08 Photon-X, Inc. Enhancing artificial intelligence routines using 3d data
JP7418177B2 (ja) * 2019-10-11 2024-01-19 株式会社Subaru 画像処理装置
CN112651269B (zh) * 2019-10-12 2024-05-24 常州通宝光电股份有限公司 一种快速检测夜间前方同向车辆方法
CN110765929A (zh) * 2019-10-21 2020-02-07 东软睿驰汽车技术(沈阳)有限公司 一种车辆障碍物检测方法及装置
US11816900B2 (en) 2019-10-23 2023-11-14 Lyft, Inc. Approaches for encoding environmental information
US11302028B2 (en) 2019-10-30 2022-04-12 Toyota Research Institute, Inc. Variational 3D object detection
US11436876B2 (en) * 2019-11-01 2022-09-06 GM Global Technology Operations LLC Systems and methods for diagnosing perception systems of vehicles based on temporal continuity of sensor data
CN110866593B (zh) * 2019-11-05 2022-09-23 西南交通大学 一种基于人工智能的高速公路恶劣天气识别方法
TWI731466B (zh) * 2019-11-07 2021-06-21 財團法人資訊工業策進會 產生一物件偵測模型的計算裝置及方法及物件偵測裝置
US11455813B2 (en) * 2019-11-14 2022-09-27 Nec Corporation Parametric top-view representation of complex road scenes
US11481579B2 (en) 2019-11-14 2022-10-25 Waymo Llc Automatic labeling of objects in sensor data
US11893750B2 (en) 2019-11-15 2024-02-06 Zoox, Inc. Multi-task learning for real-time semantic and/or depth aware instance segmentation and/or three-dimensional object bounding
US11885907B2 (en) * 2019-11-21 2024-01-30 Nvidia Corporation Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
US11238314B2 (en) * 2019-11-15 2022-02-01 Salesforce.Com, Inc. Image augmentation and object detection
KR20210061146A (ko) * 2019-11-19 2021-05-27 삼성전자주식회사 전자 장치 및 그 제어 방법
CN114730360A (zh) * 2019-11-20 2022-07-08 Oppo广东移动通信有限公司 图像处理方法、装置、设备及计算机可读存储介质
KR20210061839A (ko) * 2019-11-20 2021-05-28 삼성전자주식회사 전자 장치 및 그 제어 방법
US11745654B2 (en) * 2019-11-22 2023-09-05 Metawave Corporation Method and apparatus for object alert for rear vehicle sensing
US11807062B2 (en) * 2019-11-25 2023-11-07 Ford Global Technologies, Llc Collaborative relationship between a vehicle and a UAV
DE102019218613B4 (de) * 2019-11-29 2021-11-11 Volkswagen Aktiengesellschaft Objektklassifizierungsverfahren, Objektklassifizierungsschaltung, Kraftfahrzeug
CN113330331A (zh) * 2019-12-04 2021-08-31 华为技术有限公司 用于交通场景中收集和自动标记测量数据的装置和方法
US11551344B2 (en) * 2019-12-09 2023-01-10 University Of Central Florida Research Foundation, Inc. Methods of artificial intelligence-assisted infrastructure assessment using mixed reality systems
US11891067B2 (en) * 2019-12-11 2024-02-06 Electronics And Telecommunications Research Institute Vehicle control apparatus and operating method thereof
US10981577B1 (en) * 2019-12-19 2021-04-20 GM Global Technology Operations LLC Diagnosing perception system based on scene continuity
CN113051969A (zh) * 2019-12-26 2021-06-29 深圳市超捷通讯有限公司 物件识别模型训练方法及车载装置
CN111126325B (zh) * 2019-12-30 2023-01-03 哈尔滨工程大学 一种基于视频的智能人员安防识别统计方法
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
US11592828B2 (en) * 2020-01-16 2023-02-28 Nvidia Corporation Using neural networks to perform fault detection in autonomous driving applications
US11594144B2 (en) * 2020-01-31 2023-02-28 Honeywell International Inc. Collision awareness using cameras mounted on a vehicle
US11257230B2 (en) * 2020-02-04 2022-02-22 Nio Usa, Inc. Adaptive feature map anchor pruning
US11526721B1 (en) * 2020-02-21 2022-12-13 Zoox, Inc. Synthetic scenario generator using distance-biased confidences for sensor data
US11625041B2 (en) * 2020-02-21 2023-04-11 Zoox, Inc. Combined track confidence and classification model
CN111402335B (zh) * 2020-03-18 2023-07-28 东软睿驰汽车技术(沈阳)有限公司 深度学习模型的评价方法、装置、电子设备及存储介质
CN111339997B (zh) * 2020-03-20 2023-05-09 浙江大华技术股份有限公司 火点区域的确定方法及装置、存储介质和电子装置
EP4116738A4 (de) * 2020-03-31 2024-03-20 Bitsensing Inc Radarvorrichtung und verfahren zur klassifizierung von objekten
JP7359735B2 (ja) 2020-04-06 2023-10-11 トヨタ自動車株式会社 物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置
DE102020204592A1 (de) * 2020-04-09 2021-10-14 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Verarbeitung von Radardaten und Radarsystem
US11734907B2 (en) 2020-04-24 2023-08-22 Humanising Autonomy Limited Tracking vulnerable road users across image frames using fingerprints obtained from image analysis
US11537819B1 (en) * 2020-04-30 2022-12-27 Zoox, Inc. Learned state covariances
US11675878B1 (en) 2020-04-30 2023-06-13 Everguard, Inc. Auto-labeling method for multimodal safety systems
DE102020205581A1 (de) * 2020-05-04 2021-11-04 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Trainieren eines künstlichen neuronalen Netzes
US11620476B2 (en) * 2020-05-14 2023-04-04 Micron Technology, Inc. Methods and apparatus for performing analytics on image data
US11410356B2 (en) 2020-05-14 2022-08-09 Toyota Research Institute, Inc. Systems and methods for representing objects using a six-point bounding box
US11535257B2 (en) * 2020-05-22 2022-12-27 Robert Bosch Gmbh Lane localization system and method
WO2021237749A1 (en) * 2020-05-29 2021-12-02 Siemens Aktiengesellschaft Method and apparatus for object tracking and reidentification
KR20210152741A (ko) * 2020-06-09 2021-12-16 삼성전자주식회사 첨단 운전자 지원 장치 및 이의 객체를 검출하는 방법
CN111709517B (zh) * 2020-06-12 2022-07-29 武汉中海庭数据技术有限公司 一种基于置信度预测***的冗余融合定位增强的方法和装置
DE112020006730T5 (de) * 2020-06-22 2022-12-22 Nvidia Corporation Hybridlösung für stereobildgebung
US11398095B2 (en) 2020-06-23 2022-07-26 Toyota Research Institute, Inc. Monocular depth supervision from 3D bounding boxes
EP4172854A1 (de) * 2020-06-24 2023-05-03 Humanising Autonomy Limited Erscheinungs- und bewegungsbasiertes modell zur bestimmung des risikos von mikromobilitätsbenutzern
KR102414307B1 (ko) * 2020-06-29 2022-06-29 (주)뉴빌리티 3d 맵의 변경 구역 업데이트 시스템 및 그 방법
CN111708641B (zh) * 2020-07-14 2024-03-19 腾讯科技(深圳)有限公司 一种内存管理方法、装置、设备及计算机可读存储介质
US20220026917A1 (en) * 2020-07-22 2022-01-27 Motional Ad Llc Monocular 3d object detection from image semantics network
CN111968087B (zh) * 2020-08-13 2023-11-07 中国农业科学院农业信息研究所 一种植物病害区域检测方法
CN112101628B (zh) * 2020-08-18 2022-09-16 浙江中控信息产业股份有限公司 一种大型枢纽场站出租车最优控制组合方案
US11869236B1 (en) 2020-08-24 2024-01-09 Amazon Technologies, Inc. Generating data for training vision-based algorithms to detect airborne objects
KR102497640B1 (ko) * 2020-08-25 2023-02-08 한국과학기술원 이미지의 객체 감지 및 분류 방법 및 시스템
US11403856B2 (en) * 2020-08-26 2022-08-02 Ford Global Technologies, Llc Group object-tracking
KR20220028928A (ko) * 2020-08-31 2022-03-08 삼성전자주식회사 부분 영상 기반의 영상 처리 방법 및 장치
US20220084228A1 (en) * 2020-09-11 2022-03-17 Waymo Llc Estimating ground truth object keypoint labels for sensor readings
DE102020123920B3 (de) 2020-09-15 2021-08-19 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren und System zum automatischen Labeling von Radardaten
US11731662B2 (en) 2020-10-08 2023-08-22 Ford Global Technologies, Llc Autonomous vehicle system for detecting pedestrian presence
US11361201B2 (en) * 2020-10-08 2022-06-14 Argo AI, LLC Systems and methods for determining an object type and an attribute for an observation based on fused sensor data
US11521394B2 (en) * 2020-10-09 2022-12-06 Motional Ad Llc Ground plane estimation using LiDAR semantic network
WO2022077218A1 (en) * 2020-10-13 2022-04-21 SZ DJI Technology Co., Ltd. Online point cloud processing of lidar and camera data
US20220122363A1 (en) * 2020-10-21 2022-04-21 Motional Ad Llc IDENTIFYING OBJECTS USING LiDAR
US11978266B2 (en) 2020-10-21 2024-05-07 Nvidia Corporation Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications
US20220129758A1 (en) * 2020-10-27 2022-04-28 Raytheon Company Clustering autoencoder
CN112270355B (zh) * 2020-10-28 2023-12-05 长沙理工大学 基于大数据技术与sae-gru的主动安全预测方法
CN112287860B (zh) * 2020-11-03 2022-01-07 北京京东乾石科技有限公司 物体识别模型的训练方法及装置、物体识别方法及***
KR102380573B1 (ko) * 2020-11-06 2022-03-31 국민대학교산학협력단 종단간 지연을 최소화하기 위한 객체검출 장치 및 방법, 그리고 이를 이용한 첨단 운전자 보조장치
US11947626B2 (en) * 2020-11-10 2024-04-02 Nec Corporation Face recognition from unseen domains via learning of semantic features
US11544508B2 (en) * 2020-11-23 2023-01-03 Nielsen Consumer Llc Methods, systems, articles of manufacture, and apparatus to recalibrate confidences for image classification
CN112446902A (zh) * 2020-11-24 2021-03-05 浙江大华技术股份有限公司 目标车辆异常的确定方法及装置、存储介质、电子装置
KR20220072510A (ko) * 2020-11-25 2022-06-02 현대모비스 주식회사 차량의 장애물 인식 장치 및 방법
KR20220072146A (ko) * 2020-11-25 2022-06-02 삼성전자주식회사 전자 장치 및 그 제어 방법
CN112308032B (zh) * 2020-11-25 2024-04-05 中国矿业大学 一种视频检测的井下风门智能协同联动控制方法
US11908195B2 (en) * 2020-12-01 2024-02-20 Devon Energy Corporation Systems, methods, and computer program products for object detection and analysis of an image
US20220185324A1 (en) * 2020-12-10 2022-06-16 Motional Ad Llc Merging LiDAR Information and Camera Information
CN112232314A (zh) * 2020-12-11 2021-01-15 智道网联科技(北京)有限公司 一种基于深度学习进行目标检测的车辆控制方法和装置
CN112560691B (zh) * 2020-12-17 2021-11-12 长光卫星技术有限公司 一种基于卫星视频数据的天基目标自动识别方法
US11789466B2 (en) * 2020-12-18 2023-10-17 Microsoft Technology Licensing, Llc Event camera based navigation control
US20210110170A1 (en) * 2020-12-22 2021-04-15 Florian Geissler Validation and training service for dynamic environment perception based on local high confidence information
CN112710988B (zh) * 2020-12-30 2022-06-21 中国人民解放军32212部队 一种坦克装甲车辆声振人工智能探测定位方法
CN113011417B (zh) * 2021-01-08 2023-02-10 湖南大学 基于交并比覆盖率损失与重定位策略的目标匹配方法
US11535271B2 (en) * 2021-01-08 2022-12-27 Argo AI, LLC Methods and systems for monitoring vehicle motion with driver safety alerts
WO2022151369A1 (zh) * 2021-01-15 2022-07-21 华为技术有限公司 一种信息处理方法及相关装置
US20220237414A1 (en) * 2021-01-26 2022-07-28 Nvidia Corporation Confidence generation using a neural network
GB2608670A (en) * 2021-01-26 2023-01-11 Nvidia Corp Confidence generation using a neural network
US11733369B2 (en) * 2021-02-11 2023-08-22 Waymo Llc Methods and systems for three dimensional object detection and localization
CN113128338B (zh) * 2021-03-15 2024-02-02 西安理工大学 一种小样本下印刷机滚筒故障的智能诊断方法
KR20220128787A (ko) * 2021-03-15 2022-09-22 현대자동차주식회사 라이다 센서를 이용한 객체 추적 방법 및 장치와, 이 방법을 실행하기 위한 프로그램을 기록한 기록 매체
US11981326B2 (en) * 2021-03-24 2024-05-14 Ford Global Technologies, Llc Object identification with thermal imaging
US11776282B2 (en) * 2021-03-26 2023-10-03 Here Global B.V. Method, apparatus, and system for removing outliers from road lane marking data
EP4064214B1 (de) * 2021-03-26 2024-04-10 Tata Consultancy Services Limited Integriertes tiefenlernmodell für kooperative und kaskadierte inferenz in edge
US20240161461A1 (en) * 2021-04-01 2024-05-16 Boe Technology Group Co., Ltd. Object detection method, object detection apparatus, and object detection system
EP4080388A1 (de) * 2021-04-19 2022-10-26 Privately SA Multimodale dynamische alters- und attributschätzung und lernverfahren und -systeme mit wahrung der privatsphäre
US11899750B2 (en) 2021-04-28 2024-02-13 Ford Global Technologies, Llc Quantile neural network
US11734909B2 (en) * 2021-05-04 2023-08-22 Ford Global Technologies, Llc Machine learning
CN112990157B (zh) * 2021-05-13 2021-08-20 南京广捷智能科技有限公司 一种基于fpga的图像目标识别加速***
US20220398404A1 (en) * 2021-06-09 2022-12-15 Veoneer Us, Inc. System and method to detect proper seatbelt usage and distance
WO2022266101A1 (en) * 2021-06-14 2022-12-22 The Johns Hopkins University Systems, methods, and computer programs for using a network of machine learning models to detect an image depicting an object of interest which can be partially occluded by another object
CN113420651B (zh) * 2021-06-22 2023-05-05 四川九洲电器集团有限责任公司 深度卷积神经网络的轻量化方法、***及目标检测方法
TWI793676B (zh) * 2021-07-15 2023-02-21 國立中山大學 應用於類神經網路之填充架構
CN113343937B (zh) * 2021-07-15 2022-09-02 北华航天工业学院 一种基于深度卷积和注意力机制的唇语识别方法
US11868444B2 (en) 2021-07-20 2024-01-09 International Business Machines Corporation Creating synthetic visual inspection data sets using augmented reality
WO2023009557A1 (en) * 2021-07-30 2023-02-02 Nvidia Corporation Improved inferencing using neural networks
US11532221B1 (en) * 2021-08-05 2022-12-20 Ford Global Technologies, Llc System and method for vehicle security monitoring
WO2023015012A1 (en) * 2021-08-05 2023-02-09 Cyngn, Inc. System and methods of adaptive object-based decision making for autonomous driving
CN113656630A (zh) * 2021-08-17 2021-11-16 北京百度网讯科技有限公司 检索图像的方法、装置和***
US11705006B2 (en) 2021-09-02 2023-07-18 Ford Global Technologies, Llc Systems and methods to issue a warning to an object near a vehicle
US20230072966A1 (en) * 2021-09-03 2023-03-09 Argo AI, LLC Systems and methods for providing and using confidence estimations for semantic labeling
US11967137B2 (en) 2021-12-02 2024-04-23 International Business Machines Corporation Object detection considering tendency of object location
US20230186587A1 (en) * 2021-12-14 2023-06-15 Ford Global Technologies, Llc Three-dimensional object detection
US20230192144A1 (en) * 2021-12-16 2023-06-22 Gm Cruise Holdings Llc Uncertainty prediction for a predicted path of an object that avoids infeasible paths
US20230194692A1 (en) * 2021-12-17 2023-06-22 Gm Cruise Holdings Llc Radar tracking association with velocity matching by leveraging kinematics priors
CN114333431A (zh) * 2021-12-29 2022-04-12 中国航空工业集团公司西安飞机设计研究所 一种飞机辅助驾驶方法及其***
US20230334673A1 (en) * 2022-04-18 2023-10-19 Tata Consultancy Services Limited Fusion-based object tracker using lidar point cloud and surrounding cameras for autonomous vehicles
CN114858200B (zh) * 2022-04-19 2023-06-27 合众新能源汽车股份有限公司 车辆传感器检测到的对象的质量评价方法及装置
US20230358566A1 (en) * 2022-05-05 2023-11-09 Here Global B.V. Method, apparatus, and computer program product for map geometry generation based on object detection
DE102022111625A1 (de) 2022-05-10 2023-11-16 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Erzeugen von Trainingsdaten für ein lidarbasiertes Erkennen von Fremdfahrzeugen und zum Trainieren eines Detektionsmodells sowie Kraftfahrzeug
US20230410530A1 (en) * 2022-05-30 2023-12-21 Ehsan Taghavi Systems and methods for enhancement of 3d object detection using point cloud semantic segmentation and attentive anchor generation
US20230386185A1 (en) * 2022-05-30 2023-11-30 Hanwha Techwin Co., Ltd. Statistical model-based false detection removal algorithm from images
CN114722975B (zh) * 2022-06-08 2022-08-30 山东大学 基于模糊理论和大数据分析的驾驶意图识别方法及***
DE102022207093A1 (de) * 2022-07-12 2024-01-18 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Trainieren eines Algorithmus des maschinellen Lernens zum Zuordnen eines Konfidenzwertes zu jedem von mehreren Objektdetektionsergebnissen
KR102624907B1 (ko) * 2022-07-18 2024-01-15 주식회사 브이알크루 3차원 지도를 업데이트하기 위한 방법 및 장치
CN115265723B (zh) * 2022-09-28 2022-12-13 南通有来信息技术有限公司 基于数据处理的涡街流量计异常监测方法及***
CN115257728B (zh) * 2022-10-08 2022-12-23 杭州速玛科技有限公司 一种用于自动驾驶的盲区风险区检测方法
US20240185719A1 (en) * 2022-12-01 2024-06-06 Caterpillar Inc. Systems and methods for detecting false positives in collision notifications
CN116256721B (zh) * 2023-05-11 2023-07-28 南京隼眼电子科技有限公司 通道场景模式判断方法、***、电子设备及介质
CN117215316B (zh) * 2023-11-08 2024-02-13 四川大学 基于协同控制与深度学习的驾驶环境感知的方法和***
CN117784162B (zh) * 2024-02-26 2024-05-14 安徽蔚来智驾科技有限公司 目标标注数据获取方法、目标跟踪方法、智能设备及介质

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963661B1 (en) 1999-09-09 2005-11-08 Kabushiki Kaisha Toshiba Obstacle detection system and method therefor
ES2391556T3 (es) 2002-05-03 2012-11-27 Donnelly Corporation Sistema de detección de objetos para vehículo
US7068815B2 (en) * 2003-06-13 2006-06-27 Sarnoff Corporation Method and apparatus for ground detection and removal in vision systems
US8164628B2 (en) 2006-01-04 2012-04-24 Mobileye Technologies Ltd. Estimating distance to an object using a sequence of images recorded by a monocular camera
KR20080051302A (ko) 2006-12-05 2008-06-11 삼성전자주식회사 사용자 단말장치 및 영상표시장치 그리고 그들의 광원 조정방법
EP2383679A1 (de) 2006-12-06 2011-11-02 Mobileye Technologies Limited Detektion und Erkennung von Verkehrszeichen
EP2674323B1 (de) 2007-04-30 2018-07-11 Mobileye Vision Technologies Ltd. Erkennung rückseitiger Hindernisse
JP4457136B2 (ja) 2007-09-27 2010-04-28 日立オートモティブシステムズ株式会社 走行制御システム
WO2009076182A1 (en) 2007-12-13 2009-06-18 Clemson University Vision based real time traffic monitoring
KR101626037B1 (ko) 2008-04-14 2016-06-13 구글 인코포레이티드 가상 표면들을 사용하는 패닝
KR101225626B1 (ko) 2010-07-19 2013-01-24 포항공과대학교 산학협력단 차선 인식 시스템 및 방법
US9471988B2 (en) 2011-11-02 2016-10-18 Google Inc. Depth-map generation for an input image using an example approximate depth-map associated with an example similar image
US9225942B2 (en) 2012-10-11 2015-12-29 GM Global Technology Operations LLC Imaging surface modeling for camera modeling and virtual view synthesis
JP6013884B2 (ja) 2012-11-08 2016-10-25 日立オートモティブシステムズ株式会社 物体検出装置及び物体検出方法
US9275308B2 (en) * 2013-05-31 2016-03-01 Google Inc. Object detection using deep neural networks
CN104424466B (zh) * 2013-08-21 2018-05-15 佳能株式会社 对象检测方法、对象检测设备及图像拾取设备
US9373057B1 (en) * 2013-11-01 2016-06-21 Google Inc. Training a neural network to detect objects in images
US9349076B1 (en) * 2013-12-20 2016-05-24 Amazon Technologies, Inc. Template-based target object detection in an image
EP2950175B1 (de) 2014-05-27 2021-03-31 dSPACE digital signal processing and control engineering GmbH Verfahren und Vorrichtung zum Testen eines Steuergerätes
US9811756B2 (en) 2015-02-23 2017-11-07 Mitsubishi Electric Research Laboratories, Inc. Method for labeling images of street scenes
US11630800B2 (en) 2015-05-01 2023-04-18 Nvidia Corporation Programmable vision accelerator
EP3295422B1 (de) 2015-05-10 2020-01-01 Mobileye Vision Technologies Ltd. Strassenprofile entlang eines prognostizierten weges
US10282591B2 (en) 2015-08-24 2019-05-07 Qualcomm Incorporated Systems and methods for depth map sampling
GB2543749A (en) 2015-10-21 2017-05-03 Nokia Technologies Oy 3D scene rendering
US9741125B2 (en) 2015-10-28 2017-08-22 Intel Corporation Method and system of background-foreground segmentation for image processing
US10373019B2 (en) * 2016-01-13 2019-08-06 Ford Global Technologies, Llc Low- and high-fidelity classifiers applied to road-scene images
US10489691B2 (en) * 2016-01-15 2019-11-26 Ford Global Technologies, Llc Fixation generation for machine learning
US9904867B2 (en) * 2016-01-29 2018-02-27 Pointivo, Inc. Systems and methods for extracting information about objects from scene information
US10032067B2 (en) * 2016-05-28 2018-07-24 Samsung Electronics Co., Ltd. System and method for a unified architecture multi-task deep learning machine for object recognition
US10489972B2 (en) 2016-06-28 2019-11-26 Cognata Ltd. Realistic 3D virtual world creation and simulation for training automated driving systems
US10078335B2 (en) 2016-06-28 2018-09-18 Toyota Motor Engineering & Manufacturing North America, Inc. Ray tracing for hidden obstacle detection
CN106295678B (zh) * 2016-07-27 2020-03-06 北京旷视科技有限公司 神经网络训练与构建方法和装置以及目标检测方法和装置
US10127670B2 (en) 2016-09-27 2018-11-13 Xactware Solutions, Inc. Computer vision systems and methods for detecting and modeling features of structures in images
US10289469B2 (en) 2016-10-28 2019-05-14 Nvidia Corporation Reliability enhancement utilizing speculative execution systems and methods
US20180136332A1 (en) 2016-11-15 2018-05-17 Wheego Electric Cars, Inc. Method and system to annotate objects and determine distances to objects in an image
US20180158244A1 (en) 2016-12-02 2018-06-07 Ayotle Virtual sensor configuration
US10670416B2 (en) 2016-12-30 2020-06-02 DeepMap Inc. Traffic sign feature creation for high definition maps used for navigating autonomous vehicles
US10691847B2 (en) 2017-01-13 2020-06-23 Sap Se Real-time damage determination of an asset
US11288595B2 (en) 2017-02-14 2022-03-29 Groq, Inc. Minimizing memory and processor consumption in creating machine learning models
WO2018170074A1 (en) * 2017-03-14 2018-09-20 Starsky Robotics, Inc. Vehicle sensor system and method of use
US10262238B2 (en) 2017-04-13 2019-04-16 Facebook, Inc. Panoramic camera systems
US10460180B2 (en) 2017-04-20 2019-10-29 GM Global Technology Operations LLC Systems and methods for visual classification with region proposals
US10328578B2 (en) 2017-04-21 2019-06-25 X Development Llc Methods and systems for detecting, recognizing, and localizing pallets
US10310087B2 (en) 2017-05-31 2019-06-04 Uber Technologies, Inc. Range-view LIDAR-based object detection
US20180349746A1 (en) * 2017-05-31 2018-12-06 Uber Technologies, Inc. Top-View Lidar-Based Object Detection
US11214273B2 (en) 2017-06-23 2022-01-04 Nvidia Corporation Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system
US20180373980A1 (en) 2017-06-27 2018-12-27 drive.ai Inc. Method for training and refining an artificial intelligence
WO2019028725A1 (en) 2017-08-10 2019-02-14 Intel Corporation CONVOLUTIVE NEURAL NETWORK STRUCTURE USING INVERTED CONNECTIONS AND OBJECTIVITY ANTERIORITIES TO DETECT AN OBJECT
US10339669B2 (en) 2017-08-22 2019-07-02 Here Global B.V. Method, apparatus, and system for a vertex-based evaluation of polygon similarity
US10612932B2 (en) 2017-09-29 2020-04-07 Wipro Limited Method and system for correcting a pre-generated navigation path for an autonomous vehicle
US10579897B2 (en) 2017-10-02 2020-03-03 Xnor.ai Inc. Image based object detection
US10997491B2 (en) 2017-10-04 2021-05-04 Huawei Technologies Co., Ltd. Method of prediction of a state of an object in the environment using an action model of a neural network
US20190129831A1 (en) 2017-10-27 2019-05-02 Uber Technologies, Inc. Autonomous Vehicle Simulation Testing Systems and Methods
US11017550B2 (en) * 2017-11-15 2021-05-25 Uatc, Llc End-to-end tracking of objects
US11062461B2 (en) * 2017-11-16 2021-07-13 Zoox, Inc. Pose determination from contact points
US10762396B2 (en) * 2017-12-05 2020-09-01 Utac, Llc Multiple stage image based object detection and recognition
US20190179979A1 (en) 2017-12-13 2019-06-13 Uber Technologies, Inc. Simulated Sensor Testing
JP6761828B2 (ja) 2018-03-05 2020-09-30 日本電信電話株式会社 柱状物体状態検出装置、柱状物体状態検出方法、柱状物体状態検出処理プログラム
US10157331B1 (en) * 2018-03-08 2018-12-18 Capital One Services, Llc Systems and methods for image preprocessing to improve accuracy of object recognition
WO2019177562A1 (en) 2018-03-15 2019-09-19 Harman International Industries, Incorporated Vehicle system and method for detecting objects and object distance
US11494937B2 (en) 2018-11-16 2022-11-08 Uatc, Llc Multi-task multi-sensor fusion for three-dimensional object detection
US11030476B2 (en) 2018-11-29 2021-06-08 Element Ai Inc. System and method for detecting and tracking objects
US11635767B2 (en) 2019-02-13 2023-04-25 Semyon Nisenzon System and method of using multi-resolution camera clusters input data for controlling autonomous vehicles
US11966673B2 (en) 2020-03-13 2024-04-23 Nvidia Corporation Sensor simulation and learning sensor models with generative machine learning methods

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019213867A1 (de) * 2019-09-11 2021-03-11 Zf Friedrichshafen Ag Hinderniserkennung umfassend ein rekurrentes neuronales Netzwerk
DE102019129463A1 (de) * 2019-10-31 2021-05-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zur Erkennung und Nachverfolgung eines dynamischen Objektes
US11006039B1 (en) 2020-02-13 2021-05-11 Mujin, Inc. Method and system for determining occlusion within a camera field of view
DE102020205896A1 (de) 2020-02-13 2021-08-19 Mujin, Inc. Verfahren und System zur Bestimmung einer Okklusion bzw. Verdeckung innerhalb eines Kamerasichtfelds
US11924559B2 (en) 2020-02-13 2024-03-05 Mujin, Inc. Method and system for determining occlusion within a camera field of view
WO2022194440A1 (de) * 2021-03-16 2022-09-22 Psa Automobiles Sa Verfahren, computerprogramm, steuereinheit sowie kraftfahrzeug zum durchführen einer automatisierten fahrfunktion
DE102021113767A1 (de) 2021-05-27 2022-12-01 Bayerische Motoren Werke Aktiengesellschaft Überwachungseinrichtung und Verfahren zum Überwachen eines Gesamtsystems aus mehreren unterschiedlichen Teilsystemen auf Fehler und Kraftfahrzeug
EP4191274A1 (de) * 2021-12-03 2023-06-07 Aptiv Technologies Limited Radarbasierte schätzung der höhe eines objekts
US11659301B1 (en) 2022-03-28 2023-05-23 e-con Systems India Private Limited System and method for integration of real time data with image frame for image stabilization

Also Published As

Publication number Publication date
WO2019161300A1 (en) 2019-08-22
US11210537B2 (en) 2021-12-28
US20240192320A1 (en) 2024-06-13
US20220101635A1 (en) 2022-03-31
US20190258878A1 (en) 2019-08-22
CN111133447B (zh) 2024-03-19
CN111133447A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
DE112019000049T5 (de) Für autonomes fahren geeignete objekterfassung und erfassungssicherheit
DE112020000369T5 (de) Objekterfassung unter verwendung von verzerrten polygonen, die zur parkplatzerfassung geeignet ist
DE112020002602T5 (de) Multi-objektverfolgung mit hilfe von korrelationsfiltern in videoanalyseanwendungen
DE112020003043T5 (de) Erkennung und klassifizierung von kreuzungsregionen für autonome maschinenanwendungen
DE112019000279T5 (de) Steuern autonomer fahrzeuge anhand sicherer ankunftszeiten
DE112021000135T5 (de) Sensorfusion für anwendungen autonomer maschinen durch maschinelles lernen
DE112019006484T5 (de) Detektion von abständen zu hindernissen in autonomen maschinenanwendungen
DE112019000122T5 (de) Echtzeiterfassung von spuren und begrenzungen durch autonome fahrzeuge
DE112020002126T5 (de) Erkennung von kreuzungsposen in autonomen maschinenanwendungen
DE112020006410T5 (de) Dreidimensionale kreuzungsstrukturvorhersage für anwendungen zum autonomen fahren
DE102020117792A1 (de) Wirksames einsetzen von hindernis- und spurerkennungen, um spurzuweisungen für objekte in einer umgebung zu bestimmen
DE112020000413T5 (de) Detektion von orientierungspunkten unter verwendung von kurvenanpassung für anwendungen für autonomes fahren
DE112019000048T5 (de) Bestimmung eines befahrbaren freiraums für autonome fahrzeuge
DE102021126254A1 (de) Überwachen der Aufmerksamkeit und der kognitiven Belastung der Insassen für autonome und halbautonome Fahranwendungen
DE112020001897T5 (de) Trainieren neuronaler Netze unter Verwendung von Grundwahrheitsdaten, die mit Karteninformationen ergänzt wurden, für autonome Maschinenanwendungen
DE102021100065A1 (de) Verwendung neuronaler netze zur fehlererkennung bei anwendungen für autonomes fahren
DE112020001396T5 (de) Formfusion zur bildanalyse
DE102021123159A1 (de) Adaptiver objektverfolgungsalgorithmus für autonome maschinenanwendungen
DE102019113114A1 (de) Verhaltensgesteuerte wegplanung in autonomen maschinenanwendungen
DE102020100685A1 (de) Vorhersage zeitlicher informationen in autonomenmaschinenanwendungen
DE102021125234A1 (de) Datenerweiterung einschliesslich hintergrundmodifikation für robuste vorhersage mit neuronalen netzwerken
DE112020006181T5 (de) Blickbestimmung mit blendung als eingabe
DE102022121121A1 (de) Objektverfolgung unter Verwendung von LiDAR-Daten für autonome Maschinenanwendungen
DE112021000104T5 (de) Projizieren von mit fischaugenobjektiven aufgenommenen bildern zur merkmalserkennung in autonomen maschinenanwendungen
DE102021133638A1 (de) Bildzusammensetzung in multi-view-automobilsystemen und robotersystemen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009000000

Ipc: G06V0010000000