Erkennung der Straßenmittelachse aus dem Luftbild

2007 betreeute ich eine Diplomarbeit die als Ziel die Erkennung der Straßenflächen aus Luftbilder hatte. Die Ergebnisse waren vielversprechend.

Es gab auch in Deutschland einige Arbeiten zu dem Thema, z.B. http://dgk.badw.de/fileadmin/docs/c-580.pdf , http://137.193.200.7:8081/doc/86111/86111.pdf

Es wäre genial, sowas als Plug In für JOSM zu haben.

Könnte vielleicht FOSSGiS eine solche Implementierung finanzieren?

Nach meinem Bauchgefühl könnte man die Digitalisierung nicht erfasster Gebiete etwa 10x so schnell machen wie bisher.

Nun ja, das ist ähnlich wie bei der Buchstaben-Erkennung (OCR). Dort klingen 99% auch erst einmal sehr viel, sind es aber nicht.
Die Probleme fangen doch in schon in Gebieten wie Deutschland an. Da sind manche Straßen wegen der hier üblichen Straßenbäume je nach Luftbild überhaupt nicht erkennbar. Betrachte dir mal die Mainzer Straße in Bonn-Mehlem im Bing-Luftbild. Da hat man keine Chance auf eine automatische Erkennung.

An Gebiete wie Regenwald, die sibirische Taiga, Wüsten ohne feste Wege oder an Hochgebirge mag ich gar nicht denken.

Das Problem sind die schwierigen Fälle. Und dabei vor allem die Dinge, die nicht eindeutig erkennbar sind. Ist das nun eine Straße oder doch nicht. Wenn zuviel als Straße interpretiert wird, ist das schlecht. Wird mit Vorsicht agiert, kommen dabei zwar weniger Fehler heraus, aber es erscheinen viele Straßen als isolierte Stücke.

Bei den 2m-SW-Bildern des australischen Outback dürfte es z.B. schwierig sein, Straßen, Bahnlinien und Flussbette sauber auseinander zu halten.

Eine Kontrolle durch den Menschen ist also unabdingbar. Dabei kann man jedoch die einfachen Fälle sehr leicht auch direkt erfassen. Schwierige Fälle (z.B. zum Teil verdeckt) kann ein Mensch oft besser entscheiden, da Ortskenntnisse und anderes Hintergrundwissen in die Beurteilung einfließen.

Edit: Typo

Edbert (EvanE)

Ich stimme Edbert zu. Insbesondere kann das Korrigieren falsch erkannter Straßen oder Straßenteilstücke aufwändiger sein als das Neuerfassen dieser.

Alles bekannt und selbst (diplomand) getestet auf einigen Gebieten. Klar, der Mensch entscheidet am Ende und korrigiert.
Denken wir an den Zauberstab oder magnetisches Lasso in Photoshop etwa.

Gute Lösung hier ist die Halbautomatik: Der User zeichnet ein Initialvektor und klickt auf “enter” den Rest macht die Software.
Die Algorithmen sowie Ergebnisse der Arbeit kann ich zur Verfügung stellen, jemand müßte es ja implementieren.

Sinnvoll wäre das Arbeiten in einer eigenen Ebene. Man kann dann die Ergebnisse ganz oder teilweise per Hand übernehmen.

Edbert (EvanE)

Guter Vorschlag.
Also um das vielleicht interessanter zu machen: Wir haben diverse Testluftbilder verwendet. Bei ausreichender Auflösung erkannten wir mühelos alle Zebra Streifen und selbst die Straßenbemalung, konnten also aus der Luft feststellen von welcher Spur man in welche Richtung fahren darf. Auch die Erkennung der Außenkante Straße ging einigermaßen auch wenn nich so zuverlässig wie die Extraktion der Straße als solche aus Bilder geringerer Auflösung.

Trotzdem ist es schade dass die Arbeit / Erkenntnisse in der Schublade liegen.

Gab es etwas ähnliches nicht schon mal von …? Microsoft…?

Da waren die hauptpunkte zufinieren und der Rest … wäre in manchen Regionen eine Erleichterung.

Jan

Jup hier die Beschreibung.

Nun kommen sie irgendwie nicht vorwärts. Wir haben auch 1 Jahr damit verbracht, vielleicht soll ich SteveC kontaktieren…

Das Beispiel-Bild im obigen Artikel zeigt deutlich wie schwierig es bereits bei Bildern mit guter Auflösung und gutem Kontrast ist, einen Weg korrekt zu erkennen. Ein Punkt liegt mitten auf einer Wiese, statt auf der Kreuzung. Das Ergebnis ist so nicht brauchbar und erinnert an den Tiger-Import in den USA.

Edbert (EvanE)

Wir hatten bessere Ergebnisse. Hab schon Kontakt aufgenommen…

Gedanken eines Normalusers:
Wenn ich das automatisierte Zeichnen einer Straße ohnehin noch einmal kontrollieren muss, brauche ich es nicht. Da orientiere ich mich am Mittelstreifen der Straße (so er vorhanden ist), und zeichne die Linie selbst. Selbermachen ist gscheiter als Nachbessern.

Hallo,

das ist auch eine Erfahrung, die ich aus anderer Seite ( Biotopkartierungsdaten) her kenne: Man hat Bestandsdaten(Vektordaten), z.T. >10Jahre alt und aktuelle Luftbilddaten (z.B. CIR- Luftbilder). Auch da ist es einfacher, das Gebiet neu zu digitalisieren, als einen vorhandenen (oder in diesem Fall frisch entstandenen) Vektordatensatz zu verbessern. Die Nacharbeiten (Clip, Merge und Neuattributierung) kosten eine Menge Zeit…
Sven

Es sei denn Du zeichnest ein Grundgerüst dort, wo es nichts gibt, da ist eine Überprüfung einfacher. Ich habe heute in Südbirma (Myanmar) nach neuesten Bing Bilder gearbeitet und mich geärgert, dass ich keine automatisierte Unterstützung habe. Alles hängt von der Qualität und Bedienfreundlichkeit der Software ab. Nehmen wir an, sie würde noch Rechtecke in der Karte erkennen. Mit einem Schlag hätte man bis zur Hälfte der Gebäude…

Sehe ich auch so. Wenn ein Mittelstreifen zu sehen ist geht es auch manuell sehr schnell, meines Erachtens schneller als ausbessern. Und dann setze ich die Punkte möglichst gleich dort wo eine Straße abzweigt oder eine Brücke ist. Macht das das Programm auch?

PS: Meines Erachtens ist automatisches Abzeichnen von Luftbildern ohne Ortskenntnis noch mal schlechter als manuelles Abzeichnen von Luftbildern ohne Ortskenntnis. Und ohne ausreichend Personen vor Ort, die so etwas ausbessern und fehlende Informationen ergänzen können und wollen, ist es zumeist sinnlos.

Solange man eine Straße nur mit einer Linie wie jetzt einzeichnet, mögt ihr Recht haben. Allerdings wenn es los geht Straßen als Flächen und Fahrspuren SOwie Fuß und Radwege anzulegen, dann kann ich mir schon vorstellen damit richtig Zeit zu sparen. Auch denke ich das es schneller geht einen einzelnen Punkt zu verschieben als eine ganze Reihe neuer zu setzen. Ich denke mal das Verhältnis liegt bei 1 zu 10.

Sinnvoll eingesetzt ist so ein Tool sicher eine super Sache. Aber ich gehe davon aus, dass selbst einfache Stellen wie Asphaltstraße auf Wüstensand überprüft werden müssen um bspw. überflüssige Punkte zu entfernen oder eine Kreuzung korrigieren oder sonstige Probleme.

Zum einen gießt es neues Öl in den Konflikt zwischen den Luftbildmappern und denen, die alles vor Ort mappen, zum anderen bringt es die Nutzer und vor allem die Falschbenutzer in Konflikte mit der mechanical edit policy.

@viw:Es wird nicht wirklich schneller, weil wenn du gleiche Qualität erreichen möchtest, wirst du auch mit solch einem Tool, dir jeden Node anschauen müssen, ob er passt. Selbst wenn alles passt, wovon nicht auszugehen ist, bist du nicht viel schneller, als wenn du beim detaillierten Anschauen gleich die Punkte setzt.

Ja das Beispiel ist wahrscheinlich bewusst als schwieriges gewählt worden.

Ich tippe auf eine Winkel-Beschränkung, die das Erfassen von Abbiegestellen nahezu unmöglich macht. Hätte man einen Zwischenpunkt auf die Kreuzung setzen können, sähe es vermutlich besser aus.

Edbert (EvanE)

Sehr spannendes Thema…
Ich hab mich auch vor einem knappen Jahr auch mit automatischer Luftbildererkennung auseinander gesetzt. Meine Motivation war dabei eher die automatische Erkennung von großen Seen. Die Idee kam als ich mehrere Seen in Westaustralien erfasst habe (List übrigens hier: http://wiki.openstreetmap.org/wiki/Lakes_of_Western_Australia)) und feststellen musste wie viele riesengroße Seen (zu europäischen Verhältnissen) dort fehlen. Es nimmt sehr viel Zeit in Anspruch den Verlauf detailgetreu nachzuzeichnen und könnte durch gute halbautomatisierte Plugins einfach gelöst werden. Scanaerial fand ich damals sehr interessant, wobei hinter diesem Python-Script auch nur ein sehr einfacher Algorithmus steckt.

Halbautomatische Straßenerkennung macht gerade in Australien Sinn, da es dort unzählige Dirt-Roads im Outback gibt, die sich kilometerweit hinziehen und in weiteren Dirt-Roads verzweigen. Da könnte man sich tagelang mit Tracen beschäftigen :wink:

Wen das Thema interessiert, der kann sich ja mal ein paar pdfs zum Thema angucken, die ich vor einiger Zeit mal zum Thema Luftbilderkennung und geladen hatte, siehe in meinem Dropbox-Ordner. Ansonsten hatte ich auch ein paar Algorithmen gesammelt, die für Objekterkennung in Frage kommen, siehe Scanaerial-Wiki-Post (war aber kuirzfristig zusammengestellt, weiß nicht ob das alles korrekt oder noch aktuell ist ;))

Ich fände es toll, wenn es allgemein ein gutes JOSM-Plugin zur automatischen Bilderkennung geben würde bei dem man unterschiedliche Objekte die erkannt werden sollen wählen kann. Aber erst einmal muss das ganze naürlich für “einfache” Sachen wie Flächenerkennung (Wälder, Seen?) sauber funktionieren und kann dann immer weiter gestrickt werden.

Wenn ich selbst nicht so viel um die Ohren hätte, würde ich mich sonst auch gerne mit so einem Projekt beschäftigen. Würde mich auch als Bachelorthema reizen, aber das sollte noch mindestens ein Jahr dauern… :stuck_out_tongue: