NEWS
Wasserzähler - Selfmade
-
@jomjol sagte in Wasserzähler - Selfmade:
@sissiwup Hallo sissiwup,
welche Bildgröße genau meinst du? Willst du ein eigenes neuronal Netz trainieren und mit den Eingangsgrößen experimentieren?
Die Eingangsgröße für das CNN muss zur trainierten neuronalen Netzarchitektur passen. Wenn du da ran willst, musst du tiefer eingreifen und dein eigenes Netz trainieren und testen. Bin dir gerne behilflich, aber es nicht damit getan, die Eingangsparameter im Python-Code zu modifizieren.Gruß,
jomjolHallo,
ja, habe ich vor.
Für den Anwender wäre es super, wenn du die Bildgröße in den Namen des Netzes codierst, z.B. 4.2.20x32.h5 -
@sissiwup Okay verstanden. In welchem Bereich willst du variieren? Hast du Erfahrung mit CNNs und dem Training? Habe in letzter Zeit diesen Teil nicht weiter optimiert.
Das werde ich aber leider kurzfirstig nicht umsetzen, da ich gerade an einer Web-Application arbeite, mit man die Config.ini per WYSIWYG erstellen kann. Da brauche ich ziemlich viel Zeit und parallel will ich nicht die Backbone ändern.
Trotzdem, mach mal ein Request in github draus, dann kann ich oder jemand anderes es später aufgreifen.
Über deine Erfahrung mit verschieden parametrisierten CNNs bin ich ziemlich gespannt. Vielleicht kannst du uns ja hier auf dem laufenden halten.
-
@jomjol Hi jomjol, macht es evtl. Sinn, bereits vorhandene Rohdaten irgendwo zentral (Github?) zu sammeln? So kann jeder, der Interesse an dem CNN hat, sich die Daten holen und selbst trainieren. Bei mir fehlen z.B. bestimmte Zahlen, da sie noch nicht erfasst wurden.
-
@watcherkb sagte in Wasserzähler - Selfmade:
@jomjol Hi jomjol, macht es evtl. Sinn, bereits vorhandene Rohdaten irgendwo zentral (Github?) zu sammeln? So kann jeder, der Interesse an dem CNN hat, sich die Daten holen und selbst trainieren. Bei mir fehlen z.B. bestimmte Zahlen, da sie noch nicht erfasst wurden.
Hallo Watchkerb,
gibt es schon:Zeiger: https://github.com/jomjol/neural-network-analog-needle-readout
Ziffern: https://github.com/jomjol/neural-network-digital-counter-readoutDort im Unterordner "data_raw_all" bzw. "ziffer_sortiert_raw"
Gruß,
jomjol -
Hallo,
ich komme eigentlich aus der OpenHAB Ecke, anstatt von iobroker. Ich habe bereits meinen Stromzähler und Gaszähler in OpenHAB integriert. Jetzt fehlt mir nur noch der WasserzählerIch habe sämtliche Hardware zusammen und richtig eingerichtet. Der ESP32 macht auch fleißig Bilder.
Leider klappt die Bilderkennung bei mir überhaupt nicht. Ich habe nun schon etliche Versuche gemacht (Kamera gedreht, Fokus verändert, Abstand erhöht und verringert usw.). Ich habe aber noch nie einen richtigen Wert bekommen. Ich habe Probleme bei den digitalen Ziffern und auch bei den analogen Zeigern.Aktuell habe ich es jetzt mal nur für den Zeiger4 eingerichtet. Der Wert ist immer bei 5.X, egal wo der Zeiger steht.
Langsam verzweifle ich. Ich weiß nicht, was ich noch probieren kann.
Das Bild ist nicht 100% scharf, aber besser kann ich die Kamera nicht einstellen.Ich benutze den Raspi-Rolling Docker:
6c88650da357 jomjol/wasserzaehler:raspi-rolling "/usr/bin/entry.sh p…" 2 days ago Up 2 days 0.0.0.0:3001->3000/tcp
Das hier ist meine Config für den Zeiger4
[Analog_Counter.zeiger4] pos_x=398 pos_y=696 dx=214 dy=214
Über jede Hilfe wäre ich sehr dankbar.
-
Gibt es denn keine bessere Alternative zu der ESP32 CAM? Evtl. ne günstige WLAN-Kamera? Oder irgendwas wo man den FOKUS einstellen kann?
-
@Thomas_schw Hi, wieso ist Dein Bild so blau/dunkel? Wenn Du Dir andere Bilder weiter oben ansiehst sind diese alle ohne diesen Blauanteil. Kann es sein, dass das Kameramodul defekt ist?
-
@pfried ja. Vielleicht. Ich habe leider keine zweite Kamera.
EDIT: Ich hatte doch noch eine zweite Kamera. Bei der konnte ich den Fokus nicht so leicht verstellen, deshalb hatte ich sie erst nicht benutzt. Jetzt habe ich es mit einer Zange aber doch noch hinbekommen.
Das Bild mit der anderen Kamera ist immer noch sehr blau, aber es ist jetzt schärfer.Ich probiere heute abend nochmal mein Glück mit der neuen Kamera und melde mich dann nochmal
-
@Atifan die ESP Camera ist hier schon preis leistungstechnisch ganz weit vorne. Fokus geht auch.
-
hat schon mal jemand eine Fisheye Cam probiert? Habe ja bei mir etwas Platzprobleme und Schwierigkeiten die Linse vernünftig auszurichten. Die Kabellänge der Camera lässt auch zu wünschen übrig.
Ich überlege mir diese zu holen, damit ist man flexibler...hoffe ich.
-
@watcherkb sagte in Wasserzähler - Selfmade:
@Atifan die ESP Camera ist hier schon preis leistungstechnisch ganz weit vorne. Fokus geht auch.
Hm ja, aber ich meine gibt es nicht evtl. eine bessere Alternative, vom Preis mal abgesehen.
Ich denke da z.B. an einen Raspberry PI Zero in Verbindung mit einer Raspberry PI CAM.
Wäre zwar etwas teurer, aber evtl. spart man sich dann das gefrickel mit dem Fokus einstellen und rumdoktorn. -
Ich würde evtl. sogar mal etwas mit einer Raspberry Cam rumprobieren, aber wie ist das mit der Auflösung. Müssen die Bilder in einer bestimmen Auflösung sein, damit die Bilderkennung funktioniert? Für den Raspberry gibt es Kameramodule mit 5MP und 8MP.
Würde das gehen mit 5MP Bildern, oder müssten die dann runter skaliert werden?
Das ganze wäre nicht viel teurer als eine ESP-Cam (insgesamt ca. 20-30 Euro), dafür aber bessere Auflösung.
Fertige Software gibts auch -> siehe hier als Beispiel: https://www.youtube.com/watch?v=unVBUrD1QPQ
Ich würde mir dann so eine Cam zusammenbauen + 1 LED an einem GPIO die vorher eingeschaltet wird bevor ein Bild gemacht wird.
Nur bevor ich anfange, würde ich gerne wissen ob das dann überhaupt funktioniert wegen der höheren Auflösung. -
@Atifan Weiter oben steht von jomjol beschrieben, dass eine Auflösung von 800 * 600 benötigt wird.
-
@pfried sagte in Wasserzähler - Selfmade:
hrieben, dass eine Auflösung von 800 * 600 benötigt wird.
Ahso schade, dann hat es sich erledigt. Danke für die Info.
-
Ich wollte nochmal kurz berichten. Bei mir hat es jetzt mit der anderen Cam auch geklappt. Die alte war anscheinend defekt (Bild war zu blau und unscharf).
Also ich habe bisher nur die Zeiger ausgelesen, die Zähler mache ich später.Ich hatte auch Probleme den Kleber von der Kamera abzubekommen um den Fokus zu verstellen. Ich habe es mit einem sehr dünnen Küchenmesser versucht und dann immer mit einer kleinen Zange versucht zu drehen, so lange, bis es dann funktionierte. Ich kann den Fokus auch jetzt nur mit der Zange verstellen, per Hand geht es nicht.
Ich habe zwei Kameras zerstört, bis ich es dann doch mal hinbekommen habe (einmal das Kabel zu weit gebogen, und einmal mit dem Messer abgerutscht und das Kabel getroffen).Ich habe die kleine Tube weggelassen, jetzt ist die Kamera näher am Zähler. Das geht auch gut.
Und noch als Tipp für alle anderen: Nehmt kein Referenbild das sehr nah am Rand des Bildes ist. Das hatte ich erst gemacht, sobald man dann aber die Tube einmal etwas dreht oder so, dann kann es schnell passieren, dass das Referenzbild nicht mehr gefunden wird und dann funktioniert gar nichts mehr.Danke an alle für die Hilfe und besonders an @jomjol für dieses Projekt, es macht sehr viel Spaß
-
Hi @Thomas_s2
ein paar Fragen
- Wie rum hast du dann den Fokus gedreht und wie hast du es eingestellt und getestet?
- Was für ein Abstand hat dein Objektiv zur Wasseruhr?
- Was meinst du mit "Tube" ?
Danke!
-
So Leute, habe noch etwas rumprobiert und bin ein gutes Stück weiter.
Habe mir ein 3D-Modell von einem Werkzeug erstellt, mit dem man den Fokus einstellen kann (Werkzeug_Focus_Linse.stl). Einfach mit 3D-Drucker ausdrucken, Layer 0,2mm und 20% Infill.
Es passt nicht 100% perfekt, aber ich konnte damit meinen Fokus justieren und es geht besser als mit einer Zange und vor allem ohne was zu verschrammen.
Habe die Cam jetzt in ca. 10cm Entfernung von der Wasseruhr und bekomme relativ gute Bildqualität würde ich sagen.
Reicht die Qualität aus, oder muss ich noch irgendwas verbessern? -
@Atifan sieht doch super aus. Jetzt noch die Reflektion mit schwarzem Klebeband abkleben dann ist es perfekt.
Und dank für das Teilen der STL, kann man bestimmt gut gebrauchen. -
Kann mir mal einer nen kurzen Tipp geben was ich machen muss, stehe gerade auf dem Schlauch.
Ich habe bisher folgendes gemacht.-
ESP32 CAM geflasht und über der Wasseruhr platziert
-> Bilder können über den Aufruf der URL gemacht werden: http://192.168.178.238/capture_with_flashlight?quality=10&size=SVGA -
Habe auf meinem NUC ein Docker installiert und das "rolling" Image geladen.
-> habe in der Datei "config.ini" die IP für die ESP32-CAM angepasst -> URLImageSource=http://192.168.178.238/capture_with_flashlight?quality=10&size=SVGA
Wenn ich die IP vom Docker/Bildbearbeitungsserver aufrufe bekomme ich eine Anzeige
-> http://192.168.178.115:3000/wasserzaehler.html
Jetzt weiss ich irgendwie nicht mehr weiter was ich machen soll.
Irgendwie muss ich ja ein Referenzbild auf meinen Bildverarbeitungsserver bekommen welches ich dann bearbeiten muss und wo ich diese Markierungen setzen muss usw. -
-
@Atifan sagte in Wasserzähler - Selfmade:
http://192.168.178.238/capture_with_flashlight?quality=10&size=SVGA
dein Referenzbild bekommst du ja über die Camera direkt (nicht über Dockeraufruf). Dieses Bild speicherst du dir ab und holst dir daraus alle Koordinaten und Ref-Bilder.