AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Webcam Alarmanlage - Neuronales Netz

Webcam Alarmanlage - Neuronales Netz

Ein Thema von Flips · begonnen am 15. Feb 2008 · letzter Beitrag vom 29. Nov 2008
Antwort Antwort
Seite 6 von 7   « Erste     456 7   
Flips
Registriert seit: 17. Feb 2005
Ü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")
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
Miniaturansicht angehängter Grafiken
screen3_106.png  
Angehängte Dateien
Dateityp: zip beta_108.zip (697,7 KB, 201x aufgerufen)
 
Benutzerbild von Nikolas
Nikolas

 
Delphi 2005 Personal
 
#51
  Alt 19. Apr 2008, 12:56
Könntest du vielleicht mal den Code zeigen? Ich habe gerade eine Klausur über diese Dinger geschrieben und würde mal gerne sehen, wie du das Netz geschrieben hast.
  Mit Zitat antworten Zitat
nEmai

 
Delphi 2007 Professional
 
#52
  Alt 19. Apr 2008, 13:03
Zitat von Flips:
Achso noch eine Frage, wenn ihr das Programm minimiert, kommen dann die Farbkreise im TNA?
Jo bei mir schon.

Ahja ich hab den Verdacht, dass es an meinem PC nicht geht, weil sich der Quickcam Manager öffnet sobald die Cam an geht. Dann stürzt das Programm ab, auf meinem Laptop hab ich nur die Treiber installiert.
  Mit Zitat antworten Zitat
Flips

 
Delphi 7 Professional
 
#53
  Alt 2. Sep 2008, 15:04
Beta 0.6 online.
Viel Spaß damit
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

 
Delphi 7 Enterprise
 
#54
  Alt 2. Sep 2008, 16:44
also mit meiner Logitech QuickCam Pro 3000 auf XP SP 2 funzt das gut

allerdings sind die berechneten unterschiede meist zu gering.
selbst wenn ich meine hand vor die kamera halte, hat er kaum abweichung.

ich muss die differenz auf 1% oder weniger stellen damti es einigermaßen funzt, aber die hand als fremdkörper wird eingrahmt.

erstmal nice aber funktion noch nicht ganz einsatztüchtig


Edit:

Jaaa ein roter Farbkreis wird angezeigt, allerdings auch dann wenn ich das programm nur starte in Tray lege und 2sekunden warte, vorher ist da nen anderes zeichen

Gruß Jokerface
  Mit Zitat antworten Zitat
Flips

 
Delphi 7 Professional
 
#55
  Alt 2. Sep 2008, 16:51
Danke fürs Testen.
Naja, daraus lässt sich schliessen, dass die Synapsen sehr gering (siehe schwarze Stellen im Bild während des Lernens) werden weil viel flimmert -> Mehr Toleranz einstellen!

Zum Farbkreis:
Ja gud, dass gehört zu den Design-Bugs^^
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#56
  Alt 28. Nov 2008, 13:25
Moin ich bin es wieder

Wir haben gerade KNNs und auch eine funktionierende Kamera, sodass ich das mal demonstriert habe. Aber was hälst du davon, dass du eine Bildersequenz machst.

Mein Vorschlag: Standardkram auf den ersten Kern und Komprimierung auf einem zweiten

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Flips

 
Delphi 7 Professional
 
#57
  Alt 28. Nov 2008, 14:20
Hi,
was verstehst du genau unter Bildersequenz? In welchem Zusammenhang jetzt?
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#58
  Alt 28. Nov 2008, 14:40
Naja das er vielleicht ein Video aufnimmt? Vielleicht mit 10 fps

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
The Riddler
 
#59
  Alt 28. Nov 2008, 16:00
Hallo Philipp,

meinen Respekt für dieses Programm! Scheint wirklich super zu sein.

Ein paar Dinge sind mir aufgefallen:
  • beim ersten Start wäre es hilfreich, wenn du einen Button Step 1 oder sowas hinzufügen könntest, welcher das Normbild erstellt. Ich habe wild auf "x Mal lernen" herumgeklickt bis ich den "Quickstart"-Button fand, der das Bild anlegt
  • bei kurzen Tests haben gut funktioniert. Selbst kleiner Toleranz (-2%) wurde fast alles erkannt. Manchmal gibt es nur Probleme, siehe Bild im Anhang. Der Stift wird nicht rot gezeichnet und das Viereck ist ziemlich klein, er erkennt das Fremdobjekt also irgendwie nicht komplett und es kommt kein Alarm. Mal wirds erkannt, und ein anderes Mal wieder nicht

Ansonsten super Teil, ich werde die Entwicklung im Auge behalten und deine Software zur Überwachung meiner Nachbarn nutzen.
Miniaturansicht angehängter Grafiken
webcam_758.png  
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#60
  Alt 29. Nov 2008, 11:13
Wegen Entwicklung:

Ich hatte ihn gestern wegen dem Sourcecode angesprochen. Aber bisher ist nur die Unit fürs Neurale Netz aufgetaucht.

MfG
xZise
Fabian
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf