-
ALLGEMEINER STAND DER TECHNIK
-
GEBIET DER ERFINDUNG
-
Diese Offenbarung betrifft ein Sensorsystem und Verfahren für ein Fahrzeug.
-
HINTERGRUND DER ERFINDUNG
-
In einer städtischen Umgebung eine Parklücke in Längsaufstellung zu finden, kann sehr schwierig sein. Beim Finden eines Parkplatzes wird eine erhebliche Menge Kraftstoff verbraucht. Das Finden von Parkplätzen direkt neben dem Fahrzeug kann ein schwieriges Problem sein, besonders wenn das Fahrzeug mit mittlerer Geschwindigkeit fährt, während der Fahrer einen Parkplatz sucht, insbesondere bei starkem Verkehr.
-
Die hier offenbarten Systeme und Verfahren stellen einen verbesserten Ansatz zum Identifizieren von Parkplätzen aus einem sich bewegenden Fahrzeug bereit.
-
Figurenliste
-
Damit die Vorteile der Erfindung ohne Weiteres verstanden werden, erfolgt durch Bezugnahme auf konkrete Ausführungsformen, die in den beigefügten Zeichnungen veranschaulicht sind, eine genauere Beschreibung der vorstehend kurz beschriebenen Erfindung. Unter der Annahme, dass diese Zeichnungen lediglich typische Ausführungsformen der Erfindung darstellen und daher nicht als den Umfang beschränkend aufzufassen sind, wird die Erfindung mit zusätzlicher Genauigkeit und Ausführlichkeit durch Verwendung der beigefügten Zeichnungen beschrieben und erläutert, in denen Folgendes gilt:
- 1 ist ein schematisches Blockdiagramm eines Systems zum Umsetzen von Ausführungsformen der Erfindung;
- 2 ist ein schematisches Blockdiagramm einer beispielhaften Rechenvorrichtung, die zum Umsetzen von Verfahren gemäß Ausführungsformen der Erfindung geeignet ist;
- 3 ist ein Diagramm, das ein Szenario veranschaulicht, in dem unbelegte Parkpositionen unter Verwendung von auditiven Daten gemäß einer Ausführungsform der vorliegenden Erfindung detektiert werden können;
- 4 ist ein schematisches Blockdiagramm von Komponenten zum Detektieren von unbelegten Parkpositionen unter Verwendung von auditiven Daten gemäß einer Ausführungsform der vorliegenden Erfindung;
- 5 ist ein Prozessablaufdiagramm eines Verfahrens zum Detektieren von unbelegten Parkpositionen gemäß einer Ausführungsform der vorliegenden Erfindung; und
- 6 ist ein Diagramm, das die Korrelation von Mikrofonsignalen gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Unter Bezugnahme auf 1 kann eine Steuerung 102 innerhalb eines Fahrzeugs untergebracht sein. Das Fahrzeug kann ein beliebiges auf dem Fachgebiet bekanntes Fahrzeug beinhalten. Das Fahrzeug kann alle Strukturen und Merkmale eines beliebigen auf dem Fachgebiet bekannten Fahrzeugs aufweisen, wozu Räder, ein an die Räder gekoppelter Antriebsstrang, ein an den Antriebsstrang gekoppelter Motor, ein Lenksystem, ein Bremssystem und andere auf dem Fachgebiet bekannte in ein Fahrzeug einzuschließende Systeme gehören.
-
Wie hier ausführlicher erörtert, kann die Steuerung 102 autonome Navigation und Kollisionsvermeidung durchführen. Die Steuerung 102 kann einen oder mehrere Bildströme von einer oder mehreren Abbildungsvorrichtungen 104 empfangen. Zum Beispiel können eine oder mehrere Kameras an dem Fahrzeug montiert sein und Bildströme ausgeben, die durch die Steuerung 102 empfangen werden. Die Steuerung 102 kann einen oder mehrere Audioströme von einem oder mehreren Mikrofonen 106 empfangen. Zum Beispiel können ein oder mehrere Mikrofone 106 oder Mikrofonarrays 106 an dem Fahrzeug montiert sein und Audioströme ausgeben, die durch die Steuerung 102 empfangen werden. Die Mikrofone 106 können Richtmikrofone beinhalten, die eine Empfindlichkeit aufweisen, die mit dem Winkel variiert.
-
Die Steuerung 102 kann ein Kollisionsvermeidungsmodul 108 ausführen, das die Bildströme und Audioströme empfängt und mögliche Hindernisse identifiziert und Maßnahmen ergreift, um diesen auszuweichen.
-
Ausgaben von anderen Sensoren können dazu verwendet werden, Hindernisse zu identifizieren. Zum Beispiel können die Abbildungsvorrichtungen 104 Sensoren wie etwa RADAR (Radio Detection and Ranging), LIDAR (Light Detection and Ranging), SONAR (Sound Navigation and Ranging) und dergleichen beinhalten. Dementsprechend können die durch die Steuerung 102 empfangenen „Bildströme“ eines oder beides von optischen Bildern, die durch eine Kamera detektiert werden, und Objekten und Topologie, die unter Verwendung von einer oder mehreren anderen Vorrichtungen erfasst werden, beinhalten. Die Steuerung 102 kann dann sowohl Bilder als auch erfasste Objekte und Topologie analysieren, um mögliche Hindernisse zu identifizieren
-
Das Kollisionsvermeidungsmodul 108 kann ein Audiodetektionsmodul 110a beinhalten. Das Audiodetektionsmodul 110a kann ein Audiovorverarbeitungsmodul 112a beinhalten, das dazu programmiert ist, den einen oder die mehreren Audioströme zu verarbeiten, um eine Schallsignatur hervorzuheben, die einer unbelegten Parklücke entspricht. Das Audiodetektionsmodul 110a kann ferner ein Modell für maschinelles Lernen 112b beinhalten, das ein Modell umsetzt, das die verarbeiteten Audioströme aus dem Vorverarbeitungsmodul 112a auswertet und versucht, die Signatur einer unbelegten Parkposition zu detektieren. Das Modul für maschinelles Lernen 112b kann eine Konfidenzbewertung ausgeben, die eine Wahrscheinlichkeit angibt, dass eine Klassifizierung korrekt ist. Die Funktion der Module 112a, 112b des Audiodetektionsmoduls 110a ist nachstehend in Bezug auf das Verfahren 500 aus 5 ausführlicher beschrieben.
-
Das Audiodetektionsmodul 110a kann ferner ein Bildkorrelationsmodul 112c beinhalten, das dazu programmiert ist, Bildausgaben von der einen oder den mehreren Abbildungsvorrichtungen 104 auszuwerten und zu versuchen, eine unbelegte Parkposition zu identifizieren. Insbesondere kann das Bildkorrelationsmodul 112c dazu verwendet werden, das Vorhandensein einer unbelegten Parkposition zu bestätigen, die unter Verwendung von Audiodaten gemäß den hier offenbarten Verfahren detektiert wird.
-
Das Audiodetektionsmodul 110a kann ferner ein Kartenkorrelationsmodul 112d beinhalten. Das Kartenkorrelationsmodul 112d wertet Kartendaten aus, um zu bestimmen, ob eine Parkposition wie etwa eine zulässige Parkposition in Längsaufstellung oder Parkposition in Schrägaufstellung an einem Standort angeordnet ist, zu dem gemäß den hier offenbarten Verfahren bestimmt wird, dass er unbelegt ist. Falls ja, kann die unbelegte Parkposition zur späteren Verwendung gespeichert oder zur Verwendung durch andere Fahrzeuge einem Server gemeldet werden.
-
Das Kollisionsvermeidungsmodul 108 kann ferner ein Hindernisidentifikationsmodul 110b, ein Kollisionsvorhersagemodul 110c und ein Entscheidungsmodul 110d beinhalten. Das Hindernisidentifikationsmodul 110b analysiert den einen oder die mehreren Bildströme und identifiziert mögliche Hindernisse, zu denen Personen, Tiere, Fahrzeuge, Gebäude, Bordsteine und andere Objekte und Strukturen gehören. Insbesondere kann das Hindernisidentifikationsmodul 110b Fahrzeugbilder in dem Bildstrom identifizieren.
-
Das Kollisionsvorhersagemodul 110c sagt vorher, welche Hindernisbilder auf Grundlage seiner aktuellen Trajektorie oder seines aktuell beabsichtigten Wegs wahrscheinlich mit dem Fahrzeug kollidieren. Das Kollisionsvorhersagemodul 110c kann die Wahrscheinlichkeit einer Kollision mit Objekten, die durch das Hindernisidentifikationsmodul 110b identifiziert werden, sowie Objekten, die unter Verwendung des Audiodetektionsmoduls 110a detektiert werden, auswerten. Insbesondere können Fahrzeuge, zu denen mit einer Konfidenz über einem Schwellenwert durch das Audiodetektionsmodul 110a identifiziert wird, dass ihr Motor läuft, zu einem Satz möglicher Hindernisse hinzugefügt werden, insbesondere die möglichen Bewegungen derartiger Fahrzeuge. Das Entscheidungsmodul 110d kann eine Entscheidung zum Anhalten, Beschleunigen, Abbiegen usw. treffen, um Hindernissen auszuweichen. Die Art und Weise, auf die das Kollisionsvorhersagemodul 110c mögliche Kollisionen vorhersagt, und die Art und Weise, auf die das Entscheidungsmodul 110d Maßnahmen ergreift, um mögliche Kollisionen zu vermeiden, können einem beliebigen auf dem Fachgebiet autonomer Fahrzeuge bekannten Verfahren oder System entsprechen.
-
Das Entscheidungsmodul 110d kann die Trajektorie des Fahrzeugs durch Betätigen von einem oder mehreren Aktoren 114 steuern, die die Richtung und Geschwindigkeit des Fahrzeugs steuern. Zum Beispiel können die Aktoren 114 einen Lenkaktor 116a, einen Beschleunigungsaktor 116b und einen Bremsaktor 116c beinhalten. Die Konfiguration der Aktoren 116a-116c kann gemäß einer beliebigen Umsetzung derartiger auf dem Fachgebiet autonomer Fahrzeuge bekannter Aktoren erfolgen.
-
In hier offenbarten Ausführungsformen kann das Kollisionsvermeidungsmodul 108 autonomes Parken durchführen. Insbesondere kann das Kollisionsvermeidungsmodul 108 das Fahrzeug mithilfe der Aktoren 114 autonom in eine gemäß den hier offenbarten Verfahren identifizierte unbelegte Parkposition einparken.
-
Die Steuerung 102 kann netzwerkfähig sein und Informationen über ein Netzwerk 118 abrufen. Zum Beispiel kann auf Kartendaten 120 von einem Serversystem 122 zugegriffen werden, um mögliche Parklücken nahe dem autonomen Fahrzeug, in dem die Steuerung 102 untergebracht ist, zu identifizieren. Die Kartendaten 120 können Parkdaten 124 beinhalten, die den Standort von zulässigen Parkpositionen aufzeichnen. Die Parkdaten 124 können ferner Statusinformationen beinhalten, die einen Status einer Parkposition widerspiegeln. Ein Status einer Parkposition kann Status wie etwa „belegt“, „unbekannt“ und „unbelegt“ beinhalten. In einigen Ausführungsformen können die Parkdaten beim Status „unbelegt“ den Zeitpunkt aufzeichnen, zu dem die Parkposition gemäß den hier offenbarten Verfahren als unbelegt gemeldet wurde.
-
Unbelegte Parkpositionen können dem Serversystem 122 gemeldet werden, wenn sie gemäß den hier offenbarten Verfahren bestimmt werden, das die Parkdaten 124 aktualisiert. Die Steuerung 102 kann ferner melden, wenn das Fahrzeug in einer Parkposition geparkt wird, wie etwa, wenn die Steuerung 102 autonom in die Parkposition einparkt.
-
2 ist ein Blockdiagramm, das eine beispielhafte Rechenvorrichtung 200 veranschaulicht. Die Rechenvorrichtung 200 kann dazu verwendet werden, verschiedene Prozeduren durchzuführen, wie etwa die hier erörterten. Die Steuerung 102 und das Serversystem 122 können einige oder alle der Attribute der Rechenvorrichtung 200 aufweisen.
-
Die Rechenvorrichtung 200 beinhaltet einen oder mehrere Prozessor(en) 202, eine oder mehrere Speichervorrichtung(en) 204, eine oder mehrere Schnittstelle(n) 206, eine oder mehrere Massenspeichervorrichtung(en) 208, eine oder mehrere Ein-/Ausgabe-(E/A-)Vorrichtung(en) 210 und eine Anzeigevorrichtung 230, die alle an einen Bus 212 gekoppelt sind. Der bzw. die Prozessor(en) 202 beinhalten eine(n) oder mehrere Prozessoren oder Steuerungen, die in der bzw. den Speichervorrichtung(en) 204 und/oder Massenspeichervorrichtung(en) 208 gespeicherte Anweisungen ausführen. Der bzw. die Prozessor(en) 202 können zudem verschiedene Arten von computerlesbaren Medien beinhalten, wie etwa Cache-Speicher.
-
Die Speichervorrichtung(en) 204 beinhalten verschiedene computerlesbare Medien, wie etwa flüchtigen Speicher (z.B. Direktzugriffsspeicher (random access memory - RAM) 214) und/oder nichtflüchtigen Speicher (z. B. Festwertspeicher (read-only memory - ROM) 216). Die Speichervorrichtung(en) 204 können zudem wiederbeschreibbaren ROM beinhalten, wie etwa Flash-Speicher.
-
Die Massenspeichervorrichtung(en) 208 beinhalten verschiedene computerlesbare Medien, wie etwa Magnetbänder, Magnetplatten, optische Platten, Festkörperspeicher (z. B. Flash-Speicher) und so weiter. Wie in 2 gezeigt, ist eine besondere Massenspeichervorrichtung ein Festplattenlaufwerk 224. Zudem können verschiedene Laufwerke in der bzw. den Massenspeichervorrichtung(en) 208 enthalten sein, um ein Auslesen aus und/oder Schreiben auf die verschiedenen computerlesbaren Medien zu ermöglichen. Die Massenspeichervorrichtung(en) 208 beinhalten Wechselmedien 226 und/oder Nicht-Wechselmedien.
-
Die E/A-Vorrichtung(en) 210 beinhalten verschiedene Vorrichtungen, die es ermöglichen, dass Daten und/oder andere Informationen in die Rechenvorrichtung 200 eingegeben oder daraus abgerufen werden. Die beispielhafte(n) E/A-Vorrichtung(en) 210 beinhalten Cursorsteuervorrichtungen, Tastaturen, Tastenfelder, Mikrofone, Monitore oder andere Anzeigevorrichtungen, Lautsprecher, Drucker, Netzwerkschnittstellenkarten, Modems, Linsen, CCDs oder andere Bilderfassungsvorrichtungen und dergleichen.
-
Die Anzeigevorrichtung 230 beinhaltet eine beliebige Art von Vorrichtung, die dazu in der Lage ist, einem oder mehreren Benutzern der Rechenvorrichtung 200 Informationen anzuzeigen. Zu Beispielen für die Anzeigevorrichtung 230 gehören ein Monitor, ein Anzeigeendgerät, eine Videoprojektionsvorrichtung und dergleichen.
-
Die Schnittstelle(n) 206 beinhalten verschiedene Schnittstellen, die es der Rechenvorrichtung 200 ermöglichen, mit anderen Systemen, Vorrichtungen oder Rechenumgebungen zu interagieren. Zu (einer) beispielhaften Schnittstelle(n) 206 gehören eine beliebige Anzahl von unterschiedlichen Netzwerkschnittstellen 220, wie etwa Schnittstellen zu lokalen Netzen (local area networks - LANs), Weitverkehrsnetzen (wide area networks - WANs), drahtlosen Netzen und dem Internet. Zu (einer) andere(n) Schnittstelle(n) gehören eine Benutzerschnittstelle 218 und eine Peripherievorrichtungsschnittstelle 222. Zu der bzw. den Schnittstelle(n) 206 können zudem eine oder mehrere Peripherieschnittstellen gehören, wie etwa Schnittstellen für Drucker, Zeigevorrichtungen (Mäuse, Trackpad usw.), Tastaturen und dergleichen.
-
Der Bus 212 ermöglicht es dem bzw. den Prozessor(en) 202, der bzw. den Speichervorrichtung(en) 204, der bzw. den Schnittstelle(n) 206, der bzw. den Massenspeichervorrichtung(en) 208, der bzw. den E/A-Vorrichtung(en) 210 und der Anzeigevorrichtung 230, miteinander sowie mit anderen Vorrichtungen oder Komponenten, die an den Bus 212 gekoppelt sind, zu kommunizieren. Der Bus 212 stellt eine oder mehrere von mehreren Arten von Busstrukturen dar, wie etwa einen Systembus, PCI-Bus, IEEE-1394-Bus, USB-Bus und so weiter.
-
Zum Zwecke der Veranschaulichung sind Programme und andere ausführbare Programmkomponenten hier als diskrete Blöcke gezeigt, auch wenn es sich versteht, dass sich derartige Programme und Komponenten zu verschiedenen Zeitpunkten in unterschiedlichen Speicherkomponenten der Rechenvorrichtung 200 befinden können, und werden durch den bzw. die Prozessor(en) 202 ausgeführt. Alternativ können die hier beschriebenen Systeme und Prozeduren in Hardware oder einer Kombination aus Hardware, Software und/oder Firmware umgesetzt sein. Eine oder mehrere anwendungsspezifische integrierte Schaltungen (application specific integrated circuits - ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. eine oder mehrere der hier beschriebenen Systeme und Prozeduren ausführen.
-
Unter Bezugnahme auf 3 kann ein Fahrzeug, in dem die Steuerung 102 untergebracht ist (nachfolgend das Fahrzeug 300), in vielen Fällen an einer Straße entlangfahren, die Parken in Längs- oder Schrägaufstellung ermöglicht. Viele der verfügbaren Parkstandorte können mit anderen Fahrzeugen 302 belegt sein und andere Positionen 304 können unbelegt sein. Die Mikrofone 106 können ein oder mehrere Mikrofone 106a-106c beinhalten, die entlang dem Fahrzeug positioniert sind, wie etwa entlang der rechten Seite in Rechtssystemen, in denen Fahrer auf der rechten Straßenseite fahren. Die folgende Offenbarung geht von Fahrt entlang der rechten Straßenseite aus. Bezugnahmen auf die rechte oder linke Seite eines Fahrzeugs wären im Fall von Linksverkehr umgekehrt.
-
Die vertikale Position der Mikrofone 106a-106c kann innerhalb der typischen Höhe eines Fahrzeugs positioniert sein, z. B. zwischen 2 und 4 Fuß vom Boden. Die Abbildungsvorrichtungen 104 können ferner eine nach rechts gewandte Kamera 104 beinhalten, die so positioniert ist, dass Parkpositionen auf der rechten Seite des Fahrzeugs innerhalb ihres Sichtfelds liegen. Andere Abbildungssensoren (z. B. LIDAR, RADAR, SONAR) können die rechte Seite des Fahrzeugs innerhalb ihres Sichtfelds aufweisen.
-
Wenn das Fahrzeug 300 an den Fahrzeugen 302 und leeren Parkpositionen 304 vorbeifährt, detektieren die Ausgaben der Mikrofone 106a-106c eine deutlich unterschiedliche Schallsignatur. Zum Beispiel wird Schall, der durch die geparkten Fahrzeuge 302 blockiert werden kann, durch die leere Parkposition 304 nicht blockiert. Ebenso wird Schall, der durch die Fahrzeuge 302 auf die Mikrofone 106a-106c reflektiert wird, an der leeren Parkposition 304 nicht in dem gleichen Ausmaß reflektiert. Dementsprechend ereignet sich an der leeren Parkposition 304 eine eindeutige Änderung der Merkmale des detektierten Schalls.
-
Das Modul für maschinelles Lernen 112b kann trainiert werden, um diese eindeutige Änderung der Merkmale des detektierten Schalls zu detektieren. Zum Beispiel kann ein Trainingsdatensatz eine Audiodatei beinhalten, die aufgezeichnet wird, wenn ein Fahrzeug mit einer gegebenen Geschwindigkeit an einer Reihe von belegten und unbelegten Parkpositionen vorbeifährt. Die gewünschte Ausgabe für die Audiodatei kann ein Satz von Statushinweisen sein, der angibt, ob ein bestimmter Zeitpunkt in der Audiodatei Schall entspricht, der aufgezeichnet wird, während an einer belegten oder unbelegten Parkposition vorbeigefahren wird. Zum Beispiel kann ein Statushinweis in der gewünschten Ausgabe enthalten sein und einem Satz von N Abtastungen entsprechen, wobei N ein Wert von 1 bis 1000 oder ein anderer Wert ist. Die Statushinweise können einfach ein binärer Wert sein: 1 für belegt und 0 für unbelegt.
-
Verschiedene Paare von Audiodateien und Sätze von gewünschten Ausgaben können dazu verwendet werden, das Maschinenmodell zu trainieren. Die Audiodateien können unter verschiedenen Verkehrsbedingungen und bei verschiedenen Geschwindigkeiten aufgezeichnet werden, um das Modell für mehrere Situationen zu trainieren. In einigen Ausführungsformen kann die Fahrzeuggeschwindigkeit für ein gegebenes Paar von Audiodateien und einen gegebenen Satz von gewünschten Ausgaben eingegeben werden, sodass das Modell für maschinelles Lernen für konkrete Bedingungen trainiert werden kann, die bei der Signatur einer unbelegten Parkposition variieren können.
-
Unter Bezugnahme auf 4 kann das Ausgangssignal jedes Mikrofons 106a-106c in ein entsprechendes Vorverarbeitungsmodul 112a-1-112a-3 eingegeben werden. Die Ausgabe jedes Vorverarbeitungsmoduls 112a-1-112a-3 kann durch ein Geräuschunterdrückungsfilter 400a-400c weiterverarbeitet werden. Die Ausgabe der Geräuschunterdrückungsmodule 400a-400c kann dann in das Modul für maschinelles Lernen 112b eingegeben werden. Insbesondere können die Ausgaben der Geräuschunterdrückungsmodule 400a-400c in ein Modell für maschinelles Lernen 402 eingegeben werden, das eine Klassifizierung 404 der Ausgaben als solches ausgibt, dass sie dem Vorbeifahren an einer belegten oder unbelegten Parkposition entsprechen. Das Modell für maschinelles Lernen 402 kann ferner eine Konfidenz zu der Klassifizierung ausgeben.
-
Die Vorverarbeitungsmodule 112a-1-112a-3 können die Rohausgaben aus den Mikrofonen 106a-106c verarbeiten und verarbeitete Ausgaben erzeugen, die in die Geräuschunterdrückungsmodule 400a-400c oder direkt in das Modul für maschinelles Lernen 112b eingegeben werden. Die verarbeiteten Ausgaben können eine gefilterte Version der Rohausgaben sein, wobei die verarbeiteten Ausgaben verbesserte Audiomerkmale in Bezug auf die Rohausgaben aufweisen. Die verbesserten Audiomerkmale können Segmente, Frequenzbänder oder andere Komponenten der Rohausgaben sein, die besonders beim Identifizieren von belegten und unbelegten Parkpositionen nützlich sind. Dementsprechend kann das Vorverarbeitungsmodul 112a-1-112a-3 ein Bandpassfilter beinhalten, das einen Teil der Rohausgaben in einem Frequenzband passieren lässt, das Schall entspricht, der durch Fahrzeuge und Fahrzeugmotoren erzeugt wird, während es Teile der Rohausgaben außerhalb dieses Frequenzbands blockiert. Die Vorverarbeitungsmodule 112a-1-112a-3 können digitale Filter sein, die Koeffizienten aufweisen, die so gewählt sind, dass sie Signale passieren lassen, die einen Spektralgehalt und/oder ein zeitliches Profil aufweisen, die einem Fahrzeugmotor oder anderen Fahrzeuggeräuschen (z. B. Windgeräuschen) entsprechen, wie etwa ein adaptives Filter mit experimentell ausgewählten Koeffizienten, die durch Fahrzeuge erzeugten Schall passieren lassen, während anderer Schall abgeschwächt wird. Die Ausgabe der Vorverarbeitungsmodule 112a-1-112a-3 kann ein Zeitbereichssignal oder ein Frequenzbereichssignal oder beides sein. Die Ausgabe der Vorverarbeitungsmodule 112a-1-112a-3 kann mehrere Signale beinhalten, wozu Signale in einem oder beiden des Zeitbereichs und Frequenzbereichs gehören. Zum Beispiel können Signale, die das Ergebnis von Filtern unter Verwendung von unterschiedlichen Durchlassbandfiltern sind, entweder im Frequenz- oder Zeitbereich ausgegeben werden.
-
Die Geräuschunterdrückungsmodule 400a-400c können beliebige Geräuschunterdrückungsfilter beinhalten, die auf dem Fachgebiet bekannt sind, oder einen beliebigen Geräuschunterdrückungsansatz umsetzen, der auf dem Fachgebiet bekannt ist. Insbesondere können die Geräuschunterdrückungsmodule 400a-400c ferner die Geschwindigkeit des Fahrzeugs 300, eine Drehzahl eines Motors des Fahrzeugs 300 oder andere Informationen, die einen Status des Motors beschreiben, eine Drehzahl eines Lüftungsgebläses des Fahrzeugs 300 oder andere Informationen als Eingaben heranziehen. Diese Informationen können durch die Geräuschunterdrückungsmodule 400a-400c verwendet werden, um Geräusche zu entfernen, die durch den Motor und das Gebläse und Fahrzeugwindgeräusche verursacht werden.
-
In einigen Ausführungsformen können die von einer belegten Parkposition reflektierten Geräusche den Windgeräuschen und Motorgeräuschen entsprechen, die durch das Fahrzeug 300 verursacht werden. Dementsprechend kann die Ausgabe der Geräuschunterdrückungsmodule 400a-400c mit einer Ausgabe der Vorverarbeitungsmodule 112a-1-112a-3 verglichen werden, um eine Variationen von Reflexionen der eigenen Motor- und Windgeräusche des Fahrzeugs von geparkten Autos oder leeren Parkpositionen zu bestimmen.
-
Das Modell für maschinelles Lernen 402 kann ein tiefes neuronales Netz sein, doch es können andere Arten von Modellen für maschinelles Lernen verwendet werden, wie etwa ein Entscheidungsbaum, Clustering, ein Bayessches Netz, ein genetisches oder eine andere Art von Modell für maschinelles Lernen. Das Modell für maschinelles Lernen 402 kann mit verschiedenen Arten von Geräuschen in verschiedenen Arten von Situationen trainiert werden, wie vorstehend in Bezug auf 3 angemerkt.
-
5 veranschaulicht ein Verfahren 500, das durch die Steuerung 102 ausgeführt werden kann, indem sie Audiosignale von den Mikrofonen 106a-106c verarbeitet. Das Verfahren 500 kann Detektieren 502 von Audiosignalen, die detektierten Schall darstellen, unter Verwendung der Mikrofone 106a-106c und Vorverarbeiten 504 der Audiosignale zum Verbessern von Audiomerkmalen beinhalten. Dies kann Durchführen von beliebigen der Filterfunktionen beinhalten, die vorstehend in Bezug auf die Vorverarbeitungsmodule 112a-1-112a-3 beschrieben sind. Insbesondere kann das Vorverarbeiten 504 beinhalten, dass ein oder mehrere vorverarbeitete Signale im Zeitbereich oder Frequenzbereich erzeugt werden, wobei jede Ausgabe eine bandpassgefilterte Version eines Audiosignals von einem der Mikrofone 106a-106c sein kann oder gefiltert oder anderweitig unter Verwendung anderer Techniken verarbeitet sein kann, wie etwa unter Verwendung eines adaptiven Filters oder einer anderen Audioverarbeitungstechnik. Das Vorverarbeiten 504 kann ferner Durchführen von Geräuschunterdrückung entweder an der Eingabe oder der Ausgabe der Vorverarbeitungsmodule 112a-1-112a-3 beinhalten, wie vorstehend in Bezug auf die Geräuschunterdrückungsmodule 400a-400c beschrieben.
-
Das Verfahren 500 kann ferner Eingeben 506 der vorverarbeiteten Signale in das Modell für maschinelles Lernen 402 beinhalten. Das Modell für maschinelles Lernen 402 klassifiziert 508 dann den Schall, d. h. Attribute der Audiomerkmale in den vorverarbeiteten Signalen werden gemäß dem Modell für maschinelles Lernen 402 verarbeitet, das dann eine oder mehrere Klassifizierungen und Konfidenzbewertungen für die eine oder mehreren Klassifizierungen ausgibt. In der veranschaulichten Ausführungsform kann Schall so klassifiziert werden, dass er ein benachbartes geparktes Auto oder eine benachbarte leere Parkposition angibt.
-
Das Verfahren 500 kann beinhalten, dass versucht wird, die Klassifizierungen von Schall von den verschiedenen Mikrofonen 106a-106c zu korrelieren 510. Zum Beispiel beinhaltet 6 Verläufe, in denen die vertikale Achse 602 die Amplitude einer Abtastung von detektiertem Schall darstellt und die horizontale Achse 604 die Zeit darstellt, z. B. eine Position einer Abtastung in einer Abfolge von Abtastungen.
-
Die Verläufe 600a-600c stellen jeweils die Ausgaben der Mikrofone 106a-106c dar. Die Regionen 606a-606c stellen jeweils Regionen der Verläufe 600a-600c dar, in denen die Signatur einer unbelegten Parkposition durch das Modell für maschinelles Lernen detektiert wurde. Wie ersichtlich ist, sind die Regionen 606a-606c versetzt, da die Mikrofone 106a-106c an unterschiedlichen Längspositionen an dem Fahrzeug 300 angeordnet sind.
-
Das Korrelieren 510 kann deshalb beinhalten, dass bestimmt wird, ob die Lagen der Regionen 606a-606c damit vereinbar sind, dass alle Mikrofone 106a-106c an einer unbelegten Parkposition vorbeifahren. Der zeitliche Versatz zwischen den Mikrofonen 106a und 106b könnte als Dab/V geschätzt werden, wobei Dab die Längstrennung zwischen den Mikrofonen 106a, 106b ist und V die Geschwindigkeit des Fahrzeugs 300 ist, als die Signale detektiert wurden. Ebenso könnte der zeitliche Versatz zwischen den Mikrofonen 106a und 106c als Dac/V geschätzt werden, wobei Dac die Längstrennung zwischen den Mikrofonen 106a, 106c ist.
-
Das Korrelieren 510 der Ausgaben der Mikrofone kann beinhalten, dass die Ausgaben des Modells für maschinelles Lernen aneinander ausgerichtet werden, um der durch die Längsversätze verursachten Verzögerung entgegenzuwirken. Wenn die ausgerichteten Ausgaben des Modells für maschinelles Lernen für die Mikrofone 106a-106c die gleiche Signatur (z. B. unbelegt) angeben, dann kann die Konfidenz zu der Bestimmung, dass die Parkposition unbelegt ist, erhöht werden.
-
Zum Beispiel kann nur dann bestimmt werden, dass eine Parkposition unbelegt ist, falls alle drei (oder eine andere Anzahl, wenn mehr Mikrofone verwendet werden) Signaturen für alle drei Mikrofone bestimmen, dass eine Parkposition unbelegt ist.
-
In einigen Ausführungsformen können die mehreren Mikrofone 106a-106c oder Mikrofone 106a-106c, die als Mikrofonarrays ausgeführt sind, dazu verwendet werden, einen Winkel zu einer unbelegten Parkposition zu detektieren. Konkret können Zeitverzögerungen zwischen dem Zeitpunkt der Detektion einer unbelegten Parkposition durch die verschiedenen Mikrofone 106a-106c dazu verwendet werden, die Richtung zu der unbelegten Parkposition unter Verwendung eines beliebigen auf dem Fachgebiet bekannten Triangulationsalgorithmus zu bestimmen.
-
Das Verfahren 500 kann Bestimmen 512 beinhalten, ob eine unbelegte Parkposition gemäß einem oder beiden von dem Klassifizierungsschritt 508 und dem Korrelationsschritt 510 detektiert worden ist. Zum Beispiel kann der Schritt 512 Auswerten einer Dauer eines Teils der Ausgaben der Mikrofone 106a-106c beinhalten, zu dem bestimmt wurde, dass er eine unbelegte Position angibt, um zu bestimmen, ob die unbelegte Position groß genug ist, um Einparken zu ermöglichen. Zum Beispiel kann bestimmt werden, dass eine unbelegte Parkposition identifiziert ist, falls die Dauer mindestens so groß wie L/V ist, wobei L die Länge des Fahrzeugs zuzüglich eines erforderlichen Abstands zum Manövrieren in eine Parkposition in Längsaufstellung ist und V die Geschwindigkeit des Fahrzeugs ist, als die Mikrofonausgaben gemessen wurden.
-
Falls bestimmt 512 wird, dass eine unbelegte Position detektiert worden ist, kann das Verfahren 500 Auswerten 514 beinhalten, ob Kartendaten eine zulässige Parkposition in diesem Bereich angeben. Zum Beispiel kann der Standort des Fahrzeugs 300 gleichzeitig damit, dass die Mikrofonausgaben aufgezeichnet werden, bestimmt werden, wie etwa unter Verwendung eines Empfängers für ein globales Positionsbestimmungssystem (global positioning system - GPS). Dementsprechend kann eine gegebene Zeitposition in der Ausgabe der Mikrofone 106a-106c mit dem Standort des Fahrzeugs zu dem Zeitpunkt, zu dem die Ausgabe detektiert wurde, in Beziehung gesetzt werden. Die Lage von Regionen in der Ausgabe, zu denen bestimmt worden ist, dass sie eine unbelegte Position angeben, können deshalb anhand zu entsprechender Standortmessungen bestimmt werden. Die entsprechenden Standortmessungen können ausgewertet werden, um zu bestimmen, ob Kartendaten einen zulässigen Parkstandort an diesen Standorten angeben. Falls ja, dann kann die unbelegte Parkposition gemeldet 516 werden, zur späteren Verwendung gespeichert werden oder autonomes Einparken in die unbelegte Parkposition durch die Steuerung 102 ausgeführt werden.
-
Das Melden 516 kann beinhalten, dass die unbelegte Position dem Serversystem 122 gemeldet wird. Andere Steuerungen 102 oder andere mobile Vorrichtungen können dann Meldungen von aktuell unbelegten Parkpositionen von dem Serversystem empfangen, die durch mehrere andere Fahrzeuge gemeldet werden. Die Steuerungen 102 der anderen Fahrzeuge können dann zu diesen unbelegten Parkpositionen navigieren oder Navigationsanweisungen zu diesen bereitstellen.
-
Verschiedene Modifikationen können an dem Verfahren 500 durchgeführt werden. Obwohl zum Beispiel auditive Daten allein verwendet werden können, um eine unbelegte Parkposition zu detektieren, kann die Ausgabe der Abbildungsvorrichtungen 104 (Kamera, LIDAR, RADAR, SONAR usw.) ebenfalls dazu verwendet werden, eine unbelegte Parkposition zu detektieren.
-
Wenn zum Beispiel eine unbelegte Parkposition unter Verwendung von auditiven Daten detektiert wird, wie vorstehend beschrieben, können Messungen der detektierten unbelegten Parkposition unter Verwendung der Abbildungsvorrichtungen 104 ebenfalls ausgewertet werden, um zu verifizieren, dass kein Fahrzeug oder anderes Hindernis in der unbelegten Parkposition angeordnet ist. In derartigen Ausführungsformen kann der Schritt 516 nur dann durchgeführt werden, wenn Messungen unter Verwendung der Abbildungsvorrichtungen 104 eine unbelegte Parkposition bestätigen.
-
Das Melden 516 der unbelegten Parkposition kann beinhalten, dass einige oder alle der Ausgaben der Mikrofone 106a-106c, die Klassifizierungen der Mikrofonausgaben gemäß dem Modell für maschinelles Lernen und Messungen der unbelegten Parkposition anhand der Abbildungsvorrichtungen 104 (z. B. Bilder von einer Kamera oder eine Punktwolke, die unter Verwendung von LIDAR, RADAR und/oder SONAR gemessen wird) übertragen werden. Das Serversystem 122 kann diese Daten dazu verwenden, die unbelegte Parkposition zu verifizieren.
-
In der vorstehenden Offenbarung ist auf die beigefügten Zeichnungen Bezug genommen worden, die einen Teil hiervon bilden und in denen zur Veranschaulichung konkrete Umsetzungen gezeigt sind, in denen die Offenbarung umgesetzt sein kann. Es versteht sich, dass andere Umsetzungen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „ein Ausführungsbeispiel“, „eine beispielhafte Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft beinhalten kann, doch es muss nicht unbedingt jede Ausführungsform diese(s) bestimmte Merkmal, Struktur oder Eigenschaft beinhalten. Darüber hinaus beziehen sich derartige Formulierungen nicht unbedingt auf dieselbe Ausführungsform. Ferner sei darauf hingewiesen, dass, wenn ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben ist, es im Bereich des Fachwissens des Fachmanns liegt, ein(e) derartige(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen umzusetzen, ob dies nun ausdrücklich beschrieben ist oder nicht.
-
Umsetzungen der hier offenbarten Systeme, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder verwenden, der Computerhardware beinhaltet, wie zum Beispiel einen oder mehrere Prozessoren und Systemspeicher, wie sie hier erörtert sind. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können zudem physische und andere computerlesbare Medien zum Transportieren oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen beinhalten. Bei derartigen computerlesbaren Medien kann es sich um beliebige verfügbare Medien handeln, auf die durch ein Universal- oder Spezialcomputersystem zugegriffen werden kann. Bei computerlesbaren Medien, auf denen computerausführbare Anweisungen gespeichert sind, handelt es sich um Computerspeichermedien (-vorrichtungen). Bei computerlesbaren Medien, die computerausführbare Anweisungen transportieren, handelt es sich um Übertragungsmedien. Somit können Umsetzungen der Offenbarung beispielsweise und nicht einschränkend mindestens zwei deutlich unterschiedliche Arten von computerlesbaren Medien umfassen: Computerspeichermedien (-vorrichtungen) und Übertragungsmedien.
-
Computerspeichermedien (-vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke (solid state drives - „SSDs“) (z. B. auf Grundlage von RAM), Flash-Speicher, Phasenwechselspeicher (phase-change memory - „PCM“), andere Speicherarten, andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das dazu verwendet werden kann, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu speichern, und auf das durch einen Universal- oder Spezialcomputer zugegriffen werden kann.
-
Eine Umsetzung der hier offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetzwerk kommunizieren. Ein „Netzwerk“ ist als eine oder mehrere Datenverbindungen definiert, die den Transport elektronischer Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wenn Informationen über ein Netzwerk oder eine andere (entweder festverdrahtete, drahtlose oder eine Kombination aus festverdrahteter oder drahtloser) Kommunikationsverbindung an einen Computer übertragen oder diesem bereitgestellt werden, sieht der Computer die Verbindung korrekt als Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen beinhalten, die dazu verwendet werden können, gewünschte Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen zu transportieren, und auf die durch einen Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus dem Vorstehenden sollten ebenfalls im Umfang computerlesbarer Medien enthalten sein.
-
Computerausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, die bei Ausführung an einem Prozessor bewirken, dass ein Universalcomputer, ein Spezialcomputer oder eine Spezialverarbeitungsvorrichtung eine bestimmte Funktion oder Gruppe von Funktionen durchführt. Die computerausführbaren Anweisungen können zum Beispiel Binärdateien, Anweisungen in einem Zwischenformat wie etwa Assemblersprache oder auch Quellcode sein. Obwohl der Gegenstand in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben worden ist, versteht es sich, dass der in den beigefügten Patentansprüchen definierte Gegenstand nicht unbedingt auf die vorstehend beschriebenen Merkmale oder Handlungen beschränkt ist. Die beschriebenen Merkmale und Handlungen sind vielmehr als beispielhafte Umsetzungsformen der Patentansprüche offenbart.
-
Der Fachmann wird verstehen, dass die Offenbarung in Network-Computing-Umgebungen mit vielen Arten von Computersystemkonfigurationen umgesetzt werden kann, zu denen ein Armaturenbrett-Fahrzeugcomputer, Personal Computer, Desktop-Computer, Laptop-Computer, Nachrichtenprozessoren, Handheld-Vorrichtungen, Multiprozessorsysteme, Unterhaltungselektronik auf Mikroprozessorbasis oder programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Mainframe-Computer, Mobiltelefone, PDAs, Tablets, Pager, Router, Switches, verschiedene Speichervorrichtungen und dergleichen gehören. Die Offenbarung kann zudem in verteilten Systemumgebungen umgesetzt werden, in denen sowohl lokale Computersysteme als auch Remote-Computersysteme, die durch ein Netzwerk (entweder durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination aus festverdrahteten und drahtlosen Datenverbindungen) verbunden sind, Aufgaben ausführen. In einer verteilten Systemumgebung können sich Programmmodule sowohl in lokalen Speichervorrichtungen als auch in Remote-Speichervorrichtungen befinden.
-
Ferner können die hier beschriebenen Funktionen gegebenenfalls in einem oder mehreren der Folgenden durchgeführt werden: Hardware, Software, Firmware, digitalen Komponenten oder analogen Komponenten. Eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) können zum Beispiel so programmiert sein, dass sie eines bzw. eine oder mehrere der hier beschriebenen Systeme und Prozeduren ausführen. Bestimmte Ausdrücke werden in der gesamten Beschreibung und den Patentansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Der Fachmann wird verstehen, dass auf Komponenten mit unterschiedlichen Bezeichnungen Bezug genommen werden kann. In dieser Schrift soll nicht zwischen Komponenten unterschieden werden, die sich dem Namen nach unterscheiden, nicht jedoch der Funktion nach.
-
Es ist anzumerken, dass die vorstehend erörterten Sensorausführungsformen Computerhardware, -software, -firmware oder eine beliebige Kombination daraus umfassen können, um mindestens einen Teil ihrer Funktionen durchzuführen. Ein Sensor kann zum Beispiel Computercode beinhalten, der dazu konfiguriert ist, in einem oder mehreren Prozessoren ausgeführt zu werden, und kann Hardware-Logikschaltungen/elektrische Schaltungen beinhalten, die durch den Computercode gesteuert werden. Diese beispielhaften Vorrichtungen sind hier zum Zwecke der Veranschaulichung bereitgestellt und sollen nicht einschränkend sein. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen umgesetzt werden, wie es dem einschlägigen Fachmann bekannt ist.
-
Mindestens einige Ausführungsformen der Offenbarung sind auf Computerprogrammprodukte gerichtet, die eine derartige Logik (z. B. in Form von Software) umfassen, die auf einem beliebigen computernutzbaren Medium gespeichert ist. Derartige Software bewirkt bei Ausführung in einer oder mehreren Datenverarbeitungsvorrichtungen, dass eine Vorrichtung wie hier beschrieben betrieben wird.
-
Wenngleich vorstehend verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben worden sind, versteht es sich, dass diese lediglich als Beispiele dienen und nicht als Einschränkung. Für den einschlägigen Fachmann ist ersichtlich, dass verschiedene Änderungen hinsichtlich Form und Detaillierungsgrad daran vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Somit sollten die Breite und der Umfang der vorliegenden Offenbarung durch keine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern lediglich gemäß den folgenden Patentansprüchen und ihren Äquivalenten definiert sein. Die vorstehende Beschreibung ist zum Zwecke der Veranschaulichung und Beschreibung dargelegt worden. Sie erhebt keinerlei Anspruch auf Vollständigkeit und soll die Offenbarung nicht auf die konkrete offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der vorstehenden Lehren möglich. Ferner ist anzumerken, dass beliebige oder alle der vorstehend genannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination verwendet werden können, um zusätzliche Hybridumsetzungen der Offenbarung zu bilden.