DE:Projekt Drohnen-Mapping in Landshut
Erstellt von --Blutsauger (talk) 14:20, 30 January 2015 (UTC)
<== Zurück zur Wiki-Seite von Landshut
Motivation
Wir bekommen regelmäßig von der Stadt Landshut aktualisierte Hausnummern mit Geodaten. Der Abgleich mit den bing-Bilder erweist sich bei neueren Hausnummern aber als schwierig, weil oft das Haus in bing noch nicht zu sehen ist, oder teilweise noch garnicht steht, sondern nur der Baugrund ausgewiesen ist. Es wäre also interessant, an den fraglichen Punkten selber Luftbilder zu erstellen und anhand derer die Daten in OSM einzupflegen. Ist schon eine Baugrube zu sehen, kann man ja z.B. die Hausnummer schonmal vergeben, hat aber noch keinen Umriss.
Außerdem ist so eine Drohne ein echtes Männer-Spielzeug ;)
Die Drohne
Ich habe mir nach etwas Recherche eine DJI Phantom Vision 2+ gekauft, die kostet ca. 1.200 EUR. Empfehlenswert ist ein Rotor-Schutz und vielleicht ein zweiter Akku. Das Handbuch sollte man auf jeden Fall lesen, danach kann es aber tatsächlich wie versprochen losgehen.
Um den vollen Funktionsumfang auszunutzen, benötigt man zusätzlich ein Smartphone (iPhone oder android >= 4.0) um die onboard-Kamera zu steuern (first-person-view) und weitere Parameter der Drohne einzustellen. Zur Kommunikation dient ein WLAN-Hotspot der an der Fernbedienung befestigt ist. Reichweite von Fernbedienung und WLAN sind unterschiedlich (WLAN ist kürzer); reißt die Verbindung ab oder geht der Akku leer, kehrt die Drohne per GPS zum Startpunkt zurück ('return to home' - RTH).
Die Kamera macht HD Videos und Fotos mit ca 4400x2500 Pixel, hat eine gute Lichtempfindlichkeit und einen Gimbal, der die Kamera immer in waagrechter Position hält. Der funktioniert auch sehr gut. Die Akkulaufzeit beträgt wie angegeben gute 20 Minuten, abhängig von Manövern, Wind, Temperatur, Zuladung usw. Anekdote: Ein Pilot hat die Temperatur in höheren Luftschichten überschätzt, der Akku hat schlapp gemacht und die Drohne ist abgestürzt.
Es existieren verschiedene Varianten in diesem Preissegment: sie unterscheiden sich in Akku-Laufzeit, Kamera- und Gimbal-Ausstattung. Die 'First-Person-View' Funktion, bei der das Bild direkt auf dem Handy erscheint, ist nur begrenzt von Nutzen. Im Amateur- und Profi-Bereich werden elektronische Brillen verwendet, um ohne Sichtkontakt zur Drohne zu navigieren.
Rechtliches
(Ohne Gewähr!)
Unbedingt erforderlich ist eine Haftpflichtversicherung für Modellflugzeuge. Die ist entweder schon in der bestehenden HPV integriert oder kostet ca. 30 EUR im Jahr. Beim Versicherungs-Muckel nachfragen!
Drohnen bis 5kg (Die Phantom wiegt 1.5kg) für private Nutzung benötigen keine Aufstiegsgenehmigung. Ansonsten kriegt man die für 2 Jahre für ca 120 EUR. Das Veröffentlichen von Drohnen-Bilder zählt bereits zur kommerziellen Nutzung. Die visuelle Interpretation und daraus resultierende Ergebnisse für OSM sind m.E. Ermessenssache.
Flüge über Privatgrund und Menschenmengen sind untersagt bzw. benötigen das Einverständnis. Dabei ist nicht ganz klar, wo der 'Privatgrund' in der Luft aufhört. Ausgeschlossen sind außerdem Gebiete um Flughafen, Kernkraftwerke, Militäranlagen etc. Generell sollte man darauf achten, Personen nicht zu gefährden oder zu belästigen. Die Drohne ist ziemlich laut und für Betroffene verständlicherweise unheimlich. In einer Flughöhe von 50-80m kann man die Drohne noch gut sehen, hört sie aber fast nicht mehr und die Bildqualität ist immer noch sehr gut. Selbstverständlich hält sich der Drohnenflieger an die Etikette bzgl. Veröffentlichung von Bildmaterial. Sicherlich sinnvoll ist es, beim Drohnen-Mappen sich mit Flyern und Einverständniserklärungen auszustatten. Ausgedruckte Bilder aus verschiedenen Distanzen helfen auch zu verdeutlichen, dass man nicht mit einem Tele-Objektiv ins Wohnzimmer schaut.
Diese Situation macht es natürlich wiederum schwierig, das ursprüngliche Ziel des Hausnummern-Mappings zu erleichtern. Jedoch bietet das Drohnen-Mapping eine Vielzahl interessanter Aspekte, und auch außerhalb dicht besiedelter Gegenden kann man - wie es sich gehört - sowohl outdoor- als auch armchair-mapping kombinieren!
Weitere Links:
Vielen Dank an dieser Stelle an user ThG_, der mich mit weiteren rechtlichen Details versorgt hat, die ich aber hier nicht alle aufführen will. Bei Bedarf nachfragen.
Mapping
Es gibt ausgefeilte Methoden, Luftbilder zu georeferenzieren, stitchen, WMS-Kacheln oder einen WMS-Server zu erstellen. Ich habe mich auf Einzelbilder beschränkt. Dafür gibt es für JOSM ein nettes Plugin 'PicLayer', mit dem man ein Bild als weiteren Layer unter die OSM Daten legen kann (mehr dazu gleich später).
Für einen ersten Test habe ich einen Flug über mein Haus gemacht. Das folgende Bild wurde aus ca 50m Höhe erstellt. Was sofort auffällt ist die starke Verzerrung der Weitwinkel-Linse. Ohne das zu kompensieren kommt man erstmal nicht weiter. Ausserdem braucht man ausreichend Bildmaterial, damit man eine senkrechte Draufsicht bekommt. Einzelbilder werden alle 3 Sekunden erstellt, was bei einer bewegten Drohne etwas Glück erfordert.
Entzerren
Zur Entzerrung gibt es verschiedene Ansätze. Ich habe zuerst die Standard-Entzerrung von GIMP ausprobiert, das reicht aber nicht aus. Eine andere Möglichkeit bietet hugin, damit bekommt man zwar theoretisch sowas hin, ist allerdings sehr komplex zu verstehen und bedienen. Für GIMP gibt es aber noch ein Plugin namens GimpLensFun, das liefert eine ganze Datenbank von Objektiven mit. Leider ist die Kamera der Phantom nicht mit dabei. Mit etwas Fleiß wäre es vielleicht möglich, einen eigenen Eintrag in der (XML-)Datenbank zu generieren. Letzten Endes habe ich für dieses Experiment auf die kommerzielle Software Adobe Lightroom 5 zurückgegriffen.
Lightroom
Danke an user Ahoi, der im Besitz dieser Software ist und mir dabei geholfen hat. Dort ist die Phantom-Kamera bereits mit Parametern hinterlegt und die Entzerrung ist mit einem Klick erledigt. Die Rotation wurde dabei von der Software automatisch anhand sichtbarer Strukturen (Bahngleise) erledigt. Das ist aber eigentlich unnötig. Schöner wäre es, wenn das Bild anhand von EXIF oder andere (GPS-)Daten automatisch nach Norden orientiert wird.
Peda's undistort
User Peda hat ein kleines C-Programm geschrieben, welches die Entzerrung fuer die DJI Kamera erledigt. Die Parameter der Entzerrung hat er aber auch mit eigenen Tools berechnet. Das Ergebnis ist im dritten (nicht rotierten) Bild zu sehen. Peda stellt den Quellcode als OpenSource zur Verfügung, bei Interesse bei ihm oder mir melden.
hugin
Das vierte entzerrte Bild stammt von User Zarl - danke dir! Es wurde mit dem Programm hugin bearbeitet, für das er eine Parameterdatei zur Vefügung gestellt hat. Mit Hugin kann man die Parameter anhand von Beispielbildern manuell extrahieren, das ist ein wenig try&error. Man erhaelt aber eine Parameterdatei, die sich nach lensfun konvertieren läßt.
gimplensfun
Mit den hugin-Parametern von hugin kommt man schon ziemlich weit, Ganz zufrieden bin ich noch nicht. Details folgen...
Pix4Dmapper Discovery
Über https://pix4d.com kann man ein Windows-Programm herunterladen, welches beim ersten Start eine Registrierung auf dem Server des Herstellers Pix4D verlangt. Wenn man diese Hürde nimmt, können in dem Programm eine bestimmte Menge an Luftbildern geladen werden. Selbst wenn diese Einzelbild auch noch eine Linsen-Verzerrung haben, so berechnet Pix4Dmapper daraus automatisch ein einziges großes Luftbild. Erste Ergebnisse waren überraschend gut.
JOSM
Um das Bild jetzt für JOSM zu verwenden, braucht man bereits eingangs erwähntes Plugin PicLayer, das man über die übliche Plugin-Konfiguration erhält. Anschließend gibt es im Menü 'Hintergrund' einen neuen Eintrag 'Bild aus Datei...', dort wählt man das Bild aus und kann es mittels der linken Toolbar skalieren, drehen usw. bis es halbwegs passt. Im Menü der Layer rechts oben gibt es auch einen Slider zum Einstellen der Transparenz, damit kann man sich beispielsweise an bing-Bildern orientieren.
Soweit funktioniert das alles ganz gut. Es stellt sich jedoch heraus, dass es eine Menge Fehlerquellen gibt, und man sich nicht gleich auf die verlockenden Details solch eines Bildes stürzen sollte und alles um-mappen:
- Es existieren bereits viele Linien in OSM, die mittels GPS aufgezeichnet wurden und deren Qualität unbekannt ist
- Die bing-Bilder müssen auch nicht 100%-georeferenziert sein und haben teilweise keine 90-Grad Draufsicht
- Die Entzerrung des Drohnen-Bildes macht zwar alles 'gerade', hat aber unter Umständen das Längen-Breiten Verhältnis geändert
Ich habe zuerst versucht, das Drohnen-Bild so zu skalieren und rotieren, dass es etwa Deckungsgleich mit den bing-Bildern ist. Zur Orientierung diente v.a. das Dach des roten Hauses sowie das Dach des Schuppen in der rechten Bildhälfte. Die OSM-Daten des roten Hauses sind eher miserabel (ich habe sie vor Jahren selber eingezeichnet ;). Der große runde Kreis oberhalb des Hauses deckt sich bei bing, beim Drohnen-Bild aber nicht.
Wer will, kann sich das entzerrte Luftbild runterladen und selber experimentieren, die Koordinaten der Aufnahme herauszufinden bleibt euch überlassen ;)
Fazit
Ich habe die Drohne erst ein paar Tage, aber es macht tierisch Spaß damit zu fliegen! Die technische Ausstattung und Bedienung lässt bei mir als Einsteiger keine Wünsche offen. Es lassen sich wirklich unglaubliche Aufnahmen machen, auch ohne Bezug zu OSM. Schaut auch mal auf Youtube um, da gibt es Flüge bis über die Wolkendecke (ca 1km Höhe), in unerreichbare Bergwelten und über dem Meer.
Einziger Wermutstropfen ist für mich: es sind diverse Registrierungen notwendig (bei JDI, GooglePlayStore) um das komplett-rundum-sorglos-Paket nutzen zu können. Man braucht ein Smartphone (das ich bisher nicht besaß). Und wie beschrieben, ist das Entzerren mit Open-Source-Mitteln so ohne weiteres nicht einfach.
Aber: Das System bietet noch viel Spielraum zum Hacken. Der mitgelieferte WLAN Hotspot, die Drohne und die Kamera haben alle ein Linux System an Bord, auf das man sich problemlos einloggen kann. Einschlägige Websites erklären, wie man die Sendeleistung des WLANs erhöht, Bilddaten der Kamera oder der Positionsbestimmung abgreifen kann usw. Die mitgelieferte (Windows-)Software DJI Phantom Assistant läßt einen ausserdem über einen Profi-Mode verschiedenste Parameter ändern, z.B. die relative Flugrichtung bei Joystickänderung (relativ oder absolut, radial zur Startposition), Belegung der Schalter, Kalibrierung und vieles mehr.
Outtakes #1 (Dinge, die man nicht tun sollte)
Gestern Abend, bei einer winterlichen Vollmondnacht, hatte ich die sehr gute Idee, eine Taschenlampe an eines der Landegestelle zu befestigen. Das Flugverhalten der Drohne war erwartungsgemäß etwas unruhig. Ich dachte aber, ich könnte das durch die Steuerung ausgleichen. Jedoch nach bereits wenigen Flugmetern ist mir die Kontrolle fast komplett verloren gegangen und ich wollte sie nur noch nach oben bringen, um den Bäumen auszuweichen. Leider war dann 'oben' durch die Schräglage nicht mehr oben, sondern hat zu einem erstklassigen Parabelflug geführt, direkt in die Spitze eines ca. 25 Meter hohen Baums. Der Aufprall war so heftig, dass der Akku rausgeflogen ist, die Drohne aber hat sich in den Ästen verhakt. Raufklettern ging nicht, Schütteln half nichts. Was tut man? Man greift zur Kettensäge ;) Die Fallrichtung wurde so ausgewählt, dass die Drohne möglichst 'sanft' auf den darunterliegenden zuerst aufschlagenden Zweigen abgefedert wird! Nach Bergung der Drohne und Schadensbegutachtung stellt sich heraus: Der Rotor-Protektor ist total zerborsten (gut, dass der dran war), genauso wie ein Rotor. Glücklicherweise, wie durch ein Wunder, hat die Kamera und der Gimbal keinen Schaden genommen. Ein erster Probelauf (ohne Abheben) hat auch gezeigt, dass die Motoren alle gleichmäßig laufen. Also nochmal Glück im Unglück.
Was habe ich falsch gemacht? Die Drohne kann ohne weiteres mehrere 100g an Gewicht tragen. Dazu muss allerdings der Schwerpunkt neu kalibriert werden, v.a. wenn er nicht zentrisch in der Mitte liegt. Again what learned...
(Klick auf Bilder zum Vergrößern)
Outtakes #2 (wofür facebook dann doch gut sein kann)
Irgendwann im März 2015 wollte ich dann ein paar interessante Wolkenformationen von oben filmen. Dazu habe ich die Höhenlimitierung der Drohne geändert, von 120m auf 1.2km. Allerdings hatte ich übersehen, dass in einer Höhe von 200m ganz andere Winde wehen und die Drohne wurde einfach davongetragen und war nie wieder gefunden. Anfang Juni 2015 hat sich bei einem Grillabend mein Nachbar gemeldet: jemand aus der Landshuter facebook Gruppe hätte eine Drohne gefunden und weiss nicht, was er damit anfangen soll. Nach kurzer Absprache hat der freundliche Finder das Teil auch noch vorbeigebracht und sich an einem Bier und Finderlohn laben können. Die Drohne war völlig unversehrt, hat bis zum Schluß durchgehalten, ist gelandet und hat alles gefilmt. Leider hat der Finder die Chipkarte in seinem Laptop vergessen, so dass ich die erstmal besorgen muss, vielleicht stelle ich das Video noch in Youtube rein.