Allgemeine Beschreibung


Dass die grundsätzliche Positionsbestimmung eines Mikrophons mithilfe der Auswertung der Raumimpulsantwort möglich ist, haben wir bereits im Versuch Schallbasierte Ortung gezeigt. Die dort verwendeten Werkzeuge erlauben die Ortung jedoch nur in einem unveränderten Raum. Bewegen sich große Objekte, oder ändert sich das Reflexionsverhalten der Wände, Fenster und Türen, wird die Position des Mikrophons nicht mehr richtig erkannt. Es existieren bereits verschiedene Ansätze, um diesem Verhalten entgegen zu wirken, hier wird der Versuch beschrieben, mithilfe zweier Gedächtnisse (ähnlich dem Kurz- und Langzeitgedächtnis) die Ortung auch in einem variablen Umfeld zu gewährleisten.

Teilbereiche

Ebenso wie bei der „Schallbasierten Ortung“, muss dem Algorithmus zunächst durch ein Fingerprinting die Raumimpulsantwort an verschiedenen Positionen auf dem Tisch „beigebracht werden“. Näheres hierzu unter Schallbasierte Ortung – Versuchsaufbau. Dadurch wird das Langzeitgedächtnis gebildet, welches dem Algorithmus ermöglicht, das Mikrophon dann korrekt zu orten, wenn sich der Raum in seinem Ausgangszustand befindet.

 

Abbildung 1: Änderung der Raumimpulsantwort durch ein Buch

Wurden wesentliche Änderungen an dem Raum vorgenommen, wie zum Beispiel durch das Buch in Abbildung 1, wird das Langzeitgedächtnis häufig fehlerhaft arbeiten (gelbe, blaue und rote Kurve in Abbildung 2).

 

Abbildung 2: Klassifizierungsrate bei je 1200 Raumimpulsantworten

 

Die Datensätze OffData1 und OffData2 beinhalten je 1200 Raumimpulsantworten, die an verschiedenen Positionen des Tisches aufgenommen wurden, ohne das ein Buch zwischen Mikrophon und Lautsprecher platziert war. Die Datensätze OnData1, OnData2 und OnData3 beinhalten ebenfalls je 1200 Raumimpulsantworten an den gleichen Positionen, jedoch mit dem Buch als Objekt zur Änderung der Raumimpulsantwort. Bild 2 zeigt sehr deutlich, dass eine korrekte Positionsbestimmung, mit dem Langzeitgedächtnis alleine, nicht mehr möglich ist.

Bei dem Versuch diese Änderungen im Langzeitgedächtnis zu erlernen, könnte sehr schnell das Problem auftreten, dass die bisher korrekt georteten Positionen bald nicht mehr funktionieren, weshalb das Langzeitgedächtnis nicht verändert werden soll. Es soll statisch das Basiswissen beinhalten, um die korrekte Klassifizierung zu gewährleisten, falls sich der Raum in seinem Grundzustand befindet.
Nun wäre eventuell der erste Gedanke, ähnlich wie bei dem Langzeitgedächtnis, in einem weiteren Fingerprinting die Änderungen durch das Buch zu „erlernen“. Dies würde jedoch dazu führen, dass jede mögliche Änderung am Raum, mit einem sehr intensiven Fingerprinting erlernt werden müsste. L. Fischer, B. Hammer und H. Wersing schlagen in Ihrem Artikel „Combining Offline and Online Classifiers for Life-long Learning“ [1] ein dynamisches Kurzzeitgedächtnis als Alternative vor, dass Raumänderungen zur Laufzeit des Algorithmus erlernen und vergessen kann. Dies geschieht durch die Implementierung eines Supervised Online Learning Algorithmus, der in der Lage ist zur Laufzeit, also ohne gesonderte Trainingsphase „inkrementell“ zu lernen, jedoch dazu zusätzliche Informationen in Form der tatsächlichen Position (bzw. die korrekten Label) des Mikrophons benötigt. Der Algorithmus nutzt diese Positionen, um zu erkennen, wenn er einen Datensatz falsch klassifiziert (ortet), und nutzt dann die Lernende Vektor Quantisierung (LVQ), um die Qualität des falsch klassifizierten Datensatzes zu beurteilen. Erscheint dieser Datensatz als geeignet, ein gutes Beispiel für zukünftige Klassifizierungen zu liefern, wird er zusammen mit der korrekten Position im Kurzzeitgedächtnis gespeichert.

Nähere Informationen zur LVQ und der Online Offline Learning Architektur finden Sie in dem IEEE Access Artikel.

Die Qualität des neuen Datensatzes im Kurzzeitgedächtnis wird mittels eines Wertes, der zusätzlich gespeichert wird, laufend aktualisiert. Wird ein Prototyp des Kurzzeitgedächtnisses häufig zur korrekten Positionsbestimmung verwendet, wird dieser Wert gesteigert. Liefert der Prototyp falsche Ortungsergebnisse, wird der Wert gesenkt. Dies ermöglicht dem Algorithmus zu vergessen, in regelmäßigen Abständen werden diese Werte geprüft, und Prototypen des Kurzzeitgedächtnisses, die einen negativen Wert haben, werden gelöscht, da sie offensichtlich nicht mehr von Nutzen sind.

 

Abbildung 3: Zwei Beispiele für Klassifikationsraten mit Kurz- und Langzeitgedächtnis

Abbildung 3 zeigt die deutlich verbesserte Klassifizierungsrate bei den Datensätzen, die im veränderten Umfeld generiert wurden (OnData1, OnData2, OnData3). Erst nachdem Erlernen der Raumänderung werden dem Algorithmus die Messungen der Raumimpulsantwort im unveränderten Raum zur Klassifizierung übergeben. Hier zeigt sich die besondere Qualität des Verfahrens, das unveränderte Langzeitgedächtnis arbeitet weiterhin korrekt. Bei genauer Auswertung der Daten zeigt sich, dass die Klassifizierungsrate sogar noch gesteigert wird, da das Kurzzeitgedächtnis sich (bei richtiger Konfiguration) so schnell anpasst, dass Positionen, die durch das Langzeitgedächtnis nicht korrekt geortet werden, im Kurzzeitgedächtnis erlernt werden. Im Besten Fall konnte so eine Klassifizierungsrate von 97,5 % bei 1200 Datensätzen erreicht werden.

Die Matlab Implementierung des Algorithmus, sowie die 7200 aufgenommenen Testdaten können Sie hier herunterladen.

Im IEEE Access Artikel finden Sie weitere Erläuterungen zur Funktionsweise.

Die Auswertung der Raumimpulsantwort zur Positionsbestimmung bietet eine interessante Alternative zu bestehenden Verfahren, die häufig teuer, anfällig oder ungenau sind. Hierzu sind zwar sicherlich noch intensive Forschungen erforderlich, allerdings liefern erste Experimente, trotz Nutzung von kostengünstiger Hardware, sehr genaue Ergebnisse.