diff --git a/README.md b/README.md index 5edad0b..48826e4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,117 @@ # IMX500-Object-Detection-UI Eine interaktive, didaktische Anwendung für den Raspberry Pi 4/5 mit der Sony IMX500 AI Camera. Diese Software visualisiert Schritt für Schritt wie Objketerkennung funktioniert. Von der Rohdatenerfassung bis zum fertigen Ergebnis. +Die Anwendung bietet zwei Lernniveaus ("Schüler" und "Student") und ist für den Einsatz auf Messen, in Schulen oder Universitäten konzipiert. + +🚀 Features +Live-Objektdetektion: Nutzt den Hardware-Beschleuniger des IMX500 Sensors. + +Zwei Lern-Niveaus: +Schüler: 4 vereinfachte Schritte, spielerischer Zugang. +Student: 7 detaillierte Schritte mit technischer Tiefe (Pre-Processing, Tensoren, NMS). + +Interaktiver Workflow: +* Live-Modus: Echtzeit-Erkennung. +* Analyse-Modus: Einfrieren eines Bildes und schrittweise Durchleuchtung der KI-Pipeline. + +Pixel-Inspektor: In Schritt 1 können einzelne Pixel mit der Maus untersucht werden (RGB-Werte), um das Konzept der "Matrix" zu verdeutlichen. + +Gate-Animationen: Zwischen den Analyseschritten werden animierte Erklärungen (Bildsequenzen) abgespielt. + +Bilingual & Audio: Vollständig in Deutsch und Englisch verfügbar, inklusive Sprachausgabe für Erklärtexte. + +Didaktische Visualisierung: +Simulation von Auflösungsreduzierung (Pixelation). +Visualisierung von Feature-Maps (Sobel-Filter). +* Darstellung von Bounding Boxes und Confidence Scores. + +🛠 Hardware-Voraussetzungen +Raspberry Pi 4 oder 5 + +Betriebssystem: Raspberry Pi OS Bookworm (64-bit) (Desktop-Version empfohlen für GUI). + +Kamera: Raspberry Pi AI Camera (Sony IMX500). + +Display: Touchscreen oder Monitor + Maus/Tastatur. + +Audio: Lautsprecher oder Kopfhörer (für die Sprachausgabe). + +📦 Installation + Repository klonen / Dateien kopieren: + git clone https://github.com + Stelle sicher, dass alle Projektdateien (app.py, detector.py, steps.py, Ordner ui/ und assets/) vorhanden sind. + + Abhängigkeiten installieren: + Das System benötigt Python 3, picamera2 (vorinstalliert auf Bookworm) und pygame, sowie die IMX500 firmware imx500. + + ```bash + + sudo apt update +sudo apt full-upgrade + + +sudo apt install imx500-all + + sudo apt install python3-libcamera python3-kms++ python3-pygame + + # Falls numpy fehlt: + + sudo apt install python3-numpy + + ``` + +Nachdem du nun die Voraussetzungen installiert hast, starte den Raspberry Pi neu: + +sudo reboot + Assets prüfen: + Stelle sicher, dass die Ordnerstruktur korrekt ist (siehe unten "Projektstruktur"). Besonders wichtig sind die Bildsequenzen in assets/schritt_X_experte/. + +▶️ Starten der Anwendung +Starte die Anwendung über das Terminal. Du musst den Pfad zu deiner Model-Datei angeben (z. B. ein MobileNet oder EfficientDet Modell, das für den IMX500 kompiliert ist). + + +python3 app.py --model=/usr/share/imx500-models/imx500_network_ssd_mobilenetv2_fpnlite_320x320_pp.rpk + +🎮 Steuerung +Die Anwendung ist für Tastatur- und Mausbedienung optimiert. + +Taste / Aktion Funktion +LEERTASTE Freeze / Unfreeze: Wechselt zwischen Live-Kamera und Analyse-Modus. +ENTER Weiter: Geht zum nächsten Schritt oder bestätigt das "Gate". +BACKSPACE Zurück: Geht zum vorherigen Schritt oder zurück zum Gate. +Mausklick Bedienung der UI-Buttons (Sprache, Home, Audio, Level-Wahl). +Mausbewegung Im "Schritt 1" (Analyse): Zeigt RGB-Werte unter dem Mauszeiger an. +Q oder ESC Beendet das Programm. +📂 Projektstruktur +imx500_gui/ +├── app.py # Hauptprogramm (Controller, Event-Loop) +├── detector.py # Hardware-Interface (Kamera, IMX500 Post-Processing) +├── steps.py # Texte und Bild-Transformationen (Logik) +├── README.md # Dokumentation +├── ui/ # UI-Modul (View) +│ ├── init.py +│ ├── renderer.py # Zeichenfunktionen (Balken, Overlay, Pixel-Grid) +│ ├── textlayout.py # Textumbruch und -formatierung +│ └── theme.py # Farben und Design-Konstanten +└── assets/ # Medien-Dateien +├── Kanit-Bold.ttf # Schriftart +├── landingpagebg.jpg # Hintergrundbild +├── audio/ # MP3 Sprachdateien (DE & EN) +├── schritt_1_experte/ # Bildsequenz Animation Schritt 1 +├── schritt_2_experte/ # Bildsequenz Animation Schritt 2 +├── ... # (weitere Ordner bis schritt_7) +└── schritt_7_experte/ + +🌍 Sprache & Audio +Sprachwechsel: Klicke oben rechts auf den Button DE / EN, um die Sprache der Texte und des Audios zu wechseln. +*Audio-Dateien: + + *Deutsch: schueler_step_X.mp3 + + *Englisch: schueler_step_X_english.mp3 + + *Die Dateien müssen im Ordner assets/audio/ liegen. + +📝 Lizenz +Dieses Projekt wurde für Bildungszwecke entwickelt. + +Entwickelt für Raspberry Pi AI Camera.