IP Kameras und Bilderkennung

AMoKx666

Mitglied
Hallo,
ich suche zur zeit nach einer möglichkeit herauszufinden, ob ein bild, das von einer IP Kamera kommt, die wirklichkeit abbildet oder ein vorgehaltenes foto zeigt. weiss jemand, ob und wie man sowas machen kann ? ich bin absoluter neuling auf dem gebiet und mir fehlt leider der ansatz dafür.
 
Hallo,

es gibt da zwei Dinge, die man unterscheiden muss!

Zum einen liefern WebCams sogenannte Snapshots, also einzelne Bilder, die in dem Moment gemacht werden, in dem sie angefordert werden.
Zum anderen kann man auch einen Live-Videostream runterladen, der dann oftmals aber 'nur' im MJPEG-Format angeboten wird!

Wie einfach es unter C++ geht, weiß ich nicht, ich versuche es allerdings gerade unter Java - und da ist es nicht so lustig .....

gruß
Klaus
 
In meinem Fall sind es jpeg Bilder, die ich von meiner Kamera bekomme. Ich glaube mit Streams wird es noch schwieriger herauszufinden ob es sich dabei, was der Stream zeigt, um ein Foto (das z.B. vor die Kamera gehalten wird) oder die Realität handelt.
Versuchst du auch gerade mit Java sowas ähnliches zu implementieren ?
 
Hallo deepthroat,

erstmal Danke für den Tipp!
Habe mir gerade mal das Package runtergeladen und ein wenig in den Examples geschaut, aber das ist leider nicht ganz das was ich brauche!
Ich versuche halt mit dem JMF per RTP/RTSP den Livestream der abzugreifen und in einem entsprechenden Player dazustellen.
Nur bremst mich derzeit ganz einfach unser Proxy und/oder die Firewall aus ......

Gruß
Klaus
 
Ich denke, die Grundthematik hat erst einmal nichts zu tun mit irgendwelchen Bibliotheken oder Implementierungen. Wenn ich das richtig verstanden habe, dann lautet die eigentliche Frage:

"Wie kann ich erkennen, ob das Kamerabild, das ist sehe, real ist oder gefälscht (z.B. durch vor die Kameralinse gehaltenes Bild)?"

Und ich muß ehrlich sagen: Ich habe nicht die leiseste Ahnung, wie ich (also ich als Mensch) das erkennen sollte. Von daher fehlt mir auch jeglicher Ansatz, etwas softwaremässiges zu entwickeln.
Aber ich denke, ein Lösungsansatz sollte wohl in die Richtung gehen:
- Wie kann ein Mensch das Problem lösen?
- Ist es überhaupt möglich, dieses Erkennen maschinell abzubilden? (das Hirn ist immer noch der leistungsstärkste Rechner schlechthin)
- Wenn es möglich ist: Wie? (Und ab da wird es dann interessant mit Bibliotheken, Frameworks etc.)
 
Hi,

hast natürlich recht - zumal es auch das falsche Forum wäre :suspekt:

Wie kann ich erkennen, ob das Kamerabild, das ist sehe, real ist oder gefälscht (z.B. durch vor die Kameralinse gehaltenes Bild)?

Ich denke mal, dass das (zumindest bei Stils) prinzipiell kaum gehen wird - weil: woran soll man das denn festmachen Theoretisch vielleicht über die dargestellte Qualität des Bildes, d.h. man vergleicht "irgendwie" :rolleyes: pixelweise und/oder den Bildauschnitt mit einem Referenzbild (und dass wohl auch nur, solange die Kamera nicht beweglich ist) ....

Bei einem Videostream sollte es machbar nämlich dadurch, das keine Bewegung im Bild ist! Aber wie schon uns schon Hollywood in div. Spielfilmen beigebracht hat: einfach eine Bildaufzeichnung in die Kameraübertragung mogeln :D

gruß
Klaus
 
Zuletzt bearbeitet:
Och, so ein bißchen was ist mir mittlerweile eingefallen. Ist aber reine Theorie und ich habe keine Ahnung, ob sich das umsetzen lässt. Aber prinzipiell: Mit einer, statisch montierten Kamera sehe ich auch keine Chance.

Möglichkeit 1:
Die Kamera ist schwenkbar. Und seien es nur wenige Millimeter. Eine Bewegung, die dem menschlichen Auge fast nicht auffällt. Wenn man aber die Kamerabilder durch einen Videoprocessor jagt und ein wenig Kantenerkennung (z.B. mit Sobelfiltern) macht, dann könnte es möglich sein, die Perspektive zu erkennen (nämlich durch Diskrepanzen in den Winkeln der gefundenen Pixelkanten) und so liesse sich evtl. erkennen, ob sich ein statisches Bild vor der Kameralinse befindet.

Möglichkeit 2:
Funktioniert eigentlich wie Nr. 1 nur mit zwei statischen Kameras. Das Bild wird aus zwei verschiedenen Perspektiven aufgenommen. Wenn natürlich vor beide Kameras perspektivisch korrekte Bilder gehängt werden, hast du wieder keine Chance. Wenn jedoch für beide Kameras das gleiche Fakebild verwendet wird, dann hast du schon wieder gewonnen. Ein einfacher Bildabgleich erbringt dann die Erkenntnis, daß da etwas nicht stimmt.

Möglichkeit 3:
Warum sich tödlich mit der software verbiegen, wenn es mechanisch/elektronisch einfacher geht? Einfach über einen Wandemitter immer wieder einen Lichtstrahl im UV-Bereich absenden (mit einem festen Zyklus) und von einem Sensor an der Kamera auffangen lassen. Dann muß nicht nur das bild gefälscht werden sondern auch das UV-Signal. Und wenn vor die Kamera ein statisches Bild gehängt wird, kommt das UV-Signal nicht mehr bei der Kamera an und der Fall ist klar.

Das ist so das, worauf ich mal so spontan gekommen bin.
 
Bei Videostreams wirds ja erst richtig eklig. Herauszufinden, ob ein Stream echt ist oder gefälscht wird bei bewegten Bildern ziemlich zeit- und rechenintensiv.
Wäre es vielleicht möglich mit spezieller Hardware (egal was), dieses Problem zu lösen ? Ich meine damit, wenn es z.B. eine Kamera gäbe, die einen eingebauten Entfernungsmesser besitzt. Die gemessene Entfernung könnte dann als Meta Daten ins Bild integriert werden. Is nur mal so ne Idee. Hat jemand andere Ideen, egal ob Software- oder Hardwarelösungen.
Die andere Frage wäre, wie CSANecromancer bereits erwähnt hat, ob sowas überhaupt möglich ist.
 
bei videostreams hmm wie willst du das anstellen und ich würde mir immer die frage stellen vielleicht würd di camera ja nur von einem programm virtuell dargestellt und eine vorher aufgenommene videosequenz (bild) von jemandem anderen abgespielt
 
Zurück