> 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/function-blocks/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.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.augelab.com/german/function-blocks/ai-blocks/object-detection-custom-cpu.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
