-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die Erfindung bezieht sich allgemein auf eine kamerabasierte Ermittlung eines freien Fahrwegs für ein Fahrzeug und insbesondere auf ein Verfahren und ein System zum Ermitteln eines freien Fahrwegs für ein Fahrzeug, welches einen durch Trainingsmuster geschulten Klassifikator verwendet, den Klassifikator basierend auf verlässlichen lokalen Testmustern aktualisiert und den aktualisierten Klassifikator verwendet, um Geschwindigkeit und Genauigkeit von Entscheidungen bezüglich eines freien Fahrwegs in der vorausliegenden Fahrbahn zu verbessern.
-
2. Diskussion des Standes der Technik
-
Viele moderne Fahrzeuge verwenden hoch entwickelte elektronische Systeme, die zum Erhöhen der Sicherheit, des Komforts und der Benutzerfreundlichkeit der Insassen vorgesehen sind. Unter diesen Systemen sind Fahrerassistenzsysteme zunehmend beliebt geworden. Fahrerassistenzsysteme benötigen Informationen darüber, was vor dem Fahrzeug liegt, um zu ermitteln, ob jegliche Art einer Fahrerwarnung ausgegeben werden soll oder Ausweichaktionen ergriffen werden sollen.
-
Zahlreichen Technologien zur Fahrbahnermittlung können von Fahrerassistenzsystemen genutzt werden, um zu Bestimmen, ob der Fahrweg vor dem Fahrzeug frei oder versperrt ist. Kamerabasierte Systeme werden weithin zur Ermittlung eines freien Fahrwegs verwendet, da sie sich als verlässlich und kostengünstig erwiesen haben. In kamerabasierten Systemen stellt eine Bordkamera Bilder des Fahrwegs vor dem Fahrzeug bereit und die Bilder werden mittels verschiedener Algorithmen verarbeitet, um zu Ermitteln, ob der vorausliegende Fahrweg frei ist oder nicht. Ein gebräuchliches Verarbeitungsverfahren ist die Verwendung von geschulten Klassifikatoren zum Ausführen einer Ermittlung eines freien Fahrwegs.
-
Geschulte Klassifikatoren sind eine Klasse von maschinellen Lerntechniken, in welchen ein Set von Trainingsmustern, in diesem Fall von Bildbereichen freier Fahrbahnen, verwendet wird, um ein Modell zu schulen, Bildbereiche von Fahrbahnen, welche erst noch befahren werden müssen, zu klassifizieren. Eine fundamentale Einschränkung von geschulten Klassifikatoren ist, dass lediglich eine endliche Anzahl von Trainingsmustern eingesetzt werden kann und in Umgebungen, die derart unterschiedlich sind, wie diejenigen, die in realen Fahrsituationen angetroffen werden, sicherlich Testmuster vorhanden sein werden, welche von jeglichen Trainingsmustern freier Fahrwege völlig verschieden sind, jedoch tatsächlich Bildbereiche von freien Fahrbahnen sind.
-
Es gibt ein Bedürfnis für ein Verfahren zur Ermittlung freier Fahrwege, welches seinen Klassifikator basierend auf neuesten Bildbereichen freier Fahrwege, welche korrekt klassifiziert wurden, kontinuierlich aktualisieren und anpassen kann. Ein derartiges Verfahren kann verwendet werden, um die Geschwindigkeit und Genauigkeit von Fahrerassistenzsystemen zu verbessern.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
In Übereinstimmung mit den Lehren der vorliegenden Erfindung werden ein Verfahren und ein System zum Ermitteln freier Fahrzeug-Fahrwege offenbart, welche adaptive maschinelle Lerntechniken einschließlich verlässlicher lokaler Modellaktualisierungen verwenden. Digitale Kamerabilder werden in Stücke segmentiert, von welchen charakteristische Merkmale, die Attribute wie beispielsweise Farbe und Beschaffenheit repräsentieren, extrahiert werden. Die Merkmale der Stücke werden durch einen Support Vector Machine-(SVM) oder andere maschinelle Lernklassifikatoren analysiert, welche zuvor geschult wurde, Bildbereiche mit freiem Fahrweg zu erkennen. Der SVM-Klassifikator wird unter Verwendung verlässlicher lokaler Testmuster, wie beispielsweise positiver Muster eines freien Fahrwegs, welcher gerade an dem Fahrzeug vorbeigezogen ist, adaptiv aktualisiert. Der sich ergebende Klassifikator, der kontinuierlich und adaptiv mit neuesten, verlässlichen Trainingsmustern aktualisiert wird, zeigt eine verbesserte Leistung und Genauigkeit im Analysieren von darauf folgenden Bildern auf die Existenz eines freien Fahrwegs hin.
-
Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung und den angehängten Ansprüchen in Verbindung mit den beigefügten Figuren ersichtlich.
-
KURZE BESCHREIBUNG DER FIGUREN
-
1 ist ein Blockdiagramm eines Systems, welches verwendet werden kann, um einen freien Fahrweg für ein Fahrzeug unter Verwendung einer adaptiven maschinellen Lerntechnik mit zusätzlichen Klassifikatoren zu ermitteln;
-
2 ist ein Flussdiagramm eines Klassifikator-Anpassungs-Verfahrens, das von dem System der 1 verwendet wird;
-
3 ist eine schematische Darstellung, die die in dem Verfahren von 2 verwendete Aktualisierung eines Sets von Datenelementen zeigt;
-
4 ist ein Blockdiagramm eines Systems, welches zur Ermittlung eines freien Fahrwegs unter Verwendung einer adaptiven Klassifikator-Aktualisierungs-Strategie, die mittels verlässlicher lokaler Modell-Aktualisierung implementiert ist, verwendet werden kann;
-
5 ist eine Darstellung von zwei funktionell äquivalenten Support Vector Machine (SVM) Trainingsmuster-Sets, die zeigt, wie lediglich lokale Trainingsmuster auf die SVM-Klassifikator-Grenze einwirken;
-
6 ist eine Darstellung, wie ein Klassifikator angepasst werden kann, lokale Trainings- und Testmuster zu bevorzugen;
-
7 ist ein Flussdiagramm eines von dem System der 4 verwendeten Klassifikator-Anpassungs-Verfahrens; und
-
8 ist ein Flussdiagramm einer alternativen Ausführungsform eines Klassifikator-Anpassungs-Verfahrens, welches von dem System der 4 verwendet werden kann.
-
DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Die folgende Diskussion der Ausführungsformen der auf eine adaptive Ermittlung eines freien Fahrwegs unter Verwendung von zusätzlichen Klassifikatoren gerichteten Erfindung ist rein exemplarischer Natur und in keinster Weise dazu gedacht, die Erfindung oder ihre Anwendungen oder ihre Verwendungen zu beschränken.
-
Fahrerassistenzsysteme in Fahrzeugen können wertvolle Warninformationen an Fahrer bereitstellen, jedoch lediglich, falls sie ein robustes Fahrbahnermittlungssystem mit einem Ermittlungsschema für freie Fahrwege beinhalten. Maschinelle Lerntechniken wie beispielsweise geschulte Klassifikatoren können zur Ermittlung freier Fahrwege in Kamerabildern einer Fahrbahn nützlich sein, jedoch kann die Effektivität von herkömmlichen geschulten Klassifikatoren in gewisser Weise durch die Tatsache limitiert werden, dass realistisch lediglich ein endliches Set von Trainingsmustern verwendet werden kann. Hierin werden Verfahren offenbart zum kontinuierlichen Aktualisieren und Anpassen von Klassifikatoren mit Daten von tatsächlichen Fahrbahnbildern, welche mit hoher Konfidenz klassifiziert wurden, wodurch die Geschwindigkeit und Effektivität der Klassifikatoren und des gesamten Fahrerassistenzsystems verbessert werden.
-
1 ist ein Blockdiagramm eines Systems 10, welches zur Ermittlung freier Fahrwege für ein Fahrzeug unter Verwendung einer adaptiven Klassifikator-Aktualisierungsstrategie, implementiert mittels eines zusätzlichen Klassifikators, verwendet werden kann. Das System 10 beinhaltet eine Kamera 12, welche gewöhnlich auf der Innenseite der Fahrzeugfrontscheibe in Vorwärtsrichtung angebracht ist. Die Kamera 12 kann zudem eine rückwärtsblickende Kamera sein, die in dem Bereich der rückwärtigen Stoßstange, des Kofferraums oder der Heckklappe des Fahrzeugs angebracht ist. Die hierin offenbarten Verfahrenen zum Ermitteln freier Fahrwege sind sowohl auf Vorwärts- als auch auf Rückwärtsfahrten anwendbar, solange Kamerabilder verfügbar sind. Die Kamera 12 kann ein Modell mit einer ziemlich geringen Auflösung sein, da Bilder mit hoher Auflösung schwieriger zu verarbeiten sind und eine hohe Auflösung im Allgemeinen nicht für eine Ermittlung freier Fahrwege erforderlich ist. Zudem können hoch auflösende Bildgebungsvorrichtungen nicht geeignet sein, um der harschen physikalischen Umgebung eines Fahrzeugs standzuhalten oder können zu groß sein, um für den vorliegenden Zweck geeignet zu sein. Die Kamera 12 stellt ein Bild an ein Vorverarbeitungs-Modul 14 bereit. Faktisch stellt die Kamera 12 einen kontinuierlichen Bilderstrom bereit und das System 10 muss Ermittlungen freier Fahrwege kontinuierlich in Echtzeit ausführen, was eine herausfordernde Aufgabe ist.
-
Das Vorverarbeitungs-Modul 14 verarbeitet jedes Bild unter Verwendung verschiedener Verfahren, wie beispielsweise Abschneiden (cropping), Skalieren, Linsenabschattungskorrektur, und anderer, vor. Linsenabschattung oder Vignettierung ist eine Verringerung der Bildhelligkeit oder -Sättigung am Bildrand verglichen mit dem Bildzentrum, wie von Fachleuten im Gebiet der Photographie oder Optik verstanden wird. Es gibt mehrere mögliche Ursachen von Vignettierung, einschließlich mechanischer, optischer oder natürlicher. Mechanische und optische Vignettierungen können weitgehend durch eine geeignete Bauart der Kamera 12 vermieden werden. Natürliche Vignettierung kann durch Anwenden einer Korrekturmaske auf das digitale Bild kompensiert werden, womit der Helligkeitsabfall an den Ecken des Bildes ausgeglichen wird. Obwohl dies nicht zwingend erforderlich ist, kann diese Kompensation in dem Vorverarbeitungs-Modul 14 ausgeführt werden. Die Vorverarbeitungs-Funktionen haben sich als die darauffolgende Verarbeitung in vielen Fällen effektiver machend gezeigt. Das Vorverarbeitungs-Modul 14 stellt anschließend die vorverarbeitenden Bilder an ein Segmentierungs-Modul 16 bereit.
-
Das Segmentierungs-Modul 16 segmentiert anschließend jedes Bild in Stücke zur weiteren Verarbeitung. In Computervision bezieht sich Segmentierung auf den Prozess des Partitionierens eines digitalen Bildes in mehrere Segmente (Sets von Pixeln). Das Ziel der Segmentierung ist es, die Darstellung eines Bilds in etwas, das aussagekräftiger und einfacher zu analysieren ist, zu vereinfachen und/oder zu ändern. Bildsegmentierung wird typischerweise verwendet, um Objekte und Grenzen in Bildern zu lokalisieren. Genauer gesagt ist Bildsegmentierung der Prozess des Zuordnens eines Labels zu jedem Pixel in einem Bild derart, dass Pixel mit demselben Label gewisse visuelle Charakteristiken teilen. Das Ergebnis der Bildsegmentierung ist ein Set von Segmenten, die kollektiv das gesamte Bild abdecken. Sämtliche der Pixel in einem Segment oder Bereich sind ähnlich in Bezug auf gewisse Charakteristiken oder berechnete Eigenschaften wie beispielsweise Farbe, Intensität oder Beschaffenheit. Benachbarte Segmente oder Bereiche sind verschieden in Bezug auf dieselben Charakteristiken.
-
Nach der Segmentierung werden die meisten oder sämtliche der Segmente, die auch als Stücke (patches) bekannt sind, auf potentiell freie Fahrwege hin analysiert. Jedoch können, abhängig von verfügbarer Prozessorleistung, nicht alle Stücke für ein Klassifikator-Training verwendet werden. Die Stückgröße ist ein Kriterium, das verwendet werden kann, um einzugrenzen, welche Stücke für ein Klassifikator-Training ausgewählt werden, wobei große Stücke wichtiger sind als kleine Stücke. Dies liegt daran, dass das Ziel des Systems 10 ist, einen freien Fahrweg für das Fahrzeug zu ermitteln, und kleine Stücke um die Peripherie des Bildes herum, welche einen entfernten Baum oder eine Wolke darstellen können, weniger wahrscheinlich einen freien Fahrweg darstellen. Anders ausgedrückt ist das Stück, das die unmittelbar vor dem Fahrzeug liegende Fahrbahn darstellt, normalerweise das größte und wichtigste Stück in jedem Bild. Das Begrenzen der Zahl an Stücken zum Klassifikator-Training verbessert damit die gesamte Verarbeitungsgeschwindigkeit. In einem Beispiel wird ein Stückgrößen-Schwellenwert als ein prozentualer Anteil an der Bildgröße verwendet, und lediglich Stücke, die den Schwellenwert überschreiten, werden für das Klassifikator-Training verwendet. Jedoch können, falls die Verarbeitungsgeschwindigkeit kein Thema ist, sämtliche Stücke verwendet werden – nicht nur auf potentiell freie Fahrwege hin analysiert, sondern auch benutzt zum Klassifikatortraining.
-
An Linie 18 werden ein oder mehrere Stücke als Ausgangsgröße von dem Segmentierungs-Modul 16 bereitgestellt. Ein Merkmals-Extraktions-Modul 20 verarbeitet die Stücke und extrahiert numerische Merkmale. Merkmalsarten, die in dem Merkmals-Extraktions-Modul 20 verwendet werden, können geometrische Merkmale, Farbmerkmale, Beschaffenheitsmerkmale und Merkmale von Histogrammen orientierter Gradienten (Histogram of Oriented Gradients features) beinhalten. Geometrische Merkmale beinhalten Stückgröße, Flächenmittelpunktsposition des Stücks und die Standardabweichung der Koordinaten sämtlicher Pixel in einem Stück. Farbmerkmale beinhalten den Mittelwert und die Standardabweichung der Farbwerte sämtlicher Pixel in einem Stück, wobei die Farbwerte in einem Farbraum wie beispielsweise YCbCr dargestellt sind. Transformierte Farben können ebenfalls als ein Merkmal verwendet werden. Beschaffenheitsmerkmale geben an, ob ein Stück sehr marmoriert ist, wie Blätter an einem Baum, oder sehr einheitlich ist, wie eine Oberfläche einer Asphaltstraße. Merkmale von Histogrammen orientierter Gradienten werden durch die Verteilung von Intensitätsgradienten in einem Bildsegment beschrieben. In sämtlichen der Merkmalsarten können die Merkmale auf das Relevanteste und am wenigsten Redundante herabselektiert werden. Merkmalsextraktions- und Selektionstechniken sind Fachleuten in dem Gebiet der Mustererkennung und des maschinellen Lernens gut bekannt.
-
Merkmale der ausgewählten Stücke werden anschließend einem ersten Klassifikator-Modul 22 bereitgestellt. In einem Beispiel verwendet das Klassifikator-Modul 22 eine Support Vector Machine(SVM)-Klassifikationsmethode, obgleich andere Arten von maschinellen Lern-Klassifikatoren verwendet werden könnten. SVMs sind überwachte maschinelle Lernverfahren, welche durch ein manuell ausgewähltes und manuell gekennzeichnetes Set von Trainingsmustern geschult werden. Das heißt, von Menschen ausgewählte Bildstücke, die mehrere Arten von freien Fahrwegen beinhalten, werden durch das Segmentierungs-Modul 16 und das Merkmals-Extraktions-Modul 20 verarbeitet, und der SVM-Algorithmus wird geschult, die Merkmalsmuster der Stücke mit freien Fahrwegen in diesen Bildern zu erkennen. Schließlich ordnet der in dem Klassifikator-Modul 22 verwendete SVM-Algorithmus jedem Stück, das verarbeitet wird, einen Wahrscheinlichkeitswert zu, wobei ein Wahrscheinlichkeitswert nahe 1 eine hohe Konfidenz eines freien Fahrwegs angibt und ein Wahrscheinlichkeitswert nahe 0 eine hohe Konfidenz eines nicht-freien Fahrwegs angibt.
-
Während der SVM-Algorithmus in dem Klassifikator-Modul 22 sehr effektiv ist beim Erlernen, Bildstücke, welche ähnlich zu den Trainingsmustern, die ihm zuvor erlernt wurden, richtig zu klassifizieren, wird es unvermeidlich Bildstücke geben, welche er auf Grund der Begrenzung der Zahl an Trainingsmustern, welche verwendet werden können, nicht richtig handhaben kann. Ein Beispiel eines problematischen Falles ist gegeben, wenn das Klassifikator-Modul 22 mit Bildstücken von befestigten Fahrbahnen geschult wird und das Fahrzeug anschließend einer Fahrbahn mit grobem Schmutz oder Schotter begegnet. In einer derartigen Situation können die Farb- und Beschaffenheits-Merkmale des großen Stücks in dem Bild signifikant von jedem dem SVM-Algorithmus bekannten Fahrbahnmuster abweichen und es ist wahrscheinlich, dass die unbefestigte Fahrbahn fälschlich als ein nicht-freier Fahrweg klassifiziert wird. Diese Art von Situation ist als eine falsch-negative bekannt. Falsch-positive sind ebenfalls möglich, in denen der SVM-Algorithmus fälschlich ein Stück als einen freien Fahrweg klassifiziert, wenn tatsächlich eine Art Struktur oder Objekt in dem Stück vorhanden ist. Durch Hinzufügen eines adaptiven Klassifikators, der mit Bildstücken des momentanen Fahrtrips geschult wird, einschließlich Lichtverhältnissen und Fahrbahnarten, die gegenwärtig von dem Fahrzeug wahrgenommen werden, kann die Genauigkeit der Ermittlung freier Fahrwege verbessert werden.
-
Um die Beschränkungen herkömmlicher SVM-Klassifikatoren zu überwinden, kann ein zweiter, adaptiver Klassifikator hinzugefügt werden. Während der SVM-Algorithmus in dem Klassifikator-Modul 22 mit einem festgelegten Set von Trainingsmustern geschult wird, lernt ein adaptiver Klassifikator kontinuierlich von tatsächlichen Testmustern. Ein adaptiver Klassifikator ist in einem Klassifikator-Anpass-Modul 30 implementiert, welches Modelldaten von einem Anpass-Modell-Aktualisierungs-Modul 26 empfängt. Zusammenfassend werden Stücke von dem Klassifikator-Modul 22 mit einer hohen Konfidenz eines entweder freien Fahrwegs oder nicht-freien Fahrwegs auf Linie 24 dem Anpass-Modell-Aktualisierungs-Modul 26 bereitgestellt, wo sie als Trainingsmuster verwendet werden. Daten von dem Anpass-Modell-Aktualisierungs-Modul 26 werden anschließend an das Klassifikator-Anpass-Modul 30 bereitgestellt, welches Stücke mit niedriger Konfidenz von dem Klassifikator-Modul 22 auf Linie 28 empfängt. Das Klassifikator-Anpass-Modul 30 kann anschließend einen Konsistenzwert bestimmen, welcher ein Anzeichen dafür ist, wie ähnlich das ausgewertete Stück bekannten Stücken freier Fahrwege, welche zuvor auf der Fahrbahn angetroffen wurden, ist.
-
Der Konsistenzwert von dem Klassifikator-Anpass-Modul 30 wird auf Linie 32 zusammen mit dem Wahrscheinlichkeitswert von dem Klassifikator-Modul 22 auf Linie 34 einem gemeinsamen Entscheidungs-Modul 36 bereitgestellt. Die Funktion des gemeinsamen Entscheidungs-Moduls 36 ist es, eine Gesamtentscheidung darüber, ob das Stück einen freien Fahrweg darstellt, basierend auf den Eingangsgrößen auf den Linien 32 und 34 zu erreichen. Ermittelte Ergebnisse freier Fahrwege werden als Ausgangsgröße auf Linie 38 bereitgestellt, wo sie durch ein Fahrerassistenzsystem genutzt werden können. Details des Betriebs der Module 26, 30 und 36 werden nachfolgend erläutert.
-
2 ist ein Flussdiagramm 40 eines Klassifikator-Anpass-Verfahrens, das von dem Anpass-Modell-Aktualisierungs-Modul 26 und dem Klassifikator-Anpass-Modul 30 verwendet wird. Das Verfahren beginnt mit Datenelement 42, welches ein Bildstück von der Kamera 12 ist oder spezifischer die Merkmalsdaten für jegliche von einem Einzelbild der Kamera 12 ausgewählte Stücke sind. An Kasten 44 werden die Merkmalsdaten von dem Datenelement 42 durch den SVM-Algorithmus des ersten Klassifikator-Moduls 22 wie vorhergehend beschrieben verarbeitet. Die Ausgangsgröße des Kastens 44 ist ein Wahrscheinlichkeitswert für jedes Stück, wobei ein Wahrscheinlichkeitswert nahe 1 ein Stück mit freiem Fahrweg angibt und ein Wahrscheinlichkeitswert nahe 0 einen nicht-freien Fahrweg angibt. An Entscheidungsraute 46 werden die Stücke in Gruppen hoher Konfidenz und niedriger Konfidenz sortiert. Stücke hoher Konfidenz, welche beispielsweise Stücke mit einem Wahrscheinlichkeitswert größer als oder gleich 0,9 und Stücke mit einem Wahrscheinlichkeitswert geringer als oder gleich 0,1 beinhalten, werden an Entscheidungsraute 48 bereitgestellt. An der Entscheidungsraute 48 werden die Stücke in diejenigen mit sehr hoher Wahrscheinlichkeit und diejenigen mit sehr geringer Wahrscheinlichkeit sortiert. Die Stücke mit sehr geringer Wahrscheinlichkeit, ein Stück mit freiem Fahrweg zu sein, wie beispielsweise diejenigen mit einem Wahrscheinlichkeitswert geringer als oder gleich 0,1, werden nicht für das Klassifikator-Training verwendet und werden an Endpunkt 50 gesendet, wo sie als Stücke hoher Konfidenz von nicht-freiem Fahrweg in dem Assistenzsystem verwendet werden. Die Stücke mit sehr hoher Wahrscheinlichkeit, ein Stück mit freiem Fahrweg zu sein, wie beispielsweise diejenigen mit einem Wahrscheinlichkeitswert größer als oder gleich 0,9 werden dem Block 52 mit gegenwärtigen Daten bereitgestellt, wo sie als Stücke mit hoher Konfidenz eines freien Fahrwegs in dem Fahrerassistenzsystem verwendet werden, und werden zudem für ein Klassifikator-Training verwendet, wie unten stehend beschrieben wird. Die Werte 0,1 und 0,9 werden hier als Beispiele verwendet; andere Schwellenwerte könnten verwendet werden.
-
Der Block 52 mit gegenwärtigen Daten speichert die Merkmalsdaten für jedes Stück mit einer sehr hohen Wahrscheinlichkeit eines freien Fahrwegs von dem gegenwärtigen Einzelbild der Kamera 12. Wenn ein neues Einzelbild verarbeitet wird, verschieben sich die Daten von dem Block 52 mit gegenwärtigen Daten zu Block 54 mit vorherigen Daten, und die neuen Stückdaten mit hoher Wahrscheinlichkeit werden in dem Block 52 mit gegenwärtigen Daten empfangen. Dieses Verfahren wiederholt sich in Echtzeit für den kontinuierlichen Bilderstrom von der Kamera 12. An Entscheidungsraute 56 wird ein zweiter, höherer Schwellenwert auf die Stückdaten von dem Block 54 mit vorherigen Daten angewendet. Beispielsweise könnte der zweite Schwellenwert ein Wahrscheinlichkeitswert größer als 0,95 sein. Stücke, welche den Schwellenwert an der Entscheidungsraute 56 nicht treffen oder überschreiten, werden an Endpunkt 58 verworfen. Stücke, welche den zweiten Schwellenwert an der Entscheidungsraute 56 treffen oder überschreiten, werden an Datenpool 60 weitergereicht. Der Datenpool 60 beinhaltet Cluster von Daten von zuvor empfangenen Stücken.
-
3 ist ein schematisches Diagramm 80, das zeigt, wie Stückdaten in dem Block 52 mit gegenwärtigen Daten, in dem Block 54 mit vorherigen Daten und dem Datenpool 60 verarbeitet werden. Der Block 52 mit gegenwärtigen Daten beinhaltet ein Stuck 82, welches, wie vorhergehend beschrieben, groß genug sein muss, um signifikant zu sein, und eine genügend hohe Wahrscheinlichkeit, ein Stück mit freiem Fahrweg zu sein, besitzen muss, damit es den Schwellwerttest an der Entscheidungsraute 48 besteht, um das Anpassmodell zu aktualisieren. Indessen beinhaltet der Block 54 mit vorherigen Daten zwei Stücke; ein Stück 84 und ein Stück 86. Wie oben beschrieben, werden Stücke in dem Block 54 mit vorherigen Daten lediglich in dem Datenpool 60 beinhaltet, falls sie einen zweiten Schwellwerttest an der Entscheidungsraute 56 bestehen. Zum Zwecke der Erläuterung wird angenommen, dass das Stück 86 den zweiten Schwellwerttest an der Entscheidungsraute 56 nicht besteht, jedoch das Stück 84 dies tut. Daher muss das Stück 84 in den Datenpool 60 mit aufgenommen werden, wenn das nächste Bild in dem gegenwärtigen Block 52 verarbeitet wird. Eine Beschreibung, wie Stücke von dem Block 54 mit vorherigen Daten in den Datenpool 60 mit aufgenommen werden, folgt.
-
Während die Merkmalsdaten in dem Block 52 mit gegenwärtigen Daten und dem Block 54 mit vorherigen Daten für individuelle Stücke gespeichert werden, werden die Daten im dem Datenpool 60 zusammen in Cluster konzentriert. Cluster repräsentieren Merkmalsvektoren für Gruppen von Stücken, welche ähnliche Merkmalscharakteristiken besaßen. Angenommen dass, wenn der Datenaktualisierungs-Zyklus auftritt und das Stück 84 in den Datenpool 60 mit aufgenommen werden muss, drei Cluster existieren; nämlich Cluster 88, Cluster 90 und Cluster 92. Um zu ermitteln, welche Cluster, falls überhaupt, das Stück 84 beinhalten soll, wird der Abstand von dem Zentrum des Stücks 84 zu dem Zentrum von jedem der Cluster 88, 90 und 92 bestimmt. Das Minimum dieser drei Abstände wird ermittelt. Falls das Minimum der drei Abstände geringer ist als ein vorbestimmter Abstands-Schwellenwert, werden die Merkmalsdaten für das Stück 84 dann in den Cluster beinhaltet, welcher den minimalen Abstand besaß.
-
In einem ersten veranschaulichenden Beispiel wird angenommen, dass das Stück 84 einen minimalen Abstand zu dem Cluster 88 besitzt und dass dieser Abstand geringer ist, als der Schwellenwertabstand. In diesem Fall werden die Daten in dem Cluster 88 aktualisiert, um die Daten von dem Stück 84 zu beinhalten, das Zentrum des Clusters 88 wird neu errechnet und eine Zählernummer für den Cluster 88 wird um 1 erhöht, um anzugeben, dass ein zusätzliches Stück in dem Cluster 88 beinhaltet wurde. In einem zweiten veranschaulichenden Beispiel wird angenommen, dass das Stück 84 einen minimalen Abstand zu dem Cluster 88 besitzt, dieser Abstand jedoch größer ist als der Schwellwertabstand. In diesem Fall wird ein neuer Cluster 94 geschaffen, der lediglich die Daten von dem Stück 84 beinhaltet.
-
Für jeden Datenaktualisierungs-Zyklus werden jegliche sich qualifizierende Stücke von dem Block 54 mit vorherigen Daten zunächst in den Datenpool 60 mit aufgenommen und anschließend Stücke von dem Block 52 mit gegenwärtigen Daten in den Block 54 mit vorherigen Daten verschoben, anschließend werden die sich qualifizierenden Stücke von dem nächsten Kamerabild in den Block 52 mit gegenwärtigen Daten verschoben. Wie oben beschrieben bedeutet sich qualifizieren für den Datenpool 60 ein Treffen oder Überschreiten des Schwellenwerts an der Entscheidungsraute 56 und sich qualifizieren für den Block 52 mit gegenwärtigen Daten bedeutet ein Überschreiten des Stückgrößen-Schwellenwerts und des Wahrscheinlichkeits-Schwellenwerts der Entscheidungsraute 48.
-
Der Datenpool 60 könnte jedes Mal, wenn das Fahrzeug gestartet wird, rückgesetzt werden. Falls der Datenpool 60 leer ist, wenn ein Datenaktualisierungs-Zyklus auftritt, schafft jedes Stück von dem Block 54 mit vorherigen Daten, welches den Schwellwerttest an der Entscheidungsraute 56 besteht, einen ersten eigenen Cluster. Individuelle Cluster von dem Datenpool 60 könnten zudem periodisch ausgesondert werden – beispielsweise könnte ein Cluster von dem Pool 60 gelöscht werden, falls er für eine bestimmte Zeitdauer nicht inkrementiert wurde.
-
Das Diagramm 80 und dessen Beschreibung in den vorhergehenden Paragraphen wird am einfachsten in Form von geometrischen Merkmalen der Stücke visualisiert. Jedoch, da Merkmale mathematisch als Vektoren repräsentiert sind, sind die gleichen Verfahren und Berechnungen auf die anderen Merkmalstypen, die von dem Merkmals-Extraktions-Modul 20 geschaffen werden, nämlich Farbmerkmale, Beschaffenheitsmerkmale und Merkmale von Histogrammen orientierter Gradienten, anwendbar.
-
Zurück zu 2 – der Block 52 mit gegenwärtigen Daten, der Bock 54 mit vorherigen Daten und der Datenpool 60 sind sämtliche in dem Anpass-Modell-Aktualisierungs-Modul 26 des Systems 10 beinhaltet. Die gespeicherten Daten von dem Block 52 mit gegenwärtigen Daten, dem Block 54 mit vorherigen Daten und dem Datenpool 60 werden an einen zweiten geschulten Klassifikator in dem Klassifikator-Anpass-Modul 30 bereitgestellt, welches mit Kästen 62 und 64 dargestellt ist. Stücke niedriger Konfidenz, das heißt Stücke mit einem Wahrscheinlichkeitswert zwischen 0,1 und 0,9, werden dem Kasten 62 von der Entscheidungsraute 46 bereitgestellt. An dem Kasten 62 werden drei Abstände für jedes der von der Entscheidungsraute 46 empfangenen Stücke niedriger Konfidenz bestimmt. Der erste ist der minimale Abstand, bekannt als d_curr, von dem hereinkommenden Stück zu jeglichen Stücken, die in dem Block 52 mit gegenwärtigen Daten beinhaltet sind. In dem, in dem Diagramm 80 gezeigten Beispiel beinhaltet der Block 52 mit gegenwärtigen Daten lediglich das Stück 82. Daher ist d_curr der Abstand von dem hereinkommenden Stück zu dem Stück 82.
-
Der zweite an dem Kasten 62 bestimmte Abstand ist bekannt als d_prev, welcher der minimale Abstand von dem hereinkommenden Stück zu jedem in dem Block 54 mit vorherigen Daten enthaltenen Stück ist. In dem, in dem Diagramm 80 gezeigten Beispiel beinhaltet der Block 55 mit vorherigen Daten die Stücke 84 und 86. Daher ist d_prev das Minimum des Abstands von dem hereinkommenden Stück zu dem Stück 84 und dem Abstand von dem hereinkommenden Stück zu dem Stück 86. Der dritte an dem Kasten 62 bestimmte Abstand ist bekannt als d_pool, welcher der minimale Abstand von dem hereinkommenden Stück zu jedem der in dem Datenpool 60 enthaltenen Cluster ist.
-
An dem Kasten 64 wird ein Konsistenzwert bestimmt, welcher ein Anzeichen dafür ist, wie konsistent das hereinkommende Stück mit den Trainingsdaten in dem Anpass-Modell-Aktualisierungs-Modul 26 ist. Der Konsistenzwert kann an dem Kasten 64 mit einer gewichteten Funktion, wie beispielsweise einer algebraischen Summe, einer geometrischen Summe oder einer exponentiellen Summe, bestimmt werden. In einem Beispiel ist der Konsistenzwert an dem Kasten 64 eine gewichtete algebraische Funktion der drei Abstände d_curr, d_prev und d_pool, wobei die Gewichtungen für die Terme des gegenwärtigen Blocks und des vorherigen Blocks einen Wert von 1 zugeordnet bekommen können und die Gewichtung für den Pool-Term als die Zählernummer für den Zielcluster dividiert durch die Summe sämtlicher Zählernummern für alle Cluster in dem Datenpool 60 berechnet werden. Zusammenfassend konvertiert der Konsistenzwert gewichtete Abstände – von dem hereinkommenden Stück zu jedem der Elemente gespeicherter Daten, die in dem Anpass-Modell-Aktualisierungs-Modul 26 beinhaltet sind – in eine Wahrscheinlichkeit, dass das hereinkommende Stück ein freier Fahrweg ist.
-
An Kasten 66 wird eine gemeinsame Entscheidung für die Stücke niedriger Konfidenz erreicht, wobei die gemeinsame Entscheidung sowohl auf dem Wahrscheinlichkeitswert von dem ersten Klassifikator-Modul 22 als auch dem Konsistenzwert von dem Kasten 64 in dem Klassifikator-Anpassungs-Modul 30 basiert ist. Der an dem Kasten 66 bestimmte gemeinsame Entscheidungswert kann ein einfaches Mitteln des Wahrscheinlichkeitswerts und des Konsistenzwerts sein oder er kann eine gewichtete Funktion sein. Beispielsweise könnte dem Konsistenzwert von dem Kasten 64 eine höhere Gewichtung gegeben werden, da dieser Wert auf einem Klassifikator basiert ist, welcher mit Bildern von dem momentanen Fahrtrip geschult wird. Auf jeden Fall wird eine endgültige Entscheidung an Entscheidungsraute 68 erreicht und jedes Stück wird entweder als ein nicht-freier Fahrweg an Endpunkt 70 oder als ein freier Fahrweg an Endpunkt 72 ermittelt. Diese Ergebnisse werden in dem Fahrerassistenzsystem verwendet. Wie zuvor erwähnt, werden die Ergebnisse von den Stücken hoher Konfidenz eines nicht-freien Fahrwegs an dem Endpunkt 50 an den Endpunkt 70 gesendet, wo sie in dem Fahrerassistenzsystem verwendet werden. Entsprechend werden die Ergebnisse von den Stücken hoher Konfidenz eines freien Fahrwegs an dem Datenspeicher 52 zu dem Endpunkt 72 geschickt, wo sie in dem Fahrerassistenzsystem verwendet werden.
-
Einfach gesprochen kann der Zweck und die Wirkung des in dem Flussdiagramm 40 gezeigten Verfahrens wie folgt erklärt werden. Nachdem sie von dem ersten Klassifikator-Modul 22 evaluiert wurden, werden Stücke mit einer sehr hohen Wahrscheinlichkeit, eine freie Fahrbahn zu sein, in das Anpass-Modell-Aktualisierungs-Modul 26 geleitet, wo sie als Trainingsmuster dienen. Die in dem Anpass-Modell-Aktualisierungs-Modul 26 enthaltenen Trainingsmuster-Daten, welche kontinuierlich in Echtzeit aktualisiert werden, werden in einem zweiten geschulten Klassifikator in dem Klassifikator-Anpassungs-Modul 30 verwendet. Stücke, welche keine hohe Wahrscheinlichkeit, eine freie Fahrbahn zu sein, besitzen, werden durch den zweiten geschulten Klassifikator in dem Klassifikator-Anpassungs-Modul 30 geleitet. Mit dem Nutzen von Trainingsmustern von dem momentanen Fahrtrip kann das Klassifikator-Anpassungs-Modul 30 in der Lage sein, eine bessere Ermittlung darüber, ob ein Stück eine freie Fahrbahn repräsentiert oder nicht, zu treffen. Testdaten von einem Prototypsystem zeigen, dass das Verfahren in der Tat die Genauigkeit der Ermittlung eines freien Fahrwegs des Systems 10 verglichen mit einem ähnlichen System mit lediglich einem einzigen, nicht-adaptiven geschulten Klassifikator verbessert.
-
Andere Arten von adaptiv aktualisierten Klassifikatoren können ebenfalls für die Ermittlung freier Fahrwege neben dem oben beschriebenen Ansatz eines zusätzlichen Klassifikators verwendet werden. Ein Ansatz ist, lediglich einen einzigen Klassifikator für die Evaluierung eines freien Fahrwegs zu verwenden und diesen Klassifikator mit Trainingsmustern von dem momentanen Fahrtrip, welche bekanntermaßen einen freien Fahrweg repräsentieren, adaptiv zu aktualisieren. Das heißt, statt die Zahl an Klassifikatoren zu erhöhen, ist der Ansatz, einen einzigen Klassifikator mit ausgewählten lokalen Mustern anzureichern.
-
4 ist ein Blockdiagramm eines Systems 100, welches zur Ermittlung freier Fahrwege verwendet werden kann und eine adaptive Klassifikator-Aktualisierungs-Strategie, die mittels verlässlicher lokaler Modell-Aktualisierungen implementiert wird, verwendet. In dem System 100 wird ein einziger Klassifikator geschult, verlässliche lokale Testmuster zu bevorzugen, wobei die Testmuster sowohl in Bezug auf Ort und Zeit lokal sind.
-
Das System 100 beinhaltet eine Kamera 102, welche die gleiche Art von Vorrichtung ist und die gleichen Funktionen wie die Kamera 12 des Systems 10 ausführt. Die Kamera 102 stellt ein Bild an ein Vorverarbeitungs-Modul 104 bereit, welches das Bild vorverarbeitet. Das Vorverarbeitung-Modul stellt das Bild an ein Segmentierungs-Modul 106 bereit, welches das Bild segmentiert und eines oder mehrere Stücke auf Linie 108 an ein Merkmals-Extraktions-Modul 110 bereitstellt. Der Betrieb des Vorverarbeitungs-Moduls 104, des Segmentierungs-Moduls 106 und des Merkmals-Extraktions-Moduls 110 ist der gleiche wie zuvor für das Vorverarbeitungs-Modul 14, das Segmentierungs-Modul 16 und das Merkmals-Extraktions-Modul 20 des Systems 10 beschrieben. Das heißt die Ausgangsgröße des Merkmals-Extraktions-Moduls 110 ist ein Set von charakteristischen Merkmalsdaten für die von dem Segmentierungs-Modul 106 erzeugten Stücke.
-
Merkmals-Vektordaten werden auf Linie 112 an ein Modul 114 zur lokalen Trainings- und Testmuster-Gewinnung bereitgestellt, welches verlässliche lokale Muster, sowohl Trainings- als auch Testmuster, gewinnt, die zum Klassifikator-Training genutzt werden. Die Merkmals-Vektordaten werden zudem auf Linie 116 an ein Klassifikator-Anpassungs-Modul 118 bereitgestellt. Das Klassifikator-Anpassungs-Modul 118 wird durch Daten von dem Modul 114 zur lokalen Trainings- und Testmuster-Gewinnung geschult, wie im Detail unten stehend erläutert wird.
-
Die Motivation hinter dem System 100 ist, die Geschwindigkeit und Genauigkeit von SVM-Klassifikationen durch Betonen lokaler Trainings- und Testmuster zu verbessern. Dies basiert auf einem fundamentalen Prinzip von Support Vector Machine-Klassifikatoren, welches in 5 gezeigt ist. 5 ist eine Darstellung von zwei funktionell äquivalenten SVM-Trainingsmuster-Sets. Trainingsmuster-Set 130 beinhaltet eine relativ große Zahl an Trainingsmustern, einschließlich positiver Trainingsmuster 132 und negativer Trainingsmuster 134. Basierend auf den positiven Trainingsmustern 132 und den negativen Trainingsmustern 134 kann eine SVM-Klassifikator-Grenze 136 festgelegt werden.
-
Trainingsmuster-Set 140 beinhaltet eine verringerte Zahl an Trainingsmustern, einschließlich positiver Trainingsmuster 142 und negativer Trainingsmuster 144. Die positiven Trainingsmuster 142 sind eine Untermenge der positiven Trainingsmuster 132, welche am nächstgelegenen zu der SVM-Klassifikator-Grenze 136 sind, und die negativen Trainingsmuster 144 sind eine Untermenge der negativen Trainingsmuster 134, welche am nächstgelegenen zu der SVM-Klassifikator-Grenze 136 sind. Basierend auf den positiven Trainingsmustern 142 und den negativen Trainingsmustern 144 kann eine SVM-Klassifikator-Grenze 146 festgelegt werden, welche identisch mit der SVM-Klassifikator-Grenze 136 ist. Das heißt, eine SVM-Klassifikator-Grenze wird lediglich durch die Trainingsmuster, die am nächstgelegenen zu der Grenze sind, beeinflusst, nicht durch Fernfeld-Trainingsmuster. Da die Geschwindigkeit eines SVM-Klassifikators proportional ist zu der Zahl an beinhalteten Unterstützungsvektoren (support vectors), folgt, dass das Trainingsmuster-Set 140 einen Klassifikator größerer Geschwindigkeit und gleicher Genauigkeit, verglichen mit dem Trainingsmuster-Set 130, liefern wird.
-
Das in 5 gezeigte Prinzip kann auf einen adaptiven Klassifikator zur Ermittlung freier Fahrwege angewendet werden, um seine Geschwindigkeit und Genauigkeit zu verbessern.
-
6 ist eine Darstellung, wie ein Klassifikator angepasst werden kann, lokale Trainings- und Testmuster zu bevorzugen. Trainingsmuster-Set 150 beinhaltet positive Trainingsmuster 152 und negative Trainingsmuster 154. Diese sind typischerweise Merkmalsvektoren für von Menschen klassifizierte Bilder freier Fahrwege (positiv) und nicht-freier Fahrwege (negativ). Zudem sind ein positives vorheriges Testmuster 156 und ein negatives vorheriges Testmuster 158 gezeigt. Das positive vorherige Testmuster 156 und das negative vorherige Testmuster 158 sind die neuesten positiven bzw. negativen Testmuster und werden verwendet, um ein Oval 160 zu definieren, welches den lokalen Bereich von Interessen für ein Auswählen von Trainings- und Testmustern repräsentiert.
-
Testmuster-Set 170 beinhaltet positive Testmuster 172 und negative Testmuster 174, welche verlässlich klassifizierte Muster von einem kürzlichen Betrieb des Klassifikators sind. Zudem sind in dem Testmuster-Set 170 das positive vorherige Testmuster 156 und das negative vorherige Testmuster 158 zusammen mit dem Oval 160, welches den lokalen Bereich von Interesse definiert, gezeigt. Damit kann ein neues Trainingsmuster-Set 180 geschaffen werden unter Verwendung der Mitglieder der positiven Trainingsmuster 152, der negativen Trainingsmuster 154, der positiven Testmuster 172 und der negativen Testmuster 174, welche teilweise oder vollständig innerhalb des Ovals 160 liegen. Das heißt, das neue Trainingsmuster-Set 180 beinhaltet sowohl positive als auch negative Trainingsmuster, jedoch lediglich für Unterstützungsvektoren, welche lokal zu den vorherigen Testmustern 156 und 158 sind. Eine neue SVM-Klassifikator-Grenze 182 kann basierend auf den in dem neuen Trainingsmuster-Set 180 enthaltenen Daten festgelegt werden. Die Definition von lokal ist im Zusammenhang von Merkmals-Vektorraum diejenige der Abstands-Bestimmungen, die in 3 gezeigt sind.
-
Schließlich kann ein neues Klassifikator-Modell 190 genutzt werden, um die nächsten hereinkommenden Testmuster durch Verwendung der neuen SVM-Klassifikator-Grenze 182 zu klassifizieren. Unter Verwendung des neuen Klassifikator-Modells 190 werden die nächsten hereinkommenden Testmuster als beispielsweise ein positives momentanes Testmuster 192 und ein negatives momentanes Testmuster 194 klassifiziert.
-
Der in 6 gezeigte Klassifikator-Anpassungs-Ansatz kann dann in dem System 100 implementiert werden. 7 ist ein Flussdiagramm 200 eines Verfahrens zum Anpassen eines SVM-Klassifikators unter Verwendung von lokalen Trainingsmustern und verlässlichen lokalen Testmustern.
-
Das Verfahren beginnt mit Datenelement 202, welches ein Bildstück von der Kamera 102 ist oder spezifischer die Merkmalsdaten für jegliche von einem Einzelbild der Kamera 12 ausgewählte Stücke sind. Die Merkmalsdaten von dem Datenelement 202 werden an Kasten 204 zum Verarbeiten durch einen Klassifikator, beispielsweise einen SVM-Klassifikator, bereitgestellt. Die Ausgangsgröße des Kastens 204 ist ein Wahrscheinlichkeitswert für jedes Stück, welcher zum Ermitteln eines freien Fahrwegs oder eines nicht-freien Fahrwegs, wie unten stehend erläutert, verwendet wird und zudem als Eingangsgröße für eine Klassifikator-Anpassung verwendet wird. Wie zuvor für das Flussdiagramm 40 beschrieben, zeigt ein Wahrscheinlichkeitswert nahe 1 eine hohe Konfidenz für ein Stück mit freiem Fahrweg an und ein Wahrscheinlichkeitswert nahe 0 zeigt eine hohe Konfidenz für einen nicht-freien Fahrweg an. An Entscheidungsraute 206 werden die Stücke in Gruppen hoher Konfidenz und niedriger Konfidenz sortiert. Stücke niedriger Konfidenz, einschließlich beispielsweise Stücke mit einem Wahrscheinlichkeitswert zwischen 0,1 und 0,9, werden nicht weiter für Klassifikator-Trainingszwecke verwendet und werden an Endpunkt 208 verworfen. Stücke hoher Konfidenz, einschließlich Stücke mit einem Wahrscheinlichkeitswert größer als oder gleich 0,9 und Stücke mit einem Wahrscheinlichkeitswert geringer als oder gleich 0,1, werden an Entscheidungsraute 210 bereitgestellt. Die Werte 0,1 und 0,9 werden hier als Beispiele verwendet; andere Schwellwerte könnten verwendet werden.
-
An der Entscheidungsraute 210 werden die Stücke in diejenigen mit sehr hoher Wahrscheinlichkeit und diejenigen mit sehr geringer Wahrscheinlichkeit sortiert. Die Stücke mit sehr geringer Wahrscheinlichkeit, ein Stück mit freiem Fahrweg zu sein, beispielsweise diejenigen mit einem Wahrscheinlichkeitswert geringer als oder gleich 0,1, werden dem Datenspeicher 212 bereitgestellt, wo sie als verlässliche negative Testmuster für ein Klassifikator-Training, wie vorhergehend beschrieben, verwendet werden können. Die Stücke mit sehr hoher Wahrscheinlichkeit, ein Stück mit freiem Fahrweg zu sein, beispielsweise diejenigen Stücke mit einer Wahrscheinlichkeit, die einen ersten Schwellenwert, beispielsweise 0,9, überschreiten, werden Block 214 mit gegenwärtigen Daten bereitgestellt. Block 216 mit vorherigen Daten empfängt Stücke von dem Block 214 mit gegenwärtigen Daten jedes Mal, wenn ein neues Stück in den Block 214 mit gegenwärtigen Daten gelangt. Die Stücke von dem Block 216 mit vorherigen Daten werden wiederum gegen einen zweiten Schwellenwert, beispielsweise 0,95, an Entscheidungsraute 218 ausgewertet. Stücke, welche den zweiten Schwellenwert an der Entscheidungsraute 218 nicht treffen oder überschreiten, werden an Endpunkt 220 verworfen.
-
Stücke, welche den zweiten Schwellenwert an der Entscheidungsraute 218 überschreiten, werden in einen Datenpool 222 mit aufgenommen, welcher Cluster von Daten von zuvor empfangenen Stücken beinhaltet. Das Mitaufnehmen von Stücken in die Datencluster in dem Datenpool 222 wird in der gleichen Art wie vorhergehend für den Datenpool 60 in dem schematischen Diagramm 80 beschrieben gehandhabt.
-
Daten von dem negativen Testmuster-Datenspeicher 212, dem Bock 214 mit gegenwärtigen Daten, dem Block 216 mit vorherigen Daten und dem Datenpool 222 können genutzt werden, den Klassifikator an dem Kasten 204 adaptiv zu schulen. Jedoch ist es, wie im Zusammenhang mit 6 oben stehend erläutert wurde, wünschenswert, lediglich verlässliche Testvektoren zu verwenden, welche lokal zu dem gegenwärtigen Bild (lokal im Merkmals-Vektorraum) sind. Zum Zweck des Auswählens von lediglich lokalen Testvektoren wird Kasten 228 hinzugefügt, welcher Positionsinformationen von dem Datenelement 202 empfängt. Die Ausgangsgröße des Kastens 228 ist ein Set von verlässlichen, lokalen Test-Unterstützungs-Vektoren (test support vectors).
-
Stückdaten von dem Datenelement 202 werden zudem an Kasten 224 bereitgestellt, wo sie verwendet werden, nahegelegene Trainings-Unterstützungs-Vektoren zu identifizieren. Es ist anzumerken, dass das Klassifizieren vor dem Kasten 224 nicht erforderlich ist, da der Kasten 224 lediglich die Positionen der Stücke kennen muss, um Trainings-Unterstützungs-Vektoren, welche im Merkmals-Vektorraum nahegelegen sind, zu identifizieren. Die nahegelegenen Trainings-Unterstützungs-Vektoren von dem Kasten 224 werden an Datenspeicher 226 bereitgestellt. Daten von dem Kasten 228 lokaler Test-Unterstützungs-Vektoren und dem Datenspeicher 226 von nahegelegenen Trainings-Unterstützungs-Vektoren können dann verwendet werden, den SVM-Klassifikator an dem Kasten 204 adaptiv umzuschulen, wie im folgenden erläutert wird.
-
In komplexen Klassifikations-Fragestellungen wie beispielsweise der vorliegenden Fragestellung einer bildbasierten Ermittlung freier Fahrwege, können SVM-Klassifikatoren besser ausgeführt werden, falls eine Kernel-Funktion hinzugefügt wird. Eher als durch das Fitting von nichtlinearen Kurven an komplexe Daten können SVM-Klassifikatoren die Komplexität durch Verwendung einer Kernel-Funktion handhaben, um die Daten in einen anderen Raum abzubilden, wo eine Hyperebene verwendet werden kann, um die Daten in Klassen zu separieren. Eine leistungsstarke und üblicherweise verwendete Kernel-Funktion ist die radiale Basisfunktion (RBF, Radial Basis Function), welche eine reellwertige Funktion ist, deren Wert lediglich von dem Abstand von einem Ursprung oder einem anderen Zentrum genannten Punkt abhängen.
-
Ein Gaußscher RBF-Kernel kann in dem SVM-Klassifikator an dem Kasten 204 verwendet werden, wobei die Kernel-Funktion definiert ist als: K(x, c) = exp(–γ||x – c||2) (1)
-
Wobei K die Kernel-Funktion ist, x der Merkmals-Vektor ist, der ausgewertet wird, ist, c das RBF-Zentrum ist, welches der Trainings-Merkmals-Vektor ist, der verwendet wird, und γ eine Konstante ist. Die Schreibweise exp(...) kennzeichnet die Basis e des natürlichen Logarithmus hoch dem Wert in Klammern.
-
Unter Verwendung von Anpassungs-Eingangsgrößen von dem Datenspeicher 212 negativer Testmuster, dem Block 214 mit gegen wärtigen Daten, dem Block 216 mit vorherigen Daten, dem Datenpool 222 und dem Datenspeicher 226 nahegelegener Trainings-Unterstützungs-Vektoren, kann der in Gleichung (1) definierte RBF-Kernel in den SVM-Klassifikator an dem Kasten 204 mit eingeschlossen werden, und damit der SVM-Klassifikator an dem Kasten 204 mit Daten von verlässlichen lokalen Testmustern kontinuierlich aktualisiert werden. Durch Verwenden lediglich verlässlicher Muster, das heißt denjenigen mit einer hohen Konfidenz, entweder ein freier Fahrweg oder ein nicht-freier Fahrweg zu sein, wird die Genauigkeit des SVM-Klassifikators an dem Kasten 204 verbessert. Durch Verwenden lediglich lokaler Muster, das heißt derjenigen nahe dem momentanen Stück im Vektorraum, wird die Geschwindigkeit des SVM-Klassifikators an dem Kasten 204 verbessert. Der Wahrscheinlichkeitswert für jedes Stück von dem SVM-Klassifikator an dem Kasten 204 wird an eine Entscheidungsraute 230 bereitgestellt, wo jedes Stück als ein nicht-freier Fahrweg an Endpunkt 232 oder als ein freier Fahrweg an Endpunkt 234 ermittelt wird.
-
Eine weitere verlässliche Datenquelle kann in die Eingangsgrößen an den RBF-Kernel, der in dem SVM-Klassifikator an dem Kasten 204 verwendet wird, mit eingeschlossen werden, das heißt Stücke für Bereiche, welche das Fahrzeug gerade passiert hat. Cluster in dem Datenpool 222 enthalten sicherlich Daten von Stücken für Bereiche, welche das Fahrzeug passiert hat, aber diese Daten sind in gewisser Weise durch die Zahl an Stücken in den Clustern verwässert. Das Hinzufügen eines Datenspeichers 236 mit passierten Bereichen legt extra Gewicht auf Stücke für Bereiche, welche das Fahrzeug kürzlich erfolgreich passiert hat, das heißt ohne ein Hindernis zu treffen oder Nicht-Fahrbahn-Bedingungen anzutreffen. Daten von dem Datenspeicher 236 mit passierten Regionen sind als weitere Form von Eingangsgrößen an den RBF-Kernel, der in dem SVM-Klassifikator an dem Kasten 204 verwendet wird, beinhaltet.
-
In 7 repräsentieren die Elemente 206–228 und 236 das in 4 gezeigte Modul 114 zur lokalen Trainings- und Testmuster-Gewinnung. Wie zuvor erläutert, wählt das Modul 114 zur lokalen Trainings- und Testmuster-Gewinnung lokale, verlässliche Trainings- und Testmuster aus, welche verwendet werden, den SVM-Klassifikator an dem Kasten 204 mittels des RBF-Kernel adaptiv zu schulen. Und der Kasten 204 in 7 repräsentiert das Klassifikator-Anpassungs-Modul 118, das in 4 gezeigt ist, welches wie erforderlich adaptiv aktualisiert wird und alle Bildstücke in Echtzeit evaluiert. Das Training des Klassifikator-Anpassungs-Moduls 118 durch das Modul 114 zur lokalen Trainings- und Testmuster-Gewinnung muss nicht die gesamte Zeit lang erfolgen. Beispielsweise kann, in einer Situation mit verhältnismäßig stabilem Fahrzustand, wie beispielsweise ausgedehnte Autobahnfahrten, der Klassifikator an dem Kasten 204 gut und vollständig in einer kurzen Zeitdauer geschult werden und das Modul 114 zur lokalen Trainings- und Testmuster-Gewinnung kann so lange umgangen werden, bis es wieder gebraucht wird. Die Verwendung des Moduls 114 zur lokalen Trainings- und Testmuster-Gewinnung kann durch einen Fahrzeugstart, durch eine Änderung in dem Fahrszenario (beispielsweise von Autobahn zu Stadt) oder durch das Vergehen eines bestimmten Zeitintervalls ausgelöst werden. Die Ausgangsgröße des Klassifikator-Anpassungs-Moduls 118, auf Linie 120 des Systems 100, ist eine Beurteilung eines freien Fahrwegs für das neueste Bild von der Kamera 102.
-
Die Beurteilung eines freien Fahrwegs wird in einem Fahrerassistenzsystem wie zuvor beschrieben verwendet.
-
8 ist ein Flussdiagramm 340 einer alternativen Ausführungsform eines Klassifikator-Anpassungs-Verfahrens, welches von dem System von 4 verwendet werden kann. In dieser Ausführungsform wird der Klassifikator an dem Kasten 204 wie zuvor verwendet, alle Stückdaten für eine Bestimmung eines freien Fahrwegs oder eines nicht-freien Fahrwegs zu klassifizieren. Jedoch wird der Klassifikator an dem Kasten 204 nicht verwendet, um zu ermitteln, welche Stücke verlässlich genug sind für ein adaptives Klassifikator-Training. Stattdessen wird ein weiterer Klassifikator an Kasten 302 hinzugefügt. Der Klassifikator an dem Kasten 302 wird lediglich durch Daten von dem Datenspeicher 226 nahegelegener Trainings-Unterstützungs-Vektoren und dem Datenspeicher 236 passierter Regionen adaptiv geschult. Das heißt der Klassifikator an dem Kasten 302 wird nicht durch die lokalen Test-Unterstützungs-Vektoren von dem Kasten 228 beeinflusst. Ein Ausgangswert von dem Kasten 302 wird an die Entscheidungsraute 206 rückgekoppelt, wo er basierend auf einem Wahrscheinlichkeitswert sortiert wird, durch die Datenelemente 212, 214, 216 und 222 verarbeitet wird und verwendet wird, um den Haupt-Klassifikator an dem Kasten 204 wie vorhergehend erläutert adaptiv zu schulen.
-
Unter Verwendung der zuvor beschriebenen Verfahren und Systeme kann die Geschwindigkeit und Genauigkeit einer Ermittlung freier Fahrbahnen in Fahrerassistenzsystemen verbessert werden. Die Verbesserung in Geschwindigkeit und Genauigkeit liefern einen Leistungsgewinn an die Fahrer von Fahrzeugen, die mit derartigen Systemen ausgestattet sind, und stellen ein differenzierendes Verkaufsmerkmal für Hersteller derartiger Fahrzeuge bereit.
-
Die vorhergehende Diskussion offenbart und beschreibt lediglich exemplarische Ausführungsformen der vorliegenden Erfindung. Ein Fachmann wird sofort anhand dieser Diskussion und anhand der beigefügten Figuren und Ansprüche erkennen, dass unterschiedliche Änderungen, Modifikationen und Variationen durchgeführt werden können, ohne von dem Geist und dem Rahmen der Erfindung, der in den nachfolgenden Ansprüchen definiert ist, abzuweichen.