DE102016200854A1 - Verfahren und Recheneinheit zur Dimensionierung eines Klassifikators - Google Patents

Verfahren und Recheneinheit zur Dimensionierung eines Klassifikators Download PDF

Info

Publication number
DE102016200854A1
DE102016200854A1 DE102016200854.4A DE102016200854A DE102016200854A1 DE 102016200854 A1 DE102016200854 A1 DE 102016200854A1 DE 102016200854 A DE102016200854 A DE 102016200854A DE 102016200854 A1 DE102016200854 A1 DE 102016200854A1
Authority
DE
Germany
Prior art keywords
feature vector
values
classifier
sensor data
synthetic
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.)
Granted
Application number
DE102016200854.4A
Other languages
English (en)
Other versions
DE102016200854B4 (de
Inventor
Horst Klöden
Andreas Heimrath
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.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
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 Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102016200854.4A priority Critical patent/DE102016200854B4/de
Publication of DE102016200854A1 publication Critical patent/DE102016200854A1/de
Application granted granted Critical
Publication of DE102016200854B4 publication Critical patent/DE102016200854B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

Es wird ein Verfahren (200) zur Dimensionierung eines Klassifikators (100) beschrieben, der eingerichtet ist, einen Wert eines Merkmalsvektors (101) einer Klasse aus mindestens zwei unterschiedlichen Klassen zuzuweisen. Das Verfahren (200) umfasst das Ermitteln (201) von Stichproben-Datensätzen für die mindestens zwei unterschiedlichen Klassen auf Basis realer Sensordaten. Das Verfahren (200) umfasst weiter das Ermitteln (202), auf Basis der Stichproben-Datensätze, von Stichproben-Werten (401, 402) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen. Außerdem umfasst das Verfahren (200) das Erzeugen (203) von synthetischen Werten (409, 406) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen, in Abhängigkeit von den Stichproben-Werten (401, 402) des Merkmalsvektors (101). Des Weiteren umfasst das Verfahren (200) das Dimensionieren (204) des Klassifikators (100) auf Basis der synthetischen Werte (409, 406) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen.

Description

  • Die Erfindung betrifft ein Verfahren und eine entsprechende Recheneinheit zur Dimensionierung eines Klassifikators, insbesondere zur Dimensionierung eines neuronalen Netzwerks.
  • Klassifikatoren, insbesondere Objektklassifikatoren, werden heute in unterschiedlichsten Anwendungen verwendet. Beispielsweise kann ein Klassifikator in einem Fahrzeug dazu verwendet werden, auf Basis von Sensordaten ein Objekt (z. B. einen Fußgänger) in einem Umfeld des Fahrzeugs zu detektieren. Es können dann Assistenzsysteme bereitgestellt werden, die einen Fahrer des Fahrzeugs bei seiner Fahraufgabe unterstützen, indem Fahrmanöver vorgeschlagen und/oder automatisch durchgeführt werden, die ein detektiertes Objekt berücksichtigen. Beispielsweise kann ein Fahrer des Fahrzeugs bei einem Brems- und/oder Ausweichmanöver unterstützt werden, um eine Kollision mit einem detektierten Objekt zu vermeiden.
  • Die Klassifikationsgüte eines Klassifikators hängt typischerweise von den Trainingsdaten ab, mit denen der Klassifikator angelernt wurde. Des Weiteren kann die Klassifikationsgüte von der Struktur und insbesondere von der Dimensionierung eines Klassifikators abhängen. Beispielsweise kann die Klassifikationsgüte bei einem Klassifikator, der auf einem neuronalen Netzwerk basiert, substantiell von der Anzahl von Neuronen in dem neuronalen Netzwerk abhängen.
  • In Echtzeitanwendungen, wie z. B. in einem Fahrzeug, ist es wichtig, dass auf Basis von aktuellen Sensordaten Klassifikationsergebnisse innerhalb sehr kurzer Zeiträume (z. B. innerhalb von wenigen Millisekunden) ermittelt werden können. Die Klassifikationsgeschwindigkeit eines Klassifikators hängt dabei typischerweise von der Struktur und insbesondere von der Dimensionierung des Klassifikators ab. Zur Erhöhung der Klassifikationsgeschwindigkeit ist es daher vorteilhaft, einen Klassifikator mit einer möglichst effizienten Struktur und insbesondere mit einer möglichst effizienten Dimensionierung bereitzustellen. Des Weiteren ist eine effiziente Dimensionierung des Klassifikators typischerweise vorteilhaft in Bezug auf die Rechnergröße bzw. Chipgröße, mit der der Klassifikator implementiert werden kann.
  • Das vorliegende Dokument befasst sich mit der technischen Aufgabe, ein Verfahren und eine entsprechende Recheneinheit bereitzustellen, durch die ein Klassifikator in effizienter und optimaler Weise, bereits in einem frühen Entwicklungsstadium, für eine bestimmte Klassifikations-Anwendung dimensioniert werden kann.
  • Die Aufgabe wird durch die unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen werden u. a. in den abhängigen Ansprüchen beschrieben.
  • Gemäß einem Aspekt wird ein Verfahren zur Dimensionierung eines Klassifikators beschrieben. Der Klassifikator ist dabei eingerichtet, einen Wert eines Merkmalsvektors einer bestimmten Klasse aus mindestens zwei unterschiedlichen Klassen zuzuweisen. Der Klassifikator kann insbesondere eingerichtet sein, auf Basis von realen Sensordaten ein Objekt zu detektieren. Zu diesem Zweck können die realen Sensordaten in zumindest einen Wert eines Merkmalsvektors transformiert werden. Des Weiteren können die zumindest zwei Klassen eine erste Klasse umfassen, die anzeigt, dass das Objekt detektiert wurde, und eine zweite Klasse umfassen, die anzeigt, dass das Objekt nicht detektiert wurde. Der Klassifikator kann dann bestimmen, ob der zumindest eine Wert des Merkmalsvektors zu der ersten Klasse oder zu der zweiten Klasse gehört. Die realen Sensordaten können z. B. Sensordaten von ein oder mehreren Umfeldsensoren eines Fahrzeugs umfassen. Beispielsweise kann der Klassifikator somit dazu verwendet werden, in automatischer Weise auf Basis realer (aktueller) Sensordaten ein Objekt (z. B. einen Fußgänger) in einem Umfeld eines Fahrzeugs zu detektieren.
  • Das Verfahren umfasst das Ermitteln von Stichproben-Datensätzen für die mindestens zwei unterschiedlichen Klassen auf Basis realer Sensordaten. Beispielsweise können R Stichproben-Datensätze bereitgestellt werden, die jeweils reale Sensordaten anzeigen. Insbesondere zeigt dabei ein Stichproben-Datensatz typischerweise bestimmte reale Sensordaten und die Klasse (auch als Label bezeichnet) an, die die bestimmten realen Sensordaten wiedergeben.
  • Außerdem umfasst das Verfahren das Ermitteln, auf Basis der Stichproben-Datensätze, von Stichproben-Werten des Merkmalsvektors für die mindestens zwei unterschiedlichen Klassen. Dabei umfasst ein Merkmalsvektor typischerweise eine Mehrzahl von Merkmalen, für die jeweils auf Basis der realen Sensordaten aus einem Stichproben-Datensatz Merkmals-Werte ermittelt werden können, die zusammen einen Wert des Merkmalsvektors ergeben. Insbesondere kann für jeden der R Stichproben-Datensätze jeweils ein Stichproben-Wert des Merkmalsvektors ermittelt werden. Mit anderen Worten kann jeder Stichproben-Datensatz in genau einen Stichproben-Wert des Merkmalsvektors transformiert werden. Der Stichproben-Wert des Merkmalsvektors stellt dabei eine Beschreibung (d. h. einen Deskriptor) des entsprechenden Stichproben-Datensatzes anhand von Merkmals-Werten für die unterschiedlichen Merkmale des Merkmalsvektors dar.
  • Des Weiteren umfasst das Verfahren das Erzeugen von synthetischen Werten des Merkmalsvektors für die mindestens zwei unterschiedlichen Klassen, in Abhängigkeit von den Stichproben-Werten des Merkmalsvektors. Dabei kann eine Anzahl M von synthetischen Werten des Merkmalsvektors um eine, zwei, drei oder mehr Größenordnungen größer sein als die Anzahl R von Stichproben-Werten des Merkmalsvektors.
  • Ein synthetischer Wert des Merkmalsvektors stellt dabei typischerweise nicht die konkrete Beschreibung eines entsprechenden Stichproben-Datensatzes (mit realen Sensordaten) dar. Vielmehr kann ein synthetischer Wert des Merkmalsvektors derart ermittelt werden, dass der synthetische Wert des Merkmalsvektors ein oder mehrere Eigenschaften aufweist, die die Werte des Merkmalsvektors aufweisen, wenn sie direkt durch Transformation von realen Sensordaten berechnet werden. Mit anderen Worten, ein synthetischer Wert des Merkmalsvektors kann derart ermittelt werden, dass der synthetischer Wert eine oder mehrere Bedingungen erfüllt, die auch die Werte des Merkmalsvektors aufweisen, die direkt durch Transformation von realen Sensordaten berechnet werden (ohne dass die synthetischen Werte jedoch selbst durch eine direkte Transformation von realen Sensordaten berechnet werden).
  • Außerdem umfasst das Verfahren das Dimensionieren des Klassifikators auf Basis der synthetischen Werte des Merkmalsvektors für die mindestens zwei unterschiedlichen Klassen. Dabei kann der Klassifikator derart dimensioniert werden, dass eine Klassifikationsgüte des Klassifikators vergrößert, insbesondere maximiert, wird. Die Klassifikationsgüte kann dabei auf Basis der synthetischen Werte des Merkmalsvektors ermittelt werden. Insbesondere können die synthetischen Werte des Merkmalsvektors als synthetische Trainingsdaten verwendet werde, um unterschiedlich dimensionierte Klassifikatoren zu trainieren. Es kann dann die Klassifikationsgüte der unterschiedlich dimensionierten und trainierten Klassifikatoren ermittelt und verglichen werden. Insbesondere kann der Klassifikator ausgewählt werden, der die höchste Klassifikationsgüte aufweist.
  • Das Verfahren ermöglicht es, bereits zu einem frühen Entwicklungsstadium in effizienter und präziser Weise einen Klassifikator zu dimensionieren. So kann z. B. bereits zu einem frühen Stadium die Hardware für den Klassifikator festgelegt werden. Insbesondere kann dabei anhand von synthetischen Werten des Merkmalsvektors, die von einer relativ geringen Anzahl von realen Stichproben-Werten des Merkmalsvektors abgeleitet werden, eine Dimensionierung des Klassifikators durchgeführt werden, die nah an eine optimale Dimensionierung des Klassifikators herankommt (die auf Basis einer großen Anzahl von realen Trainings-Datensätzen (mit realen Sensordaten) durchgeführt wird). Das Trainieren des anhand von synthetischen Daten dimensionierten Klassifikators kann dann zu einem späteren Zeitpunkt anhand einer großen Anzahl von realen Trainings-Datensätzen (mit realen Sensordaten) erfolgen, so dass der trainierte Klassifikator innerhalb einer Anwendung (z. B. in einem Fahrzeug) eingesetzt werden kann.
  • Der Klassifikator kann ein neuronales Netzwerk mit (zumindest) einer versteckten Schicht umfassen. Beispielsweise kann der Klassifikator eine sogenannte Extreme Learning Maschine umfassen, die z. B. in Huang, G.-B., Zhu, Q.-Y., and Siew, C.-K., "Extreme learning machine: Theory and applications," Neurocornputing, vol. 70, no. 1–3, pp. 489–501, 2006 und/oder in Huang, G.-B., Wang, D., and Lan, Y., "Extreme learning machines: a survey," Int. J. Mach. Learn. & Cyber., vol. 2, no. 2, pp. 107–122, 2011 beschrieben ist.
  • Das Dimensionieren des Klassifikators kann dann umfassen, das Ermitteln einer Anzahl K von versteckten Neuronen der (zumindest einen) versteckten Schicht auf Basis der synthetischen Werte des Merkmalsvektors für die mindestens zwei unterschiedlichen Klassen. Die Anzahl von versteckten Neuronen eines neuronalen Netzwerks hat typischerweise einen substantiellen Einfluss auf die erforderliche Hardware-Größe der Klassifikators, auf die erforderliche Trainingsdauer und/oder auf die Klassifikationsgeschwindigkeit. Durch Ermittlung einer möglichst kleinen Anzahl K von versteckten Neuronen (durch die die Klassifikationsgüte erhöht, ggf. maximiert, wird), können die Hardware-Größe reduziert, die Trainingsdauer reduziert und/oder die Klassifikationsgeschwindigkeit erhöht werden.
  • Das Verfahren kann umfassen, das Ermitteln ein oder mehrerer Eigenschaften der realen Sensordaten. Dabei können die ein oder mehreren Eigenschaften z. B. umfassen: einen Wertebereich der Sensordaten; ein Ausmaß an Rauschen der Sensordaten; Extremwerte der Sensordaten und/oder Korrelationen zwischen den Sensordaten. Die synthetischen Werte des Merkmalsvektors können dann in Abhängigkeit von den ein oder mehreren Eigenschaften erzeugt werden. Insbesondere können die synthetischen Werte des Merkmalsvektors derart ermittelt werden, dass ein synthetischer Wert des Merkmalsvektors fiktive Sensordaten beschreibt, die die ein oder mehreren Eigenschaften der realen Sensordaten aufweisen. Die Berücksichtigung von ein oder mehreren Eigenschaften der realen Sensordaten bei der Ermittlung der synthetischen Werte des Merkmalsvektors ermöglicht es, die Genauigkeit der Dimensionierung des Klassifikators (in Richtung zu einer optimalen Dimensionierung, die ausschließlich mit realen Sensordaten erfolgt) zu erhöhen.
  • Die realen Sensordaten können Werte aus einem Sensordaten-Wertebereich annehmen. Beispielsweise können die einzelnen Pixel von Bilddaten jeweils Werte aus einem bestimmten Wertebereich (z. B. aus einem 8 Bit-Wertebereich) annehmen. Das Erzeugen von synthetischen Werten des Merkmalsvektors kann dann umfassen, das Ermitteln eines Gesamtraums von möglichen Werten des Merkmalsvektors auf Basis des Sensordaten-Wertebereichs. Mit anderen Worten, es kann auf Basis des möglichen Wertebereichs der realen Sensordaten ermittelt werden, welchen Wertebereich die Merkmals-Werte der einzelnen Merkmale des Merkmalsvektors aufweisen. Aus diesen Wertebereichen ergibt sich dann ein Gesamtraum (im Merkmalsraum), in dem die synthetischen Werte des Merkmalvektors prinzipiell liegen können. Das heißt, die synthetischen Werte des Merkmalsvektors können derart erzeugt werden, dass sie in dem Gesamtraum von möglichen Werten des Merkmalsvektors liegen. Dabei stellt jeder synthetische Wert des Merkmalsvektors typischerweise einen Punkt innerhalb des Gesamtraums dar. Die Ermittlung eines Gesamtraums ermöglicht es, möglichst realistische synthetische Werte des Merkmalsvektors zu ermitteln, was zu einer erhöhten Genauigkeit der Dimensionierung des Klassifikators führt.
  • Das Erzeugen von synthetischen Werten des Merkmalsvektors kann umfassen, das Ermitteln, in Abhängigkeit von den Stichproben-Werten des Merkmalsvektors, eines separaten Teilraums des Gesamtraums für jede der mindestens zwei unterschiedlichen Klassen. Mit anderen Worten, innerhalb des möglichen Gesamtraums kann für jede der unterschiedlichen Klassen ein Teilraum ermittelt werden, in dem die Werte des Merkmalsvektors für die jeweilige Klasse liegen können. Die Gesamtmenge der erzeugten synthetischen Werte des Merkmalsvektors kann dann zumindest einen Punkt aus jedem der separaten Teilräume umfassen. Dabei kann die Gesamtmenge der erzeugten synthetischen Werte des Merkmalsvektors insbesondere zufällig ausgewählte Punkte aus jedem der separaten Teilräume umfassen. Durch die Ermittlung von synthetischen Werten des Merkmalsvektors für alle Klassen des Klassifikators kann die Genauigkeit der Dimensionierung weiter erhöht werden. Zu jedem synthetischen Wert des Merkmalsvektors kann dabei die jeweilige Klasse als Label für das Trainieren des Klassifikators berücksichtigt werden.
  • Das Ermitteln von zwei separaten Teilräumen für zwei unterschiedliche Klassen kann umfassen, das Ermitteln einer Klassengrenze zwischen den zwei unterschiedlichen Klassen, in Abhängigkeit von den Stichproben-Werten des Merkmalsvektors für die zwei unterschiedlichen Klassen. Insbesondere kann die Klassengrenze zwischen den zwei unterschiedlichen Klassen dabei derart ermittelt werden, dass die (insbesondere alle) Stichproben-Werte des Merkmalsvektors für eine erste Klasse auf einer ersten Seite der Klassengrenze und die (insbesondere alle) Stichproben-Werte des Merkmalsvektors für eine zweite Klasse auf einer zweiten (d. h. anderen) Seite der Klassengrenze liegen. Die zwei separaten Teilräume für die zwei unterschiedlichen Klassen können dann derart ermittelt werden, dass die Klassengrenze zwischen den zwei separaten Teilräumen verläuft. Durch die Berücksichtigung der Klassengrenzen können die Teilräume und damit die synthetischen Werte des Merkmalsvektors für die unterschiedlichen Klassen in präziser Weise ermittelt werden, was wiederum die Qualität der Dimensionierung des Klassifikators erhöht.
  • Das Ermitteln eines Teilraums für eine bestimmte Klasse kann umfassen, das Ermitteln eines Mindestabstands zu der Klassengrenze von Werten des Merkmalsvektors für die bestimmte Klasse. Der Mindestabstand zu einer Klassengrenze kann z. B. dazu dienen, eine eindeutige Klassenzuordnung zu ermöglichen. Ein synthetischer Wert des Merkmalsvektors für die bestimmte Klasse kann derart erzeugt werden, dass der synthetische Wert zumindest den Mindestabstand zu der Klassengrenze aufweist. Die Berücksichtigung des Mindestabstands ermöglicht eine weiter verbesserte Erzeugung von synthetischen Werten und damit eine weiter erhöhte Qualität der Dimensionierung des Klassifikators.
  • Das Ermitteln eines Teilraums für eine bestimmte Klasse kann umfassen, das Ermitteln einer Streuung der Stichproben-Werte des Merkmalsvektors für die bestimmte Klasse aufgrund von Rauschen der Sensordaten. Insbesondere kann das Rauschen der Sensordaten quantifiziert werden, und es kann ermittelt werden, welchen Einfluss das Rauschen auf die Stichproben-Werte des Merkmalsvektors haben, d. h. welche Streuung der Stichproben-Werte des Merkmalsvektors durch das Rauschen bewirkt wird. Der Teilraum für die bestimmte Klasse kann dann in Abhängigkeit von der Streuung der Stichproben-Werte des Merkmalsvektors ermittelt werden. Insbesondere kann der Teilraum derart ermittelt werden, dass auch die gestreuten Stichproben-Werte des Merkmalsvektors für die bestimmte Klasse innerhalb des Teilraums liegen. Dies ermöglicht eine weiter verbesserte Erzeugung von synthetischen Werten und damit eine weiter erhöhte Qualität der Dimensionierung des Klassifikators.
  • Gemäß einem weiteren Aspekt wird eine Recheneinheit zur Dimensionierung eines Klassifikators beschrieben, wobei der Klassifikator eingerichtet ist, einen Wert eines Merkmalsvektors einer Klasse aus mindestens zwei unterschiedlichen Klassen zuzuweisen. Die Recheneinheit ist eingerichtet, auf Basis realer Sensordaten Stichproben-Datensätze für die mindestens zwei unterschiedlichen Klassen zu ermitteln. Außerdem ist die Recheneinheit eingerichtet, auf Basis der Stichproben-Datensätze, Stichproben-Werte des Merkmalsvektors für die mindestens zwei unterschiedlichen Klassen zu ermitteln. Die Recheneinheit ist weiter eingerichtet, in Abhängigkeit von den Stichproben-Werten des Merkmalsvektors, synthetische oder künstliche Werte des Merkmalsvektors für die mindestens zwei unterschiedlichen Klassen zu erzeugen. Dabei unterscheiden sich die synthetischen Werte des Merkmalsvektors von den Strichproben-Werten des Merkmalsvektors. Des Weiteren ist die Recheneinheit eingerichtet, den Klassifikator auf Basis der synthetischen oder künstlichen Werte des Merkmalsvektors für die mindestens zwei unterschiedlichen Klassen zu dimensionieren.
  • Gemäß einem weiteren Aspekt wird ein Software (SW) Programm beschrieben. Das SW Programm kann eingerichtet werden, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
  • Gemäß einem weiteren Aspekt wird ein Speichermedium beschrieben. Das Speichermedium kann ein SW Programm umfassen, welches eingerichtet ist, um auf einem Prozessor ausgeführt zu werden, und um dadurch das in diesem Dokument beschriebene Verfahren auszuführen.
  • Es ist zu beachten, dass die in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systeme sowohl alleine, als auch in Kombination mit anderen in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen verwendet werden können. Desweiteren können jegliche Aspekte der in diesem Dokument beschriebenen Verfahren, Vorrichtungen und Systemen in vielfältiger Weise miteinander kombiniert werden. Insbesondere können die Merkmale der Ansprüche in vielfältiger Weise miteinander kombiniert werden.
  • Im Weiteren wird die Erfindung anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen
  • 1 den Aufbau eines beispielhaften neuronalen Netzwerkes;
  • 2 ein Ablaufdiagramm eines beispielhaften Verfahrens zur Dimensionierung eines Klassifikators;
  • 3a und 3b die Klassifikationsgüte und die Trainingsdauer einen neuronalen Netzwerks in Abhängigkeit von der Anzahl von versteckten Neuronen des neuronalen Netzwerks; und
  • 4 die Ermittlung von synthetischen Werten eines Merkmalsvektors in einem Merkmalsraum.
  • Wie eingangs dargelegt, befasst sich das vorliegende Dokument mit der Ermittlung einer möglichst optimalen Struktur, insbesondere mit der Ermittlung einer möglichst optimalen Dimensionierung, für einen Klassifikator. Dabei sollen die Struktur und insbesondere die Dimensionierung des Klassifikators bereits zu einem frühen Stadium der Entwicklung einer Klassifikations-Anwendung (z. B. einer bestimmten Objekt-Klassifikations-Anwendung für bestimmte Objekte) in möglichst optimaler Weise und mit einem möglichst geringen Rechenaufwand festgelegt werden können.
  • In diesem Zusammenhang zeigt 1 ein neuronales Netzwerk als einen beispielhaften Klassifikator. Die Dimensionierung eines Klassifikators wird an dem Beispiel eines neuronalen Netzwerkes beschrieben. Es sei jedoch darauf hinwiesen, dass das in diesem Dokument beschriebene Verfahren auch auf andere Typen von Klassifikatoren angewendet werden kann.
  • Ein neuronales Netzwerk 100 kann eine Mehrzahl von Schichten 110, 120, 130 mit Neuronen 103 umfassen. In dem in 1 dargestellten Beispiel umfasst das neuronale Netzwerk 100 eine Eingangs-Schicht 110, eine versteckte Schicht 120 und eine Ausgangs-Schicht 130. Die Neuronen 103 der Eingangs-Schicht 110 werden mit dem Wert x eines Merkmalsvektors 101 beaufschlagt. Der Wert x des Merkmalsvektors 101 kann z. B. auf Basis der Sensordaten von ein oder mehreren Umfeldsensoren eines Fahrzeugs ermittelt werden. Beispielsweise kann ein Fahrzeug ein oder mehrere Bildkameras, ein oder mehrere Radarsensoren, ein oder mehrere Ultraschallsensoren, ein oder mehrere Lidar-Sensoren, etc. umfassen, mit denen das aktuelle Umfeld des Fahrzeugs erfasst werden kann. Aus den Sensordaten dieser ein oder mehreren Umfeldsensoren kann der aktuelle Wert x eines Merkmalsvektors ermittelt werden. Dabei umfasst ein Merkmalsvektor als Vektordimensionen typischerweise eine Vielzahl von unterschiedlichen Merkmalen, für die jeweils auf Basis der Sensordaten ein Merkmals-Wert ermittelt wird. Aus den Werten der einzelnen Merkmale eines Merkmalsvektors ergibt sich dann der Wert x des Merkmalvektors 101.
  • Beispielhaft Merkmale sind statistische Auswertungen (z. B. Histogramme) der Pixel eines von einer Bildkamera erfassten Bildes, und/oder kantenbasierte Merkmale, wie z. B. ein HOG(Histogram of Oriented Gradients)-Modell, ein LBP(Local Binary Patterns)-Modell und/oder ein Wavelet-Modell. Die einzelnen Merkmale können dazu verwendet werden, das aktuelle Umfeld eines Fahrzeugs zu beschreiben. Der aktuelle Wert x eines Merkmalsvektors 101 kann daher auch als Deskriptor (z. B. als Deskriptor des aktuellen Umfelds eines Fahrzeugs) bezeichnet werden.
  • Das neuronale Netzwerk 100 kann für jede der Q Dimension bzw. Merkmale des Merkmalsvektors 101 ein Neuron 103 umfassen. Die Werte xq, mit q = 1, ..., Q, der Q Merkmale des Merkmalsvektors 101 werden dann über jeweils K Kanten 104 an K Neuronen 103 der versteckten Schicht 120 übergeben. Jede der KQ Kanten 104 gewichtet dabei den Merkmals-Wert mit einem Gewicht αkq. Die versteckten K Neuronen 103 der versteckten Schicht 120 können mittels einer sogenannten Aktivierungsfunktion G(αk, bk, x), mit k = 1, ..., K, eine Ausgabe oder Aktivierung zk = G(αk, bk, x) berechnen, die dann von den jeweiligen versteckten Neuronen 103 an L Ausgangs-Neuronen 103 der Ausgangs-Schicht 103 übergeben werden. In der o. g. Aktivierungsfunktion G(αk, bk, x) für das kte versteckte Neuron 103 ist ak = [αk1, ..., αk0] ein Gewichtungsvektor aus den Gewichten der Q Kanten, die von den Q Eingangs-Neuronen 103 zu dem kten versteckten Neuron 103 führen. bk ist der Schwellenwert des kten versteckten Neurons 103. Eine beispielhafte Aktivierungsfunktion ist die Sigmoide Funktion.
  • Die Ausgabe zk des kten versteckten Neurons 103 wird über L Kanten 104 an jede der L Ausgangs-Neuronen 103 übergeben, wobei jede Kante 104 ein Gewicht βlk, mit l = 1, ..., L, appliziert. Die Ausgabe yl des lten Ausgangs-Neurons 103 der Ausgangs-Schicht 130 ergibt sich dann als yl = Σlβlkzk. Die Ausgabe yl 102, mit l = 1, ..., L, der L Ausgangs-Neuronen 103 kann dabei die Zugehörigkeit zu einer bestimmten Klasse anzeigen. Beispielsweise kann ein Objektklassifikator darauf ausgelegt sein, anzuzeigen, ob ein bestimmtes Objekt im Umfeld eines Fahrzeugs vorhanden ist oder nicht. Die Ausgabe 102 kann in diesem Fall z. B. L = 2 Ausgangs-Neuronen 103 umfassen, die anzeigen, ob das Objekt vorhanden ist (Klasse l = 1) oder nicht (Klasse l = 2).
  • Zur Bereitstellung eines Klassifikators 100 (wie z. B. eines neuronalen Netzwerkes) mit einer hohen Klassifikationsgüte und/oder mit einer hohen Klassifikationsgeschwindigkeit muss zunächst die Struktur und/oder die Dimension des Klassifikators 100 festgelegt werden. Insbesondere muss bei dem in 1 dargestellten Netzwerk 100 die Anzahl K der versteckten Neuronen 103 festgelegt werden. Wie aus der 3a hervorgeht, hängt die Klassifikationsgüte 301 von der Anzahl K 302 der versteckten Neuronen 103 ab. Insbesondere kann sich für eine bestimmte Anzahl K 302 der versteckten Neuronen 103 eine optimale (d. h. maximale) Klassifikationsgüte 301 ergeben. Des Weiteren ist aus 3b zu entnehmen, dass die Trainingsdauer 303 zum Trainieren des Klassifikators 100 mit steigender Anzahl K 302 der versteckten Neuronen 103 ansteigt. Die Klassifikationsgeschwindigkeit sinkt dabei typischerweise mit steigender Anzahl K 302 der versteckten Neuronen 103. Zur Bereitstellung eines optimalen Klassifikators 100 sollte somit die Anzahl K 302 von versteckten Neuronen 103 bestimmt werden, durch die ein optimaler Kompromiss zwischen Klassifikationsgüte und Klassifikationsgeschwindigkeit ermöglicht wird. Eine zu hohe Anzahl K 302 von versteckten Neuronen 103 führt typischerweise zu einer reduzierten Klassifikationsgeschwindigkeit, einer abnehmenden Klassifikationsgüte und/oder einer relativ großen Chipfläche für einen Mikrochip, auf dem der Klassifikator 100 implementiert ist (was typischerweise zu erhöhten Produktionskosten und zu einem erhöhten Energieverbrauch führt). Andererseits führt eine zu geringe Anzahl K 302 von versteckten Neuronen 103 typischerweise zu einer signifikant reduzierten Klassifikationsgüte.
  • Eine Möglichkeit zur Optimierung der Klassifikator-Dimension 302, wie z. B. der Anzahl K von versteckten Neuronen 103, ist es, auf Basis von realen Trainingsdaten mit einer Vielzahl von Trainings-Datensätzen Klassifikatoren 100 mit unterschiedlichen Dimensionen 302 zu trainieren, und im Anschluss daran, den Klassifikator 100 auszuwählen, mit dem ein optimaler Kompromiss aus Klassifikationsgüte 301 und Klassifikationsgeschwindigkeit ermittelt werden kann. Dies ist jedoch, insbesondere in einem frühen Stadium der Entwicklung eines Klassifikators 100, nachteilig, da dieser Ansatz die Verwendung einer substantiellen und repräsentativen Menge an realen Trainingsdaten erfordert, die in einem frühen Stadium der Klassifikator-Entwicklung typischerweise nicht zur Verfügung stehen. Des Weiteren können selten auftretende Ereignisse und/oder Extremfälle durch reale Trainingsdaten meist nur unzureichend abgedeckt werden.
  • Die oben genannten Nachteile bei der Auswahl der Struktur eines Klassifikators 100 können durch die Generierung von synthetischen Trainingsdaten behoben werden. Die synthetischen Trainingsdaten können dabei derart generiert werden, dass auch Extremfälle und/oder selten auftretende Ereignisse abgedeckt sind. Dabei können die synthetischen Trainingsdaten auf Basis einer relativ kleinen Menge von realen Stichproben-Trainingsdatensätzen erzeugt werden. Auf Basis der Strichproben-Trainingsdatensätze können ein oder mehrere Teilräume des insgesamt möglichen Merkmalsvektorraums (in diesem Dokument auch als Gesamtraum bezeichnet) bestimmt werden. Die synthetischen Trainingsdatensätze können dann in Abhängigkeit von den ein oder mehreren Teilräumen bestimmt werden (z. B. durch Wahl von zufälligen Punkten innerhalb der ein oder mehreren Teilräume).
  • Die Struktur eines Klassifikators 100 kann insbesondere in folgender Weise ermittelt werden. Zunächst können Beispiel-Trainingsdaten (d. h. eine bestimmte Anzahl R von Stichproben-Datensätzen), die von ein oder mehreren Umfeldsensoren (z. B. von einer Kamera zur Fußgängererkennung) zur Verfügung gestellt werden, mit einem bestimmten Deskriptor in den Merkmalsraum transformiert werden. Man erhält somit R reale Werte xr, mit r = 1, ..., R, des Merkmalsvektors, durch die R reale Punkte in dem gesamten möglichen Merkmalsraum angezeigt werden. Diese Werte werden in diesem Dokument auch als Stichproben-Werte bezeichnet.
  • Des Weiteren umfassen die R realen Stichproben-Datensätze jeweils ein Label sr, mit r = 1, ..., R, das anzeigt, welcher Klasse der jeweilige Stichproben-Wert xr des Merkmalsvektors zugeordnet ist. Auf Basis der Label sr können Klassengrenzen zwischen den unterschiedlichen möglichen Klassen im Merkmalsraum ermittelt werden. 4 zeigt beispielhafte Stichproben-Werte 401, 402 eines Merkmalsvektors 101 in einem zweidimensionalen Merkmalsraum. Dabei entsprechen die Werte 401 (d. h. die nicht ausgefüllten Punkte) den Stichproben-Werten, die einer ersten Klasse angehören, und die Werte 402 (d. h. die ausgefüllten Punkte) den Stichproben-Werten, die einer zweiten Klasse angehören.
  • In einem weiteren Schritt kann eine Mehrzahl von Eigenschaften der Sensordaten (z. B. der Bilddaten) ermittelt werden. Beispielhafte Eigenschaften sind:
    • • die Anzahl Q von Merkmalen, die auf Basis der Sensordaten ermittelt werden kann. Aus der Anzahl Q ergibt sich die Dimension des Merkmalsraums. In dem in 4 dargestellten Beispiel ist Q = 2. Die Anzahl Q an Merkmalen entspricht dabei bevorzugt der Anzahl von Merkmalen, die für eine anschließende Trainingsphase des Klassifikators 100 (für eine konkrete Klassifikations-Anwendung) verwendet wird.
    • • der mögliche Wertebereich der einzelnen Merkmale. In 4 sind die Wertebereichsgrenzen 411, 412 für das erste Merkmal 410 und für das zweite Merkmal 420 dargestellt. Aus den Wertebereichen der Merkmale 410, 420 des Merkmalsvektors 101 ergibt sich der grundsätzlich mögliche Gesamt-Merkmalsraum bzw. Gesamtraum 400, aus dem Punkte als synthetische Werte des Merkmalsvektors 101 ausgewählt werden können.
    • • ein Ausmaß von Rauschen der Sensordaten. Ein Rauschen der Sensordaten führt typischerweise dazu, dass der Stichproben-Wert x 401, 402 eines Merkmalsvektors 101 keinen diskreten Punkt im Merkmalsraum 400, sondern eine Wolke 403 bildet. Diese, auf das Rauschen der Sensordaten zurückzuführende, Wolken können als Bestandteil der Teilräume des möglichen Merkmalsraums 400 betrachtet werden, aus denen die synthetischen Werte des Merkmalsvektors 101 gebildet werden können. Durch eine Quantifizierung des Rauschens der Sensordaten können die Größe und/oder die Form der Wolken 403 im möglichen Merkmalsraum 400 bestimmt werden.
    • • ein oder mehrere Eigenschaften einer Klassengrenze zwischen mindestens zwei Klassen. Insbesondere kann eine Klassengrenze als linear angesehen werden. Auf Basis der Stichproben-Werte 401, 402 und ggf. auf Basis ein oder mehrere Eigenschaften der Klassengrenze kann eine vorläufige Klassengrenze 404 zwischen zumindest zwei Klassen im möglichen Merkmalsraum 400 bestimmt werden. Auf Basis der vorläufigen Klassengrenze 404 können die synthetischen Labels für die synthetischen Werte des Merkmalsvektors 101 bestimmt werden.
    • • ein (minimaler) Abstand 405 der Werte 401, 402 des Merkmalsvektors 101 von der Klassengrenze 404.
  • Auf Basis der Eigenschaften der Sensordaten, insbesondere auf Basis der Extremwerte der Eigenschaften der Sensordaten, können dann synthetische Trainingsdaten generiert werden. Insbesondere können für die einzelnen Klassen Teilräume 407, 408 des insgesamt möglichen Merkmalsraums 400 bestimmt werden. Es können dann für jede der einzelnen Klassen synthetische Trainingsdaten (d. h. synthetische Werte 406, 409 des Merkmalsvektors 101) erzeugt werden. Dabei können mögliche Effekte wie das Rauschen der Sensordaten und/oder besondere Beleuchtungssituationen bei Bilddaten (z. B. die Beleuchtung eines Fußgängers) verstärkt werden, um auch Sondersituationen zu berücksichtigen.
  • Beispielsweise können zufällige Werte 409, 406 innerhalb eines Teilraums 407, 408 als synthetische Werte des Merkmalsvektors 101 ausgewählt werden. Die Anzahl M an synthetischen Trainingsdatensätzen (d. h. an synthetischen Werte des Merkmalsvektors 101) kann dabei (in etwa) der Anzahl von realen Trainingsdatensätzen entsprechen, die für die konkrete Trainingsphase des Klassifikators 100 verwendet wird.
  • Die Struktur und insbesondere die Dimensionierung des Klassifikators 100 (z. B. das Bestimmen der Anzahl K von versteckten Neuronen 103) kann dann auf Basis der M künstlich erzeugten (synthetischen) synthetischen Werte 409, 406 des Merkmalsvektors 101 erfolgen. Dabei können bestimmte Eigenschaften, wie z. B. eine minimale Klassengrenze, berücksichtigt werden. Die Struktur des Klassifikators 100 kann dabei derart ermittelt werden, dass die Klassifikationsgüte vergrößert (insbesondere maximiert) wird. Zu diesem Zweck kann z. B. eine iterative Brute-Force-Methode oder eine Gradienten-basierte Optimierung verwendet werden.
  • Beispielsweise können Klassifikatoren 100 mit unterschiedlichen Dimensionen (z. B. mit unterschiedlich vielen versteckten Neuronen 103) anhand der synthetischen Werte 409, 406 angelernt werden. Bei Verwendung eines Klassifikators 100 mit einer sogenannten extreme learning machine können dabei die Gewichte αk und die Schwellenwerte bk als Zufallswerte ausgewählt werden. Andererseits können die Gewichte βlk auf Basis der synthetischen Werte 409, 406 des Merkmalsvektors 101 bestimmt werden (z. B. um ein bestimmtes (quadratisches) Gütemaß zu maximieren). Nach Trainieren der unterschiedlich dimensionierten Klassifikatoren 100 kann die Klassifikationsgüte für jeden der Klassifikatoren 100 ermittelt werden (z. B. auf Basis von weiteren synthetischen Werten und/oder realen Werten des Merkmalsvektors 101). Es kann dann der Klassifikator 100 mit der relativ höchsten Klassifikationsgüte ausgewählt werden.
  • Der Klassifikator 100 mit der optimierten Dimensionierung, insbesondere mit der optimierten Anzahl K von versteckten Neuronen 103, kann dann auf einem Chip implementiert werden. Des Weiteren kann der Klassifikator 100 unter Verwendung von realen Trainingsdaten für eine bestimmte Klassifikations-Anwendung trainiert werden.
  • 2 zeigt ein Ablaufdiagramm eines beispielhaften Verfahrens 200 zur Dimensionierung eines Klassifikators 100, der eingerichtet ist, einen Wert x eines Merkmalsvektors 101 einer Klasse yl aus mindestens zwei unterschiedlichen Klassen zuzuweisen. Das Verfahren 200 umfasst das Ermitteln 201 von Stichproben-Datensätzen für die mindestens zwei unterschiedlichen Klassen auf Basis realer Sensordaten. Die realen Sensordaten können z. B. mittels ein oder mehrerer Umfeldsensoren eines Fahrzeugs erfasst worden sein. Außerdem umfasst das Verfahren 200 das Ermitteln 202, auf Basis der Stichproben-Datensätze, von Stichproben-Werten 401, 402 des Merkmalsvektors 101 für die mindestens zwei unterschiedlichen Klassen. Mit anderen Worten können die Stichproben-Datensätze in den Merkmalsraum transformiert werden. Zu diesem Zweck können für jeden Stichproben-Datensatz Merkmals-Werte xq für die Q Merkmale des Merkmalsvektors 101 ermittelt werden, und zu einem entsprechenden Stichproben-Wert x 401, 402 des Merkmalsvektors 101 zusammengefasst werden.
  • Das Verfahren 200 umfasst weiter das Erzeugen 203 von synthetischen Werten 409, 406 des Merkmalsvektors 101 für die mindestens zwei unterschiedlichen Klassen, in Abhängigkeit von den Stichproben-Werten 401, 402 des Merkmalsvektors 101. Insbesondere können für jede der mindestens zwei unterschiedlichen Klassen jeweils synthetische Werte 409, 406 des Merkmalsvektors 101 erzeugt werden. Dabei ist die Anzahl M der synthetischen Werte 409, 406 typischerweise signifikant größer (z. B. um mehrere Größenordnungen) als die Anzahl R von Stichproben-Werten 401, 402 des Merkmalsvektors 101 (die auch als reale Werte 401, 402 des Merkmalsvektors 101 bezeichnet werden können, da sie jeweils direkt aus realen Sensordaten extrahiert wurden).
  • Außerdem umfasst das Verfahren 200 das Dimensionieren 204 des Klassifikators 100 auf Basis der synthetischen Werte 409, 406 des Merkmalsvektors 101 für die mindestens zwei unterschiedlichen Klassen. Insbesondere können die synthetischen Werte 409, 406 des Merkmalsvektors 101 dazu verwendet werden, unterschiedlich dimensionierte Klassifikatoren 100 (z. B. Klassifikatoren 100 mit einer unterschiedlichen Anzahl K von versteckten Neuronen 103) zu trainieren. Es kann dann anhand von Verifikationsdaten (z. B. anhand von realen Sensordaten) die Klassifikationsgüte der unterschiedlich dimensionierten trainierten Klassifikatoren 100 verglichen werden, und es kann der Klassifikator 100 ausgewählt werden, der die beste Klassifikationsgüte liefert. Somit wird es ermöglicht, den Klassifikator 100 auf Basis der synthetischen Werte 409, 406 des Merkmalsvektors 101 zu dimensionieren. Der derart dimensionierte Klassifikator 100 kann dann für die konkrete Anwendung mit Trainingsdaten trainiert werden, die (ggf. ausschließlich) Trainingsdatensätze aus realen Sensordaten umfassen.
  • Die in diesem Dokument beschriebenen Maßnahmen ermöglichen es, die Klassifikationsgüte von Objektklassifikatoren 100 in effizienter Weise, gezielt und gerichtet zu optimieren. So kann insbesondere die richtige Erkennung von Fußgängern im Straßenverkehr verbessert werden, was den Komfort und die Sicherheit eines Fahrzeugs erhöht. Des Weiteren kann bereits in einem frühen Entwicklungsstadium die Dimensionierung eines Klassifikators 100 optimiert werden (insbesondere kann die Anzahl der versteckten Neuronen (d. h. der sogenannten hidden nodes) eines neuronalen Netzwerkes (z. B. einer sogenannten extreme learning machine) optimiert werden), was zu einer Verbesserung und/oder Verkürzung der Klassifikationsdauer und Trainingsdauer führt. Eine verkürzte Trainingsdauer ermöglicht weiterführende Anwendungen wie Online-Learning, so dass z. B. eine Fahrzeugfunktion während des Betriebs des Fahrzeugs durch Lernen weiterverbessert und/oder personalisiert werden kann. Eine Verkürzung der Klassifikationsdauer führt dazu, dass die Zeit bis zur Entscheidungsfindung des Klassifikators 100 (insbesondere bei gefährlichen Situationen mit Fußgängerbeteiligung) substantiell verkürzt werden kann. Dies ist besonders für sicherheitskritische Echtzeit-Anwendungen im Bereich des hochautomatisierten Fahrens vorteilhaft.
  • Die in diesem Dokument beschriebenen Maßnahmen ermöglichen es, die Hardware eines Klassifikators 100 auf Basis der ermittelten Dimensionierung bereits vor Fertigstellung des eigentlichen Klassifikations-Algorithmus zu spezifizieren (auf Basis der Analyse einer begrenzten Menge von realen Sensordaten). Dabei können nicht erforderliche Über-Dimensionierungen der Hardware (z. B. die Bereitstellung einer überhöhten Anzahl von versteckten Neuronen) vermieden werden, so dass Chipfläche für die Klassifikator-Hardware eingespart werden kann, was die Produktionskosten senkt und Ressourcen einspart.
  • Die vorliegende Erfindung ist nicht auf die gezeigten Ausführungsbeispiele beschränkt. Insbesondere ist zu beachten, dass die Beschreibung und die Figuren nur das Prinzip der vorgeschlagenen Verfahren, Vorrichtungen und Systeme veranschaulichen sollen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Huang, G.-B., Zhu, Q.-Y., and Siew, C.-K., ”Extreme learning machine: Theory and applications,” Neurocornputing, vol. 70, no. 1–3, pp. 489–501, 2006 [0014]
    • Huang, G.-B., Wang, D., and Lan, Y., ”Extreme learning machines: a survey,” Int. J. Mach. Learn. & Cyber., vol. 2, no. 2, pp. 107–122, 2011 [0014]

Claims (11)

  1. Verfahren (200) zur Dimensionierung eines Klassifikators (100), der eingerichtet ist, einen Wert eines Merkmalsvektors (101) einer Klasse aus mindestens zwei unterschiedlichen Klassen zuzuweisen, wobei das Verfahren (200) umfasst, – Ermitteln (201) von Stichproben-Datensätzen für die mindestens zwei unterschiedlichen Klassen auf Basis realer Sensordaten; – Ermitteln (202), auf Basis der Stichproben-Datensätze, von Stichproben-Werten (401, 402) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen; – Erzeugen (203) von synthetischen Werten (409, 406) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen, in Abhängigkeit von den Stichproben-Werten (401, 402) des Merkmalsvektors (101); und – Dimensionieren (204) des Klassifikators (100) auf Basis der synthetischen Werte (409, 406) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen.
  2. Verfahren (200) gemäß Anspruch 1, wobei – das Verfahren (200) umfasst, Ermitteln ein oder mehrerer Eigenschaften der realen Sensordaten; – die ein oder mehreren Eigenschaften insbesondere umfassen: einen Wertebereich der Sensordaten; ein Ausmaß an Rauschen der Sensordaten; Extremwerte der Sensordaten und/oder Korrelationen zwischen den Sensordaten; und – die synthetischen Werte (409, 406) des Merkmalsvektors (101) in Abhängigkeit von den ein oder mehreren Eigenschaften erzeugt werden.
  3. Verfahren (200) gemäß einem der vorhergehenden Ansprüche, wobei – die realen Sensordaten Werte aus einem Sensordaten-Wertebereich annehmen können; – das Erzeugen (203) von synthetischen Werten (409, 406) des Merkmalsvektors (101) umfasst, Ermitteln eines Gesamtraums (400) von möglichen Werten des Merkmalsvektors (101) auf Basis des Sensordaten-Wertebereichs; und – die synthetischen Werte (409, 406) des Merkmalsvektors (101) derart erzeugt werden, dass sie in dem Gesamtraum (400) von möglichen Werten des Merkmalsvektors (101) liegen.
  4. Verfahren (200) gemäß Anspruch 3, wobei – das Erzeugen (203) von synthetischen Werten (409, 406) des Merkmalsvektors (101) umfasst, Ermitteln, in Abhängigkeit von den Stichproben-Werten (401, 402) des Merkmalsvektors (101), eines separaten Teilraums (407, 408) des Gesamtraums (400) für jede der mindestens zwei unterschiedlichen Klassen; – die synthetischen Werte (409, 406) des Merkmalsvektors (101) zumindest einen Punkt aus jedem der separaten Teilräume (407, 408) umfassen; und – die synthetischen Werte (409, 406) des Merkmalsvektors (101) insbesondere zufällig ausgewählte Punkte aus jedem der separaten Teilräume (407, 408) umfassen.
  5. Verfahren (200) gemäß Anspruch 4, wobei – das Ermitteln von zwei separaten Teilräumen (407, 408) für zwei Klassen umfasst, Ermitteln einer Klassengrenze (405) zwischen den zwei Klassen in Abhängigkeit von den Stichproben-Werten (401, 402) des Merkmalsvektors (101) für die zwei Klassen; und – die zwei separaten Teilräume (407, 408) derart ermittelt werden, dass die Klassengrenze (405) zwischen den zwei separaten Teilräumen (407, 408) verläuft.
  6. Verfahren (200) gemäß Anspruch 5, wobei – das Ermitteln eines Teilraums (407, 408) für eine Klasse umfasst, Ermitteln eines Mindestabstands (405) zu der Klassengrenze (405) von Werten des Merkmalsvektors (101) für die Klasse; und – ein synthetischer Wert (409, 406) des Merkmalsvektors (101) für die Klasse derart erzeugt wird, dass der synthetische Wert (409, 406) zumindest den Mindestabstand (405) zu der Klassengrenze (405) aufweist.
  7. Verfahren (200) gemäß einem der Ansprüche 4 bis 6, wobei das Ermitteln eines Teilraums (407, 408) für eine Klasse umfasst, – Ermitteln einer Streuung (403) der Stichproben-Werte (401, 402) des Merkmalsvektors (101) für die Klasse aufgrund von Rauschen der Sensordaten; und – Ermitteln des Teilraums (407, 408) für die Klasse in Abhängigkeit von der Streuung (403) der Stichproben-Werte (401, 402) des Merkmalsvektors (101).
  8. Verfahren (200) gemäß einem der vorhergehenden Ansprüche, wobei – der Klassifikator (100) ein neuronales Netzwerk mit einer versteckten Schicht (120) umfasst; und – das Dimensionieren (204) des Klassifikators (100) umfasst, Ermitteln einer Anzahl K von versteckten Neuronen (103) der versteckten Schicht (120) auf Basis der synthetischen Werte (409, 406) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen.
  9. Verfahren (200) gemäß einem der vorhergehenden Ansprüche, wobei – der Klassifikator (100) derart dimensioniert wird, dass eine Klassifikationsgüte des Klassifikators (100) vergrößert, insbesondere maximiert, wird; und – die Klassifikationsgüte auf Basis der synthetischen Werte (409, 406) des Merkmalsvektors (101) ermittelt wird.
  10. Verfahren (200) gemäß einem der vorhergehenden Ansprüche, wobei – der Klassifikator (100) eingerichtet ist, auf Basis von realen Sensordaten ein Objekt zu detektieren; und/oder – die zumindest zwei Klassen eine erste Klasse umfassen, die anzeigt, dass das Objekt detektiert wurde, und eine zweite Klasse umfassen, die anzeigt, dass das Objekt nicht detektiert wurde; und/oder – die realen Sensordaten Sensordaten von ein oder mehreren Umfeldsensoren eines Fahrzeugs umfassen; und/oder – ein Merkmalsvektor (101) eine Mehrzahl von Merkmalen (410, 420) umfasst, für die jeweils auf Basis der realen Sensordaten Merkmals-Werte ermittelt werden können, die zusammen einen Wert des Merkmalsvektors (101) ergeben; und/oder – auf Basis von jedem Stichproben-Datensatz ein Stichproben-Wert (401, 402) des Merkmalsvektors (101) ermittelt wird; und/oder – eine Anzahl R von Stichproben-Werten (401, 402) des Merkmalsvektors (101) um eine, zwei, drei oder mehr Größenordnungen kleiner ist als eine Anzahl M von synthetischen Werten (409, 406) des Merkmalsvektors (101).
  11. Recheneinheit zur Dimensionierung eines Klassifikators (100), der eingerichtet ist, einen Wert eines Merkmalsvektors (101) einer Klasse aus mindestens zwei unterschiedlichen Klassen zuzuweisen, wobei die Recheneinheit eingerichtet ist, – auf Basis realer Sensordaten Stichproben-Datensätze für die mindestens zwei unterschiedlichen Klassen zu ermitteln; – auf Basis der Stichproben-Datensätze, Stichproben-Werte (401, 402) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen zu ermitteln; – in Abhängigkeit von den Stichproben-Werten (401, 402) des Merkmalsvektors (101), synthetische Werte (409, 406) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen zu erzeugen; und – den Klassifikator (100) auf Basis der synthetischen Werte (409, 406) des Merkmalsvektors (101) für die mindestens zwei unterschiedlichen Klassen zu dimensionieren.
DE102016200854.4A 2016-01-21 2016-01-21 Verfahren und Recheneinheit zur Dimensionierung eines Klassifikators Active DE102016200854B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016200854.4A DE102016200854B4 (de) 2016-01-21 2016-01-21 Verfahren und Recheneinheit zur Dimensionierung eines Klassifikators

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016200854.4A DE102016200854B4 (de) 2016-01-21 2016-01-21 Verfahren und Recheneinheit zur Dimensionierung eines Klassifikators

Publications (2)

Publication Number Publication Date
DE102016200854A1 true DE102016200854A1 (de) 2017-07-27
DE102016200854B4 DE102016200854B4 (de) 2018-02-15

Family

ID=59295773

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016200854.4A Active DE102016200854B4 (de) 2016-01-21 2016-01-21 Verfahren und Recheneinheit zur Dimensionierung eines Klassifikators

Country Status (1)

Country Link
DE (1) DE102016200854B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021094076A1 (de) 2019-11-11 2021-05-20 Bayerische Motoren Werke Aktiengesellschaft Verfahren und vorrichtung zum trainieren eines energiemanagementsystems in einer energiebordnetzsimulation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ana Carolina Lorena, André C. P. L. F. de Carvalho, João M. P. Gama: A review on the combination of binary classifiers in multiclass problems. In: Artif. Intell. Re., 30, 2008, 19–37.
Helene Hoessler, Christian Wöhler, Frank Lindner, Ulrich Kreßel: Classifier training based on synthetically generated samples. In: Proceedings of the 5th International Conference on Computer Vision Systems, 2007, 1-10.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021094076A1 (de) 2019-11-11 2021-05-20 Bayerische Motoren Werke Aktiengesellschaft Verfahren und vorrichtung zum trainieren eines energiemanagementsystems in einer energiebordnetzsimulation

Also Published As

Publication number Publication date
DE102016200854B4 (de) 2018-02-15

Similar Documents

Publication Publication Date Title
DE102014210820B4 (de) Verfahren zum Nachweis von großen und Passagierfahrzeugen von festen Kameras
DE60208223T2 (de) Anordnung und verfahren zur gesichtserkennung unter verwendung von teilen des gelernten modells
EP3785177B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102018200724A1 (de) Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"
DE112016006360T5 (de) Verbessern eines lernens einer abstandsmetrik mit einem n-paar-verlust
DE112011104487T5 (de) Verfahren und System zur prädiktiven Modellierung
EP3393875B1 (de) Verfahren zum verbesserten erkennen von objekten durch ein fahrerassistenzsystem
DE102019127282A1 (de) System und Verfahren zum Analysieren einer dreidimensionalen Umgebung durch tiefes Lernen
DE102015208139A1 (de) Fahrzeuginsassenerfassung mittels des Abstands zwischen Beifahrer- und Fahrermerkmalen
DE112021006280T5 (de) Generieren von daten auf grundlage von vorab trainierten modellen unter verwendung generierender konkurrierender modelle
DE202022101590U1 (de) Ein System zur Klassifizierung von Fernerkundungsbildern unter Verwendung fusionierter Faltungsmerkmale mit maschinellem Lernen
DE102018127802A1 (de) Hybrider klassifikator eines gepulsten neuronalen netzwerks und einer support-vektor-maschine
WO2020260016A1 (de) Verfahren und vorrichtung zum trainieren eines maschinellen lernsystems
DE102016200854B4 (de) Verfahren und Recheneinheit zur Dimensionierung eines Klassifikators
DE19942223C2 (de) Klassifikationsverfahren mit Rückweisungsklasse
WO2021063572A1 (de) Vorrichtung und verfahren zum verarbeiten von daten eines neuronalen netzes
DE102022204722A1 (de) Verfahren zum Trainieren eines neuronalen Konvolutionsnetzwerks
DE102022201679A1 (de) Verfahren und Vorrichtung zum Trainieren eines neuronalen Netzes
DE102021202813A1 (de) Verfahren, Vorrichtung und Computerprogramm für eine Unsicherheitsbewertung einer Bildklassifikation
EP3973466A1 (de) Verfahren zum funktionsspezifischen robustifizieren eines neuronalen netzes
DE102020203135A1 (de) Verfahren zur Qualitätssicherung eines beispielbasierten Systems
DE102018121317A1 (de) Verfahren und Vorrichtung zur Schätzung einer durch eine Freiraumgeste vermittelten Richtungsinformation zur Bestimmung einer Benutzereingabe an einer Mensch-Maschine-Schnittstelle
DE102019207575A1 (de) Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes
EP3759644B1 (de) Identifizieren unbesetzter sitzplätze auf basis der detektion einer sich wiederholenden textur
DE102019219924B4 (de) Verfahren und Vorrichtung zum Erzeugen und Bereitstellen einer Datenbank mit darin hinterlegten Sensordatenpatches zur Verwendung beim Quilting

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009640000

Ipc: G06V0030192000