inteintegrity2026-10-16

Eine Edge-AI-Anwendung mit Codex auf reComputer RK3576 entwickeln

Erfahren Sie anhand einer YOLOv8-WebUI zur Videoerkennung, wie Codex einen reComputer RK3576 per SSH untersucht, die vorhandene NPU-Umgebung wiederverwendet, eine Anwendung entwickelt und bereitstellt und den gesamten Ablauf vom Upload bis zum Download auf echter Hardware prüft.

CodexEdge AICVGitHub

Entwicklung einer Edge-AI-Anwendung mit Codex auf reComputer RK3576

Wie wird aus einer Anwendungsidee ein Programm, das auf einem Edge-AI-Board läuft? Dieses Projekt führt durch eine praktische Entwicklungssitzung mit Codex: Verbindung mit einem reComputer RK3576 herstellen, die Umgebung untersuchen, die Anwendung beschreiben, sie per SSH bereitstellen und auf dem Gerät überprüfen.

Das Beispiel ist eine YOLOv8-WebUI zur Videoerkennung. Im PC-Browser können Sie eine MP4-Datei hochladen, die Erkennung auf der NPU des RK3576 ausführen und ein Video mit Erkennungsrahmen, Klassenbezeichnungen und FPS abspielen oder herunterladen. Quellcode, Testvideo und Messergebnisse finden Sie im GitHub-Repository.

Ziel ist eine wiederverwendbare Vorgehensweise für KI-gestützte Entwicklung: Geräteinformationen bereitstellen, Einschränkungen definieren, die Implementierung beauftragen und das Ergebnis anhand konkreter Abnahmekriterien prüfen.

Aufbau des Arbeitsablaufs

Codex läuft auf dem Entwicklungs-PC und arbeitet über SSH mit dem Board. Die fertige Anwendung läuft auf reComputer RK3576; die Inferenz des neuronalen Netzes übernimmt dessen NPU. Die Objekterkennung verwendet keine OpenAI-API.

text
Requirements → Codex on the PC → SSH → reComputer RK3576
                                          ↓
PC browser ← upload / playback / download ← YOLOv8n on the NPU
PhaseIhre AngabenZu überprüfen
UntersuchungBoard-Adresse, Konto und Umfang der LesezugriffeSSH funktioniert und die NPU-Umgebung ist erreichbar
EntwicklungAnwendungsverhalten und GeräteeinschränkungenRichtiges Modell, Hardware-Inferenz und bedienbare Oberfläche
BereitstellungAnwendungsverzeichnis und StartanforderungenDer Server startet und der PC erreicht seine URL
ValidierungTestvideo und AbnahmekriterienDer gesamte Ablauf vom Upload bis zum Download funktioniert

Voraussetzungen

  • Ein reComputer RK3576 Dev Kit mit Linux, funktionierendem NPU-Treiber und RKNN Runtime.
  • Ein PC mit Codex, einem lokalen Projektordner und SSH-Werkzeugen, die über die Shell verfügbar sind.
  • Eine Netzwerkverbindung zwischen PC und Board sowie die Berechtigung für Codex, die erforderlichen lokalen Werkzeuge und die SSH-Verbindung zu verwenden.
  • Ein MP4-Testvideo. Das Projekt-Repository enthält video/test.mp4.

Dieses Beispiel verwendet eine vorhandene Python-, RKNNLite-, OpenCV- und NumPy-Umgebung. Das Schreiben eines Betriebssystemabbilds und die Installation des NPU-Treibers werden nicht behandelt. Falls Abhängigkeiten fehlen, lassen Sie Codex diese vor einer Installation auflisten.

Schritt 1: Codex das Board untersuchen lassen

Öffnen Sie auf Ihrem PC einen lokalen Projektordner in Codex. Beginnen Sie mit einem Auftrag für reine Lesezugriffe, damit die Implementierung auf der tatsächlichen Board-Umgebung aufbaut.

text
Connect to my reComputer RK3576 via SSH.

Host: <DEVICE_IP>
Username: <DEVICE_USER>
Use my SSH key, or ask for the credentials needed to connect.

Check the OS, architecture, memory, available storage, RKNN Runtime, Python
environments, NPU driver and device access, and existing YOLO models.
Verify that remote commands can execute successfully.

Do not install packages or modify the system yet. Report the environment and
any issues that could block deployment.

Ersetzen Sie die Platzhalter durch Ihre Geräteangaben. Verbindungsdaten gehören weder in Projektdateien noch in Commits.

In der ursprünglichen Sitzung wurden Debian 12 ARM64, ein zugängliches RKNPU-Gerät, vorhandene RKNNLite- und OpenCV-Abhängigkeiten sowie wenig freier Speicher im Root-Dateisystem festgestellt. Deshalb wurden die vorhandene Umgebung weiterverwendet und Upload-Limits sowie Speicherprüfungen in die Anwendung eingebaut.

Schritt 2: Die gewünschte Anwendung beschreiben

Geben Sie Codex den vollständigen Nutzungsablauf, die Hardware-Anforderungen und die Kriterien für den Abschluss der Aufgabe vor. Der folgende Prompt wurde aus dem ursprünglichen Entwicklungsauftrag abgeleitet:

text
Build and deploy a YOLOv8 object detection WebUI on my reComputer RK3576 via SSH.

Download a precompiled RK3576-compatible YOLOv8n .rknn model from Rockchip's
official resources or a verified source. Record its source and verify its
published checksum. Do not train or convert models.

Use the RK3576 NPU for inference. Create a modern English WebUI where I can
upload an MP4 from my PC, run detection, and play or download the processed
video with bounding boxes, class labels, confidence scores, and FPS.

Reuse existing RKNN dependencies and official examples where possible.
Keep application files in a dedicated directory. Do not reinstall drivers
or modify system configurations without permission.

Test the complete workflow on the actual board, fix errors, and provide the
working WebUI URL, measured performance, and remaining limitations.

Dadurch richten sich Modellauswahl, Oberfläche, Bereitstellung und Tests auf dasselbe Ergebnis aus. Die Prompts sind Ausgangspunkte und garantieren nicht auf jedem Board dieselbe Implementierung oder Leistung.

Schritt 3: Modell und NPU-Inferenzpfad prüfen

Prüfen Sie vor einem vollständigen Video den Inferenzpfad mit einem bekannten Bild. Lassen Sie Codex folgende Nachweise liefern:

  • Downloadquelle, festgelegte Revision, Prüfsumme und RK3576-Zielplattform des Modells.
  • Erfolgreiches Laden des Modells und Initialisieren der NPU mit RKNNLite.
  • Erkennung der erwarteten Objekte in einem bekannten Testbild.
  • Laufzeitwarnungen und beteiligte Versionen.

Für dieses Projekt lud Codex ein vorkompiliertes YOLOv8n-INT8-Modell von RKNNAI/RK3576-CNN-yolov8n herunter und prüfte die veröffentlichte SHA-256-Prüfsumme. Es nutzte das vorhandene RKNNLite und passte das offizielle YOLOv8-Nachverarbeitungsbeispiel von Rockchip an. DFL wurde mit NumPy berechnet, statt Torch hinzuzufügen. Der Test mit dem bekannten Bild erkannte Personen und einen Bus.

Die installierte Runtime hatte Version 2.3.0, das Modell meldete jedoch Compiler-Version 2.4.2. RKNN gab eine Warnung wegen unterschiedlicher Versionen aus. Die Bild- und vollständigen Videotests bestanden auf diesem Board ohne Runtime-Update; daraus lässt sich keine allgemeine Kompatibilität für andere Modelle oder Umgebungen ableiten.

Schritt 4: Die WebUI bereitstellen und öffnen

Codex stellte die Anwendung unter /home/seeed/codex-yolov8-webui bereit und startete einen Hintergrundserver auf Port 8080. Öffnen Sie für Ihr eigenes Board:

text
http://<DEVICE_IP>:8080

Die Oberfläche umfasst MP4-Uploads, Konfidenz- und IoU-Einstellungen, Fortschrittsvorschauen, einen Videoplayer für die markierten Ergebnisse, Downloads und einen lokalen Verlauf. Verarbeitung und hochgeladene Dateien bleiben vollständig auf dem Board.

Wenn Sie das vorhandene Repository bereitstellen statt die Anwendung neu entwickeln möchten, lassen Sie Codex dessen Anleitung lesen, Ihr Board untersuchen, die Dateien übertragen, die Pfade an Ihre Python-Umgebung anpassen, den NPU-Probetest ausführen und den Server starten. Die enthaltenen Skripte verweisen auf die ursprünglichen Umgebungspfade und sind keine universellen Installationsskripte.

Auf dem ursprünglichen Gerät lauten die Befehle:

bash
cd /home/seeed/codex-yolov8-webui
/home/seeed/venvs/rknn-lite2-test/bin/python -B probe.py
sh start.sh

Es wurde kein Dienst für den automatischen Start installiert. Nach einem Neustart des Boards führen Sie sh start.sh erneut aus.

Schritt 5: Vom Upload bis zum Download testen

Laden Sie im PC-Browser video/test.mp4 hoch und starten Sie die Erkennung. Prüfen Sie das sichtbare Ergebnis selbst und lassen Sie Codex anschließend den gesamten Ablauf überprüfen:

text
Test the deployed WebUI end to end with video/test.mp4.

Verify upload, NPU inference, progress updates, bounding boxes and labels,
browser playback, seeking, and downloading the result back to the PC.
Confirm that every frame of the downloaded video decodes successfully.

Check invalid uploads, busy-device handling, cancellation, and cleanup with
disposable test runs. Fix errors and rerun the affected checks.

Report NPU inference FPS separately from full processing FPS. Save the test
results and document limitations and compatibility warnings.

Der ursprüngliche Test vom 15. Oktober 2026 ergab folgende Ergebnisse:

MessgrößeErgebnis
Quellvideo3840 × 2160, 29.97 FPS, 394 Frames
Markierte AusgabeH.264 MP4, 1280 × 720, 13.146 Sekunden
Verarbeitete und nach dem Download dekodierte Frames394 / 394
NPU-Inferenzdurchsatz37.63 FPS
Gesamter Verarbeitungsdurchsatz7.89 FPS
Verarbeitungszeit49.92 Sekunden, ohne Upload und Modellstart
Beobachtete Klassencar, bus, truck, traffic light

Die NPU-FPS messen die Zeit innerhalb der Inferenz. Die Verarbeitungs-FPS umfassen Videodekodierung, Vorverarbeitung, Inferenz, Nachverarbeitung, Zeichnen und Kodierung. Diese Zahlen sind Messwerte dieses Durchlaufs, keine Leistungsgarantie und auch nicht die Wiedergabebildrate des Videos. Die Berichte befinden sich im Verzeichnis verification/ des Repositorys.

Schritt 6: Das Ergebnis als wiederverwendbares Projekt aufbereiten

Wenn die Anwendung funktioniert, lassen Sie Codex Quellcode, Bereitstellungsanleitung, Screenshots, Modellherkunft, Lizenzen und Testberichte ordnen. Nehmen Sie nur Medien auf, deren Upload Sie autorisiert haben, und schließen Sie Zugangsdaten, zur Laufzeit hochgeladene Dateien und Protokolle aus.

Verwenden Sie für Ihre nächste Anwendung dieselbe Reihenfolge: Board untersuchen, Nutzungsablauf beschreiben, Hardware- und Systemeinschränkungen festlegen, bereitstellen und mit echten Eingaben prüfen. Passen Sie Anforderungen und Abnahmetests an die neue Aufgabe an.

Einsatzbereich und Ressourcen