NEWS
Wasserzähler - Selfmade
-
@jomjol
Kommando zurück, hatte auf meinem Pi4 einen Schreibfehler in der config.ini. Ist nur blöde das da keine Fehlermeldung kommen.Dein Docker läuft also auf dem Pi3 und dem Pi4.
Bleibt nur noch warum die ESP32 Cam bei Capture ab und an in den timeout geht und keine Fotos liefert
-
Hi,
bei mir erkennt er gerade die 8 als 6
kann es an den reflektieren liegen ?
-
@Stev8176 Könnte sein. Schick mir einfach ein paar kritische falsch erkannte 8er, ich baue die dann am WE ein.
-
@jomjol
reicht dir das so? -
@Stev8176 Hi Steve,
das reicht mir so mit den Bilder. Ich teache sie am Wochenende. Noch ein Hinweis: deine Zimmer haben relativ viel Rand:
Das in Kombination mit einem deutlich helleren Hintergrund bringt dann irgendwann die Ziffernerkennung an die Grenzen.
Neben meinem Teachen könntest du auch mal einen etwas kleineren Bildausschnitt wählen. Ich wäre neugierig, ob das schon reicht.
Beste Grüße,
jomjol -
@Stev8176 Das neu trainierte Netzwerk ist verfügbar:
https://github.com/jomjol/neural-network-digital-counter-readout/blob/master/Train_CNN_Digital-Readout_Version_6.1.0.h5oder als tflite:
https://github.com/jomjol/neural-network-digital-counter-readout/blob/master/Train_CNN_Digital-Readout_Version_6.1.0.tfliteAktuell habe ich es noch nicht in die Rolling, ... eingebunden - daher bitte manuel in deiner Config ändern.
Gruß,
jomjol -
Hallo,
zunächst vielen Dank für das tolle Projekt - bin beeindruckt.
Konnte der sehr ausführlichen Anleitung auch folgen.
Leider bleibe ich an einem blöden Punkt hängen - der Rotation des Bildes.Lade ich das bild direkt von der ESP-cam runter, ist es um 88,71° verdreht.
Zur Erstellung der Config habe ich gemäß der Anleitung: die Referenzpunkt gesetzt. Dafür habe ich gimp benutzt.
Also mit gimp das Bild um 88.71° gedreht und die Koordinaten ermittelt.
Die Drehung ( initial_rotation_angle=88.71) in die Config eingetragen und getestet.
Das kam dabei heraus:
Hmm....Um zu checken ob ich die Koordinaten oder etwas anderes falsch eingetragen habe, habe ich in gimp das um 88.71 gedrehte Bild abgespeichert, am Server die config geändert (initial_rotation_angle=0) und dem Server dann das gedrehte Bild analysieren lassen - Ergebnis war Perfekt:
Ich bin jetzt etwas ratlos, Erkennung läuft aber die Rotation der Aufnahme funktioniert nicht. Wenn ich die Kamera so drehe, dass das Bild direkt richtig herum steht, gibt es ungünstige Reflektoren.
Jemand einen Tipp ??
-
@ehome deine 3 Referenz Punkte stimmen nicht.
Hast du zum einrichten diese Seite benutzt?
http://wasserzaehler.ignorelist.com/
Wenn nicht, dann versuche deine config.ini damit zu erstellen -
@ehome Es könnte auch sein, dass die Kommazahlen bei der Drehung nicht passen. Es reicht völlig, wenn du auf 1° genau drehst. Den Rest macht dann das Referenzaligment.
Wenn durch die 88.71 um irgendeinen Winkel gedreht sind, dann findet er irgendwann die Referenzen auch nicht mehr. -
@jomjol
Danke für das Teachen, und auch den Tip mit dem weniger Rand. Läuft bis jetzt super. Ich bin mal gespannt ob jetzt alles stabile läuft.Und noch ein hinweise für alle: nach dem ich dem ESP32CAM Modul an den 5V einen 470µF Elko spendiert habe habe ich auch keine Timeout beim Capture
Ich war auch schon am überlegen eine neue Hardware für die Camera zu designen -
@jomjol, @Knallochse
Danke klappt nun ABER:
mit der config-Datei, die durch die Webseite generiert wurde startete der Server nicht mehr, habe dann die std-Config genommen und die Koordinaten aus der generierten übertragen - dann lief es.
Leider konnte ich nicht feststellen wo genau das Problem mit der generierten lag, da ich kein passendes Log gefunden habe. -
@Stev8176 Könntest du von dem Umbau (Elko) mal ein Bild posten?
-
@ehome Ja, Ursache ist mir klar. Leider schaffe ich es nicht, alles zeitnah synchron zu halten. Ich tendiere, den Server deutlich abzuspecken. Z.B. nur die Koordinaten und keine Parameter mehr. Dann ist es robuster gegen Updates.
@all: eure Meinung? -
@jomjol Ich meine, dass eine "abgespeckte" Version um zu einen ersten Erfolg zu kommen ausreicht. Mit einem guten Tutorial, mit der Erklärung der einzelnen Parameter, läßt sich eigentlich dann auch schnell das System an die einzelnen Bedürfnisse anpassen.
-
@jomjol finde ich auch. Das frickeligste war immer das Ausschneiden der Referenzbilder und deren Positionen. Mit deinem Server ist das nun ein Kinderspiel.
-
@Knallochse Ja klar kann ich den Beschreiben.
Ich habe eine Elko 470µF (oder auch 1000µF) mindestens 10V parallel zu dem Keramikkondensator C5 gelötet.
Polung siehe Foto bzw. Minus ist am Platinen Rand.
so sieht es bei mir aus
So läuft das ganze jetzt schon mehrere Trage ohne abstürze.
-
@Stev8176 Danke dir vielmals
-
@jomjol
abgespeckter Server fand ich auch gut - wenn der einem die Frickelei mit den Referenzbildern abnimmt ist das schon die halbe Miete. -
@jomjol
Hallo Jomjol,
jetzt habe ich weil alles so gut funktioniert mir die Kunststoffteile für meinen Wasserzähler angepasst und gedruckt. Nun bekomme ich das alignment nicht mehr hin. kannst du da mal mir mal helfen?
von der Kamera kommt diese Bild
aber Roi sieht so aus
ich habe in der config.ini angegeben "initial_rotation_angle=347"
aber auch wenn ich hier andere Werte eingeben wird es ehr noch schlimmerwas mach ich falsch?
muss die Kamera weiter weg vom Zähler damit sie mehr aufnimmt?Danke
-
@Stev8176 Ist ein bisschen schwierig zu sagen.
Zuerst mal zum initial_rotation_angle: der soll so gewählt werden, dass das Bild grob aufrecht steht. Das könnte mit 347° gut passen, so aus dem Auge geschätzt.
Der Abstand sollte eigentlich pasen, denn man sieht alle notwendige klar und groß genug.
Das schiefe ROI-Bild bedeutet in der Regel, dass die Alignmentpunkte nicht richtig gefunden werden. Wenn du durch den Druck deiner Teile sich auch der Abstand oder die Beleuchtung geändert hat, musst du die Referenzbilder neu aufnehmen. Denn insbesondere die Größe muss genau zur Aufnahme passen. Denn die Größe wird nicht skaliert.
Hoffe, das hilf schonmal. Ansonsten schick mit mal deine Config und auch das Verzeichni "/image_tmp". Das müsstest du aber erstmal per Volume von aussen zugängig machen (analog zu /log und /config).
Gruß,
jomjol