RunSight
DE

Technologie

Eine Kamera und alles, was passieren muss, bevor sie sprechen darf.

Wie ein Bild zu Geometrie wird, Geometrie zu einer Entscheidung und eine Entscheidung zu einem kurzen Satz. All das geschieht auf einem Gerät auf deinem Rücken, ohne Internet.

Kamera, alle drei Modelle, Geometrie und Hinweisauswahl laufen auf dem Gerät. Eine Internetverbindung ist nicht erforderlich.

Eine Kamera. Drei Modelle auf dem Gerät.

Eine USB-Kamera auf Augenhöhe liefert Bilder an einen Hailo-8-Beschleuniger. Drei kompilierte Modelle laufen auf jedem behaltenen Bild: eines segmentiert die gemalten Bahnlinien, eines erkennt Personen voraus, eines schätzt die Tiefe aus demselben Bild. Es gibt keinen Tiefensensor, kein LiDAR und keine zweite Kamera. Die Tiefe kommt aus der einzigen RGB-Kamera, was das Gerät bezahlbar hält.

Bilder werden nach dem Prinzip „das frischeste gewinnt“ verarbeitet. Bleibt die Inferenz zurück, werden alte Bilder verworfen statt eingereiht: lieber schweigen als aus der Vergangenheit führen.

Ausgabe der Bahnsegmentierung, erkannte Bahnen blau gezeichnet

U-Net

Im Prototyp

ResNet-18 backbone

Segmentiert die gemalten Bahnlinien, damit das Gerät weiß, wo die Bahn verläuft und wo du darin bist.

84.23% IoUIoU, Validierungssatz

Ausgabe der Personenerkennung, mit Rahmen um eine laufende Person voraus

YOLOv8n

Im Prototyp

Nano detector

Findet Menschen auf der Bahn vor dir: das Hindernis, das auf einer geteilten Bahn wirklich zählt.

88.24% IoUIoU, Validierungssatz

Eine Tiefenkarte der Laufbahn, nahe Objekte in warmen Farben

Sc-Depth V3

Im Prototyp

Monocular RGB

Schätzt aus einem einzelnen RGB-Bild, wie weit eine erkannte Person entfernt ist, damit die Führungs-Engine weiß, ob ein Hindernis nah genug ist, um zu zählen.

Self-supervisedmonokulare Tiefe, auf dem Gerät

Segmentierungsergebnisse: Eingabebild, Modellvorhersage und Ground Truth
Bahnsegmentierung: Eingabe, Vorhersage und handannotierte Ground Truth.
Erkennungsergebnisse: vorhergesagte Boxen gegen Ground-Truth-Boxen
Personenerkennung: Vorhersage (rot) gegen Ground Truth (grün).

Von Pixeln zu einer Entscheidung.

Eine Maske und ein paar Boxen sind noch keine Führung. Daraus muss Geometrie werden: wo die Bahn verläuft, wo du darin stehst, wie stark sie sich krümmt und ob die Person voraus nah genug ist, um zu zählen.

Vom Segmentierungsmodell erkannte Bahnlinien, gelb über der Laufbahn gezeichnet

01

Linien anpassen

Konturen werden aus der Maske extrahiert und jede Linie mit einer quadratischen Kurve angepasst. Eine von einer Person oder einem Schatten unterbrochene Linie wird so wieder zu einer durchgehenden Kante.

Die aktuelle Zone der laufenden Person, grün hervorgehoben zwischen den Linien

02

Die Bahn in Zonen teilen

Die angepassten Linien teilen die Bahn in fünf Zonen: ganz links, links, Mitte, rechts und ganz rechts. Anschließend wird die laufende Person einer dieser Zonen zugeordnet. Daraus entsteht die Steueransage.

Krümmungskreise, an die Bahnlinien angepasst

03

Die Kurve messen

Der Krümmungsradius wird aus den Mittelpunkten der angepassten Linien berechnet. Ein großer Radius bedeutet, dass die Bahn gerade ist; ein kleiner Radius zeigt eine Kurve und ihre Richtung.

Eine erkannte Person voraus mit geschätztem Tiefenwert

04

Die Person voraus einschätzen

Eine erkannte Person wird nur dann zum Hindernis, wenn sie nah ist. Das Tiefenmodell schätzt diese Entfernung aus demselben RGB-Bild, sodass die Engine auf das reagiert, was nah ist, statt auf jede sichtbare Person.

Von der Szene zu einer gesprochenen Ansage.

Eine Laufbahn erzeugt weit mehr Information, als ein Mensch im Tempo verarbeiten kann. Die Engine gibt höchstens eine Anweisung aus und unterdrückt den Rest; für jede Prioritätsstufe gilt eine eigene Sperrzeit.

SatzWannPrioritätSperrzeit
Move leftDu bist nach rechts aus der Bahn gedriftet, deshalb holt dich die Ansage zur Mitte zurück.Steuerung1.5s
Move rightDu bist nach links aus der Bahn gedriftet, deshalb holt dich die Ansage zur Mitte zurück.Steuerung1.5s
Caution, person aheadJemand ist voraus: nah genug, um zu zählen, noch keine Gefahr.Warnung0.8s
Stop, person aheadJemand ist voraus und nah. Die Ansage unterbricht alles andere.KritischKeine
  • Priorität schlägt Priorität

    Jede Stufe hat ihre eigene Sperrzeit. Eine Warnung wird nie von einer eben gesprochenen Steueransage blockiert.

  • Kein Nerven

    Derselbe Satz wird 3 Sekunden lang unterdrückt, so wahr er auch weiterhin ist.

  • Kritisches spricht immer

    Eine kritische Ansage umgeht jede Sperrzeit und unterbricht die laufende Ausgabe.

Die Modelle ins Zeitbudget eines Bildes bringen.

In float32 hielten die Modelle auf einem Raspberry Pi keine Echtzeit-Bildrate. Also werden sie für den Hailo-Beschleuniger kompiliert: in dessen interne Darstellung übersetzt, profiliert, gegen einen Kalibrierungssatz echter Bahnbilder quantisiert und zu einer Datei kompiliert, die die Runtime beim Start lädt.

Nach der Kompilierung für den Beschleuniger ist der Prototyp 6× schneller und verarbeitet mehr als 10 Bilder pro Sekunde.

Die Daten stammen von indonesischen Bahnen.

Kein öffentlicher Datensatz zeigt eine indonesische Laufbahn aus Augenhöhe einer laufenden Person. Also haben wir ihn selbst erstellt: mit Bildern von öffentlichen Bahnen, darunter das Patriot-Candrabhaga-Stadion, auf Augenhöhe, mit und ohne Menschen voraus.

Jedes Bild wird zweimal annotiert: Boxen für Personen und Polylinien für die gemalten Kanten. Danach wird der Datensatz augmentiert, um der Realität standzuhalten: einem kippenden Kopf, einer wackelnden Kamera und einem Nachmittag, der blendet oder grau ist.

Annotation der Bahnliniensegmentierung in Label Studio
Bahnannotation: die gemalten Kanten, von Hand nachgezogen.
Box-Annotation einer Person auf der Laufbahn in Label Studio
Personenannotation: eine Box pro laufender Person voraus.
Die fünf Augmentierungen, einzeln auf ein Quellbild angewandt
Jede Augmentierung, einzeln auf dasselbe Quellbild angewandt.

Prototypstatus und nächste Tests.

Der integrierte Prototyp funktioniert; diese Punkte benötigen noch Entwicklung oder Validierung.

  • Ein Multi-Task-Modell

    Der Beschleuniger hat kein DRAM, daher ist der Modellwechsel pro Bild teuer. Die drei zu einem Modell mit mehreren Köpfen zu verschmelzen ist der Ausweg.

  • Kabelloses Audio

    Das Gerät spricht heute über einen kabelgebundenen Ohrhörer. Bluetooth-Audio braucht ein zweites Funkmodul.

  • Modell-Updates über die Luft

    Aktuell bedeutet ein neues Modell physischen Zugriff auf das Gerät.

  • Feldvalidierung

    Alles oben wurde am Tisch und auf der Bahn mit sehenden Testenden gemessen. Begleitete Tests mit sehbehinderten Läuferinnen und Läufern sind die eigentliche Hürde. Sie stehen noch aus.