Die Suche abstimmen

Alle diese Werte sind Eingaben von find-template. Die Standardwerte suchen die Vorlage in ihrer ursprünglichen Größe und Ausrichtung; das ist die schnellste Konfiguration und der richtige Ausgangspunkt.

Suchbereich

Knoten Typ Standard Beschreibung

input/scale/min-scale

double

1.0

Kleinster Skalierungsfaktor der Vorlage. Muss größer als 0 sein

input/scale/max-scale

double

1.0

Größter Skalierungsfaktor der Vorlage

input/scale/step-scale

double

1.0

Schrittweite zwischen den durchsuchten Skalierungen

input/rotation/min-rot

double

0.0

Kleinste Drehung in Grad, 0 bis 360

input/rotation/max-rot

double

0.0

Größte Drehung in Grad, 0 bis 360

input/rotation/step-rot

double

1.0

Schrittweite zwischen den durchsuchten Drehungen. Muss größer als 0 sein

Ist das Minimum gleich dem Maximum, wird nur dieser eine Wert durchsucht und die Schrittweite ignoriert.

Die Arbeit ist ein Durchlauf pro Kombination. Die Suche über 5 Skalierungen und 36 Drehungen sind 180 Durchläufe über das Bild, nicht 41. Erweitern Sie einen Bereich nur so weit, wie die Teile tatsächlich variieren, und bevorzugen Sie eine grobe Schrittweite: Eine Drehungsschrittweite von 5 Grad lokalisiert ein Teil meist gut genug für eine anschließende Messung.

Matching

Knoten Typ Standard Beschreibung

input/match-thresh

double

0.9

Kleinster akzeptierter Score, 0 bis 1

input/match-mode

string

TM_SQDIFF_NORMED

Matching-Algorithmus

input/use-grayscale

bool

true

Matching auf Graustufen, wenn die Bilder farbig sind

match-mode akzeptiert TM_SQDIFF, TM_SQDIFF_NORMED, TM_CCORR, TM_CCORR_NORMED, TM_CCOEFF und TM_CCOEFF_NORMED. Scores verschiedener Modi sind nicht vergleichbar; deshalb ist der verwendete Modus im Ergebnis enthalten.

use-grayscale macht das Matching etwa dreimal schneller, weil nicht jeder Farbkanal einzeln korreliert wird, und kostet in den meisten industriellen Szenen kaum Genauigkeit. Schalten Sie es aus, wenn die Farbe das Teil unterscheidet.

Die Konfidenz verstehen

Die Konfidenz ist kein absolutes Maß der Ähnlichkeit. Die Score-Karte wird für jeden Skalierungs-/Drehungsschritt einmal neu skaliert, was zwei Konsequenzen hat, die man kennen sollte:

  • Die beste Stelle jedes Schritts erreicht eine Konfidenz nahe 1, auch wenn die Skalierung dieses Schritts zu nichts im Bild passt.

  • match-thresh wirkt daher pro Schritt statt global, sobald Sie einen Bereich durchsuchen.

Eine Suche mit einer einzigen Skalierung und Drehung verhält sich wie erwartet. Eine weite Suche kann neben dem echten Treffer schwache Treffer an unzusammenhängenden Stellen melden. Der echte Treffer ist weiterhin der Eintrag mit der höchsten Konfidenz, an Index 0.

Wenn Sie Scheintreffer sehen, erhöhen Sie match-thresh oder verkleinern Sie den Bereich.

Die Anwendung entfernt außerdem Duplikate: Ohne das würde eine Suche über 10 Schritte dasselbe Teil bis zu 10-mal melden. Entfernt werden nur Wiederholungen an derselben Stelle; deshalb kann ein schwacher Treffer an anderer Stelle trotzdem erscheinen.

Vorverarbeitung

Knoten Typ Standard Beschreibung

input/preprocess/blur-sigma-x

double

1.0

Stärke der Gauß-Unschärfe in X. 0 oder weniger schaltet die Unschärfe aus

input/preprocess/blur-sigma-y

double

0.0

Stärke der Unschärfe in Y. 0 bedeutet dieselbe wie in X

input/preprocess/blur-kernel-size-x

uint32

0

Breite des Unschärfe-Kernels. 0 leitet sie aus der Stärke der Unschärfe ab; sonst eine ungerade Zahl

input/preprocess/blur-kernel-size-y

uint32

0

Höhe des Unschärfe-Kernels. 0 leitet sie aus der Stärke der Unschärfe ab; sonst eine ungerade Zahl

input/preprocess/bin-size

int32

1

Verkleinert beide Bilder vor dem Matching um diesen Faktor. 1 schaltet es aus

Die Unschärfe unterdrückt Sensorrauschen, auf Kosten etwas Positionsgenauigkeit. Der Standardwert ist eine leichte Unschärfe, die zu den meisten Kameras passt.

Binning ist die wirksamste Stellschraube für die Geschwindigkeit: Der Matching-Aufwand sinkt mit dem Quadrat des Faktors; eine Bin-Größe von 2 ist also etwa viermal schneller. Die Grenze ist die Vorlage - sobald ein unterscheidendes Merkmal auf wenige Pixel schrumpft, ist es nicht mehr unterscheidbar. Kleine oder dünne Vorlagen sollten bei 1 bleiben.

Eine praktische Reihenfolge

  1. Beginnen Sie mit den Standardwerten und suchen Sie nach einer Vorlage, die aus demselben Aufbau ausgeschnitten wurde. Bestätigen Sie, dass sie gefunden wird.

  2. Wenn die Teile in der Ausrichtung variieren, erweitern Sie den Drehungsbereich mit einer groben Schrittweite.

  3. Wenn sie im Abstand variieren, erweitern Sie den Skalierungsbereich.

  4. Wenn es zu langsam ist, erhöhen Sie bin-size auf 2 und prüfen Sie, ob die Konfidenz noch akzeptabel ist.

  5. Wenn Scheintreffer erscheinen, erhöhen Sie match-thresh.