-
GEGENSTAND DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich im Allgemeinen auf die Erkennung von Objekten in digitalen Bildern und insbesondere bezieht sie sich auf die Optimierung der Erkennung von Objekten in digitalen Bildern mithilfe von Kamerasensoren in einer den Menschen unterstützenden Umgebung.
-
HINTERGRUND DER ERFINDUNG
-
Die Objekterkennung auf der Grundlage digitaler Bilder speziell in Bezug auf die Verkehrszeichenerkennung (Traffic Sign Recognition, TSR) hat in den letzten Jahren eine verstärkte Aufmerksamkeit erlangt. Zum Beispiel werden aktuell Objekterkennungssysteme in die Fahrerassistenzsysteme (FAS, Advanced Driver Assistance Systems, ADAS) eingeführt. Herkömmliche Objekterkennungsverfahren beinhalten üblicherweise zwei Stufen. Zunächst werden in der Erkennungsstufe die Bildbereiche, welche Kandidaten für das Zielobjekt enthalten, erkannt oder aufgespürt. Danach werden in der Wiedererkennungsstufe diese Bereiche weiter analysiert, um den spezifischen Inhalt wiederzuerkennen. Diese herkömmlichen Objekterkennungssysteme und -verfahren erfordern jedoch eine große Menge an Rechnerkapazitäten, haben eine geringe Erkennungsgeschwindigkeit und können ungenau sein.
-
Aus der Druckschrift Amlacher et al.: „Geo-Contextual Priors for Attentive Urban Object Recognition“ ist ein Verfahren zum An- und Abschalten eines Objekterkennungsprozesses je nach Geo-Kontext bekannt.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Bei einer Ausführungsform wird ein Verfahren für das Erkennen von Objekten in einem digitalen Bild offengelegt. Das Verfahren weist das Empfangen mindestens der zu einem Fahrzeug gehörigen Positionsdaten auf. Geographische Informationen, die zu den Positionsdaten gehören, werden empfangen. Auf der Grundlage der geographischen Daten wird eine Wahrscheinlichkeit für das Erkennen eines Zielobjektes innerhalb eines entsprechenden geographischen Bereichs ermittelt. Die Wahrscheinlichkeit wird mit einem gegebenen Schwellenwert verglichen. Als Reaktion darauf, dass die Wahrscheinlichkeit größer oder gleich dem gegebenen Schwellenwert ist, wird ein Objekterkennungsprozess mindestens eines von aktiviert und in einem aktivierten Zustand gehalten. Der Objekterkennungsprozess erkennt Zielobjekte innerhalb eines Bildes, das mindestens ein Einzelbild einer Videobildfolge einer externen Umgebung darstellt. Als Reaktion darauf, dass die Wahrscheinlichkeit unter dem gegebenen Schwellenwert liegt, wird der Objekterkennungsprozess mindestens eines von deaktiviert und in einem deaktivierten Zustand gehalten.
-
Erfindungsgemäß wird ein Verfahren für das Erkennen von Objekten in einem digitalen Bild offengelegt. Das Verfahren weist das Empfangen von mindestens einem Bild auf, das mindestens ein Einzelbild einer Videobildfolge einer externen Umgebung eines Fahrzeugs darstellt. Eine Gruppe von Umgebungsbedingungen, die einem geographischen Bereich zugeordnet sind, der einem Fahrzeugstandort entspricht, wird identifiziert. Auf der Grundlage einer Gruppe von Umgebungsfaktoren wird ein Beleuchtungsmodell ausgewählt. Das mindestens eine Bild wird in Bezug auf das Beleuchtungsmodell verarbeitet.
-
Bei einer weiteren Ausführungsform wird ein Informationsverarbeitungssystem für das Erkennen von Objekten in einem digitalen Bild offengelegt. Das Informationsverarbeitungssystem weist einen Speicher und einen Prozessor auf, der kommunikativ mit dem Speicher verbunden ist. Das Informationsverarbeitungssystem weist auch ein Objekterkennungssystem auf, das kommunikativ mit dem Speicher und dem Prozessor verbunden ist. Das Objekterkennungssystem ist dazu ausgelegt, ein Verfahren auszuführen. Das Verfahren weist das Empfangen mindestens der zu einem Fahrzeug gehörigen Positionsdaten auf. Geographische Informationen, die zu den Positionsdaten gehören, werden empfangen. Auf der Grundlage der geographischen Daten wird eine Wahrscheinlichkeit für das Erkennen eines Zielobjektes innerhalb eines entsprechenden geographischen Bereichs ermittelt. Die Wahrscheinlichkeit wird mit einem gegebenen Schwellenwert verglichen. Als Reaktion darauf, dass die Wahrscheinlichkeit größer oder gleich dem gegebenen Schwellenwert ist, wird ein Objekterkennungsprozess mindestens eines von aktiviert und in einem aktivierten Zustand gehalten. Der Objekterkennungsprozess erkennt Zielobjekte innerhalb eines Bildes, das mindestens ein Einzelbild einer Videobildfolge einer externen Umgebung darstellt. Als Reaktion darauf, dass die Wahrscheinlichkeit unter dem gegebenen Schwellenwert liegt, wird der Objekterkennungsprozess mindestens eines von deaktiviert und in einem deaktivierten Zustand gehalten.
-
Bei einer weiteren Ausführungsform wird ein Computerprogrammprodukt für das Erkennen von Objekten in einem digitalen Bild offengelegt. Das Computerprogrammprodukt weist ein durch eine Verarbeitungsschaltung lesbares Speichermedium und Speicheranweisungen auf, die von der Verarbeitungsschaltung für das Ausführen eines Verfahrens durchgeführt werden. Das Verfahren weist das Empfangen mindestens der zu einem Fahrzeug gehörigen Positionsdaten auf. Geographische Informationen, die zu den Positionsdaten gehören, werden empfangen. Auf der Grundlage der geographischen Daten wird eine Wahrscheinlichkeit für das Erkennen eines Zielobjektes innerhalb eines entsprechenden geographischen Bereichs ermittelt. Die Wahrscheinlichkeit wird mit einem gegebenen Schwellenwert verglichen. Als Reaktion darauf, dass die Wahrscheinlichkeit größer oder gleich dem gegebenen Schwellenwert ist, wird ein Objekterkennungsprozess mindestens eines von aktiviert und in einem aktivierten Zustand gehalten. Der Objekterkennungsprozess erkennt Zielobjekte innerhalb mindestens eines Bildes, das mindestens ein Einzelbild einer Videobildfolge einer externen Umgebung darstellt. Als Reaktion darauf, dass die Wahrscheinlichkeit unter dem gegebenen Schwellenwert liegt, wird der Objekterkennungsprozess mindestens eines von deaktiviert und in einem deaktivierten Zustand gehalten.
-
Figurenliste
-
Die begleitenden Figuren, in denen in den einzelnen Ansichten gleiche Bezugszeichen sich auf identische oder funktionell ähnliche Bauteile beziehen und die zusammen mit der nachfolgenden detaillierten Beschreibung in die Beschreibung aufgenommen werden und einen Teil davon bilden, dienen dazu verschiedene Ausführungsformen darzustellen und verschiedene Prinzipien und Vorteile gemäß der vorliegenden Erfindung zu erklären, wobei:
- 1 ein Blockdiagramm ist, das eine allgemeine Übersicht eines Systems zum Erkennen von Objekten in digitalen Bildern gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
- 2 ein transaktionsorientiertes Schaubild ist, das einen mehrstufigen Betriebsmodus des Systems in 1 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
- 3 ein ausführbarer Ablaufplan ist, der ein Beispiel eines Prozesses für das Aktivieren/Deaktivieren einer oder mehrerer Bestandteile des Systems in 1 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
- 4 ein ausführbarer Ablaufplan ist, der einen Prozess für das Optimieren eines Objekterkennungsprozesses durch das System in 1 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt; und
- 5 ein Blockschaltbild ist, das eine detailliertere Ansicht eines Informationsverarbeitungssystems gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Wie erforderlich werden detaillierte Ausführungsformen der vorliegenden Erfindung in dieser Beschreibung offengelegt, aber die offengelegten Ausführungsformen sind so zu verstehen, dass sie nur Beispiele der Erfindung sind, die in verschiedenen Formen ausgeführt werden kann. Daher dürfen die hier offengelegten spezifischen strukturellen und funktionellen Einzelheiten nicht als Einschränkung interpretiert werden, sondern nur als Grundlage für die Ansprüche und als eine repräsentative Grundlage, um dem Fachmann zu erklären, wie er die vorliegende Erfindung in verschiedener Weise virtuell in beliebigen geeigneten detaillierten Strukturen und Funktionen anwenden kann. Außerdem sind die hier verwendeten Begriffe und Aussagen nicht als einschränkend zu verstehen, sondern sie dienen vielmehr, dazu eine verständliche Beschreibung der Erfindung bereitzustellen.
-
Die Begriffe „ein“ oder „eine“ sind hier generell definiert als ein/eine oder mehr als ein/eine. Der Begriff „Vielzahl“ ist hier generell definiert als zwei oder mehr als zwei. Der Begriff „andere“ ist hier generell definiert als mindestens ein Zweiter/eine Zweite oder mehr. Die Begriffe „beinhalten“ und/oder „umfassen“ sind hier generell definiert als „aufweisen“ (d.h. im weitesten Sinne). Der Begriff „gekoppelt“ ist hier generell definiert als „verbunden“, obwohl dies nicht unbedingt direkt und nicht unbedingt mechanisch der Fall sein muss.
-
Betriebsumgebung
-
Gemäß einer Ausführungsform zeigt 1 eine allgemeine Übersicht einer Betriebsumgebung 100 für das Erkennen von Objekten in einem oder mehreren Bildfeldern/Bildern. 1 zeigt insbesondere ein Informationsverarbeitungssystem 102, das in einem Fahrzeug wie zum Beispiel einem Auto, einem Motorrad, einem Wasserfahrzeug oder Ähnlichem umgesetzt werden kann. Zusätzlich kann das System 102 zu Trainingszwecken kommunikativ mit einer benutzerunterstützten Trainingsumgebung verbunden sein. Das System 102 umfasst unter anderem ein Objekterkennungssystem (object detection system, ODS) 104, ein oder mehrere Bildaufnahmesysteme 106 und ein oder mehrere globale Positionsbestimmungssysteme (global positioning systems, GPS) 108. Das System 102 weist auch eine Bilddatenbank 110, GPS-Daten 112, eine geographische Informationsdatenbank 114, eine Beleuchtungsmodelldatenbank 116, eine Erscheinungsmodelldatenbank 118 und eine Objektvorlagendatenbank 120 auf.
-
Die Bilddatenbank 110 weist ein oder mehrere Bildfelder/Bilder 122 auf. Die Bildfelder/Bilder 122 stellen in einer Ausführungsform Einzelbilder einer Videobildfolge (oder einer Standbildabfolge) einer externen Umgebung dar, die von einem oder mehreren Bildaufnahmeeinheiten (z.B. Kameras) des Bildaufnahmesystems 106 aufgenommen wurden. Zwei oder mehr dieser Bildaufnahmeeinheiten können sich überschneidende Blickfelder haben. Die geographische Informationsdatenbank 114 weist geographische Informationen 124 auf, wie zum Beispiel, ohne darauf beschränkt zu sein, Karten und Kartierungsinformationen, Sehenswürdigkeiten und zugehörige Informationen (z.B. Adressen, Telefonnummern usw.) und alle anderen Informationen, die in einer Kartierungs- oder Navigationsumgebung verwendet werden können.
-
Die Erscheinungsmodelldatenbank 118 weist Erscheinungsmodelle 126 für verschiedene Umgebungsfaktoren auf, wie zum Beispiel, ohne darauf beschränkt zu sein, für Wetterbedingungen (z.B. sonnig, bewölkt, bedeckt, Regen, Schneefall, Schneedecke usw.), Jahreszeiten (z.B. Winter, Frühjahr, Sommer, Herbst), Tageszeit (z.B. Vormittag, Nachmittag, Abenddämmerung, Nacht) und Ähnliches. Diese Erscheinungsmodelle 126 bilden ab, wie ein gegebenes Objekt als Ergebnis der obigen Umgebungsfaktoren erscheint. Ein Objekt kann zum Beispiel bei Tag und bei Nacht unterschiedlich erscheinen oder wahrgenommen werden. Objekte können auch auf der Grundlage des Betrachtungswinkels unterschiedlich erscheinen oder wahrgenommen werden. Die Erscheinungsmodelle 126 erlauben dem ODS 104 diese Veränderlichkeit in der Erscheinung/Wahrnehmung zu berücksichtigen/auszugleichen.
-
Die Beleuchtungsmodelldatenbank 116 weist Beleuchtungsmodi 128 auf, wie zum Beispiel beleuchtungsspezifische Modelle, beleuchtungsinvariante Modelle und synthetisierte Beleuchtungsmodelle, die vom ODS 104 verwendet werden, um die aktuellen Beleuchtungsbedingungen (z.B. Licht- und Spiegelungsbedingungen) der externen Umgebung auszugleichen. Jede dieser Beleuchtungsmodellarten wird weiter unten näher erörtert. Die Objektvorlagendatenbank 120 weist eine Vielzahl von Objektvorlagen 130 auf, die vom ODS 104 verwendet werden, wenn ein Zielobjekt in den Bildfeldern/Bildern 122 erkannt wird. Bei einer Ausführungsform weist die Objektdatenbank 120 Objektvorlagen für alle Arten von Objekten auf, die durch das ODS 104 erkennbar sind, wie zum Beispiel (ohne darauf beschränkt zu sein) Straßenschilder, Verkehrsschilder, Ampeln, Straßenmarkierungen, Adressen, Geschäfts-/Gebäudeschilder, Plakatwände, Gebäude, Geschäfte, Scheinwerfer, Straßenschäden, Fahrzeuge, Fußgänger, Tiere usw.
-
Eine Objektvorlage 130 kann eines oder mehrere Bilder sein, die einem erkennbaren Objekt zugeordnet sind. Wenn zum Beispiel eine Objektart, die für das ODS 104 erkennbar ist, ein Tankstellenschild ist, kann die Objektvorlage 130 ein aktuelles Bild eines Tankstellenschildes einer gegebenen interessierenden Tankstelle sein. Eine gegebene Tankstelle kann mit mehreren verschiedenen Tankstellenschildern verbunden sein. Daher können die Bilder von jedem dieser verschiedenen Schilder als eine einzige Objektvorlage oder als mehrere getrennte Objektvorlagen in der Objektdatenbank 120 enthalten sein. Als Vorlage(n) kann (können) auch Bilder des erkennbaren Objektes aus verschiedenen Winkeln, mit unterschiedlichen Lichtbedingungen und bei unterschiedlichen Umgebungsbedingungen gespeichert werden. Dies ermöglicht, dass der vom ODS 104 ausgeführte Erkennungsprozess leistungsfähiger wird. Bei einer anderen Ausführungsform wird jedoch eine minimale Anzahl an Bildern als Objektvorlagen für jedes/jede erkennbare Objekt/Objektart verwendet. Bei dieser Ausführungsform können die Erscheinungsmodelle 126 und/oder die Beleuchtungsmodelle 128 auf die Objektvorlagen angewandt werden, um verschiedene Winkel, Lichtbedingungen und Umgebungsbedingungen zu berücksichtigen/auszugleichen, unter denen ein Objekt durch das Bildaufnahmesystem 106 erfasst wird. Dies erlaubt dem ODS 104, weniger Objektvorlagen 130 (und zugehörige Bilder) aufzubewahren/abzurufen, wodurch Speicherplatz und Verarbeitungsressourcen eingespart werden, während gleichzeitig ein leistungsfähiger und genauer Objekterkennungsprozess bereitgestellt wird. Zusätzlich zu den Bildern (oder anstatt der Bilder) eines erkennbaren Objektes, kann eine Objektvorlage 130 Informationen enthalten, die von einem Bild eines interessierenden Objektes extrapoliert wurden. Dies erlaubt, dass die Informationen, die ein Bild darstellen, als Vergleich mit dem Bild selbst gespeichert werden, wodurch Speicherplatz eingespart wird.
-
Es wird darauf hingewiesen, dass jede der oben erwähnten Datenbanken und ihre Bestandteile weiter unten ausführlicher erörtert werden. Es wird auch darauf hingewiesen, dass eine oder mehrere der geographischen Informationsdatenbank 114, der Erscheinungsmodelldatenbank 118, der Beleuchtungsmodelldatenbank 116 und der Objektdatenbank 120 auf einem (nicht gezeigten) fernen System abgelegt sein kann, das kommunikativ mit dem System 102 über ein oder mehrere (nicht gezeigte) Netze verbunden sein kann. Die Daten von dieser einen oder mehreren Datenbanken können nach Bedarf an das System 102 übertragen werden, wodurch der vom System 102 benötigte Speicherplatz verringert wird.
-
Das ODS 104 weist in einer Ausführungsform einen GPS-Datenprozessor 132, einen geographischen Informationsprozessor 134, einen Umgebungsprozessor 136, einen Objekterscheinungsprozessor 137 einen Beleuchtungsprozessor 138 und einen Objektdetektor 140 auf. Es wird darauf hingewiesen, dass sich eines oder mehrere dieser Bauteile außerhalb des ODS 104 befinden können. Es wird auch darauf hingewiesen, dass die Funktionen eines oder mehrerer dieser Bauteile in einem einzigen Bauteil kombiniert werden können. Der GPS-Datenprozessor 132 verarbeitet/analysiert die GPS-Daten 112, die vom GPS-System 108 bereitgestellt werden. Der GPS-Datenprozessor 132 kann zum Beispiel die GPS-Daten 112 analysieren, um Informationen zu ermitteln, wie zum Beispiel (ohne darauf beschränkt zu sein) die aktuelle Zeit, die Fahrzeuggeschwindigkeit, die Fahrzeugrichtung, den Standort des Fahrzeugs, die Fahrzeughöhe usw. Der geographische Informationsprozessor 134 verwendet die GPS-Daten 112, um die geographischen Informationen 124 zu identifizieren, die zur aktuellen Position/zum aktuellen Standort und zum umgebenden Bereich des Fahrzeugs gehören. Der geographische Informationsprozessor 134 kann zum Beispiel auf der Grundlage der Standortinformation in den GPS-Daten 112 innerhalb der geographischen Informationsdatenbank 114 eine Karte identifizieren, die der Standortinformation der GPS-Daten 112 entspricht.
-
Der Umgebungsprozessor 136 ermittelt einen aktuellen Kontext der Umgebung, in der sich das Fahrzeug bewegt. Der Umgebungsprozessor 136 kann zum Beispiel die Art des geographischen Bereichs ermitteln, in dem das Fahrzeug sich befindet, wie zum Beispiel einen ländlichen Bereich oder einen städtischen Bereich. Der Umgebungsprozessor 136 kann außerdem einen differenzierten Kontext ermitteln, wie zum Beispiel, ob der aktuelle Bereich ein Waldbereich, ein bergiger Bereich, ein Wüstenbereich, ein industrieller Bereich, das Zentrum einer Stadt, ein Vorort usw. ist. Das ODS 104 verwendet diese Umgebungs- oder geographischen Kontextinformationen, um die Wahrscheinlichkeit zu ermitteln, dass sich ein Zielobjekt im aktuellen Bereich des Fahrzeugs befindet.
-
Der Umgebungsprozessor 136 kann auch die Informationen der Umgebungsfaktoren/-bedingungen ermitteln, wie zum Beispiel die aktuellen Wetterbedingungen (z.B. sonnig, bewölkt, bedeckt, Regen, Schneefall, Schneedecke, Nebel, usw.), Jahreszeiten (z.B. Winter, Frühjahr, Sommer, Herbst), Tageszeit (z.B. Vormittag, Nachmittag, Abenddämmerung, Nacht). Bei einer Ausführungsform kann die Tageszeitinformation auch die durchschnittliche Licht-/Beleuchtungsinformation beinhalten, die in einem gegebenen Bereich zu einer gegebenen Tageszeit, wie zum Beispiel Vormittag, Nachmittag, Abenddämmerung und Nacht, herrscht. Der Umgebungsprozessor 136 kann diese Faktoren/Bedingungen ermitteln, indem die vom Bildaufnahmesystem 106 erfassten Bildfelder/Bilder 122 analysiert werden. Umgebungsfaktoren/-bedingungen können auch aus den Wetterbedingungen ermittelt werden, die mit den GPS-Daten 112 übertragen werden. Der Umgebungsprozessor 136 kann auch Informationen der Umgebungsfaktoren/-bedingungen von einem oder mehreren fernen Systemen abrufen/empfangen. Bei einer anderen Ausführungsform kann der Benutzer die Umgebungsfaktoren/-bedingungen in das ODS 104 eingeben. Diese Arten der Umgebungsfaktoren/-bedingungen können vom ODS 104 verwendet werden, um die geeigneten Erscheinungsmodelle 126 und/oder Beleuchtungsmodelle 128 für eine Objektvorlage 130 und/oder die vom Bildaufnahmesystem 106 erfassten Bildfelder/Bilder 122 zu identifizieren, um den Objektdetektor 104 in Bezug auf die aktuellen Umgebungsfaktoren/-bedingungen zu optimieren.
-
Bei einer weiteren Ausführungsform können im Wesentlichen statische Umgebungsinformationen, wie zum Beispiel Jahreszeitinformationen (z.B. ein Jahreszeitenkalender) Tageszeitinformationen (z.B. Sonnenaufgangszeit, Sonnenuntergangszeit usw.) vorab in die geographische Informationsdatenbank 114 (oder in eine andere Datenbank) geladen werden. Dynamische Umgebungsinformationen, wie zum Beispiel die Wetterinformationen, die aktuelle Zeit, Fahrzeugrichtung/-geschwindigkeit/-höhe, können von einem oder mehreren Bauteilen des Systems 102 wie zum Beispiel dem GPS-Datenprozessor 132 und/oder von einem oder mehreren fernen Systemen, die über eine oder mehrere (verdrahtete und/oder drahtlose) Netze kommunikativ mit dem System 102 verbunden sind, für die geographische Informationsdatenbank 114 bereitgestellt werden. Die dynamischen Informationen können vom System 102 in gegebenen Zeitabständen und/oder auf Anfrage empfangen/abgerufen werden (z.B. wenn der Umgebungsprozessor 136, der Erscheinungsprozessor 137 und/oder der Beleuchtungsprozessor 138 die Umgebungsfaktoren/-bedingungen für einen gegebenen Fahrzeugstandort benötigen).
-
Der Erscheinungsprozessor 137 identifiziert auf der Grundlage der vom Umgebungsprozessor 136 ermittelten Umgebungskontextinformationen zunächst die richtigen Erscheinungsmodelle 126 und wendet danach diese Modelle auf die richtigen Objektvorlagen 130 an, um die an die Erscheinung angepassten Objektvorlagen zu erzeugen. Diese an die Erscheinung angepassten Objektvorlagen werden später verwendet, um die interessierenden Objekte zu identifizieren, wenn die vom Bildaufnahmesystem 106 erfassten Bildfelder/Bilder 122 verarbeitet werden. Der Erscheinungsprozessor 137 wählt zum Beispiel auf der Grundlage der Tageszeit, der Jahreszeit, den Wetterbedingungen usw., die vom Umgebungsprozessor 136 erkannt wurden, ein Erscheinungsmodell 126 aus, und erzeugt automatisch auf der Grundlage einer vorhandenen Objektvorlage 130 eine angepasste Objektvorlage. Diese neue Objektvorlage wird danach verwendet, wenn ein Einzelbild/Bild 122 verarbeitet wird.
-
Der Beleuchtungsprozessor 138 erzeugt zunächst von einer gegebenen Objektvorlage 130 (oder, wenn der Erscheinungsprozessor 137 aktiviert wurde, von einer an die Erscheinung angepassten Objektvorlage) eine auf die Beleuchtung angepasste Objektvorlage, indem eines der folgenden drei Beleuchtungsmodelle angewandt wird: ein beleuchtungsspezifisches Modell, ein beleuchtungsinvariantes Modell und ein synthetisiertes Beleuchtungsmodell. Die Ausführung einer Beleuchtungsanpassung hat bei einer Ausführungsform den Zweck, dass die aktuelle Beleuchtungsbedingung des Objekts mit derjenigen der Objektvorlage 130 übereinstimmt oder auf diese normalisiert wird. Diese an die Beleuchtung angepasste Objektvorlage wird später verwendet, um interessierende Objekte zu erkennen, wenn die vom Bildaufnahmesystem 106 erfassten Bildfelder/Bilder 122 verarbeitet werden. Dies erlaubt dem ODS 104 während der Ausführung des Objekterkennungsprozesses verschiedene Beleuchtungsbedingungen in Betracht zu ziehen.
-
Das ODS 104 weist außerdem einen oder mehrere Objektdetektoren 140 auf. Der Objektdetektor 140 empfängt Eingaben von einem oder mehreren der verschiedenen, oben erörterten Bauteile des Systems 102. Der Objektdetektor 140 verwendet die Informationen, die er von diesen Bauteilen erhält, um die Bildfelder/Bilder 122 zu analysieren, um daraus zu ermitteln, ob die Bildfelder/Bilder 122 ein Zielobjekt aufweisen oder nicht. Bei einer Ausführungsform ist (sind) der (die) Objektdetektor(en) 140 ein (mehrere) merkmalsbasierter (merkmalsbasierte) Detektor(en) und/oder ein (mehrere) Detektor(en) auf der Grundlage von maschinellem Lernen. Andere Objektdetektoren können jedoch genauso gut verwendet werden. Eine detaillierte Erörterung der merkmalsbasierten Detektoren und der Detektoren auf der Grundlage von maschinellem Lernen kann in der im gemeinsamen Eigentum befindlichen und gleichzeitig anhängigen US-Patentanmeldung Seriennummer 13/085 985 mit dem Titel „Object Recognition Using HAAR Features and Histograms of Oriented Gradients“ und der im gemeinsamen Eigentum befindlichen und gleichzeitig anhängigen US-Patentanmeldung Seriennummer 13/086 023 mit dem Titel „Detection of Objects in Digital Images“ gefunden werden, die hiermit durch Bezugnahme vollinhaltlich aufgenommen werden.
-
Obiekterkennung/-wiedererkennunig in digitalen Bildfeldern/Bildern
-
Das ODS 104 arbeitet bei einer Ausführungsform in Echtzeit, um automatisch verschiedene Objekte einer gegebenen, gewünschten Objektart/-klasse in den Bildfeldern/Bildern 122 zu erkennen, die von dem (den) Bildaufnahmesystem(en) 106 mithilfe der GPS- und der geographischen Informationen erfasst wurden. Es wird darauf hingewiesen, dass die verschiedenen Beispiele von Zielobjekten, die in der folgenden Erörterung gegeben werden, nicht einschränkend sind. Das ODS 104 ist mit anderen Worten in der Lage jede Art von Objekten zu erkennen. Das ODS 104 kann zum Beispiel Gebäude, Wahrzeichen (und andere Strukturen), Fahrzeuge, Scheinwerfer, Fußgänger, Tiere und/oder Ähnliches erkennen.
-
Bei einer Ausführungsform führt das ODS 104 einen mehrstufigen (multimodalen) Prozess aus. In einer Stufe identifiziert das ODS 104 zum Beispiel den aktuellen Umgebungskontext eines unmittelbaren Bereichs, eines umgebenden Bereichs und/oder eines zukünftigen Bereichs, die dem aktuellen Standort des Fahrzeugs entsprechen, um zu ermitteln, ob es wahrscheinlich ist oder nicht, dass ein Zielobjekt innerhalb einer gegebenen Zeitspanne oder Entfernung erkannt werden wird. Wenn es wahrscheinlich ist, dass ein Zielobjekt erkannt werden wird, aktiviert das ODS 104 die Bauteile für die Objekterkennung des Systems 102. Wenn es nicht wahrscheinlich ist, dass ein Zielobjekt erkannt werden wird, können die Bauteile für die Objekterkennung des Systems 102 deaktiviert werden. Dies spart Energie- und Verarbeitungsressourcen.
-
Nachstehend folgt eine detaillierte Erörterung in Bezug auf den mehrstufigen (multimodalen) Prozess des ODS 104. Diese Erörterung wird in Bezug auf das transaktionsorientierte Ablaufschaubild in 2 gegeben. Der erste Betriebsmodus des ODS 104 arbeitet, um zu ermitteln ob der Detektor 140 und die ihm zugeordneten Bauteile aktiviert oder deaktiviert werden sollen oder nicht. Wie oben erörtert, empfängt das GPS-System 108 die GPS-Daten 112. Der GPS-Datenprozessor 132 analysiert diese Daten 112 in 202, um zum Beispiel die Koordinaten der Breiten- und Längengrade des Fahrzeugs, die Fahrtrichtung, die Fahrzeuggeschwindigkeit, die Höhe usw. zu ermitteln. Diese Informationen werden dann an den geographischen Informationsprozessor 134 weitergegeben. Der geographische Informationsprozessor 134 verwendet diese Informationen in 204, um die geographischen Informationen 124 zu identifizieren, wie zum Beispiel eine Karte, die dem aktuellen Standort des Fahrzeugs zugeordnet ist, der durch den GPS-Datenprozessor 132 ermittelt wurde. Die Karte kann eine Straßenkarte, eine topographische Karte, eine Satellitenkarte, eine Kombination davon oder Ähnliches sein. Der Informationsprozessor 134 kann je nach Bedarf zwischen diesen Karten umschalten.
-
Der Umgebungsprozessor 136 analysiert in 206 eine entsprechende Karte, um in 208 einen Umgebungskontext des aktuellen Bereichs, des zukünftigen Bereichs und/oder des umgebenden Bereichs des Fahrzeugs zu ermitteln. Der Umgebungsprozessor 136 kann zum Beispiel ermitteln, ob sich das Fahrzeug aktuell in einem ländlichen Bereich oder in einem städtischen Bereich usw. befindet oder dorthin fahren wird. Der Umgebungsprozessor 136 kann außerdem einen differenzierteren Kontext ermitteln, wie zum Beispiel, ob der Bereich ein Waldbereich, ein bergiger Bereich, ein industrieller Bereich, das Zentrum einer Stadt, ein Vorort usw. ist. Bei einer Ausführungsform ist der Umgebungsprozessor 136 in der Lage diesen Kontext auf der Grundlage innerhalb der Karte erkannter Merkmale, wie zum Beispiel Wälder, Gebäude, Häuser usw., zu ermitteln. Bei einer anderen Ausführungsform sind der Karte Metadaten zugeordnet, welche die verschiedenen Bereiche innerhalb der Karte beschreiben. Auf der Grundlage dieser Metadaten kann der Umgebungsprozessor 136 einen Umgebungskontext ermitteln, der diesen Metadaten zugeordnet ist. Der Umgebungsprozessor 136 kann die Ansicht auch verkleinern und einen größeren Ausschnitt der Karte anzeigen. Dies erlaubt dem Umgebungsprozessor 136 einen größeren Ausschnitt der Karte zu analysieren, um bevorstehende Umgebungskontexte zu identifizieren. Eine anfängliche Ansicht der Karte kann zum Beispiel zeigen, dass sich das Fahrzeug aktuell in einem ländlichen Bereich bewegt, aber eine verkleinerte Ansicht, zeigt, dass sich in einer gegebenen Entfernung eine Stadt befindet.
-
Der Umgebungsprozessor 136 kann außerdem die Karte analysieren, um mögliche Zielobjekte oder Objekte zu identifizieren, die den Zielobjekten zugeordnet sind. Wenn das Zielobjekt zum Beispiel ein Verkehrsschild ist, wie zum Beispiel ein Stoppschild oder eine Ampel, kann der Umgebungsprozessor 136 die Karte analysieren, um zu ermitteln, ob der aktuelle Bereich oder ein bevorstehender Bereich eines der Zielobjekte aufweist. Der Umgebungsprozessor 136 kann auch ermitteln, ob die Karte Elemente/Merkmale aufweist, die einem Zielobjekt zugeordnet sind. Der Umgebungsprozessor 136 kann zum Beispiel die Karte analysieren, um zu ermitteln, ob die Karte eine Kreuzung aufweist, die im Allgemeinen mit einem Stoppschild oder einer Ampel in Zusammenhang steht. Der Umgebungsprozessor 136 ist in der Lage eine Karte für eine differenziertere/detailliertere Ansicht zu vergrößern, wenn er versucht mögliche Zielobjekte zu identifizieren. Der Umgebungsprozessor 136 kann auch verkleinern, um einen größeren Bereich zu analysieren.
-
Auf der Grundlage dieses ermittelten Umgebungskontexts kann der Umgebungsprozessor 136 ermitteln, ob es wahrscheinlich ist, dass ein Zielobjekt gefunden wird, und kann den Objektdetektor 140 und die zugeordneten Bauteile, wie zum Beispiel das Bildaufnahmesystem 106 entweder aktivieren oder deaktivieren. Wenn das Zielobjekt zum Beispiel ein bestimmtes Cafe ist und der Umgebungsprozessor 136 ermittelt hat, dass sich das Fahrzeug aktuell in einem ländlichen Bereich bewegt oder, dass es für den Bereich in der Karte versäumt wurde, irgendwelche Gebäude aufzunehmen, ermittelt der Umgebungsprozessor 136, dass die Wahrscheinlichkeit, dass sich in diesem Bereich ein Zielobjekt befindet, unterhalb eines (oder gleich einem) gegebenen Schwellenwert liegt und deaktiviert den Objektdetektor 140 (oder hält ihn im deaktivierten Zustand). Wenn das aktuelle Zielobjekt jedoch ein Fußgänger ist und der Umgebungsprozessor 136 ermittelt hat, dass sich das Fahrzeug in einen bevölkerten Bereich bewegt, dann ermittelt der Umgebungsprozessor 136, dass die Wahrscheinlichkeit, dass sich in diesem Bereich ein Zielobjekt befindet, über einem (oder gleich einem) gegebenen Schwellenwert liegt und aktiviert den Objektdetektor 140 (oder hält ihn im aktivierten Zustand).
-
Der Umgebungsprozessor 136 kann den aktuellen Maßstab der Karte und die aktuelle Geschwindigkeit des Fahrzeugs verwenden, um einen gegebenen Zeitrahmen abzuschätzen, in dem das Fahrzeug einen Bereich erreicht, in dem es wahrscheinlich ist, dass er ein Zielobjekt aufweist. Bei dieser Ausführungsform kann der Umgebungsprozessor 136 einen Zeitgeber einstellen (oder einen vorhandenen Zeitgeber auf der Grundlage der Fahrzeuggeschwindigkeit anpassen), um den Objektdetektor 140 und seine zugehörigen Bauteile automatisch zu aktivieren. Das Gleiche kann ausgeführt werden in Bezug auf die Abschätzung, wann das Fahrzeug einen Bereich erreichen wird, in dem es nicht wahrscheinlich ist, dass Zielobjekte erkannt werden. Ein Zeitgeber kann dann eingestellt (oder aktualisiert) werden, um den Objektdetektor 140 und seine zugehörigen Bauteile, wie zum Beispiel das Bildaufnahmesystem 106, den Objekterscheinungsprozessor 137 und den Beleuchtungsprozessor 138 automatisch zu deaktivieren. Es wird darauf hingewiesen, dass der obige Betriebsmodus für das Ermitteln, ob der Objektdetektor 140 und seine zugehörigen Bauteile aktiviert/deaktiviert werden, optional ist. Der Objektdetektor 140 und seine zugehörigen Bauteile können mit anderen Worten immer aktiv sein oder sie können nur dann aktiv sein, wenn sie von einem Benutzer manuell aktiviert werden.
-
Wenn das ODS 104 ermittelt, dass der Objektdetektor 140 und seine zugehörigen Bauteile aktiviert (oder aktiviert gehalten) werden sollten, arbeitet das ODS 104 danach in einem zweiten Betriebsmodus für das Erkennen von Zielobjekten. Zielobjekte und ihre Klassifizierungen werden in 2 durch das „Taxonomie“-Element 201 dargestellt. Es wird darauf hingewiesen, dass in diesem Modus der durch den Umgebungsprozessor 136 ermittelte Umgebungskontext an den Objektdetektor 140 oder ein anders Bauteil des ODS 104 weitergegeben werden kann. Alternativ kann die Umgebungskontextinformation während des ersten Betriebsmodus gespeichert werden und später vom ODS 104 abgerufen werden, während es im zweiten Betriebsmodus arbeitet.
-
Wenn der Objektdetektor 140 sich im aktivierten Zustand befindet, kann der Umgebungsprozessor 136 die in 210 in 2 gezeigten Informationen der Umgebungsfaktoren/-bedingungen identifizieren, wie zum Beispiel die Wetterbedingungen (z.B. sonnig, bewölkt, bedeckt, Regen, Schneefall, Schneedecke usw.), Jahreszeiten (z.B. Winter, Frühjahr, Sommer, Herbst), Tageszeit (z.B. Vormittag, Nachmittag, Abenddämmerung, Nacht) und Ähnliches. Es wird darauf hingewiesen, dass diese Umgebungsfaktoren/-bedingungen, wie bereits oben erörtert, auch als Teile des ersten Betriebsmodus identifiziert werden können. Der Objekterscheinungsprozessor 137 analysiert die Informationen der Umgebungsfaktoren/-bedingungen, die vom Umgebungsprozessor 136 gesammelt wurden. Auf der Grundlage dieser Analyse wählt der Objekterscheinungsprozessor 137 ein Erscheinungsmodell 126 aus, wendet es auf die Zielobjekte in der Objektvorlage-DB 120 an und erzeugt eine an die Erscheinung angepasste Objektvorlage. Diese angepassten Objektvorlagen werden verwendet, um in 212 die interessierenden Objekte in den vom Bildaufnahmesystem 106 erfassten Bildfeldern/Bildern 122 zu erkennen. Alternativ kann das Erscheinungsmodell 126 an den Objektdetektor 140 weitergegeben werden, um für die Erscheinung der vom Bildaufnahmesystem 106 erfassten Bildfelder/Bilder 122 einen Normalisierungsprozess auszuführen, sodass die Erscheinung der Objekte in den normalisierten Bildfeldern/Bildern mit denen der Objekte in der Objektvorlage-DB 120 übereinstimmt. Wie oben erörtert, kann ein Objekt auf verschiedene Weise in den Bildfeldern/Bildern 122 erscheinen (oder wahrgenommen werden), je nachdem aus welchem Winkel das Objekt betrachtet wird sowie auf der Grundlage der Wetterbedingungen, der aktuellen Jahreszeit, der Tageszeit, der Beleuchtungsbedingungen usw. Daher wird das Erscheinungsmodell 126 vom ODS 104 verwendet, um ein erfasstes Einzelbild/Bild 122 auf der Grundlage der aktuellen Umgebungsfaktoren/-bedingungen zu normalisieren. Dies verbessert die Genauigkeit des Objektdetektors 140.
-
Der Beleuchtungsprozessor 138 ermittelt außerdem einen Beleuchtungskontext, der dem Bereich und/oder dem umgebenden Bereich zugeordnet ist, in dem sich das Fahrzeug aktuell befindet und optional einem zukünftigen Bereich, in den das Fahrzeug fahren kann. Es wird darauf hingewiesen, dass der Beleuchtungskontext, wie oben erörtert, während des ersten Betriebsmodus/der ersten Betriebsstufe ermittelt werden kann. Der Beleuchtungskontext kann auch entweder durch den Umgebungsprozessor 136 und/oder den Beleuchtungsprozessor 138 ermittelt werden. Wenn der Beleuchtungsprozessor 138 diese Informationen ermittelt/erhält, kann der Beleuchtungsprozessor 138 den gleichen Prozess ausführen, wie er oben in Bezug auf den Umgebungsprozessor 136 beschrieben wurde.
-
Bei einer Ausführungsform wird der Beleuchtungskontext auf der Grundlage der Beleuchtungsbedingungen ermittelt, wie zum Beispiel den vom Umgebungsprozessor ermittelten Licht- und Spiegelungsbedingungen. Diese Licht- und Spiegelungsbedingungen können auf der Grundlage der Fahrzeugrichtung/-geschwindigkeit/-höhe, den Wetterbedingungen, der Jahreszeitinformation, der Tageszeitinformation und Ähnlichem variieren. Dies führt dazu, dass die Beleuchtungs-/Spiegelungseigenschaften eines Objektes in einem Einzelbild/Bild in Abhängigkeit von den Umgebungsfaktoren variieren. Ein Verkehrsschild kann zum Beispiel in einem Bild unterschiedlich erscheinen in Abhängigkeit davon, ob auf dem Boden Schnee liegt, der das Sonnenlicht auf das Schild spiegelt oder ob eine Wolkendecke vorhanden ist.
-
Der Beleuchtungskontext wird vom Beleuchtungsprozessor 138 verwendet, um in Bezug auf die aktuellen Beleuchtungsbedingungen, die erkannt wurden, ein oder mehrere Beleuchtungsmodelle 128 für das Optimieren des Objektdetektors 140 auszuwählen.
-
Der Beleuchtungsprozessor 138 wählt auf der Grundlage des ermittelten Beleuchtungskontexts ein oder mehrere Beleuchtungsmodelle 128 aus. Die Bildfelder/Bilder 122 in 214 und/oder die Objektvorlagen 130 in 216 werden danach auf der Grundlage des/der ausgewählten Beleuchtungsmodells/e 128 verarbeitet. Alternativ kann (können) das (die) ausgewählte(n) Beleuchtungsmodell(e) 128 an den Objektdetektor 140 weitergegeben werden, um den Erkennungsprozess in Bezug auf den ermittelten Beleuchtungskontext zu optimieren.
-
Eine Art von Beleuchtungsmodell, das ausgewählt werden kann, ist ein beleuchtungsspezifisches Modell. Ein beleuchtungsspezifisches Modell ist ein Modell, dass für ein Zielobjekt in Bezug auf eine spezifische Beleuchtungsbedingung vorbereitet wurde, wie zum Beispiel Morgendämmerung, Tageslicht, Abenddämmerung, Nacht usw. Zum Beispiel kann ein Zielobjekt, wie zum Beispiel ein Stoppschild, einem der beleuchtungsspezifischen Modelle zugeordnet werden, die für das Stoppschild in Bezug auf die Lichtbedingungen am frühen Morgen, die Lichtbedingungen bei Tag, die Lichtbedingungen in der Dämmerung und die Lichtbedingungen bei Nacht vorbereitet wurden. Wenn der aktuelle Beleuchtungskontext anzeigt, dass die aktuellen Lichtbedingungen den Lichtbedingungen einer Dämmerung entsprechen, kann daher der Beleuchtungsprozessor 138 ein Beleuchtungsmodell für Dämmerung auswählen. Dieses Beleuchtungsmodell kann danach vom ODS 104 verwendet werden, um den Objektdetektor 140 für die Lichtbedingungen der Dämmerung anzupassen/zu optimieren. Daher wird der Objektdetektor 140 nicht nur für spezifische Lichtbedingungen optimiert, sondern der Objektdetektor wird für das Erkennen eines gegebenen Zielobjekts unter diesen spezifischen Lichtbedingungen optimiert.
-
Eine andere Art eines Beleuchtungsmodells ist ein beleuchtungsinvariantes Modell. Diese Modellart erlaubt es, den Objektdetektor 140 auf verschiedene Beleuchtungsbedingungen anzupassen/zu optimieren, ohne mehrere beleuchtungsspezifische Modelle für jedes erkennbare Objekt bereithalten zu müssen. Bei dieser Ausführungsform verwendet der Beleuchtungsprozessor 138 ein beleuchtungsinvariantes Modell, um die Bildfelder/Bilder 122 zu normalisieren, die von zwei oder mehreren Bildaufnahmeeinheiten mit sich überschneidenden Blickfeldern erfasst wurden. Der Normalisierungsprozess erlaubt dem Objektdetektor 140, einen genauen Erkennungsprozess für variierende Beleuchtungsbedingungen auszuführen. Ein Vorteil des beleuchtungsinvarianten Modells ist, dass es nicht erforderlich ist, mehrere beleuchtungsspezifische Modelle für ein interessierendes Objekt zu erzeugen und bereitzuhalten, wodurch Verarbeitungs- und Speicherressourcen eingespart werden.
-
Ein beleuchtungsinvariantes Modell verwendet eine Epipolargeometrie, um entsprechende Merkmale/Formen in den Bildern aufzulösen. Siehe zum Beispiel: P. Fua, Y.G. Leclerc, „Object-Centered Surface Reconstruction: Combining Multi-Image Stereo and Shading“, IJCV, 1995, das hiermit durch Bezugnahme vollinhaltlich aufgenommen wird. Mit diesem Modell wird die Helligkeit der jeweils gleichen Punkte in den Ansichten mehrerer Kameras zueinander in Beziehung gestellt, um die Randbedingungen für das Abschätzen der Beleuchtungsbedingungen und der Albedo eines Zielobjekts bereitzustellen. Für eine Anwendung einer Beleuchtungskorrektur in den Bildern führt der Beleuchtungsprozessor 138 auch eine Abschätzung der Albedo und der Beleuchtung aus, um Bilder mit einer normalisierten Beleuchtung zu erhalten. Unter Berücksichtigung der Albedo kann der Beleuchtungsprozessor 138 die Leistung der Objekterkennung verbessern, indem das Vorhandensein eines Zielobjekts in mehreren Kameraansichten bestätigt wird. Wenn die Beleuchtung normalisiert wurde, kann der Beleuchtungsprozessor 138 das beleuchtungsinvariante Modell auf Bildfelder/Bilder unter variierenden Lichtbedingungen anwenden. Es wird darauf hingewiesen, dass, wenn im Bildaufnahmesystem 106 nicht mehrere Kameras zur Verfügung stehen, eine auf Quotientenbildern basierende Technik verwendet werden kann, um ein normalisiertes Modell eines Zielobjekts für eine genauere Übereinstimmung zu erhalten. Siehe zum Beispiel: Nishiyama, T. Kozakaya und O. Yamaguchi, „Illumination normalization using quotient image-based techniques“, Recent advances in face recognition, 2008, das hiermit durch Bezugnahme vollinhaltlich aufgenommen wird.
-
Der Beleuchtungsprozessor 138 kann auch ein synthetisiertes Beleuchtungsmodell auswählen/erzeugen. Ein synthetisiertes Beleuchtungsmodell wird aus mindestens einem beleuchtungsspezifischen Modell (z.B. einem Beleuchtungsmodell für Tageslicht) und einem beleuchtungsinvarianten Modell erzeugt. Mit anderen Worten können zusätzliche beleuchtungsspezifische Modelle aus einem einzigen beleuchtungsspezifischen Modell und einem beleuchtungsinvarianten Modell erzeugt werden. Dies erlaubt, dass beleuchtungsspezifische Modelle auf beliebigen Differenzierungsniveaus erzeugt werden können, ohne die Kosten für das Sammeln von Trainingsdaten für jede Beleuchtungsbedingung tragen zu müssen.
-
Es wird darauf hingewiesen, dass es für das ODS 104 nicht erforderlich ist, sowohl die Erscheinungsmodelle 126 als auch die Beleuchtungsmodelle 128 zu verwenden. Das ODS 104 kann zum Beispiel nur eine dieser Modellarten 126, 128 verwenden. Sobald die Bildfelder/Bilder 122 und/oder die Objektvorlagen 130 in Bezug auf mindestens ein Erscheinungsmodell 126 und/oder mindestens ein Beleuchtungsmodell 128 verarbeitet wurden (oder sobald diese Modelle an den Objektdetektor 140 weitergegeben wurden), analysiert der Objektdetektor 140 die Bildfelder/Bilder 122, um zu ermitteln, ob in den Bildfeldern/Bildern 122 ein Zielobjekt vorhanden ist oder nicht. Bei einer Ausführungsform zum Beispiel vergleicht der Objektdetektor 140 die Bildfelder/Bilder 122 mit einer oder mehreren entsprechend verarbeiteten Objektvorlagen 130. Wenn die in den Bildfeldern/Bildern 122 identifizierten Merkmale im Wesentlichen mit den Merkmalen der verarbeiteten Objektvorlage(n) 130 übereinstimmen, ermittelt der Objektdetektor 140, dass ein Zielobjekt innerhalb der Bildfelder/Bilder 122 identifiziert wurde. Der Benutzer kann dann über das erkannte Objekt benachrichtigt werden oder es können andere Aktionen ausgeführt werden. Es wird darauf hingewiesen, dass der Objektdetektor 140 mehrere Objekterkennungsprozesse verwenden kann. Ein Beispiel eines Objekterkennungsprozesses wird in der US-Patentanmeldung mit dem Titel „Object Recognition Using HAAR Features and Histograms of Oriented Gradients“ erörtert; US-Anmeldung mit der Seriennummer 13/085 985. Ein weiteres Beispiel eines Objekterkennungsprozesses wird in der US-Patentanmeldung mit dem Titel „Detection of Objects in Digital Images“ erörtert; US-Anmeldung mit der Seriennummer 13/086 023.
-
Ausführbarer Ablaufplan
-
3 ist ein ausführbarer Ablaufplan, der ein Beispiel für den Betrieb eines Objekterkennungssystems in einem ersten Betriebsmodus zum Aktivieren oder Deaktivieren von Bauteilen des Objekterkennungssystems zeigt. Es wird darauf hingewiesen, dass eine detailliertere Erörterung dieses Prozesses oben in Bezug auf die 1 und 2 gegeben wurde. Der ausführbare Ablaufplan beginnt bei Schritt 302 und geht weiter zu Schritt 304. Das ODS 104 empfängt und analysiert im Schritt 304 die GPS-Daten 112. Das ODS 104 erhält im Schritt 306 geographische Informationen 124, wie zum Beispiel, ohne darauf beschränkt zu sein, eine Karte von einer geographischen Informationsdatenbank 114.
-
Das ODS 104 analysiert im Schritt 308 die geographischen Informationen, um den Umgebungskontext zu ermitteln, dem mindestens einer eines aktuellen Bereichs, eines umgebenden Bereichs und eines zukünftigen Bereichs zugeordnet ist, in denen sich das Fahrzeug aktuell bewegt und/oder sich in der Zukunft bewegen wird. Das ODS 104 kann zum Beispiel ermitteln, ob sich das Fahrzeug in einem ländlichen Bereich oder in einem städtischen Bereich befindet. Das ODS 104 kann außerdem einen differenzierteren Kontext ermitteln, wie zum Beispiel, ob der aktuelle Bereich ein Waldbereich, ein bergiger Bereich, ein industrieller Bereich, das Zentrum einer Stadt, ein Vorort usw. ist. Wie oben erörtert, kann das ODS 104 auch die Merkmale einer Karte analysieren, um zu ermitteln, ob der aktuelle Ausschnitt der Karte ein mögliches Zielobjekt und/oder Merkmale aufweist, die einem Zielobjekt zugeordnet sind.
-
Auf der Grundlage dieser Analyse ermittelt das ODS 104 im Schritt 310 eine Wahrscheinlichkeit, dass ein Zielobjekt in dem analysierten Bereich der Karte erkannt wird. Das ODS 104 ermittelt danach im Schritt 312, ob diese Wahrscheinlichkeit über oder gleichauf mit einem gegebenen Schwellenwert liegt. Wenn das Ergebnis dieser Ermittlung positiv ist, aktiviert das ODS 104 im Schritt 314 den Objektdetektor 140 und alle Bauteile, die vom Detektor 140 benötigt werden. Der Steuerungsablauf geht dann zum Eingangspunkt A der 4. Wenn das Ergebnis dieser Ermittlung negativ ist, kehrt der Steuerungsablauf zum Schritt 304 zurück.
-
4 ist ein ausführbarer Ablaufplan, der ein Beispiel für den Betrieb eines Objekterkennungssystems in einem zweiten Betriebsmodus zeigt, in dem sich ein Objektdetektor und alle erforderlichen Bauteile in einem aktivierten Zustand befinden. Es wird darauf hingewiesen, dass eine detailliertere Erörterung dieses Prozesses oben in Bezug auf die 1 und 2 gegeben wurde. In diesem zweiten Betriebsmodus ermittelt das ODS 104 im Schritt 402 einen Erscheinungskontext auf der Grundlage von Umgebungsfaktoren/-bedingungen, wie zum Beispiel, ohne darauf beschränkt zu sein, Wetterbedingungen (z.B. sonnig, bewölkt, bedeckt, Regen, Schneefall, Schneedecke usw.), Jahreszeiten (z.B. Winter, Frühjahr, Sommer, Herbst), Tageszeit (z.B. Vormittag, Nachmittag, Abenddämmerung, Nacht) und Ähnlichem. Es wird darauf hingewiesen, dass diese Umgebungsfaktoren/- bedingungen auch genauso gut während des ersten Betriebsmodus durch das ODS 104 ermittelt werden können. Diese Umgebungsfaktoren/-bedingungen können durch einen Benutzer manuell eingegeben oder aus den GPS-Daten 112, aus Informationen in der geographischen Informationsdatenbank 114, aus Bildfeldern/Bildern 122, die durch das Bildaufnahmesystem 106 erfasst wurden, und Ähnlichem identifiziert werden.
-
Das ODS 104 wählt danach im Schritt 404 auf der Grundlage des ermittelten Erscheinungskontexts ein oder mehrere Erscheinungsmodelle 126 aus. Das ODS 104 verarbeitet danach im Schritt 406 auf der Grundlage des einen oder der mehreren Erscheinungsmodelle 126 die Bildfelder/Bilder 122, die durch das Bildaufnahmesystem 106 erfasst wurden, und/oder die Objektvorlagen 130, die erkennbaren Objekten zugeordnet sind. Diese Verarbeitung normalisiert entweder die Erscheinung von Objekten in den Bildfeldern/Bildern 122 oder sie wendet ein oder mehrere Erscheinungsmodelle auf die Zielobjektvorlagen 130 an, um ein oder mehrere an die Erscheinung angepasste Objektvorlagen zu erzeugen und/oder optimiert den Objektdetektor 140 in Bezug auf die aktuellen Umgebungsfaktoren/- bedingungen.
-
Das ODS 104 ermittelt im Schritt 408 auf der Grundlage der Umgebungsfaktoren/- bedingungen auch einen Beleuchtungskontext. Es wird jedoch darauf hingewiesen, dass es nicht notwendig ist, dass das System 104 sowohl einen Erscheinungskontext als auch einen Beleuchtungskontext ermitteln muss. Wie oben erörtert, identifiziert der Beleuchtungskontext die unterschiedlichen Beleuchtungsbedingungen (z.B. Licht und Spiegelung), d.h. die Bedingungen der Umgebung, in der sich das Fahrzeug bewegt oder bewegen wird. Das ODS 104 erzeugt oder wählt danach im Schritt 410 auf der Grundlage des ermittelten Beleuchtungskontexts ein oder mehrere Beleuchtungsmodelle 128 aus. Das ODS 104 verarbeitet danach im Schritt 412 auf der Grundlage des einen oder der mehreren Beleuchtungsmodells/e 128 die Bildfelder/Bilder 122, die durch das Bildaufnahmesystem 106 erfasst wurden, und/oder die Objektvorlagen 130, die erkennbaren Objekten zugeordnet sind. Diese Verarbeitung normalisiert entweder die Beleuchtung der Objekte in den Bildfeldern/Bildern 122 und erzeugt beleuchtungsinvariante Bildfelder/Bilder oder sie erzeugt beleuchtungsspezifische oder beleuchtungssynthetisierte Bildfelder/Bilder und erzeugt beleuchtungsspezifische oder beleuchtungsinvariante oder beleuchtungssynthetisierte Objektvorlagen und/oder optimiert den Objektdetektor 140 in Bezug auf die Beleuchtungsbedingungen der Umgebung.
-
Das ODS 104 führt im Schritt 414 einen Objekterkennungsprozess in den Bildfeldern/Bildern 122 aus, die mithilfe der Erscheinungs- und/oder Beleuchtungsmodelle 126, 128 verarbeitet wurden. Das ODS 104 ermittelt im Schritt 416, ob ein Zielobjekt erkannt wurde. Wenn das Ergebnis dieser Ermittlung negativ ist, kehrt der Steuerungsablauf zum Schritt 402 zurück. Wenn das Ergebnis dieser Ermittlung positiv ist, benachrichtigt das ODS 104 im Schritt 418 den Benutzer über das erkannte Objekt und/oder führt eine andere Aktion aus. Die Ablaufsteuerung kehrt danach zum Schritt 402 zurück. Es wird darauf hingewiesen, dass das ODS 104 gleichzeitig sowohl im ersten Modus als auch im zweiten Modus arbeiten kann. Wenn sich das ODS 104 zum Beispiel im zweiten Modus befindet, kann das ODS 104 die Analyse der geographischen Informationen 124 fortsetzen, um zu ermitteln, ob der Objektdetektor 140 deaktiviert werden sollte oder nicht.
-
Informationsverarbeitungssvstem
-
5 ist ein Blockschaltbild, das ein Informationsverarbeitungssystem zeigt, das in Ausführungsformen der vorliegenden Erfindung verwendet werden kann. Das Informationsverarbeitungssystem 500 stützt sich auf ein zweckmäßig konfiguriertes Verarbeitungssystem, dass angepasst wurde, um eine oder mehrere Ausführungsformen der vorliegenden Erfindung (z.B. das System 102 aus 1) umzusetzen. Jedes zweckmäßig konfigurierte Verarbeitungssystem kann in einigen Ausführungsformen der vorliegenden Erfindung als das Informationsverarbeitungssystem 500 verwendet werden.
-
Das Informationsverarbeitungssystem 500 weist einen Computer 502 auf. Der Computer 502 weist einen (einige) Prozessor(en) 504 auf, der (die) mit einem Hauptspeicher 506, einer Massenspeicherschnittstelle 508, einer Netzadapterhardware 510. einem Bildaufnahmesystem 106 und einem GPS-System 108 verbunden ist (sind). Ein Systembus 512 verbindet diese Systembauteile untereinander. Obwohl für den Computer 502 nur eine CPU 504 dargestellt ist, können Computersysteme mit mehreren CPUs gleichermaßen wirkungsvoll verwendet werden. Der Hauptspeicher 506 weist in dieser Ausführungsform das Objekterkennungssystem 104 und seine Bauteile, die Bilddatenbank 110 und ihre Inhalte, die geographische Informationsdatenbank 114, die Beleuchtungsmodelldatenbank 116 und ihre Inhalte, die Erscheinungsmodelldatenbank 118 und ihre Inhalte und die Objektvorlagendatenbank 120 und ihre Inhalte auf.
-
Die Massenspeicherschnittstelle 508 wird dazu verwendet die Massenspeichereinheiten, wie zum Beispiel die Massenspeichereinheit 514, mit dem Informationsverarbeitungssystem 500 zu verbinden. Eine spezifische Art einer Datenspeichereinheit ist ein optisches Laufwerk, wie zum Beispiel ein CD/DVD-Laufwerk, das dazu verwendet werden kann, Daten auf einem computerlesbaren Medium oder einem Speicherprodukt, wie zum Beispiel (ohne darauf beschränkt zu sein) einer CD/DVD 516, zu speichern und von dort zu lesen. Eine andere Art einer Datenspeichereinheit ist eine Datenspeichereinheit, die dazu ausgelegt ist, zum Beispiel NTFS-artige Dateisystemoperationen zu unterstützen.
-
Ein im Hauptspeicher enthaltenes Betriebssystem ist ein geeignetes Multitasking-Betriebssystem, wie zum Beispiel eines der Betriebssysteme die auf der Grundlage von Linux, UNIX, Windows und Windows Server arbeiten. Ausführungsformen der vorliegenden Erfindung sind auch in der Lage beliebige andere geeignete Betriebssysteme zu verwenden. Einige Ausführungsformen der vorliegenden Erfindung verwenden Architekturen, wie zum Beispiel einen objektorientierte Framework-Mechanismus, der es erlaubt Befehle der Bauteile des Betriebssystems auf jedem beliebigen im Informationsverarbeitungssystem 500 angeordneten Prozessor auszuführen. Die Netzadapterhardware 510 wird verwendet, um eine Schnittstelle zu einem Netz 511 bereitzustellen. Ausführungsformen der vorliegenden Erfindung sind in der Lage an die Arbeit mit beliebigen Datenübertragungsverbindungen angepasst zu werden, einschließlich moderner Analog- und/oder Digitaltechniken oder über einen zukünftigen Vernetzungsmechanismus.
-
Obwohl die beispielhaften Ausführungsformen der vorliegenden Erfindung im Zusammenhang mit einem vollständig funktionsfähigen Computersystem beschrieben wurden, wird der Fachmann verstehen, dass verschiedene Ausführungsformen in der Lage sind als Programmprodukt über CD oder DVD, CD-ROM oder andere Formen von beschreibbaren Datenträgern oder über andere Arten elektronischer Übertragungsmechanismen verbreitet zu werden. Aspekte der vorliegenden Erfindung können auch die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software und Hardware-Komponenten kombiniert, wobei diese hier alle als „Schaltkreis“, „Modul“ oder „System“ bezeichnet werden.
-
Jede beliebige Kombination eines oder mehrerer computerlesbarer Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann unter anderem beispielsweise, ohne darauf beschränkt zu sein, ein System, eine Vorrichtung oder eine Einheit zur elektronischen, magnetischen, optischen, elektromagnetischen, Infrarot- oder Halbleiterspeicherung sein oder jede geeignete Kombination davon. Konkrete Beispiele computerlesbarer Speichermedien umfassen (in einer unvollständigen Liste) eine Computerdiskette, eine Festplatte, einen RAM, einen ROM, einen EPROM oder einen Flash-Speicher, einen Lichtwellenleiter, einen CD-ROM, eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination der Vorgenannten. Ein computerlesbares Speichermedium kann jedes verfügbare Medium sein, auf dem ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung enthalten sein oder gespeichert werden kann.
-
Ein computerlesbares Signalmedium kann ein übertragenes Datensignal umfassen, dass einen computerlesbaren Programmcode enthält beispielsweise im Basisband oder als Teil einer Trägerwelle. Ein solches übertragenes Signal kann eine von einer Vielzahl von Formen annehmen, einschließlich, ohne darauf beschränkt zu sein, eine elektromagnetische oder optische Form oder jede geeignete Kombination davon. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und welches Programmdaten für eine Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung austauschen, verbreiten oder übertragen kann.
-
Ein Programmcode, der auf einem computerlesbaren Medium enthalten ist, kann unter Verwendung eines geeigneten Mediums übertragen werden, einschließlich, ohne darauf beschränkt zu sein, drahtlos oder leitungsgebunden, Lichtwellenleiter, HF usw. oder jeder geeigneten Kombination davon.
-
Der Computerprogrammcode zur Durchführung von Operationen für einige Aspekte der vorliegenden Erfindung kann in jeder beliebigen Kombination von Programmiersprachen geschrieben werden, einschließlich objektorientierter Programmiersprachen, wie zum Beispiel Java, Smalltalk, C++ oder ähnlicher Programmiersprachen, und herkömmlicher prozeduraler Programmiersprachen, wie zum Beispiel der Programmiersprache „C“ oder ähnlicher Programmiersprachen. Der Programmcode kann entweder vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als unabhängiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf einem fernen Computer oder Server ausgeführt werden. Im letzten Szenario kann der ferne Computer mit dem Computer des Benutzers entweder über ein beliebiges Netz verbunden werden, einschließlich eines lokalen Netzes (LAN) oder eines Fernnetzes (WAN), oder die Verbindung kann über einen externen Computer (z.B. über das Internet unter Verwendung eines Internet-Dienstanbieters) hergestellt werden.
-
Nichteinschränkende Beispiele
-
Obwohl spezifische Ausführungsformen der Erfindung offengelegt wurden, wird der Fachmann verstehen, dass an den spezifischen Ausführungsformen Änderungen vorgenommen werden können, ohne von Erfindungsgedanken und Umfang der Erfindung abzuweichen. Der Umfang der Erfindung ist daher nicht auf die spezifische Ausführungsformen beschränkt und die nachfolgenden Patentansprüche sind so zu verstehen, dass sie innerhalb des Umfangs der vorliegenden Erfindung alle diese Anwendungen, Veränderungen und Ausführungsformen abdecken.