App-Idee - Straßenschilder automatisch Knipsen

Auch wenn es hier wenig zu suchen hat, aber kann jemand Apps für Android schreiben? Ich hätte das eine TOP-Idee für OSM.

Das Handy guggt vorne aus dem Auto. Die App läuft im Hintergrund und Filmt. Immer, wenn sie ein Straßenschild entdeckt hat, wird ein Foto mit GPS-Koordinaten gemacht. Profilaktisch auch immer, wenn man (fast) anhält (Ampel, Kreuzung).

Zu Hause jagt man alle Fotos nach JOSM und weiß genau, wo welches Schild ist. Bzw “Fast” da die Koordinaten ja die Kameraposition angeben und man die Entfernung zum Schild schätzen muss.

ist wohl sehr schwierig umzusetzen, dass es automatisch ein Foto erzeugt. Um das Foto zu erzeugen wird man wohl selber im richtigen Zeitpunkt den Auslöser drücken müssen. Vielleicht könnte man aber ja eine App schreiben, die per Sprachsteuerung dann das Foto schiesst.

aber vielleicht findest Du ja hier etwas: http://wiki.openstreetmap.org/wiki/Video_mapping (und im Forum und auf talk-de hat’s vor einiger Zeit schon den einen oder anderen Thread zu videomapping gegeben.

Es wäre schon möglich z.B. alle 2 Sekunden automatisch ein Foto zu machen, fraglich ist nur, ob es auf einem Smartphone möglich ist, dieses Bild bis zur Aufnahme des nächsten Fotos auszuwerten.
So schnell fahren kannst du dann auch nicht.
Gibt es denn schon effiziente und zuverlässige Algorithmen für die Schildererkennung, welche man verwenden könnte?

Gruß,
Mondschein

genau da sehe ich das Problem…

Nachdem ich deinen Satz

nochmals gelesen habe, habe ich verstanden, was du meintest. :slight_smile:
Du hast damit nicht nur die automatische Aufnahme eines Fotos gemeint, sondern die Aufnahme eines Fotos und dessen Auswertung.

Gruß,
Mondschein

Es ist (in meinen Augen sehr schwer), aber z.Z. arbeitet jemand vom GSOC an automatischer Erkennung von Attributen im Video.

Das Problem sehe ich auch am ehesten bei der automatischen Auswertung. Es gibt zwar durchaus Software, die Verkehrzeichen erkennen kann (wird von der Automobilindustrie als Fahrerassistenzsystem entwickelt, das z.B. automatisch bremst, wenn eine Geschwindigkeitsbegrenzung vom Fahrer übersehen wird), aber für Smartphones kenne ich nichts entsprechendes, das man schon fertig installieren könnte - und so eine Mustererkennung selbst zu schreiben ist sicher ziemlich aufwändig. Einfacher wäre es sicher, in kurzen Abständen ein Bild zu machen und mit GPS-Koordinaten zu versehen. Sowas wollte ich mal bei Gelegenheit als Plugin für Navit basteln, bin aber noch nicht dazu gekommen…

Naja aus eigener Erfahrung mit dem Videomapping verstehe ich schon, dass die Sichtung ziemlich aufwändig ist, gerade bei langen Autofahrten, wo eh nichts passiert. Wenn es da ein Tool gäbe, das die Stellen findet, an denen Schilder zu sehen sind, wäre das schon eine große Hilfe. Das Automatische Erkennen und taggen, was da zu sehen ist, empfinde ich (mit meinem Wissen und Knowhow) aber als viel zu schwierig an.

Naja, jede popelige Digital-Kamera beherrscht heute die automtische Gesichtererkennung. Ist also Stand der Technik. :wink:

Aber das Klassifizieren eines Schildes, Auswertung der Schrift und anwenden mittels universeller Tagging-Presets auf eine bestimmte Tagging-Situation ist nicht ohne…

Der entscheidende Unterschied ist, dass es bei der Gesichtserkennung darum geht, ob auf dem Photo hauptsaechlich (also quasi ausschliesslich) ein Gesicht abgebildet ist, und nicht ob irgendwo mitten in der Landschaft ein Gesicht mit drauf ist.

Entsprechend waere es rein technisch auch kein Problem, eine automatische Schilderkennung zu realisieren. Aber das bezieht sich dann halt eben auch nur auf Schilder in Grossaufnahme.

Fuer einzelne Schilderarten koennte man vielleicht glatt mit einfachen Mitteln was einigermassen brauchbares Erreichen. Bei Ortsschildern oder den blauen Fuss/Radweg-Lollies koennte ich mir vorstellen , dass man eine ganz gute Vorauswahl erhaellt, wenn man einfach nach entsprechenden Farbtoenen im Bild filtert. Aber bei den meisten Verkehrsschildern wird man mit dem Ansatz nicht sehr weit kommen.
Autobahnwegweiser duerften sich so auch noch automatisch erkennen lassen, dass koennte man dann sogar praxistauglich einsetzen. Nur interessieren uns diese Wegweiser fuer OSM leider eher weniger, da die Richtunsginformationen sich bei uns ja aus dem Strassennetz ergeben.

Gruss
Torsten

Möglich ist sowas, aber auf einem Smartphone wird das, glaube ich nicht ohne weiteres klappen(bzw. nicht ohne Einschränkungen).
Das Ganze in Software zu realisieren setzt schon einiges an ordentlicher (Programmier-,Denk-) Arbeit voraus, denn Echtzeit-Analyse von bewegten Bildern ist ziemlich rechenintensiv. Ich denke, dass Farberkennung(großflächig, wie oben angedeutet beispielsweise bei Fußgängerschildern) gerade noch möglich wäre bei der Geschwindigkeit von einem Auto.
Versichern kann ich das aber nicht.
Interessant zu dem Thema ist zum Beispiel der Link(ist unter anderem eine Diplomarbeit):http://thomaspfeifer.net/fpga_dsp_bildverarbeitung.htm.
Da sieht man allerdings das dort programmierbare Hardware(FPGAs) benutzt wird, um solche rechenintensive Anwendungen überhaupt sinnvoll zu ermöglichen.

Gruß Philipp

Entweder Teleatlas oder Navtec arbeiten mit automatischer Schildererkenneung:

Die Fahrzeuge fahren in regelmässigen abständen (1 Mal im Jahr?) eine festgelegte Route. Dabei werden alle Schilder automatisch erkannt. Die Arten und Standorte der Schilder werden mit dem Ergebnis der letzen Fahrt verglichen. Hat sich die Beschildeung geändert, wird die Gegend anhand der Videoaufnahmen genauer mit den Karten abgeglichen und wenn nötig korrigiert.

Hallo,

von Blaupunkt gab es Navis, die eine automatische Schildererkennung haben.
Werde mal bei Gelegenheit meinen Bruder fragen, wie aufwändig der Code ist, der dahinter steckt.
http://www.blaupunkt.de/fileadmin/user_upload/download/Car_Navigation_08_09.pdf

Gruß

Ach so schwer ist es gar nicht. Das größte Problem dürfte die niedrige Auflösung von Videos gerade in Bezug auf ähnliche Schilder wie z.B. kombinierter vs. getrennter Fuß-/Radweg sein. Da muß der Mensch wenigstens am Ende das Ergebnis noch mal auf Plausibilität checken, oder man beschränkt sich gleich auf die gut lesbaren und eindeutigen Fälle.

Um die Datenmenge eines Videos zu reduzieren und die potentiell interessanten Stellen eines Videos herauszufinden hatte ich für die für die Einzelbildspeicherung schon die Idee, einfach alle 0,5/1/x Sekunden jeweils die (Jpeg-)Bilder der Größe nach zu sortieren und dann das Größte zu behalten, da ja: mehr Komplexität/Details tendenziell mehr Speicherplatz erfordern. Damit könnte man schon mal das manuelle Videomapping erleichtern, leider habe ich bisher noch nicht geschafft, dafür mal ein kleines Script zu machen.

Gerade die Schilder für z.B. maxspeed=* sollten sich sehr gut automatisch erfassen lassen, da die dank dicker Ränder uhttp://docs.opencv.org/doc/user_guide/ug_traincascade.htmlnd Zahlen sich noch gut in lausig aufgelösten Videoaufnahmen finden lassen sollten und die Anzahl der Varianten ja eh recht begrenzt ist, so das man einfach alle vorkommenden Fälle trainieren kann, auch wenn sich die Zahlen selbst nicht mehr lesen lassen.

Prinzipiell sollte sich mit den libav* von ffmpeg und OpenCV (http://docs.opencv.org/) eigentlich eine Schildererkennung basteln lassen. Hier gibt es Beispielcode für eine Gesichtserkennung mittels Objektklassifizierung und hier gibts eine Anleitung wie man die Erkennung auf neue Objekte trainieren kann.

Grundsätzlich ist die Schilderkennung eher “einfach”. im vergeleich zu Gesichtserkennung oder sogar allgemeiner Objekterkennung. Schilder sind (eigentlich) immer flach (keine Probleme mit 3D wie bei Gesichtern), haben eine bekannte Geometrie (Kreis, Rechteck, Dreieck, …) und können so einfach entzerrt werden. Und es gibt nur “wenige” mögliche Bildinhalte, die auch noch so entworfen wurden, dass sie einfach auseinander gehalten werden können. Das grösste Problem dürfte tatsächlich das finden von Schildern in einem Bild sein. Gibt es für die einzelnen Tasks nicht schon fertige Open Source Bibliotheken? Man muss das Rad ja nicht immer neu erfinden.

Ich werfe mal in den Raum:
Es existieren Schilder mit “70”, z.T. “70 km” und sehr selten “70 km/h”.

Selten auch etwas schlankere als die Standardschriftart.

“70 km” ist allerdings ungültig.

Ich denke es wäre ein einfaches diese Varianten ebenfalls in die Vergleichsdaten aufzunehmen. Dann gibt es hat 2 oder 3 Schilder, die zum tagging “maxspeed=70” führen. Da braucht man nicht mal OCR sondern nur puren Bildervergleich. Und da die User ja die Schilder ablichten, sollte ed nicht so schwer sein falsch oder nicht erkannte Schilder zu sammeln und so die Datenbasisi zu erweitern.

Klar, gibts da auch schon fertige Open-Source-Sachen, siehe meinen letzten Beitrag, es braucht nur noch Leute mit genügend Zeit/Lust/Erfahrung, die da was basteln wollen.