2 Punkte von GN⁺ 2024-11-14 | 1 Kommentare | Auf WhatsApp teilen
  • Selbst wenn GPS, Mobilfunk und Wi‑Fi im Tunnel ausfallen, kann der GO-Trip von Transit weiterhin die geschätzte Position, die verbleibende Anzahl von Stationen und die ETA anzeigen
  • Der Kern ist ein Verfahren, das anhand des Vibrationssignals des Beschleunigungssensors im Smartphone erkennt, ob sich die Person in einem fahrenden Zug befindet, und dabei die zuletzt bestätigte Position mit dem Fahrplan des Zuges kombiniert
  • Das Transit-Team sammelte Hunderte von Fahrten und manuell gelabelte Daten aus mehreren Städten; in der U-Bahn von New York City fuhren sie sogar alle Linien ab und zeichneten Vibrationen von Zügen, Rolltreppen und Aufzügen auf
  • Das finale Positionsvorhersagemodell The Mixer trifft die aktuelle Position mit einer Wahrscheinlichkeit von 90 % und unterstützte in ersten Tests die Erkennung von 1,5 Millionen unterirdischen Stationen in rund 400.000 Fahrten
  • Beide Modelle sind zu kleinen Dateien komprimiert und laufen auf dem Smartphone, sodass Offline-Stationenzählung möglich ist; Vibrationsdaten werden nicht an die Server von Transit übertragen

Warum die Positionsbestimmung unter der Erde schwierig ist

  • In U-Bahn-, Metro- und U-Bahn-Tunneln funktionieren Mobilfunk, Wi‑Fi und GPS oft nicht zuverlässig
  • Bisher musste man sich unter der Erde auf Bahnsteigschilder, Stationsdurchsagen oder digitale Anzeigen im Fahrzeug verlassen, um Haltestellen oder die ETA zu prüfen
  • Statt GPS-Satelliten zu bauen, die bis unter die Erde reichen, sagt Transit die Position eines Zugs im Tunnel anhand der Vibrationsmuster des Smartphones voraus

Welche Informationen im GO-Trip sichtbar sind

  • Nutzer müssen in Transit einfach einen GO-Trip starten
    • Das geht direkt aus der Detailansicht einer Linie
    • Es kann auch aus einer geplanten Fahrt heraus gestartet werden
  • Die App zeigt selbst dann folgende Informationen an, wenn sie die GPS-Koordinaten nicht kennt
    • die geschätzte Position auf der Karte
    • einen Countdown der verbleibenden Stationen
    • eine aktualisierte ETA

Schritt 1: Bewegung in einem Zug klassifizieren

  • Sobald der Zug in einen Tunnel mit schlechtem GPS einfährt, muss zuerst festgestellt werden, ob sich die Person in einem fahrenden Zug befindet
  • Der Transit-Mitarbeiter Stephen zeichnete auf dem Weg ins Büro in Montreal mit seinem Smartphone Beschleunigungsdaten auf und labelte jeden Abschnitt der Fahrt
    • den Zeitpunkt, an dem er zu laufen begann
    • den Zeitpunkt, an dem er die Treppe hinunterging
    • den Zeitpunkt, an dem er auf dem Bahnsteig wartete
    • die Zeitpunkte, an denen der Zug anfuhr und anhielt
  • Die Beschleunigungsdaten wurden in einem von der Fourier-Transformation inspirierten Verfahren aufbereitet und in Frequenzdaten umgewandelt
  • In einem fahrenden Zug vibrierte das Smartphone mit etwa 5 Hz, beim Gehen zeigte sich dagegen etwa 2 Hz
  • Wegen zufälligem Rauschen und harmonischen Frequenzen reichten einfache Muster nicht aus; es brauchte ein Machine-Learning-Modell zur Klassifizierung der Bewegungsart und viele Trainingsdaten

Schritt 2: Ground-Truth-Daten sammeln

  • Das Transit-Team labelte Daten aus Hunderten von Fahrten in Dutzenden Städten, um ein generalisierbares Modell zu bauen, das einen „fahrenden Zug“ unabhängig von Zug- oder Gleisart erkennen kann
  • Étienne und Elijah sammelten Vibrationsdaten in der U-Bahn von New York City, dem beliebtesten U-Bahn-System in der App
  • Mit iPhone, Android und MetroCard fuhren die beiden eine Woche lang mit Bussen und Zügen der MTA und labelten jede Phase ihrer Fahrten
  • Das Ziel war, Hinweise zu finden, die Vibrationen im Zug von anderen Vibrationen in der Station unterscheiden
    • Sie fuhren Rolltreppen und Aufzüge auf und ab und annotierten sogar die Zeitpunkte des Stillstands
    • Sie befuhren alle U-Bahn-Linien New Yorks, von der Bronx bis Brighton Beach, einschließlich Manhattan Bridge, Williamsburg Bridge und Canarsie Tunnel

Schritt 3: Den Bewegungsklassifikator trainieren

  • Auf Basis der aufbereiteten und verarbeiteten Sensordaten wurde der motion classifier darauf trainiert, zwischen „fahrender Zug“ und „kein fahrender Zug“ zu unterscheiden
  • Das Modell nimmt ungelabelte Sensordaten als Eingabe und schätzt, ob sich das Smartphone in einem fahrenden Zug, in einem stehenden Zug, beim Gehen oder auf einer Rolltreppe befindet
  • Transit verglich diese Schätzungen mit der per Hand annotierten ground truth und passte die Logik an, um genauere Vorhersagen zu erzielen
  • Nach den Anpassungen konnte das Modell unterscheiden, ob sich der Nutzer tatsächlich in einem fahrenden Zug befindet oder ob einfach nur das Smartphone vibriert

Schritt 4: Das Positionsvorhersagemodell The Mixer

  • Sobald bekannt ist, ob sich der Nutzer bewegt, muss vorhergesagt werden, wo sich sein Zug genau befindet
  • Das letzte Modell, The Mixer, gewichtet zur Berechnung der aktuellen Position die folgenden Faktoren
    • die Vorhersage des Bewegungstyps, also ob sich der Nutzer in einem fahrenden Zug befindet
    • die zuletzt bestätigte Position des Nutzers
    • ob diese zuletzt bestätigte Position erst kurz zurückliegt oder schon länger her ist
    • den Fahrplan des Zuges
  • The Mixer trifft die Vorhersage der aktuellen Position mit 90 % Wahrscheinlichkeit
  • Im Beispiel einer Fahrt mit dem Paris-RER kommen im unterirdischen Abschnitt sporadische Positionsupdates über GPS sowie Bluetooth-/Wi‑Fi-Scans herein; mit diesen Updates wird die Vorhersage der unterirdischen Position in Funklöchern korrigiert
  • Sobald der Nutzer wieder an die Oberfläche kommt und ein Gebiet mit Mobilfunk erreicht, verwendet die App wieder die normale GPS-Position

Offline-Betrieb und Datenschutz

  • Sobald eine Positionsvorhersage möglich ist, kann die App auch unter der Erde die ETA des Nutzers aktualisieren
  • Die Stationszählung funktioniert, ohne sich auf instabiles GPS oder Fahrzeuganzeigen verlassen zu müssen
  • Die Stationszählung arbeitet vollständig offline
  • Der motion classifier und The Mixer sind zu kleinen Dateien komprimiert und laufen auf dem Smartphone
  • Vibrationsdaten werden nicht an die Server von Transit übertragen
    • kein Tracking
    • keine Cookies
    • die Vibrationsdaten bleiben auf dem Gerät des Nutzers

Nutzung und Umfang der ersten Tests

  • Wer mit der U-Bahn fährt, kann Transit öffnen und die Fahrt mit GO starten; dann sieht man, wie die Stationen nacheinander heruntergezählt werden
  • Während der ersten Tests unterstützte Transit die Erkennung von rund 1,5 Millionen unterirdischen Stationen in etwa 400.000 Fahrten
  • Die Turn-by-Turn-Navigation von GO wurde bereits von Millionen Menschen an der Oberfläche in mehr als 600 Städten genutzt
  • Seit dem Start von GO Bike im vergangenen Monat verwenden auch Radfahrer GO
  • Mit dieser Funktion können Fahrgäste in U-Bahnen GO auch in Abschnitten mit schlechter Verbindung stärker vertrauen
  • Die App ist auf der Transit-Downloadseite verfügbar

1 Kommentare

 
GN⁺ 2024-11-14
Meinungen auf Hacker News
  • Vor etwa zehn Jahren habe ich einen Blogpost der französischen Firma snips gelesen; darin ging es darum, dass die App mit dem Luftdrucksensor erkennt, wann ein Zug in einen Bahnhof einfährt oder ihn verlässt.
    Wenn ein Zug in den Tunnel zwischen zwei Stationen einfährt oder ihn verlässt, gibt es einen plötzlichen Anstieg bzw. Abfall des Luftdrucks, wodurch ein ziemlich klares Signal entsteht, hieß es.
    Gefunden: https://medium.com/snips-ai/underground-location-tracking-3e...

    • Bei Hochgeschwindigkeitszügen werden die Pneumatikschläuche an den Türkanten vor der Tunneleinfahrt teils auf einen höheren Druck gebracht.
      Diese Schläuche können Druckspitzen erkennen und so feststellen, ob die Tür gerade eine Hand einklemmen will; außerdem werden sie genutzt, um den „Knall“-Effekt durch den Druckunterschied beim Einfahren in den Tunnel zu verringern.
    • Ich habe an diesem Projekt gearbeitet und kann erklären, warum wir am Ende keinen Luftdrucksensor verwendet haben.
      Nicht jedes Smartphone hat einen Luftdrucksensor, und die Messqualität unterscheidet sich je nach Modell stark. Bei manchen Geräten sprang der Wert zum Beispiel schon, wenn man das Telefon nur fest in der Hand hielt.
      Transit hat auch keine Berechtigung, den Luftdrucksensor auszulesen, und für unseren Zweck wäre es schwer zu rechtfertigen gewesen, diese Berechtigung anzufordern.
    • Ich erinnere mich, dass Google Maps schon davor Experimente gemacht hat, bei denen die Zugbewegung mit dem Magnetometer geschätzt wurde.
      Die Genauigkeit hing allerdings offenbar davon ab, ob der Fahrstrom Gleich- oder Wechselstrom war, und sogar vom Alter der Wagen.
    • Am Berlin Airport fungierten die Züge als Belüftung.
      Da das Gebäude fertiggestellt, aber nicht in Betrieb war, musste die regionale Bahngesellschaft fast zehn Jahre lang Züge in das Gebäude hinein- und wieder herausfahren lassen.
    • Es gibt nur sehr wenige Android-Smartphones mit Luftdrucksensor.
  • Wirklich großartig.
    Ich arbeite gerade tatsächlich an einem Projekt, bei dem ich Geräusche aufnehme, wenn die London Underground unter mir hindurchfährt.
    Die Northern Line, die unter uns verläuft, ist sehr deutlich zu hören, und sie liegt weniger als 30 m tief.
    Ich habe mich darauf versteift, mit hochwertigen Tieffrequenzaufnahmen das Geräusch vorbeifahrender Züge einzufangen. Warum, weiß ich nicht, aber es geht mir nicht mehr aus dem Kopf.
    Es gibt zum Beispiel zwei Tunnel, einen nordwärts und einen südwärts; ich frage mich, ob man ihre jeweiligen Klangsignaturen unterscheiden kann, indem man sie mit den echten TfL-Daten korreliert.
    Noch interessanter ist die Frage, ob man Wartungsfahrzeuge „erwischen“ kann, die nach Betriebsschluss unter uns fahren.
    Ich weiß nicht, was man mit diesem Projekt noch anfangen könnte, aber die Vorstellung, die Geräusche eines halb flüchtigen Wesens einzufangen, das sich unter mir bewegt, lässt mich nicht los.

    • Cool. Ich frage mich, welche Sensoren du in Betracht gezogen hast.
      Ich interessiere mich für extrem schwache hochfrequente Vibrationen, die von ruhenden Alltagsgegenständen ausgehen; vermutlich ist das Ziel also fast das Gegenteil. Bei der Beschaffung von Sensoren bin ich allerdings noch nicht weit gekommen.
      Ich hätte gern ein Laser-Doppler-Vibrometer, aber die sind teuer.
    • Ich war vor ein paar Wochen beim Tag der offenen Tür des Lamont-Doherty Earth Observatory, und dort analysierte ein Forscher auf ganz ähnliche Weise aufgezeichnete Erdbebengeräusche.
      Ich werde nachsehen, wer das war.
      [0] https://lamont.columbia.edu/
    • Nur mit passiven Signalen, die man heimlich an der Oberfläche bekommen kann, und noch dazu mit nichtprofessioneller Ausrüstung aufzuzeichnen, was tief unter der Erde passiert, dürfte einige Regierungsbehörden interessieren.
    • Ich habe einmal etwa 300 Yards von einer vorbeifahrenden U-Bahn-Strecke entfernt gewohnt, und ich glaube, ich konnte sie hören.
      Ich weiß nicht, ob das Restschall aus einem Notausgang am Gehweg war oder ob der Boden wie eine Glocke mitschwang.
  • Ich möchte auch kurz anerkennen, wie gut mir der gesprächige Ton des Artikels gefallen hat.
    Selbst wenn es in recht detaillierte Erklärungen wie Frequenzdiagramme ging, machte das Lesen Spaß. Ich habe die englische Version gelesen.
    Die Person, die das geschrieben hat, hat das wirklich hervorragend gemacht.

    • Ja. Ein liebenswerter Ton, von einem Menschen geschrieben, nicht von einer KI.
    • Ihre Produkt-Launch-Posts und Engineering-Artikel sind in der Regel wirklich gut geschrieben.
      Transit App ist ein Juwel von einer App.
  • „Klassifikator“ klingt sympathisch. Beeindruckend, dass sie im ganzen Artikel kein einziges Mal KI gesagt haben.

    • Gut so. Das heißt, dass Marketing nicht am Steuer sitzt, sondern Engineering.
  • Manche Städte installieren BLE-Beacons in den Tunneln, die ihre Position senden; der jeweils stärkste Beacon zeigt dann an, wo man gerade ist.
    Ich finde diesen Ansatz gut, weil er das ohne installierte Hardware herausfindet.

    • In manchen Zügen gibt es auch die moderne Technologie namens „Bildschirm“, die die aktuelle Position, die nächste Station, die Linie usw. anzeigt.
      Fairerweise muss man sagen, dass diese Bildschirme allerdings lächerlich oft falsch liegen und nutzlose Nachrichten wie „Bitte vergessen Sie Ihr Gepäck nicht“ in einer Schleife anzeigen, sodass man etwa 20 Sekunden warten muss, bis die gewünschte Information erscheint. Im Zug ist das fatal schlecht.
    • In der London Tube wird nach und nach je nach Linie Mobilfunksignal ausgebaut, aber da es auf allen Bahnsteigen Stations-WiFi gibt, könnte man vermutlich schon allein damit arbeiten.
  • Den Fortschritt zwischen Stationen könnte man vermutlich besser verfolgen, wenn man die Beschleunigungssignatur der einzelnen Gleisabschnitte erkennt.
    Das gilt besonders, wenn die Strecke nicht völlig gerade und eben ist; es erinnert an frühe Autonavigation vor GPS. Damals nutzte man Koppelnavigation und glich die Form der gemessenen Route mit Kartendaten ab, um Drift zu korrigieren.

    • Die Beschleunigungssignatur hängt vom Fahrer, von der Zugkapazität und aktuellen Last sowie vom Zugmodell oder Unterschieden im Antriebsstrang ab.
      Eine verlässlichere Methode könnte sein, mit dem Beschleunigungsmesser Merkmale der Strecke zu erkennen: Steigungen, Kurven, Unebenheiten oder Kombinationen davon.
      Auch Geräusche in Kurven oder Veränderungen des Hintergrunds an Tunnelverzweigungen ließen sich nutzen. Integrierte Beschleunigung liefert die Zuggeschwindigkeit und ist zusammen mit anderen Eingaben nützlich.
    • Ich vermute, ihre Absicht ist eher, etwas zu bauen, das auf jeder Strecke ohne Signaturdaten funktioniert.
      Signaturen zu sammeln wäre cool, aber um Städte und Smartphones breit abzudecken, wäre das eine enorme Arbeit. Unternehmen wie Google oder Apple hätten vielleicht die Daten und Fähigkeiten dafür, kleine Firmen eher nicht.
    • Shazam für Bahngleise.
    • In unserem lokalen Straßenbahnnetz ginge das schon anhand des Geräuschs der Wechselrichter, die die Motoren antreiben.
      Es gibt ein sehr charakteristisches Surren, das mit der Raddrehzahl zusammenhängt. Früher habe ich einmal mit SFT, Peak-Erkennung und Kalman-Filterung einen groben Tachometer gebaut.
  • Als Transit-Nutzer: Danke, dass ihr so eine großartige App gebaut habt; das war immer eines der größten Ärgernisse.
    Das galt nicht nur für Transit, sondern für jede App, die Navigation im öffentlichen Verkehr unterstützt, Apple Maps eingeschlossen.
    Ich hatte zwar angenommen, dass irgendjemand daran arbeitet, aber zu lesen, wie viel Überlegung und Detailtiefe ins Design geflossen sind, ist wirklich erfrischend. Das war ein enormer Aufwand.
    Das Transit-Team kann stolz darauf sein, eine der kleinen, aber großen Beschwerden bei ÖPNV-Apps gelöst zu haben.

  • Wirklich großartig. Da ich oft mit BART fahre, dachte ich immer, es wäre spannend, einen Positionsklassifikator auf Basis der Quietschgeräusche zu bauen, die je nach Tunnelstelle unterschiedlich sind.
    Aber Beschleunigungssensor-Daten zu verwenden, dürfte viel praktischer sein.

    • In einer ÖPNV-App das Mikrofon als Sensor zu verwenden, ist ziemlich heikel.
      Man könnte zwar die Rollgeräusche des Zuges aufnehmen, um die Bewegung zu bestimmen, aber Nutzer würden vermuten, dass die App sie belauscht.
    • Man müsste die Quietschgeräusche einfach so abstimmen, dass an jeder Station ein anderer Akkord erklingt.
  • Wäre das nicht deutlich besser, wenn man zusätzlich zu Machine Learning mit Beschleunigungssensor und Gyroskop Koppelnavigation macht?
    In einem fahrenden Zug würde man die Bewegung auf die bekannte Tunnelstrecke beschränken, und wenn die Abfahrt des Zuges erkannt wird, beschränkt man den Nutzer darauf, sich innerhalb des Haltebereichs des Zuges zu befinden.
    Oder ist die Smartphone-Hardware trotz zusätzlicher Informationen zu ungenau?

    • Am hilfreichsten wären vermutlich Hall-Sensor/Magnetometer/Kompass. Damit ließe sich eine halbwegs brauchbare Koppelnavigation erzielen.
      Nur mit dem Gyroskop funktioniert es bei kurzen Strecken sehr gut, wird bei langen, sanften Kurven aber fast nutzlos. MEMS-Gyroskope driften über einige Dutzend Sekunden ziemlich stark.
      Wenn man Sensor Fusion mit Magnetometer und Beschleunigungssensor machen kann, ist das Problem kleiner, aber in schnellen Zügen ist es wegen Beschleunigen/Abbremsen und der Kräfte in Kurven schwierig, „unten“ zu bestimmen. Ich weiß auch nicht, wie gut ein Kompass in einem U-Bahn-Tunnel funktioniert.
      Ich habe nur Erfahrung mit „künstlicher Horizont“-Apps in Flugzeugen; dort war der Beschleunigungssensor völlig nutzlos, um „unten“ zu finden. Ein Manöver mit ein paar G, und der Horizont kennt den Pitch-Winkel überhaupt nicht mehr. Wenn die magnetische Umgebung verrauscht ist und GPS ebenfalls aus ist, weiß man auch nicht mehr, wohin man fliegt.
    • Genau das ist es, was sie tun.
      Allerdings ist Koppelnavigation im Allgemeinen sehr ungenau; wenn man aber erkennt, dass jemand in einem Zug sitzt, weiß man genau, wo der Zug ist, und kann die Genauigkeit stark erhöhen.
    • Eine IMU zu verwenden, scheint schwierig. Das eigentliche Signal der sanften Beschleunigung des Zuges dürfte leicht im Vibrationsrauschen und in den natürlichen Bewegungen der Person untergehen.
      Wenn der Nutzer bei jedem Halt lange genug still steht oder sitzt, könnte man den IMU-Bias kalibrieren, aber trotzdem würde die Koppelnavigation wohl stark driften.
    • Wenn man für alle Abschnitte des U-Bahn-Systems eine FFT auf Mikrofon- und Beschleunigungssignale anwendet und frühere Fahrzeiten protokolliert, wirkt das ziemlich simpel.
      Man müsste die aktuelle Geschwindigkeit im Vergleich zur Historie schätzen und die Ankunftszeit vorhersagen. Daher sollte man sich eher auf Geschwindigkeit als auf Beschleunigung konzentrieren.
    • Die implementierte Lösung ist sehr interessant, aber tatsächlich ist es nicht „die Position im U-Bahn-Tunnel anhand der Vibrationssignatur des Smartphones vorhersagen“.
  • Ich habe diese Funktion letzte Woche in der New Yorker Subway ausprobiert. Mir war nicht klar, dass sie neu ist.
    Die Idee ist gut, aber bei mir hat sie nicht funktioniert; die App zeigte den Zug mehrere Stationen hinter seiner tatsächlichen Position an.