NEWS
Wasserzähler - Selfmade
-
@mameier1234 sagte in Wasserzähler - Selfmade:
Hallo , was passiert denn eigentlich hier ?
Die Anlagen werden als 3980 erkannt, aber der Zählerstand ist .2980 ?
Hinter der Umwandlung der analogen Zeiger steckt eine intelligente Logik:
Schau dir die Situation genau an: der erste Zeiger wird als 3.1 erkannt. Im Rahmen der Erkennungs- und Zeigerpositionsunschärfe könnte es aber auch 3.0 oder 2.9 sein. Daher prüft die Logik bei Ziffern, die um den Wechsel der ganzen Zahlen liegt, ob die Ziffer eine Stelle tiefer schon über die 0 weg ist.
Hier ist die nächstniedrigere Ziffer eine 9.7, also noch nicht über die 0 hinweg. Daher kann es sich nur um die Ziffer "2" und nicht "3" handeln.
Wenn der tiefere Zeiger jetzt über die 0 hinweg geht (9.7 --> 0.0) dann wechselt die Ziffer auch auf die "3".
Gruß,
jomjol -
@pfried sagte in Wasserzähler - Selfmade:
Hallo @jomjol normalerweise halte ich es mit: ... never change a running system... kann man Deine neue Version irgendwie mit der Alten vereinbaren und wenn ja wie?
Du könntest Testweise einen zweiten Docker auf einen anderen Port laufen lassen. Deine alte Config funktioniert auch weiter. Du musst nur für die lite-Images die CNN-Files im Verzeichnis networks kopieren und in der Config die Namen bei modelfile ändern. Das hast du auch schnell wieder zurück geändert.
-
@jomjol OK, mache ich. Starte den Test morgen. LG
-
@jomjol Test läuft mit 2 Containern parallel (innerhalb von 10sec aufgenommen)
-
@jomjol Super vielen dank. Habe alles zum laufen bekommen. Erkennung klappt soweit auch nicht schlecht aber irgendwie scheint bei mir eine Zahl nicht richtig zu klappen. Aus einer 2 macht er eine 8. Habe schon versucht mit einer guten Ausrichtung und Schärfe das ganze hinzubekommen aber irgendwie mag er die 2 nicht.
-
@hugo1215 sagte in Wasserzähler - Selfmade:
@jomjol Super vielen dank. Habe alles zum laufen bekommen. Erkennung klappt soweit auch nicht schlecht aber irgendwie scheint bei mir eine Zahl nicht richtig zu klappen. Aus einer 2 macht er eine 8. Habe schon versucht mit einer guten Ausrichtung und Schärfe das ganze hinzubekommen aber irgendwie mag er die 2 nicht.
Hallo Hugo,
klingt gut ist aber echt ein glücklicher Zufall. Bemerke erst jetzt, dass deine Ziffern ja auch weisse Schrift auf schwarzem Grund sind. Darauf ist das CNN nicht trainert. Das ist aber auch spannend für andere Nutzer. Daher folgende Bitte: kannst du eine zeitlang die Bilder loggen und wenn du dann von jeder Ziffer 3-4 hast, mir das Log-Verzeichnis schicken. Bitte jeweils für rote und schwarze Ziffern.
Dann erweitere ich das Training mit den Ziffern und es sollte auch mit der 2 klappen.
Beste Grüße,
jomjol -
@jomjol Ich bekomme bei beiden Dockern (6.0 und Lite) die gleiche Versionsinfo. Ich habe beide parallel laufen.
Wäre schön wenn du diese noch unterschiedlich ausgibst.Bis jetzt konnte ich mit der neuen „Lite“ Version keine Auffälligkeiten feststellen. Scheint gut zu laufen.
Ich finde dein Projekt immer noch geil, und das läuft ja auch schon seit November 2019 -
@Knallochse Du hast natürlich Recht. Docker mit Versionsupdate kompiliert.
Danke für die Rückmeldung, dass bei dir alles läuft. Ich werde mittelfristig auf die lite-Version umstellen, da ich dann komplett das Kompilieren der Tensorflow-Bibliothek für Synology verzichten kann.
Was meinst du, wie die Community mit einer nicht abwärtskompatiblen Version zurecht kommt? -
@jomjol Also ich habe deine Dockerversionen mit dem Bridge_Netzwerk erstellt. Dabei habe ich mehrere Container mit verschiedene Ports (+1) benutzt. Dadurch lässt sich die Auswertung der Daten in IoBroker gut anpassen. Ob man nun den Parser Adapter, oder das Script von @sissiwup nutz oder mein Blockly, so kann mann einfach zwischen den verschiedenen Docker Versionen wechseln (auch der Lite-version). Ich sehe hier kein Problem mit der Abwärtskompatibilität, da die Daten in den verschiedenen Versionen gleich ausgegeben werden.
Der Arbeitsspeicherbedarf mit der Lite_Version schein aber wesentlich besser zu sein
Zusammenfassend möchte ich sagen, dass dein Projekt bei mir funktioniert. Das ist nicht selbstverständlich. Ich habe schon andere "Bastelobjekte" unternommen, und musste kapitulieren. Aber ich experimentiere gern.
-
@jomjol Bei mir gibt die Lite Version exakt dasselbe aus wie die Full Version!
EDIT: Dachte der Container raspi-rolling-lite läuft, habe aber eine falsche Abfrage gemacht. Sorry!
Der Container raspi-rolling-lite läuft auf meinem RB3+ nicht. Er reseted wiederkehrend. -
@jomjol Frage zu der Bilderkennung: was ist wichtiger, das die roten Zeiger genau in der Mitte sind, oder die Ziffernbeschriftungsscheibe genau zentriert? Beispiel Zeiger1, ganz rechts:
-
@pfried Ich bin mir selber nicht ganz sicher. Der Zeiger ist aber wichtiger, wie die Ziffern, den letztlich enthält er die Informationen.
-
@pfried Kannst du mal schauen, ob du eine Fehlermeldung aus dem Log-File bekommst? Ich habe den Container auch auf einen Raspi3 getestet und er hat funktioniert.
Wichtig ist aber, dass du die Config.ini anpasst und die CNN-Netzwerkinfos als tflite-Dateien zur Verfügung stellst. -
@jomjol wollte gerade auf meiner QNAP in Docker die Lite Version mal testen, bekomme den Container aber gar nicht erst gestartet.
0.0 Start Init Zaehlerstand Traceback (most recent call last): File "./wasseruhr.py", line 120, in <module> wasserzaehler = lib.ZaehlerstandClass.Zaehlerstand() File "/lib/ZaehlerstandClass.py", line 47, in __init__ self.readAnalogNeedle = lib.UseAnalogCounterCNNClass.UseAnalogCounterCNN(model_file, in_dx, in_dy, log_Image, LogNames) File "/lib/UseAnalogCounterCNNClass.py", line 38, in __init__ for i in range(in_numberclasses): NameError: name 'in_numberclasses' is not defined
-
@jomjol So jetzt funktioniert es mit dem Docker Container. Die Auswertung hat immer noch das Problem mit den Zeigern:
Erkannt wird:
Also 29.8965 statt 29.8929
Lasse jetzt mal die Lite Version laufen. Wenn ich was testen soll lasse es mich bitte wissen.
-
@jomjol da es nicht funktioniert hat die Lite Version auf dem QNAP in der Container Station zu installieren, habe ich dann heute die Lite Version auf meinem NUC im Container installiert. Lief soweit alles durch und sieht bisher gut aus, Erkennung klappt bisher einwandfrei.
-
@coyote Ist ein bisschen strange - den bei mir lief es auch, aber dein Screenshot mit der Fehlermeldung hat mich noch auf zwei Fehler beim erzeugen der jpg-Logs geführt.
Ein Update für die lite-Version habe ich gerade hochgeladen - Docker-Build läuft - Version 7.0.1 - lite.Danke für deine Rückmeldung - hat sehr geholfen.
Beste Grüße,
jomjol -
@jomjol Habe gerade geupdatet. Versionsinfo passt
Version 7.0.1 - lite (2020-04-27)
Keine Fehler beim Starten des Containers auf meiner Synology 918+
-
@jomjol werde die Zahlen für dich aufzeichen und dann wenn ich alles habe dir dann zukommen lassen.
Momentan habe ich aber noch damit zu kämpfen das der ESP sich immer wieder Abschaltet. Gibt es eine Deep Sleep modus??
gruß -
@hugo1215 sagte in Wasserzähler - Selfmade:
@jomjol werde die Zahlen für dich aufzeichen und dann wenn ich alles habe dir dann zukommen lassen.
Momentan habe ich aber noch damit zu kämpfen das der ESP sich immer wieder Abschaltet. Gibt es eine Deep Sleep modus??
grußDas Problem hatten hier einige... jomjol hat eine rolling-Version gebaut.. da gibt es keine Probleme mehr...
https://github.com/jomjol/water-meter-picture-provider/tree/rolling
Ich hatte mir vorher einen eigenen Watchdog gebaut, der die Steckdose resettet hatte, wenn kein ping mehr kam.. .jetzt ist seit 3 Wochen kein einziger Ausfall mehr gewesen..