CS / 02Case-Study

Realtime Vision Runtime — hardwarebeschleunigte Computer-Vision-Pipeline

Private Computer-Vision-Plattform für latenzarme Objekterkennung mit austauschbaren Inferenz-Runtimes und einer seriellen Mikrocontroller-Schnittstelle.

Rolle
Architektur, Computer Vision, Inferenz-Pipeline, Desktop-Client, Runtime-Abstraktion und Mikrocontroller-Integration — eigenständig
Zeitraum
2023 – 2026
Status
Lokal entwickelt
Erreichbar unter
Keine öffentliche Instanz

Zentrale Architekturentscheidung

Die Inferenz ist von der Anwendung entkoppelt: TensorRT, ONNX Runtime und OpenVINO laufen hinter derselben Pipeline-Schnittstelle.

01 / System

Kontext, Problem und Umsetzung.

01 / Kontext

Systemrahmen

Die Case-Study konzentriert sich ausschließlich auf die technische Umsetzung: Capture, Preprocessing, neuronale Inferenz, Postprocessing, Runtime-Auswahl und Hardware-Kommunikation. Produktname, Einsatzzweck, Modelle und betrieblicher Kontext bleiben bewusst privat.

02 / Problem

Ausgangslage

Eine Echtzeit-Vision-Pipeline muss auf sehr unterschiedlicher Hardware niedrige und stabile Latenzen liefern. Capture, Preprocessing, Inferenz und Postprocessing dürfen sich dabei nicht gegenseitig blockieren, und ein fehlendes GPU-Backend darf die Anwendung nicht unbrauchbar machen.

03 / Umsetzung

Technischer Ansatz

Ein standardisierter Frame-Flow verbindet Capture, normalisiertes Preprocessing, YOLO-Inferenz, Confidence-Filter und Non-Maximum Suppression. Die Runtime wird anhand der vorhandenen Hardware gewählt. Strukturierte Ergebnisse werden anschließend über ein versioniertes serielles Protokoll an einen Arduino-basierten Hardware-Layer übergeben.

04 / Vertiefung

Technischer Fokus

Der belegbare Schwerpunkt liegt auf Echtzeit-Computer-Vision, YOLO-Inferenz, ONNX-Modellformaten, TensorRT-Optimierung, OpenVINO, OpenCV, Provider-Fallbacks, Desktop-UI und Arduino-Kommunikation.

02 / Decisions

Zentrale technische Entscheidungen.

Nicht nur was gebaut wurde, sondern warum das System genau diese Form bekommen hat.

  1. Mehrere Inferenz-Runtimes hinter einem Adapter.

    TensorRT nutzt NVIDIA-Hardware maximal aus, ONNX Runtime deckt CUDA, DirectML und CPU ab, OpenVINO Intel-Systeme. Die fachliche Pipeline bleibt dabei unverändert und damit testbar.

  2. Deterministischer Hardware-Fallback statt harter GPU-Abhängigkeit.

    Beim Start werden verfügbare Provider geprüft und nach Eignung gewählt. Fehlt der schnellste Pfad, läuft dieselbe Pipeline kontrolliert auf einem kompatiblen Backend weiter.

  3. Pre- und Postprocessing als eigene Pipeline-Stufen.

    Resize, Normalisierung, Tensor-Layout, Confidence-Filter und NMS sind unabhängig vom Modellaufruf. Das erleichtert Profiling, Austausch und reproduzierbare Tests.

  4. Hardware-Kommunikation über ein kleines serielles Protokoll.

    Die Desktop-Anwendung sendet strukturierte Befehle, während Firmware und Transport getrennt bleiben. Dadurch lassen sich Software- und Hardware-Layer unabhängig entwickeln und diagnostizieren.

03 / Delivery

Stack und belegbare Grenze.

Technologien

  • Python
  • C++
  • PyQt6
  • OpenCV
  • YOLO
  • ONNX Runtime
  • TensorRT
  • OpenVINO
  • CUDA
  • Arduino

Ehrliche Grenze

Privates proprietäres Projekt. Produktname, konkreter Einsatzzweck, Datensätze, Modellgewichte, Konfigurationen und ausführbare Artefakte werden absichtlich nicht veröffentlicht.

Nächstes Projekt

UnitFly
Alle Projekte