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.
Electreeks SpyAgent ist nur für den Einsatz mit Google Chrome optimiert.
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.

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:
- Einen PC/Mac
- Einen Raspberry Pi + Zubehör (Ladekabel, SD-Karte)
- Eine Raspberry Pi Kamera
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.
Tipp: Am Ende dieses Tutorials kannst du die Produkte direkt in den Warenkorb legen und dir dadurch einen Rabatt sichern!
Genug der Eigenwerbung. Steigen wir in die Installation ein!

Installation
Übersicht:
- Download von GitHub
- In Download-Ordner wechseln
- Abhängige Tools installieren
- HTTP-Livestream auf Raspberry Pi bereitstellen
- Electreeks SpyAgent-Server starten
- 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:
- MotionEyeOS
- 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.

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

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:
Versionen:
1.0.0-beta.local [09.01.2021]
2.0.0-local [04.11.2021]
bisher getestet mit:
- Python 3.8x, 3.9.x
- Django 3.1.x
- OpenCV-Python 4.4.x
View this post on Instagram