-
EINFÜHRUNG
-
Die Offenbarung bezieht sich im Allgemeinen auf ein Verfahren zur Aktualisierung eines Identifikationsalgorithmus eines Fahrzeugs, das zur Identifizierung eines Objekts von Interesse verwendet wird, sowie auf ein Fahrzeug und System dafür.
-
Viele Fahrzeuge beinhalten ein Objekt-Identifikationssystem zum Erkennen eines Objekts in der Nähe des Fahrzeugs. Das Objekt-Identifikationssystem kann einen Sensor, wie beispielsweise eine Kamera, verwenden, der ein Bild aufnimmt oder erfasst. Ein Identifikationsalgorithmus kann verwendet werden, um ein Objekt von Interesse im erfassten Bild zu erkennen. Der Identifikationsalgorithmus kann trainiert werden, um das Objekt von Interesse zu identifizieren, indem ein Trainingssatz von Bildern verwendet wird, die eine oder mehrere Ansichten oder Variationen des Objekts des Interesses enthalten. Wenn ein Objekt in dem erfassten Bild ähnlich aussieht wie ein Objekt, das zuvor in einem oder mehreren der Trainingsbilder als das Objekt von Interesse identifiziert wurde, kann der Identifikationsalgorithmus bestimmen, dass das Objekt in dem erfassten Bild das Objekt von Interesse ist. Eine Fahrzeugsteuerung kann dann das Fahrzeug basierend auf der Identifizierung des Objekts von Interesse steuern.
-
BESCHREIBUNG
-
Ein Verfahren zum Aktualisieren eines Objektidentifikationsalgorithmus eines Fahrzeugs ist vorgesehen. Das Verfahren beinhaltet das Erfassen eines Bildes mit einem Bildsensor des Fahrzeugs. Ein Identifikationsalgorithmus, der auf einer Rechenvorrichtung des Fahrzeugs betreibbar ist, zeichnet dann eine Vielzahl von Begrenzungsrahmen in das Bild. Der Identifikationsalgorithmus analysiert jeden einzelnen der Vielzahl von Begrenzungsrahmen, um zu versuchen, ein Objekt von Interesse in jedem der jeweiligen Begrenzungsrahmen und/oder eine Komponente des Objekts von Interesse in jedem der jeweiligen Begrenzungsrahmen zu identifizieren. Wenn der Identifikationsalgorithmus ein Objekt von Interesse im Bild in einem entsprechenden der Begrenzungsrahmen erfolgreich identifiziert, definiert der Identifikationsalgorithmus das entsprechende der Vielzahl von Begrenzungsrahmen, die das identifizierte Objekt von Interesse als Objektgrenze enthalten. Wenn der Identifikationsalgorithmus eine Komponente des Objekts von Interesse im Bild in einem entsprechenden der Begrenzungsrahmen erfolgreich identifiziert, definiert der Identifikationsalgorithmus das jeweilige der Vielzahl von Begrenzungsrahmen, die die identifizierte Komponente des Objekts von Interesse als Komponentengrenze enthalten. Der Identifikationsalgorithmus berechnet dann einen ausgeschlossenen Betrag der Bauteilgrenze. Der ausgeschlossene Betrag ist ein Betrag der Bauteilgrenze, der nicht in der Objektgrenze enthalten ist. Wenn der ausgeschlossene Betrag gleich oder größer als ein Deckungsschwellenwert ist, übermittelt der Identifikationsalgorithmus das Bild an ein Rechenzentrum mit einem Kommunikator des Fahrzeugs.
-
In einem Aspekt des Verfahrens zur Aktualisierung des Identifikationsalgorithmus wird der ausgeschlossene Betrag mit dem Deckungsschwellenwert verglichen, um zu bestimmen, ob der ausgeschlossene Betrag kleiner als der Deckungsschwellenwert ist oder ob der ausgeschlossene Betrag gleich oder größer als der Deckungsschwellenwert ist. Wenn der ausgeschlossene Betrag unter dem Deckungsschwellenwert liegt, übermittelt der Identifikationsalgorithmus das Bild nicht an das Rechenzentrum.
-
In einem weiteren Aspekt des Verfahrens zur Aktualisierung des Identifikationsalgorithmus, wenn die Identifizierung das Bild an das Rechenzentrum übermittelt, übermittelt der Identifikationsalgorithmus weiterhin andere Fahrzeugdaten, die sich auf das Bild beziehen. Die anderen Fahrzeugdaten können unter anderem andere Bilder unmittelbar vor und nach dem Bild, GPS-Daten, Fahrzeugbetriebsdaten, Radardaten, LIDAR-Daten usw. beinhalten.
-
In einem weiteren Aspekt des Verfahrens zur Aktualisierung des Identifikationsalgorithmus kann ein zuvor nicht identifiziertes Objekt im Bild, das der identifizierten Komponente im Bild zugeordnet ist, im Rechenzentrum identifiziert werden. Wenn das zuvor nicht identifizierte Objekt im Bild identifiziert wird, wird das Bild zu einem Trainings-Bildsatz im Rechenzentrum hinzugefügt, um einen überarbeiteten Trainings-Bildsatz zu definieren. Der Identifikationsalgorithmus kann dann neu geschult werden, um das zuvor nicht identifizierte Objekt von Interesse anhand des überarbeiteten Bildersets zu erkennen und einen aktualisierten Identifikationsalgorithmus zu definieren. Der aktualisierte Identifikationsalgorithmus kann dann zur zukünftigen Verwendung auf die mobile Rechenvorrichtung des Fahrzeugs hochgeladen werden.
-
In einer Ausführungsform des Verfahrens zur Aktualisierung des Identifikationsalgorithmus wird ein Trennungsabstand vom Fahrzeug zur identifizierten Komponente im Bild geschätzt, wenn der ausgeschlossene Betrag gleich oder größer als der Deckungsschwellenwert ist. Der Trennungsabstand wird mit einem Abstandsschwellenwert verglichen, um zu bestimmen, ob der Trennungsabstand kleiner als der Abstandsschwellenwert ist, oder ob der Trennungsabstand gleich oder größer als der Abstandsschwellenwert ist. Eine Fahrzeugsteuerung kann dann das Fahrzeug unter Verwendung eines vordefinierten Steuermodus steuern, wenn der Trennungsabstand kleiner als der Abstandsschwellenwert ist.
-
Ein Objekt-Identifikationssystem ist ebenfalls vorhanden. Das Objekt-Identifikationssystem beinhaltet ein Rechenzentrum und ein Fahrzeug. Das Rechenzentrum beinhaltet ein zentrales Rechengerät. Das Fahrzeug beinhaltet einen Bildsensor, der zum Erfassen und Bilden betreibbar ist, einen Kommunikator, der zum Senden und Empfangen von Daten an und von dem Rechenzentrum betreibbar ist, und eine mobile Rechenvorrichtung in Verbindung mit der zentralen Rechenvorrichtung des Rechenzentrums. Die mobile Rechenvorrichtung beinhaltet einen Prozessor und einen Speicher. Der Speicher der mobilen Rechenvorrichtung beinhaltet einen Identifikationsalgorithmus. Der Prozessor der mobilen Rechenvorrichtung ist betreibbar, um den Identifikationsalgorithmus auszuführen, um ein Bild mit dem Bildsensor des Fahrzeugs zu erfassen. Eine Vielzahl von Begrenzungsrahmen wird dann im Bild gezeichnet. Jeder der Vielzahl von Begrenzungsrahmen wird analysiert, um zu versuchen, ein Objekt von Interesse darin zu identifizieren. Wenn ein Objekt von Interesse in einem entsprechenden der Vielzahl von Begrenzungsrahmen identifiziert wird, dann ist der jeweilige der Vielzahl von Begrenzungsrahmen, die das identifizierte Objekt von Interesse enthalten, als Objektgrenze definiert. Jeder der Vielzahl von Begrenzungsrahmen wird weiter analysiert, um zu versuchen, eine Komponente des darin enthaltenen Objekts zu identifizieren. Wenn eine Komponente des Objekts von Interesse in einem entsprechenden der Vielzahl von Begrenzungsrahmen identifiziert wird, dann ist das jeweilige der Vielzahl von Begrenzungsrahmen, die die identifizierte Komponente des Objekts von Interesse enthalten, als Komponentengrenze definiert. Anschließend wird ein ausgeschlossener Betrag der Bauteilgrenze berechnet. Der ausgeschlossene Betrag ist ein Betrag der Bauteilgrenze, der nicht in der Objektgrenze enthalten ist. Wenn der ausgeschlossene Betrag gleich oder größer als ein Deckungsschwellenwert ist, wird das Bild mit dem Kommunikator des Fahrzeugs an das Rechenzentrum übermittelt. Die zentrale Rechenvorrichtung beinhaltet einen Prozessor und einen Speicher mit einem Satz von Trainingsbildern und einem darin gespeicherten Trainingsalgorithmus. Der Prozessor der zentralen Rechenvorrichtung ist betreibbar, um den Trainingsalgorithmus auszuführen, um ein zuvor nicht identifiziertes Objekt im Bild zu identifizieren. Wenn ein zuvor nicht identifiziertes Objekt von Interesse im Bild identifiziert wird, wird das Bild im Trainingsbildsatz gespeichert, um einen überarbeiteten Trainingsbildsatz zu definieren. Der Identifikationsalgorithmus wird dann unter Verwendung des überarbeiteten Trainingsbildsatzes neu geschult, um einen aktualisierten Identifikationsalgorithmus zu definieren, um das zuvor nicht identifizierte Objekt zu identifizieren. Der aktualisierte Identifikationsalgorithmus wird von der zentralen Rechenvorrichtung im Rechenzentrum auf die mobile Rechenvorrichtung des Fahrzeugs hochgeladen, um von der mobilen Rechenvorrichtung später verwendet zu werden.
-
In einem Aspekt des Objekt-Identifikationssystems ist der Prozessor der mobilen Rechenvorrichtung betreibbar, um den Identifikationsalgorithmus auszuführen, um den ausgeschlossenen Betrag mit dem Deckungsschwellenwert zu vergleichen, um zu bestimmen, ob der ausgeschlossene Betrag kleiner als der Deckungsschwellenwert ist oder ob der ausgeschlossene Betrag gleich oder größer als der Deckungsschwellenwert ist. Wenn der ausgeschlossene Betrag unter dem Deckungsschwellenwert liegt, übermittelt der Identifikationsalgorithmus das Bild nicht an das Rechenzentrum.
-
Ein Fahrzeug ist ebenfalls vorhanden. Das Fahrzeug beinhaltet einen Bildsensor, der zum Erfassen eines Bildes in einem elektronischen Format betreibbar ist, einen Kommunikator, der zum Senden und Empfangen von Daten betreibbar ist, und eine mobile Rechenvorrichtung in Kommunikation mit dem Bildsensor und dem Kommunikator. Die mobile Rechenvorrichtung beinhaltet einen Prozessor und einen Speicher mit einem darin gespeicherten Identifikationsalgorithmus. Der Prozessor ist betreibbar, um den Identifikationsalgorithmus auszuführen, um ein Bild mit dem Bildsensor des Fahrzeugs zu erfassen und eine Vielzahl von Begrenzungsrahmen in das Bild zu zeichnen. Jeder der Vielzahl von Begrenzungsrahmen wird analysiert, um zu versuchen, ein Objekt von Interesse darin zu identifizieren. Wenn ein Objekt von Interesse in einem entsprechenden der Vielzahl von Begrenzungsrahmen identifiziert wird, dann ist der jeweilige der Vielzahl von Begrenzungsrahmen, die das identifizierte Objekt von Interesse enthalten, als Objektgrenze definiert. Jeder der Vielzahl von Begrenzungsrahmen wird analysiert, um zu versuchen, eine Komponente des darin enthaltenen Objekts zu identifizieren. Wenn eine Komponente des Objekts von Interesse in einem entsprechenden der Vielzahl von Begrenzungsrahmen identifiziert wird, dann ist der jeweilige der Vielzahl von Begrenzungsrahmen, die die identifizierte Komponente des Objekts von Interesse enthalten, als Objektgrenze definiert. Anschließend wird ein ausgeschlossener Betrag der Bauteilgrenze berechnet. Der ausgeschlossene Betrag ist ein Betrag der Bauteilgrenze, der nicht in der Objektgrenze enthalten ist. Wenn der ausgeschlossene Betrag gleich oder größer als ein Deckungsschwellenwert ist, wird das Bild mit dem Kommunikator des Fahrzeugs an das Rechenzentrum übermittelt. Der Prozessor ist in der Lage, den Identifikationsalgorithmus auszuführen, um weiterhin einen aktualisierten Identifikationsalgorithmus vom Rechenzentrum zu empfangen, das unter Verwendung des an das Rechenzentrum übermittelten Bildes neu trainiert wurde.
-
Dementsprechend verbessert das hierin beschriebene Verfahren die Effektivität des Identifikationsalgorithmus, der auf der mobilen Rechenvorrichtung des Fahrzeugs arbeitet. Durch Identifizieren von Komponenten eines Objekts von Interesse und Vergleichen der jeweiligen Komponentengrenze mit der Objektgrenze kann der Identifikationsalgorithmus bestimmen, ob der ausgeschlossene Betrag der Komponentengrenze größer oder kleiner als der Deckungsschwellenwert ist. Wenn der ausgeschlossene Betrag der Komponentengrenze niedrig ist, d.h. der ausgeschlossene Betrag kleiner als der Deckungsschwellenwert ist, dann liegt ein kleiner Teil der Komponentengrenze außerhalb der Objektgrenze, und der Identifikationsalgorithmus kann bestimmen, dass die identifizierte Komponente dem identifizierten Objekt zugeordnet ist. In diesem Fall sind keine weiteren Maßnahmen erforderlich. Im Gegensatz dazu, wenn der ausgeschlossene Betrag der Komponentengrenze hoch ist, d.h. der ausgeschlossene Betrag größer als der Deckungsschwellenwert ist, dann liegt ein großer Teil der Komponentengrenze außerhalb der Objektgrenze, und der Identifikationsalgorithmus kann bestimmen, dass die identifizierte Komponente nicht mit dem identifizierten Objekt verbunden ist. Wenn die identifizierte Komponente nicht mit dem identifizierten Objekt verbunden ist oder wenn kein Objekt identifiziert wurde, aber eine Komponente eines Objekts identifiziert wurde, dann kann ein zuvor nicht identifiziertes Objekt von Interesse in dem Bild vorhanden sein, das durch den Identifikationsalgorithmus nicht identifizierbar ist. Wenn unter diesen Umständen der ausgeschlossene Betrag der Bauteilgrenze gleich oder größer als der Deckungsschwellenwert ist, wird das Bild zur weiteren Auswertung an das Rechenzentrum übermittelt. Die zentrale Rechenvorrichtung des Rechenzentrums oder das Personal des Rechenzentrums kann das Bild analysieren und ein zuvor nicht identifiziertes Objekt identifizieren, das der identifizierten Komponente im Bild zugeordnet ist. Wenn ja, kann das Bild zu dem Satz von Trainingsbildern hinzugefügt werden, um den überarbeiteten Satz von Trainingsbildern zu definieren, und verwendet werden, um den Identifikationsalgorithmus neu zu trainieren, so dass der aktualisierte Identifikationsalgorithmus das Objekt beim nächsten Auftreffen auf das zuvor nicht identifizierte, im Bild enthaltene Objekt als Objekt von Interesse identifizieren kann.
-
Die oben genannten Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Lehre ergeben sich aus der folgenden detaillierten Beschreibung der bevorzugten Ausführungsformen für die Durchführung der Lehre in Verbindung mit den beigefügten Figuren.
-
Figurenliste
-
- 1 ist eine schematische Draufsicht auf ein Objekt-Identifikationssystem.
- 2 ist eine schematische Draufsicht auf ein Bild mit einem Objekt von Interesse.
- 3 ist ein Flussdiagramm, das ein Verfahren zum Trainieren eines Identifikationsalgorithmus veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Diejenigen, die über gewöhnliche Fähigkeiten in der Kunst verfügen, werden erkennen, dass Begriffe wie „über“, „unter“, „nach oben“, „nach unten“, „oben“, „unten“ usw. beschreibend für die Figuren verwendet werden und keine Beschränkungen des Umfangs der Offenbarung darstellen, wie sie durch die beigefügten Ansprüche definiert sind. Darüber hinaus können die Lehren hierin in Bezug auf funktionale und/oder logische Blockkomponenten und/oder verschiedene Verarbeitungsschritte beschrieben werden. Es ist zu beachten, dass solche Blockkomponenten aus einer Reihe von Hardware-, Software- und/oder Firmwarekomponenten bestehen können, die konfiguriert sind, um die angegebenen Funktionen auszuführen.
-
Unter Bezugnahme auf die FIGs., wobei gleiche Bezugszeichen gleiche Teile in den verschiedenen Ansichten anzeigen, wird in 1 ein Objekt-Identifikationssystem im Allgemeinen bei 20 dargestellt. Das Objekt-Identifikationssystem 20 wird verwendet, um Objekte zu identifizieren, auf die ein Fahrzeug 22 trifft. Das Fahrzeug 22 kann eine bewegliche Plattform beinhalten, wie beispielsweise, aber nicht beschränkt auf ein Auto, einen Lastfahrzeug, einen Van, ein Boot, einen Zug, ein ATV, ein UTV usw. Das Objekt-Identifikationssystem 20 kann als Teil eines anderen Fahrzeugsystems betrieben werden, wie beispielsweise, aber nicht beschränkt auf ein Fahrerassistenzsystem, ein teilautonomes Betriebssystem oder ein vollständig autonomes Betriebssystem.
-
Das Objekt-Identifikationssystem 20 beinhaltet das Fahrzeug 22 und ein Rechenzentrum 24. Das Fahrzeug 22 beinhaltet eine Rechenvorrichtung 26, einen Bildsensor 28 und einen Kommunikator 29. Die Rechenvorrichtung 26 des Fahrzeugs 22 kann hierin als die mobile Rechenvorrichtung 26 bezeichnet werden. Der Bildsensor 28 kann eine Kamera oder eine andere Vorrichtung beinhalten, die ein Bild 30 in einem digitalen oder elektronischen Format erfassen, erfassen und speichern kann. Der Bildsensor 28 ist in Verbindung mit der mobilen Rechenvorrichtung 26. Der Bildsensor 28 übermittelt das erfasste Bild 30 an die mobile Rechenvorrichtung 26. Das Fahrzeug 22 kann ferner andere Sensoren und/oder Systeme beinhalten, die Daten über den Betrieb des Fahrzeugs 22 an die mobile Rechenvorrichtung 26 übermitteln. So kann beispielsweise das Fahrzeug 22 ein LIDAR-System, ein Radarsystem, ein GPS-System, Geschwindigkeitssensoren, Beschleunigungssensoren usw. beinhalten.
-
Die mobile Rechenvorrichtung 26 kann als Computer, Steuermodul, Steuereinheit, Steuereinheit, Fahrzeugsteuerung usw. bezeichnet werden. Die mobile Rechenvorrichtung 26 beinhaltet einen Prozessor 32 und einen Speicher 34 und kann ferner Software, Hardware, Algorithmen, Verbindungen, Sensoren usw. zum Implementieren des Objekt-Identifikationssystems 20 am Fahrzeug 22 beinhalten. Als solches kann ein nachstehend beschriebenes Verfahren als Programm oder Algorithmus verkörpert werden, das zumindest teilweise auf der mobilen Rechenvorrichtung 26 funktionsfähig ist. Es sollte beachtet werden, dass die mobile Rechenvorrichtung 26 eine Vorrichtung beinhalten kann, die in der Lage ist, Daten von verschiedenen Sensoren zu analysieren, Daten zu vergleichen, Entscheidungen zu treffen und definierte Aufgaben auszuführen.
-
Die mobile Rechenvorrichtung 26 kann als ein oder mehrere digitale Computer oder Hostmaschinen mit jeweils einem oder mehreren Prozessoren 32, Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), elektrisch programmierbarem Nur-Lese-Speicher (EPROM), optischen Laufwerken, Magnetantrieben usw., einem Hochgeschwindigkeits-Taktgeber, Analog-Digital-Schaltungen (A/D-Schaltungen), Digital-Analog-Schaltungen (D/A-Schaltungen) und Ein-/Ausgabeschaltungen (PO-Schaltungen), I/O-Vorrichtungen und Kommunikationsschnittstellen sowie Signalkonditionierung und Pufferelektronik ausgeführt sein.
-
Der computerlesbare Speicher 34 kann ein nicht-flüchtiges/materielles Medium beinhalten, das an der Bereitstellung von Daten oder computerlesbaren Anweisungen beteiligt ist. Der Speicher 34 kann nichtflüchtig oder flüchtig sein. Nichtflüchtige Medien können beispielsweise optische oder magnetische Platten und andere persistente Speicher beinhalten. Volatile Medien können beispielsweise dynamischen Direktzugriffsspeicher (DRAM) beinhalten, der einen Hauptspeicher darstellen kann. Weitere Beispiele für Ausführungsformen für Speicher sind eine Diskette, eine flexible Diskette oder Festplatte, ein Magnetband oder ein anderes magnetisches Medium, ein CD-ROM-, DVD- und/oder anderes optisches Medium sowie andere mögliche Speichervorrichtungen wie Flash-Speicher.
-
Die mobile Rechenvorrichtung 26 beinhaltet den greifbaren, nichtflüchtigen Speicher 34, auf dem computerausführbare Anweisungen aufgezeichnet sind, einschließlich eines Identifikationsalgorithmus 36. Der Prozessor 32 der mobilen Rechenvorrichtung 26 ist konfiguriert zum Ausführen des Identifikationsalgorithmus 36. Der Identifikationsalgorithmus 36 implementiert ein Verfahren zum Identifizieren oder Klassifizieren von Objekten und Aktualisieren des Identifikationsalgorithmus 36, um die zukünftige Objekterkennung zu verbessern.
-
Das Rechenzentrum 24 befindet sich entfernt vom Fahrzeug 22. Das Rechenzentrum 24 kann einen oder mehrere feste Standorte beinhalten. Alternativ kann das Rechenzentrum 24 auch ein Cloud-basiertes Netzwerk beinhalten. Das Rechenzentrum 24 beinhaltet mindestens eine Rechenvorrichtung 38. Die Rechenvorrichtung 38 des Rechenzentrums 24 kann hierin als die zentrale Rechenvorrichtung 38 bezeichnet werden. Die mobile Rechenvorrichtung 26 des Fahrzeugs 22 ist zumindest periodisch mit der zentralen Rechenvorrichtung 38 über den Kommunikator 29 zur Datenübertragung verbunden. Der Kommunikator 29 kann eine Vorrichtung oder ein System beinhalten, die in der Lage ist, Daten zum und vom Fahrzeug 22 und dem Rechenzentrum 24 zu senden und zu empfangen. Die spezifische Art und Funktionsweise des Kommunikators 29 ist für die Lehren dieser Offenbarung nicht relevant, wird von den Fachleuten verstanden und wird daher hierin nicht im Detail beschrieben.
-
Die zentrale Rechenvorrichtung 38 beinhaltet einen Prozessor 40 und einen Speicher 42 und kann ferner Software, Hardware, Algorithmen, Verbindungen, Sensoren usw. beinhalten, um mindestens Teile des Objekt-Identifikationssystems 20 zu implementieren. Als solches kann ein nachstehend beschriebenes Verfahren als Programm oder Algorithmus verkörpert werden, das zumindest teilweise auf der zentralen Rechenvorrichtung 38 funktionsfähig ist. Es sollte beachtet werden, dass die zentrale Rechenvorrichtung 38 eine Vorrichtung beinhalten kann, die in der Lage ist, Daten von verschiedenen Sensoren zu analysieren, Daten zu vergleichen, Entscheidungen zu treffen und definierte Aufgaben auszuführen.
-
Die zentrale Rechenvorrichtung 38 kann als ein oder mehrere digitale Computer oder HostMaschinen mit jeweils einem oder mehreren Prozessoren 40, Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), elektrisch programmierbarem Nur-Lese-Speicher (EPROM), optischen Laufwerken, Magnetantrieben usw., einem Hochgeschwindigkeits-Taktgeber, Analog-Digital-Schaltungen (A/D-Schaltungen), Digital-Analog-Schaltungen (D/A-Schaltungen) und Ein-/Ausgabeschaltungen (I/O-Schaltungen), I/O-Geräten und Kommunikationsschnittstellen sowie Signalkonditionierung und Pufferelektronik ausgeführt sein.
-
Der computerlesbare Speicher 42 kann ein nicht-flüchtiges/materielles Medium beinhalten, das an der Bereitstellung von Daten oder computerlesbaren Anweisungen beteiligt ist. Der Speicher 42 kann nichtflüchtig oder flüchtig sein. Nichtflüchtige Medien können beispielsweise optische oder magnetische Platten und andere persistente Speicher beinhalten. Volatile Medien können beispielsweise dynamischen Direktzugriffsspeicher (DRAM) beinhalten, der einen Hauptspeicher darstellen kann. Weitere Beispiele für Ausführungsformen für Speicher sind eine Diskette, eine flexible Diskette oder Festplatte, ein Magnetband oder ein anderes magnetisches Medium, ein CD-ROM-, DVD- und/oder anderes optisches Medium sowie andere mögliche Speichervorrichtungen wie Flash-Speicher.
-
Die zentrale Rechenvorrichtung 38 beinhaltet den greifbaren, nichtflüchtigen Speicher 42, auf dem computerausführbare Anweisungen aufgezeichnet sind, einschließlich eines Trainingsalgorithmus 44. Ein Trainingssatz 45 der Bilder 46 kann weiterhin auf dem Speicher 42 der zentralen Rechenvorrichtung 38 gespeichert werden. Der Prozessor 40 der zentralen Rechenvorrichtung 38 ist konfiguriert zum Ausführen des Trainingsalgorithmus 44. Der Trainingsalgorithmus 44 implementiert zumindest teilweise das Verfahren zur Aktualisierung des Identifikationsalgorithmus 36, um die zukünftige Objekterkennung zu verbessern.
-
Wie vorstehend erwähnt, implementiert das Objekt-Identifikationssystem 20 ein Verfahren zum Aktualisieren des Identifikationsalgorithmus 36 des Fahrzeugs 22, der zur Identifizierung oder Klassifizierung von Objekten verwendet wird. Unter Bezugnahme auf 3 beinhaltet das Verfahren das Erfassen des Bildes 30 mit dem Bildsensor 28 des Fahrzeugs 22. Der Schritt zum Erfassen des Bildes 30 wird im Allgemeinen durch das Feld 100 in 3 angezeigt. Das exemplarische Bild 30 ist am besten in 2 dargestellt. Das Bild 30 wird von Objekten und Merkmalen aufgenommen, die in der Nähe des Fahrzeugs 22 angeordnet sind. Das Bild 30 kann aus einer Perspektive oder Richtung des Fahrzeugs 22 aufgenommen werden, wie beispielsweise einer Vorwärtsrichtung, einer Seitenrichtung, einer Rückwärtsrichtung usw. Das aufgenommene Bild 30 wird an die mobile Rechenvorrichtung 26 übermittelt und kann im Speicher 34 der mobilen Rechenvorrichtung 26 gespeichert werden.
-
In einer oder mehreren Ausführungsformen erhöht die mobile Rechenvorrichtung 26 einen Zähler 48 für jedes neue Bild 30, das erfasst und an die mobile Rechenvorrichtung 26 übermittelt wird. Der Schritt des Inkrementierens des Zählers 48 wird im Allgemeinen durch Feld 102 in 3 angezeigt. Der Zähler 48 kann für jedes erfasste Bild 30 um eins erhöht werden.
-
Der Identifikationsalgorithmus 36 analysiert das Bild 30, um ein Objekt zu identifizieren oder zu klassifizieren. Der Prozess, der vom Identifikationsalgorithmus 36 zur Identifizierung oder Klassifizierung eines Objekts im Bild 30 verwendet wird, wird von den Fachleuten verstanden und ist daher hierin nicht im Detail beschrieben. Der Identifikationsalgorithmus 36 zeichnet oder überlagert jedoch eine Vielzahl von Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 mit unterschiedlichen Größen, Formen und Positionen auf dem Bild 30. Die Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 können durch verschiedene zweidimensionale Polygonformen definiert werden, wie z.B., aber nicht beschränkt auf Quadrate, Rechtecke, Dreiecke, Sechsecke, etc. Der Schritt zum Zeichnen der Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 in der wird im Allgemeinen durch Kasten 110 in 3 angezeigt. Die genaue Anzahl, Größe und Lage der Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 ist für die Lehren dieser Offenbarung nicht relevant. Unter Bezugnahme auf 2 wird das Bild 30 mit einem ersten Begrenzungsrahmen 50, einem zweiten Begrenzungsrahmen 52, einem dritten Begrenzungsrahmen 54, einem vierten Begrenzungsrahmen 56, einem fünften Begrenzungsrahmen 58, einem sechsten Begrenzungsrahmen 60 und einem siebten Begrenzungsrahmen 62 dargestellt. Es ist zu verstehen, dass der Identifikationsalgorithmus 36 mehr zeichnet als der erste Begrenzungsrahmen 50, der zweite Begrenzungsrahmen 52, der dritte Begrenzungsrahmen 54, der vierte Begrenzungsrahmen 56, der fünfte Begrenzungsrahmen 58, der sechste Begrenzungsrahmen 60 und der siebte Begrenzungsrahmen 62 in 2. Aus Gründen der Übersichtlichkeit werden diese zusätzlichen Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 jedoch nicht angezeigt.
-
Sobald die Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 in das Bild 30 gezeichnet wurden, analysiert der Identifikationsalgorithmus 36 jeden einzelnen der mehreren Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62, um zu versuchen, ein Objekt von Interesse darin zu identifizieren. Der Schritt zum Identifizieren eines Objekts von Interesse in einem der jeweiligen der Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 wird im Allgemeinen durch das Feld 112 in 3 angezeigt. Im Sinne des Fachmanns werden Objekterkennungsprogramme, wie beispielsweise der Identifikationsalgorithmus 36, mit dem Trainingssatz 45 der Bilder 46 trainiert, um einen oder mehrere Objekte zu erkennen. Das Objekt von Interesse kann Personen, Tiere, Autos, Lastfahrzeug, Lieferfahrzeug, Schilder usw. umfassen, ist aber nicht darauf beschränkt. Der Satz 45 der Trainingsbilder 46 zeigt das Objekt in mehreren verschiedenen Ansichten, aus mehreren verschiedenen Perspektiven und unter verschiedenen Bedingungen. Der Identifikationsalgorithmus 36 ist darauf trainiert, Objekte innerhalb jedem einzelnen der Vielzahl von Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 zu erkennen, basierend auf ihrer Ähnlichkeit mit einem oder mehreren der Bilder 30, die in dem Trainingssatz 45 der Bilder 46 enthalten sind. Wenn der Identifikationsalgorithmus 36 ein Objekt innerhalb eines der Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 in der erkennt, kann der Identifikationsalgorithmus 36 dieses Objekt als Objekt identifizieren und entsprechend klassifizieren. Es ist zu beachten, dass der Identifikationsalgorithmus 36 trainiert werden kann, um mehrere verschiedene Klassen oder Arten von Objekten von Interesse zu erkennen, wobei jede Klasse als eine von Personen, Tieren, Autos, Lastfahrzeug, Lieferfahrzeug, Schildern usw. definiert ist.
-
Unter Bezugnahme auf 2 wird beispielsweise der erste Begrenzungsrahmen 50 mit einer Wolke 64 dargestellt. Die Wolke 64 stellt möglicherweise keine Klasse eines Objekts dar. Daher ist der Identifikationsalgorithmus 36 nicht darauf trainiert, die Wolke 64 zu erkennen, und der Identifikationsalgorithmus 36 identifiziert die Wolke 64 nicht als definiertes Objekt von Interesse. Wie in 2 dargestellt, ist der zweite Begrenzungsrahmen 52 mit einem erkennbaren Fahrzeug 66 dargestellt. Das erkennbare Fahrzeug 66 kann eine Klasse eines Gegenstandes darstellen, für den der Identifikationsalgorithmus 36 ausgebildet ist, um z.B. das Fahrzeug 22s zu erkennen. Somit kann der Identifikationsalgorithmus 36 das Objekt in dem zweiten Begrenzungsrahmen 52 als Objekt von Interesse, d.h. eines identifizierten Objekts von Interesse 68, identifizieren. Wie in 2 dargestellt, ist der dritte Begrenzungsrahmen 54 mit einem schneebedeckten Fahrzeug 70 dargestellt. Das verschneite Fahrzeug 70 kann eine Klasse eines Objekts darstellen, für das der Identifikationsalgorithmus 36 trainiert ist, um z.B. Fahrzeug 22 zu erkennen, jedoch kann der Identifikationsalgorithmus 36 das verschneite Fahrzeug 70 nicht erkennen, da seine Form durch den Schnee verändert wird, und ähnelt daher nicht den Bildern 46, aus denen der Identifikationsalgorithmus 36 ursprünglich trainiert wurde. Daher würde der Identifikationsalgorithmus 36 das verschneite Fahrzeug 70 innerhalb des dritten Begrenzungsrahmens 54 nicht als definiertes Objekt von Interesse identifizieren.
-
Wenn der Identifikationsalgorithmus 36 in der Lage ist, ein Objekt von Interesse in einem der jeweiligen der Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 zu identifizieren, dann definiert der Identifikationsalgorithmus 36 das jeweilige der Vielzahl von Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62, die das identifizierte Objekt von Interesse 68 als Objektbegrenzung 72 enthalten. Der Schritt zum Definieren der Objektgrenze 72 wird im Allgemeinen durch Feld 114 in 3 angezeigt. Es ist zu beachten, dass im Bild 30 mehrere Objektgrenzen definiert werden können, wenn der Identifikationsalgorithmus 36 in der Lage ist, mehrere Objekte in mehreren Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 zu identifizieren. Wenn der Identifikationsalgorithmus 36 nicht in der Lage ist, ein Objekt von Interesse in einem der Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 zu identifizieren, dann definiert der Identifikationsalgorithmus 36 keine Objektgrenze 72.
-
Unter Bezugnahme auf 2, da der Identifikationsalgorithmus 36 das im zweiten Begrenzungsrahmen 52 dargestellte Fahrzeug als identifiziertes Objekt 68 identifiziert hat, würde der Identifikationsalgorithmus 36 den zweiten Begrenzungsrahmen 52 als Objektbegrenzung 72 definieren. Da der Identifikationsalgorithmus 36 jedoch weder im ersten Begrenzungsrahmen 50 noch im dritten Begrenzungsrahmen 54 ein Objekt von Interesse identifiziert hat, würde weder der erste Begrenzungsrahmen 50 noch der dritte Begrenzungsrahmen 54 als Objektgrenzen definiert werden. Während das in 2 dargestellte Beispiel einer der Vielzahl von Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 beinhaltet, die als Objektbegrenzung 72 definiert sind, ist zu beachten, dass andere Begrenzungsrahmen (nicht in 2 dargestellt) als Objektbegrenzungen identifiziert werden können, wenn der Identifikationsalgorithmus 36 ein Objekt von Interesse darin identifiziert.
-
In einigen Ausführungsformen kann der nachfolgend beschriebene Prozess für jedes vom Bildsensor 28 aufgenommene Bild 30 implementiert werden. In der hierin beschriebenen Ausführungsform wird der Prozess jedoch implementiert, nachdem der Zähler 48 einen Zählerschwellenwert erreicht hat. Der Zählerschwellenwert kann so definiert werden, dass er gleich einer Zahl ist, wie z.B. 10. Somit wird der nachfolgend beschriebene Prozess implementiert, wenn der Zähler 48 auf einen Wert steigt, der größer als der Zählerschwellenwert ist, z.B. 10. Sobald der Prozess für ein erfasstes Bild 30 ausgeführt wurde, wird der Zähler 48 auf Null zurückgesetzt und der Prozess beginnt von neuem, so dass sich der nachfolgend beschriebene Prozess wiederholt, wenn der Zähler 48 wieder einen Wert erreicht, der über dem Zählerschwellenwert liegt. Dadurch werden die Rechenressourcen reduziert und damit der Betrieb der mobilen Rechenvorrichtung 26 verbessert.
-
Der Zähler 48 wird mit dem Zählerschwellenwert verglichen, um zu bestimmen, ob der Wert des Zählers 48 gleich oder kleiner als der Zählerschwellenwert ist, oder ob der Wert des Zählers 48 größer als der Zählerschwellenwert ist. Der Schritt des Vergleichs des Wertes des Zählers 48 mit dem Zählerschwellenwert wird im Allgemeinen durch Feld 104 in 3 angezeigt. Wenn der Wert des Zählers 48 gleich oder kleiner als der Zählerschwellenwert ist, der im Allgemeinen bei 106 angegeben ist, dann fährt der Identifikationsalgorithmus 36 fort, ein anderes Bild 30 zu erfassen. Wenn der Wert des Zählers 48 größer als der Zählerschwellenwert ist, der im Allgemeinen bei 108 angegeben ist, dann untersucht der Identifikationsalgorithmus 36 das Bild 30 wie unten beschrieben.
-
Der Identifikationsalgorithmus 36 analysiert ferner Jeder der Vielzahl von Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62, um zu versuchen, eine Komponente 74, 76, 78, 80 des darin enthaltenen Objekts zu identifizieren. Der Schritt zur Identifizierung der Komponente 74, 76, 78, 80 wird im Allgemeinen durch das Feld 116 in 3 angezeigt. Wie vorstehend kurz beschrieben, kann der Identifikationsalgorithmus 36 trainiert werden, um mehrere verschiedene Klassen von Objekten zu identifizieren. So kann beispielsweise der Identifikationsalgorithmus 36 trainiert werden, um eine erste Klasse, die als Fahrzeuge definiert ist, und eine zweite Klasse, die als Personen definiert ist, zu identifizieren. Jede Klasse von Objekten von Interesse kann eine oder mehrere Komponentenklassifikationen beinhalten. So kann beispielsweise die erste Klasse von Objekten von Interesse, definiert als Autos, Komponentenklassifizierungen beinhalten, die definiert sind, um Reifen, Räder, Nummernschilder, Scheinwerfer usw. einzubeziehen. Die zweite Klasse von Objekten von Interesse, definiert als Personen, kann Komponentenklassifizierungen beinhalten, die definiert sind, um Taschenhüte, Aktentaschen, Kinderwagen usw. zu umfassen. Der Identifikationsalgorithmus 36 ist darauf trainiert, jede Klasse der Objekte von Interesse zu erkennen, sowie jede Komponentenklassifizierung jeder Klasse der Objekte von Interesse.
-
Unter Bezugnahme auf 2 beinhaltet die Vielzahl von Begrenzungen den vierten Begrenzungsrahmen 56, den fünften Begrenzungsrahmen 58, den sechsten Begrenzungsrahmen 60 und den siebten Begrenzungsrahmen 62. Wenn die Klasse des Objekts von Interesse so definiert ist, dass sie ein Fahrzeug beinhaltet, und die Komponentenklassifizierung des Objekts von Interesse so definiert ist, dass sie ein Rad beinhaltet, dann kann der Identifikationsalgorithmus 36 eine erste identifizierte Komponente 74 in dem vierten Begrenzungsrahmen 56, eine zweite identifizierte Komponente 76 in dem fünften Begrenzungsrahmen 58, eine dritte identifizierte Komponente 78 in dem sechsten Begrenzungsrahmen 60 und eine vierte identifizierte Komponente 80 in dem siebten Begrenzungsrahmen 62 identifizieren.
-
Wenn der Identifikationsalgorithmus 36 in der Lage ist, eine Komponente 74, 76, 78, 80 des Objekts von Interesse in einem der jeweiligen Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 zu identifizieren, dann definiert der Identifikationsalgorithmus 36 den jeweiligen der Vielzahl von Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62, die die identifizierte Komponente 74, 76, 78, 80 des Objekts von Interesse als Komponentengrenze enthält. Der Schritt zur Definition der Bauteilgrenze wird im Allgemeinen durch das Feld 118 in 3 angezeigt. Es ist zu beachten, dass im Bild 30 mehrere Komponentengrenzen definiert werden können, wenn der Identifikationsalgorithmus 36 in der Lage ist, mehrere Komponenten in mehreren Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 zu identifizieren. Wenn der Identifikationsalgorithmus 36 nicht in der Lage ist, eine Komponente des Objekts in einem der Begrenzungsrahmen 50, 52, 54, 56, 58, 60, 62 zu identifizieren, dann definiert der Identifikationsalgorithmus 36 keine Komponentengrenze.
-
Unter Bezugnahme auf das in 2 dargestellte Beispiel, da der vierte Begrenzungsrahmen 56 die erste identifizierte Komponente 74 beinhaltet, wie beispielsweise den in 2 dargestellten exemplarischen Reifen/Rad, kann der vierte Begrenzungsrahmen 56 als erste Komponentengrenze 82A definiert werden. Da der fünfte Begrenzungsrahmen 58 die zweite identifizierte Komponente 76 beinhaltet, kann das fünfte Begrenzungsrahmen 58 als zweite Komponentengrenze 82B definiert werden. Da der sechste Begrenzungsrahmen 60 die dritte identifizierte Komponente 78 beinhaltet, kann der sechste Begrenzungsrahmen 60 als dritte Komponentengrenze 82C definiert werden, und weil der siebte Begrenzungsrahmen 62 die vierte identifizierte Komponente 80 beinhaltet, kann der siebte Begrenzungsrahmen 62 als vierte Komponentengrenze 82D definiert werden.
-
Der Identifikationsalgorithmus 36 kann dann einen ausgeschlossenen Betrag 84 der Komponentengrenze 82A, 82B, 82C, 82D berechnen. Der Schritt zur Berechnung des ausgeschlossenen Betrags 84 wird im Allgemeinen durch das Feld 120 in 3 angezeigt. Der ausgeschlossene Betrag 84 ist der Betrag jeder einzelnen der Komponentengrenzen 82A, 82B, 82C, 82D, der nicht innerhalb der Objektgrenze 72 enthalten ist. Mit anderen Worten, der ausgeschlossene Betrag 84 ist der Betrag jeder einzelnen der Komponentengrenzen 82A, 82B, 82C, 82D, der außerhalb der Objektgrenze 72 liegt. Wenn keine Objektgrenze 72 definiert wurde, d.h. der Identifikationsalgorithmus 36 kein Objekt von Interesse identifizierte, aber der Identifikationsalgorithmus 36 eine Komponentengrenze definierte, d.h. der Identifikationsalgorithmus 36 eine Komponente des Objekts von Interesse identifizierte, dann befindet sich kein Teil der Komponentengrenze innerhalb einer Objektgrenze 72, und die gesamte Komponentengrenze kann als der ausgeschlossene Betrag 84 betrachtet werden. Wenn der Identifikationsalgorithmus eine oder mehrere Objektgrenzen definiert hat, aber kein Teil der Bauteilgrenze innerhalb der Objektgrenzen liegt, dann kann die gesamte Bauteilgrenze als der ausgeschlossene Betrag 84 betrachtet werden. Wenn der Identifikationsalgorithmus 36 jedoch eine oder mehrere Objektgrenzen definiert hat und sich die gesamte Bauteilgrenze innerhalb einer der Objektgrenzen befindet, dann ist der ausgeschlossene Betrag 84 gleich Null, da sich kein Teil der Bauteilgrenze außerhalb der Objektgrenze 72 befindet.
-
Unter Bezugnahme auf das Beispiel von 2 ist der zweite Begrenzungsrahmen 52 der Begrenzungsrahmen, der als Objektbegrenzung 72 definiert ist. Daher wird der ausgeschlossene Betrag 84 für jede der Komponentengrenzen 82A, 82B, 82C, 82D in Bezug auf den zweiten Begrenzungsrahmen 52 berechnet. Da der erste Begrenzungsrahmen 50 und der dritte Begrenzungsrahmen 54 nicht als Objektbegrenzungen definiert wurden, wird der ausgeschlossene Betrag 84 der Bauteilbegrenzungen 82A, 82B, 82C, 82D nicht in Bezug auf den ersten Begrenzungsrahmen 50 oder den dritten Begrenzungsrahmen 54 berechnet. Wie in 2 dargestellt, wird der ausgeschlossene Betrag 84 für jede der ersten Komponentengrenzen 82A, der zweiten Komponentengrenze 82B, der dritten Komponentengrenze 82C und der vierten Komponentengrenze 82D im Allgemeinen durch ihren jeweiligen schraffierten Bereich angezeigt. Wie vorstehend beschrieben, ist der ausgeschlossene Betrag 84 der Betrag der jeweiligen Komponentengrenze 82A, 82B, 82C, 82D, der nicht innerhalb einer Objektbegrenzung 72 angeordnet ist. Da ein Abschnitt jeder der ersten Bauteilbegrenzung 82A und der zweiten Bauteilbegrenzung 82B innerhalb der durch den erste Begrenzungsrahmen 50 definierten Objektbegrenzung 72 angeordnet ist, sind die Abschnitte der ersten Bauteilbegrenzung 82A und der zweiten Bauteilbegrenzung 82B, die außerhalb der ersten Objektbegrenzung 72 angeordnet sind, als der ausgeschlossene Betrag 84 der ersten Bauteilbegrenzung 82A bzw. der zweiten Bauteilbegrenzung 82B definiert. Da die Gesamtheit jeder der dritten Komponentengrenze 82C und der vierten Komponentengrenze 82D außerhalb der durch den ersten Begrenzungsrahmen 50 definierten Objektbegrenzung 72 angeordnet ist, ist die Gesamtheit jeder der dritten Komponentengrenze 82C und der vierten Komponentengrenze 82D als der ausgeschlossene Betrag 84 der dritten Komponentengrenze 82C bzw. der vierten Komponentengrenze 82D definiert.
-
Der ausgeschlossene Betrag 84 kann einen Betrag beinhalten, der auf einem Verhältnis eines Bereichs der Komponentengrenze 82A, 82B, 82C, 82D außerhalb der Objektgrenze 72 in Bezug auf einen Bereich der Komponentengrenze 82A, 82B, 82C, 82D innerhalb der Objektgrenze 72 basiert. In anderen Ausführungsformen kann der ausgeschlossene Betrag 84 eine Anzahl von Pixeln des Bildes 30 beinhalten, die in dem Abschnitt der Komponentengrenze 82A, 82B, 82C, 82D enthalten sind, der außerhalb der Objektbegrenzung 72 liegt, bezogen auf eine Anzahl von Pixeln des Bildes 30, die in dem Abschnitt der Komponentengrenze 82A, 82B, 82C, 82D enthalten sind, der innerhalb der Objektbegrenzung 72 liegt. Es ist zu beachten, dass andere Kriterien für die Berechnung des ausgeschlossenen Betrags 84 der Komponentengrenze 82A, 82B, 82C, 82D verwendet werden können.
-
Sobald der Identifikationsalgorithmus 36 den ausgeschlossenen Betrag 84 berechnet hat, vergleicht der Identifikationsalgorithmus 36 den ausgeschlossenen Betrag 84 mit einer Deckungsschwelle, um zu bestimmen, ob der ausgeschlossene Betrag 84 kleiner als die Deckungsschwelle ist oder ob der ausgeschlossene Betrag 84 gleich oder größer als die Deckungsschwelle ist. Der Schritt des Vergleichs des ausgeschlossenen Betrags 84 mit der Deckungsschwelle wird im Allgemeinen durch Feld 122 in 3 angezeigt. Die Deckungsschwelle ist eine definierte Grenze des ausgeschlossenen Betrags 84, der zur Auslösung einer weiteren Untersuchung des Bildes 30 verwendet wird. Es ist zu beachten, dass jede jeweilige Komponentengrenze 82A, 82B, 82C, 82D mit mehreren Obj ektgrenzen verglichen werden kann, wenn im Bild 30 mehrere Objektgrenzen definiert sind. Somit kann jede jeweilige Komponentengrenze 82A, 82B, 82C, 82D für jede Objektgrenze 72, mit der sie verglichen wird, einen anderen ausgeschlossenen Betrag 84 aufweisen.
-
Unter Bezugnahme auf das in 2 dargestellte Beispiel wird der ausgeschlossene Betrag 84 für jede der ersten Komponentengrenzen 82A, die zweite Komponentengrenze 82B, die dritte Komponentengrenze 82C und die vierte Komponentengrenze 82D jeweils mit dem Deckungsschwellenwert verglichen. Wie vorstehend beschrieben, kann die Deckungsschwelle als Prozentsatz definiert werden, z.B. 80%. Wie in 2 dargestellt, ist der ausgeschlossene Betrag 84 für jede der ersten Komponentengrenzen 82A und 82B ungefähr gleich 25%. Dementsprechend ist der ausgeschlossene Betrag 84 für jede der ersten Komponentengrenzen 82A und der zweiten Komponentengrenze 82B kleiner als die Deckungsschwelle. Dies deutet daraufhin, dass ein großer Teil der ersten identifizierten Komponente 74 und der zweiten identifizierten Komponente 76 des vierten Begrenzungsrahmens 56 und des fünften Begrenzungsrahmens 58 in das identifizierte Objekt 68 des zweiten Begrenzungsrahmens 52 integriert ist oder einen Teil davon bildet, und dass die erste identifizierte Komponente 74 und die zweite identifizierte Komponente 76 des vierten Begrenzungsrahmens 56 und des fünften Begrenzungsrahmens 58 höchstwahrscheinlich mit dem identifizierten Objekt 68 des zweiten Begrenzungsrahmens 52 verbunden sind. Der ausgeschlossene Betrag 84 für jede der dritten Komponentengrenzen 82C und der vierten Komponentengrenze 82D ist jedoch gleich 100%, da sie sich vollständig außerhalb der Objektbegrenzung 72 befinden. Dementsprechend ist der ausgeschlossene Betrag 84 für jede der dritten Komponentengrenzen 82C und der vierten Komponentengrenze 82D gleich oder größer als der Deckungsschwellenwert. Dies deutet darauf hin, dass die dritte identifizierte Komponente 78 und die vierte identifizierte Komponente 80 höchstwahrscheinlich nicht mit dem identifizierten Objekt von Interesse 68 des zweiten Begrenzungsrahmens 52 verbunden sind. Dies kann darauf hindeuten, dass der Identifikationsalgorithmus 36 nicht in der Lage war, ein Objekt von Interesse in dem Bild 30 zu identifizieren, das der dritten identifizierten Komponente 78 und der vierten identifizierten Komponente 80 des sechsten Begrenzungsrahmens 60 bzw. des siebten Begrenzungsrahmens 62 zugeordnet ist, d.h. dem verschneiten Fahrzeug 70 in dem dritten Begrenzungsrahmen 54.
-
Wenn der Identifikationsalgorithmus 36 bestimmt, dass der ausgeschlossene Betrag 84 kleiner als der Deckungsschwellenwert ist, der im Allgemeinen bei 124 in 3 angegeben ist, übermittelt der Identifikationsalgorithmus 36 das erfasste Bild 30 nicht an das Rechenzentrum 24. Der Identifikationsalgorithmus 36 fährt fort, das nächste Bild 30 zu erfassen, das im Allgemeinen durch Feld 100 in 3 angezeigt wird.
-
Wenn der Identifikationsalgorithmus 36 bestimmt, dass der ausgeschlossene Betrag 84 gleich oder größer als der Deckungsschwellenwert ist, der im Allgemeinen bei 126 in 3 angegeben ist, dann übermittelt der Identifikationsalgorithmus 36 das Bild 30 an das Rechenzentrum 24. Der Schritt der Übertragung des Bildes 30 an das Rechenzentrum 24 wird im Allgemeinen durch das Feld 128 in 3 angezeigt. Zusätzlich zum Bild 30 kann der Identifikationsalgorithmus 36 auch andere Fahrzeugdaten, die sich auf das Bild 30 beziehen, an das Rechenzentrum 24 übermitteln. Die anderen Fahrzeugdaten können unter anderem Bilder unmittelbar vor und/oder nach dem Bild 30, den Standort des Fahrzeugs 22, die aktuelle Geschwindigkeit, Radardaten, LIDAR-Daten usw. beinhalten. Das Bild 30 und die anderen Fahrzeugdaten können über den Kommunikator 29 an das Rechenzentrum 24 übermittelt werden.
-
Sobald der Identifikationsalgorithmus 36, der auf der mobilen Rechenvorrichtung 26 des Fahrzeugs 22 arbeitet, das Bild 30 an das Rechenzentrum 24 übermittelt hat, wird das Bild 30 im Rechenzentrum 24 analysiert, um ein zuvor nicht identifiziertes Objekt 86 im Bild 30 zu identifizieren (dargestellt in 2). Der Schritt zum Identifizieren des zuvor nicht identifizierten Objekts von Interesse 86 im Rechenzentrum 24 wird im Allgemeinen durch Feld 130 in 3 angezeigt. Das zuvor nicht identifizierte Objekt 86 im Bild 30 kann in geeigneter Weise identifiziert und/oder beschrieben werden. So kann beispielsweise ein menschlicher Bediener das Bild 30 untersuchen und das zuvor nicht identifizierte Objekt 86 manuell identifizieren. Alternativ kann die zentrale Rechenvorrichtung 38 des Rechenzentrums 24 das zuvor nicht identifizierte Objekt 86 unter Verwendung des Trainingsalgorithmus 44 identifizieren. So kann beispielsweise der Trainingsalgorithmus 44 eine robustere und besser trainierte Objekterkennungssoftware beinhalten als der Identifikationsalgorithmus 36 und mehr Ressourcen und Verarbeitungszeit für die Aufgabe verwenden, das zuvor nicht identifizierte Objekt 86 im Bild 30 zu identifizieren.
-
Wenn in dem Bild 30 ein zuvor nicht identifizierter Gegenstand 86 identifiziert wird, kann der Trainingsalgorithmus 44 das Bild 30 zum Trainingssatz 45 der Bilder 46 im Rechenzentrum 24 hinzufügen, um einen überarbeiteten Trainingssatz 45 der Bilder 46 zu definieren. Der Schritt zum Hinzufügen des Bildes 30 zum Trainingssatz 45 der Bilder 46 wird im Allgemeinen durch das Feld 132 in 3 angezeigt. Der Trainingsalgorithmus 44 kann dann den Identifikationsalgorithmus 36 unter Verwendung des überarbeiteten Trainingssatzes 45 der Bilder 46 neu trainieren, um einen aktualisierten Identifikationsalgorithmus 36 zu definieren. Der Schritt des Umschulens des Identifikationsalgorithmus 36 wird im Allgemeinen durch Kasten 134 in 3 angezeigt. Das Verfahren zum Trainieren und/oder Umschulen des Identifikationsalgorithmus 36 unter Verwendung des Trainingssatzes 45 der Bilder 46 bzw. des überarbeiteten Trainingssatzes 45 der Bilder 46 wird von den Fachleuten verstanden und ist daher hierin nicht im Detail beschrieben.
-
Nachdem der Trainingsidentifikationsalgorithmus 36 neu geschult wurde, um den aktualisierten Identifikationsalgorithmus 36 zu definieren, kann der aktualisierte Identifikationsalgorithmus 36 dann vom Rechenzentrum 24 über den Kommunikator 29 des Fahrzeugs 22 in die mobile Rechenvorrichtung 26 des Fahrzeugs 22 geladen werden. Der Schritt zum Hochladen des aktualisierten Identifikationsalgorithmus 36 wird im Allgemeinen durch Feld 136 in 3 angezeigt. Sobald der aktualisierte Identifikationsalgorithmus 36 auf die mobile Rechenvorrichtung 26 des Fahrzeugs 22 hochgeladen wurde, kann er in Zukunft zur Objekterkennung verwendet werden. Da der aktualisierte Identifikationsalgorithmus 36 unter Verwendung des überarbeiteten Trainingssatzes 45 der Bilder 46, der das zuvor nicht identifizierte Objekt von Interesse 86 in dem Bild 30 beinhaltet, neu geschult wurde, kann der aktualisierte Identifikationsalgorithmus 36 in der Lage sein, in Zukunft Objekte zu identifizieren oder zu klassifizieren, die dem zuvor nicht identifizierten Objekt von Interesse 86 ähnlich sind.
-
In einem weiteren Aspekt der Offenbarung, wenn der ausgeschlossene Betrag 84 gleich oder größer als der Deckungsschwellenwert ist, der im Allgemeinen bei 126 in 3 angegeben ist, dann kann das Fahrzeug 22 möglicherweise nicht in der Lage sein, die beste Art und Weise zu bestimmen, wie das Fahrzeug 22 gesteuert werden kann. Wenn also der ausgeschlossene Betrag 84 gleich oder größer als der Deckungsschwellenwert ist, kann der Identifikationsalgorithmus 36 dann einen Trennungsabstand 88 vom Fahrzeug 22 zur identifizierten Komponente in dem Bild 30 schätzen. Der Schritt zum Schätzen des Trennungsabstandes 88 wird im Allgemeinen durch das Feld 142 in 3 angezeigt. Der Trennungsabstand 88 kann in geeigneter Weise berechnet oder erfasst werden, z.B. durch Radar, LIDAR usw.
-
Unter Bezugnahme auf das in 2 dargestellte Beispiel, da der ausgeschlossene Betrag 84 für die erste Komponentengrenze 82A der ersten identifizierten Komponente 74 und die zweite Komponentengrenze 82B der zweiten identifizierten Komponente 76 kleiner als der Deckungsschwellenwert war, kann der Identifikationsalgorithmus 36 bestimmen, dass die erste identifizierte Komponente 74 und die zweite identifizierte Komponente 76 des vierten Begrenzungsrahmens 56 bzw. des fünften Begrenzungsrahmens 58 dem identifizierten Objekt von Interesse 68 dem zweiten Begrenzungsrahmen 52 zugeordnet sind. Als solches kann der Identifikationsalgorithmus 36 das identifizierte Objekt 68 des zweiten Begrenzungsrahmens 52 an eine Fahrzeugsteuerung übergeben, damit die Fahrzeugsteuerung bestimmt, wie das Fahrzeug 22 am besten gesteuert werden kann.
-
Da jedoch die Möglichkeit besteht, dass der Identifikationsalgorithmus 36 nicht in der Lage war, ein Objekt von Interesse zu identifizieren, z.B, das schneebedeckte Fahrzeug 70 in dem dritten Begrenzungsrahmen 54, wegen der hohen Wahrscheinlichkeit, dass die dritte identifizierte Komponente 78 und die vierte identifizierte Komponente 80 des sechsten Begrenzungsrahmens 60 und des siebten Begrenzungsrahmen 62 nicht mit dem identifizierten Objekt 68 des zweiten Begrenzungsrahmens 52 verbunden sind, kann die Fahrzeugsteuerung 22 möglicherweise nicht richtig bestimmen, wie das Fahrzeug 22 um die dritte identifizierte Komponente 78 und die vierte identifizierte Komponente 80 des sechsten Begrenzungsrahmens 60 bzw. des siebten Begrenzungsrahmens 62 herum gesteuert wird. Aus diesem Grund kann der Identifikationsalgorithmus 36 den Trennungsabstand 88 vom Fahrzeug 22 zu jeder der dritten identifizierten Komponente 78 bzw. der vierten identifizierten Komponente 80 berechnen und den Trennungsabstand 88 als bestimmenden Faktor bei der Steuerung des Fahrzeugs 22 verwenden.
-
Die mobile Rechenvorrichtung 26 kann dann den Trennungsabstand 88 mit einem Abstandsschwellenwert vergleichen, um zu bestimmen, ob der Trennungsabstand 88 kleiner als der Abstandsschwellenwert ist, oder ob der Trennungsabstand 88 gleich oder größer als der Abstandsschwellenwert ist. Der Schritt des Vergleichs des Trennungsabstandes 88 mit dem Abstandsschwellenwert wird im Allgemeinen durch das Feld 144 in 3 angezeigt. Der Abstandsschwellenwert kann eine Entfernung darstellen, unterhalb derer zusätzliche Vorsicht geboten ist. Wenn der Trennungsabstand 88 kleiner als der Abstandsschwellenwert ist, der im Allgemeinen bei 146 in 3 angegeben ist, kann die mobile Rechenvorrichtung 26 einen vordefinierten Steuermodus zum Steuern des Fahrzeugs 22 verwenden. Der Schritt zum Steuern des Fahrzeugs 22 mit dem vordefinierten Steuermodus wird im Allgemeinen durch das Feld 148 in 3 angezeigt. Der vordefinierte Steuermodus kann, ist aber nicht beschränkt auf eine abgesenkte Fahrzeuggeschwindigkeit 22, das Manövrieren des Fahrzeugs 22 von der identifizierten Komponente weg, das Übertragen der Steuerung des Fahrzeugs 22 auf einen menschlichen Fahrer usw. beinhalten.
-
Die detaillierte Beschreibung und die Figuren oder Abbildungen unterstützen und beschreiben die Offenbarung, aber der Umfang der Offenbarung wird ausschließlich durch die Ansprüche bestimmt. Während einige der bevorzugten Ausführungsformen und andere Ausführungsformen für die Durchführung der beanspruchten Lehren ausführlich beschrieben wurden, gibt es verschiedene alternative Designs und Ausführungsformen für die Ausübung der in den beigefügten Ansprüchen definierten Offenbarung.