Delphi-PRAXiS
Seite 1 von 7  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Webcam Alarmanlage - Neuronales Netz (https://www.delphipraxis.net/108541-webcam-alarmanlage-neuronales-netz.html)

Flips 15. Feb 2008 16:06


Webcam Alarmanlage - Neuronales Netz
 
Liste der Anhänge anzeigen (Anzahl: 2)
Übersicht:
Das Programm ist in der Lage, aus jeder Kamera ein Bildüberwachungssystem zu machen. Es nutzt dazu ein neuronales Netz, vergleichbar mit den Neuronen im Gehirn welche über sog. Synapsen (Gewichte) miteinander verbunden sind, nur sehr viel weniger komplex. (In diesem Fall sind nur 76801 Neuronen im Einsatz)
Das besondere daran ist, dass es v.a. für qualitativ nicht sehr hochwertige (flimmernde) Kamera sehr gut geeignet ist, da die Überwachung eben auf solch einem Netz basiert. Das neuronale Netz fungiert als eine Art KI und flimmernde Pixel zählen daher bei der Bewertung weniger als (relativ) konstant bleibende Pixel.


Beta 0.6
  • Neuronales Netz zur Auswertung der Bilddaten
  • Hotspot-Definition (Ich hoffe luwo hat nichts gegen das "Hotspot" :-)) zur besseren Überwachung einzelner Bildausschnitte (Hidden-Layer)
  • Minütliche (automatische) Anpassung zur besseren Langzeitüberwachung möglich
  • Quickstart-Funktion für schnellere Bereitschaft
  • Hilfe-Dokument
  • Skalierte Markierung geänderter Pixel (je nach Wichtigkeit mehr oder weniger stark)
  • Es sollten alle Komprimierungen (I420,RGB24,...) möglich sein.
  • Mit Überraschungen!!!! (auch Bugs genannt;wenn du einen findest dann poste ihn und du bekommst ein "Dankeschön") :-D
Neuerungen 0.5 -> 0.6:
  • Verbesserte Lernformel (Modifizierte Delta-Regel)
  • "Schöneres" GUI
  • Visuelle Anzeige der Stärke der Gewichte
  • Veröffentlichung einiger Code-Segmente ;-)


Achtung: Bei einem Alarm wird ein Bild im Programmordner gespeichert (output.bmp)

Wahrscheinlich besitzt das Programm noch einige Design -und GUIBugs (falsch deaktivierte Buttons usw...).
Sollte jemand Dinge wie ne AV oder andere schwerwiegende Fehler reproduzierbar erzeugen können, bitte ich um Rückmeldung (+OS).


Beim Start erscheinen zwei Kameradialoge. Bitte im ersten Dialog folgende Daten angeben:
Auflösung: 320 * 240
Komprimierung: I420 oder RGB24 (geht auf jeden Fall, bevorzugt ist allerdings I420)

Eine Anleitung (leider nich ganz aktuell) findet ihr im Programm bei Klick auf den Hilfe-Button



Code-Snippets (PSEUDO-CODE)
Delphi-Quellcode:
procedure Lernen;
begin
(*
Das ist natürlich nicht meine ganze Lernroutine, aber das Grundgerüst.
Die ganze will ich dann doch noch nicht hergeben :-)
*)
for i := 0 to length(InputNeuronen) - 1 do
  begin
    ai := OutputNeuron.Output;
    aj := InputNeuronen[i].NettoInput;

   deltaGewicht := (ai-aj);
   //Damit die Änderungen nicht ZU minimal werden
   if (deltaGewicht < 0.015) and (deltaGewicht > 0) then
     deltaGewicht := 0.015
   else if (dGewicht > -0.015) and (deltaGewicht < 0) then
     deltaGewicht := -0.015;
   
  //Lernkonstante Epsilon wird stetig kleiner um Überlernung vorzubeugen
   neuesGewicht := Lernkonstante * deltaGewicht;

   InputNeuronen[i].Gewicht := InputNeuronen[i].Gewicht + nGewicht;
   if InputNeuronen[i].Gewicht < 0 then
     InputNeuronen[i].Gewicht := 0;
  end;
end;
Delphi-Quellcode:
procedure BerechneOutput;
begin
  OutputNeuron.Output:= 0;
   for i := 0 to length(InputNeuronen) - 1 do
     begin
        a := InputNeuronen[i].NettoInput * InputNeuronen[i].Gewicht;
        //Evtl. Aktivierungsfunktion ??
        //a := f(a);
        OutputNeuron.Output:= OutputNeuron.Output + a;
     end;
   OutputNeuron.Output := OutputNeuron.Output / length(InputNeuronen);
end;
Thx, lg Flips

Nuclear-Ping 15. Feb 2008 16:14

Re: Webcam Alarmanlage - Neuronales Netz
 
Habs mir nicht angeschaut, da ich keine Webcam hab. Aber :thumb: für die Umsetzung. Die gleiche Idee hatte ich vor zig Jahren, allerdings mangels Wissen und Erfahrung wieder seingelassen. :mrgreen:

Flips 15. Feb 2008 16:20

Re: Webcam Alarmanlage - Neuronales Netz
 
Gut, du weißt ja, dass ich hier schonmal ein neuronales Netz (OOP, du glaubst gar nicht wie froh ich jetzt darüber bin) programmiert und daher war es nicht allzu schwer es zu portieren.

Die Umsetzung ist erst die Spitze des Eisbergs (hoffe ich jedenfalls :-) ).
Zur noch besseren Analyse möchte ich noch ein paar Hidden-Layers (zusätzliche Zwischenneuronen) einbauen, zur Zeit arbeite ich ja nur mit ner Inputschicht und einem (hab auch ne Version mit zwei) Outputneuronen.
Aber alles zu seiner Zeit :-)

luwo 15. Feb 2008 18:52

Re: Webcam Alarmanlage - Neuronales Netz
 
Hallo Flips,

schau mir gerade mal dein Alarm-Programm an, sieht vielversprechend aus! :thumb:

Webcam läuft, und wird angezeigt. Bei Normbild gibts nur ein schwarzes Bild.
Ist das beabsichtigt?


lg Luwo

Flips 15. Feb 2008 19:07

Re: Webcam Alarmanlage - Neuronales Netz
 
Hehe nein ist es nicht :-)
Haste die Checkbox SW aktiviert? dann kanns sein das du erstmal den kontrast umstellen musst (mit der Trackbar im Normbild-Fenster)

luwo 15. Feb 2008 19:20

Re: Webcam Alarmanlage - Neuronales Netz
 
Zitat:

Zitat von Flips
Hehe nein ist es nicht :-)

Dann bin ich ja beruhigt :-)

Zitat:

Zitat von Flips
Haste die Checkbox SW aktiviert? dann kanns sein das du erstmal den kontrast umstellen musst (mit der Trackbar im Normbild-Fenster)

CheckBox SW ist deaktiviert.
Kontrast rauf-runter-fahren ändern nix am Bild, bleibt kompletto schwarz.

Hast Du ne Idee woran es liegen könnte?

Luwo

Flips 15. Feb 2008 19:34

Re: Webcam Alarmanlage - Neuronales Netz
 
Liste der Anhänge anzeigen (Anzahl: 1)
Probiers mal mit dieser Version

luwo 15. Feb 2008 19:37

Re: Webcam Alarmanlage - Neuronales Netz
 
Zitat:

Zitat von Flips
Probiers mal mit dieser Version

Nö, leider kein Unterschied, Normalbild ist/bleibt schwarz.
Kann das vielleicht mit der Webcam selbst zusammenhängen?
Oder capturest du das Bild aus dem Cam-stream?

Flips 15. Feb 2008 19:38

Re: Webcam Alarmanlage - Neuronales Netz
 
Ich capture das aus dem Stream.
Was für ein OS hast du?

luwo 15. Feb 2008 19:39

Re: Webcam Alarmanlage - Neuronales Netz
 
Zitat:

Zitat von Flips
Ich capture das aus dem Stream.
Was für ein OS hast du?

Benutze XP SP 2.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:11 Uhr.
Seite 1 von 7  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz