• Erste Schritte
  • Hardware & GPIO
  • Projekte
  • Software
    • Webserver
  • Arduino & ESP8266
  • Hausautomatisierung
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Einstieg
    • Erste Schritte
      • Raspberry Pi 3 Einstieg - Starter KitWas brauche und wie starte ich? – Raspberry Pi Einstieg
    • Einrichtung
      • microsd_karte_menuRaspbian Betriebssystem auf eine SD Karte flashen – Einfach & Schnell
      • wlanbluetooth_menuWLAN und Bluetooth einrichten – Raspberry Pi 4
      • wifi_menuWLAN Stick installieren und einrichten – Alternative
      • bash_menuSSH Zugriff einrichten via Putty – Kommandozeilen Zugriff
      • rdp_menuRemotedesktop Verbindung aufbauen – Fernsteuerung
    • Einsteiger Projekte
      • Sinnvolles Raspberry Pi Zubehör
      • 15 Raspberry Pi Projekte für Anfänger
      • Ampelschaltung mit GPIOs
      • GPIOs mit Port Expander erweitern
      • Elektronischer Würfel
      • 13 tolle Projekte für Kinder und Jugendliche
      • Roboter selber bauen
      • In Visual Studio Code mit C++ programmieren
      • Wünsch dir ein Tutorial
    • Programmieren lernen
      • Teil 1: Einführung
      • Teil 2: GPIOs steuern
      • Teil 3: GUI erstellen
      • Teil 4: PWM
      • C# GUI Apps entwickeln
  • Hardware & GPIO
    • 50 der wichtigsten Raspberry Pi Sensoren und Module – Aufgelistet mit Links zu den TutorialsRaspberry Pi Sensoren
    • Beliebte Tutorials
      • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
      • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
      • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Funksteckdosen (433MHz) steuern
      • Raspberry Pi Relais ModulRaspberry Pi: Relais-Schalter per GPIO steuern
      • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
      • Amazon-Alexa-deutsch-auf-dem-Raspberry-Pi-installierenAmazon Alexa (Deutsch) auf dem installieren
      • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
      • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren
      • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
      • Raspberry Pi USB Boot per Stick oder SSD Festplatte einrichtenUSB Boot per Stick oder SSD Festplatte
      • Analog
        • Raspberry Pi MCP3008 ADCMCP3008: Am Raspberry Pi analoge Signale auslesen
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
        • Raspberry Pi PulsmesserRaspberry Pi Pulsmesser: Herzfrequenz messen
        • Joystick am Raspberry Pi benutzen (mit MCP3008)Joystick am Raspberry Pi benutzen (mit MCP3008)
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Drehregler - Rotary EncoderKY040 Drehregler als Lautstärkeregler für den Raspberry Pi
        • Easpberry Pi Soil SensorBodenfeuchtigkeit mit dem Raspberry Pi messen
        • Raspberry Pi KeypadRaspberry Pi Keypad anschließen – Codeschloss
        • Raspberry Pi door sensorÜberwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
        • Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)
      • Funk
        • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren lassen
        • Remote Control Raspberry Pi 433Mhz Radio TransmitterRaspberry Pi mit 433Mhz Funksender fernsteuern
        • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433MHz) steuern
        • Raspberry Pi MiFlora - Xiaomi Pflanzensensor in OpenHAB einbindenMiFlora – Xiaomi Pflanzensensor ins Smart Home einbinden
        • Raspberry Pi RFID RC522 TüröffnerRaspberry Pi RFID RC522 Tags auslesen (NFC)
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation (2.4 GHz): Arduino & Raspberry Pi
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen
        • Raspberry Pi Xbox 360 Wireless ControllerRaspberry Pi mittels Xbox 360 Controller steuern
        • Raspberry Pi GSM Modul - Huawei Internet SticksRaspberry Pi GSM Modul – Mobiles Internet
        • Raspberry Pi Bluetooth DatentransferRaspberry Pi Bluetooth Datentransfer zum Smartphone
      • Infrarot & Laser
        • Raspberry Pi Infrarot FernbedienungRaspberry Pi: Per IR Remote Befehle ausführen
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Laser Lichtschranke für weite DistanzenRaspberry Pi Laser Lichtschranke für weite Distanzen
        • Infrarot Raspberry Pi FernbedienungInfrarot Steuerung einrichten
        • Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messenRaspberry Pi Infrarot Lichtschranke bauen
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
      • Temperatur & Navigation
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorRaspberry Pi: Luftfeuchtigkeit und Temperatur messen
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Raspberry Pi RTC Real Time ClockReal Time Clock Modul steuern
        • Rotation und Beschleunigung mit dem Raspberry Pi messenRotation und Beschleunigung mit dem Raspberry Pi messen
        • Raspberry Pi GPS ModulRaspberry Pi GPS Ortungs- / Navigationsgerät bauen
        • Raspberry Pi Kompass selber bauenRaspberry Pi Kompass selber bauen (HMC5883L)
        • Kontaktlosen Infrarot-Temperatursensor MLX90614 am Raspberry Pi auslesenMLX90614 – Kontaktlos Temperaturen messen
      • Displays
        • Raspberrry Pi HD44780 I2CHD44780 LCD Display per I2C ansteuern
        • Raspbery Pi LCD DisplayRaspberry Pi LCD Display: 16×2 Zeichen anzeigen
        • DisplayTipps & Tricks zum offiziellen 7″ Raspberry Pi Touchscreen
        • Raspberry Pi TouchscreenTestbericht zum 7″ Raspberry Pi Touchscreen Display
        • LCD Touch Display (3.2″) am Raspberry PiLCD Touch Display (3.2″) am Raspberry Pi
        • tft lcd touch displayRaspberry Pi LCD Touch Display Teil 2 – Anpassungen
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtRaspberry Pi LED Matrix – Projektübersicht
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige mit MAX7219 am Raspberry Pi (Anode)
        • Raspberry Pi Tablet Raspad TestberichtRaspberry Pi Tablet „Sunfounder RasPad“ Testbericht
      • Motoren & Sonstige
        • Raspberry Pi Stepper Motor Control with L293D / ULN2003ARaspberry Pi Schrittmotor ansteuern
        • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
        • Raspberry Pi PCA9685 mehrere Servos gleichzeitig steuernMehrere Servo Motoren per Raspberry Pi steuern
        • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
        • How to use a Raspberry Pi Fingerprint Sensor for AuthenticationRaspberry Pi Fingerprint Sensor zur Authentifizierung nutzen
        • Raspberry Pi Akku AdapterRaspberry Pi mit Akkus/Batterien betreiben
        • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
        • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
        • Raspberry Pi WS2812 RGB LED StripWS2812 RGB LED Streifen per Raspberry Pi steuern
        • Raspberry Pi Überwachungskamera LivestreamÜberwachungskamera Livestream einrichten
        • NoIRAufnahmen mit dem offiziellen Kamera Modul
        • Raspberry Pi Zero - establishing an Ethernet connection (ENC28J60)Raspberry Pi Zero – Ethernet Verbindung
  • Software
    • Webserver Installation
      • apache2_menu25Teil 1 – Apache2
      • php_menu25Teil 2 – PHP 5
      • mysql_menu25Teil 3 – MySQL
      • phpmyadmin_menu25Teil 4 – phpMyAdmin
      • ftp_menu25Teil 5 – FTP Server
      • dns_menu25Teil 6 – DNS Server via No-IP
      • home_menu25Homeverzeichnis ändern
      • share_25Samba Server: Dateien im Netzwerk teilen
      • nodejs_menu25Node.js Webserver installieren und GPIOs schalten
      • ssl_menu25SSL Zertifikat kostenlos mit Let’s Encrypt
      • wordpress_25Eigenen WordPress-Server einrichten
      • cloud-25Nextcloud auf dem Raspberry Pi installieren
    • Entertainment
      • led_menu25Raspberry Pi Ambilight für alle Geräte mit OSMC selber bauen
      • amazon_menu25Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
      • controller_25Raspberry Pi RetroPie – Spielekonsole selber bauen
      • kodi_menu25Mediencenter Raspbmc als SmartTV mit dem Raspberry Pi
      • android_25Android TV Box zum selber bauen
      • apple-2316234_640Raspberry Pi als AirPlay-Empfänger
      • jukebox_menu25Raspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.)
      • steam_25Steam Spiele streamen
      • minecraft_menu25Raspberry Pi Minecraft Server
      • youtube_25YouTube Live Streaming einrichten
      • qr-code-tutorials-raspberrypi.de_25Raspberry Pi QR / Barcode Scanner
    • Fernsteuerung
      • rdp_menuRaspberry Pi Remotedesktop Verbindung
      • ssh_menu25SSH Zugriff einrichten via Putty (Windows)
      • vnc_menu25Raspberry Pi mittels VNC fernsteuern
      • welcome_menu25SSH Terminal Begrüßung ändern
      • telegram1_menu25Telegram Messenger auf dem RaspberryPi
      • telegram2_menu25Mit Telegram Messenger Raspberry Pi steuern
      • bluet_menu25Raspberry Pi Bluetooth Datentransfer zum Smartphone
      • alexa_voice_25Eigenen Raspberry Pi Alexa Skill bauen
      • microphone_25Sprachsteuerung selber bauen
      • mqtt_25MQTT Broker/Client Funkkommunikation
      • mail_25Vom Raspberry Pi Emails senden
      • twitter_25Per Twitter Bot Nachrichten posten
    • Weitere
      • loggen_menu25Sensordaten mit ThingSpeak loggen und auswerten
      • mysql_datalogger25Per lokaler MySQL Datenbank zum Raspberry Pi Datenlogger
      • opencv_menu25OpenCV auf dem Raspberry Pi installieren
      • arduino_menu30tWiringPi installieren & Pinbelegung (Raspberry Pi)
      • radio_menu25Raspberry Pi als Radio Sendestation
      • win10_menu25Windows 10 IoT auf dem Raspberry Pi installieren
      • printer_25Drucker einrichten und per Knopfdruck Bilder drucken
      • gsm_menu25Raspberry Pi GSM Modul – Mobiles Internet (LTE, 3G, UMTS)
      • autostart_menu25Autostart: Programm automatisch starten lassen
      • machine-learning-25Raspberry Pi Machine Learning erlernen
  • Projekte
      • roboter_menu30tRoboter
        • Raspberry Pi Roboter ProjektRaspberry Pi Roboter Projektübersicht
        • Raspberry Pi Roboter Bausatz fertigTeil 1: Zusammenbau
        • Raspberry Pi Roboter - Linien folgenTeil 2: Linien folgen lassen
        • Raspberry Pi Roboter per Infrarot Fernbedienung steuernTeil 3: Per Infrarot Fernbedienung steuern
        • Raspberry Pi Roboter: Ultraschall AutopilotTeil 4: Automatisch Hindernissen ausweichen
        • Raspberry Pi Roboter der eigenen Stimme folgen lassenTeil 5: Der eigenen Stimme folgen lassen
        • Raspberry Pi Roboter mit Xbox 360 Controller fernsteuernTeil 6: Mit Xbox 360 Controller Roboter fernsteuern
        • Raspberry Pi Robot Arm 6DOF6-Gelenkigen Roboter Arm am Raspberry Pi betreiben (6 DOF)
      • led_menu30LED Matrix
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtMAX7219 LED Matrix – Projektübersicht
        • 8×8 LED Dot Matrix Parts8×8 LED Matrix – Zusammenbau und Installation
        • Raspberry Pi Bibliothek für mehrzeilige m x n MAX7219 LED MatrizenBibliothek für mehrzeilige m x n MAX7219 LED Matrizen
        • Graphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnenGraphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnen
        • Pong auf MAX7219 Matrizen spielen (mit Joystick) – Raspberry PiPong auf MAX7219 Matrizen spielen (mit Joystick)
        • Snake auf Raspberry Pi MAX7219 Matrizen spielenSnake auf Raspberry Pi MAX7219 Matrizen spielen
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige (Anode) mit MAX7219/MAX7221
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
      • wetterstation_menu30Wetterstation
        • Raspberry Pi Wetterstation mit OpenHAB 2 bauenEigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
        • raspberry_pi_thingspeak_daten_loggenSensordaten mit ThingSpeak loggen und auswerten
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
      • arduino_menu30tArduino & ESP8266
        • ESP8266 Microcontroller BoardEinführung & Programmierung des ESP8266 NodeMCU Boards
        • Raspberry Pi + ESP8266 NodeMCU: Per WLAN Daten sendenRaspberry Pi + ESP8266 NodeMCU: Per WLAN Daten senden
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuernMit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern
        • ESP8266 NodeMCU HD44780 LCD Display per I2C steuernNodeMCU ESP8266: HD44780 LCD Display per I2C steuern
        • ESP8266 Grafikdisplay: Am SSD1306 OLED per I2C Bilder & Text anzeigen
        • ESP8266 Google Maps API RoutenplanerESP8266 Google Maps API Routenplaner auf LCD anzeigen
        • 2000px-Arduino_Logo.svgRaspberry Pi und Arduino – Einführung
        • arduino unoArduino und Raspberry Pi miteinander kommunizieren lassen
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)
        • NodeMCU: ESP8266 mit Solarpanel und Akku mit Strom versorgenNodeMCU: ESP8266 mit Solarzelle und Akku mit Strom versorgen
        • ESP8266 Access Point: Günstigen Wlan Repeater selber bauenESP8266 Access Point: Günstigen Wlan Repeater selber bauen
      • Mini Projekte
        • Raspberry Pi Gewächshaus automatisch selber bauenAutomatisches Raspberry Pi Gewächshaus selber bauen
        • Eigene Raspberry Pi Gartenbewässerung mit Webseite bauenEigene Gartenbewässerung mit Webseite bauen
        • Raspberry Pi Radio StationRaspberry Pi als Radio Sendestation verwenden
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen (Autoradio, Car PC)
        • spotify-logo-primary-horizontal-dark-background-rgbRaspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.) – Online Radio
        • Raspberry Pi RetroPie Guide - SNES Classic Spielekonsole selber bauenRaspberry Pi RetroPie Guide – SNES Spielekonsole bauen
        • Android + Raspberry Pi: Funksteckdosen App BedienungRaspberry Pi + Android/iOS: Funksteckdosen per App schalten
        • Indirekte Deckenbeleuchtung selber bauen mit farbigem LED LichtIndirekte Deckenbeleuchtung selber bauen mit farbigem LED Licht
  • Sonstiges
    • Wünsch dir ein Tutorial
    • News
    • Reviews
      • Pi Cap – Kapazitives Raspberry Pi Erweiterungsboard
      • Raspberry Pi Tablet „Sunfounder RasPad“ – Testbericht & Einrichtung
      • Testbericht zum 7″ Raspberry Pi Touchscreen Display
      • CrowPi 2 Testbericht: Laptop & Lern-Kit für Kinder
      • Daten auf dem Wio Terminal LCD Screen anzeigen
    • Raspberry Pi Zero
      • Offizielles 5$ Raspberry Pi Zero Modul vorgestellt
      • Raspberry Pi Zero – Ethernet Verbindung herstellen (ENC28J60)
      • Raspberry Pi: WS2801 RGB LED Streifen anschließen und steuern
  • Hausautomation
    • OpenHAB
      • steckdose_25Sonoff S20 Wifi Steckdose steuern
      • wireless_25Funksteckdosen (433 MHz) schalten
      • schalter_25Relais steuern (Rollladen, Lichter, etc.)
      • wetterstation_menu30Wetterstation mit OpenHAB 2 bauen
      • ws28_25WS28xx RGB LED Streifen steuern
      • touchscreen_25Touchscreen Panel bei Näherung aktivieren
      • mqtt_25MQTT Datenabfrage: Raspberry Pi an ESP8266
      • spotify_25Remote Spotify Player im Smart Home
      • heizung_25eQ-3 Thermostat im Smart Home
    • Einführung
      • Raspberry Pi Smart Home OpenHAB installierenOpenHAB installieren & konfigurieren
      • Home Assistant auf dem Raspberry Pi – Erste Schritte
    • ESP8266 NodeMCU
      • esp8266_25Einführung & Programmierung
      • arduino_25ESP8266: Arduino IDE installieren
      • lcd_25NodeMCU HD44780 LCD
      • battery_25Batteriebetrieb via Deep-Sleep
      • wifi_menuPer WLAN Daten senden
      • wetterstation_menu30Wetterstation Außenposten
      • maps_25Google Maps Routenplaner
      • wireless_25NodeMCU Funksteckdosen steuern
      • mail_25Vom NodeMCU Emails versenden
      • rgb_25WS2812B LEDs am Smartphone steuern
      • solar_25ESP8266 Stromversorgung mit Solarzelle
    • Überwachung
      • Aufnahmen mit dem offiziellen Kamera Modul des Raspberry Pi
      • Raspberry Pi: Überwachungskamera Livestream einrichten
      • mailbox_25Briefkasten Sensor – Email Benachrichtigung bei neuer Post
      • Raspberry Pi Überwachungskamera mit Webcam betreiben
      • Überwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
      • ESP32 Cam Livestream Tutorial für Kamera Modul
    • Raspberry Pi + Android: Benachrichtigungen von Bewegungsmelder
    • Raspberry Pi + Android/iOS: Funksteckdosen per App schalten
    • Raspberry Pi + Android: Schwenkbarer Kamera-Livestream
      • Smart Home
        • Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
        • Raspberry Pi Funksteckdosen (433MHz) steuern – Tutorial
        • Raspberry Pi Sprachsteuerung selber bauen (Hausautomatisierung)
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Software»Raspberry Pi KI: Objekterkennung mittels TensorFlow und Kamera

Raspberry Pi KI: Objekterkennung mittels TensorFlow und Kamera

Facebook Twitter LinkedIn Tumblr Email Reddit
Raspberry Pi Object Detection TensorFlow Lite
Teilen
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

Der Raspberry Pi ist zu vielem in der Lage, so eignet er sich auch im Bereich Machine Learning. Zusätzlich gibt es Tools wie TensorFlow, die die Raspberry Pi Objekterkennung (Object Detection) mittels vortrainierter neuronaler Netze sehr vereinfachen.

Das Erkennen von Objekten (Personen, Tiere, Autos, etc.) kann z.B. in Überwachungssystemen oder Automatisierungsprozessen („Öffne die Tür, wenn die Katze raus will“), Car PC, uvm. verwendet werden.

In diesem Tutorial installieren wir TensorFlow auf einem neuen Raspberry Pi und schließen eine Kamera an, in dessen Stream die Objekte erkannt und ausgegeben werden.

Benutztes Zubehör

Um dem Tutorial zur Objekterkennung folgen zu können, sind lediglich wenige Komponenten nötig:

  • Raspberry Pi (umso mehr Rechenleistung, umso besser)
  • (Offizielle) Raspberry Pi Kamera
  • Micro SD Karte (16GB+)
  • Stromversorgung
  • Optimal: Kompatibler Touchscreen
  • Optional für mehr FPS: Google Coral USB Accelerator

Du kannst auch jede andere kompatible USB Kamera nutzen. Die Auflösung sollte allerdings ausreichend sein. Das offizielle Raspberry Pi Modul bietet sich aufgrund der kompakten Größe an. Außerdem wird keiner der USB Ports belegt.

 

Was ist Objekterkennung?

Raspberry Pi Objekterkennung mit TensorFlow
Objekterkennung von verschiedenen Obstsorten. Quelle: TensorFlow

Auf Bildern ist es für Menschen recht einfach bekannte Muster und Objekte zu erkennen. Dies kommt daher, dass wir diese Objekte bereits häufig in verschiedenen Ausführungen gesehen haben. Ein Algorithmus kann dies ebenfalls erlernen, indem man ihm die entsprechenden Daten zum Lernen bereit stellt.

Wikipedia sagt dazu:

Object detection is a computer technology related to computer vision and image processing that deals with detecting instances of semantic objects of a certain class (such as humans, buildings, or cars) in digital images and videos. Well-researched domains of object detection include face detection and pedestrian detection. Object detection has applications in many areas of computer vision, including image retrieval and video surveillance.

Einige Beispiele (und Beispielbilder) findet man auf der TensorFlow Website.

 

Vorbereitung Installation von TensorFlow auf dem Raspberry Pi

Wir beginnen mit dem Flashen des Betriebssystems auf eine Micro SD Karte. Hierfür laden wir eine Version von Raspbian (ich benutze Raspbian Buster) von der offiziellen Seite. Um das Image in der Zip-Datei auf die SD Karte zu flashen, kannst du diesem Tutorial folgen.

Anschließend kannst du dich entweder per SSH mit dem Raspberry Pi verbinden, oder aber Bildschirm und Tastatur anschließen und direkt auf dem Pi arbeiten.

Raspberry Pi Kamera CSI PortR
Die Kontaktseite des CSI Kabels muss nach oben.

Wir beginnen damit die Kamera anzuschließen. Die offizielle Kamera wird per CSI angeschlossen (siehe Bild). Wir aktivieren das Modul zunächst:

sudo raspi-config

Unter „Interfacing Options“ > „Camera“ schaltest du die Kamera aktiv und musst danach neustarten.

Falls du eine USB Kamera nutzt, solltest du zunächst prüfen, ob diese erkannt wurde. Mehr dazu gibt es in diesem Tutorial.

 

Installation von TensorFlow Lite

Machen wir nun mit dem Aktualisieren der Paketquellen weiter. Starte das Terminal und gib folgenden Befehl ein:

sudo apt-get update
sudo apt-get upgrade

Anstatt alle Pakete und Dateien selbst zu erstellen, nutzen wir ein veröffentlichtes Repository und klonen dieses.

git clone https://github.com/EdjeElectronics/TensorFlow-Lite-Object-Detection-on-Android-and-Raspberry-Pi tflite1
cd tflite1

In diesem Ordner erstellen wir eine „virtuelle Umgebung“ (virtualenv): Damit ist es möglich unterschiedliche Pakete (und Versionen) für verschiedene Projekte zu installieren, ohne dass man dies global machen muss.

sudo pip3 install virtualenv

Das neue Environment erstellen wir folgendermaßen:

python3 -m venv tflite1-env

Dadurch wird ein Ordner mit dem angegebenen Namen erstellt, der alle Python Pakete für dieses Environment enthält. Diesen aktivieren wir nun.

source tflite1-env/bin/activate

Falls du eine neue Konsole öffnest, muss das Environment erneut aktiviert werden.

Die Installation aller benötigter Pakete, ist zusammengefasst in einem Bash-Skript, das wir ausführen (dauert eine Weile). Alternativ kannst du die Befehle unten auch manuell ausführen.

bash get_pi_requirements.sh

Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
 
# Get packages required for OpenCV
 
sudo apt-get -y install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get -y install libxvidcore-dev libx264-dev
sudo apt-get -y install qt4-dev-tools
sudo apt-get -y install libatlas-base-dev
 
# Need to get an older version of OpenCV because version 4 has errors
pip3 install opencv-python==3.4.11.41
 
# Get packages required for TensorFlow
# Using the tflite_runtime packages available at https://www.tensorflow.org/lite/guide/python
# Will change to just 'pip3 install tensorflow' once newer versions of TF are added to piwheels
 
#pip3 install tensorflow
 
version=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
 
if [ $version == "3.9" ]; then
pip3 install https://github.com/google-coral/pycoral/releases/download/v2.0.0/tflite_runtime-2.5.0.post1-cp39-cp39-linux_armv7l.whl
fi
 
if [ $version == "3.8" ]; then
pip3 install https://github.com/google-coral/pycoral/releases/download/v2.0.0/tflite_runtime-2.5.0.post1-cp38-cp38-linux_armv7l.whl
fi
 
if [ $version == "3.7" ]; then
pip3 install https://github.com/google-coral/pycoral/releases/download/v2.0.0/tflite_runtime-2.5.0.post1-cp37-cp37m-linux_armv7l.whl
fi
 
if [ $version == "3.6" ]; then
pip3 install https://github.com/google-coral/pycoral/releases/download/v2.0.0/tflite_runtime-2.5.0.post1-cp36-cp36m-linux_armv7l.whl
fi
 
if [ $version == "3.5" ]; then
pip3 install https://github.com/google-coral/pycoral/releases/download/release-frogfish/tflite_runtime-2.5.0-cp35-cp35m-linux_armv7l.whl
fi
 

 

Beispielprojekt: Raspberry Pi Objekterkennung mittels Kamera-Livestream

TensorFlow Lite arbeitet mit sogenannten „Detection Models“. Hierfür kann man seine eigenen Modelle trainieren, um Objekte zu erkennen. Alternativ bietet Google (und andere) ebenfalls solche Modelle zum Download an. Jedes Modell besteht aus folgenden zwei Dateien:

  1. detect.tflite: Enthält den Graphen des Models (nicht-lesbarer Bytecode)
  2. labelmap.txt: Enthält die entsprechenden Bezeichnungen (Labels) der Objekte als Textdatei. Diese Namen kannst du ändern (z.B. übersetzen).

Auf der offiziellen TensorFlow Webseite findet sich ein solches Model zum Download („Download starter model and labels“). Kopiere diesen Link (Rechtsklick) und ersetze ihn im folgenden Befehl ().

wget <Link>

Anschließend entpacken wir die Datei in einen Ordner:

unzip coco* -d Sample_TF_Lite_Model

 

Nun führen wir die Python Datei aus (falls du per SSH arbeitest, muss X11 installiert sein):

python3 TFLite_detection_webcam.py --modeldir=Sample_TF_Lite_Model

Es öffnet sich ein neues Fenster, in dem der Kamerastream zu sehen ist. Außerdem sind die Rechtecke markiert, in denen Objekte gefunden wurden.

Raspberry Pi Object Detection TensorFlow Lite

Bei mir wurden folgende Objekte richtig erkannt:

  • Dining Table
  • Cell Phone
  • Apple
  • Orange
  • Banana

Wie du siehst, gibt es zusätzliche Prozentangaben, wie wahrscheinlich es ist, dass es sich um jenes Objekt handelt.

Wenn wir uns die entsprechende Datei ansehen, erkennen wir, dass Tensorflow uns ebenfalls die Rechtecke (Boxen), Labels und Scores ausgibt.

Python
184
185
186
187
188
 
    # Normalize pixel values if using a floating model (i.e. if model is non-quantized)
    if floating_model:
        input_data = (np.float32(input_data) - input_mean) / input_std
 

Im nächsten Tutorial gehen wir genauer darauf ein, wie man einfach sein eigenes Model trainiert und einbindet.

Computer Vision DIY selber machen Image Processing KI Machine Learning OpenCV opencv 3.0.0 python Tensorflow
Teilen Facebook Twitter Pinterest LinkedIn Tumblr Email
Vorheriger BeitragMCP3008: Read out Analog Signals on the Raspberry Pi
Nächster Beitrag Develop Your Own Raspberry Pi Alexa Skill and Control Pi Remotely

Ähnliche Beiträge

Mit der Raspberry Pi REST API via Python alle GPIOs steuern

Supercomputer: Wir bauen ein Raspberry Pi Kubernetes Cluster

Raspberry Pi: Java 11 mit Spring Boot installieren und GPIOs steuern

TensorFlow Lite mit Google Coral TPU am Raspberry Pi 4 nutzen

40 Kommentare

  1. Michael am 13. April 2020 11:23

    Hallo,
    die vorgestellte Anwendung Objekterkennung mittels TensorFlow und Kamera ist sehr interessant.
    Nun möchte ich nicht die vorgestellten Objekte in diesem Beispiel erkennen sondern ein Eichhörnchen im Garten.

    Was muss ich tun und welche Software benutzen (iOS), um ein Eichhörnchen Foto für die Objekterkennung aufzubereiten?

    Antworten
    • Felix am 15. April 2020 12:51

      Ich bin dabei ein weiteres Tutorial zu erstellen, in dem ich zeige wie mannsehr einfach sein eigenes Modell in Tensorflow nutzt. Kommt demnächst 🙂

      Antworten
      • Axel am 25. April 2020 13:51

        Hallo Felix,
        danke für die Anleitung. Ich warte auch sehnlichst auf das neue Tutorial für die eigenen Modelle (Katzen). Ich habe abe rnoch zwei kleine Probleme. Meine Kamera hat einen Rot/rosa Stich und das Programm hängst sich nach einer Zeit auf. Hast du eine Idee woran das liegen Kann?
        Danke

        Axel

      • Felix am 25. April 2020 17:47

        Hallo Axel,
        das Tutorial kommt wahrscheinlich morgen.
        Welche Kamera nutzt du denn?

        Edit: Link ist im Tutorial ergänzt.

        LG, Felix

      • Petros am 19. Juli 2021 11:18

        Hallo,

        gibt es dieses Tutorial schon?

  2. Udo am 13. April 2020 13:05

    Super Tool
    hat auch auch Funktioniert ,konnte wie im Beispiel Objekte erkennen .Super Tutorial ,Dankeschön
    Wenn ich das jetzt nochmal Probiere kommt die Fehlermeldung
    „TF_Lite_Model
    Traceback (most recent call last):
    File „TFLite_detection_webcam.py“, line 19, in
    import cv2
    „ModuleNotFoundError: No module named ‚cv2‘

    Mit freundlichen Grüßen
    Udo

    Antworten
    • Felix am 15. April 2020 12:53

      Hast du das gleiche virtual environment aktiv?

      Antworten
      • Udo am 19. April 2020 13:21

        Hallo Felix ,
        hat so Funktioniert Dankeschön

        Udo

  3. Reiner am 16. April 2020 13:04

    Ich komme leider nicht weiter: Nach dem clonen des Tensor-Flow Programmes, bekomme ich immer die Meldung „Kein Speicherplatz mehr verfügbar“. trotz einer 32 GB SD Karte auf einem Raspberry 3B+.

    Antworten
    • Felix am 16. April 2020 22:50

      Unter raspi-config kannst du einstellen, dass der gesamte Speicherplatz der SD Karte genutzt werden soll (expand).

      Antworten
  4. Axel am 26. April 2020 23:25

    Hallo Felix,

    ich nutze die „grüne“ original Raspberry V2.1. Die Einzelbilder sehn gut aus, aber die Bilder die ich die Remoteverbindung von deinem Script angezeigt bekomme, sind deutlich dunkler und haben einen rot Stich. Gibt es die Möglichkeit eines Weißabgleiches?

    Besten Dank

    Axel

    Antworten
    • Felix am 27. April 2020 21:58

      Hallo Axel,
      die Bildern holen wir über das OpenCV Package, mit dessen Hilfe du es vor dem Processing Schritt auch bearbeiten kannst.

      Antworten
  5. Jakob am 21. Juli 2020 14:32

    Hi Felix,

    Dankeschön erstmal für dein super Tutorial. Bin gerade dabei dieses umzusetzen für unsere zukünftigen Praktikanten.

    Nun zu meiner Frage.
    Nachdem herunterladen des Models von der TensorFlow Webseite und erfolgreichen entpacken bekomme ich die Fehlermeldung :

    „can´t open file ‚TFLite_detection_webcam.py‘: [Errno 2] No such file or directory

    Innerhalb der Zip Datei habe ich auch nur
    – detect.tflite
    – labelmap.txt

    –> Dateipfad hab ich angepasst

    Was mach ich Falsch?

    Dankeschön!
    Gruß,
    Jakob

    Antworten
  6. Stefan am 26. Juli 2020 14:14

    Hallo Felix,
    super Anleitung.
    Gibt es auch die Möglichkeit eine Netzwerkkamera mit Stream einzubinden ?
    Ich wollte jetzt nicht unbedingt eine zweite Kamera installieren.

    Danke im Voraus.

    Antworten
  7. Noah am 13. August 2020 14:32

    Hey ,
    tolles Tutorial! Klappt alles.
    Nur wie kann ich es realisieren, dass z.B. eine bestimmte Funktion ausgelöst wird, sobald ich z.B. zu 60% ein Apfel im Bild habe?
    Ist das möglich?

    Antworten
  8. Jannis am 30. September 2020 18:17

    Hallo,
    leider habe ich ein Problem bei dem Schritt mit dem Befehl ,,unzip coco* -d Sample_TF_Lite_Model“. Immer wenn ich diesen ausführe, bekomme ich als Ausgabe, dass es diese ZIP Datei nicht gibt… Kann mir da vielleicht jemand helfen?

    Antworten
    • Felix am 4. Oktober 2020 13:17

      Kannst du mal mit ls ausgeben, welche Dateien im Verzeichnis existieren?

      Antworten
      • Jannis am 10. Oktober 2020 13:18

        Hallo,
        als Ausgabe nach dem Befehl „ls“ bekomme ich dann:
        ‚1?lite-format=tflite‘ test1.jpg
        Android test.mp4
        doc tflite1-env
        get_pi_requirements.sh TFLite_detection_image.py
        Raspberry_Pi_Guide.md TFLite_detection_stream.py
        README.md TFLite_detection_video.py
        ssd_mobilenet_v1_1_metadata_1.tflite TFLite_detection_webcam.py

        Viele Grüße

    • Max Hager am 30. Oktober 2020 18:57

      Konntest du das Problem lösen?

      Antworten
    • Max am 31. März 2021 18:20

      Probiere den Link: https://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip

      –> du hast den falschen benutzt, hatte selbes Problem

      Antworten
      • Josef am 21. Januar 2025 10:31

        danke <3

  9. Alfons Ippisch am 10. Oktober 2020 12:34

    Mit wget komme ich nicht weiter. Ein Beispiel mit einen funktionierden Eintrag würde mir helfen.

    Antworten
  10. Korbinian am 20. Oktober 2020 10:02

    Hallo zusammen,
    Leider komme ich nicht weiter.
    Bekomme nach: python3 -m venv tflite1-env
    immer folgende Fehlermeldung:
    Error: Command ‚[‚/home/pi/tflite1/tflite1-env/bin/python3‘, ‚-Im‘, ‚ensurepip‘, ‚–upgrade‘, ‚–default-pip‘]‘ returned non-zero exit status 1

    Kann mir jemand helfen?
    Vielen Dank!

    Antworten
  11. Neil am 16. November 2020 19:37

    Ich komme nicht weiter beim Schritt: „Startermodell herunterladen“. Der Link lädt lediglich eine „ssd_mobilenet_v1_1_metadata_1.tflite“ Datei. Was mache ich falsch?

    Antworten
  12. Neil am 16. November 2020 19:44

    Arghh… der Link ist weiter unten: https://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip

    Antworten
  13. Neil am 17. November 2020 13:58

    Dieses Tutorial läuft nicht auf Raspberry PI 4 2B
    1) Die angegebene OpenCV Version existiert nicht für diese Platform
    2) Mit numpy gibt es auch gerade ein Problem

    Antworten
  14. Yücel am 14. Januar 2021 9:48

    Ich möchte die Werte von Ganz normalen Würfeln von 1 bis 6 von senkrecht oben
    fotografiert, erkennen. um die Daten zu speichern. Ginge das mit diesem System?
    Welche Ausrüstung wäre nötig?

    Antworten
  15. Michael_HH am 23. Februar 2021 11:34

    Vielen Dank für diese Anleitung!
    Top, funktioniert sofort!
    Im Vergleich zu anderen Tutorials (z.B. auf Youtube) extrem einfach und nachvollziehbar.

    Antworten
    • Felix am 23. Februar 2021 22:59

      Freut mich, dass es dir gefallen hat 🙂

      Antworten
  16. Michael_hh am 24. Februar 2021 11:27

    Hallo Felix,

    nachdem ich gestern dieses Beispiel sofort zur Funktion brachte, wollte ich mit einem eigenen Modell experimemtieren. (Ihr zweites Tutorial) klappte leider nicht — sehr viele Fehlermeldungen.

    Da der Code / das Beispiel von dieser Seite (Raspberry Pi KI: Objekterkennung mittels TensorFlow und Kamera) hervorragend funktioniert, würde ich gern die Trainingsfiles von Google (converted_tflite.zip bzw. labels.txt und model_unquant.tflite) hier einfügen, finde da aber keine Möglichkeit.

    Gibts da eine Lösung?

    Danke, Michael

    Antworten
  17. Michael_hh am 24. Februar 2021 13:38

    NACHTRAG
    Die genannten vielen Fehlermeldungen im zweiten Tutorial scheinen daher zu kommen, dass der Link: wget https://github.com/PINTO0309/Tensorflow-bin/raw/master/tensorflow-2.1.0-cp37-cp37m-linux_armv7l.whl ins Leere läuft (404) und keine Alternative zu finden ist. (Jedenfalls nicht für mich Anfänger) 😉

    Antworten
    • erki am 21. Juni 2021 13:44

      läuft auch bei mir ins leere.. hab leider auch nichts weiteres gefunden auf dem repository.

      Antworten
  18. Ingo am 1. März 2021 15:47

    Hi Felix,
    ich würde gerne alle xx Minuten meinen Stromzählerstand fotografieren, mit der Objekterkennung die Zahl auslesen und in eine Tabelle schreiben.
    Geht das mit TensorFlow?

    Gruß Ingo

    Antworten
    • Felix am 2. März 2021 0:30

      Hi Ingo,
      das geht zwar, aber dafür bietet sich OpenCV besser an, da es genau das mitbringt, was du brauchst. Bei Interesse kann ich dazu mal ein Tutorial erstellen.
      LG, Felix

      Antworten
      • Ingo am 2. März 2021 10:11

        Hi Felix,

        ein Tut dazu wäre echt super!!!
        Momentan knipse ich alle 10 Minuten ein Foto vom Stromzähler und schneide mit MovieMaker ein tägliches Zeitraffervideo zusammen.
        Anderen Lösungen mit dem PI ein Zeitraffervideo zu erstellen scheitern an meiner Beschränktheit ☺

        Gruß Ingo

  19. Björn am 21. März 2022 16:41

    Hallo Felix, vielen Dank für das super beschriebene Tutorial. Ich komme allerdings an einer bestimmten Stelle nicht weiter.

    Beim Erstellen des wheels erhalte ich folge Meldung:
    „Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
    ERROR: tflite_runtime-2.5.0.post1-cp39-cp39-linux_armv7l.whl is not a supported wheel on this platform.“

    Ich habe im Netz nach einer Lösung gesucht und es mit „pip install –upgrade pip setuptools wheel“ versucht. Auch habe ich es mit der aktuellen opencv-Version 4.5.5 versucht leider scheitert es bei mir immer an dieser Stelle und ich bin mit meinem laienhaftem Latein am Ende.

    VG Björn

    Antworten
    • Björn am 22. März 2022 0:00

      Okay, ich habe den „Fehler“ gefunden. Ich habe ein PI-OS 64bit-Version auf dem Raspi. Mit der tflite_runtime Version tflite_runtime-2.5.0.post1-cp39-cp39-linux_aarch64.whl scheint es nun zu funktionieren.

      Antworten
  20. Matthias am 5. August 2022 19:48

    Den Link oben

    Auf der offiziellen TensorFlow Webseite findet sich ein solches Model zum Download („Download starter model and labels“). Kopiere diesen Link (Rechtsklick) und ersetze ihn im folgenden Befehl ().

    gibt es nicht mehr. Es kommt 404.
    Da ich mit den Sachen hier neu bin, wäre eine korrekte URL super.

    Antworten
  21. Alex am 20. August 2023 20:59

    hallo

    ich habe das problem das wenn ich mein model benutze immer die meldung bekomme index out of range, woran kann das liegen?

    Antworten
  22. Thomas am 23. November 2024 21:21

    Hallo zusammen,

    ich möchte einen Raspi 5 kaufen, ist der zu den Besipielen kompatibel?
    Danke und Gruss
    Thomas

    Antworten

Hinterlasse einen Kommentar Antwort abbrechen

Raspberry Pi Keypad anschließen – Codeschloss

Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)

Raspberry Pi GPS Ortungs- / Navigationsgerät bauen

Raspberry Pi Ampelschaltung mit GPIO Teil 2

Mit der Raspberry Pi REST API via Python alle GPIOs steuern

Raspberry Pi Bluetooth Datentransfer zum Smartphone

Blog abonnieren

Abboniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Kontakt & Impressum
  • Unterstützen
  • Datenschutz

Tippe den Suchbegriff oben ein und drücke Enter, um danach zu suchen. Drücke Esc, um abzubrechen.