-
ALLGEMEINER STAND DER TECHNIK
-
1. Gebiet der Erfindung
-
Diese Erfindung bezieht sich im Allgemeinen auf das Gebiet von Parkplatzerfassungssystemen, und insbesondere auf das Verwenden von virtuellen Daten zum Testen und Trainieren von Systemen, die verfügbare Parkplätze erfassen.
-
2. Verwandte Technik
-
Einparken kann für einen menschlichen Fahrer ein mühsamer Prozess sein. Im Fall von Querparken oder Schrägparken kann es schwierig sein abzuschätzen, wann man in einen Parkplatz einlenken soll, ob genügend Platz auf beiden Seiten des Fahrzeugs sein wird, wie das Lenkrad zu positionieren ist, so dass das Fahrzeug in gleichmäßigem Abstand zwischen den Parklinien steht, und wie weit man in einen Parkplatz hineinfahren soll. Im Fall von Parallelparken kann es schwierig sein zu wissen, ob ausreichend Platz zum Einparken eines Fahrzeugs vorhanden ist, wann man damit beginnen soll, das Lenkrad einzuschlagen und wie weit man in einen Platz hineinfahren soll, bevor man das Lenkrad wieder zurückstellt. Diese Parkmanöver können angesichts von unebenem Gelände oder von sich bewegenden Objekten, wie z. B. Fußgängern, Fahrradfahrern oder anderen Fahrzeugen noch komplizierter werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die spezifischen Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden unter Bezug auf die folgende Beschreibung und die begleitenden Zeichnungen besser verständlich, wobei:
-
1 ein Beispielblockdiagramm eines Computergeräts veranschaulicht.
-
2 eine Beispielcomputerarchitektur veranschaulicht, die das Verwenden von virtuellen Daten zum Testen der Parkplatzerfassung ermöglicht.
-
3 ein Flussdiagramm eines Beispielverfahrens zum Verwenden von virtuellen Daten zum Testen der Parkplatzerfassung veranschaulicht.
-
4 eine Beispielcomputerarchitektur veranschaulicht, die das Verwenden von virtuellen Daten zum Trainieren der Parkplatzerfassung ermöglicht.
-
5 ein Flussdiagramm eines Beispielverfahrens zum Verwenden von virtuellen Daten zum Trainieren der Parkplatzerfassung veranschaulicht.
-
6 eine beispielhafte Parkplatzumgebung veranschaulicht.
-
DETAILBESCHREIBUNG
-
Die vorliegende Erfindung erstreckt sich auf Verfahren, Systeme und Computerprogrammprodukte zum Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen.
-
Automatisches Einparken ist einer der viel versprechenden Aspekte von automatischem Fahren. Einige Fahrzeuge bieten bereits die Fähigkeit, ein Parallelparkmanöver automatisch auszuführen. Man geht davon aus, dass Lösungen für automatisches Parken einfach mit einem hohen Grad an Sicherheit und Wiederholbarkeit automatisiert werden können. Der Erfolg dieser Lösungen hängt jedoch in hohem Maße vom verlässlichen Einschätzen der Parkplatzgeometrie im Wesentlichen in Echtzeit ab.
-
Der Radar als ein dynamischer Bereichssensor funktioniert gut, um Abstände zu Hindernissen aus der Perspektive eines fahrenden Fahrzeugs zu erfassen. Diese Detektionen können jedoch geräuschvoll sein. Verschiedene statistische Regressionsverfahren können angewandt werden, um eine problemlose, zuverlässige Schätzung der Begrenzung des freien Raums zu erhalten.
-
Diese Verfahren sind jedoch schwierig zu skalieren und konsistent zu wiederholen. Der Radar kann von Mehrfachreflektionen beim Vorhandensein von bestimmten Materialien und Objekten beeinträchtigt werden, was Unsicherheit für die Tiefen-/Raumabschätzung mit sich bringt. Ein weiterer Punkt ist, dass ausreichend viele Radardetektionen erfasst werden müssen, um die Begrenzungen eines Parkplatzes zu bestimmen. Das Bewerkstelligen des Erfassens von ausreichend vielen Radardetektionen in einem ausreichend kurzen Zeitraum mittels bestehender Verfahren hat sich als anspruchsvoll erwiesen.
-
Bei Begrenzungserfassungsalgorithmen kann ein Deep-Learning-Ansatz eingesetzt werden, um eine stabile Einschätzung der Begrenzung des freien Parkraums zu erhalten. Der Deep-Learning-Ansatz kann in Echtzeit arbeiten, während er weniger Datenpunkte erfordert und die vorstehenden Probleme angeht. Die Algorithmen zur Erfassung der Begrenzung werden mit großen Mengen verschiedener Daten trainiert und getestet, um ein solides und objektives neuronales Netzwerk für diesen Zweck herzustellen. Das Erfassen von realen Sensordaten erfordert einen erheblichen Zeit- und Ressourcenaufwand. Das Erfassen von realen Sensordaten kann das Herumfahren mit Sensoren zum Sammeln von Daten unter verschiedenen Umweltbedingungen und die physische Bereitstellung von verschiedenen Parkszenarios auf manuelle Art umfassen. Somit kann der zur Herstellung eines Trainingsdatensatzes mit minimalem Bias erforderliche Zeit- und Anstrengungsaufwand erheblich sein, wenn er vollständig aus realen Daten besteht.
-
Aspekte der Erfindung integrieren eine virtuelle Fahrumgebung mit Sensormodellen (z. B. von einem Radarsystem), um virtuelle Radardaten in relativ großen Mengen in einer relativen kurzen Zeitspanne bereitzustellen. Im Vergleich zu realen Daten sind virtuelle Daten billiger im Hinblick auf Zeit, Geld und Ressourcen. Simulationen laufen schneller als Echtzeit und können parallel laufen gelassen werden, um eine enorme Menge an Szenarien durchzugehen.
-
Darüber hinaus sind die Engineering-Anforderungen für das Erstellen und Durchführen von virtuellen Szenarien erheblich geringer im Vergleich zum manuellen Erstellen und Durchführen von realen Szenarien.
-
Die Sensormodelle erfassen Werte für relevante Parameter eines Trainingsdatensatzes, wie z. B. die Positionen und Typen anderer Fahrzeuge in der Parkplatzumgebung, die Typen und Materialien von anderen Oberflächen in dem Bereich, die Ausrichtung des Fahrzeugs relativ zu den Parkplätzen von Interesse und die Position der virtuellen Radarsensoren relativ zu den anderen Fahrzeugen. Relevante Parameter können in den aufgezeichneten Daten randomisiert werden, um einen diversen Trainingsdatensatz mit minimalem Bias zu gewährleisten.
-
Der Trainingsdatensatz kann zusammen mit Ground-Truth-Daten (d. h. tatsächlichen Werten für relevante Parameter) generiert werden. Die Ground-Truth-Daten sind bekannt, da die Fahrumgebung virtualisiert ist. Die Ground-Truth-Daten können dazu verwendet werden, die tatsächlichen Positionen der Begrenzungen des freien Platzes relativ zu den virtuellen Radardaten zu annotieren. Annotierte tatsächliche Positionen können anschließend für überwachtes Lernen verwendet werden, um das Lernen von Algorithmen (z. B. neuronalen Netzwerken) zu trainieren, um die Begrenzungen des freien Platzes zu erfassen.
-
In einem Aspekt wird eine virtuelle Fahrumgebung mittels dreidimensionalen („3D“) Modellierungs- und Animationstools angelegt. Zum Beispiel kann ein 3D-Parkgelände erstellt werden. Ein virtuelles Fahrzeug kann virtuell durch das virtuelle Parkgelände auf eine Weise fahren, die dem Suchen nach einem Parkplatz entspricht. Das virtuelle Fahrzeug ist mit virtuellen Radaren (z. B. Radare an den vier Ecken) ausgestattet, die virtuelle Radardaten aufzeichnen, während das virtuelle Fahrzeug virtuell durch das virtuelle Parkgelände fährt. Im Wesentlichen gleichzeitig werden ebenfalls Ground-Truth-Informationen über die Begrenzungen von nicht belegten Parkplätzen aufgezeichnet. Ähnliche Operationen können für zusätzliche Parkgeländelayouts und Anordnungen von Fahrzeugen durchgeführt werden, um viele Stunden (z. B. 20 oder mehr Stunden) Fahrdaten bei nominellen Parkgeländegeschwindigkeiten zu erhalten.
-
Einige der virtuellen Radardaten zusammen mit den entsprechenden Ground-Truth-Daten können für einen überwachten Lernprozess für einen Detektionsalgorithmus (z. B. einen überwachten Lernalgorithmus, ein neuronales Netzwerk usw.) bereitgestellt werden. Weitere annotierte virtuelle Radardaten können zum Testen des Detektionsalgorithmus und zum Quantifizieren seiner Leistungsfähigkeit nach dem Training verwendet werden. Wenn die Leistung eines Detektionsalgorithmus basierend auf dem Training mit virtuellen Daten offenbar einigermaßen gut ist, kann der Detektionsalgorithmus auch auf annotierten realen Daten getestet werden.
-
1 veranschaulicht ein Beispielblockdiagramm eines Computergeräts 100. Das Computergerät 100 kann zum Durchführen verschiedener Verfahren, wie z. B. die in diesem Schriftstück behandelten, verwendet werden. Das Computergerät 100 kann als ein Server, ein Client oder eine andere Rechnerinstanz funktionieren. Das Computergerät 100 kann verschiedene Kommunikations- und Datenübertragungsfunktionen, wie in diesem Schriftstück beschrieben, erfüllen und kann eines oder mehrere Anwendungsprogramme, wie z. B. die in diesem Schriftstück beschriebenen Anwendungsprogramme, ausführen. Das Computergerät 100 kann eines aus einer großen Vielzahl von Computergeräten sein, wie z. B. ein Mobiltelefon oder anderes mobiles Gerät, ein Desktop-Computer, ein Notebook-Computer, ein Server-Computer, ein Handheld-Computer, ein Tablet-Computer und dergleichen.
-
Das Computergerät 100 umfasst einen oder mehrere Prozessor(en) 102, eines oder mehrere Speichergerät(e) 104, eine oder mehrere Schnittstelle(n) 106, eines oder mehrere Massenspeichergerät(e) 108, eines oder mehrere Input/Output(I/O)-Gerät(e) 110 und ein Anzeigegerät 130, die alle an einen Bus 112 gekoppelt sind. Der (die) Prozessor(en) 102 umfassen einen oder mehrere Prozessoren oder Controller, die in dem (den) Speichergerät(en) 104 und/oder Massenspeichergerät(en) 108 gespeicherte Befehle ausführen. Der (die) Prozessor(en) 102 können ebenfalls verschiedene Arten von Computerspeichermedien, wie z. B. Cache-Speicher, umfassen.
-
Das (die) Speichergerät(e) 104 umfasst/umfassen verschiedene Computerspeichermedien, wie z. B. einen flüchtigen Speicher (z. B. Direktzugriffsspeicher (RAM) 114) und/oder einen nichtflüchtigen Speicher (z. B. Nurlesespeicher (ROM) 116). Das (die) Speichergerät(e) 104 kann/können ebenfalls einen wiederbeschreibbaren ROM, wie z. B. einen Flashspeicher, umfassen.
-
Das (die) Massenspeichergerät(e) 108 umfasst/umfassen verschiedene Computerspeichermedien, wie z. B. Magnetbänder, Magnetplatten, optische Disks, Festkörperspeicher (z. B. Flashspeicher) und so weiter. Wie in 1 dargestellt, ist ein besonderes Massenspeichergerät ein Festplattenlaufwerk 124. Verschiedene Laufwerke können ebenfalls in dem (den) Massenspeichergerät(en) 108 enthalten sein, um das Lesen von und/oder Schreiben auf die verschiedenen computerlesbaren Medien zu ermöglichen. Das (die) Massenspeichergerät(e) 108 umfassen die Wechselmedien 126 und/oder Festmedien.
-
Das (die) I/O-Gerät(e) 110 umfassen verschiedene Geräte, die die Eingabe oder das Auslesen von Daten und/oder anderen Informationen in das oder aus dem Computergerät 100 ermöglichen. Das (die) beispielhaften I/O-Gerät(e) 110 umfasst/umfassen Cursorsteuergeräte, Tastaturen, Keypads, Barcode-Scanner, Mikrofone, Monitore oder andere Anzeigegeräte, Lautsprecher, Drucker, Netzwerkschnittstellenkarten, Modems, Kameras, Linsen, Radare, CCDs oder andere Bilderfassungsgeräte und dergleichen.
-
Das Anzeigegerät 130 umfasst jede Art von Gerät, das Informationen für einen oder mehrere Benutzer des Computergeräts 100 anzeigen kann. Zu den Beispielen für das Anzeigegerät 130 zählen ein Monitor, Anzeigeterminal, Videoprojektionsgerät und dergleichen.
-
Die Schnittstelle(n) 106 umfasst/umfassen verschiedene Schnittstellen, die dem Computergerät 100 die Interaktion mit anderen Systemen, Geräten oder Rechnerumgebungen sowie Menschen erlauben. Die Beispielschnittstelle(n) 106 können jede beliebige Anzahl von verschiedenen Netzwerkschnittstellen 120 umfassen, wie z. B. Schnittstellen zu persönlichen Netzwerken (PANs), lokalen Netzwerken (LANs), Weitverkehrsnetzwerken (WANs), Drahtlosnetzwerken (z. B. Nahfeldkommunikations (NFC)-, Bluetooth-, Wi-Fi- usw. Netzwerken) und dem Internet. Weitere Schnittstellen umfassen Benutzerschnittstelle 118 und Peripheriegerätschnittstelle 122.
-
Der Bus 112 ermöglicht es dem (den) Prozessor(en) 102, Speichergerät(en) 104, Schnittstelle(n) 106, Massenspeichergerät(en) 108 und I/O-Gerät(en) 110, miteinander, sowie weiteren an den Bus 112 gekoppelten Geräten und Komponenten, zu kommunizieren. Der Bus 112 stellt eine oder mehrere von verschiedenen Arten von Busstrukturen dar, wie z. B. einen Systembus, PCI-Bus, IEEE 1394-Bus, USB-Bus und so weiter.
-
2 veranschaulicht eine Beispielcomputerarchitektur 200, die das Verwenden von virtuellen Daten zum Testen der Parkplatzerfassung ermöglicht. Die Computerarchitektur 200 kann zum Testen der Parkplatzerfassung für ein Fahrzeug, wie zum Beispiel ein Auto, einen Lastkraftwagen, einen Bus oder ein Motorrad verwendet werden. Unter Bezugnahme auf 2 umfasst die Computerarchitektur 200 den Virtual-Environment-Creator 211, das Monitormodul 226 und Vergleichsmodul 228.
-
Im Allgemeinen kann der Virtual-Environment-Creator 211 aus Simulationsdaten virtuelle Parkplatzumgebungen (z. B. dreidimensionale Parkplatzumgebungen) erstellen. Die virtuellen Parkplatzumgebungen können zum Testen von Parkplatzklassifikationsalgorithmen verwendet werden. Eine virtuelle Parkplatzumgebung kann so angelegt werden, dass sie eine Vielzahl von virtuellen Parkplatzmarkierungen, eines oder mehrere virtuelle Fahrzeuge und ein virtuelles Test-Fahrzeug umfasst. Die Vielzahl von virtuellen Parkplatzmarkierungen kann eine Vielzahl von virtuellen Parkplätzen markieren. Das eine oder die mehreren virtuellen Fahrzeuge können in einem oder mehreren der Vielzahl von virtuellen Parkplätzen geparkt werden.
-
Das virtuelle Testfahrzeug kann ein virtuelles Radarsystem umfassen. Das virtuelle Radarsystem kann virtuelle Radarreflektionen von virtuellen Objekten innerhalb der virtuellen Parkplatzumgebung erfassen. Das virtuelle Testfahrzeug kann innerhalb der virtuellen Parkplatzumgebung virtuell verfahren werden. Während der Bewegung innerhalb der virtuellen Parkplatzumgebung kann das virtuelle Radarsystem virtuelle Reflektionen von virtuellen Objekten in der virtuellen Parkplatzumgebung erfassen. Erfasste virtuelle Reflektionen können von jedem beliebigen virtuellen Objekt im Bereich der am virtuellen Testfahrzeug montierten virtuellen Radare stammen, einschließlich anderen virtuellen Fahrzeugen und Parkplatzmarkierungen.
-
In einem Aspekt umfasst das virtuelle Radarsystem einen virtuellen Radar an jeder der vier Ecken des virtuellen Testfahrzeugs.
-
Das virtuelle Radarsystem kann die virtuellen Radardaten an einen zu testenden Parkplatzklassifikationsalgorithmus senden. Der Parkplatzklassifikationsalgorithmus kann die virtuellen Radardaten von dem virtuellen Radarsystem empfangen. Der Parkplatzklassifikationsalgorithmus kann die virtuellen Radardaten zum Klassifizieren von Parkplätzen innerhalb der virtuellen Parkplatzumgebung als belegt oder nicht belegt verwenden. Der Parkplatzklassifikationsalgorithmus kann Parkplatzklassifikationen an das Vergleichsmodul 228 senden.
-
Das Monitormodul 226 kann die vom Virtual-Environment-Creator 211 erstellte virtuelle Parkplatzumgebung überwachen. Das Monitormodul 226 kann Ground-Truth-Daten für die virtuelle Parkplatzumgebung empfangen. Die Ground-Truth-Daten zeigen an, welche Parkplätze innerhalb der virtuellen Parkplatzumgebung belegt sind und welche Parkplätze nicht belegt sind. Das Monitormodul 226 kann die Ground-Truth-Daten an das Vergleichsmodul 228 senden.
-
Das Vergleichsmodul 228 kann Parkplatzklassifikationen mit den Ground-Truth-Daten vergleichen, um die Leistungsfähigkeit des Parkplatzklassifikationsalgorithmus zu bewerten.
-
3 veranschaulicht ein Flussdiagramm eines Beispielverfahrens 300 zum Verwenden von virtuellen Daten zum Testen der Parkplatzerfassung. Das Verfahren 300 wird in Bezug auf die Komponenten und Daten der Umgebung 200 beschrieben werden.
-
Das Verfahren 300 umfasst das Erstellen einer virtuellen Parkplatzumgebung aus Simulationsdaten. Die virtuelle Parkplatzumgebung umfasst eine Vielzahl von virtuellen Parkplatzmarkierungen, eines oder mehrere virtuelle Fahrzeuge und ein virtuelles Test-Fahrzeug (301), wobei die Vielzahl von virtuellen Parkplatzmarkierungen eine Vielzahl von virtuellen Parkplätzen markiert, wobei mindestens eines des einen oder der mehreren Fahrzeuge in einem der Vielzahl von virtuellen Parkplätzen geparkt wird. Das virtuelle Testfahrzeug umfasst ein virtuelles Radarsystem. Das virtuelle Radarsystem dient zum Erfassen von virtuellen Radarreflektionen von virtuellen Objekten innerhalb der virtuellen Parkplatzumgebung aus der Perspektive des virtuellen Testfahrzeugs.
-
Zum Beispiel kann der Virtual-Environment-Creator 211 aus den Simulationsdaten 206 das virtuelle Parkgelände 224 (z. B. ein dreidimensionales Parkgelände) erstellen. Die Simulationsdaten 206 können durch einen Prüfingenieur oder Entwickler mittels dreidimensionalen („3D“) Modellierungs- und Animationstools generiert werden. Das virtuelle Parkgelände 224 umfasst die virtuellen Parkplatzmarkierungen 241A–241H, die die virtuellen Parkplätze 242A–242F markieren. Das virtuelle Parkgelände 224 umfasst ebenfalls die virtuellen Fahrzeuge 221, 222 und 223. Wie dargestellt, ist das virtuelle Fahrzeug 221 im virtuellen Parkplatz 242D abgestellt, das virtuelle Fahrzeug 222 parkt im virtuellen Parkplatz 242E und das virtuelle Fahrzeug 223 ist im virtuellen Parkplatz 242B abgestellt.
-
Das virtuelle Fahrzeug 201 fährt im virtuellen Parkgelände 224. Das virtuelle Fahrzeug 201 weist ein virtuelles Radarsystem 217 auf. Das virtuelle Radarsystem 217 dienst zum Erfassen von virtuellen Radarreflektionen von virtuellen Objekten innerhalb des virtuellen Parkgeländes 224 aus der Perspektive eines virtuellen Fahrzeugs 201.
-
Das Verfahren 300 umfasst das Bewegen des virtuellen Testfahrzeugs innerhalb der virtuellen Parkplatzumgebung, um das Fahren eines tatsächlichen Fahrzeugs in einer tatsächlichen Parkplatzumgebung zu simulieren, indem das Testfahrzeug bewegt wird, indem der Standort des virtuellen Testfahrzeugs relativ zu der Vielzahl von virtuellen Parkplätzen und dem einen oder den mehreren anderen virtuellen Fahrzeugen verändert wird (302). Zum Beispiel kann sich das virtuelle Fahrzeug 201 in Richtung 227 bewegen, um das Fahren eines tatsächlichen Fahrzeugs in einem tatsächlichen Parkgelände zu simulieren. Das Bewegen des virtuellen Fahrzeugs 201 verändert den Standort des virtuellen Fahrzeugs 201 relativ zu den virtuellen Parkplätzen 242A–242F und den virtuellen Fahrzeugen 221, 222 und 223.
-
Das Verfahren 300 umfasst das Generieren von virtuellen Radardaten für die virtuelle Parkplatzumgebung während der Bewegung des virtuellen Testfahrzeugs durch das virtuelle Radarsystem, wobei die virtuellen Radardaten virtuelle Objektreflektionen von virtuellen Objekten innerhalb der virtuellen Parkplatzumgebung anzeigen (303). Zum Beispiel kann das virtuelle Radarsystem 217 virtuelle Radardaten 212 während der Bewegung des virtuellen Fahrzeugs 201 generieren. Das virtuelle Radarsystem 211 kann virtuelle Radare umfassen, die an den vorderen Ecken des virtuellen Fahrzeugs 201 montiert sind. Die Radareinheiten können virtuelle Radarüberstreichungen 208 erzeugen. Die virtuellen Radardaten 212 können virtuelle Radardaten umfassen, die aus den virtuellen Radarüberstreichungen 208 erhoben wurden. Die virtuellen Radardaten 212 können virtuelle Objektreflektionen von Teilbereichen der virtuellen Fahrzeuge 222 und 223 und Teilbereichen der virtuellen Parkplatzmarkierungen 241B, 241C, 241D, 241F, 241G und 241H anzeigen.
-
Das Verfahren 300 umfasst das Klassifizieren eines oder mehrerer der Vielzahl von virtuellen Parkplätzen als belegt oder nicht belegt durch Erfassen der Standorte eines jeden des einen oder der mehreren Fahrzeuge relativ zu den Parkplatzmarkierungen basierend auf den virtuellen Radardaten (304). Zum Beispiel kann der Parkplatzklassifikationsalgorithmus 202 die virtuellen Parkplätze 242B, 242C, 242E und 242F als belegt oder nicht belegt klassifizieren.
-
Der Parkplatzklassifikationsalgorithmus 202 kann virtuelle Parkplätze 242B, 242C, 242E und 242F durch das Erfassen der Standorte der virtuellen Fahrzeuge 222 und 223 relativ zu den virtuellen Parkplatzmarkierungen 241B, 241C, 241D, 241F, 241G und 241H basierend auf den virtuellen Radardaten 212 klassifizieren.
-
In einem Aspekt klassifiziert der Parkplatzklassifikationsalgorithmus 202 die virtuellen Parkplätze 242B und 242E als belegt. Der Parkplatzklassifikationsalgorithmus 202 kann den Standort von Fahrzeug 223 relativ zu den virtuellen Parkplatzmarkierungen 241B und 241C basierend auf den virtuellen Radardaten 212 erfassen. In ähnlicher Weise kann der Parkplatzklassifikationsalgorithmus 202 den Standort von Fahrzeug 222 relativ zu den virtuellen Parkplatzmarkierungen 241F und 241G basierend auf den virtuellen Radardaten 212 erfassen.
-
Der Parkplatzklassifikationsalgorithmus 202 kann die virtuellen Parkplätze 242C und 242F als nicht belegt klassifizieren. Der Parkplatzklassifikationsalgorithmus 202 kann erfassen, dass der virtuelle Platz zwischen den virtuellen Parkplatzmarkierungen 241C und 241D offen ist. In ähnlicher Weise kann der Parkplatzklassifikationsalgorithmus 202 erfassen, dass der virtuelle Platz zwischen den virtuellen Parkplatzmarkierungen 241G und 241H offen ist.
-
In anderen Aspekten klassifiziert der Parkplatzklassifikationsalgorithmus 202 (fälschlicherweise) einen oder beide der virtuellen Parkplätze 242B und 242E als nicht belegt und/oder klassifiziert (fälschlicherweise) einen oder beide der virtuellen Parkplätze 242C und 242F als belegt.
-
Der Parkplatzklassifikationsalgorithmus 202 gibt die Parkplatzklassifikationen in den Parkplatzklassifikationen 203 aus.
-
Das Verfahren 300 umfasst das Bestimmen der Genauigkeit des Klassifizierens des einen oder der mehreren Parkplätze als belegt oder nicht belegt (305). Zum Beispiel kann das Vergleichsmodul 228 die Genauigkeit der Parkplatzklassifikationen 203 bestimmen. Das Monitormodul 226 kann die Ground-Truth-Daten 207 für die virtuelle Parkgeländeumgebung 224 überwachen. Das Monitormodul 226 kann die Ground-Truth-Daten 207 an das Vergleichsmodul 228 weiterleiten. Die Ground-Truth-Daten 207 zeigen die tatsächliche Belegung der virtuellen Parkplätze 242A–242F an. Das Vergleichsmodul 228 kann die Parkplatzklassifikationen 203 mit den Ground-Truth-Daten 207 vergleichen, um die Leistungsdaten 252 für den Parkplatzklassifikationsalgorithmus 202 zu berechnen.
-
Die Leistungsdaten 252 können die berechnete Genauigkeit der Parkplatzklassifikationen 203 relativ zu den Ground-Truth-Daten 207 anzeigen. Wenn die Parkplatzklassifikationen 203 den Belegungsstatus von virtuellen Parkplätzen korrekt anzeigt, berechnet das Vergleichsmodul 228 eine erhöhte Genauigkeit für die Parkplatzklassifikationen 203. Zum Beispiel kann es sein, dass die Parkplatzklassifikationen 203 anzeigen, dass der virtuelle Parkplatz 242F nicht belegt ist. Die Ground-Truth-Daten 207 zeigen ebenfalls an, dass der virtuelle Parkplatz 242F nicht belegt ist. Somit kann das Vergleichsmodul 228 eine erhöhte Genauigkeit für die Parkplatzkalkulationen 203 berechnen.
-
Andererseits kann es sein, dass die Parkplatzklassifikationen 203 anzeigen, dass der virtuelle Parkplatz 242B nicht belegt ist. Die Ground-Truth-Daten 207 zeigen jedoch (korrekt) an, dass der virtuelle Parkplatz 242B belegt ist. Somit kann das Vergleichsmodul 228 eine verminderte Genauigkeit für die Parkplatzkalkulationen 203 berechnen.
-
Das Bestimmen der Genauigkeit der Parkplatzklassifikationen 203 kann das Bestimmen des Fehlers in den Parkplatzklassifikationen 203 relativ zu den Ground-Truth-Daten 207 umfassen.
-
Das virtuelle Fahrzeug 201 kann zu einem anderen Standort im virtuellen Parkgelände 224 bewegt werden. Teilbereiche des Verfahrens 300, wie zum Beispiel 303, 304 und 305, können erneut durchgeführt werden, um zusätzliche Leistungsdaten 252 zu generieren.
-
Ein Ingenieur kann am Parkplatzklassifikationsalgorithmus 202 Einstellungen basierend auf den Leistungsdaten 252 vornehmen. Somit können die Leistungsdaten 252 (d. h. die Leistungsdaten aus dem Testen des Parkplatzklassifikationsalgorithmus 202 in einem virtuellen Parkgelände) dazu verwendet werden, eine effizientere Entwicklung des Parkplatzklassifikationsalgorithmus 202 zu ermöglichen. Nachdem die Einstellungen vorgenommen wurden, kann der Parkplatzklassifikationsalgorithmus 202 weiter getestet werden. Der Virtual-Environment-Creator 211 kann verschiedene virtuelle Umgebungen (z. B. verschiedene Parkgelände, verschiedene Parkstrukturen usw.) erstellen, um den Parkplatzklassifikationsalgorithmus 202 weiter zu testen. Innerhalb jeder einzelnen virtuellen Umgebung kann ein weiteres Testen nach dem Verfahren 300 durchgeführt werden.
-
Wenn die Leistung des Parkplatzklassifikationsalgorithmus 202 basierend auf den virtuellen Daten einigermaßen gut ist, kann der Parkplatzklassifikationsalgorithmus 202 mit realen Daten getestet werden. Insgesamt kann das Testen unter realen Bedingungen (möglicherweise erheblich) bei minimalen – falls überhaupt irgendwelchen – Einbußen in der Leistung reduziert werden.
-
4 veranschaulicht eine Beispielcomputerarchitektur, die das Verwenden von virtuellen Daten zum Trainieren der Parkplatzerfassung ermöglicht. Die Computerarchitektur 400 kann zum Trainieren der Parkplatzerfassung für ein Fahrzeug, wie zum Beispiel ein Auto, einen Lastkraftwagen, einen Bus oder ein Motorrad, verwendet werden. Unter Bezugnahme auf 4 umfasst die Computerarchitektur 400 den Virtual-Environment-Creator 411, Monitormodul 426 und das Modul für überwachtes Lernen 428.
-
Im Allgemeinen kann der Virtual-Environment-Creator 411 aus Simulationsdaten virtuelle Parkplatzumgebungen (z. B. dreidimensionale Parkplatzumgebungen) erstellen. Die virtuellen Parkplatzumgebungen können zum Trainieren von Parkplatzklassifikationsalgorithmen verwendet werden. Eine virtuelle Parkplatzumgebung kann so angelegt werden, dass sie eine Vielzahl von virtuellen Parkplatzmarkierungen, eines oder mehrere virtuelle Fahrzeuge und ein virtuelles Test-Fahrzeug umfasst. Die Vielzahl von virtuellen Parkplatzmarkierungen kann eine Vielzahl von virtuellen Parkplätzen markieren. Das eine oder die mehreren virtuellen Fahrzeuge parken auf einem oder mehreren der Vielzahl von virtuellen Parkplätzen.
-
Das virtuelle Testfahrzeug kann ein virtuelles Radarsystem umfassen. Das virtuelle Radarsystem kann virtuelle Radarreflektionen von virtuellen Objekten innerhalb der virtuellen Parkplatzumgebung erfassen. Das Testfahrzeug kann innerhalb der virtuellen Parkplatzumgebung verfahren werden. Während der Bewegung innerhalb der virtuellen Parkplatzumgebung kann das Radarsystem virtuelle Reflektionen von virtuellen Objekten in der virtuellen Parkplatzumgebung erfassen. Erfasste virtuelle Reflektionen können von jedem beliebigen virtuellen Objekt im Bereich der am virtuellen Testfahrzeug montierten virtuellen Radare stammen, einschließlich anderen virtuellen Fahrzeugen und Parkplatzmarkierungen.
-
In einem Aspekt umfasst das virtuelle Radarsystem einen virtuellen Radar an jeder der vier Ecken des virtuellen Testfahrzeugs.
-
Das virtuelle Radarsystem kann die virtuellen Radardaten an einen zu trainierenden Parkplatzklassifikationsalgorithmus senden. Der Parkplatzklassifikationsalgorithmus kann die virtuellen Radardaten von dem virtuellen Radarsystem empfangen. Der Parkplatzklassifikationsalgorithmus kann die virtuellen Radardaten zum Klassifizieren von Parkplätzen innerhalb der virtuellen Parkplatzumgebung als belegt oder nicht belegt verwenden. Der Parkplatzklassifikationsalgorithmus kann Parkplatzklassifikationen an das Modul für überwachtes Lernen 428 senden.
-
Das Monitormodul 426 kann die vom Virtual-Environment-Creator 411 erstellte virtuelle Parkplatzumgebung überwachen. Das Monitormodul 426 kann Ground-Truth-Daten für die virtuelle Parkplatzumgebung empfangen. Die Ground-Truth-Daten zeigen an, welche Parkplätze innerhalb der virtuellen Parkplatzumgebung belegt sind und welche Parkplätze nicht belegt sind. Das Monitormodul 426 kann die Ground-Truth-Daten an das Modul für überwachtes Lernen 428 senden.
-
Das Modul für überwachtes Lernen 428 kann Parkplatzklassifikationen mit den Ground-Truth-Daten vergleichen, um die Leistungsfähigkeit des Parkplatzklassifikationsalgorithmus zu bewerten. Basierend auf der bewerteten Leistungsfähigkeit kann das Modul für überwachtes Lernen 428 ein Trainingsfeedback generieren. Das Trainingsfeedback kann an den Parkplatzklassifikationsalgorithmus zurück übermittelt werden. Das Trainingsfeedback kann dazu verwendet werden, den Parkplatzklassifikationsalgorithmus abzuändern, um spätere Parkplatzklassifikationen zu verbessern.
-
5 veranschaulicht ein Flussdiagramm eines Beispielverfahrens 500 zum Verwenden von virtuellen Daten zum Trainieren der Parkplatzerfassung. Das Verfahren 500 wird in Bezug auf die Komponenten und Daten der Umgebung 400 beschrieben werden.
-
Das Verfahren 500 umfasst das Erstellen einer virtuellen Parkplatzumgebung aus Simulationsdaten. Die virtuelle Parkplatzumgebung umfasst eine Vielzahl von virtuellen Parkplatzmarkierungen, eines oder mehrere virtuelle Fahrzeuge und ein virtuelles Test-Fahrzeug (501), wobei die Vielzahl von virtuellen Parkplatzmarkierungen eine Vielzahl von virtuellen Parkplätzen markiert, wobei mindestens eines des einen oder der mehreren Fahrzeuge in einem der Vielzahl von virtuellen Parkplätzen geparkt wird. Das virtuelle Testfahrzeug umfasst ein virtuelles Radarsystem. Das virtuelle Radarsystem dient zum Erfassen von virtuellen Radarreflektionen von virtuellen Objekten innerhalb der virtuellen Parkplatzumgebung aus der Perspektive des virtuellen Testfahrzeugs.
-
Zum Beispiel kann der Virtual-Environment-Creator 411 aus den Simulationsdaten 406 das virtuelle Parkgelände 424 (z. B. ein dreidimensionales Parkgelände) erstellen. Die Simulationsdaten 406 können durch einen Prüfingenieur oder Entwickler mittels dreidimensionalen („3D“) Modellierungs- und Animationstools generiert werden. Das virtuelle Parkgelände 424 umfasst die virtuellen Parkplatzmarkierungen 441A–441H, die die virtuellen Parkplätze 442A–442F markieren. Das virtuelle Parkgelände 424 umfasst ebenfalls die virtuellen Fahrzeuge 421, 422 und 423. Wie dargestellt, ist das virtuelle Fahrzeug 421 im virtuellen Parkplatz 442F abgestellt, das virtuelle Fahrzeug 422 parkt im virtuellen Parkplatz 442E, und das virtuelle Fahrzeug 423 ist im virtuellen Parkplatz 242A abgestellt.
-
Das virtuelle Fahrzeug 401 fährt im virtuellen Parkgelände 424. Das virtuelle Fahrzeug 401 weist ein virtuelles Radarsystem 417 auf. Das virtuelle Radarsystem 417 dienst zum Erfassen von virtuellen Radarreflektionen von virtuellen Objekten innerhalb des virtuellen Parkgeländes 424 aus der Perspektive eines virtuellen Fahrzeugs 401.
-
Das Verfahren 500 umfasst das Bewegen des virtuellen Testfahrzeugs innerhalb der virtuellen Parkplatzumgebung, um das Fahren eines tatsächlichen Fahrzeugs in einer tatsächlichen Parkplatzumgebung zu simulieren, indem das Testfahrzeug bewegt wird, indem der Standort des virtuellen Testfahrzeugs relativ zu der Vielzahl von virtuellen Parkplätzen und dem einen oder den mehreren anderen virtuellen Fahrzeugen verändert wird (502). Zum Beispiel kann sich das virtuelle Fahrzeug 401 in Richtung 427 bewegen, um das Fahren eines tatsächlichen Fahrzeugs in einem tatsächlichen Parkgelände zu simulieren. Das Bewegen des virtuellen Fahrzeugs 401 verändert den Standort des virtuellen Fahrzeugs 401 relativ zu den virtuellen Parkplätzen 442A–442F und den virtuellen Fahrzeugen 421, 422 und 423.
-
Das Verfahren 500 umfasst das Generieren von virtuellen Radardaten für die virtuelle Parkplatzumgebung während der Bewegung des virtuellen Testfahrzeugs durch das virtuelle Radarsystem, wobei die virtuellen Radardaten virtuelle Objektreflektionen von virtuellen Objekten innerhalb der virtuellen Parkplatzumgebung anzeigen (503). Zum Beispiel kann das virtuelle Radarsystem 417 virtuelle Radardaten 412 während der Bewegung des virtuellen Fahrzeugs 401 generieren. Das virtuelle Radarsystem 411 kann virtuelle Radare umfassen, die an den vorderen Ecken des virtuellen Fahrzeugs 401 montiert sind. Die Radareinheiten können virtuelle Radarüberstreichungen 408 erzeugen. Die virtuellen Radardaten 412 können virtuelle Radardaten umfassen, die aus den virtuellen Radarüberstreichungen 408 erhoben wurden. Die virtuellen Radardaten 412 können virtuelle Objektreflektionen von Teilbereichen der virtuellen Fahrzeuge 421 und 422 und Teilbereichen der virtuellen Parkplatzmarkierungen 441B, 441C, 441D, 441F, 441G und 441H anzeigen.
-
Das Verfahren 500 umfasst einen maschinellen Lernalgorithmus, der einen oder mehrere der Vielzahl von virtuellen Parkplätzen durch Erfassen der Standorte eines jeden des einen oder der mehreren Fahrzeuge relativ zu den Parkplatzmarkierungen basierend auf den virtuellen Radardaten als belegt oder nicht belegt klassifiziert (504). Zum Beispiel kann der Parkplatzklassifikationslernalgorithmus 402 die virtuellen Parkplätze 442B, 442C, 442E und 442F als belegt oder nicht belegt klassifizieren. Der Parkplatzklassifikationslernalgorithmus 402 kann virtuelle Parkplätze 442B, 442C, 442E und 442F durch das Erfassen der Standorte der virtuellen Fahrzeuge 421 und 422 relativ zu den virtuellen Parkplatzmarkierungen 441B, 441C, 441D, 441F, 441G und 441H basierend auf den virtuellen Daten 412 klassifizieren.
-
In einem Aspekt klassifiziert der Parkplatzklassifikationslernalgorithmus 402 die virtuellen Parkplätze 442E und 442F als belegt. Der Parkplatzklassifikationslernalgorithmus 402 kann den Standort von Fahrzeug 421 relativ zu den virtuellen Parkplatzmarkierungen 441H und 441G basierend auf den virtuellen Radardaten 412 erfassen. In ähnlicher Weise kann der Parkplatzklassifikationslernalgorithmus 402 den Standort von Fahrzeug 422 relativ zu den virtuellen Parkplatzmarkierungen 441G und 441F basierend auf den virtuellen Radardaten 412 erfassen.
-
Der Parkplatzklassifikationslernalgorithmus 402 kann die virtuellen Parkplätze 442B und 442C als nicht belegt klassifizieren. Der Parkplatzklassifikationslernalgorithmus 402 kann erfassen, dass der virtuelle Platz zwischen den virtuellen Parkplatzmarkierungen 441C und 441D offen ist. In ähnlicher Weise kann der Parkplatzklassifikationslernalgorithmus 402 erfassen, dass der virtuelle Platz zwischen den virtuellen Parkplatzmarkierungen 441B und 441C offen ist.
-
In anderen Aspekten klassifiziert der Parkplatzklassifikationsalgorithmus 402 (fälschlicherweise) einen oder beide der virtuellen Parkplätze 442F und 442E als nicht belegt und/oder klassifiziert (fälschlicherweise) einen oder beide der virtuellen Parkplätze 442C und 442B als belegt.
-
Der Parkplatzklassifikationslernalgorithmus 402 gibt die Parkplatzklassifikationen in den Parkplatzklassifikationen 403 aus.
-
Das Verfahren 500 umfasst das Generieren eines Trainingsfeedbacks aus der Klassifizierung der Vielzahl von virtuellen Parkplätzen als belegt oder nicht belegt (505). Zum Beispiel kann das Modul für überwachtes Lernen 428 das Trainingsfeedback 452 aus der Klassifizierung der virtuellen Parkplätze 442A–442F als belegt oder nicht belegt generieren. Das Modul für überwachtes Lernen 428 kann die Genauigkeit der Parkplatzklassifikationen 403 bestimmen.
-
Das Monitormodul 426 kann die Ground-Truth-Daten 407 für die virtuelle Parkgeländeumgebung 424 überwachen. Das Monitormodul 426 kann die Ground-Truth-Daten 407 an das Modul für überwachtes Lernen 428 weiterleiten. Die Ground-Truth-Daten 407 zeigen die tatsächliche Belegung der virtuellen Parkplätze 442A–442F an. Das Modul für überwachtes Lernen 428 kann die Parkplatzklassifikationen 403 mit den Ground-Truth-Daten 407 vergleichen, um die Leistungsfähigkeit des Parkplatzklassifikationslernalgorithmus 402 zu berechnen.
-
Die Leistungsdaten können die berechnete Genauigkeit der Parkplatzklassifikationen 403 relativ zu den Ground-Truth-Daten 407 anzeigen. Wenn die Parkplatzklassifikationen 403 den Belegungsstatus von virtuellen Parkplätzen korrekt anzeigt, berechnet das Modul für überwachtes Lernen 428 eine erhöhte Genauigkeit für die Parkplatzklassifikationen 403. Zum Beispiel kann es sein, dass die Parkplatzklassifikationen 403 anzeigen, dass der virtuelle Parkplatz 442C nicht belegt ist. Die Ground-Truth-Daten 407 zeigen ebenfalls an, dass der virtuelle Parkplatz 442C nicht belegt ist. Somit kann das Modul für überwachtes Lernen 428 eine erhöhte Genauigkeit für die Parkplatzklassifikationen 403 berechnen.
-
Andererseits kann es sein, dass die Parkplatzklassifikationen 403 anzeigen, dass der virtuelle Parkplatz 442E nicht belegt ist. Die Ground-Truth-Daten 407 zeigen jedoch (korrekt) an, dass der virtuelle Parkplatz 442E nicht belegt ist. Somit kann das Modul für überwachtes Lernen 428 eine verringerte Genauigkeit für die Parkplatzklassifikationen 403 berechnen.
-
Das Bestimmen der Genauigkeit der Parkplatzklassifikationen 403 kann das Bestimmen des Fehlers in den Parkplatzklassifikationen 403 relativ zu den Ground-Truth-Daten 407 umfassen.
-
Aus der errechneten Genauigkeit der Parkplatzklassifikationen 403 relativ zu den Ground-Truth-Daten 407 kann das Modul für überwachtes Lernen 428 das Trainingsfeedback 452 generieren. Das Generieren des Trainingsfeedbacks 452 kann das Annotieren der virtuellen Radardaten 412 mit den tatsächlichen Standorten der Fahrzeuge 421, 422 und 423 umfassen.
-
Das Verfahren 500 umfasst das Verwenden des Trainingsfeedbacks zum Trainieren des maschinellen Lernalgorithmus, um die Parkplätze bei späteren Klassifikationen von Parkplätzen (506) genauer als belegt oder nicht belegt zu klassifizieren. Zum Beispiel kann das Modul für überwachtes Lernen 428 das Trainingsfeedback 452 an den Parkplatzklassifikationslernalgorithmus 402 senden. Der Parkplatzklassifikationslernalgorithmus 402 kann das Trainingsfeedback 452 dazu verwenden, um interne Werte, interne Berechnungen, interne Operationen, interne Gewichtungen usw. zu verändern. Veränderungen an der internen Funktionalität des Parkplatzklassifikationslernalgorithmus 402 können die Genauigkeit der späteren Klassifizierungen von Parkplätzen als belegt oder nicht belegt erhöhen.
-
Das virtuelle Fahrzeug 401 kann zu einem anderen Standort im virtuellen Parkgelände 424 bewegt werden. Teilbereich-Verfahren 500, wie zum Beispiel 503, 504, 505 und 506, können erneut durchgeführt werden, um ein zusätzliches Trainingsfeedback 452 zu generieren.
-
Dementsprechend kann das maschinelle Lernen dazu verwendet werden, eine effizientere Entwicklung des Parkplatzklassifikationslernalgorithmus 402 zu ermöglichen. Verschiedene virtuelle Umgebungen (z. B. verschiedene Parkgelände, verschiedene Parkstrukturen usw.) können anlegt werden, um den Parkplatzklassifikationslernalgorithmus 402 zu trainieren.
-
Innerhalb jeder einzelnen virtuellen Umgebung kann ein weiteres Trainieren nach dem Verfahren 500 durchgeführt werden.
-
Das Modul für überwachtes Lernen 428 kann ebenfalls Leistungsdaten zur Überprüfung durch Ingenieure ausgeben. Nachdem die Leistung des Parkplatzklassifikationslernalgorithmus 402 basierend auf dem automatischen Training einigermaßen gut ist, können Ingenieure somit eingreifen, um die Leistung des Parkplatzklassifikationslernalgorithmus 402 weiter zu verbessern. Wenn die Ingenieure mit der Leistung des Parkplatzklassifikationslernalgorithmus 402 zufrieden sind, dann kann der Parkplatzklassifikationslernalgorithmus 402 getestet und mittels realer Daten weiter trainiert werden. Insgesamt kann das Testen unter realen Bedingungen (möglicherweise erheblich) reduziert werden.
-
In einigen Aspekten wird eine virtuelle Parkplatzumgebung dazu verwendet, einen Parkplatzklassifikationsalgorithmus sowohl zu testen als auch zu trainieren.
-
In einem Aspekt ist der Parkplatzklassifikationslernalgorithmus 402 ein neuronales Netzwerk.
-
Die Architektur des neuronalen Netzwerk kann gemäß einem Mehrlagen-(oder „Tiefen“)-Modell angelegt sein. Ein Mehrlagen-Modell eines neuronalen Netzwerks kann eine Eingabeschicht, eine Vielzahl von verborgenen Schichten und eine Ausgabeschicht umfassen.
-
Ein Mehrlagen-Modell eines neuronalen Netzwerks kann ebenfalls eine Verlustschicht umfassen. Zur Klassifikation von Sensordaten (z. B. virtuelle oder reale Radardaten) werden Werte in den Sensordaten Eingabeknoten zugewiesen und anschließend durch die Vielzahl von verborgenen Schichten des neuronalen Netzwerks geführt. Die Vielzahl der verborgenen Schichten kann eine Anzahl von nicht linearen Transformationen durchführen. Am Ende der Transformationen liefert ein Ausgangsknoten einen Wert, der der Klasse (z. B. belegter Parkplatz oder nicht belegter Parkplatz) entspricht, die von dem neuronalen Netzwerk abgeleitet wurde.
-
Das neuronale Netzwerk kann trainiert werden, um zwischen belegten Parkplätzen und nicht belegten Parkplätzen zu unterscheiden. Zum Beispiel kann das Trainingsfeedback 452 dazu verwendet werden, Algorithmen, die in den verborgenen Schichten des neuronalen Netzwerkes verwendet werden, abzuändern.
-
Es kann ein Deep Learning-basiertes Verfahren, das bestehende Anpassungs- und Regressionsverfahren ersetzt, eingesetzt werden. Das Deep Learning-basierte Verfahren kann zu einer stabilen Einschätzung der Begrenzungen eines freien Platzes in einer virtuellen oder realen Parkplatzumgebung kommen. Das Verfahren kann in Echtzeit sein, an weniger Punkten arbeiten und daher sofort eine Schätzung einer sich bewegenden Begrenzung liefern. Der Ansatz kann auch besser skalierbar sein, da die verborgenen Schichten eines tiefen neuronalen Netzwerks trainiert werden können, Besonderheiten der Radarstörreflektionen zu lernen und zu überwinden.
-
Im Allgemeinen können Parkplatzklassifikationsalgorithmen für jeden Typ einer dreidimensionalen virtuellen Fläche, in der eines oder mehrere virtuelle Fahrzeuge geparkt werden können, verwendet werden, wie z. B. ein Parkgelände, Tiefgarage, Parkhaus, Parkfläche und dergleichen. Virtuelle Radarsensoren an einem virtuellen Fahrzeug werden dazu verwendet, virtuelle Daten über eine Parkplatzumgebung, wie zum Beispiel ein Parkgelände, zu sammeln. Die virtuellen Radardetektionsdaten werden für einen Parkplatzklassifikationsalgorithmus als eine Eingabe bereitgestellt.
-
Parkplatzklassifikationsalgorithmen können dazu konfiguriert sein und/oder trainiert werden, um geparkte Fahrzeuge und widersprüchliche Daten in Bezug auf Abfall, Einkaufswägen, Straßenlaternen, Ampeln, Fußgänger usw. zu erkennen. Parkplatzklassifikationsalgorithmen können dazu konfiguriert sein, Störradardaten, auch als Geisterobjekte bekannt, wie z. B. Abfall oder Einkaufswagen auf dem Parkgelände, feste Objekte wie z. B. Leuchten, Fußgänger, falsche Radarartefakte wie z. B. unerwartete Reflektionen usw. herauszufiltern.
-
In einem Aspekt verarbeiten die Parkplatzklassifikationsalgorithmen virtuelle Radardetektionsdaten, um die Begrenzungen eines virtuellen Parkplatzes abzuschätzen und die Begrenzungen eines virtuellen Parkplatzes als Spline anzunähern. Ein Parkplatzklassifikationsalgorithmus gibt Spline-Schätzungen aus. Ein Parkplatzmodul verwendet anschließend die Spline-Schätzungen, um verfügbare Parkplätze zu detektieren. Die Splineschätzungen werden aktualisiert, während das Fahrzeug virtuell durch ein virtuelles Parkgelände fährt.
-
In dieser Spezifikation und den nachstehenden Ansprüchen wird ein „Spline“ als eine numerische Funktion definiert, die abschnittsweise durch Polynomfunktionen definiert ist. Ein Spline kann an den Stellen, an denen die Polynomabschnitte zusammenkommen, einen relativ hohen Glattheitsgrad aufweisen. Ein Spline ist so definiert, dass er alle der folgenden Kurven umfasst: eine Bézier-Kurve, einen Hermite-Spline, einen kubischen Spline, einen B-Spline, einen nicht uniformen rationalen B-Spline (NURB), einen Beta-Spline, einen V-Spline usw. In dieser Spezifikation und den nachstehenden Ansprüchen sind „Spline-Daten“ definiert als alle Daten, die in Zusammenhang mit dem Berechnen einer Lösung für die in einer numerischen Funktion für einen Spline enthaltenen Polynomfunktionen stehen.
-
In einem Aspekt kann ein neuronales Netzwerk mit den rohen Radardetektionen (M-Punkte pro Instanz), die für T-Zeitinstanzen gesammelt wurden, entworfen werden, um M × T Eingabepunkte (x, y) zu ergeben. Die Ausgabe des neuronalen Netzwerks kann ein „Spline“ mit N-Punkten (x, y) sein, die eine glatte Begrenzung des Parkplatzes an der lateralen Seite des Fahrzeugs darstellen, wiederholt für beide Seiten. Die Architektur des neuronalen Netzwerks kann tief, zum Beispiel mit mehreren (7 oder mehr) verborgenen Schichten, sein. Eine Verlustschicht kann einen Verlust euklidischer Art umfassen, um eine Ausgabe ähnlich einer Regressionsausgabe zu ermöglichen, um fortlaufende Werte in der x, y-Ebene darzustellen.
-
Die Ausgaben können die „Splines“ sein, die die freien Plätze für eine Parkplatzumgebung abschätzen. Splines können sich mit dem Fahrzeug bewegen und dabei die Begrenzung der verfügbaren Parkplätze im Wesentlichen sofort mitverfolgen, da eine sich bewegende Eingabe von T-Zeitinstanzen verarbeitet wird.
-
Nach dem Testen und/oder Trainieren mit virtuellen Daten kann ein Parkplatzklassifikationsalgorithmus zum weiteren Testen und/oder Trainieren auf ein reales Fahrzeug portiert werden. In einer tatsächlichen Parkplatzumgebung kann ein Fahrzeug (z. B. ein Testfahrzeug), das mit mehreren Radareinheiten (z. B. Radareinheiten an den 4 Ecken) ausgerüstet ist, in einer realen Parkplatzumgebung (z. B. einem Parkgelände) auf der Suche nach Parkplätzen herumfahren. Während sich das Fahrzeug bewegt, sendet jede Radareinheit Funkwellen. Reflektionen von den ausgesandten Funkwellensignalen können bei den Radareinheiten wieder eingesammelt und verarbeitet werden, um Objekte zu identifizieren.
-
Die Parknavigation kann mit mehreren Testfahrern wiederholt werden, um eine höhere mehrere Stunden (z. B. 20 oder mehr Stunden) von Fahrdaten bei nominellen und nicht nominellen Parkplatzfahrgeschwindigkeiten zu erhalten. Die gesammelten Radardaten können mit Luftdaten verglichen werden. Die Bodenverifikation der realen Parkplatzumgebung vor Ort kann gleichzeitig und mit denselben Platzkonfigurationen, die konsistent mit den Radardatenerhebungen sind, erhalten werden. Die Ground-Truth-Daten können Luftaufnahmen sein und eine Draufsicht auf die Parkplatzumgebung von oben nach unten bieten.
-
Radarsysteme können Radareinheiten umfassen, die einenbistatischen Radar, Dauerstrichradar, Doppler-Radar, FM-CW-Radar, Monopuls-Radar, passiven Radar, Planar-Array-Radar, Puls-Doppler, Radar mit synthetischer Apertur usw. verwenden. Virtuelle Radarsysteme können virtuelle Radareinheiten umfassen, die einenbistatischen Radar, Dauerstrichradar, Doppler-Radar, FM-CW-Radar, Monopuls-Radar, passiven Radar, Planar-Array-Radar, Puls-Doppler, Radar mit synthetischer Apertur usw. simulieren.
-
6 veranschaulicht eine beispielhafte Parkplatzumgebung 600 (die virtuell oder real sein kann). Wie dargestellt, enthält das beispielhafte Parkgelände 621 drei geparkte Fahrzeuge 622, 623 und 624. Das Parkgelände 621 enthält ebenfalls ein sich bewegendes Fahrzeug 607, das gerade einen verfügbaren Parkplatz sucht. Das sich bewegende Fahrzeug 607 ist mit den Radarsensoren 613 und einem Parkplatzklassifikationsalgorithmus (nicht dargestellt) ausgestattet.
-
Die Radarsensoren 613 sind dazu konfiguriert, die Radarüberstreichungen 611 durchzuführen und Objekte auf dem Parkgelände als die Radardetektionen 612 (auch als „Radardaten“ bezeichnet) zu detektieren. Die Radarsensoren 613 können die Radardetektionen 612 dem Parkplatzklassifikationsalgorithmus zur Verarbeitung zur Verfügung stellen.
-
Der Parkplatzklassifikationsalgorithmus kann die Radardetektionen 612 verarbeiten und den Umfang der Radardetektionen 612 als die Splines 605 abschätzen. Die Radardetektionen 612 können die Stördetektionsdaten 632, wie z.B. Dosen oder anderen Abfall, auf dem Parkgelände enthalten. Das Parkplatzklassifikationsalgorithmussystem kann getestet und/oder geprüft werden, um zwischen den Radardetektionsdaten 612, die relevante Daten sind, und den Radardetektionsdaten 612, die Stördaten sind, zu unterscheiden.
-
Der Parkplatzklassifikationsalgorithmus kann die Splines 605 verwenden, um den (die) verfügbaren Parkplatz (Parkplätze) 631 zu ermitteln. Während das sich bewegende Fahrzeug 607 durch das Parkgelände 621 fährt, können die Radarsensoren 613 weiterhin die Radarüberstreichungen 611 durchführen, um die Radardetektionen 612 zu aktualisieren. Das Fahrzeugcomputersystem 601 kann die aktualisierten Radardetektionen 612 verarbeiten, um die Splines 605 ständig zu aktualisieren.
-
In einem Aspekt sind ein oder mehrere Prozessoren dazu konfiguriert, Befehle (z. B. computerlesbare Befehle, computerausführbare Befehle usw.) auszuführen, um eine aus einer Vielzahl von beschriebenen Operationen auszuführen. Der eine oder die mehreren Prozessoren können auf Informationen aus dem Systemspeicher zugreifen und/oder Informationen im Systemspeicher speichern. Der eine oder die mehreren Prozessoren können Informationen zwischen verschiedenen Formaten transformieren, wie zum Beispiel Simulationsdaten, virtuellen Parkplatzumgebungen, virtuellen Radardaten, Radardaten, Parkplatzklassifikationen, Ground-Truth-Daten, Leistungsdaten, Trainingsfeedback usw.
-
Der Systemspeicher kann an den einen oder die mehreren Prozessoren gekoppelt sein und kann Befehle (z. B. computerlesbare Befehle, computerausführbare Befehle usw.), die von dem einen oder den mehreren Prozessoren ausgeführt werden, speichern. Der Systemspeicher kann auch dazu konfiguriert sein, einen von einer Vielzahl von anderen Datentypen, die durch die beschriebenen Komponenten generiert wurden, wie zum Beispiel Simulationsdaten, virtuelle Parkplatzumgebungen, virtuelle Radardaten, Radardaten, Parkplatzklassifikationen, Ground-Truth-Daten, Leistungsdaten, Trainingsfeedback usw., zu speichern.
-
In der vorstehenden Offenbarung wurde auf die beigefügten Zeichnungen verwiesen, die Bestandteil dieses Schriftstücks sind und in denen bildhaft spezifische Ausführungen dargestellt sind, in denen die Offenbarung betrieben werden kann. Es gilt als vereinbart, dass andere Ausführungen verwendet und strukturelle Änderungen durchgeführt werden können, ohne vom Geltungsbereich der vorliegenden Offenbarung abzuweichen. Verweise in der Spezifikation auf „eine einzige Ausführungsform“, „eine Ausführungsform“, „ein Ausführungsbeispiel“ usw. zeigen an, dass die beschriebene Ausführungsform ein besonderes Merkmal, Struktur oder Eigenschaft umfassen kann, aber nicht notwendigerweise jede Ausführungsform das besondere Merkmal, die besondere Struktur oder Eigenschaft umfasst.
-
Darüber hinaus beziehen sich derartige Ausdrücke nicht notwendigerweise auf dieselbe Ausführungsform. Weiterhin, wenn ein besonderes Merkmal, eine besondere Struktur oder Eigenschaft im Zusammenhang mit einer Ausführungsform beschrieben wird, wird geltend gemacht, dass es innerhalb des Kenntnisbereichs eines Fachmanns liegt, das derartige Merkmal, die derartige Struktur oder Eigenschaft im Zusammenhang mit anderen Ausführungsformen zu beeinflussen, egal ob dies ausdrücklich beschrieben ist oder nicht.
-
Ausführungen der in diesem Schriftstück offenbarten Systeme, Geräte und Verfahren können einen Spezial- oder Allzweckcomputer, einschließlich Computerhardware, wie zum Beispiel einen oder mehrere Prozessoren und den Systemspeicher, wie in diesem Schriftstück behandelt, enthalten oder verwenden. Ausführungen innerhalb des Geltungsbereichs der vorliegenden Offenbarung können auch physische oder andere computerlesbare Speichermedien zum Transportieren oder Speichern von computerausführbaren Befehlen und/oder Datenstrukturen enthalten. Derartige computerlesbare Speichermedien können beliebige verfügbare Medien sein, auf die ein Allzweck- oder Spezialcomputersystem zugreifen kann. Die computerlesbaren Medien, die die computerausführbaren Befehle speichern, sind Computerspeichermedien (Geräte). Die computerlesbaren Medien, auf denen sich die computerausführbaren Befehle befinden, sind Übertragungsmedien. Somit können Ausführungen der Offenbarung beispielhaft und nicht zum Zweck der Einschränkung mindestens zwei deutlich verschiedene Arten von computerlesbaren Medien umfassen: Computerspeichermedien (Geräte) und Übertragungsmedien.
-
Zu den Computerspeichermedien (Geräten) zählen RAM, ROM, EEPROM, CD-ROM, Solid-State-Laufwerke (“SSDs”) (z. B. basierend auf RAM), Flashspeicher, Phasenwechselspeicher (“PCM”), sonstige Speichertypen, sonstige optische Plattenspeicher oder sonstige magnetische Speichergeräte, oder jedes andere Medium, das zum Speichern von gewünschten Programmcodemittel in Form von computerausführbaren Befehlen oder Datenstrukturen verwendet werden kann, und auf das ein Allzweck- oder Spezialcomputer zugreifen kann.
-
Eine in diesem Schriftstück offenbarte Ausführung der Geräte, Systeme und Verfahren kann über ein Computernetzwerk kommunizieren. Ein „Netzwerk“ ist als eine oder mehrere Datenverbindungen definiert, die den Transport von elektronischen Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Geräten ermöglichen.
-
Wenn Informationen über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder festverdrahtet, drahtlos oder eine Kombination davon) an einen Computer übertragen oder übermittelt werden, so betrachtet der Computer die Verbindung korrekterweise als ein Übertragungsmedium. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen umfassen, die dazu verwendet werden können, ein gewünschtes Programmcodemittel in Form von computerausführbaren Befehlen oder Datenstrukturen zu transportieren, und auf das ein Allzweck- oder Spezialcomputer zugreifen kann.
-
Kombinationen des oben Genannten sind ebenfalls in den Geltungsbereich der computerlesbaren Medien aufzunehmen.
-
Computerausführbare Anweisungen enthalten zum Beispiel Befehle und Daten, die bei Ausführung auf einem Prozessor einen Allzweckcomputer, einen Spezialcomputer oder eine Spezialverarbeitungsvorrichtung veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen auszuführen. Die computerausführbaren Befehle können zum Beispiel Binärprogramme, Zwischenformatbefehle, wie z. B. Assemblersprache, oder sogar Quellcode sein. Obwohl der Gegenstand in einer Sprache beschrieben wurde, die spezifisch für strukturelle Merkmale und/oder methodische Handlungen ist, versteht es sich, dass der in den angehängten Ansprüchen definierte Gegenstand nicht notwendigerweise auf die beschriebenen Merkmale oder vorstehend beschriebenen Handlungen beschränkt ist. Vielmehr werden die beschriebenen Merkmale und Handlungen als beispielhafte Formen für das Umsetzen der Ansprüche offenbart.
-
Fachleute werden anerkennen, dass die Offenbarung in Netzwerkrechnerumgebungen mit vielen Arten von Computersystemkonfigurationen, einschließlich im Armaturenbrett integrierten oder anderen Fahrzeugcomputern, Personalcomputern, Desktopcomputern, Laptopcomputern, Nachrichtenprozessoren, Handheld-Geräten, Multiprozessorsystemen, Datennetzen, mikroprozessorbasierten oder programmierbaren Unterhaltungselektronik, Netzwerk-PCs, Minicomputern, Grßrechnern, Mobiltelefonen, PDAs, Tablets, Pagern, Routern, Switches, verschiedenen Speichergeräten und dergleichen praktiziert werden kann.
-
Die Offenbarung kann auch in dezentralisierten Systemumgebungen, wo sowohl lokale als auch räumlich abgesetzte Computersysteme, die (entweder durch festverdrahtete Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination von festverdrahtenten und drahtlosen Datenverbindungen) über ein Netzwerk verbunden sind, Aufgaben ausführen. In einer dezentralisierten Systemumgebung können Programmmodule sowohl in lokalen als auch in räumlich abgesetzten Speichervorrichtungen angeordnet sein.
-
Weiterhin können die in diesem Schriftstück beschriebenen Funktionen, soweit zutreffend, in einem oder mehreren von: Hardware, Software, Firmware, digitalen Komponenten oder analogen Komponenten ausgeführt werden. Zum Beispiel können ein oder mehrere anwendungsspezifische integrierte Schaltkreise (ASICs) programmiert werden, um das eine oder die mehreren der in diesem Schriftstück beschriebenen Systeme und Verfahren auszuführen. Bestimmte Begriffe werden in der gesamten Beschreibung und den Ansprüchen verwendet, um auf besondere Systemkomponenten zu verweisen. Wie ein Fachmann erkennen wird, können Komponenten durch unterschiedliche Bezeichnungen benannt werden. Dieses Dokument beabsichtigt nicht, zwischen Komponenten zu unterscheiden, die sich in der Bezeichnung, nicht aber in der Funktion unterscheiden.
-
Es ist zu beachten, dass die vorstehend erörterten Sensorausführungsformen Computerhardware, Software, Firmware oder irgendeine Kombination davon umfassen können, um mindestens einen Teil ihrer Funktionen auszuführen. Zum Beispiel kann ein Sensor einen Computercode umfassen, der dazu konfiguriert ist, auf einem oder mehreren Prozessoren ausgeführt zu werden, und er kann Hardwarelogik-/Stromkreise umfassen, die durch den Computercode gesteuert werden. Diese Beispielgeräte werden in diesem Dokument zu Veranschaulichungszwecken bereitgestellt und sollen nicht einschränkend sein.
-
Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Geräten umgesetzt werden, wie Fachleute bekannt sein dürfte.
-
Mindestens einige Ausführungsformen der Offenbarung sind auf Computerprogrammprodukte gerichtet, die eine derartige auf einem beliebigen auf dem Computer einsetzbaren Medium gespeicherte Logik (z. B. in Form von Software) umfassen. Derartige Software veranlasst bei Ausführung auf einem oder mehreren Datenverarbeitungsgeräten ein Gerät, wie in diesem Schriftstück beschrieben zu arbeiten.
-
Während verschiedene Ausführungsformen der vorliegenden Offenbarung vorstehend beschrieben wurden, sollte es sich verstehen, dass sie nur beispielhaft vorgelegt wurden, und nicht als Einschränkung. Für Fachleute wird es offensichtlich sein, dass daran verschiedene Änderungen in Form und Detail durchgeführt werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Somit sollte die Breite und der Umfang der vorliegenden Offenbarung nicht auf eine der vorstehend beschriebenen beispielhaften Ausführungsformen beschränkt werden, sondern sollte nur gemäß den folgenden Ansprüchen und deren Entsprechungen definiert werden. Die vorstehende Beschreibung wurde zu Zwecken der Veranschaulichung und Beschreibung vorgelegt. Sie soll nicht erschöpfend sein oder die Offenbarung auf die konkret offenbarte Form beschränken. Zahlreiche Änderungen und Varianten sind angesichts der vorstehenden Lehre möglich. Weiterhin ist zu beachten, dass beliebige oder alle der vorstehend erwähnten alternativen Ausführungen in jeder gewünschten Kombination zur Bildung zusätzlicher Hybridausführungen der Offenbarung verwendet werden können.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-