> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/german/funktionsblocke/blocks-reference/ai-blocks/object-detection-custom-cpu.md).

# Object Detection - Custom (CPU)

Dieser Funktionsblock ermöglicht es, einen benutzerdefinierten Objektdetektor auf ein Eingabebild anzuwenden, indem Sie eigene Weight-, Config- und Class-Dateien verwenden. Nutzen Sie die verfügbaren Steuerungen, um Modell-Dateien zu laden, auszuwählen, welche Klassen erkannt werden sollen, und den Confidence-Threshold festzulegen. Der Block liefert ein visuelles Ergebnisbild sowie strukturierte Erkennungsdaten (Anzahl, Positionen, Größen und Labels) zur weiteren Verarbeitung.

## 📥 Eingänge <a href="#inputs" id="inputs"></a>

`Image Any` — Bild, das vom benutzerdefinierten Detektor verarbeitet werden soll.

## 📤 Ausgänge <a href="#outputs" id="outputs"></a>

`Image Any` — Annotiertes Bild mit markierten Erkennungen (Boxen/Labels).

`Object Count` — Anzahl der im Frame erkannten Objekte.

`Object Locations` — Mittelpositionen der erkannten Objekte (mehrere).

`Object Sizes (w, h)` — Breite und Höhe jedes erkannten Objekts (mehrere).

`Object Class` — Erkannte Klassennamen (mehrere).

`Rectangles` — Koordinaten der Begrenzungsrechtecke für jede Erkennung (mehrere).

## 🕹️ Steuerungen <a href="#controls" id="controls"></a>

`Open Weight File` — Button zum Laden der Weight-Datei (z. B. .weights).\
`Open Config File` — Button zum Laden der Config-Datei (z. B. .cfg).\
`Open Class File` — Button zum Laden der Klassennamen-Datei (Plain-Text-Liste). Nach dem Laden werden die Klassennamen in der Klasse-Tabelle angezeigt.\
`Class Names` — Tabelle mit verfügbaren Klassen. Zeilen umschalten, um auszuwählen, welche Klassen gemeldet werden sollen.\
`Confidence Threshold %` — Schieberegler zum Festlegen der Mindest-Confidence für gemeldete Erkennungen. Erhöhen, um False Positives zu reduzieren; verringern, um schwächere Treffer zu erfassen.

## 🎯 Funktionen <a href="#features" id="features"></a>

* Einfaches Laden benutzerdefinierter Modell-Ressourcen über UI-Buttons.
* Auswahl einer Teilmenge von Klassen, um die Erkennung auf relevante Objekte zu fokussieren.
* Liefert sowohl visuelle als auch datenbasierte Ausgaben: annotiertes Bild, Anzahl, Positionen, Größen, Klassennamen und Rechtecke.
* CPU-kompatibler Betrieb für Systeme ohne GPU.

## 📝 Nutzungshinweise <a href="#usage" id="usage"></a>

1. Klicken Sie auf `Open Weight File` und wählen Sie Ihre Weight-Datei aus.
2. Klicken Sie auf `Open Config File` und wählen Sie die passende Config-Datei aus.
3. Klicken Sie auf `Open Class File` und laden Sie die Textdatei mit den Klassennamen. Die Tabelle `Class Names` wird gefüllt.
4. Schalten Sie in `Class Names` die Zeilen um, um die zu erkennenden Klassen auszuwählen.
5. Speisen Sie ein Bild in den Eingang `Image Any`.
6. Passen Sie `Confidence Threshold %` an, um die Strenge der Meldungen zu steuern.
7. Lesen Sie die Ausgabewerte oder verbinden Sie nachfolgende Blöcke, um auf Erkennungen zu reagieren.

## 📊 Verhalten bei Ausführung <a href="#evaluation" id="evaluation"></a>

* Verarbeitet das Eingabebild mit dem geladenen Detektor unter Verwendung der ausgewählten Klassen und des Confidence-Thresholds.
* Erzeugt ein annotiertes Bild auf `Image Any` sowie strukturierte Erkennungsdaten auf den anderen Ausgängen zur Zählung, Messung, Nachverfolgung, Protokollierung oder Entscheidungsfindung.

## 💡 Tipps und Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Wenn Sie Ergebnisse größer betrachten möchten, verbinden Sie den `Image Any`-Ausgang mit dem `Show Image` Block.
* Um benutzerdefinierte Overlays oder abweichende Annotationen zu zeichnen, nutzen Sie den `Draw Detections` Block mit den Ausgängen `Rectangles` und der Zähl-Ausgabe.
* Für höhere Durchsatzraten bei großen Bildern nutzen Sie `Image Resizer` vor diesem Block, um die Auflösung zu reduzieren — oft schneller mit geringem Genauigkeitsverlust.
* Beschränken Sie den Suchbereich zur Beschleunigung und Stabilisierung der Ergebnisse, indem Sie zuvor mit `Image ROI Select` oder `Image ROI` zuschneiden.
* Um Frames mit Erkennungen zu archivieren, verbinden Sie das annotierte Bild mit `Image Logger` oder `Image Write`.
* Für fortlaufende Szenarien zur Identitätserhaltung über mehrere Frames koppeln Sie diesen Block mit `Object_Detection_Tracker` unter Verwendung der Rechtecke- und Klassen-Ausgaben.
* Als schnelle Vergleichsalternative testen Sie ggf. den internen `Object Detection` oder `Object Detection (D-FINE)` Block, um das beste Verhältnis von Geschwindigkeit und Qualität zu finden.

## 🛠️ Fehlersuche <a href="#troubleshooting" id="troubleshooting"></a>

* Keine Klassen in der Liste nach Laden der Class-File
  * Stellen Sie sicher, dass Sie die richtige Class-Datei gewählt haben (Plain-Text, eine Klasse pro Zeile). Laden Sie die Datei mit `Open Class File` erneut.
* Detektor meldet zu viele False Positives
  * Erhöhen Sie `Confidence Threshold %`. Versuchen Sie auch, ein verkleinertes Bild via `Image Resizer` zu übergeben oder den Bereich mit `Image ROI Select` einzuschränken.
* Detektor übersieht kleine oder entfernte Objekte
  * Senken Sie `Confidence Threshold %` vorsichtig ab oder übergeben Sie ein Bild mit höherer Auflösung (achten Sie auf praktikable Größen; ggf. mit `Image Resizer` abwägen).
* Langsame Performance auf CPU
  * Reduzieren Sie die Eingangsauflösung mit `Image Resizer` oder beschneiden Sie das Sichtfeld mit `Image ROI Select`. Führen Sie Erkennungen seltener durch (z. B. Batch-Verarbeitung).
* Erkennungsergebnisse in anderen Teilen des Flows nutzen
  * Verwenden Sie die numerischen und strukturierten Ausgänge (`Object Count`, `Object Locations`, `Rectangles`, `Object Class`), um Logik-, Protokoll- oder Tracking-Blöcke wie `Object_Detection_Tracker` zu speisen.
