![]() |
Re: Webcam Alarmanlage - Neuronales Netz
OK dann weiß ich an was es liegt, fixed version ist in ner minute ersten Post zu finden!
Und noch ein großes Danke euch BEIDEN!!!!!! |
Re: Webcam Alarmanlage - Neuronales Netz
Zitat:
Habe das Videoformat von RGB24 auf I420 umgestellt, und siehe da, Normalbild kommt. Vielleicht noch ein paar kleine Anmerkungen zur Programmbedienung: Beim Klick auf [Alarm aktivieren] passiert (sichtbar für den Benutzer) erstmal irritierenderweise gar nix. Da sollte irgendein Feedback sichtbar/hörbar sein (z.b. Countdown in der Caption: "Starte Alarm in 5,4,3,2,... Sekunden") Wenn der Alarm aktiviert wird (rotes Formular) passiert wiederum für ein paar Sekunden gar nix (oder nur für den Benutzer nicht sichtbar?) Auch die Anzeige unten bleibt scheinbar stehen, nach ein paar Sekunden gehts dann weiter. btw: Für die Anzeige des Alarms würde ich ein kleines TShape (Kringel irgendwo auf dem Hauptfenster) verwenden (ist aber nur meine kleine ästhetische Meinung :-) ) Ein kleiner Bug: Wenn ohne vorher auf [Normalbild] zuerst auf [x-mal lernen] geklickt wird, kommt folgende Fehlermeldung: "Bereichsüberschreitung bei Zeilenindex." Sicherlich nur ne Kleinigkeit :-) Ansonsten finde ich das Programm und die hinterliegende Idee super! :thumb: Güße Luwo |
Re: Webcam Alarmanlage - Neuronales Netz
Bei mir funktioniert es jetzt auch. :thumb:
|
Re: Webcam Alarmanlage - Neuronales Netz
Eine Frage zu den Programm (ich selber habe keine Webcam, kann es also net testen):
Wie häufig nimmt das Programm ein Bild auf, sobald eine Störung reinläuft? Nur einmal? Dann müsste man sich ja nur mit dem Rücken voran reinkommen xD MfG xZise |
Re: Webcam Alarmanlage - Neuronales Netz
Zitat:
Zitat:
Ich denke nächste Woche kann ich ne Beta releasen, dann wird das schon :-) Zitat:
Zitat:
Zitat:
Zitat:
Allerdings hast du insofern recht, dass mir schon der (Logik-)Fehler aufgefallen ist. Man erkennt ihn in der Reihenfolge, in welcher eine Überschreitung des Grenzwerts abgearbeitet wird. Bild capturen Überprüfen Alarm ausgeben Bild capturen Bild speichern Da die Überprüfung ja einige ms dauern kann sollte ich das 2. "Bild capturen" wohl rauslassen, da dann unter Umständen niemand mehr zu sehen ist :-D |
Re: Webcam Alarmanlage - Neuronales Netz
Ich habe gerade keinen Zugriff auf Windowsrechner, finde den Ansatz mit einem NN aber interessant. Könntest du vielleicht etwas über den Aufbau sagen (inputNeuronen, wieviele verdeckte Schichten, Anzahl OutputNeuronen, Lernfunktion,usw)?
Warum hast du dich überhaupt für ein NN entschieden? Einfach so, weil die Teile lustig sind, und du es ausprobieren wolltest? Spontan wäre mir bei einer Alarmanlage eingefallen, die Differenz zweier Bilder zu berechnen und dann den Fehler aufzusummieren. |
Re: Webcam Alarmanlage - Neuronales Netz
Zitat:
Bei mir kommt "Indexüberschreitung" oder so was in der art... |
Re: Webcam Alarmanlage - Neuronales Netz
Zitat:
Habe auch einen eigenen Interpolierungsalgorithmus für SW-Bilder geschrieben, damit das Flimmern ein wenig gefiltert wird. Das geht auch gut, aber dann ist mir der Gedanke mit einem NN gekommen, zumal ich ja schonmal ein Programm mit einem NN hier vorgestellt habe. Ein NN arbeitet ja eigentlich ganz grob gesagt danach: Lerne, wichtiges von unwichtigem zu unterscheiden bzw. was welcher Zustand aussagt. Und das NN ist jetzt so programmiert, dass es lernt, Pixel die sich stark verändern (Beispielsweise ein Blinklicht) oder einfach nur stark flimmernde Pixel weniger zu zählen als Pixel die nahezu konstant bleiben. Zur Veranschaulichung: Ich ordne jedem Pixel ein Inputneuron zu. (Eine gute Idee für einen Hidden-Layer wäre, 4 Pixel die ein Quadrat bilden zu einem Neuron zusammenzufassen). In der Lernfunktion wird nun die Abweichung jedes aktuellen Pixels zum Normbild geprüft. Vorgabe ist : Unterschied soll 0 sein. Wenn der Unterschied jetzt einen gewissen Toleranzwert (5% hier) überschreitet, dann hat das Neuron die Anforderung nicht erfüllt -> es bekommt den Output 1, anders bekommt es den Output 0. Dann in der eigentlichen Lernfunktion wird jenachdem ob ein Neuron sich verändert (=1) oder gleich geblieben ist (=0) die Synapse (das Gewicht) zum Endergebnis berechnet. Als Beispiel: 2 Neuronen, das eine flimmert, das andere bleibt relativ konstant. Beide haben zu Anfang ein Gewicht von 0. Das flimmernde Neuron ist beim Vergleich mit dem Normbild durchgefallen, das andere hat bestanden. D.h. das konstane Neuron bekommt Gewicht gutgeschrieben, das andere Gewicht abgezogen. Wenn dieser Lernvorgang oft genug gemacht wurde, weiß das NN wie es die Pixel einzustufen hat. Inputneuronen gibts 320*240 stück, Outputneuronen gibt es 1. :-) Hidden-Layers gibt es noch (!) keine, werd ich mich aber jetzt ans Werk machen. Zitat:
|
Re: Webcam Alarmanlage - Neuronales Netz
Zitat:
Hatte auch schon mal ein kleines Projekt zur MotionDetection implementiert. Prinzipielles Vorgehen war, wie Nikolas schon anmerkte: Differenzbilder berechnen (möglichst über MEHR als nur 2 Bilder!) und dann dem Benutzer die Möglichkeit geben innerhalb des Videofensters Bereiche definieren zu lassen (z.B. Eingangstür) die besonderer Beachtung bedürfen. (Hotspots) Habe dazu auch erstmal die Bilder in Graustufen umgerechnet, weil die Farbinformation (in meinem Fall) völlig irrelevant waren. Wenn ich mich recht erinnere hab ich auch noch ein Histogramm der Bilder errechnet um möglichen Lichtschwankungen (die ja nicht wirklich am Bildinhalt was ändern) herauszufiltern. Quasi ein Entschärfen von Bildänderungen. Tipp: Zum Thema n Pixel zusammenfassen, Graustufenfilter usw. gibt es viele (schnelle) Routinen in der ![]() Grüße Luwo |
Re: Webcam Alarmanlage - Neuronales Netz
also bei mir funktioniert die anzeige der webcam leider garnicht.
aber anscheinend liegt das wohl irgendwie an meiner kamera (Logitech QuickCam). In anderen Anwendungen wie z.b. Skype oder ICQ geht sie einwandfrei. Die Funktion aus der CodeLib funktioniert bei mir auch nicht und zeigt immer nur ein blaues Bild an, genau wie bei dieser Anwendung hier.. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz