OpenStreetMap

Videomapping – Erfahrungen, Tipps und Tricks

Posted by Nakaner on 21 December 2015 in German (Deutsch)

Fotos Smartphone in Kfz-Halterung an Fensterscheibe

In meinem letzten Posting habe ich erklärt, wie man aus einem Video Einzelbilder extrahieren und georeferenzieren kann. Vor ziemlich genau zwei Jahren habe ich das erste Mal Videomapping zum Bahnmapping verwendet, ich blicke hier zurück und gebe meine Erfahrungen zum Besten.

Meine ersten Videomapping-Projekte

Lange Zeit habe ich bloß gefilmt. Das Smartphone mit der Kfz-Halterung an die Fensterscheibe montiert und fertig. Da ich nicht parallel einen GPS-Track aufgezeichnet habe, blieb das Verfahren elektrifizierten, mehrgleisigen Strecken vorbehalten. Nur dort stehen nämlich in ausreichend dichten Abständen Oberleitungsmasten, die man auf den Bing-Bildern gut sehen kann. Auf eingleisigen Strecken sind die Oberleitungsmasten zu nahe am Zug (oder auf der anderen Seite), sodass man gar nicht viel sieht. Alle Videos habe ich damals durch das Seitenfenster nach links hinten aufgenommen. In Deutschland fahren die Züge im rechten Gleis, sodass die Oberleitungsmasten des Gegengleises weit genug weg sind und man auch bei 120 km/h noch produktiv mappen kann. Dass ich von Anfang an nach links hinten gefilmt habe, liegt an einer Empfehlung von bigbug21, die sich gar nicht auf das Videomapping bezog, aber sich trotzdem als zutreffend erwiesen hat.

Bei der Auswertung habe ich immer ein Stückchen Video geschaut und dabei die Oberleitungsmasten gezählt. So habe ich mich von Feature zu Feature (Signale, Schilder, Hektometertafeln und andere mappenswerte Dinge) gehangelt. JOSM und der Videoplayer waren gleichzeitig geöffnet, immer ein Stückchen Video, dann wieder ein oder zwei Sachen in JOSM und dann wieder Video. Da man viel zurückspulen muss, war dieses Verfahren seeehr zeitaufwendig.

Es gab mal ein JOSM-Plugin zum Videomapping von !i!, aber das war schon Ende 2012 kaputt.

Erfahrungen

Mit der Zeit habe ich folgende Erfahrungen gesammelt:

  • Bei trübem Wetter leidet die Bildqualität. Bei Sonnenschein kann man bis 160 km/h gut mappen (bei den kleinen Signalnummern – die stehen auf weißen Tafeln am Signalmast – ist schon bei 120 km/h Schluss.
  • Bei viergleisigen Strecken kann man bei trübem Wetter die Objekte drei Gleise weiter links auch bei 200 km/h noch erkennen.
  • Vermeide dreckige Fensterscheiben. Gefühlt sehen die Fahrzeuge die letzten 18 Monate vor einem Betreiberwechsel, die zur Umbeheimatung (d.h. Verlagerung in eine andere Ecke der Republik) oder Abstellung führt, keine Waschanlage mehr von innen. Besonders auffällig war das bei DB Regio Südost und deren alten Reichsbahn-Doppelstockwagen.
  • Richte das Bild so aus, dass du das Nachbargleis nur zur Hälfte im Bild siehst (die näher bei dir gelegene Schiene des Nachbargleises nicht mehr im Video sichtbar ist). Dann kannst du trotzdem noch Weichen im Nachbargleis erkennen (unterstützen die Orientierung), hast aber Bildfläche für wichtigere Sachen.
  • Nimm nicht die Androiod-eigene Kamera-App. Sie ist für diesen Anwendungszweck unbrauchbar. Nimm stattdessen OpenCamera. Dort kannst du den Fokus fix auf Unendlich setzen. Sonst refokussiert die Kamera alle paar Sekunden.
  • Wähle in OpenCamera die SD-Karte als Speicherort (Zahnrad-Symbol → Mehr Kamera-Einstellungen → Speicherort). /storage/sdcard1 ist sowohl auf meinem Galaxy S5 als auch LG Optimus 2X die SD-Karte.
  • Leg eine schnelle und große Karte ein.
  • Schalte die maximale Helligkeit ab. Das Display braucht viel Strom. Bei meinem LG Optimus 2X brauchte das Smartphone bei maximaler Helligkeit mehr Strom beim Filmen, als das Netzteil nachliefern konnte! Stelle vor die Helligkeit so weit herunter, dass du das Display noch gut ablesen kannst. Deaktiviere in OpenCamera Zahnrad-Symbol → Benutzeroberfläche → "Maximale Helligkeit erzwingen".
  • Die Videoaufnahme wird beendet, wenn die maximale Dateigrößere erreicht ist. Bei FAT-formatierten SD-Karten sind das 4GB. Je nach Auflösung und Kompression können das 11 oder 45 Minuten sein. Du musst dann die Aufnahme wieder neu starten. Ich muss mal ausprobieren, wie Android mit ext4-formatierten Karten zurechtkommt. (Mein Linux-Rechner dürfte sich daran nicht stören)
  • Überkopf fallen auch gute Halterungen irgendwann herunter. In Doppelstockwagen (Untergeschoss ist nicht empfehlenswert) muss man daher die Halterung festhalten.
  • Die Halterung, die durch Klebstoff halten (statt durch Saugwirkung), sind ungeeignet. Sie sind lassen sich nicht beliebig oft entfernen und an eine andere Scheibe ankleben.
  • Ein Powerbank ist eine gute Investition.
  • Zum Filmen den Flugzeugmodus aktivieren. Das spart Strom. Man will ja auch nicht beim Filmen gestört werden.

Um auch Signalnummern mappen zu können (und Signale, die ich nur von hinten im Video sehe), habe ich während des Filmens gleichzeitig Signalnummern, Weichennummern und Signalbeschreibungen diktiert.

Beispiel 1 – der ICE wurde über die Güterzugstrecke Opladen–Hilden umgeleitet, da filmte ich trotz nasser Scheibe und trübem Wetter, altes Smartphone

Beispiel 2 – gute Lichtverhältnisse, aber ohne Kfz-Halterung, da daheim liegen gelassen, altes Smartphone

Mit einem Smartphone kann man nicht vernünftig nach hinten durch den unbesetzten Führerstand hindurch filmen, da die Frontscheibe zu weit entfernt ist und man deshalb den halben Führerstand mit filmen würde. Wenn jedoch am Zugschluss ein einfacher Reisezugwagen hängt, kann man durch die abgesperrte Wagenübergangstür heraus auf die Strecke filmen. Dabei entstehen dann Videos wie dieses.

Vorverarbeitung vor dem Upload

Mittlerweile entferne ich bei allen Videos, die ich auf Youtube hochlade, immer den Ton. Das geht mit folgendem ffmpeg-Befehl:

ffmpeg -i originalvideo.mp4 -an -vcodec copy ohne-ton.mp4

Folgendes Bash-Skript verpixelt (per Weichzeichner) einen Bereich des Bildes. Das sollte man tun, wenn sich fremde Fahrgäste in der Fensterscheibe spiegeln, aber man das Video veröffentlichen will. Fahrgäste, die still sitzen, bewegen sich nicht, sodass ein statisches Rechteck genügt.

#! /usr/bin/env bash
# Usage: ./remove-sound-and-blur.sh INPUTFILE WIDTH HEIGHT LEFT_MARGIN TOP_MARGIN
ffmpeg -i $1 -filter_complex "[0:v]split=2[v0][v1];[v0]crop=$2:$3:$4:$5,boxblur=10[fg];[v1][fg]overlay=$4:$5[v]" -map "[v]" -map 0:a -c:v libx264 -c:a copy -an blurred-$1

Bilder extrahieren

Mit einer vernünftigen Kamera (rurseekatze hat die meisten Videos unserer Deutschlandpass-Tour damit aufgenommen) und einem GPS-Logger sind noch ganz andere Dinge möglich. Damit kann man einzelne Frames extrahieren und diese georeferenzieren (siehe vorheriges Posting). Die Fotos kann man direkt in JOSM laden. Der Umweg über Mapillary ist Zeitverschwendung. Mapillary komprimiert die Bilder noch ein bisschen, sodass kleine Details (Signalnummern) flöten gehen und verpixelt gerne die wichtigen Sachen (Signalnummern). Ich habe den Eindruck, dass man bei der Auswertung von georeferenzierten Fotos aus einem Video 30 bis 40 Prozent Zeit einspart.

Folgende Frameraten sind empfehlenswert:

  • Blick nach hinten oder vorne: 1 fps bis etwa 120 km/h, darüber 2 fps
  • Blick schräg zur Seite: 2 bis 4 fps bei etwa 120 km/h

Brücken, die über die Gleise hinwegführen und einen Schatten auf das Gleis werfen, eigenen sich gut, um die Georeferenzierung zu kontrollieren. Beim langsamen Anfahren im Bahnhof fällt ein Fehler von 2 Sekunden in der Zeit kaum auf. Bei schneller Fahrt merkt man das aber.

Login to leave a comment