Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Linux Tool zur Gesichtserkennung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Linux Tool zur Gesichtserkennung

    This topic has been deleted. Only users with topic management privileges can see it.
    • U
      uwe72 @ChrisXY last edited by

      @coyote

      Hallo,
      ich wollte mal fragen, ob jemand eine (die) Gesichterkennung in einem Script in ioBroker am Laufen hat?

      Ich habe eine Personenerkennung am laufen, möchte diese aber nun noch auf Gesichter erweitern.

      Als Basis habe ich mir dieses angeschaut:
      https://github.com/justadudewhohacks/face-api.js

      Mir ist aber noch nicht ganz klar was ich exakt tun muss, d.h. welche NPM Module muss ich installieren. Wie ist der JavaScript Code im ioBroker.

      Kann mir hier jemand weiterhelfen?

      coyote 1 Reply Last reply Reply Quote 0
      • coyote
        coyote Most Active @uwe72 last edited by

        @uwe72 ich nutze keine Gesichtserkennung. Habe momentan "Frigate" am Laufen, das hat keine Gesichtserkennung.

        I 1 Reply Last reply Reply Quote 1
        • I
          iobroker_Alex @coyote last edited by

          @coyote Kannst du mir bitte auf die Sprünge bei Frigate helfen:
          Mein Ziel ist es, dass ich per Telegram (im eigenen Bot) immer einer Nachricht bekomme, wenn eine Person oder ein Auto erkannt wird.

          Hab Frigate am laufen und als MQTT Broker den Iobroker integriert. Hier wird dann ja auch gemeldet, dass ein Objekt erkannt wurde. Um mir unnötig arbeit zu ersparen habe ich mir HASS im Docker installiert und dort die Frigate Integration installiert. Zudem lasse ich den HASS MQTT-Broker auf den Iobroker lauschen. Leider komme ich mit HASS hier nicht so recht klar, aber vielleicht hast du einen Tipp wie ich weiter machen sollte um mein Ergebnis zu bekommen.

          So wie ich es vermute hast du auch HASS und Iobroker am laufen. Könntest du mal dein Setup vorstellen und sagen wie du benachrichtigt wirst bzw. wie du dir im Zweifel die Clips anschaust?

          Danke dir!

          coyote 1 Reply Last reply Reply Quote 0
          • coyote
            coyote Most Active @iobroker_Alex last edited by

            @iobroker_alex
            nein habe kein HASS laufen. Wie du schon sagst, habe ich es auch einfach in MQTT eingebunden in iobroker. Habe mir einfach ein Script gebaut, dass wenn in MQTT ein Objekt erkannt wird, bekomme ich über Telegram eine Nachricht geschickt mit einem Snapshot des aktuellen Kamera Bildes.
            Leider funktioniert es nicht, den Snapshot des über MQTT übertragenen Bildes direkt über iobroker zu Telegram zu schicken. Heißt, wenn ein Objekt erkannt wird löst bei mir über das Script direkt einen Snapshot aus und den schicke ich mir per Telegram

            I 1 Reply Last reply Reply Quote 0
            • I
              iobroker_Alex @coyote last edited by

              @coyote ja okay, dann ziemlich ähnlich wie ich... Hast du das Skript ggf mal als Beispiel da?

              Meine Idee war eigentlich HASS im Hintergrund und genau nur für diese Sache laufen zu lassen, da der Screenshot hier ja anscheinend per MQTT mitübertragen werden kann...

              Am besten Wäre natürliche eine Iobroker Integration 😉

              coyote 1 Reply Last reply Reply Quote 0
              • coyote
                coyote Most Active @iobroker_Alex last edited by

                @iobroker_alex
                Mir wäre auch lieber, dass ich direkt den Snap benutzen kann der über MQTT in iobroker kommt, habe ich aber nicht hinbekommen, da stimmt was mit der Codierung nicht. Daher habe ich es so gelöst, dass ein Snapshot der Kamera ausgelöst wird, gespeichert in iobroker und über Telegram verschickt wird.
                So:

                //##################  Frigate Garage Cam Person ausgelöst  ####################
                
                
                var request = require('request');
                var fs      = require('fs');
                
                  var dest_path = '/opt/iobroker/foto/';
                
                on({id: 'mqtt.0.frigate.garage.person', change: "ne"}, function (obj) {
                    
                    if(getState('javascript.0.Sperren.TelegramNotifyAus').val === true){
                        var time = new Date();
                        setState('javascript.0.Sperren.time', time);
                           if (obj.state.val === 1){   
                         saveImage();
                         log('Person erkannt Frigate')    
                         }
                    }
                });
                
                //######### Bild speichern und verschicken für Garagen Cam ##########
                
                // Bild speichern
                function saveImage() {
                    var source_url = 'http://192.168.XX.XX:5000/api/garage/person/best.jpg';   //Frigate IP
                    request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                        fs.writeFile(dest_path + 'cambild.jpeg', body, 'binary', function(err) {
                
                        if (err) {
                            log('Fehler beim Bild speichern: ' + err, 'warn');
                        } else {
                            log('Webcam Bild gespeichert');
                            sendImage(dest_path + 'cambild.jpeg');
                        }
                      }); 
                    });
                }
                
                // Bild an telegram schicken 
                function sendImage (pfad) {
                    var zeit = getState('javascript.0.Sperren.time').val;
                        sendTo('telegram', {text: pfad, caption: 'Person erkannt Garage Frigate ' +zeit});  //Bild mit Text
                        log('Bild gesendet Frigate');
                }
                

                Die "Sperren" kannst du natürlich weg lassen, das ist für mich, dass ich die Objekterkennung über Telegram deaktivieren kann.

                A 1 Reply Last reply Reply Quote 2
                • H
                  hohmannc @coyote last edited by

                  @coyote bist du inzwischen mit Gesichtserkennung schon weiter?
                  Meine Linux Kenntnisse sind noch eingeschränkt, gibt es irgendwo eine Anleitung zur Installation von Viseron, das ist aus der readme ja irgendwie nicht so erkennbar.

                  kann man Viseron dann via MQTT die Ergebnisse in iobroker abfragen?

                  Danke!

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    hohmannc @hohmannc last edited by

                    @hohmannc ah ok, die iobrokerfrage hat sich schon geklärt XD

                    coyote 1 Reply Last reply Reply Quote 0
                    • coyote
                      coyote Most Active @hohmannc last edited by

                      @hohmannc nutze viseron schon lange nicht mehr. Gesichtserkennung brauche ich nicht, daher nutze ich "frigate" mit einer Google TPU zur Objekterkennung.

                      Viseron kannst du in einem Docker Container installieren, so steht es auch unter "Getting started" auf der Viseron Github Seite.

                      1 Reply Last reply Reply Quote 0
                      • A
                        anselra @coyote last edited by

                        @coyote genau sowas hebe ich gesucht, bin von deiner Idee sehr angetan und wollte diese übernehmen. Leider bekomme ich die Sperre nicht raus.

                            if(getState('javascript.0.Sperren.TelegramNotifyAus').val === true){
                                var time = new Date();
                                setState('javascript.0.Sperren.time', time);
                                   if (obj.state.val === 1){
                        

                        diesen Part habe ich entfernt und diesen

                        zeit = getState('javascript.0.Sperren.time').val;
                        

                        leider bekomme ich dann folgenden Fehler

                        javascript.0 (22119) script.js.common.FrigateCAMEingang compile failed: at script.js.common.FrigateCAMEingang
                        

                        Für einen Tipp wäre ich sehr dankbar,
                        Gruß anselra

                        coyote 1 Reply Last reply Reply Quote 0
                        • coyote
                          coyote Most Active @anselra last edited by

                          @anselra probier mal so:

                          on({id: 'mqtt.0.frigate.garage.person', change: "ne"}, function (obj) {
                                     if (obj.state.val === 1){   
                                   saveImage();
                                   log('Person erkannt Frigate')    
                              }
                          });
                          
                          A 1 Reply Last reply Reply Quote 0
                          • A
                            anselra @coyote last edited by

                            @coyote vielen dank, jetzt geht es

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            434
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

                            8
                            24
                            4240
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo