---
title: "Die Suche abstimmen"
product: "LumiScan Object Finder"
component: "lumiscan-object-finder-de"
version: "1.1.0"
display_version: "1.1.0.7"
latest_version: true
language: "de"
url: "https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/lumiscan-object-finder/tuning-the-search.html"
---

# Die Suche abstimmen – LumiScan Object Finder

Die Standardwerte finden ein gut eingelerntes Objekt in einem vernünftigen Bild. Diese Seite beschreibt, was Sie ändern, wenn sie das nicht tun.

## Konfidenz-Schwellwert

`input/confidence-threshold` ist der kleinste Score, den ein Treffer erreichen muss, von 0 bis 1. Der Standardwert ist `0.6`.

Die Scores sind hier zwischen Durchläufen vergleichbar, also ist die praktische Methode das Messen statt des Ratens:

1. Setzen Sie den Schwellwert niedrig, auf `0.4`.
2. Führen Sie die Suche mit echten Teilen aus und sehen Sie sich die Scores in `output/result` an.
3. Setzen Sie den Schwellwert mit etwas Reserve unter den schlechtesten Score, den ein echtes Teil erzeugt.

Ein Schwellwert ab `0.9` lehnt in der Regel alles ab, auch gute Treffer.

## Doppelte Meldungen entfernen

`input/nms-min-dist` ist der Mindestabstand in Pixeln zwischen zwei gemeldeten Treffern. Fallen mehrere Treffer in diesen Abstand, wird nur der mit dem höchsten Score behalten.

Ohne diesen Wert wird ein einzelnes Teil häufig mehrfach gemeldet, als Häufung von Treffern wenige Pixel voneinander entfernt. Setzen Sie ihn auf etwa **die halbe Größe des Teils in Pixeln**. Der Standardwert `0` behält jeden Treffer, was nur dann sinnvoll ist, wenn Teile tatsächlich enger beieinanderliegen als ihre eigene Größe.

## Glättung

`input/preprocess/blur-sigma-x` wendet vor dem Matching eine Gauß-Glättung sowohl auf das Bild als auch auf das Bild des Objekts an. Sie ist **standardmäßig aus**.

Schalten Sie sie ein - beginnen Sie mit `1.0` -, wenn die Scores nahe am Schwellwert liegen oder die Bilder verrauscht sind. An realen Aufbauten gemessen, hebt die Glättung schwache Treffer spürbar an (etwa von 0.53 auf 0.60), während bereits starke Treffer ungefähr dort bleiben, wo sie waren. Genau deshalb ist sie standardmäßig aus: Sie hilft den Grenzfällen und tut nichts für die gesunden.

`blur-sigma-y` hat standardmäßig denselben Wert wie X. Die Kernelgrößen werden aus dem Sigma berechnet, sofern Sie sie nicht setzen; dann müssen sie ungerade sein. Alle werden ignoriert, solange `blur-sigma-x` 0 oder kleiner ist.

Die Glättung wird **vor** dem Binning angewendet, sodass ein Sigma eine Pixelzahl in Ihrem Originalbild bleibt und seine Bedeutung nicht ändert, wenn Sie `bin-size` ändern.

## Bin-Größe {#bin-size}

`input/preprocess/bin-size` verkleinert vor dem Matching sowohl das Bild als auch das Bild des Objekts um einen ganzzahligen Faktor. Der Standardwert ist `1`, was das Binning deaktiviert. **Das ist die Einstellung, die eine Suche schneller macht.**

Die Kosten eines Matchings skalieren mit der Pixelzahl, daher zahlt sich Binning stark aus. Gemessen an einem 1920x1080-Bild mit einem 128x128-Objekt, Mittelwert aus fünf Durchläufen:

| `bin-size` | Zeit | Bester Score | Im Vergleich zu 1 |
| --- | --- | --- | --- |
| `1` (Standard) | 49 ms | 1.00 | - |
| `2` | 8.4 ms | 1.00 | etwa 6x schneller |
| `4` | 3.5 ms | 0.94 | etwa 14x schneller |
| `8` | - | - | das Objekt wurde abgelehnt - nach dem Binning zu klein |

Was Sie aufgeben, ist **Präzision** - gemeldete Positionen werden auf `bin-size` Pixel quantisiert - und **Detail**. Binnen Sie weit genug, hat das Bild des Objekts die Kanten nicht mehr, auf die sich der Detektor stützt: Bei `bin-size` 8 wird ein 128x128-Objekt auf 16x16 reduziert, und der Detektor lehnt es ab. Das wird als fehlgeschlagener Durchlauf gemeldet, der das abgelehnte Objekt benennt, nie als leeres Ergebnis, sodass es nicht mit einem fehlenden Teil verwechselt werden kann.

Positionen in `output/result` sind immer in den Pixeln des Bildes, das Sie konfiguriert haben - die Anwendung rechnet sie zurück -, sodass eine höhere `bin-size` nichts daran ändert, wie Sie das Ergebnis lesen.

Kleine Objekte erreichen diese Grenze früher als große. Erhöhen Sie `bin-size` schrittweise und beobachten Sie die Scores: Wenn sie Richtung Schwellwert zu fallen beginnen, sind Sie einen Schritt zu weit gegangen.

`bin-size` kostet Sie an den Rändern der Region nichts: Sie wird unabhängig vom Binning genau wie konfiguriert durchsucht - siehe [Die Region wird genau wie angegeben durchsucht](https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/lumiscan-object-finder/finding-an-object.html#multiple-of-16).

## Pyramidenebenen

`input/pyramid` listet die Ebenen der Bildpyramide, auf denen die Suche läuft, Standard `[1,2]`. Größere Werte machen die Erkennung toleranter, aber gröber.

> [!NOTE]
> **Das ist keine Geschwindigkeitseinstellung**, auch wenn sie so klingt. Tiefere Pyramiden waren gemessen etwas *langsamer*, nicht schneller - `[1,2]` 47 ms, `[2,4]` 50 ms, `[4,8]` 51 ms auf demselben Bild -, weil die Arbeit des Detektors pro Ebene etwa so schnell wächst, wie seine Arbeit pro Pixel schrumpft. Verwenden Sie `bin-size` für Geschwindigkeit und `pyramid` für Toleranz.

Welche Ebenen gültig sind, hängt von der Bildgröße ab, und es gibt keine allgemeine Regel. Eine ungültige Kombination wird als fehlgeschlagener Durchlauf mit negativem Statuscode gemeldet, statt geraten zu werden. Ändern Sie sie daher in kleinen Schritten und prüfen Sie den Status.

## Den Bereich einschränken

`input/crop/{startX, startY, width, height}` beschränkt die Suche auf einen Teil des Bildes. Eine Breite oder Höhe von null reicht bis zum entsprechenden Rand. Die Standardregion aus lauter Nullen durchsucht also alles, und `startX=100` mit Nullgrößen sucht von dort bis zur rechten unteren Ecke.

Zwei Gründe, sie zu verwenden: Geschwindigkeit, weil eine kleinere Region schneller durchsucht wird, und Zuverlässigkeit, weil das Ausschließen von Bereichen, in denen das Teil nicht sein kann, Fehltreffer auf ähnlich aussehendem Hintergrund vermeidet.

Das ist das erste Mittel, wenn eine Suche zu langsam ist, denn anders als `bin-size` kostet es keinerlei Präzision.

Die Region wird genau so durchsucht, wie Sie sie setzen - siehe [Die Region wird genau wie angegeben durchsucht](https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/lumiscan-object-finder/finding-an-object.html#multiple-of-16).

## Ansichten hinzufügen statt abzustimmen

Wird ein Objekt in **bestimmten Orientierungen** verfehlt, während es in anderen zuverlässig gefunden wird, hilft keine Einstellung auf dieser Seite. Der Detektor dreht Vorlagen nicht - lernen Sie eine weitere Ansicht in der verfehlten Orientierung ein. Siehe [Ein Objekt anlegen](https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/lumiscan-object-finder/creating-an-object.html).

Ebenso: Wird das Objekt verfehlt, wenn es näher an der Kamera oder weiter von ihr entfernt liegt, lernen Sie eine Ansicht in diesem Abstand ein.

## Geschwindigkeit {#speed}

Die Reihenfolge, in der Sie vorgehen sollten:

1. **Den Bereich einschränken** mit `input/crop`. Das kostet keine Präzision und kommt daher immer zuerst.
2. **`input/preprocess/bin-size` erhöhen**, auf Kosten von Präzision und feinen Details. Auf einem Full-HD-Bild bringt das etwa 6x bei `2` und 14x bei `4`.
3. **Nach weniger Objekten suchen.** Jedes `execute` sucht nach einem Objekt und verarbeitet das ganze Bild erneut; ein Objekt wegzulassen, das Sie nicht brauchen, spart also einen ganzen Durchlauf.

`input/pyramid` zu erhöhen steht **nicht** auf dieser Liste: Gemessen ist es etwas langsamer statt schneller.

Halten Sie die Einstellungen zwischen Durchläufen stabil. Der Detektor wird beim ersten Durchlauf aus dem Bild des Objekts kompiliert und wiederverwendet, solange sich nichts ändert; das Ändern einer Eingabe baut ihn neu auf, und der Neuaufbau kostet weit mehr als eine Erkennung.
