-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft im Allgemeinen Geräuscherkennung und Klassifizierung mit Bezug auf ein Kraftfahrzeug und insbesondere Klassifizierung von Geräuschen über neurales Netz-Maschinenlernen.
-
HINTERGRUND
-
Die Sicherheit von Insassen in einem sich bewegenden Kraftfahrzeug ist eine wichtige Erwägung bei der Kaufentscheidung eines Kraftfahrzeugs. Es gibt viele technologische Fortschritte und Innovationen hinsichtlich Schutz für Insassen in einem sich bewegenden Kraftfahrzeug im Falle eines Unfalls oder in der Form von Vorbeugungsmaßnahmen. Die Sicherheit der Insassen in einem geparkten Fahrzeug vermittelt der Intelligenz eines Sicherheitssystems eine unterschiedliche Herausforderung, insbesondere, wenn ein junger Insasse darin alleine gelassen wird. Eltern können sich der Gefahr ein Baby, ein Kleinkind oder ein Kindergartenkind in einem unbeaufsichtigten Fahrzeug zu lassen nicht bewusst sein. Die Temperatur in einem Fahrzeug kann an einem heißen Tag in kurzer Zeit erheblich steigen und die Körpertemperatur eines Kindes kann viel schneller steigen als die eines Erwachsenen. Die Sicherheit für junge Insassen kann verbessert werden, wenn ein Sicherheitssystem in einem Fahrzeug die Intelligenz aufweist, zu erkennen, dass der Insasse jung ist und das Fahrzeug in einem Zustand ist, der dem jungen Insassen Schaden zufügen könnte, und das Sicherheitssystem proaktiv Warnsignale ausgibt oder den Besitzer des Fahrzeugs benachrichtigt, wenn eine solche Situation auftritt.
-
Figurenliste
-
Nicht begrenzende und nicht erschöpfende Ausführungsformen der vorliegenden Offenbarung werden mit Bezug auf die folgenden Figuren beschrieben, wobei sich gleiche Bezugszeichen auf gleiche Teile im Laufe der mehreren Figuren beziehen, sofern nicht anders angegeben.
- 1 ist ein Diagramm, das ein Beispielszenario darstellt, in welchem ein Audioerkennungssystem gemäß der vorliegenden Offenbarung verwendet werden kann.
- 2 ist ein Diagramm, das ein weiteres Beispielszenario darstellt, in welchem ein Audioerkennungssystem gemäß der vorliegenden Offenbarung verwendet werden kann.
- 3 ist ein Blockdiagramm, das eine Beispielvorrichtung eines Audioerkennungssystems gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt.
- 4 ist ein Flussdiagramm, das einen Beispielprozess des Erkennens und Klassifizierens von Geräuschen innerhalb oder außerhalb eines Fahrzeugs gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt.
- 5 ist ein Flussdiagramm, das einen Beispielprozess des Berechnens von Mel-Frequenz-Cepstralkoeffizienten gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt.
- 6 ist ein Flussdiagramm, das einen Beispielprozess des Bestimmens, ob ein Insasse oder ein Fahrzeug in Gefahr ist, gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
In der folgenden Beschreibung wird Bezug auf die beigefügten Zeichnungen genommen, die Teil davon sind, und in welchen durch das Darstellen spezifischer Ausführungsbeispiele gezeigt wird, in welchen die Offenbarung ausgeübt werden kann. Diese Ausführungsformen sind ausführlich genug beschrieben, um es den Fachmännern zu ermöglichen, die hier offenbarten Konzepte auszuüben und es versteht sich, dass an den mehreren offenbarten Ausführungsformen Modifikationen vorgenommen werden können und weitere Ausführungsformen verwendet werden können, ohne von dem Umfang der vorliegenden Offenbarung abzuweichen. Die folgende detaillierte Beschreibung sollte daher nicht im begrenzenden Sinne interpretiert werden.
-
Die vorliegende Offenbarung beschreibt ein Audioerkennungssystem, das in einem Fahrzeug installiert ist, das den Ursprung von Geräuschen innerhalb oder außerhalb eines Fahrzeugs bestimmen kann und Reaktionen darauf ausführen kann, basierend auf der Klassifizierung der Geräusche und den Zuständen des Fahrzeugs.
-
In mehreren Ausführungsformen gemäß der vorliegenden Offenbarung kann ein Audioerkennungssystem den Ursprung von Geräuschen um ein Fahrzeug (z. B. ob von innen oder von außen des Fahrzeugs) bestimmen und kann die Geräusche über neurales Netz-Maschinenlernen klassifizieren. Das Audioerkennungssystem kann mit Fahrzeugsensoren kommunizieren, um Zustände des Fahrzeugs zu erhalten. Basierend auf den Geräuschen und Zuständen des Fahrzeugs kann das Audioerkennungssystem bestimmen, ob es Warnnachrichten sendet oder Warnsignale (z. B. blinkende Warnlichter und/oder hupende Hupen) bereitstellt.
-
1 stellt ein Beispielszenario 100 dar, in welchem ein Audioerkennungssystem 110 gemäß der vorliegenden Offenbarung verwendet werden kann. Szenario 100 ist ein illustratives Beispiel wie Audioerkennungssystem 110 der vorliegenden Offenbarung zum Warnen von Besitzern eines Fahrzeugs 120 und Schaulustigen verwendet werden kann, wenn bestimmt wird, dass Fahrzeug 120 für Vandalismus oder Diebstahl gefährdet ist. Audioerkennungssystem 110 kann Geräusche (z. B. Geräusche von Maschinen) um das Fahrzeug 120 erkennen und aufnehmen. Audioerkennungssystem 110 kann auch unter Verwendung von neuralem Netz-Maschinenlernen trainiert werden und folglich in der Lage sein den Ursprung von Geräuschen zu bestimmen, ob die Geräusche von innerhalb oder außerhalb von Fahrzeug 120 stammen. Das Audioerkennungssystem 110 kann Sensoren in und um Fahrzeug 120 aufweisen, um Zustände des Fahrzeugs 120 zu überwachen. Basierend auf Informationen der Geräusche (innerhalb oder außerhalb Fahrzeug 120) und Zuständen von Fahrzeug 120, kann Audioerkennungssystem 110 bestimmen, ob Fahrzeug 120 für Vandalismus oder Diebstahl gefährdet ist.
-
Gezeigt in 1 als illustratives Beispiel, ist ein Dieb 140 außerhalb von Fahrzeug 120, der versucht Fahrzeug 120 anzuheben und die Reifen von Fahrzeug 120 zu stehlen. Die Geräusche des Betreibens von einem Wagenheber können von Audioerkennungssystem 110 erkannt und aufgenommen werden, wie durch Bezugszeichen 130 angegeben. Das Audioerkennungssystem kann ferner bestimmen, ob die Geräusche des Betreibens von einem Wagenheber von außerhalb von Fahrzeug 120 stammen, wie durch Bezugszeichen 132 angegeben. Zustände von Fahrzeug 120 können durch Sensoren in und um Fahrzeug 120 überwacht werden, wie durch Bezugszeichen 134 angegeben. Die Sensoren, die in der Lage sind, einen Neigungswinkel zu erfassen (wie beispielsweise ViperTM 507M tilt motion sensor) können erkennen, dass Fahrzeug 120 angehoben wird während die Türen abgesperrt sind. Das Audioerkennungssystem 110 verarbeitet die von 130, 132 und 134 erhaltenen Informationen, wie durch Block 150 in 1 angegeben, über neurales Netz-Maschinenlernen. Basierend auf Informationen von Block 150 (z. B. dass Fahrzeug 120 gekippt wird oder anderweitig auf eine oder andere Art bewegt wird, Türen abgesperrt sind und Geräusche außerhalb Fahrzeug 120), kann das Audioerkennungssystem 110 bestimmen, dass Fahrzeug 120 für Diebstahl gefährdet ist, wie durch Block 160 angegeben. Dementsprechend kann das Audioerkennungssystem 110 mit dem Senden von Warnnachrichten (Bezugszeichen 174) an ein Mobiltelefon 180 des Eigentümers von Fahrzeug 120 (oder äquivalenten Vorrichtungen) fortfahren oder sie anderweitig verursachen und Warnsignale aktivieren. Die Warnsignale können eine Kombination aus blinkenden Scheinwerfern (Bezugszeichen 172) und hupenden Hupen (Bezugszeichen 170) sein. Die blinkenden Scheinwerfer 172 und hupenden Hupen 170 können die Aufmerksamkeit von Schaulustigen auf sich ziehen, so dass sie Fahrzeug 120 überprüfen oder Dieb 140 dazu verursachen den Diebstahl zu stoppen und/oder wegzurennen.
-
Als weiteres Beispiel kann Audioerkennungssystem 100 lernen, dass Fahrzeug 120 in Bewegung ist, durch zufällige Geräusche, die von dem Äußeren von Fahrzeug 120 erkannt wurden. Fahrzeug 120 kann an einem Straßenrand auf einem Berg und mit einer angezogenen Handbremse geparkt sein. Im Falle eines Handbremsen-Versagens, kann Fahrzeug 120 auf niedrigere Abschnitte der Straße rutschen. Ähnlich wie Beispielszenario 100 kann Audioerkennungssystem 110, basierend auf Informationen der Geräusche (Geräusche von außerhalb, die keinen Insassen angeben) und Zuständen von Fahrzeug 120 (in Bewegung mit abgesperrten Türen und keinem Schlüssel in dem Zündungsschlüsselloch eingefügt) bestimmen, dass Fahrzeug 120 in Gefahr ist und entsprechende Warnnachrichten und/oder Warnsignale (z. B. in einer Kombination von blinkenden Scheinwerfern und hupenden Hupen) senden, um Verletzung von Schaulustigen zu vermeiden.
-
2 stellt ein weiteres Beispielszenario 200 dar, in welchem ein Audioerkennungssystem 210 gemäß der vorliegenden Offenbarung verwendet werden kann. Szenario 200 ist ein illustratives Beispiel wie Audioerkennungssystem 210 der vorliegenden Offenbarung zum Warnen von Besitzern von Fahrzeug 220 und Schaulustigen verwendet werden kann, wenn bestimmt wird, dass ein Insasse in Fahrzeug 220 in Gefahr ist. Audioerkennungssystem 210 kann Geräusche (z. B. Geräusche von einem Baby oder einem Tier) in dem Fahrzeug 220 erkennen und aufnehmen. Audioerkennungssystem 210 kann auch unter Verwendung von neuralem Netz-Maschinenlernen trainiert werden und folglich in der Lage sein den Ursprung von Geräuschen zu bestimmen, ob die Geräusche von innerhalb oder außerhalb von Fahrzeug 220 stammen und die Geräusche in klassifizierte Kategorien anerkennen. Die Kategorien können, zum Beispiel und ohne Begrenzung, Geräusche eines Erwachsenen, eines Kindes und eines Tieres umfassen. Das Audioerkennungssystem 210 kann Sensoren in und um Fahrzeug 220 aufweisen, um Zustände des Fahrzeugs 220 zu überwachen. Basierend auf Informationen der Geräusche (innerhalb oder außerhalb von Fahrzeug 220 und Geräuschkategorie) und Zuständen von Fahrzeug 220, kann Audioerkennungssystem 210 bestimmen, ob ein Insasse in dem Fahrzeug 220 ist und ob der Insasse, wenn bestimmt wurde, dass er in dem Fahrzeug 220 ist, in Gefahr ist.
-
2 stellt dar, was passieren kann, wenn Audioerkennungssystem 210 bestimmt, dass ein junger Insasse 240 in dem Fahrzeug 220 alleine gelassen werden kann, gemäß Ausführungsformen der vorliegenden Offenbarung. Ein junger Insasse 240 (z. B. ein Baby), wenn es in geschlossenem Fahrzeug 220 alleine gelassen wird, kann an hoher Temperatur leiden und unbequeme Geräusche machen, z. B. durch Weinen. Die Geräusche des Weinens des Babys können von Audioerkennungssystem 210 erkannt und aufgenommen werden, wie durch Bezugszeichen 230 angegeben. Audioerkennungssystem 210 kann zuerst bestimmen, dass die Geräusche aus dem Inneren des Fahrzeugs 220 (Bezugszeichen 232) stammen und kann die Geräusche als „ein Baby oder ein Kind“ (Bezugszeichen 234) klassifizieren. An dieser Stelle kann Audioerkennungssystem 210 bestimmen, dass ein Insasse 240 in dem Fahrzeug 220 sein kann. Das Audioerkennungssystem 210 kann Sensoren in und um Fahrzeug 220 aufweisen, um Zustände des Fahrzeugs 220 zu überwachen, wie durch Bezugszeichen 236 angegeben. Das Audioerkennungssystem 210 verarbeitet die von 230, 232, 234 und 236 erhaltenen Informationen, wie durch Block 250 in 1 angegeben, über neurales Netz-Maschinenlernen. Kombinieren mit Informationen, die von eingebauten Sensoren empfangen werden, wie eine Temperatur in dem Fahrzeug 220 und abgesperrte Türen, kann Audioerkennungssystem 210 bestimmen, dass Insasse 240 in Gefahr sein kann, wie durch Block 260 angegeben. Eine Reihe von Aktionen, einschließlich das Senden von Warnnachrichten (Bezugszeichen 276) an ein Mobiltelefon 280 des Eigentümers von Fahrzeug 220 (oder ähnliche Geräte) und/oder Warnsignalen (z. B. eine Kombination von blinkenden Scheinwerfern, wie durch Bezugszeichen 274 angegeben, und hupenden Hupen, wie durch Bezugszeichen 272 angegeben) können von Audioerkennungssystem 210 durchgeführt werden, sobald es bestimmt, dass Insasse 240 in Gefahr sein kann. Audioerkennungssystem 210 kann weiter dazu übergehen Türen von Fahrzeug 220 zu entsperren (Bezugszeichen 270), um die Überlebenschance von Insasse 240 zu erhöhen. Schaulustige in der Nähe von Fahrzeug 220 können Warnsignale von blinkenden Scheinwerfern 274 und/oder hupenden Hupen 272 bemerken und Insasse 240 leicht retten, ohne Fenster einzuschlagen, was viel körperliche Stärke oder angemessene Werkzeuge benötigt, um Zugang in das Fahrzeug 220 zu bekommen.
-
Als ein alternatives Beispiel von Szenario 200, kann eine Katze (oder anderes Tier) in Fahrzeug 220 alleine gelassen werden. Audioerkennungssystem 210 kann bestimmen, dass die Geräusche der Katze aus dem Inneren des Fahrzeugs 220 stammen. Das Audioerkennungssystem 210 kann die Geräusche ferner als „Geräusche eines Tieres“ klassifizieren. Zustände von Fahrzeug 220 können durch Sensoren überwacht und dem Audioerkennungssystem 210 übertragen werden. Sobald die Zustände von Fahrzeug 220 ein gefährliches Niveau erreichen, wie beispielsweise eine hohe Temperatur über 100 Grad Fahrenheit für die Katze, kann Audioerkennungssystem 210 bestimmen, dass die Katze in Gefahr ist und kann eine Reihe von Aktionen ausführen, die den oben genannten ähnlich sind, in einem Bemühen, die Katze zu retten.
-
Da elektronische Vorrichtungen, die mit Lithiumionenbatterien betrieben werden, in den letzten Jahren immer üblicher geworden sind, kann das Laden einer Lithiumionenbatterie in einem Fahrzeug für Reisende unvermeidbar sein. In manchen Situationen können Lithiumionenbatterien während des Ladens explodieren, wodurch das Laden einer Lithiumionenbatterie innerhalb eines Fahrzeugs eine Brandgefahr nach der Explosion der Batterie sein kann. In manchen Ausführungsformen kann Audioerkennungssystem 210 verwendet werden, um das Ausmaß von Schäden im Falle von Batterieexplosion zu mitigieren. Die Explosionsgeräusche können als innerhalb von Fahrzeug 220 erkannt werden und als „Explosion oder Knall“ kategorisiert werden. Sofortige Aktionen, die den oben genannten ähnlich sind, können von Audioerkennungssystem 210 durchgeführt werden, um einen Eigentümer von Fahrzeug 220 zu warnen, unabhängig von Fahrzeugzuständen. Nachfolgender Schaden im Falle von Feuerausbruch kann beschränkt werden, wenn der Eigentümer von Fahrzeug 220 rechtzeitig zurückkehrt, um das Feuer zu löschen.
-
3 stellt eine Beispielvorrichtung eines Audioerkennungssystems 300 gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt. Audioerkennungssystem 300 kann mehrere Funktionen durchführen, die mit den hier beschriebenen Techniken, Verfahren und Systemen verwandt sind, einschließlich den oben beschriebenen, mit Bezug auf Szenario 100 und Szenario 200 sowie den unten beschriebenen, mit Bezug auf Prozesse 400, 500 und 600. Audioerkennungssystem 300 kann in einem Kraftfahrzeug 120 in Szenario 100 und Kraftfahrzeug 220 in Szenario 200 installiert, darauf angepasst, damit verbunden oder anderweitig implementiert sein, um mehrere Ausführungsformen gemäß der vorliegenden Offenbarung zu bewirken. Folglich kann Audioerkennungssystem 300 eine Beispielimplementierung von jedem von Audioerkennungssystem 110 und Audioerkennungssystem 210 sein. Audioerkennungssystem 300 kann mindestens einige der in 3 dargestellten Komponenten umfassen.
-
In manchen Ausführungsformen kann Audioerkennungssystem 300 mindestens ein Mikrofon umfassen. Zum Zwecke der Illustration und ohne Begrenzung, ist das mindestens eine Mikrofon in 3 als eines oder mehrere Mikrofone 320(1) - 320(N) gezeigt, wobei N eine positive ganze Zahl größer oder gleich 1 ist. Das eine oder die mehreren Mikrofone 320(1)-320(N) können Verstärker umfassen, um Signal-Rausch-Verhältnisse von erkannten Geräuschen zu erhöhen. Jedes des einen oder der mehreren Mikrofone 320(1) - 320(N) kann an verschiedenen Stellen eines Fahrzeugs angebracht oder eingebettet sein. In manchen Ausführungsformen kann mindestens eines des einen oder mehreren Mikrofone 320(1)-320(N) an Stelle(n) innerhalb eines Fahrzeug angebracht oder eingebettet sein. In manchen Ausführungsformen kann mindestens eines des einen oder der mehreren Mikrofone 320(1)-320(N) an Stelle(n) außerhalb des Fahrzeugs angebracht oder eingebettet sein.
-
In manchen Ausführungsformen kann Audioerkennungssystem 300 mindestens eine Kommunikationsvorrichtung 330 umfassen. Kommunikationsvorrichtung 330 kann konfiguriert sein, um Daten von einer oder mehreren Komponenten in dem Fahrzeug zu empfangen und/oder Anweisungen dorthin zu übertragen. Kommunikationsvorrichtung 330 kann konfiguriert sein, um kabellos und/oder über Kabel gemäß jeglichen geeigneten kabellosen und/oder verkabelten Standards, Beschreibungen und/oder Protokollen zu kommunizieren.
-
In manchen Ausführungsformen kann Audioerkennungssystem 300 eine Speichervorrichtung 340 umfassen, die konfiguriert ist, Rohdaten 342 von Geräuschen, eine Datenbank 344 von mehreren Arten von Audiodateien und ein oder mehrere Softwareprogramme 346 darin zu speichern. Zum Beispiel kann Speichervorrichtung 340 ein Softwareprogramm speichern, das dazu konfiguriert ist, aufgenommene und/oder Live-Geräusche in Audiodateien umzuwandeln.
-
In manchen Ausführungsformen kann Audioerkennungssystem 300 einen Prozessor 310 umfassen, der kommunikativ gekoppelt ist, um Geräuschdaten, die von dem einen oder den mehreren Mikrofonen 320(1) - 320(N) empfangen wurden, zu verarbeiten. Prozessor 310 kann auch mit Speichervorrichtung 340 gekoppelt sein, um auf darin gespeicherte Daten zuzugreifen und jedes darin gespeicherte Firmware- und/oder Softwareprogramm auszuführen. Prozessor 310 kann konfiguriert sein, um die Geräuschdaten, die von dem einen oder den mehreren Mikrofonen 320(1) - 320(N) empfangen wurden, als Rohdaten 342 von Geräuschen in Speicher 340 zu speichern. In manchen Ausführungsformen kann Audacity™ in Verbindung mit Ford Sync™-Mikrofonen der Ford Motor Company verwendet werden, um die Geräusche in Audiodateien aufzunehmen. Die Audiodateien können durch Prozessor 310 verarbeitet werden, um Mel-Frequenz-Cepstralkoeffizienten zu berechnen. Prozessor 310 kann den Ursprung jedes Geräusches als innerhalb oder außerhalb eines Fahrzeugs bestimmen kann und die Geräusche in verschiedene Kategorien klassifizieren, basierend auf neuralem Netz-Lernen. Die Kategorien können, zum Beispiel und ohne Begrenzung, mindestens Geräusche eines Erwachsenen, eines Kindes und eines Tieres umfassen.
-
In manchen Ausführungsformen kann Audioerkennungssystem 300 mindestens einen Sensor umfassen. Zum Zwecke der Illustration und ohne Begrenzung, ist der mindestens eine Sensor in 3 als einer oder mehrere Sensoren 325(1) - 325(M) gezeigt, wobei M eine positive ganze Zahl größer oder gleich 1 ist. Jeder des einen oder der mehreren Sensoren 325(1)-325(M) kann in einem Fahrzeug eingebaut, angebracht oder anderweitig eingebettet sein, um einen jeweiligen Zustand oder Parameter mit Bezug auf das Fahrzeug zu überwachen. Zum Beispiel kann der eine oder die mehreren Sensoren 325(1) - 325(M) konfiguriert sein, um Zustände zu überwachen, wie zum Beispiel und ohne Begrenzung, ob ein Schlüssel in einem Zündungsschlüsselloch eingefügt ist oder nicht, ob ein Schlüssel in einem Fahrzeug ist oder nicht, ob das Fahrzeug angehoben wird, ob das Fahrzeug in Bewegung ist, ob eine oder mehrere der Türen des Fahrzeugs abgesperrt oder entsperrt sind und ob eine Temperatur in dem Fahrzeug eine Temperaturschwelle erreicht oder überschreitet.
-
In manchen Ausführungsformen kann Prozessor 310 konfiguriert sein, um Zustände des Fahrzeugs von dem einen oder den mehreren Sensoren 325(1) - 325(M) direkt und/oder über Kommunikationsvorrichtung 330 zu empfangen. Die Zustände des Fahrzeugs, zum Zwecke der Illustration und ohne Begrenzung, können einen Schlüssel umfassen, der nicht in dem Zündungsschlüsselloch eingefügt ist, einen Schlüssel, der nicht in dem Fahrzeug ist, dass das Fahrzeug hochgehoben wird, dass das Fahrzeug in Bewegung ist, alle Türen abgesperrt sind und eine Temperatur in dem Fahrzeug eine Temperaturschwelle erreicht oder überschreitet. Prozessor 310 kann bestimmen, ob die Insassen oder das Fahrzeug in Gefahr sind oder für Diebstahl gefährdet sind, und kann der einen oder den mehreren Komponenten des Fahrzeugs über Kommunikationsvorrichtung 330 eine oder mehrere Anweisungen bereitstellen zum Ausführen der Anweisungen. Die eine oder mehreren Komponenten können Aktionen gemäß den Anweisungen durchführen. Die Aktionen können umfassen, zum Beispiel und ohne Begrenzung, das Senden von einer oder mehreren Warnnachrichten an Telefone von Eigentümer(n) des Fahrzeugs, blinkende Scheinwerfer, hupende Hupen, Entsperren der Türen oder eine Kombination von zwei oder mehr der vorher genannten Aktionen.
-
In manchen Ausführungsformen kann Audioerkennungssystem 300 ein erstes neurales Netz 350 und ein zweites neurales Netz 360 umfassen. Das erste neurale Netz 350 kann mit einem Satz von Geräuschen, der entweder innerhalb oder außerhalb eines Fahrzeugs in einem für Menschen wahrnehmbaren Bereich, grob 20- 20.000 Hertz, gespielt wird, trainiert werden. Da manche Geräuschfrequenzen, die außerhalb des Fahrzeugs gespielt werden, von Strukturen des Fahrzeugs (z. B. Türen, Fenster, Windschutzscheibe und Autokörper) blockiert werden, können Geräusche, die innerhalb des Fahrzeugs gespielt werden, unterschiedliche Mel-Frequenz-Cepstralkoeffizienten (Amplituden eines resultierenden Spektrums nach einer direkten Kosinustransformation eines Leistungsspektrums eines Geräusches, Details sind im Abschnitt des Prozesses 500 bereitgestellt) als außerhalb des Fahrzeugs gespielte Geräusche erzeugen. Das zweite neurale Netz 360 kann mit einer Zahl von Sätzen von Geräuschen in verschiedenen Kategorien trainiert werden, was mindestens Geräusche eines Erwachsenen, eines Kindes und eines Tieres umfassen kann. In manchen Ausführungsformen können die Kategorien Geräusche, wie in dem Beispielszenario 100 und Beispielszenario 200 beschrieben, bezüglich der Sicherheit von Insassen oder Fahrzeug umfassen, wie beispielsweise ein weinendes Baby und Batterieexplosion. Das erste neurale Netz 350 und das zweite neurale Netz 360 können eine Eingabeschicht, mindestens eine versteckte Schicht und eine Ausgabeschicht umfassen. Die versteckte Schicht empfängt Daten von einer vorigen Schicht (z. B. Eingabeschicht) und modifiziert die Daten vor dem Senden an die nächste Schicht (z. B. Ausgabeschicht). Die versteckte Schicht besteht aus Knoten (oder Neuronen) mit Gewichtsfaktoren, die mit jeder Eingabe und einem Vorgabefaktor von jedem Knoten assoziiert sind. Indem die Gewichtsfaktoren und der Vorgabefaktor eines jeden Knotens in der versteckten Schicht im Laufe des Lernzyklus angemessen angepasst werden, kann das neurale Netz trainiert werden, um die richtige Ausgabe (ja oder nein) für eine gegebene Art von Eingabe zu berichten. Die versteckte Schicht kann eine unterschiedliche Zahl von Knoten (oder Neuronen) umfassen, abhängig von der Komplexität der Aufgaben. Das zweite neurale Netz 360 kann aufgrund der höheren Komplexität des Klassifizierens von Geräuschen verglichen mit der Bestimmung, ob ein gegebenes Geräusch gespielt wird oder anderweitig von innerhalb oder außerhalb eines Fahrzeugs stammt, mehr Knoten als das erste neurale Netz 350 in der versteckten Schicht umfassen. In manchen Ausführungsformen kann das Mustererkennungswerkzeug „nrptool“ von MATLAB™ verwendet werden, um neurale Netze wie das erste neurale Netz 350 und das zweite neurale Netz 360 aufzubauen. In manchen Ausführungsformen kann das erste neurale Netz 350 mehrere Knoten (z. B. 10 Knoten oder 20 Knoten) in der versteckten Schicht aufweisen und das zweite neurale Netz 360 kann mehr Knoten (z. B. 100 Knoten) in der versteckten Schicht aufweisen, um einen vergleichbaren Lernzeitraum mit dem ersten neuralen Netz 350 (da die Aufgabe des Klassifizierens von Geräuschen komplizierter sein kann als das Bestimmen des Ursprungs von Geräuschen und, folglich, mehr Knoten helfen können, um Konvergenz des Lernprozesses zu beschleunigen) zu erzielen.
-
4 stellt einen Beispielprozess 400 gemäß der vorliegenden Offenbarung dar. Prozess 400 kann verwendet werden, um neurale Netze zu trainieren, um Geräuschklassifizierung und Erkennung gemäß der vorliegenden Offenbarung zu erzielen. Prozess 400 kann eine oder mehrere Operationen, Aktionen oder Funktionen, gezeigt als Blöcke, wie beispielsweise 410, 420, 430 und 440, umfassen. Obwohl sie als diskrete Blöcke dargestellt sind, können mehrere Blöcke von Prozess 400 abhängig von der gewünschten Implementierung in zusätzliche Blöcke unterteilt werden, in weniger Blöcke kombiniert werden oder entfernt werden, und können durchgeführt werden oder anderweitig in einer Reihenfolge ausgeführt werden, die sich von der in 4 gezeigten unterscheidet. Prozess 400 kann in Szenario 100 und/oder Szenario 200 implementiert sein und kann durch Audioerkennungssystem 300 implementiert sein. Zum Zwecke der Illustration und ohne den Schutzbereich von Prozess 400 zu begrenzen, wird die folgende Beschreibung von Prozess 400 in dem Zusammenhang von Szenario 200 bereitgestellt, als von Audioerkennungssystem 300 implementiert. Prozess 400 kann mit Block 410 beginnen.
-
Bei 410 kann Prozess 400 beinhalten, dass der Prozessor 310 von Audioerkennungssystem 300 Zustände von Fahrzeug 220 beschafft, um den Geräuschaufnahmeprozess zu starten oder nicht. Der Geräuschaufnahmeprozess kann durch Prozessor 310 gestartet werden, wenn die Zustände von Fahrzeug 220 einen Bedarf erfordern, Geräusche aufzunehmen, was von dem Audioerkennungssystem 300 definiert sein kann. Das Audioerkennungssystem 300 überwacht Zustände von Fahrzeug 220 über einen oder mehrere Sensoren 325(1) - 325(M) in und um Fahrzeug 220 und kann die Geräuscherkennung und den Aufnahmeprozess starten, sobald die Zustände des Fahrzeugs 20 erfüllt sind, z. B. ein Schlüssel, der nicht in einem Zündungsschlüsselloch eingefügt ist und abgesperrte Türen. Prozess 400 kann von 410 zu 420 übergehen.
-
Bei 420 kann Prozess 400 beinhalten, dass Prozessor 310 und Softwareprogramme 346 die von dem einen oder den mehreren Mikrofonen 320(1) - 320(N) empfangenen Geräusche in Audiodateien aufnehmen. Die Stellen des einen oder der mehreren Mikrofone 320(1) - 320(N) können in und um das Fahrzeug 220 verteilt sein. Ein Satz von verschiedenen Geräuschen kann zum Zwecke des Trainings, der Validierung und des Testens von neuralem Netz-Lernen von den ersten neuralen Netz 350 und/oder dem zweiten neuralen Netz 360 bereitgestellt werden. In manchen Ausführungsformen kann der Satz von verschiedenen Geräuschen einen Sprecher beinhalten, der mit einem Frequenzbereich 20-20K Hertz von innerhalb oder außerhalb von Fahrzeug 220 spielt. In einer weiteren Ausführungsform kann der Satz von Geräuschen einen sprechenden Erwachsener, ein lachendes oder weinendes Kind, einen bellenden Hund oder eine miauende Katze umfassen. Die Audiodateien, die von den verschiedenen Geräuschen aufgenommen wurden, können in Audiodatenbank 344 in Speicher 340 zur weiteren Verarbeitung liegen. Prozess 400 kann von 420 zu 430 übergehen.
-
Bei 430 kann Prozess 400 beinhalten, dass der Prozessor 310 und das erste neurale Netz 350 bestimmen, ob jedes der aufgenommenen Geräusche von innerhalb oder außerhalb des Fahrzeugs 220 stammt. Ein Sprecher, der mit einem Frequenzbereich 20-20K Hertz von innerhalb oder außerhalb von Fahrzeug 220 spielt, kann dem ersten neuralen Netz 350 als ein Trainingssatz von Geräuschen bereitgestellt werden. Prozessor 310 kann auf dem Satz von Audiodateien Fouriertransformation durchführen und Mel-Frequenz-Cepstralkoeffizienten dem ersten neuralen Netz 350 jeweils als Eingaben berechnen. Ein vorbestimmter Prozentsatz an Audiodateien kann zum Training, Validieren bzw. Testen vorgesehen sein. In manchen Ausführungsformen kann der Prozentsatz an Audiodateien zum Training, Validieren bzw. Testen jeweils 70 %, 15 % und 15 % sein. Das erste neurale Netz 350 kann trainiert werden, indem Mel-Frequenz-Cepstralkoeffizienten als Eingaben verwendet werden und Gewicht und Vorgabefaktoren von jedem Knoten angepasst werden, um benannte Ausgaben zu erhalten. Das Störungsphänomen zwischen Außengeräuschen und Dimensionen von Fahrzeug 220 kann zu einer gewissen fehlenden Frequenz in dem Spektrum von Außengeräuschen führen und unterschiedliche Mel-Frequenz-Cepstralkoeffizienten ergeben verglichen mit Innengeräuschen, sogar wenn sowohl Innen- als auch Außengeräusche von der gleichen Quelle stammen. Die Amplitude der Außengeräusche kann von dem Fahrzeug selbst weiter vermindert werden. In manchen Ausführungsformen kann das erste neurale Netz 350 mehrere Knoten (z. B. 10 Knoten oder 20 Knoten) aufweisen und kann Gewicht und Vorgabefaktoren gemäß einem Rückwärtsübertragungsalgorithmus anpassen. Das erste neurale Netz 350, konfiguriert wie oben beschrieben, kann eine Genauigkeit mit einem mittleren Quadratfehler von weniger als 0,2 % auf der Bestimmung von Geräuschursprung (innerhalb oder außerhalb von Fahrzeug 220) erzielen. Prozess 400 kann von 430 zu 440 übergehen.
-
Bei 440 kann Prozess 400 beinhalten, dass der Prozessor 310 und das zweite neurale Netz 360 die aufgenommenen Geräusche in eine Anzahl von Kategorien klassifizieren. Verschiedene Sätze von Geräuschen, einschließlich Erwachsene sprechend, Kind lachend oder weinend, Hund bellend oder Katze miauend sowie andere künstliche und/oder natürliche Geräusche können als Trainingssätze von Geräuschen für das zweite neurale Netz 360 bereitgestellt werden. Prozessor 310 kann auf dem Satz von Audiodateien Fouriertransformation durchführen und Mel-Frequenz-Cepstralkoeffizienten dem zweiten neuralen Netz 360 jeweils als Eingaben berechnen. Ein vorbestimmter Prozentsatz an Audiodateien kann zum Training, Validieren bzw. Testen vorgesehen sein. In manchen Ausführungsformen ist der Prozentsatz an Audiodateien zum Training, Validieren bzw. Testen jeweils 40%, 30% und 30%. Das zweite neurale Netz 360 kann Mel-Frequenz-Cepstralkoeffizienten als Eingaben verwendet und Gewicht und Vorgabefaktoren von jedem Knoten anpassen, um benannte Ausgaben zu erhalten. In manchen Ausführungsformen kann das zweite neurale Netz 360 mehr Knoten (z. B. 100 Knoten) aufweisen und kann Gewicht und Vorgabefaktoren gemäß einem Rückwärtsübertragungsalgorithmus anpassen. Das zweite neurale Netz 360, konfiguriert wie oben beschrieben, kann eine Genauigkeit mit einem mittleren Quadratfehler von weniger als 0,2 % auf der Klassifizierung von Geräuschkategorien (Erwachsener, Kind oder Tiergeräusche) erzielen.
-
5 stellt einen Beispielprozess 500 des Berechnens von Mel-Frequenz-Cepstralkoeffizienten gemäß der vorliegenden Offenbarung dar. Prozess 500 kann verwendet werden, um dem neuralen Netz zum Zwecke des Maschinenlernens Charakteristiken von Audiodateien als Eingaben zu übertragen. Prozess 500 kann eine oder mehrere Operationen, Aktionen oder Funktionen, gezeigt als Blöcke, wie beispielsweise 510, 520, 530, 540 und 550, umfassen. Obwohl sie als diskrete Blöcke dargestellt sind, können mehrere Blöcke von Prozess 500 abhängig von der gewünschten Implementierung in zusätzliche Blöcke unterteilt werden, in weniger Blöcke kombiniert werden oder entfernt werden, und können durchgeführt werden oder anderweitig in einer Reihenfolge ausgeführt werden, die sich von der in 5 gezeigten unterscheidet. Prozess 500 kann in Szenario 100 und/oder Szenario 200 implementiert sein und kann durch Prozessor 310 implementiert sein. Zum Zwecke der Illustration und ohne den Schutzbereich von Prozess 500 zu begrenzen, wird die folgende Beschreibung von Prozess 500 in dem Zusammenhang von Szenario 200 bereitgestellt, als von Prozessor 310 von Audioerkennungssystem 300 implementiert. Prozess 500 kann mit Block 510 beginnen.
-
Bei 510 kann Prozess 500 beinhalten, dass Prozessor 310 Geräusche in Audiodateien aufnimmt zur weiteren Verarbeitung. Jede der Audiodateien kann Geräuschsegmente beinhalten, die repräsentativ für ein Gespräch, einen Baustellenhintergrund, ein weinendes Baby, Tiergeräusche, vorbeifahrende Autos oder vorbeifliegende Flugzeuge sein können. Die Audiodateien können als Amplituden angesehen werden, die mathematisch in der Zeit variieren. Prozess 500 kann von 510 zu 520 übergehen.
-
Bei 520 kann Prozess 500 beinhalten, dass Prozessor 310 die Audiodateien vom zeitlichen Amplitudevariieren zum Frequenz-Amplitudevariieren umwandelt. In mathematischer Sprache, eine Fouriertransformation kann von Prozessor 310 auf aufgenommenen Audiodateien durchgeführt werden. Prozess 500 kann von 520 zu 530 übergehen.
-
Bei 530 kann Prozess 500 beinhalten, dass Prozessor 310 auf fouriertransformierte Audiodateien eine Reihe von Mel-Filtern anwendet und eine horizontal lineare Frequenzachse in eine Mel-Skala verwandelt. Die Mel-Skala ist eine wahrnehmbare Skala von Steigungen, wobei Zuhörer beurteilen, dass sie in gleichem Abstand voneinander sind. Die Mel-Skala stellt repräsentiert menschliches Gehör genauer, wenn sie mit der linearen Skala verglichen wird, da menschliches Gehör Geräusche nicht linear löst. In manchen Ausführungsformen können dreizehn Mel-Filter zum Filtern verwendet werden. Jeder Mel-Filter kann dreiecksförmig sein und bei einer anderen Mel-Frequenz ihren Höchststand erreichen. Das resultierende Spektrum nach Mel-Filtern kann als Mel-Frequenzspektrum bezeichnet werden. Prozess 500 kann von 530 zu 540 übergehen.
-
Bei 540 kann Prozess 500 beinhalten, dass Prozessor 310 eine logarithmische Operation auf dem Mel-Frequenzspektrum durchführt. Prozess 500 kann von 540 zu 550 übergehen.
-
Bei 550 kann Prozess 500 beinhalten, dass Prozessor 310 eine diskrete Kosinustransformation auf dem Logarithmus des Mel-Frequenzspektrums durchführt. Das Ergebnis der diskreten Kosinustransformation ist ein Satz von Mel-Frequenz-Cepstralkoeffizienten, der mit der Zahl verwendeter Mel-Filter verwandt ist. In manchen Ausführungsformen können dreizehn Mel-Frequenz-Cepstralkoeffizienten erhalten werden, als Ergebnis aus Prozess 500.
-
6 stellt einen Beispielprozess 600 des Bestimmens, ob ein Insasse oder ein Fahrzeug in Gefahr ist, gemäß der vorliegenden Offenbarung dar. Prozess 600 kann eine oder mehrere Operationen, Aktionen oder Funktionen, gezeigt als Blöcke, wie beispielsweise 610, 620, 630 und 640, umfassen. Obwohl sie als diskrete Blöcke dargestellt sind, können mehrere Blöcke von Prozess 600 abhängig von der gewünschten Implementierung in zusätzliche Blöcke unterteilt werden, in weniger Blöcke kombiniert werden oder entfernt werden, und können durchgeführt werden oder anderweitig in einer Reihenfolge ausgeführt werden, die sich von der in 6 gezeigten unterscheidet. Prozess 600 kann in Szenario 100 und/oder Szenario 200 implementiert sein und kann durch Prozessor 310 implementiert sein. Zum Zwecke der Illustration und ohne den Schutzbereich von Prozess 600 zu begrenzen, kann die folgende Beschreibung von Prozess 600 in dem Zusammenhang von Szenario 200 bereitgestellt sein, als von Audioerkennungssystem 300 implementiert. Prozess 600 kann mit Block 610 beginnen.
-
Bei 610 kann Prozess 600 beinhalten, dass Prozessor 310 von dem einen oder den mehreren Mikrofonen 320(1) - 320(N) Geräusche empfängt. Des Weiteren kann Prozess 600 auch ein erstes neurales Netz 350 und ein zweites neurales Netz 360 beinhalten, die bestimmen, ob ein Insasse in dem Fahrzeug 220 ist, basierend auf Geräuschen, die von dem einen oder den mehreren Mikrofonen 320(1) - 320(N) empfangen wurden. Das erste neurale Netz 350 kann bestimmen, ob ein Geräusch von innerhalb oder außerhalb des Fahrzeugs 220 ist. Das zweite neurale Netz 360 kann klassifizieren, ob das Geräusch zu einem Erwachsenen, einem Kind oder einem Tier gehört. Wenn das Geräusch von dem ersten neuralen Netz 350 als von innerhalb eines Fahrzeugs bestimmt wird und dem zweiten neuralen Netz 360 als ein Erwachsenengeräusch, ein Kindergeräusch oder ein Tiergeräusch klassifiziert wird, dann kann Audioerkennungssystem 300 bestimmen, dass ein Insasse (ob Mensch oder Tier) in dem Fahrzeug 220 sein kann. Prozess 600 kann von 610 zu 620 übergehen.
-
Bei 620 kann Prozess 600 beinhalten, dass Prozessor 310 Fahrzeuginformationen von einem oder mehreren Zuständen von Fahrzeug 220 von einem oder mehreren Sensoren 325(1)-325(M) erhält, z. B. über Kommunikationsvorrichtung 330. In manchen Ausführungsformen können die Zustände des Fahrzeugs 220 zum Beispiel und ohne Begrenzung einen Schlüssel umfassen, der nicht in einem Zündungsschlüsselloch eingefügt ist, einen Schlüssel, der nicht in dem Fahrzeug 220 ist, dass das Fahrzeug 220 hochgehoben wird, dass das Fahrzeug 220 in Bewegung ist, Türen des Fahrzeugs 220 abgesperrt sind oder eine Temperatur in dem Fahrzeug 220 eine Temperaturschwelle erreicht oder überschreitet. Die hier aufgelisteten Zustände von Fahrzeug 220 dienen dem Zwecke der Illustration und sollten nicht als den Schutzbereich der vorliegenden Offenbarung begrenzend angesehen werden. Prozess 600 kann von 620 zu 630 übergehen.
-
Bei 630 kann Prozess 600 beinhalten, dass Prozessor 310 bestimmt, ob ein Insasse von Fahrzeug 220 in Gefahr ist oder ob das Fahrzeug 220 für Diebstahl gefährdet ist. Eine Kombination von Zuständen von Fahrzeug 220 und Informationen von dem ersten und zweiten neuralen Netz 350 und 360 können ausreichen sein zum Bestimmen, ob ein Insasse in Fahrzeug 220 in Gefahr ist. Zum Beispiel, ein weinender Insasse (Innengeräusch von dem ersten neuralen Netz 350 bestimmt und Weinen von dem zweiten neuralen Netz 360 als ein Kindergeräusch identifiziert) in Fahrzeug 220 mit einer Temperatur höher als 100 Grad Fahrenheit kann eine Situation sein, die den Insassen in einen Gefahrstatus bringt. Als ein weiteres Beispiel kann zum Beispiel ein lauter Knall von innerhalb des Fahrzeugs 220 eine Batterieexplosion einer elektronischen Vorrichtung und eine Feuergefahr für Fahrzeug 220 angeben. Prozess 600 kann von 630 zu 640 übergehen.
-
Bei 640 kann Prozess 600 beinhalten, dass Prozessor 310 eine oder mehrere Aktionen auslöst, nach dem Bestimmen, dass der Insasse oder das Fahrzeug 220 in Gefahr ist. In manchen Ausführungsformen kann Prozessor 310 einer oder mehreren Komponenten des Fahrzeugs 220 über Kommunikationsvorrichtung 330 eine oder mehrere Anweisungen bereitstellen zum Ausführen einer Reihe von Antwortreaktionen. Zum Beispiel kann eine Reihe von Warnnachrichten über eine kabellos übertragbare Komponente an den/die Eigentümer von Fahrzeug 220 gesendet werden, sobald ein Insasse als in Gefahr identifiziert wird. Ob der Notruf angerufen wird, wird von dem Eigentümer des Fahrzeugs 220 entschieden, abhängig von seiner/ihrer Nähe zu dem Ort des Fahrzeugs 220. Blinkende Scheinwerfer und hupende Hupen können eingesetzt werden, um die Aufmerksamkeit von Schaulustigen zu gewinnen. Prozessor 310 kann ferner Anweisungen ausgeben, die Türen des Fahrzeugs zu entsperren, um die Überlebenschance des Insassen zu erhöhen.
-
In der obigen Offenbarung wurde Bezug auf die beigefügten Zeichnungen genommen, die Teil hiervon sind, und in welchen durch das Darstellen spezifischer Implementierungen gezeigt wird, in welchen die Offenbarung ausgeübt werden kann. Es versteht sich, dass andere Implementierungen angewendet werden können und strukturelle Veränderungen gemacht werden können, ohne von dem Schutzbereich der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „Ausführungsform“, „ein Ausführungsbeispiel“ usw. geben an, dass die beschriebene Ausführungsform ein/e besondere/s Merkmal, Struktur oder Charakteristik aufweisen kann, aber nicht jede Ausführungsform muss notwendigerweise das/die bestimmte Merkmal, Struktur oder Charakteristik aufweisen. Des Weiteren beziehen sich solche Sätze nicht unbedingt auf die gleiche Ausführungsform. Ferner, wenn ein/e bestimmte/s Merkmal, Struktur oder Charakteristik in Verbindung mit einer Ausführungsform beschrieben wird, wird vorgetragen, dass es innerhalb des Wissens eines Fachmanns ist, ein/e solche/s Merkmal, Struktur oder Charakteristik in Verbindung mit anderen Ausführungsformen auszuführen, ob explizit beschrieben oder nicht.
-
Implementierungen der Systeme, Vorrichtungen, Geräte und Verfahren, die hier offenbart sind, können einen Computer mit bestimmtem Zweck oder Allgemeinzweck-Computer umfassen oder verwenden, der Computerhardware, wie beispielsweise einen oder mehrere Prozessoren und Systemspeicher aufweist, wie hier erörtert. Implementierungen innerhalb des Schutzbereichs der vorliegenden Offenbarung können auch physische und andere computerlesbare Medien zum Ausführen oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen sein. Solche computerlesbaren Medien können jegliche verfügbaren Medien sein, auf die von einem Allgemeinzweck- oder Spezialcomputersystem zugegriffen werden kann. Computerlesbare Speichermedien, die computerausführbare Anweisungen speichern, sind Computerspeichermedien (Geräte). Computerlesbare Medien, die computerausführbare Anweisungen ausführen, sind Übertragungsmedien. Folglich, als Beispiel und nicht als Begrenzung, können Implementierungen der vorliegenden Offenbarung mindestens zwei verschiedene Arten von computerlesbaren Medien umfassen: Computerspeichermedien (Geräte) und Übertragungsmedien.
-
Computerspeichermedien (Geräte) umfassen RAM, ROM, EEPROM, CD-ROM, Solid State Drives („SSD“) (z. B. basierend auf RAM), Flashspeicher, Phasenänderungs-Speicher („PCM“), andere Arten von Speicher, andere optische Festplattenspeicher, magnetische Festplattenspeicher oder andere magnetische Speichergeräte oder jedes andere Medium, das verwendet werden kann, um gewünschte Programmcodemittel in der Form von computerausführbaren Anweisungen oder Datenstrukturen zu speichern und auf welche von einem Allgemeinzweck- oder Spezialcomputer zugegriffen werden kann.
-
Eine Implementierung der Geräte, Systeme und Verfahren, die hier offenbart sind, kann über ein Computernetz kommunizieren. Ein „Netz“ ist als eines 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 Netz oder andere Kommunikationsverbindungen (entweder fest verkabelt, kabellos oder eine Kombination von fest verkabelt und kabellos) an einen Computer übertragen oder bereitgestellt werden, sieht der Computer die Verbindung als ein richtiges Übertragungsmedium. Übertragungsmedien können ein Netz und/oder Datenverbindungen umfassen, die auch verwendet werden können, um gewünschte Programmcodemittel in der Form von computerausführbaren Anweisungen oder Datenstrukturen zu tragen und auf welche von einem Allgemeinzweck- oder Spezialcomputer zugegriffen werden kann. Kombinationen der obigen sollten auch innerhalb des Schutzbereichs der vorliegenden computerlesbaren Medium umfasst sein.
-
Computerausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, welche, wenn an einem Prozessor ausgeführt, einen Allgemeinzweckcomputer, einen Spezialcomputer oder eine Spezialverarbeitungsvorrichtung veranlassen, eine gewisse Funktion oder Gruppe von Funktionen durchzuführen. Die computerausführbaren Anweisungen können zum Beispiel Binär-, Zwischenformatanweisungen sein, wie Assemblersprache oder sogar Quellencode. Obwohl der Gegenstand mit sprachspezifischen bis strukturellen Merkmalen und/oder methodologischen Handlungen beschrieben wurde, versteht es sich, dass der in den beigefügten Ansprüchen definierte Gegenstand nicht unbedingt auf die beschriebenen Merkmale und Handlungen, die oben beschrieben sind, begrenzt ist. Vielmehr sind die beschriebenen Merkmale und Handlungen als Beispielformen zum Implementieren der Ansprüche offenbart.
-
Die Fachmänner erkennen, dass die vorliegende Offenbarung in Netzcomputerumgebungen mit vielen Arten von Computersystemkonfigurationen ausgeübt werden kann, einschließlich eines Armaturenbrett-Fahrzeugcomputers, persönlichen Computern, Desktopcomputern, Laptopcomputern, Nachrichtenverarbeitern, tragbaren Vorrichtungen, Multiprozessor-Systeme, mikroprozessorbasierter oder programmierbarer Verbraucherelektronik, Netzwerk PCs, Minicomputern, Mainframe-Computern, Mobiltelefonen, PDAs, Tablets, Pager, Router, Schaltungen, mehreren Speichervorrichtungen und dergleichen. Die Offenbarung kann auch in verteilten Systemumwelten ausgeübt werden, wobei sowohl lokale als auch Ferncomputersysteme, die durch ein Netzwerk verbunden sind (entweder durch fest verkabelte Datenverbindungen, kabellose Datenverbindungen oder jegliche Kombination von fest verkabelten und kabellosen Datenverbindungen), Aufgaben durchführen. In einer verteilten Systemumwelt können Programmmodule in sowohl lokalen als auch Fernspeichervorrichtungen angeordnet sein.
-
Ferner, wo angemessen, können Funktionen, die hier beschrieben sind, in einer oder mehreren der folgenden durchgeführt werden: Hardware, Software, Firmware, digitale Komponenten oder analoge Komponenten. Zum Beispiel kann eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASIC) programmiert sein, um eines oder mehrere der hier beschriebenen Systeme und Prozeduren auszuführen. Gewissen Begriffe werden im Laufe der Beschreibung und den Ansprüchen verwendet, um sich auf bestimmte Systemkomponenten zu beziehen. Wie ein Fachmann erkennt, können Komponenten mit verschiedenen Namen bezeichnet werden. Dieses Dokument bezweckt nicht, zwischen Komponenten zu unterscheiden, die sich um Namen unterscheiden, aber nicht in Funktion.
-
Es sollte angemerkt werden, dass die oben erörterten Sensorausführungsformen Computerhardware, Software, Firmware oder jegliche Kombination davon umfassen können, um mindestens einen Teil von ihren Funktionen durchzuführen. Zum Beispiel kann ein Sensor Computercode aufweisen, der konfiguriert ist, in einem oder mehreren Prozessoren ausgeführt zu werden, und kann Hardware aufweisen, die logisch/elektrisch von dem Computercode schaltgesteuert ist. Diese Beispielvorrichtungen sind hier zum Zwecke der Illustration bereitgestellt und sollen nicht begrenzend sein. Ausführungsformen der vorliegenden Offenbarung können in weiteren Arten von Vorrichtungen implementiert werden, wie einem Fachmann auf dem Gebiet der Technik bekannt.
-
Mindestens einige Ausführungsformen der vorliegenden Offenbarung sind an Computerprogrammprodukte gerichtet, die solche Logik (z. B. in der Form von Software) auf jeglichem computernutzbaren Medium gespeichert umfassen. Solche Software, wenn in einer oder mehreren Datenverarbeitungsvorrichtungen ausgeführt, veranlasst eine Vorrichtung dazu, wie hier beschrieben zu arbeiten.
-
Während mehrere Ausführungsformen der vorliegenden Offenbarung oben beschrieben wurden, versteht sich, dass sie nur beispielhaft dargestellt wurden und nicht begrenzend. Es ist den Fachmännern in dem relevanten Gebiet der Technik ersichtlich, dass mehrere Veränderungen in Form und Detail vorgenommen werden können, ohne vom Erfindungsgedanken und Schutzbereich der vorliegenden Offenbarung abzuweichen. Folglich sollte die Breite und der Schutzbereich der vorliegenden Offenbarung von keinem der der oben beschriebenen Ausführungsbeispiele begrenzt sein, sollte aber nur gemäß den folgenden Ansprüchen und deren Äquivalenten definiert sein. Die vorstehende Beschreibung wurde zum Zwecke der Darstellung und Beschreibung präsentiert. Die vorliegende Offenbarung soll nicht erschöpfend oder auf die genaue offenbarte Form begrenzt sein. Viele Modifikationen und Variationen sind ausgehend von der obigen Lehre möglich. Ferner sollte angemerkt werden, dass jede oder alle der vorgenannten alternativen Implementierungen in jeder gewünschten Kombination verwendet werden können, um zusätzliche Hybrid-Implementierungen der vorliegenden Erfindung zu bilden.
-
Beansprucht wird: