EP4463831A1 - Verfahren und system zum automatischen annotieren von sensordaten - Google Patents

Verfahren und system zum automatischen annotieren von sensordaten

Info

Publication number
EP4463831A1
EP4463831A1 EP23701249.7A EP23701249A EP4463831A1 EP 4463831 A1 EP4463831 A1 EP 4463831A1 EP 23701249 A EP23701249 A EP 23701249A EP 4463831 A1 EP4463831 A1 EP 4463831A1
Authority
EP
European Patent Office
Prior art keywords
sample
data
sensor data
frames
data points
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
EP23701249.7A
Other languages
English (en)
French (fr)
Inventor
Daniel Rödler
Fabian BOTH
Simon Romanski
Boris Neubert
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.)
Dspace Se & Co Kg
Original Assignee
Dspace GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dspace GmbH filed Critical Dspace GmbH
Publication of EP4463831A1 publication Critical patent/EP4463831A1/de
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • 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/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/894Three-dimensional [3D] imaging with simultaneous measurement of time-of-flight at a two-dimensional [2D] array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/12Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Definitions

  • the present invention relates to methods and computer systems for automatically annotating sensor data frames, in particular data frames from an imaging sensor.
  • annotation service providers who receive the recorded sensor data and break it up into work packages for a variety of human workers, also known as labiers.
  • the exact annotations required depend on each project and are specified in the detailed labeling specification.
  • the customer delivers the raw data to the annotation service provider and expects high-quality annotations according to his specifications in a short time frame.
  • the number of labs needed to complete the annotation project increases as the amount of data supplied increases and increases as the time frame for a fixed amount of data decreases. From this For this reason, larger annotation projects that would provide enough ground truth data to validate an autonomous vehicle, for example, cannot be feasible with human work alone, but require automation of the annotation process.
  • Automation approaches use neural networks to label the recorded sensor data.
  • An initial set of the received data is labeled manually and then used to train neural networks. Once sufficiently trained, the neural networks can annotate the bulk of the image capture sensor data recorded. Compared to a purely manual approach, this reduces the effort considerably.
  • maintaining high annotation quality still requires time-consuming human quality checks. Because the quality assurance process must still be applied to all annotations, there is a linear relationship between project volume and the amount of work required to meet project requirements.
  • the method further includes the steps of receiving corrected annotations for the data points in the first sample, retraining the neural network based on the data points in the first sample, selecting a second sample of one or more data points of the first group that were not in the first sample, annotating the second sample sensor data frames with the post-trained neural network, and determining a quality measure for the data points in the second sample.
  • the method further comprises annotating the remaining first group sensor data frames with the neural network, and exporting the annotated first group sensor data frames.
  • Figure 1 shows an exemplary embodiment of a computer system
  • Figure 2 shows an example of a video frame with a schematic
  • Figure 3 is a schematic diagram of an automation system performing a method according to the invention
  • Figure 4 shows an example of data points that have been grouped into clusters with different quality levels
  • FIG. 5a shows a schematic diagram of a first step in batch processing of sensor data frames
  • FIG. 5c shows a schematic diagram of a third step of a batch processing of sensor data frames
  • FIG. 5d shows a schematic diagram of a fourth step of a batch processing of sensor data frames
  • FIG. 5e shows a schematic diagram of a fifth step of a batch processing of sensor data frames.
  • FIG. 1 illustrates an exemplary embodiment of a computer system.
  • the embodiment shown comprises a host computer PC with a display DIS and user interface devices such as a keyboard KEY and a mouse MOU; furthermore, an external server can be connected via a network, as indicated by a cloud symbol.
  • the "automation engine” a batch of sensor data frames is processed by at least one automation component, which assigns data points to the frames.
  • the automation system generates any type of data point about automation components; Automation components are thus a central part of the workflow of the automation system.
  • the data points are preferably provided with metadata that precisely describe the version of the automation component used.
  • the automation engine includes techniques to concisely store relevant metadata about automation components, such as a dedicated database. Some of the state attributes associated with a data point can be determined by a dedicated automation component.
  • the "context", i. H. the state attributes for a data item may include attributes that are themselves a data item. For example, the accuracy of placing a vertical line may depend on the size of the bounding box in which to draw the line.
  • Weather is another condition attribute that can be used to group the data points, e.g. B. because of the lower contrast and/or distortions of the image caused by water droplets on the camera lens.
  • Other condition attributes may not have a significant impact on data point quality variations and can be ignored; for example, the field of view or the viewing angle of a camera used to record the images can be constant for all images recorded with this camera.
  • the grouping on the basis of value ranges can also take place using a neural network or a machine learning classification model.
  • sample verification passed the system determines whether the quality measure of the sample was above a predefined threshold (indicating sufficient annotation quality). If the automation system determines that this is the case (Yes), the set of frames comprising the selected sample can be exported and delivered to the customer. If this was not the case (No), execution continues in a seventh step.
  • an additional step of targeted data acquisition can be performed.
  • the automation components are improved through many training iterations on an ever-refining dataset that better and better reflects real-world variance over time.
  • a systematic approach can be taken using per-cluster confidence levels or error probabilities to collect data frames for situations where automation results suffer the most. For example, it can happen that the automatic annotation of sensor data frames recorded at night leads to an unacceptable annotation quality.
  • targeted recording of data at night can be carried out be requested in order to achieve an improvement in the training data set of the automation component under these environmental conditions.
  • the annotations can be delivered to the customer.
  • a ninth step "Customer sample review"
  • the customer can review a sample of the exported sensor data frames to ensure that the annotations meet their specifications and meet the required annotation quality. If the customer rejects the group of frames, a sample or the entire group of frames is processed manually in a tenth "correction" step.
  • the ninth and tenth step are optional and can therefore be omitted.
  • a manual annotation of a sample or the entirety of the group of sensor data frames that was rejected by the customer is carried out.
  • the manually annotated frames can be exported for customer review.
  • the manually annotated frames are preferably used for post-training the neural network by feeding the corrected data into the training, validation or test data sets.
  • the relative accuracy of the bounding boxes depends on the size of the object they contain, because large objects are easier to see than small or distant objects.
  • the size of the bounding box also has a significant impact on the accuracy of the vertical line.
  • Other influencing factors on the quality of the annotation with vertical lines can be, for example, the lighting conditions and a degree of occlusion, which can thus represent relevant status attributes.
  • the displayed image sections or recognized vehicles are clustered into three groups for which different error probabilities were predicted or determined.
  • the left column shows examples of Cluster 1, which includes high quality data points (or vertical lines) with a 2% probability of error (Error WS).
  • the middle column shows examples of Cluster 2, which includes data points of medium quality that have an error probability (Error WS) of 8%.
  • Shown in the right column are examples of Cluster 3, which includes low-quality data points that have an error probability (Error WS) of 18%.
  • value ranges can be determined for the relevant status attributes, for example that a degree of occlusion of more than 30% correlates with poor annotation quality.
  • the shape of a cluster can be complex, especially with many relevant state attributes; such a cluster can expediently be described by trained neural networks or a machine learning classification model.
  • the sensor data frames received as input data are divided into batches of a fixed size to enable uniform processing by the automation engine.
  • the figure shows two batches of 500 frames each with sensor data.
  • the automation engine runs an object detection neural network that bounds objects in a frame with bounding boxes.
  • the data points are grouped into cluster A (dotted border) with poor quality and cluster B (dash-dotted border) with good quality of the data points. From a single camera image
  • Figure 5b is a schematic diagram of a second step of batch processing of sensor data frames.
  • a sample check takes place. Using predefined sampling requirements, some data points are sampled. Now there is a manual step of checking and correcting (the other steps can be done fully automatically by a computer), the automation system receives corrected data points for the sample. In the present case, the entire cluster is taken as a sample for the sake of simplicity.
  • cluster A has reached the size threshold for a sample check (indicated by a magnifying glass), whereas cluster B is not initially checked (indicated by an hourglass).
  • cluster B is not initially checked (indicated by an hourglass).
  • 30% of the data points in cluster A had to be corrected (correct eg 30%) in order to reach the desired quality level.
  • 600 corrected data points are available for inclusion in the training data sets.
  • Figure 5c is a schematic diagram of a third step of batch processing of sensor data frames.
  • the example shows that further batches of sensor data frames or camera images were received as input data, with batches 21 and 22 currently being processed.
  • a trigger condition for the sample verification of cluster B is met: a predetermined number of batches (20) have been processed, whereupon all clusters that have not previously been verified have been sampled and verified or analyzed. is to be corrected (correct/terminate all open clusters).
  • Figure 5d is a schematic diagram of a fourth step of batch processing of sensor data frames.
  • FIG. 5e is a schematic diagram of a fifth and final step of batch processing of sensor data frames. As in FIG. 3, a module for data acquisition and a scheduler are also shown here.
  • Batch 1 and batch 2 are shown; a large number of other batches are indicated by three dots.
  • the neural network was retrained. As soon as the desired quality level has been achieved in further random checks, the batches can be delivered with promises regarding the statistical quality (delivery to customers). Significant parts of the annotated sensor data frames can be delivered without manual rework being required for them.
  • the method described can also be used for sensor data frames of a lidar sensor, ie point clouds, or for multi-sensor setups.
  • an independent grouping and correction takes place for the different types of data points.
  • a large proportion of the input data can be automatically annotated once the post-trained neural network is available for the given type of data point.
  • the method according to the invention enables manual work to be applied to the rapid improvement of neural networks, which are then used to create automatic annotations for delivery to the customer.
  • the computing time is used particularly effectively.
  • larger annotation projects, e.g. B. are required for validation, significantly accelerated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Analysis (AREA)

Abstract

Die Erfindung betrifft ein computerimplementiertes Verfahren zum automatischen Annotieren von Sensordatenframes, wie etwa Bild- oder Audio-Frames. Empfangene Sensordatenframes werden annotiert, wobei jedem Sensordatenframe mindestens ein Datenpunkt zugeordnet wird und mindestens eines Zustandsattributs zu jedem Datenpunkt zugeordnet wird. Basierend auf dem mindestens einen Zustandsattribut werden die Datenpunkte gruppiert, wobei Gruppen definierte Wertebereiche des Zustandsattributs umfassen. Aus einer ersten Gruppe wird eine Stichprobe von Datenpunkten ausgewählt und für diese ein Qualitätsmaß bestimmt. Wenn das Qualitätsmaß der ersten Stichprobe unter einem vordefinierten Schwellenwert liegt, wird das neuronale Netz auf Grundlage korrigierter Annotationen für die erste Stichprobe nachtrainiert. Sobald das Qualitätsmaß oberhalb des vordefinierten Schwellenwerts liegt, werden die annotierten Sensordatenframes exportiert.

Description

Verfahren und System zum automatischen Annotieren von Sensordaten
Die vorliegende Erfindung betrifft Verfahren und Computersysteme zum automatischen Annotieren von Sensordatenframes, insbesondere Datenframes von einem Bildaufnahmesensor.
Das autonome Fahren verspricht nie dagewesene Niveaus bei Komfort und Sicherheit im täglichen Verkehr. Trotz enormer Investitionen durch verschiedene Unternehmen sind die bestehenden Ansätze aber nur unter eingeschränkten Verhältnissen anwendbar und/oder sehen nur eine Untermenge von wirklich autonomem Verhalten vor. Ein Grund dafür ist das Fehlen einer genügenden Menge und Vielfalt an verfügbaren Fahrszenarien. Somit werden weitere Fortschritte durch den Bedarf an enormen Mengen ausreichend unterschiedlicher Trainingsdaten sowie Validierungsdaten (d.h. unabhängiger Ground-Truth-Daten) behindert. Die Aufbereitung von Trainingsdaten erfordert allgemein das Aufzeichnen von vielen verschiedenen Fahrtszenarien durch ein Fahrzeug, das mit einem Satz von Sensoren ausgestattet ist, insbesondere Bildaufnahmesensoren, wie etwa einer oder mehreren Kameras, einem Lidar-Sensor und/oder einem Radar-Sensor. Vor dem Verwenden dieser aufgezeichneten Szenarien als Trainingsdaten müssen sie annotiert werden.
Dies wird oft durch Annotationsdienstleister durchgeführt, die die aufgezeichneten Sensordaten empfangen und sie in Arbeitspakete für eine Vielzahl von menschlichen Arbeitskräften aufteilen, die auch als Labeier bezeichnet werden. Die genauen benötigten Annotationen (z.B. die zu unterscheidenden Objektklassen) hängen von jedem Projekt ab und sind in der detaillierten Labeling-Spezifikation angegeben. Der Kunde liefert die Rohdaten an den Annotationsdienstleister und erwartet hochwertige Annotationen gemäß seinen Angaben in einem kurzen Zeitrahmen. Die Anzahl der zum Abschließen des Annotationsprojekts benötigten Labeier erhöht sich mit wachsender Menge gelieferter Daten und erhöht sich mit sich verringerndem Zeitrahmen für eine feste Datenmenge. Aus diesem Grund können größere Annotationsprojekte, die z.B. genug Ground-Truth- Daten zum Validieren eines autonomen Fahrzeugs liefern würden, mit menschlicher Arbeit allein nicht machbar sein, sondern erfordern eine Automatisierung des Annotationsprozesses.
Automatisierungsansätze benutzen neuronale Netze zum Labeln der aufgezeichneten Sensordaten. Ein anfänglicher Satz der empfangenen Daten wird manuell gelabelt und dann benutzt, um neuronale Netze zu trainieren. Sobald sie ausreichend trainiert sind, können die neuronalen Netze die Masse der aufgezeichneten Bildaufnahmesensordaten annotieren. Verglichen mit einem rein manuellen Ansatz reduziert dies den Aufwand beträchtlich. Jedoch erfordert das Einhalten einer hohen Annotationsqualität immer noch zeitaufwendige Qualitätsüberprüfungen durch Menschen. Da der Qualitätssicherungsprozess immer noch bei allen Annotationen angewendet werden muss, besteht eine lineare Beziehung zwischen dem Projektvolumen und dem zum Erfüllen von Projektanforderungen nötigen Arbeitsaufwand.
Somit werden verbesserte Verfahren zum automatischen Annotieren von Sensordaten, insbesondere Bildaufnahmesensordaten, benötigt; es wäre besonders wünschenswert, eine hohe Annotationsqualität mit einer reduzierten Anzahl manueller Qualitätsüberprüfungen sicherzustellen.
Es ist ein Ziel der vorliegenden Erfindung, Verfahren und Computersysteme zum automatischen Annotieren von Sensordatenframes, insbesondere Videoframes oder Lidar-Punktwolken, bereitzustellen.
In einem ersten Aspekt der Erfindung wird ein computerimplementiertes Verfahren zum automatischen Annotieren von Sensordatenframes bereitgestellt; das Verfahren umfasst die Schritte Empfangen einer Vielzahl von Sensordatenframes, Annotieren der Vielzahl von Sensordatenframes unter Verwendung mindestens eines neuronalen Netzes, wobei das Annotieren das Zuordnen mindestens eines Datenpunkts zu jedem Sensordatenframe und mindestens eines Zustandsattributs zu jedem Datenpunkt umfasst, Gruppieren der Datenpunkte basierend auf dem mindestens einen Zustandsattribut, wobei eine erste Gruppe Datenpunkte umfasst, für die das mindestens eine Zustandsattribut in einem definierten Wertebereich liegt, Auswahlen einer ersten Stichprobe von einem oder mehreren Datenpunkten aus der ersten Gruppe und Bestimmen eines Qualitätsmaßes für die Datenpunkte in der ersten Stichprobe. Wenn der Computer feststellt, dass das Qualitätsmaß der ersten Stichprobe unter einem vordefinierten Schwellenwert liegt, umfasst das Verfahren ferner die Schritte Empfangen korrigierter Annotationen für die Datenpunkte in der ersten Stichprobe, Nachtrainieren des neuronalen Netzes auf der Grundlage der Datenpunkte in der ersten Stichprobe, Auswählen einer zweiten Stichprobe von einem oder mehreren Datenpunkten der ersten Gruppe, die nicht in der ersten Stichprobe waren, Annotieren der Sensordatenframes der zweiten Stichprobe mit dem nachtrainierten neuronalen Netz und Bestimmen eines Qualitätsmaßes für die Datenpunkte in der zweiten Stichprobe. Sobald der Computer feststellt, dass das Qualitätsmaß der ersten oder zweiten Stichprobe über einem vordefinierten Schwellenwert liegt, umfasst das Verfahren weiterhin Annotieren der verbleibenden Sensordatenframes der ersten Gruppe mit dem neuronalen Netz, und Exportieren der mit Annotationen versehenen Sensordatenframes der ersten Gruppe.
Das Computersystem, welches das erfindungsgemäße Verfahren ausführt, kann als ein einzelner Host-Computer realisiert sein, der einen Prozessor, z. B. einen Allzweck-Mikroprozessor, einen Bildschirm und ein Eingabegerät umfasst. Alternativ kann das Computersystem auch einen oder mehrere Server umfassen, die eine Vielzahl von Verarbeitungselementen wie Prozessorkerne oder dedizierte Beschleuniger aufweisen, wobei die Server über ein Netzwerk mit einem Client verbunden sind, der einen Bildschirm und ein Eingabegerät umfasst. Auf diese Weise kann die Annotierung bzw. die Automatisierungssoftware, welche Komponenten zum automatischen Annotieren umfasst, teilweise oder vollständig auf einem entfernten Server ausgeführt werden, beispielsweise in einer Cloud- Computing-Umgebung, so dass nur eine grafische Benutzeroberfläche lokal ausgeführt werden muss.
Ein Datenpunkt kann ein Objekt oder ein Feature in einem Sensordatenframe, insbesondere einem Bild oder einer Lidar-Punktwolke, beschreiben oder eine Eigenschaft des Sensordatenframes angeben. Die Überprüfung eines Datenpunkts erfolgt zweckmäßigerweise an dem Sensordatenframe, der das mit dem Datenpunkt verbundene Objekt oder Feature enthält bzw. die Eigenschaft aufweist. Ein Sensordatenframe kann mehrere Datenpunkte umfassen, und die Überprüfung eines ersten Datenpunkts in einem Sensordatenframe kann unabhängig von der Prüfung eines zweiten Datenpunkts in dem Sensordatenframe durchgeführt werden. Beispielsweise kann ein Objekt in einem Kamerabild mit Datenpunkten in Form einer Begrenzungsbox und einer Klasse des Objekts annotiert werden; je nach Klasse des Objekts wie insbesondere einem Personenkraftwagen kann dieses auch mit weiteren Attributen wie einem Blinkerzustand als Datenpunkt annotiert werden. Die Anzahl zugeordneter Datenpunkte kann von dem Inhalt des Sensordatenframes abhängen, so dass auch ein leerer Sensordatenframe auftreten kann, welchem kein Datenpunkt zugeordnet wird. Dieser leere Sensordatenframe würde dann in der weiteren Bearbeitung ignoriert. Ein solches Ignorieren leerer Sensordatenframes soll in dem Zuordnen mindestens eines Datenpunkts zu jedem Sensordatenframe umfasst sein.
Ein Zustandsattribut kann die Umgebungsbedingungen oder allgemeiner die Umstände beschreiben, die bei der Aufzeichnung eines Objekts oder Features herrschten, welchem der Datenpunkt zugeordnet wird. Bei dem Zustandsattribut kann es sich um ein statisches Zustandsattribut handeln, das insbesondere Umgebungsbedingungen beschreibt, die zur Zeit der Aufzeichnung bestanden. Eine während des Aufzeichnens des Frames bestehende Umgebungsbedingung, kann je nach Typ des Datenpunkts einen unterschiedlichen Einfluss auf die Genauigkeit der Annotationen haben. Allgemein kann bei Annotationen, die mehrere Datenpunkte umfassen, der Einfluss eines Zustandsattributs je nach Datenpunkt bzw. Typ des Datenpunkts unterschiedlich sein. Wenn die Sensordaten beispielsweise bei Nacht aufgenommene Kamerabilder umfassen, kann die Position und/oder Klasse eines Objekts schwieriger zu bestimmen sein. Jedoch kann ein Attribut eines Autos, wie etwa der Zustand eines Blinkers, bei Nacht unter Umständen leichter wahrgenommen werden als bei vollem Tageslicht. Bei dem Zustandsattribut kann es sich auch um ein dynamisches Zustandsattribut handeln, das im Rahmen der Annotierung mittels eines neuronalen Netzes ermittelt wurde - und auch ein eigenständiger Datenpunkt sein kann. Eines oder mehrere der Zustandsattribute eines Typs von Datenpunkten können Zustandsattribute eines anderen Typs von Datenpunkten sein. Auch unter denseiben Umgebungsbedingungen kann beispielsweise ein weit entferntes Objekt schwieriger zu erkennen sein, was sowohl die Klassifizierung erschwert als auch die Genauigkeit einer Begrenzungsbox limitiert. Auf die Qualität der Annotation eines zweiten Objekts hat die Größe des ersten Objekts keinen Einfluss (eine eventuelle Verdeckung des zweiten Objekts aber durchaus).
Durch das Gruppieren von Datenpunkten auf Basis mindestens eines Zustandsattributs, können mögliche Korrelationen zwischen Zustandsattributen und der Genauigkeit der Annotation berücksichtigt werden. Das Gruppieren der Datenpunkte kann für verschiedene Arten bzw. Typen von Datenpunkten unabhängig voneinander vorgenommen werden. Die Zustandsattribute können sich von einem Datenpunkttyp zu einem anderen Datenpunkttyp unterschiedlich auswirken, so dass die einzelnen Datenpunkte eines bestimmten Typs vorzugsweise zusammen gruppiert werden, während verschiedene Datenpunkttypen vorzugsweise nach unterschiedlichen Kriterien gruppiert werden. Die Erfindung ermöglicht es, statische und dynamische Zustandsattribute zu identifizieren, die sich negativ auf die Annotationsqualität auswirken, und das neuronale Netz unter diesen Bedingungen durch selektives Nachtrainieren zu verbessern. Außerdem wird es möglich, manuelle Korrektur- und Qualitätsüberprüfungsaufwände zu reduzieren. Der Begriff neuronales Netz kann sich auf ein einzelnes neuronales Netz, eine Kombination verschiedener neuronaler Netze gemäß einer vorgegebenen Architektur oder auf jede Art von auf maschinellem Lernen basierender Technologie beziehen, die aus Trainingsdaten auf überwachte, halbüberwachte oder nicht überwachte Weise lernt. Für verschiedene Datenpunkte können verschiedene neuronale Netze verwendet werden; die Objektposition und/oder -klassifizierung kann mit einem ersten neuronalen Netz bestimmt werden, während Attribute des Objekts mit mindestens einem weiteren neuronalen Netz bestimmt werden können.
Die vorliegende Erfindung basiert auf der Überlegung, dass in vielen Fällen die Qualität der verschiedenen Bestandteile einer Annotation systematisch unterschiedlich ist. Zum Beispiel könnte eine Annotation aus einer zweidimensionalen Begrenzungsbox, einer Objektklasse und anderen Attributen wie z.B. einem Blinker-Status bestehen. Während die Qualität z.B. für die Objektklasse in Ordnung ist, kann es vorkommen, dass die Positionierung der Begrenzungsbox korrigiert werden muss. Ein einzelner Datenpunkt stellt somit die kleinste Einheit einer Annotation dar, deren Qualität unabhängig von anderen Bestandteilen der Annotation ermittelbar ist. Hierbei ist es zweckmäßig, zwischen verschiedenen Typen von Datenpunkten zu unterscheiden: Eine Begrenzungsbox beschreibt grundlegend andere Eigenschaften eines Objekts als z.B. ein Attribut wie der Blinker-Status. Dadurch kann sich ein Zustandsattribut in unterschiedlicher Weise auf die Qualität unterschiedlicher Typen von Datenpunkten auswirken, und manche Zustandsattribute auf einen Typ von Datenpunkt keinen Einfluss haben, während sie für andere Typen von Datenpunkten entscheidend sind. Durch die Zerlegung einer komplexen Annotation in einzelne Datenpunkte wird es möglich, den Einfluss von Zustandsattributen auf die Qualität von Annotationen feingranular zu bestimmen und dies auch bei der Korrektur zu berücksichtigen.
Die Schritte Auswählen einer zweiten Stichprobe von einem oder mehreren Datenpunkten der ersten Gruppe, die nicht in der ersten Stichprobe waren, und Annotieren der Sensordatenframes der zweiten Stichprobe mit dem nachtrainierten neuronalen Netz können ausgetauscht werden. So kann beispielsweise eine ganze Charge von Sensordatenframes mit dem nachtrainierten Netz annotiert werden, bevor eine zweite Stichprobe ausgewählt wird.
Besonders dann, wenn das neuronale Netz mehrfach nachtrainiert werden muss, verringert sich die Rechenlast, da jeweils nur die Datenpunkte der zweiten bzw. weiteren Stichprobe mit dem nachtrainierten Netz annotiert werden müssen. Für den Großteil von Sensordatenframes kann die Annotierung aufgeschoben werden, bis bei der Probenüberprüfung festgestellt wird, dass das nachtrainierte Netz Annotationen mit hinreichend guter Qualität liefert.
Das Exportieren der annotierten Frames kann beispielsweise ein Speichern der Frames auf einem externen Datenträger und/oder ein Konvertieren bzw. Zusammenfassen in ein vorgegebenes Datenformat umfassen. Durch die feine Granularität der Datenpunkte wäre prinzipiell auch eine Auslieferung von teilweise annotierte Sensordatenframes möglich. Der besseren Übersichtlichkeit halber kann es vorteilhaft sein, erst dann Sensordatenframes an Kunden auszuliefern, wenn für alle vorkommenden Typen von Datenpunkten ein hinreichend nachtrainiertes neuronales Netz verfügbar ist - und somit die Sensordatenframes vollständig annotiert werden können.
Weil manuelle Arbeit zumindest größtenteils nur zum Erstellen von Trainings-, Test- und/oder Validierungsdaten zum systematischen Verbessern des neuronalen Netzes oder einer anderen auf maschinellem Lernen basierten Automatisierungskomponente für die Annotation der Sensordatenframes verwendet wird, kann der Aufwand für große Annotationsprojekte beträchtlich reduziert werden. Typischerweise genügt nach einigen Iterationen des Nachtrainierens des neuronalen Netzes das Qualitätsniveau für ein Liefern von Automatisierungsergebnissen, d.h. Annotationen durch das neuronale Netz, ohne dass weitere manuelle Überprüfungen notwendig sind. Diese können aber mit einer, vorzugsweise kleinen, vom Datenvolumen unabhängigen Stichprobengröße weiterhin erfolgen. Das erfindungsgemäße Verfahren reduziert ferner den notwendigen manuellen Aufwand und die Zeit durch ein Fokussieren des Nachtrainings auf diejenigen Bedingungen, bei denen es noch an Annotationsqualität mangelt.
Als Qualitätsmaß kann beispielsweise eine Flächenüberdeckung zwischen einer automatisch erstellten Begrenzungsbox und einer manuell im Rahmen der Qualitätskontrolle erstellten oder angepassten Begrenzungsbox herangezogen werden. Auch kann eine maximale Anzahl und/oder ein maximaler Anteil falsch zugeordneter Objektklassen und/oder false positives und/oder false negatives gefordert werden. Das Qualitätsmaß wäre dann beispielsweise unterhalb des vordefinierten Schwellenwerts, wenn die Begrenzungsboxen eine zu geringe Überdeckung haben. Als Qualitätsmaß kann auch vorgegeben sein, dass in einer Stichprobe aus einer vorgegebenen Anzahl von Frames maximal eine vorgegebene Anzahl von false positives bzw. fälschlich erkannter Objekte und/oder false negatives bzw. fälschlich nicht erkannter Objekte auftreten darf. Das Qualitätsmaß wäre dann beispielsweise unterhalb des vordefinierten Schwellenwerts, wenn die maximal erlaubte Anzahl nicht erkannter Objekte in der Stichprobe überschritten wurde. Bei der Bestimmung des Qualitätsmaßes können auch kombinierte Bedingungen herangezogen werden, beispielsweise durch gewichtetes Zusammenfassen von Einzelwerten.
Wenn der Computer feststellt, dass das Qualitätsmaß der zweiten Stichprobe unter einem vordefinierten Schwellenwert liegt, umfasst das Verfahren vorzugsweise die weiteren Schritte Empfangen korrigierter Annotationen für die Datenpunkte in der aktuell überprüften Stichprobe, Nachtrainieren des neuronalen Netzes auf der Grundlage der Datenpunkte in der aktuell überprüften Stichprobe, Auswählen einer weiteren Stichprobe von einem oder mehreren Datenpunkten der ersten Gruppe, die nicht Teil einer vorherigen Stichprobe waren, Annotieren der Sensordatenframes der weiteren Stichprobe mit dem neuronalen Netz und Bestimmen eines Qualitätsmaßes für die Datenpunkte der weiteren Stichprobe. Die weiteren Schritte werden zweckmäßigerweise so lange wiederholt, bis der Computer feststellt, dass das Qualitätsmaß für die Frames in der weiteren Stichprobe über dem vordefinierten Schwellenwert liegt oder keine Sensordatenframes mit unkorrigierten Datenpunkten für die Stichprobe übrig bleiben. Sobald das Qualitätsmaß für die Sensordatenframes einer Stichprobe über dem vordefinierten Schwellenwert liegt, umfasst das Verfahren ferner die Schritte Annotieren der verbleibenden Sensordatenframes der ersten Gruppe mit dem - dann hinreichend nachtrainierten - neuronalen Netz, und Exportieren der annotierten Sensordatenframes der ersten Gruppe. Dieses Vorgehen ermöglicht eine schnelle Verbesserung des neuronalen Netzes durch eine begrenzte Anzahl von Iterationen.
Vorzugsweise umfasst der Schritt des Empfangens einer Vielzahl von Sensordatenframes einen Schritt des Vorverarbeitens der Sensordatenframes, wobei mindestens ein Zustandsattribut durch ein dediziertes neuronales Netz auf Grundlage des Frames bestimmt wird, und/oder mindestens eins der Zustandsattribute auf der Grundlage zusätzlicher Sensordaten bestimmt wird, die gleichzeitig mit dem Sensordatenframe aufgezeichnet wurden. Mit einem dedizierten neuronalen Netz ist insbesondere ein speziell für die jeweilige Fragestellung trainiertes neuronales Netz gemeint. Die zusätzlichen Sensordaten können kombiniert und/oder für Anfragen bei verschiedenen Diensten verwendet werden, die z.B. die Wetterbedingungen, einen auf der Zeit und dem geografischen Ort beruhenden Typ von Beleuchtungsbedingungen angeben.
In einer Ausführungsform sind die Sensordatenframes Bilddatenframes, umfassen also Daten eines bildgebenden Sensors, wie etwa einer oder mehreren Kameras, einem Lidar-Sensor und/oder einem Radar-Sensor. Die empfangenen Sensordaten können auch zusätzliche Sensordaten umfassen, die gleichzeitig mit den Bilddatenframes aufgezeichnet wurden, wie etwa eine GPS-Position, eine Beschleunigung des Fahrzeugs oder Daten von einem Regensensor. Für Bilddatenframes ist das Zustandsattribut vorzugsweise ein geographischer Ort, eine Tageszeit, eine Wetterbedingung, eine Sichtbedingung, ein Straßentyp, ein Abstand zu einem Objekt und/oder eine Verkehrsdichte, eine Größe einer Begrenzungsbox, ein Ausmaß einer Verdeckung und/oder Abschneidung, eine Ego-Fahrzeuggeschwindigkeit, ein Kameraparameter, ein Farbbereich und/oder ein Kontrastmaß eines von einer Begrenzungsbox umfassten Bereichs, eine Fahrtrichtung des Ego-Fahrzeugs, oder umfasst astronomische Informationen wie die Sonnenposition relativ zur Fahrtrichtung des Ego-Fahrzeugs. Der Abstand zu einem Objekt kann ein Abstand zu dem nächstgelegenen Objekt, ein Abstand zu einem fernsten Objekt oder ein durchschnittlicher Abstand zu einer Vielzahl von in dem Frame erkannten Objekten sein; durch ein Berücksichtigen des Abstands eines Objekts als eine Umgebungsbedingung beim Aufzeichnen kann der Einfluss auf die Objekterfassungs- und/oder Klassifizierungsleistung eines neuronalen Netzes quantifiziert werden. Der mindestens eine Datenpunkt umfasst für Bilddatenframes vorzugsweise eine Position eines Objekts, eine Klasse eines Objekts, Koordinaten einer Begrenzungsbox, Koordinaten einer Linie, eine Abschneidung eines Objekts, eine Verdeckung eines Objekts, eine Korrelation eines Objekts in dem Bilddatenframe mit einem Objekt in einem vorhergehenden oder nachfolgenden Bilddatenframe (als Ergebnis eines Trackings des Objekts) und/oder eine Aktivierung eines Lichtindikators, wie eines Blinkers oder eines Bremslichts. Die Anzahl von Datenpunkten kann vom Inhalt des Bilddatenframes abhängen, beispielsweise vielen Autos und Fußgängern in einer Großstadtszene mit einer entsprechenden Anzahl von Objektpositionen, Objektklassifizierungen und möglichen Attributen für die entsprechende Objektklasse. Für einen Fußgänger könnten beispielsweise die Kleidung, die Pose, und/oder die Blickrichtung zusätzliche Attribute bzw. Datenpunkte darstellen.
In einer Ausführungsform sind die empfangenen Sensordatenframes Audioframes, umfassen also Daten eines Audiosensors wie eines Mikrofons. Für Audioframes ist das Zustandsattribut vorzugsweise ein geografischer Ort, ein Geschlecht und/oder ein Alter einer Sprecherin/eines Sprechers, eine Raumgröße und/oder ein Maß von Hintergrundgeräuschen. Für Audio-Frames umfasst der mindestens eine Datenpunkt ein Phonem und/oder eines oder mehrere Wörter, eines aus dem Audio-Frame erkannten Texts. Wörter können aus einer Vielzahl von nachfolgenden Audio-Frames erkannt werden, sodass ein Datenpunkt aus einer Vielzahl von Audio-Frames abgeleitet werden kann. Die Schwierigkeit beim Erkennen von Sprache kann z.B. vom Frequenzbereich abhängen, den eine Sprecherin/ein Sprecher hervorbringt, vom Vorliegen von Hall oder Echo aus dem Raum und/oder von einem Niveau vorhandener Hintergrundgeräusche.
Bevorzugt umfasst das Gruppieren der Vielzahl von Datenpunkten eine Bestimmung von Clustern in einem mehrdimensionalen Raum, insbesondere unter Verwendung eines Nearest-Neighbor-Algorithmus und/oder eines Unsupervised-Learning-Ansatzes und/oder eines Machine- Learning Klassifikationsmodells. Vorzugsweise werden Datenpunkte eines Typs durch das Machine-Learning Klassifikationsmodell genau einem von mindestens zwei Clustern zugeordnet, welche unterschiedliche erwartete Qualitätslevel aufweisen. Die Zuordnung zu einem Cluster kann durch Klassifikation oder Gruppierung in einem mehrdimensionalen Raum, der durch eine Anzahl von Zustandsattributen aufgespannt wird, geschehen. Anhand der kombinierten statischen und dynamischen Zustandsattribute können die einzelnen Datenpunkte somit verschiedenen Clustern zugeordnet werden. Es kann aber auch vorgesehen sein, alle oder eine vorgegebene Menge von Zustandsattributen als Kontext der Datenpunkte zu nutzen, um zu bestimmen, welche Zustandsattribute einen merklichen Einfluss auf die Qualität der Datenpunkte dieses Typs haben.
In einer Ausführungsform umfasst das Annotieren der Sensordatenframes das Zuordnen mindestens eines Datenpunktes eines ersten Typs und mindestens eines Datenpunktes eines zweiten Typs zu den einzelnen Sensordatenframes umfasst. Besonders bevorzugt werden Datenpunkte des ersten Typs auf der Grundlage des Bestimmens von Clustern in einem ersten mehrdimensionalen Raum gruppiert, und Datenpunkte des zweiten Typs werden auf der Grundlage des Bestimmens von Clustern in einem zweiten mehrdimensionalen Raum gruppiert werden, wobei der mehrdimensionale Raum für einen Datenpunkt durch eine Anzahl von Zustandsattributen aufgespannt wird. Hierbei kann es sich um ein dem Typ von Datenpunkten zugeordnetes Zustandsattribut handeln, es kann aber auch vorgesehen sein, alle oder eine vorgegebene Menge von Zustandsattributen als Kontext der Datenpunkte zu nutzen und anhand des Bestimmens von Clustern zu ermitteln, welche Zustandsattribute einen merklichen Einfluss auf die Qualität der Datenpunkte dieses Typs haben.
Bevorzugt wird die erste Gruppe auf der Grundlage eines ersten Clusters definiert, für den das mindestens eine Zustandsattribut in einem ersten definierten Wertebereich liegt, und eine zweite Gruppe wird auf der Grundlage eines zweiten definierten Wertebereichs definiert, wobei der erste Wertebereich und der zweite Wertebereich für mindestens ein Zustandsattribut und/oder alle Zustandsattribute, die jedem Datenpunkt zugeordnet sind, disjunkt sind. Prinzipiell kann auch eine Einteilung in eine größere Anzahl von Clustern erfolgen.
Bevorzugt wird die Fehlerwahrscheinlichkeit, und damit die Qualitätsstufe eines Clusters, basierend auf den Datenpunkten eines Clusters durch Stichproben festgestellt. Beispielsweise könnte ein erster Datenpunkt einem ersten Cluster und ein zweiter Datenpunkt einem zweiten Cluster zugeordnet sein. Durch eine Stichprobe würde in diesem Beispiel die Qualitätsstufe des ersten Clusters mit hundert Prozent und des zweiten Clusters mit Null Prozent ermittelt (bzw. die entsprechenden inversen Fehlerwahrscheinlichkeiten). Durch statistische Verfahren kann die Stichprobengröße während der Messung dynamisch angepasst und Qualitätsprognosen von früheren Messungen des gleichen Clusters eingebracht werden. Ziel ist hierbei, durch iteratives Verbessern des automatisierten Labelings, die Qualitätsstufen der verschiedenen Cluster mit minimalem manuellen Prüf- und Korrekturaufwand über einen gewünschten Schwellwert zu heben. Für eine Cluster mit einer höheren Fehlerwahrscheinlichkeit bzw. schlechteren Qualität werden vorzugsweise mehr Stichproben genommen und mehr Datenpunkte zum Nachtrainieren korrigiert. Besonders bevorzugt wird eine Fehlerwahrscheinlichkeit für jeden Datenpunkt basierend darauf bestimmt, ob der Datenpunkt in der ersten oder der zweiten Gruppe ist. Es erfolgt somit eine Prognose der Qualitätsstufe: Anhand der kombinierten statischen und dynamischen Zustandsattribute können die einzelnen Datenpunkte in verschiedene Qualitätsstufen eingeteilt werden. Für Datenpunkte in der Gruppe mit der höheren Fehlerwahrscheinlichkeit bzw. schlechteren Qualität werden vorzugsweise mehr Stichproben genommen.
Wenn das Annotieren von Sensordatenframes mit einem ersten Typ von Datenpunkten basierend auf einem ersten neuronalen Netz erfolgt, und das Annotieren von Sensordatenframes mit einem zweiten Typ von Datenpunkten basierend auf einem zweiten neuronalen Netz erfolgt, werden zweckmäßigerweise die weiteren Verfahrensschritte für die Datenpunkte des ersten Typs und die weiteren Verfahrensschritte für die Datenpunkte des zweiten Typs unabhängig voneinander durchgeführt. Das Ermitteln von Qualitätsniveaus bzw. eine statistische Qualitätsanalyse kann für verschiedene Datentypen unterschiedliche Fehlerverteilungen ergeben. Durch die unabhängige Bearbeitung werden Fehlerkorrektur und Nachtrainieren für den jeweiligen Typ von Datenpunkte gezielt durchgeführt und können jeweils auf den konkret benötigten Umfang beschränkt werden.
Vorzugsweise hängt die Auswahl von Frames für die erste Stichprobe von den Datenpunkten ab, für die das Qualitätsmaß zu bestimmen ist, insbesondere eine zufällige Auswahl einzelner Frames für die Objektdetektion und/oder eine zufällige Auswahl von Chargen aufeinanderfolgender Frames für das Objekt-Tracking. Durch ein Anwenden einer intelligenten Strategie zur Stichprobenentnahme wird die durch Nachtrainieren erzielbare Verbesserung maximiert. Ein Objektdetektor, wie etwa zur Verkehrszeichen-Erkennung, profitiert von Trainingsdaten hoher Varianz, sodass eine zufällige Auswahl einzelner Frames eine nützliche erste Stichprobe ist. Andererseits profitiert eine Tracking-Komponente von fortlaufenden Daten, da nur dann ein Tracking desselben Objekts zwischen aufeinanderfolgenden Frames stattfinden kann. In diesem Fall würde als Stichprobe zweckmäßigerweise zufällig eine Reihe aufeinanderfolgender Frames - beispielsweise immer 10 - für eine Vielfalt von Objekten ausgewählt. Als Beispiel würde eine intelligente Probenentnahme die Frames 10 bis 20 sowie die Frames 100 bis 110 und 235 bis 245 für die erste Stichprobe nehmen, wenn sie ein Qualitätsmaß für eine Tracking- Komponente bestimmt. Um eine hohe Varianz in der Stichprobe zu erhalten, kann die Softwarekomponente, die die Probennahme durchführt, einen zeitlichen Mindestabstand zwischen Stichproben vorschreiben, um sicherzustellen, dass verschiedene Frames unter unterschiedlichen Umgebungsbedingungen aufgenommen wurden. Zusätzlich oder alternativ können ein oder mehrere Attribute bei der Probennahme berücksichtigt werden. Wenn beispielsweise eine Stichprobe zum Quantifizieren der Fähigkeiten des Objektdetektors bei Nacht ausgewählt wird, können verschiedene Umgebungen, wie etwa Großstadt, Land oder Autobahn vorgeschrieben werden. Die zufällige Auswahl würde dann zwischen allen Stichproben durchgeführt werden, die das vorgeschriebene Kriterium erfüllen.
Vorzugsweise werden ein Annotieren von Sensordaten und ein Aufzeichnen von Sensordaten abwechselnd oder gleichzeitig durchgeführt, und wenn ermittelt wird, dass das Qualitätsmaß für mindestens einen Frame in der ersten Stichprobe unterhalb eines vordefinierten Schwellenwerts liegt, fordert der Computer das Aufzeichnen zusätzlicher Sensordaten an, für die das mindestens eine Bedingungsattribut in dem gewählten Wertebereich des ersten Pakets liegt. Ein Wertebereich des Bedingungsattributs kann gewählt werden, indem ein Testfahrzeug mit einer automatisierten Aufzeichnungsvorrichtung ausgestattet wird, die ein Auswahlprogramm ausführt, das eine Aufzeichnung auslöst, sobald eine vordefinierte Aufzeichnungsbedingung erfüllt ist, oder durch ein Auffordern eines Testfahrers, unter bestimmten Bedingungen zu fahren, z.B. bei Nacht. Somit werden neue Daten zumindest primär für diejenigen Umgebungsbedingungen aufgezeichnet, für die das neuronale Netz weiteres Training benötigt. Durch ein sorgfältiges Wählen von Trainingsdaten wird die Verbesserung pro Trainingsaufwand maximiert. Somit werden die für das Training benötigte Rechenzeit und auch der Energieverbrauch verringert.
In einer Ausführungsform umfasst das Empfangen von korrigierten Annotationen für einen Datenpunkt das Empfangen einer Vielzahl von vorläufigen Annotationen und die Ermittlung einer korrigierten Annotation basierend auf der Vielzahl von vorläufigen Annotationen, insbesondere eine Auswahl anhand eines Mittelwerts oder einer Mehrheitsentscheidung. Für Datenpunkte vom Typ Begrenzungsbox können die Mittelwerte mehrerer Werte für die Koordinaten und/oder die Größe der Begrenzungsbox berechnet werden. Für andere Typen kann eine Mehrheitsentscheidung besser geeignet sein. Um eine höhere Qualität der Annotationen zu erreichen, können also von mehreren Labeiern vorläufige Annotationen bzw. partielle Annotationen erstellt werden, auf deren Grundlage die Ground Truth ermittelt wird. Dies ist besonders für Annotationen der ersten Chargen von Sensordatenframes vorteilhaft, da es auch eine Überprüfung der Labeling-Spezifikation ermöglicht.
Ein Aspekt der Erfindung betrifft auch ein nichtflüchtiges computerlesbares Medium, enthaltend Anweisungen, die, wenn sie durch einen Mikroprozessor eines Computersystems ausgeführt werden, das Computersystem veranlassen, das erfindungsgemäße Verfahren wie oben oder in den angefügten Ansprüchen beschrieben auszuführen.
In einem weiteren Aspekt der Erfindung ist ein Computersystem vorgesehen, das einen Host-Computer umfasst, der einen Prozessor, einen Arbeitsspeicher, eine Anzeige, eine Vorrichtung für menschliche Eingabe und einen nichtflüchtigen Speicher, insbesondere eine Festplatte oder ein Festkörperlaufwerk, umfasst. Der nichtflüchtige Speicher enthält Anweisungen, die, wenn sie durch den Prozessor ausgeführt werden, das Computersystem veranlassen, das erfindungsgemäße Verfahren auszuführen. Der Prozessor kann ein Universal-Mikroprozessor sein, der üblicherweise als die Zentraleinheit eines Personal Computers verwendet wird, oder er kann ein oder eine Vielzahl von Verarbeitungselementen umfassen, die ausgelegt sind zum Ausführen spezieller Berechnungen, wie etwa einen Grafikprozessor. In alternativen Ausführungsformen der Erfindung kann der Prozessor durch eine programmierbare Logikvorrichtung ersetzt oder ergänzt werden, wie etwa einen FPGA, der dazu konfiguriert ist, einen festen Funktionsumfang bereitzustellen, und/oder einen IP-Core- Mikroprozessor umfassen kann.
Die Erfindung wird nachfolgend unter Bezugnahme auf die Zeichnungen näher erläutert. Hierbei werden gleichartige Teile mit identischen Bezeichnungen beschriftet. Die dargestellten Ausführungsformen sind stark schematisiert, d.h. die Abstände und die lateralen und die vertikalen Abmessungen sind nicht maßstäblich und weisen, sofern nicht anders angegeben, auch keine ableitbaren geometrischen Relationen zueinander auf.
Darin zeigt:
Figur 1 eine beispielhafte Ausführungsform eines Computersystems, Figur 2 ein Beispiel eines Video-Frames mit einem schematischen
Diagramm möglicher Datenpunkte in dem Einschub links oben, Figur 3 ein schematisches Diagramm eines Automatisierungssystems, das ein Verfahren gemäß der Erfindung durchführt,
Figur 4 ein Beispiel für Datenpunkte, die in Clustern mit unterschiedlichen Qualitätsstufen gruppiert wurden,
Figur 5a ein schematisches Diagramm eines ersten Schritts einer chargenweisen Bearbeitung von Sensordatenframes,
Figur 5b ein schematisches Diagramm eines zweiten Schritts einer chargenweisen Bearbeitung von Sensordatenframes,
Figur 5c ein schematisches Diagramm eines dritten Schritts einer chargenweisen Bearbeitung von Sensordatenframes,
Figur 5d ein schematisches Diagramm eines vierten Schritts einer chargenweisen Bearbeitung von Sensordatenframes, und Figur 5e ein schematisches Diagramm eines fünften Schritts einer chargenweisen Bearbeitung von Sensordatenframes.
Fig. 1 stellt eine beispielhafte Ausführungsform eines Computersystems dar.
Die gezeigte Ausführungsform umfasst einen Host-Computer PC mit einer Anzeige DIS und Benutzerschnittstellenvorrichtungen, wie etwa einer Tastatur KEY und einer Maus MOU; ferner kann ein externer Server über ein Netzwerk angeschlossen sein, wie durch ein Wolkensymbol angedeutet.
Der Host-Computer PC umfasst mindestens einen Prozessor CPU mit einem oder mehreren Kernen, einen Arbeitsspeicher RAM und eine Anzahl von Geräten, die an einen örtlichen Bus (wie etwa PCI-Express) angeschlossen sind, der Daten mit der CPU über einen Buscontroller BC austauscht. Die Geräte umfassen z.B. einen Grafikprozessor GPU zum Ansteuern der Anzeige, einen Controller USB zum Anschließen von Peripheriegeräten, einen nichtflüchtigen Speicher HDD, wie etwa eine Festplatte oder eine Solid State Disk, und eine Netzwerkschnittstelle NC. Ferner kann der Host- Computer einen dedizierten Beschleuniger AI für neuronale Netze umfassen. Der Beschleuniger AI kann ausgeführt sein als ein programmierbarer Logikbaustein, wie etwa einen FPGA, als ein
Grafikprozessor, der für allgemeine Berechnungen geeignet ist, oder als eine anwendungsspezifische integrierte Schaltung. Vorzugsweise enthält der nichtflüchtige Speicher Anweisungen, die, wenn sie durch einen oder mehrere Kerne des Prozessors CPU ausgeführt werden, das Computersystem veranlassen, ein erfindungsgemäßes Verfahren auszuführen.
In alternativen Ausführungsformen, in der Figur als eine Wolke angedeutet, kann das Computersystem einen oder mehrere Server umfassen, die ein oder mehrere Verarbeitungselemente umfassen, wobei die Server über ein Netzwerk mit einem Client wie dem Host-Computer PC verbunden sind. Somit kann die Annotationsumgebung teilweise oder vollständig auf einem entfernten Server ausgeführt werden, wie etwa in einer Cloud-Computereinrichtung. Als Client können alternativ zu einem Host-Computer auch mobile Endgeräte eingesetzt werden; so kann eine grafische Benutzerschnittstelle der Annotationsumgebung insbesondere auf einem Smartphone oder einem Tablet mit einer Touchscreen- Benutzeroberfläche ausgeführt werden.
Fig. 2 zeigt ein Kamerabild als einen beispielhaften Sensordatenframe mit einem schematischen Diagramm möglicher Datenpunkte in dem Einschub links oben.
Das in der Figur gezeigte Foto einer Großstadtszene kann ein Einzelbild oder Teil einer Videoaufzeichnung sein. Allgemein kann eine durch einen Kunden bereitgestellte Aufzeichnung aus Video- oder Audiodaten bestehen, die einen aufeinanderfolgenden Kontext darstellen, wie z.B. 5 Minuten Fahrt, aufgezeichnet über bildgebende Sensoren wie eine Kamera und einen LiDAR-Sensor, oder eine 10-minütige Sprachaufzeichnung. Videoaufzeichnungen könnten beispielsweise aus einer Reihe aufeinanderfolgender Frames bestehen, die wiederum eine Reihe von Objekten beinhalten. Mittels mindestens eines neuronalen Netzes wird die Aufzeichnung verarbeitet, um Annotationen zu erstellen. Annotationen können eine Vielzahl von Datenpunkten umfassen, wobei jeder Datenpunkt einen spezifischen Aspekt beschreibt.
Ein Datenpunkt ist ein Parameter, der eine bestimmte Eigenschaft einer Aufzeichnung beschreibt, und kann auf alle Detailebenen angewendet werden. Detailebenen können die gesamte Aufzeichnung, eine Reihe aufeinanderfolgender oder zufälliger Frames, ein einzelner Frame oder ein Objekt auf einem Frame sein. Ein spezifisches Beispiel wäre eine Annotation für ein Auto, die aus einer Begrenzungsbox besteht, welche die Position des Autos innerhalb einer gewissen Genauigkeit beschreibt, eine vertikale Linie, die eine Kante des Autos markiert, eine Klassifizierung, um den Typ des Autos zu beschreiben, Attribute für Abschneidung oder Verdeckung, Blinker, Bremslichter, Farbe und so weiter. Datenpunkte können Klassen, Boxen, Segmente, Polygone, Linienzüge, Attribute, wie etwa Blinker, Bremslichter, Farben, Unterklassen, Tracking-Informationen, Verdeckungsgrad, Abschneidungsgrad, komplexe Klassen, die die Relevanz eines Objekts/Frames/Clips beschreiben, Ton, Text oder eine beliebige andere automatisiert ermittelbare Information sein.
In dem Einschub links oben in der Figur sind verschiedene Datenpunkte für ein Auto dargestellt. Autos können von verschiedenen Typen sein, z.B. ein Lieferwagen, ein SUV oder ein Sportwagen. Die Position oder vielmehr die Maße eines Autos sind im Allgemeinen durch eine Begrenzungsbox angegeben, d.h. einen rechteckigen Rahmen oder ein Quader, der das Auto umschließt. Vertikale Linien geben die Begrenzungen des Autos an. Ein weiterer möglicher Datenpunkt für ein Auto ist die Aktivierung einer Leuchtanzeige, wie etwa des in dem Einschub gezeigten Fahrtrichtungsanzeigers bzw. Blinkers.
Eine Vielzahl von Autos ist in dem Frame vorhanden, jedes durch eine Begrenzungsbox umschlossen. Autos können vollständig sichtbar sein, wie etwa das direkt vor der Kamera fahrende, oder sie können verdeckt sein. Die Verkehrsdichte der Großstadtszene kann die Annotationsqualität beeinträchtigen, indem sie z.B. eine genaue Bestimmung der Grenzen der Begrenzungsbox durch Verdecken schwierig macht.
Fig. 3 ist ein schematisches Diagramm eines Automatisierungssystems, das ein Verfahren gemäß der Erfindung durchführt. Das Automatisierungssystem implementiert verschiedene Schritte des Verfahrens in dedizierten Komponenten und ist gut für die Ausführung in einer Cloud-Computing- Umgebung geeignet.
In einem ersten Schritt, „Datenaufnahme", werden unsortierte Aufzeichnungen von einem Kunden empfangen. Die Aufzeichnungen können normalisiert werden, z.B. in Sensordatenframes bzw. Bilder aufgeteilt werden, um eine einheitliche Verarbeitung zu ermöglichen. Dieser Schritt kann auch eine Anreicherungsphase umfassen, in der die Sensordatenframes der Aufzeichnungen automatisch mit Metadaten angereichert werden, die für die Messung der Automatisierungsqualität relevant sind. So kann beispielsweise jedem Bild der geografische Ort zugeordnet werden, an dem es aufgenommen wurde, insbesondere auf der Grundlage der GPS-Koordinaten, die gleichzeitig mit den Bildern empfangen wurden. Im Kontext des autonomen Fahrens könnten Metadaten oder Zustandsattribute, die für die Qualität der Annotation relevant sind, eine Wetterbedingung, einen Straßentyp, eine Lichtbedingung und/oder eine Tageszeit umfassen. Diese Zustandsattribute geben Bedingungen während der Aufnahme eines Sensordatenframes an und können auch als statisch bezeichnet werden. Andere Zustandsattribute, wie beispielsweise die Größe einer Begrenzungsbox, welche ebenfalls einen Einfluss auf die Labeling-Qualität z.B. der Objekterkennung haben können (große Objekte sind leichter zu erkennen), ergeben sich erst aus einer durchgeführten Annotierung und können daher als dynamisch bezeichnet werden.
Für die Effizienz der Automatisierung ist es sinnvoll, in den folgenden Schritten Chargen von Frames bzw. Einzelbildern gemeinsam zu verarbeiten. Bei Projekten mit verschachtelter Aufnahme und Verarbeitung von Bildern kann es vorteilhaft sein, Frames, die unter denselben Umgebungsbedingungen aufgenommen wurden, zu akkumulieren, bis eine vorgegebene Chargengröße erreicht ist, bevor mit den weiteren Verarbeitungsschritten fortgefahren wird.
In einem zweiten Schritt, dem "Scheduler", werden verschiedene Chargen von Sensordatenframes bzw. Einzelbildern für das Annotieren durch eine Automatisierungs-Engine eingeplant. Der Scheduler kann dabei eine oder mehrere Automatisierungskomponenten zur Annotation der Frames mit einem oder mehreren Datenpunkten für die Ausführung durch die Automatisierungs-Engine auswählen. Weiterhin kann der Scheduler die zu verarbeitende Charge von Frames auf der Grundlage der Verfügbarkeit neuer Versionen von Automatisierungskomponenten auswählen. Eine Automatisierungskomponente kann einen einzelnen Datenpunkt wie eine vertikale Linie oder mehrere zusammenhängende Datenpunkte wie die Koordinaten einer Begrenzungsbox und eine Objektklasse erzeugen. Bei den Automatisierungskomponenten kann es sich um neuronale Netze oder eine andere auf maschinellem Lernen basierende Technologie handeln, die auf überwachte, halbüberwachte oder nicht überwachte Weise aus Datenproben lernt.
In einem dritten Schritt, der "Automatisierungs-Engine", wird eine Charge von Sensordatenframes von mindestens einer Automatisierungskomponente verarbeitet, die den Frames Datenpunkte zuordnet. Das Automatisierungssystem erzeugt jeden beliebigen Typ von Datenpunkt über Automatisierungskomponenten; Automatisierungskomponenten sind somit ein zentraler Teil des Workflows des Automatisierungssystems. Vorzugsweise sind die Datenpunkte mit Metadaten versehen, welche die Version der verwendeten Automatisierungskomponente genau beschreiben. Die Automatisierungs-Engine umfasst Techniken, um relevante Metadaten über Automatisierungskomponenten präzise zu speichern, wie z.B. eine spezielle Datenbank. Einige der mit einem Datenpunkt verbundenen Zustandsattribute können von einer dedizierten Automatisierungskomponente bestimmt werden. Der "Kontext", d. h. die Zustandsattribute für einen Datenpunkt, kann Attribute umfassen, die selbst ein Datenpunkt sind. So kann beispielsweise die Genauigkeit der Platzierung einer vertikalen Linie von der Größe der Begrenzungsbox abhängen, in der die Linie zu zeichnen ist.
In einem vierten Schritt, dem "Clustering", werden die einzelnen Datenpunkte eines bestimmten Typs basierend auf Zustandsattributen gruppiert. Es kann vorgesehen sein, einem Typ der Datenpunkte bestimmte Zustandsattribute zuzuordnen. Die Zustandsattribute für eine Begrenzungsbox können zum Beispiel die Größe der Begrenzungsbox, die Tageszeit und/oder die Wetterbedingungen bei der Aufnahme des Bildes und/oder eine teilweise Verdeckung des Objekts umfassen. Die Werte der Zustandsattribute der einzelnen Begrenzungsboxen können mehrere Cluster in dem von den Zustandsattributen aufgespannten mehrdimensionalen Raum bilden. Verschiedene Cluster können mit einer unterschiedlichen Qualität der Annotationen verbunden sein.
Listing 1
Listing 1 zeigt einen beispielhaften Kontext mit mehreren Zustandsattributen für zwei beispielhafte Datenpunkte, eine Begrenzungsbox BOI und eine Begrenzungsbox B02, die jeweils die Position eines Objekts angeben. Die einzelnen Zustandsattribute beschreiben Bedingungen, die möglicherweise die Qualität der Annotation beeinflussen können.
Basierend auf einer Vielzahl von individuellen Datenpunkten desselben Typs kann das Automatisierungssystem somit Cluster in einem mehrdimensionalen Raum bestimmen, insbesondere unter Verwendung eines Nearest-Neighbor-Algorithmus und/oder eines Unsupervised-Learning- Ansatzes und/oder eines Machine-Learning Klassifikationsmodells. Die ermittelten Cluster können analysiert werden, um ein Kriterium für die Gruppierung von Datenpunkten und/oder die Vorhersage der Annotationsqualität festzulegen, indem Wertebereiche für mindestens eines der Zustandsattribute des Datenpunkts definiert werden. Vorzugsweise wird die Gruppierung auf der Grundlage definierter Wertebereiche für mehrere Zustandsattribute durchgeführt. Die Gruppierung kann z. B. auf der Grundlage der Abmessungen der Begrenzungsbox erfolgen; Objekte, die sich nahe an der Kamera befinden oder groß sind, können eine genaue Platzierung der Begrenzungsboy ermöglichen. Im Gegensatz dazu kann der relative Fehler bei der Platzierung eines Begrenzungsbox um ein entferntes kleines Objekt erheblich sein. Daher können große Abmessungen mit einer höheren Qualität der Begrenzungsboxen korrelieren. Das Wetter ist ein weiteres Bedingungsattribut, das zur Gruppierung der Datenpunkte verwendet werden kann, z. B. wegen des geringeren Kontrasts und/oder der Verzerrungen des Bildes durch Wassertropfen auf dem Kameraobjektiv. Andere Bedingungsattribute haben möglicherweise keinen nennenswerten Einfluss auf Qualitätsschwankungen der Datenpunkte und können ignoriert werden; so kann beispielsweise das Sichtfeld bzw. der Sichtwinkel einer für die Aufnahme der Bilder verwendeten Kamera für alle mit dieser Kamera aufgenommenen Bilder konstant sein. Die Gruppierung auf Basis von Wertebereichen kann auch durch ein neuronales Netz bzw. ein Machine-Learning Klassifikationsmodell erfolgen.
In einem fünften Schritt, „Probenüberprüfung", wird die Qualitätskontrolle für eine Stichprobe von Datenpunkten durchgeführt. In einer ersten Phase, "Stichprobe", werden mehrere Datenpunkte für die Qualitätskontrolle auf der Grundlage von Stichprobenanforderungen ausgewählt. Die Häufigkeit und/oder Größe der für eine Gruppe von Datenpunkten entnommenen Stichproben kann in Abhängigkeit von der prognostizierten Qualität der Datenpunkte in der Gruppe gewählt werden; für Datenpunkte, die mit Zustandsattributen verbunden sind, die auf eine schlechte Qualität hindeuten, können häufiger Stichproben genommen werden. In einer zweiten Phase, "Prüfen und Korrigieren", kann einem menschlichen Annotierer der Frame mit entsprechenden Annotationen, wie etwa einer Begrenzungsbox, gezeigt werden, und er kann gefragt werden, ob die Begrenzungsbox korrekt ist. Alternativ kann dem Annotierer eine Benutzerschnittstelle zum Justieren der Begrenzungsbox und/oder Hinzufügen einer Begrenzungsbox im Fall von „False Negatives" gezeigt werden, um ein durch das neuronale Netz übersehenes Objekt zu annotieren. Aus der Art und der Anzahl von durch den menschlichen Annotierer vorgenommenen Korrekturen bestimmt das Automatisierungssystem ein Qualitätsmaß. Zweckmäßigerweise wird das Qualitätsmaß so gewählt, dass ein übersehenes Objekt schwerer gewichtet wird als eine Begrenzungsbox, deren Platzierung verfeinert werden musste.
In einem sechsten Schritt, "Probenüberprüfung bestanden?", ermittelt das System, ob das Qualitätsmaß der Stichprobe über einem vordefinierten Schwellenwert lag (was auf eine ausreichende Annotationsqualität hinweist). Wenn das Automatisierungssystem feststellt, dass dies der Fall ist (Ja), kann die Gruppe von Einzelbildern, die die ausgewählte Probe umfasst, exportiert und an den Kunden ausgeliefert werden. Wenn dies nicht der Fall war (Nein), wird die Ausführung in einem siebten Schritt fortgesetzt.
Im siebten Schritt "Für Datensatz erforderlich?" wird ermittelt, ob die manuell korrigierte Stichprobe für das erneute Training der Automatisierungskomponente für den Datenpunkt verwendet werden soll. Ob dies der Fall ist, kann davon abhängen, wie viele Bilder unter denselben Bedingungen aufgenommen wurden, die bereits für das Training des Modells verwendet wurden. Ist dies nicht der Fall (Nein), wird die Gruppe von Datenpunkten, aus der die Probe entnommen wurde, an den Scheduler zurückgeschickt (Wieder mit nachtrainiertem Modell automatisieren). Sobald eine neu trainierte Automatisierungskomponente für die Datenpunkte verfügbar ist, sendet der Scheduler die Gruppe von Datenpunkten zur erneuten Verarbeitung an die Automatisierungs-Engine. Wenn die korrigierten Stichproben für das Nachtrainieren verwendet werden sollen (Ja), werden die manuell annotierten Datenpunkte in die Trainings-/Validierungs- oder Testdatensätze für das jeweilige neuronale Netz/die Automatisierungskomponente eingespeist. Diese Datensätze werden durch einen Zylinder dargestellt. In einem achten Schritt, dem "Flywheel", wird das neuronale Netz bzw. die Automatisierungskomponente, welche die bei der Stichprobenprüfung abgelehnten Datenpunkte erzeugt hat, nachtrainiert. Durch das Hinzulernen des neuronalen Netzes wird die Qualität der Automatisierung verbessert. Vorzugsweise werden die Automatisierungskomponenten so weit verbessert, dass für möglichst viele Cluster keine manuelle Überprüfung mehr erforderlich ist. Die Iterationszeiten für das Nachtrainieren sollten so kurz wie möglich sein, um eine schnelle Verbesserung der Effizienz zu ermöglichen.
Flywheel umfasst Techniken zur effizienten Speicherung und Versionierung von Trainingsdatensätzen für jede Automatisierungskomponente bzw. jeden Typ von Datenpunkten, zur Überwachung von Änderungen der Trainingsdatensätze und zum automatischen Triggern eines Nachtrainierens, sobald vordefinierte oder automatisch ermittelte Schwellenwerte für Änderungen der Trainingsdatensätze überschritten werden (z.B. eine vorgegeben Anzahl neuer Beispiele). Darüber hinaus umfasst Flywheel Techniken, um nachtrainierte neuronale Netze automatisch in Automatisierungskomponenten einzusetzen und den Scheduler über Versionsänderungen zu informieren.
Wenn neue Datenframes gleichzeitig oder abwechselnd mit dem Annotieren der Datenframes aufgenommen werden, kann ein zusätzlicher Schritt der gezielten Datenerfassung durchgeführt werden. Die Automatisierungskomponenten werden durch viele Trainingsiterationen auf einem ständig verfeinerten Datensatz verbessert, der die Varianz der realen Welt mit der Zeit immer besser abbildet. Zumindest für statische Zustandsattribute kann anhand von Konfidenzniveaus bzw. Fehlerwahrscheinlichkeiten pro Cluster ein systematischen Ansatz verfolgt, um Datenframes für Situationen zu sammeln, bei denen die Automatisierungsergebnisse am meisten leiden. Beispielsweise kann es vorkommen, dass die automatische Annotierung von in der Nacht aufgenommenen Sensordatenframes zu einer inakzeptablen Annotationsqualität führt. Sobald dies bei der Probenüberprüfung festgestellt wird, kann eine gezielte Aufnahme von Daten bei Nacht angefordert werden, um eine Verbesserung des Trainingsdatensatzes der Automatisierungskomponente unter diesen Umgebungsbedingungen zu erreichen. Insbesondere kann die Menge der zusätzlichen Trainingsdatensätze unter den jeweils problematischen Umgebungsbedingungen in Abhängigkeit von der Konfidenz bzw. der für den entsprechenden Cluster ermittelten Fehlerwahrscheinlichkeit bestimmt werden. Alle Daten, die unter den gleichen Bedingungen aufgezeichnet wurden, können für das erneute Training verwendet werden. Sobald die Korrekturen der falsch annotierten Sensordatenframes durchgeführt wurden, werden sie direkt in den Trainingsdatensatz der entsprechenden Automatisierungskomponente eingespeist. In der Regel müssen jedoch nicht alle Daten für einen bestimmten Cluster und Datenpunkt manuell korrigiert werden. Stattdessen werden nur Stichproben bis zum nächsten Schwellenwert für das Nachtrainieren gesammelt und korrigiert. Der Rest der Daten wird automatisch für einen erneuten Durchlauf mit einer höheren Version der Automatisierungskomponente eingeplant. Die gezielte Datensammlung umfasst Techniken zur Auswahl interessanter Proben auf der Grundlage von Clustern bis zu vordefinierten Mengen für die manuelle Korrektur. Darüber hinaus umfasst sie vorzugsweise Techniken zur Kennzeichnung von Proben mit schlechter Qualität, die nicht für ein erneutes Training für Automatisierungsläufe auf höheren Versionen der jeweiligen Automatisierungskomponente benötigt werden.
Wenn die automatischen Annotationen der im sechsten Schritt geprüften Probe von ausreichender Qualität sind, können die Annotationen an den Kunden ausgeliefert werden. In einem neunten Schritt, „Kunden- Probenüberprüfung", kann der Kunde eine Stichprobe der exportierten Sensordatenframes überprüfen, um sicherzustellen, dass die Annotationen seine Vorgaben genügen und die geforderte Annotationsqualität einhalten. Wenn der Kunde die Gruppe von Frames zurückweist, wird eine Stichprobe oder die gesamte Gruppe von Frames in einem zehnten Schritt „Korrektur" manuell verarbeitet. Der neunte und zehnte Schritt sind optional und können daher entfallen. In dem zehnten Schritt Korrektur wird eine manuelle Annotation einer Stichprobe oder der Gesamtheit der Gruppe von Sensordatenframes durchgeführt, die durch den Kunden zurückgewiesen wurde. Optional können die manuell annotierten Frames für eine erneute Überprüfung durch den Kunden exportiert werden. Die manuell annotierten Frames werden vorzugsweise durch ein Einspeisen der korrigierten Daten in die Trainings-, Validierungs- oder Testdatensätze für das Nachtrainieren des neuronalen Netzes verwendet.
Figur 4 zeigt ein Beispiel für Datenpunkte, die in Clustern mit unterschiedlichen Qualitätsstufen gruppiert wurden.
Dargestellt sind Ausschnitte aus mit einer Kamera aufgenommenen Sensordatenframes, die jeweils ein Fahrzeug zeigen. Um das Fahrzeug wurde jeweils eine Begrenzungsbox gezogen, welche die Umrisse des Fahrzeugs umschließt. Zusätzlich wurden die Fahrzeuge mit einer vertikalen Linie annotiert, die jeweils eine Kante des Fahrzeugs anzeigt und somit Rückschlüsse auf den relativen Winkel zwischen Fahrzeug und Kamera erlaubt. Somit sind Datenpunkte zweier verschiedener Typen dargestellt, wobei die Begrenzungsbox einen primären Datentyp darstellt, der eigenständig in einem Bild bzw. Sensordatenframe vorhanden sein kann. Hingegen wird eine vertikale Linie nur bei erkannten Fahrzeugen eingezeichnet und stellt daher einen sekundären Datenpunkt dar.
Die relative Genauigkeit der Begrenzungsboxen hängt beispielsweise von der Größe des umfassten Objekts ab, weil große Objekte besser zu erkennen sind als kleine bzw. weit entfernte Objekte. Die Größe der Begrenzungsbox hat aber auch einen wesentlichen Einfluss auf die Genauigkeit der vertikalen Linie. Andere Einflussfaktoren auf die Qualität der Annotierung mit vertikalen Linien können z.B. die Lichtverhältnisse und ein Verdeckungsgrad sein, welche somit relevante Zustandsattribute darstellen können. Die gezeigten Bildausschnitte bzw. erkannten Fahrzeuge sind in drei Gruppen geclustert, für die unterschiedliche Fehlerwahrscheinlichkeiten vorhergesagt bzw. ermittelt wurden. In der linken Spalte sind Beispiele für Cluster 1 dargestellt, der Datenpunkte (bzw. vertikale Linien) hoher Qualität umfasst, bei denen eine Fehlerwahrscheinlichkeit (Fehler WS) von 2% vorherrscht. Die mittlere Spalte zeigt Beispiele für Cluster 2, der Datenpunkte mittlerer Qualität umfasst, bei denen eine Fehlerwahrscheinlichkeit (Fehler WS) von 8% besteht. In der rechten Spalte sind Beispiele für Cluster 3 dargestellt, der Datenpunkte niedriger Qualität umfasst, bei denen eine Fehlerwahrscheinlichkeit (Fehler WS) von 18% vorliegt.
Durch die Clusterbildung können für die relevanten Zustandsattribute Wertebereiche ermittelt werden, beispielsweise dass ein Verdeckungsgrad von mehr als 30% mit einer schlechten Annotationsqualität korreliert. Die Form eines Clusters kann insbesondere bei vielen relevanten Zustandsattributen komplex sein; ein solcher Cluster kann zweckmäßigerweise durch trainierte neuronale Netze bzw. ein Machine-Learning Klassifikationsmodell beschrieben werden.
Figur 5a ist ein schematisches Diagramm eines ersten Schritts einer chargenweisen Bearbeitung von Sensordatenframes. Die Bearbeitung kann in einem Automatisierungssystems wie dem in Figur 3 dargestellten erfolgen; die nicht dargestellten Schritte können als Teil der chargenweisen Bearbeitung durchgeführt werden.
Die Aufteilung komplexer Annotationen in einzelne Datenpunkte ermöglicht eine feingranulare Betrachtung der für das Qualitätsmaß relevanten Zustandsattribute. Darüber hinaus verringert sich auch die benötigte Rechenzeit, weil jeweils nur die Datenpunkte betrachtet werden müssen, für die z.B. ein nachtrainiertes neuronales Netz verfügbar ist, während andere Datenpunkte der Sensordatenframes beibehalten werden können. Die allgemeine Handhabung von Datenpunkten wird vorliegend anhand eines vereinfachten Beispiels erläutert, das nur einen Typ von Datenpunkten (z.B. Begrenzungsboxen um Objekte) und zwei Cluster (Cluster A: schlechte Qualität, Cluster B = gute Qualität) für diesen Typ von Datenpunkten enthält.
Die als Eingangsdaten erhaltenen Sensordatenframes, z.B. Kamerabilder, werden in Chargen einer festen Größe aufgeteilt, um eine einheitliche Verarbeitung durch die Automatisierungs-Engine zu ermöglichen. In der Figur sind zwei Chargen von je 500 Frames mit Sensordaten dargestellt. Die Automatisierungs-Engine führt ein neuronales Netz zur Objekterkennung aus, welches Objekte in einem Frame mit Begrenzungsboxen versieht.
Nachdem die Chargen annotiert wurden, wobei den einzelnen Datenpunkten auch ein Kontext aus verschiedenen Zustandsattributen zugeordnet wurde, erfolgt ein Gruppieren der Datenpunkte in Cluster A (gepunktete Umrandung) mit schlechter und Cluster B (strichpunktierte Umrandung) mit guter Qualität der Datenpunkte. Aus einem einzelnen Kamerabild bzw.
Frame können z.B. drei Datenpunkte in Cluster A und zwei Datenpunkte in Cluster B resultieren. Im dargestellten Beispiel umfasst Cluster A 2000 Datenpunkte und Cluster B 1100 Datenpunkte (DP).
Figur 5b ist ein schematisches Diagramm eines zweiten Schritts einer chargenweisen Bearbeitung von Sensordatenframes.
Sobald die Cluster eine bestimmte Größe erreicht haben und/oder ein vorgegebenes Zeitintervall vergangen ist, erfolgt eine Probenüberprüfung. Anhand vordefinierter Stichprobenanforderungen werden einige Datenpunkte als Stichprobe entnommen. Nun erfolgt ein manueller Schritt des Prüfens und Korrigierens (die anderen Schritte können vollautomatisch durch einen Computer erfolgen), das Automatisierungssystem empfängt korrigierte Datenpunkte für die Stichprobe. Vorliegend wird vereinfachend jeweils der gesamte Cluster als Stichprobe genommen.
Im dargestellten Beispiel hat Cluster A den Größenschwellwert für eine Probenüberprüfung erreicht (angedeutet durch eine Lupe), wohingegen Cluster B zunächst nicht überprüft wird (angedeutet durch eine Sanduhr). Als Ergebnis stellte sich beispielsweise heraus, dass 30% der Datenpunkte in Cluster A korrigiert werden mussten (Korrigiere z.B. 30%), um das gewünschte Qualitätslevel zu erreichen. Vorliegend wird vereinfachend angenommen, dass sämtliche Datenpunkte einer korrigierten Stichprobe für das Nachtrainieren des neuronalen Netzes verwendet werden. Somit stehen 600 korrigierte Datenpunkte für die Aufnahme in die Trainingsdatensätze zur Verfügung.
Figur 5c ist ein schematisches Diagramm eines dritten Schritts einer chargenweisen Bearbeitung von Sensordatenframes.
In dem Beispiel ist dargestellt, dass weitere Chargen von Sensordatenframes bzw. Kamerabildern als Eingangsdaten erhalten wurden, wobei aktuell Chargen 21 und 22 bearbeitet werden. Obwohl sich die Größe von Cluster B im gezeigten Beispiel nicht verändert hat, ist eine Triggerbedingung für die Probenüberprüfung von Cluster B erfüllt: Eine vorgegebene Zahl von Chargen (20) wurde verarbeitet, woraufhin bei allen bisher nicht überprüften Clustern eine Stichprobe genommen und überprüft bzw. korrigiert werden soll (Korrigiere/Beende alle offenen Cluster).
Figur 5d ist ein schematisches Diagramm eines vierten Schritts einer chargenweisen Bearbeitung von Sensordatenframes.
Bei der Probenüberprüfung von Cluster B (angedeutet durch eine Lupe) ergab sich, dass 10% der Datenpunkte des Clusters korrigiert werden müssen (Korrigiere z.B. 10% der Datenpunkte), um das gewünschte Qualitätsniveau zu erreichen. Da vorliegend sämtliche Datenpunkte einer korrigierten Stichprobe für das Nachtrainieren des neuronalen Netzes verwendet werden, stehen wiederum 110 korrigierte Datenpunkte für die Aufnahme in die Trainingsdatensätze zur Verfügung. In einer Chargenweise- Bearbeitung besteht zusätzlich die Option, auf allen annotierten Sensordatenframes der korrigierten Charge zu trainieren, oder ausschließlich auf den korrigierten Datenpunkten. Figur 5e ist ein schematisches Diagramm eines fünften und abschließenden Schritts einer chargenweisen Bearbeitung von Sensordatenframes. Wie in Figur 3 sind hier auch ein Modul zur Datenaufnahme und ein Scheduler dargestellt.
Dargestellt sind Charge 1 und Charge 2; durch drei Punkte sind eine Vielzahl weiterer Chargen angedeutet. Nach dem Einteilen der Datenpunkte der Chargen in Cluster A und Cluster B, dem Überprüfen und Korrigieren von Stichproben wurde das neuronale Netz nachtrainiert. Sobald in weiteren Stichproben das gewünschte Qualitätsniveau erreicht wurde, können die Chargen mit Zusagen bezüglich der statistischen Qualität ausgeliefert werden (Auslieferung an Kunden). Hierbei können signifikante Teile der annotierten Sensordatenframes ausgeliefert werden, ohne dass bei diesen manuelle Nacharbeit erforderlich ist.
Das beschriebene Verfahren kann auch für Sensordatenframes eines Lidar- Sensors, also Punktwolken, oder für Multi-Sensor Setups eingesetzt werden. Hierbei findet für die verschiedenen Typen von Datenpunkten eine unabhängige Gruppierung und Korrektur statt. Indem nur die für das Training benötigten Proben manuell korrigiert werden, kann ein großer Anteil der Eingangsdaten automatisch annotiert werden, sobald das nachtrainierte neuronale Netz für den jeweiligen Typ von Datenpunkten verfügbar ist.
Durch die Nutzung der Korrelation zwischen der Qualität von Annotationen und Zustandsattributen ermöglicht das erfindungsgemäße Verfahren die gezielte Anwendung manueller Arbeit auf die schnelle Verbesserung neuronaler Netze, die dann zur Erstellung automatischer Annotationen für die Auslieferung an den Kunden verwendet werden. Indem verschiedene Typen von Datenpunkten getrennt bearbeitet werden, und ein erneutes Annotieren z.B. erst bei Vorliegen eines nachtrainierten neuronalen Netzes erfolgt, wird die Rechenzeit besonders effektiv eingesetzt. Insgesamt werden größere Annotationsprojekte, die z. B. zur Validierung erforderlich sind, erheblich beschleunigt.

Claims

- 32 -
Ansprüche
1. Computer-implementiertes Verfahren zum automatischen Annotieren von Sensordaten, wobei das Verfahren umfasst
Empfangen einer Vielzahl von Sensordatenframes,
Annotieren der Vielzahl von Sensordatenframes unter Verwendung mindestens eines neuronalen Netzes, wobei das Annotieren das Zuordnen mindestens eines Datenpunkts zu jedem Sensordatenframe und mindestens eines Zustandsattributs zu jedem Datenpunkt umfasst,
Gruppieren der Datenpunkte basierend auf dem mindestens einen Zustandsattribut, wobei eine erste Gruppe Datenpunkte umfasst, für die das mindestens eine Zustandsattribut in einem definierten Wertebereich liegt,
Auswahlen einer ersten Stichprobe von einem oder mehreren Datenpunkten aus der ersten Gruppe und Bestimmen eines Qualitätsmaßes für die Datenpunkte in der ersten Stichprobe, wobei, wenn der Computer feststellt, dass das Qualitätsmaß der ersten Stichprobe unter einem vordefinierten Schwellenwert liegt, das Verfahren ferner umfasst
Empfangen korrigierter Annotationen für die Datenpunkte in der ersten Stichprobe, Nachtrainieren des neuronalen Netzes auf der Grundlage der Datenpunkte in der ersten Stichprobe, Auswählen einer zweiten Stichprobe von einem oder mehreren Datenpunkten der ersten Gruppe, die nicht in der ersten Stichprobe waren,
Annotieren der Sensordatenframes der zweiten Stichprobe mit dem nachtrainierten neuronalen Netz und Bestimmen eines Qualitätsmaßes für die Datenpunkte in der zweiten Stichprobe,
Wobei, sobald der Computer feststellt, dass das Qualitätsmaß der ersten oder zweiten Stichprobe über einem vordefinierten Schwellenwert liegt, das Verfahren weiterhin umfasst
Annotieren der verbleibenden Sensordatenframes der ersten Gruppe mit dem neuronalen Netz, und
Exportieren der mit Annotationen versehenen Sensordatenframes der ersten Gruppe. - 33 - Verfahren nach Anspruch 1, wobei wenn der Computer feststellt, dass das Qualitätsmaß der zweiten Stichprobe unter einem vordefinierten Schwellenwert liegt, das Verfahren weiter umfasst
Empfangen korrigierter Annotationen für die Datenpunkte in der aktuell überprüften Stichprobe, Nachtrainieren des neuronalen Netzes auf der Grundlage der Datenpunkte in der aktuell überprüften Stichprobe,
Auswahlen einer weiteren Stichprobe von einem oder mehreren Datenpunkten der ersten Gruppe, die nicht Teil einer vorherigen Stichprobe waren,
Annotieren der Sensordatenframes der weiteren Stichprobe mit dem neuronalen Netz und Bestimmen eines Qualitätsmaßes für die Datenpunkte der weiteren Stichprobe, wobei die weiteren Schritte so lange wiederholt werden, bis der Computer feststellt, dass das Qualitätsmaß für die Frames in der weiteren Stichprobe über dem vordefinierten Schwellenwert liegt oder keine Sensordatenframes mit unkorrigierten Datenpunkten für die Stichprobe übrig bleiben, und wobei das Verfahren, sobald das Qualitätsmaß für die Sensordatenframes einer Stichprobe über dem vordefinierten Schwellenwert liegt, ferner umfasst
Annotieren der verbleibenden Sensordatenframes der ersten Gruppe mit dem neuronalen Netz, und
Exportieren der annotierten Sensordatenframes der ersten Gruppe. Verfahren nach einem der vorhergehenden Ansprüche, wobei mindestens eines der Zustandsattribute durch ein dediziertes neuronales Netz auf der Grundlage des Sensordatenframes bestimmt wird und/oder mindestens eines der Zustandsattribute auf der Grundlage zusätzlicher Sensordaten bestimmt wird, die gleichzeitig mit dem Sensordatenframe aufgezeichnet wurden.
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Sensordatenframes Bilddatenframes sind, also Daten eines bildgebenden Sensors umfassen, wobei für Bilddatenframes das Zustandsattribut ein geographischer Ort, eine Tageszeit, eine Wetterbedingung, eine Sichtbedingung, ein Straßentyp, ein Abstand zu einem Objekt und/oder eine Verkehrsdichte, eine Größe einer Begrenzungsbox, ein Ausmaß einer Verdeckung und/oder Abschneidung, eine Ego-Fahrzeuggeschwindigkeit, ein Kameraparameter, ein Farbbereich und/oder ein Kontrastmaß eines von einer Begrenzungsbox umfassten Bereichs, eine Fahrtrichtung des Ego- Fahrzeugs, astronomische Informationen wie die Sonnenposition relativ zur Fahrtrichtung des Ego-Fahrzeugs ist und/oder wobei für Bilddatenframes der mindestens eine Datenpunkt eine Position eines Objekts, eine Klasse eines Objekts, Koordinaten einer Begrenzungsbox, Koordinaten einer Linie, eine Abschneidung eines Objekts, eine Verdeckung eines Objekts, eine Korrelation eines Objekts in dem Bilddatenframe mit einem Objekt in einem vorhergehenden oder nachfolgenden Bilddatenframe und/oder eine Aktivierung eines Lichtindikators, wie eines Blinkers oder eines Bremslichts umfasst.
5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Sensordatenframes Audioframes sind, also Daten eines Audiosensors umfassen, wobei für Audioframes das Zustandsattribut ein geografischer Ort, ein Geschlecht und/oder ein Alter eines Sprechers, eine Raumgröße und/oder ein Maß für Hintergrundgeräusche ist und/oder wobei für Audioframes der mindestens eine Datenpunkt ein Phonem und/oder ein oder mehrere Wörter eines aus dem Audioframe erkannten Textes umfasst.
6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Gruppieren der Vielzahl von Datenpunkten eine Bestimmung von Clustern in einem mehrdimensionalen Raum umfasst, insbesondere unter Verwendung eines Nearest-Neighbor-Algorithmus und/oder eines Unsupervised-Learning-Ansatzes und/oder eines Machine-Learning Klassifikationsmodells.
7. Verfahren nach Anspruch 6, wobei das Annotieren der Sensordatenframes das Zuordnen mindestens eines Datenpunktes eines ersten Typs und mindestens eines Datenpunktes eines zweiten Typs zu den einzelnen Sensordatenframes umfasst, und wobei Datenpunkte des ersten Typs auf der Grundlage des Bestimmens von Clustern in einem ersten mehrdimensionalen Raum gruppiert werden und Datenpunkte des zweiten Typs auf der Grundlage des Bestimmens von Clustern in einem zweiten mehrdimensionalen Raum gruppiert werden, wobei der mehrdimensionale Raum für einen Datenpunkt durch eine Anzahl von Zustandsattributen aufgespannt wird.
8. Verfahren nach Anspruch 6 oder 7, wobei die erste Gruppe auf der Grundlage eines ersten Clusters definiert wird, für den das mindestens eine Zustandsattribut in einem ersten definierten Wertebereich liegt, und eine zweite Gruppe auf der Grundlage eines zweiten definierten Wertebereichs definiert wird, wobei der erste Wertebereich und der zweite Wertebereich für mindestens ein Zustandsattribut und/oder alle Zustandsattribute, die jedem Datenpunkt zugeordnet sind, disjunkt sind.
9. Verfahren nach Anspruch 8, wobei eine Fehlerwahrscheinlichkeit für jeden Datenpunkt bestimmt wird, basierend darauf, ob der Datenpunkt in der ersten oder der zweiten Gruppe ist, und wobei für Datenpunkte in der Gruppe mit der höheren Fehlerwahrscheinlichkeit mehr Stichproben genommen werden.
10. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Annotieren von Sensordatenframes mit einem ersten Typ von Datenpunkten basierend auf einem ersten neuronalen Netz erfolgt, und das Annotieren von Sensordatenframes mit einem zweiten Typ von Datenpunkten basierend auf einem zweiten neuronalen Netz erfolgt, - 36 - und wobei die weiteren Verfahrensschritte für die Datenpunkte des ersten Typs und die weiteren Verfahrensschritte für die Datenpunkte des zweiten Typs unabhängig voneinander durchgeführt werden.
11. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Auswahl der Sensordatenframes für die erste Stichprobe von der Art der Datenpunkte abhängt, für die das Qualitätsmaß bestimmt werden soll, insbesondere eine zufällige Auswahl von Einzelbildern für Datenpunkte, die sich auf die Objekterkennung beziehen, und/oder eine zufällige Auswahl von Stapeln aufeinanderfolgender Rahmen für Datenpunkte, die sich auf die Objektverfolgung beziehen.
12. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Annotieren von Sensordatenframes und das Empfangen von Sensordatenframes abwechselnd oder gleichzeitig erfolgen, und wobei, wenn der Computer feststellt, dass das Qualitätsmaß für eine Stichprobe unter einem vordefinierten Schwellenwert liegt, die Übermittlung von Sensordatenframes angefordert wird, bei denen das mindestens eine Zustandsattribut in dem definierten Wertebereich liegt.
13. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Empfangen von korrigierten Annotationen für einen Datenpunkt das Empfangen einer Vielzahl von vorläufigen Annotationen und die Ermittlung einer korrigierten Annotation basierend auf der Vielzahl von vorläufigen Annotationen umfasst, insbesondere eine Auswahl anhand eines Mittelwerts oder einer Mehrheitsentscheidung.
14. Nichtflüchtiges computerlesbares Medium, enthaltend Anweisungen, die, wenn sie durch einen Prozessor eines Computersystems ausgeführt werden, das Computersystem veranlassen, ein Verfahren gemäß einem der vorhergehenden Ansprüche auszuführen.
15. Computersystem, umfassend einen Host-Computer, wobei der Host- Computer einen Prozessor, einen Arbeitsspeicher, eine Anzeige, ein - 37 -
Eingabegerät und einen nichtflüchtigen Speicher umfasst, wobei der nichtflüchtige Speicher Anweisungen umfasst, die, wenn sie durch den Prozessor ausgeführt werden, das Computersystem veranlassen, ein Verfahren gemäß einem der vorhergehenden Ansprüche auszuführen.
EP23701249.7A 2022-01-14 2023-01-13 Verfahren und system zum automatischen annotieren von sensordaten Pending EP4463831A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022100814 2022-01-14
PCT/EP2023/050717 WO2023135244A1 (de) 2022-01-14 2023-01-13 Verfahren und system zum automatischen annotieren von sensordaten

Publications (1)

Publication Number Publication Date
EP4463831A1 true EP4463831A1 (de) 2024-11-20

Family

ID=85036317

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23701249.7A Pending EP4463831A1 (de) 2022-01-14 2023-01-13 Verfahren und system zum automatischen annotieren von sensordaten

Country Status (6)

Country Link
US (1) US20250080610A1 (de)
EP (1) EP4463831A1 (de)
JP (1) JP2025503714A (de)
KR (1) KR20240137030A (de)
DE (1) DE102023100731A1 (de)
WO (1) WO2023135244A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240078137A1 (en) * 2022-09-06 2024-03-07 Dell Products L.P. Adaptable response time prediction for storage systems under variable workloads
EP4521360A1 (de) 2023-09-11 2025-03-12 dSPACE GmbH Verfahren und system zum automatischen annotieren von sensordaten
DE102023208988A1 (de) 2023-09-15 2025-03-20 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Erkennen von Objekten
KR20250088147A (ko) * 2023-12-08 2025-06-17 (주)이지스 공간 정보 및 실시간 센서 정보를 활용한 생성형 인공지능의 학습데이터를 생성하는 방법 및 그 장치
EP4679135A1 (de) 2024-07-11 2026-01-14 dSPACE GmbH Verfahren und computersystem zur kalibrierung relativer sensorausrichtungen

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018113621A1 (de) * 2018-06-07 2019-12-12 Connaught Electronics Ltd. Verfahren zum Trainieren eines konvolutionellen neuronalen Netzwerks zum Verarbeiten von Bilddaten zur Anwendung in einem Fahrunterstützungssystem

Also Published As

Publication number Publication date
WO2023135244A1 (de) 2023-07-20
JP2025503714A (ja) 2025-02-04
US20250080610A1 (en) 2025-03-06
KR20240137030A (ko) 2024-09-19
DE102023100731A1 (de) 2023-07-20

Similar Documents

Publication Publication Date Title
DE112019001310B4 (de) Systeme und Verfahren zum Reduzieren der Menge an Datenspeicher beim maschinellen Lernen
EP4463831A1 (de) Verfahren und system zum automatischen annotieren von sensordaten
DE112017005651T5 (de) Vorrichtung zur Klassifizierung von Daten
DE102014210820A1 (de) Verfahren zum Nachweis von großen und Passagierfahrzeugen von festen Kameras
DE112017008149T5 (de) VORRICHTUNG FÜR EINE VON EINEM FAHRZEUG AUSGEHENDE KOMMUNIKATION, VERFAHREN ZUM KOMMUNIZIEREN VON EINEM FAHRZEUG NACH AUßEN INFORMATIONSVERARBEITUNGSVORRICHTUNG UND PROGRAMM FÜR EINE VON EINEM FAHRZEUG AUSGEHENDE KOMMUNIKATION
DE102023130154B4 (de) Prüfverfahren für automatisierte Fahrsysteme beim Befahren realer Straßen, Vorrichtung und Speichermedium
DE102019111249A1 (de) Verfahren und system zur verbesserung der objekterkennung und objektklassifizierung
DE102021203020A1 (de) Generative-adversarial-network-modelle zur detektion kleiner strassenobjekte
DE102018113621A1 (de) Verfahren zum Trainieren eines konvolutionellen neuronalen Netzwerks zum Verarbeiten von Bilddaten zur Anwendung in einem Fahrunterstützungssystem
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE112012004847B4 (de) Verfahren und System zum Detektieren von Linien in einem Bild und Spurdetektionssystem zum Analysieren von Straßenbildern
DE102024100521A1 (de) Bildgestützte generierung von beschreibenden und wahrnehmungs-nachrichten von automobilszenen
DE102013210771A1 (de) Detektion eines komplexen objekts unter verwendung einer kaskade von klassifizierungseinrichtungen
WO2022263488A1 (de) Verfahren zur erkennung von objekten gesuchter typen in kamerabildern
DE102022104399A1 (de) Verfahren und Prozessorschaltung zum Ermitteln von Trainingsdatensätzen für ein Training eines Modells des maschinellen Lernens
DE102013206920A1 (de) Detektion eines komplexen Objekts unter Verwendung einer Kaskade vonKlassifizierungseinrichtungen
DE102020214596A1 (de) Verfahren zum Erzeugen von Trainingsdaten für ein Erkennungsmodell zum Erkennen von Objekten in Sensordaten einer Umfeldsensorik eines Fahrzeugs, Verfahren zum Erzeugen eines solchen Erkennungsmodells und Verfahren zum Ansteuern einer Aktorik eines Fahrzeugs
US12462528B2 (en) Method for classifying images and electronic device
EP4402647B1 (de) Verfahren und system zum automatischen annotieren von sensordaten
DE102023123114A1 (de) Verfahren und Vorrichtung zur semantischen Segmentierung und Clutter-Erkennung
DE102023200766A1 (de) Computerimplementiertes Verfahren zum Erzeugen von Labeln für einen Datensatz und Verwendung eines derart erzeugten gelabelten Datensatzes
EP4521360A1 (de) Verfahren und system zum automatischen annotieren von sensordaten
DE102020204758A1 (de) Schnelle Symmetrieerkennung für die Klassifikation von Objekten aus digitalen Bildern
DE102019217951A1 (de) Verfahren und Vorrichtung zum Bestimmen einer Domänendistanz zwischen mindestens zwei Datendomänen
DE102023207827A1 (de) Computer-implementiertes Verfahren und System zum Bereitstellen von gelabelten Datensätzen an eine Vielzahl an Anwendungen

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240814

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: DSPACE SE & CO. KG