Bildverarbeitung - Bewegung erkennen - HILFE!



  • Was das Bild angeht (welches übrigens keinen Photoshop-Filter benutzt), so gibt es keine eindeutige Lösung. Das Auto könnte sowohl vorwärts als auch rückwärts fahren. Das ist das, was Sgt. Nukem nicht einsehen will. Das Auto könnte vorwärts oder rückwärts fahren - es würden immer dieselben "Pixel" belichtet, und immer genau gleich lang, was auch zum gleichen Ergebnis führt.



  • Sgt. Nukem schrieb:

    TomasRiker schrieb:

    @Sgt. Nukem:
    In welche Richtung fährt das Auto?
    http://www.scherfgen-software.net/misc/auto.jpg

    Daß es nicht gehen kann, wenn Du einfach einen Photoshop-Filter drüberwirfst, dürfte klar sein... 🙄

    TGGC schrieb:

    Sgt. Nukem schrieb:

    TGGC schrieb:

    Sgt. Nukem schrieb:

    TGGC schrieb:

    Fazit: du hast keinen Plan hiervon, die Richtungsbestimmung auf ein Bild mit langer Belichtungszeit ist unmöglich.

    P.S.: Du codest vielleicht ruck-zuck ein gar witziges Spielchen in C#, aber ob dies hier nun möglich ist oder nicht solltest Du lieber Profis überlassen, z.B. den Forschern von Daimler-Chrysler, die sich-selbst-steuernde Fahrzeuge entwickeln, etc. pp 🤡

    Achso, und du gehörst wohl zu den Profis, die das beurteilen können?

    Wohl kaum, sonst hätte ich elClio sicher ph477e Tipps geben können... 🙄

    ...aber ich stell' es nicht (direkt und ohne Argumente 😉 ) in Frage! 💡

    Da du ja zu gibst keine Ahnung zu haben, ist dieses wieder ein Hinweis dafür, das du es gar nicht weisst und ich Recht habe. Von "keine Argumente" kann bei _mir_ auch keine Rede sein, ich habe u.a. einen mathematischen Beweis geliefert. Aber _du_ bist einfach dafür, ohne Argumente zu haben.

    Ja, Argumente, die nicht sämtliche Parameter betrachten... 🙄

    Falsch, es ist nämlich eine durchaus wissenschaftliche Betrachtungsweise alles Unwichtige zu abstrahieren und sich nur auf die wichtigen Dinge zu konzentrieren. Du siehst ja, das es so viel leichter möglich ist, zu zeigen, das die Richtungsbestimmung auf einem Bild mit langer Belichtungszeit ist unmöglich.

    Bye, TGGC



  • TomasRiker schrieb:

    @Sgt. Nukem:
    In welche Richtung fährt das Auto?
    http://www.scherfgen-software.net/misc/auto.jpg

    DAs fährt überhaupt net, das explodiert höchstens gleich. 😃



  • Auf die Schnelle hab ich bei der Google-Bildersuche mal nach "Auto" gesucht, und das kam dabei raus 😃



  • TomasRiker schrieb:

    und immer genau gleich lang

    Falsch.

    TGGC schrieb:

    Sgt. Nukem schrieb:

    TomasRiker schrieb:

    @Sgt. Nukem:
    In welche Richtung fährt das Auto?
    http://www.scherfgen-software.net/misc/auto.jpg

    Daß es nicht gehen kann, wenn Du einfach einen Photoshop-Filter drüberwirfst, dürfte klar sein... 🙄

    TGGC schrieb:

    Sgt. Nukem schrieb:

    TGGC schrieb:

    Sgt. Nukem schrieb:

    TGGC schrieb:

    Fazit: du hast keinen Plan hiervon, die Richtungsbestimmung auf ein Bild mit langer Belichtungszeit ist unmöglich.

    P.S.: Du codest vielleicht ruck-zuck ein gar witziges Spielchen in C#, aber ob dies hier nun möglich ist oder nicht solltest Du lieber Profis überlassen, z.B. den Forschern von Daimler-Chrysler, die sich-selbst-steuernde Fahrzeuge entwickeln, etc. pp 🤡

    Achso, und du gehörst wohl zu den Profis, die das beurteilen können?

    Wohl kaum, sonst hätte ich elClio sicher ph477e Tipps geben können... 🙄

    ...aber ich stell' es nicht (direkt und ohne Argumente 😉 ) in Frage! 💡

    Da du ja zu gibst keine Ahnung zu haben, ist dieses wieder ein Hinweis dafür, das du es gar nicht weisst und ich Recht habe. Von "keine Argumente" kann bei _mir_ auch keine Rede sein, ich habe u.a. einen mathematischen Beweis geliefert. Aber _du_ bist einfach dafür, ohne Argumente zu haben.

    Ja, Argumente, die nicht sämtliche Parameter betrachten... 🙄

    Falsch, es ist nämlich eine durchaus wissenschaftliche Betrachtungsweise alles Unwichtige zu abstrahieren und sich nur auf die wichtigen Dinge zu konzentrieren. Du siehst ja, das es so viel leichter möglich ist, zu zeigen, das die Richtungsbestimmung auf einem Bild mit langer Belichtungszeit ist unmöglich.

    Sicher ist es leichter... aber es stimmt nunmal nicht.

    Nehmen wir ein 3 Pixel breites "Auto"...
    Dieses ist "grau", der komplette Hintergrund "schwarz"...
    Während es belichtet wird, bewegt es sich nach rechts...
    Die Kamera ist komplett ruhig...
    Je länger belichtet wird, desto stärker wandeln sich die Pixel zu weiß. Wird völlig überbelichtet, ist das endgültige Bild nur noch grell-weiß...
    Ein heller Gegenstand belichtet das Bild logischerweise stärker als ein dunkler...
    Zur Unterscheidung der Lichtstärke nehme ich jetzt dunkelgrau, grau, hellgrau, und jede dieser "Gräue" nochmal unterteilt hell- / ...(nichts)- / dunkel-, also z.B. dunkel-hellgrau...
    Im ersten Zeitabschnitt nimmt die Kamera (es wird an nur EINEM Bild gearbeitet) folgendes auf:
    schwarz (Hintergrund), dunkelgrau, dunkelgrau, dunkelgrau, schwarz, ...
    Im zweiten:
    dunkel-dunkelgrau, grau, grau, grau, dunkel-dunkelgrau, ...
    Ab jetzt hat sich das Auto einen virtuellen "Pixel" nach rechts bewegt, dritter "Abschnitt":
    dunkelgrau, hell-grau, hellgrau, hellgrau, dunkel-grau, dunkelgrau, ...

    Jetzt sieht man schon die Unterscheidung:
    dunkelgrau ist der Hintergrund.
    Das Auto ist 4 Pixel lang, also "verschwommen" (Originalgröße: 3 Pixel).
    Die "Mittel-Pixel" sind alle hellgrau, also am intensivsten.
    Der vordere Pixel ist dunkel-grau, also dunkler als grau oder hellgrau ("Mittel-Pixel") aber heller als dunkelgrau (Hintergrund).
    Der hintere Pixel ist hell-grau, also heller als grau und dunkelgrau (Hintergrund), aber dunkler als hellgrau (die "Mittel-Pixel").
    Trotzdem ist der vordere Pixel dunkler als der hintere Pixel (von den 4 "Auto"-Pixeln), da er in den pechschwarzen Hintergrund eintaucht und es entsprechend "schwerer" hat, den Film weiter zu belichten, während der hintere Pixel schon die Vorarbeit des vorigen "Auto"-Pixel übernehmen kann...

    Alles klar?! 😉



  • maaan, langsam kann mans echt nicht mehr mit ansehn -.-

    @sgt. nukem
    so, hier ist deine theorie grafisch dargestellt:
    http://www.theitclass.de/meian/trash/autos.jpg

    (hoffe die farbunterschiede sind einigermaßen deutlich. bin müde und will langsam ins bett, ist also nur auf die schnelle angefertigt ;))

    der rote balken stellt immer die aktuelle position des autos dar.

    und nun erklär uns das ganze bitte nochmal...

    alles klar!? 😉



  • @Sgt. Nukem:
    Siehst du, du hast nicht genug abstrahiert, um die richtigen Schlussfolgerungen aus deinen Überlegungen zu ziehen.

    Sgt. Nukem schrieb:

    Sicher ist es leichter... aber es stimmt nunmal nicht.

    Woher willst du das wissen? Hast doch selbst gesagt, du gehörst nicht zu den Profis, die das beurteilen können.



  • Sgt. Nukem schrieb:

    TomasRiker schrieb:

    und immer genau gleich lang

    Falsch.

    Doch! Wo soll denn der zeitliche Unterschied liegen?



  • TomasRiker schrieb:

    Sgt. Nukem schrieb:

    TomasRiker schrieb:

    und immer genau gleich lang

    Falsch.

    Doch! Wo soll denn der zeitliche Unterschied liegen?

    Sorry. Falsch ausgedrückt. Die BelichtungsZEIT ist natürlich gleich. Aber die Intensität nicht (sonst käm' ja ein nur einfarbiges Bild heraus).



  • meian schrieb:

    maaan, langsam kann mans echt nicht mehr mit ansehn -.-

    @sgt. nukem
    so, hier ist deine theorie grafisch dargestellt:
    http://www.theitclass.de/meian/trash/autos.jpg

    (hoffe die farbunterschiede sind einigermaßen deutlich. bin müde und will langsam ins bett, ist also nur auf die schnelle angefertigt ;))

    der rote balken stellt immer die aktuelle position des autos dar.

    und nun erklär uns das ganze bitte nochmal...

    alles klar!? 😉

    Oh Mann... okay, werd' ich nachher mal mspaint.exe anschmeissen... 🤡 👍

    Hab' jetzt aber keinen Bock. Bis nachher... 😋



  • Bezüglich der Geschwindigkeiten:
    Die Forderung nach 25 Bildern/Sekunde sollte man schon stellen dürfen - soviel Qualität muss die Kamera liefern können. Und eine gewisse Kontinuität in der Lieferung der Bilder sollte auch gewährleistet sein.
    Nehmen wir mal ein sehr schnelles Fahrzeug - 300 km/h ist ja wohl schnell genug. Das sind bei 25 (also, nicht 10-15) Bildern pro Sekunde 3.33 m pro Bild. Das Fahrzeug hat also von einem Bild zum anderen maximal die eigene Wagenlänge hinter sich gebracht - ferner fallen Autos nicht vom Himmel, erscheinen also mit einer gewissen 'Breite' am Rand. Danach sollte man davon ausgehen können, dass es überlappt, und genau darauf würde ich den Algorithmus aufbauen.
    Eine schnelle Auswertung muss ferner auf einen bestimmten Pixelbereich eingegrenzt werden.

    Was wäre übrigens mit einem Vogelschwarm, der wesentlich weiter vorne ist, die Vögel also die gleiche Größe hätten wie ein Auto - achja, Autos heben ja selten ab...?
    Bereiche, in denen ein Fahrzeug (durch Schattenwurf) seine Helligkeit drastisch wechseln kann, würde ich auch vermeiden...
    Kleiner Tip: testet alles erstmal nachts, und zählt Lampen...

    Übrigens, wenn man weiß, wie das Problem zu lösen ist, warum hängt's dann am Algorithmus?

    (Mehr Beratung kostet Geld ;))



  • Bitsy schrieb:

    Bezüglich der Geschwindigkeiten:
    Die Forderung nach 25 Bildern/Sekunde sollte man schon stellen dürfen - soviel Qualität muss die Kamera liefern können. Und eine gewisse Kontinuität in der Lieferung der Bilder sollte auch gewährleistet sein.
    Nehmen wir mal ein sehr schnelles Fahrzeug - 300 km/h ist ja wohl schnell genug. Das sind bei 25 (also, nicht 10-15) Bildern pro Sekunde 3.33 m pro Bild. Das Fahrzeug hat also von einem Bild zum anderen maximal die eigene Wagenlänge hinter sich gebracht - ferner fallen Autos nicht vom Himmel, erscheinen also mit einer gewissen 'Breite' am Rand. Danach sollte man davon ausgehen können, dass es überlappt, und genau darauf würde ich den Algorithmus aufbauen.
    Eine schnelle Auswertung muss ferner auf einen bestimmten Pixelbereich eingegrenzt werden.

    Was wäre übrigens mit einem Vogelschwarm, der wesentlich weiter vorne ist, die Vögel also die gleiche Größe hätten wie ein Auto - achja, Autos heben ja selten ab...?
    Bereiche, in denen ein Fahrzeug (durch Schattenwurf) seine Helligkeit drastisch wechseln kann, würde ich auch vermeiden...
    Kleiner Tip: testet alles erstmal nachts, und zählt Lampen...

    Übrigens, wenn man weiß, wie das Problem zu lösen ist, warum hängt's dann am Algorithmus?

    (Mehr Beratung kostet Geld ;))

    1. Wir haben keine 25 Bilder pro Sekunde sonder MAX (!!!) 5-10! Der Grund: Die Auswertung dauert so lange!
    2. Vogelschwarm dürfte nur als störung auftreten. Das Problem sollten wir vernachlässigen können.
    3. Nachts ist noch bescheidener. Wir gehen also erstmal vom Tag aus. Es muss ja hinterher auch damit klappen.
    4. Warum es am Algo. scheitert? Ganz einfach erklärt.
    Wir wissen: Wir gucken auf die Autobahn ud zählen die Autos pro Minute in beide Richtungen. Nach einer gwissen Testphase zum Erfahrungen sammeln können wir dann je nach Anzahl KFZ/Min. eine Aussage treffen ob Stau ist oder zähfliessender Verkehr oder freie Bahn oder einfach mal gar keine Autos unterwegs sind.
    Ganz leicht, oder? Zumindest, wenn man Mensch ist.
    Also brauchen wir: Einen Algorithmus - um den ganzen Spass dem Compi bei zu bringen, damit wir keine armen Leute dafür bezahlen müssen, die Zählen.
    Wir haben: Keine Ahnung - wie wir den Algo. bauen sollen.
    Folgerunge: Wir wissen wies geht, aber es scheitert am Algorithmus. Noch Fragen 😉



  • Aber ihr müsst doch gar nicht so viel auswerten!
    Ihr könnt zu Beginn eine etwas länger dauernde Kalibration machen - nach einer kleinen Weile (vorausgesetzt, es ist gerade kein Stau!) habt ihr den sich nicht bewegenden Hintergrund komplett. Wenn ihr jetzt die Bilder schnell reinkriegt, müsst ihr für neue Events nur an den Rändern suchen, und ein paar Verifikationen mit der Bewegung machen (also eine Art Listenverwaltung, ob das, was links reinkommt, auch rechts raus ist etc.)
    Logisch - eine LKW-Karawane auf der 'vorderen' Spur macht euch jede Auswertung der anderen Spur kaputt - insofern ist die Randauswertung der einen Seite nicht so einfach, wie die der anderen. Jenes Problem mit der LKW-Karawane dürfte euch sowieso das ganze Konzept zerstören...



  • nichts konstruktives, nur eine Bemerkung zu "In welche Richtung fährt dieses Auto" von TomasRiker. Sucht mal unter google Bildersuche unter auto und nehmt das erste Bild. Kommt es jemandem bekannt vor?



  • lustig schrieb:

    nichts konstruktives, nur eine Bemerkung zu "In welche Richtung fährt dieses Auto" von TomasRiker. Sucht mal unter google Bildersuche unter auto und nehmt das erste Bild. Kommt es jemandem bekannt vor?

    TomasRiker schrieb:

    Auf die Schnelle hab ich bei der Google-Bildersuche mal nach "Auto" gesucht, und das kam dabei raus 😃

    🙄 🙄 🙄



  • Ich klinke mich mal in die Diskussion ein, hab nicht alle Seiten gelesen, mir nur von el clio erzählen lassen, wir arbeiten zusammen an dem Projekt (insgesamt sind wir zu dritt).

    Ich habe mal zwei nachfolgende Bilder einer Kamera ins Internet gestellt, damit ihr mal eine konkrete Vorstellung bekommt. Dazu noch das Ergebnis der Bildsubtraktion und das daraus resultierende Binärbild mit manuell gesetztem Schwellwert, um den Hintergrund zu eliminieren (weiß nicht, ob das nötig ist).
    Die Bilder sind hier zu sehen: Autobahn-Bilder

    Das Resultat ist also äusserst bescheiden. Also traue ich mich mal die Frage nach einer Idee für einen besseren Algorithmus zu wiederholen, ich weiß da nämlich leider nicht recht weiter, wie ich da die Fahrzeuge halbwegs erkennen soll (es geht wie gesagt nicht um 100%ige Genauigkeit, wenn mal Autos durchschlüpfen, dann ist das nicht schlimm, nur so ungefähr).

    Die Bilder sind im Abstand von 300 ms aufgenommen, ein kürzerer Abstand ist auch möglich. Geschwindigkeit soll erstmal nicht das Thema sein, hauptsache mal eine funktionierende Lösung...

    Wenn ich vorher noch eine logarithmische (bringt die besten Ergebnisse, habe ich ausprobiert) Histogrammebnung zur Kontrastverbesserung durchführe, dann wird das Bild für den Menschen besser, aber in der Auswertung ändert das nichts.

    Ich habe auch mal ein Bild der leeren Autobahn genommen und dann eine Bildsubtraktion ausgeführt. Das Ergebnis ist fast genau gleich zu einer Bildsubtraktion von zwei Bildern mit Fahrzeugen wie hier im Beispiel - wenn ich da noch eine Vorverarbeitung (Histogrammebnung) auf beide Bilder anwende, dann kommt garnichts sinnvolles mehr raus, dann wird das gesagte Bild quasi bei der Subtraktion angezeigt, weil sich alles ändert.

    Wer kann uns zu den konkreten Bildern (nicht beste Qualität, aber soll auch hier funktionieren) was erzählen?

    Daaaaanke,
    Micha


  • Mod

    könntest du vielleicht so ca 60 bilder die bei 15-25 frames/s aufgenommen wurden zum download anbieten?

    btw. dürft ihr dem programm ein paar hilfestellungen geben oder soll es völlig autonom laufen müssen?

    rapso->greets();



  • Ja, die Bilder kann ich zum Download stellen, aber wohl frühestens Dienstag, da ich vorher nicht in dem Labor sein werde, habe momentan nur Bilder mit 300 ms Abstand auf der Platte.

    Das Programm soll dann autonom laufen.

    Gruß,
    Micha


  • Mod

    die mit 300ms delay würd ich mir auch gerne ansehen, wenn es möglich ist. [edit](falls es nicht nur die zwei sind)[/edit]

    und bitte in eine zip stecken oder so, nicht dass da 60 einzelnbilder zum dl sind 😉

    wäre es für euch auch akzeptabel dass ihr einen rechner habt der die daten auf platte legt und ein anderer dann z.b. nur einmal täglich alle analysiert (multipass verfahren) und dann erst die auswertung ausgibt? oder muss das life sein?

    wenn ich am WE von der post enttäuscht werden ;), dann spiel ich damit mal rum.

    rapso->greets();



  • Hi,

    ich habe den Thread hier nicht komplett gelesen, aber ist das nicht ein klassisches Problem, das sich gut mit einem neuronalen Netzwerk lösen lässt? Als "Bewertung" für die Algorithmen würde ich einfach die Erkennungsrate anhand einiger Testbildersequenzen nehmen.

    ChrisM


Anmelden zum Antworten