Bilderkennung mit Electreeks® SpyAgent

Ein einfaches Objekterkennungstool

Gemacht mit ❤️ von uns!

Setz eine AI Bilderkennung auf deinen Raspberry Pi Livestream mit unserem neuen Programm zur Objekterkennung: dem Electreeks SpyAgent! Hier kannst du es downloaden und ruckzuck einrichten.

Objekte erkennen: Mini AI Objekttracking mit dem Electreeks SpyAgent

Wir haben uns als Programmierer verkleidet und ein kleines Tool erschaffen, mit dem du auf einen bestehenden HTTP Livestream deines Raspberry Pi (z.B. MotionEye, MJPG-Streamer) eine Bilderkennung mit dem SpyAgent von Electreeks im Browser deines PCs aufsetzen kannst.

Damit hast du immer im Blick, was auf deinem Raspberry Pi Kamera Livestream gerade los ist.

Auf dieser Seite erklären wir dir, wie du es installierst.

 

Bei dem Electreeks SpyAgent handelt es sich um ein offenes Projekt. Es ist also möglich als Softwareentwickler sich an der Weiterentwicklung des Tools maßgeblich zu beteiligen. Hast du hierzu fragen, schreib uns einfach an.

Natürlich versuchen wir selbst das Programm stetig weiterzuentwickeln, damit der Use-Case für dich noch höher wird. Schau einfach gespannt auf GitHub, im Newsfeed unserer Home-Seite oder in unseren Sozialen Kanälen nach neuen Releases.

 

Kleine Hinweise noch zu Beginn:

Das Tool an sich ist nicht für das Abspielen auf dem Raspberry Pi gedacht. Bilderkennung ist einfach zu Ressourcen-Intensiv, als dass es auf einem solchen funktioniere. Daher der Raspberry Pi Livestream, um das Bild im Netzwerk zuzugreifen.

Sofern du deinen Livestream nicht über eine Portfreigabe im Internet freigegeben hast, ist dieser nur über dein lokales Netzwerk erreichbar.

Als Livestream kann auch OctoPrint dienen (dieses nutzt ebenfalls den MJPG-Streamer als Livestream Feature). Jedoch kann es zu Problemen kommen, da in der Regel Login-Daten benötigt werden.

ai-raspberry-pi-objekterkennung-bilderkennung-electreeks-spy-agent

Electreeks SpyAgent in Aktion: Im guten Winkel und Licht kann das Programm reichlich Objekte erkennen – Selbst im Nachtsichtmodus.

Vorbereitung

Für die Installation benötigst du folgendes Equipment:

Optional:

Zusätzlich musst du einen HTTP Livestream auf deinem Raspberry Pi installieren. Das kannst du mit MotionEyeOs oder MJPG-Streamer einfach einrichten. Für beides haben wir für dich eine Anleitung.

Genug der Eigenwerbung. Steigen wir in die Installation ein!

raspberry-pi-kamera-case-gehäuse-flexkabel-electreeks

Installation

Übersicht:

  1. Download von GitHub
  2. In Download-Ordner wechseln
  3. Abhängige Tools installieren
  4. HTTP-Livestream auf Raspberry Pi bereitstellen
  5. Electreeks SpyAgent-Server starten
  6. Starten im Browser

1. Download von GitHub

Die Installation erfolgt über das Terminal. Öffne also dein Terminal bzw. Putty auf dem PC/Mac und führ die folgenden Schritte aus:

SpyAgent Objekttracking-Tool vom GitHub Repository herunterladen:

$ git clone https://github.com/electreeks/spyagent.git

Das Programm wird in den Ordner geladen, indem du dich gerade befindest. Im Standardfall ist das das Homeverzeichnis (z.B. mac/users/username).

Du kannst es jetzt in den Ordner deiner Wahl verschieben oder einfach da lassen. Wenn du es verschiebst, merk bzw. kopier dir den Pfad.

2. In Download-Ordner wechseln

Wechsel in das Verzeichnis des Tools:

$ cd path-to-your-project/spyagent/ElectreeksTool

Hast du es nicht verschoben, sollte es bereits direkt in dem Ordner sein, indem du dich gerade befindest. In dem Fall reicht die Eingabe “spyagent/ElectreeksTool”.

3. Abhängige Tools installieren

Installier folgende abhängigen Tools:

Geh sicher, dass pip und python installiert und up-to-date ist.

$ pip install django==3.1.2 numpy opencv-python

(Die Release notes findest du unten.)

4. HTTP-Livestream auf Raspberry Pi bereitstellen

Wie oben bereits erwähnt, ist das Tool nicht direkt für den Raspberry Pi geeignet, da die Objekterkennung zu ressourcenintensiv ist. Daher richten wir einen HTTP Livestream auf dem Pi ein, um diesen dann mit unserem PC im lokalen Netzwerk aus weiter zu verarbeiten.

Die einfachsten Möglichkeiten zum Bereitstellen eines Livebildes sind:

  1. MotionEyeOS
  2. MJPG-Streamer

Die Verwendung von OctoPrint ist ebenfalls möglich. Jedoch werden in der Regel Login Daten verlangt, was beim zugreifen auf den Stream Probleme bereiten kann. Die Streaming-URL von OctoPrint sieht wie folgt aus:

http://ip-of-your-pi/?action=stream

 

MotionEyeOS:

Zur Installation von MotionEyeOS haben wir ein ausführliches Tutorial. Als Text, sowohl als Video. Schau hier vorbei!

Im Menü findest du dann deine Streaming URL. Diese sieht im Normalfall wie folgt aus:

http://ip-of-your-pi:8081

 

MJPG-Streamer:

MJPG Streamer setzt ein installiertes Raspberry Pi OS voraus (vormals Raspbian).

Raspberry Pi OS Anleitung: Mit Mac, Mit Windows, via NOOBs Install-Setup

Eine Installationsanleitung für MJPG-Streamer findest du im GitHub Repository. Wir arbeiten daran, in Kürze eine eigene Anleitung zur Verfügung zu stellen. Hier gehts zum GitHub-Repository von MJPG-Streamer.

Die Streaming-URL des MJPG-Streamer sieht so aus:

http://ip-of-your-pi:8000/?action=stream

5. Electreeks SpyAgent-Server starten

Wechsel zurück in das Terminal (innerhalb des oben gezeigten Verzeichnisses) und starte nun den Server:

$ python3 manage.py runserver

Das Programm verlangt jetzt die Streaming-URL. Füge diese ein und bestätige mit Enter.

Hat alles geklappt, sollte der lokale Server jetzt starten.

spyagent-start-server-ip-objekttracking-bilderkennung-electreeks

6. Starten im Browser

Öffne deinen Browser und gib in die URL-Eingabeleiste die Server-URL ein:

127.0.0.1:8000

bzw.

localhost:8000

browser-objekterkennung-server-spyagent-electreeks

Voila nun sollte der Stream und die Objekterkennung starten, wie im Beispielbild oben dargestellt. Viel Spaß beim Testen!

Beenden kannst du das Programm durch Eingabe von CTRL+C im Terminal.

Gibt es Probleme? Schau auf der Troubleshooting unseres GitHub Repository nach oder schreib es in die Kommentare.

Release Notes:

Version: 1.0.0-beta.local 

bisher getestet mit:

  • Python 3.8x, 3.9.x
  • Django 3.1.x
  • OpenCV-Python 4.4.x

Folg uns auf Instagram:

@electreeks_de

 

View this post on Instagram

 

A post shared by Electreeks (@electreeks_de)

Schreibe einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit * markiert.

Kommentieren