set_generic_shape_model_paramT_set_generic_shape_model_paramSetGenericShapeModelParamSetGenericShapeModelParamset_generic_shape_model_param (Operator)

Name

set_generic_shape_model_paramT_set_generic_shape_model_paramSetGenericShapeModelParamSetGenericShapeModelParamset_generic_shape_model_param — Setzen ausgewählter Parameter eines Formmodells.

Signatur

set_generic_shape_model_param( : : ModelID, GenParamName, GenParamValue : )

Herror T_set_generic_shape_model_param(const Htuple ModelID, const Htuple GenParamName, const Htuple GenParamValue)

void SetGenericShapeModelParam(const HTuple& ModelID, const HTuple& GenParamName, const HTuple& GenParamValue)

void HShapeModel::SetGenericShapeModelParam(const HTuple& GenParamName, const HTuple& GenParamValue) const

static void HOperatorSet.SetGenericShapeModelParam(HTuple modelID, HTuple genParamName, HTuple genParamValue)

void HShapeModel.SetGenericShapeModelParam(HTuple genParamName, HTuple genParamValue)

def set_generic_shape_model_param(model_id: HHandle, gen_param_name: Sequence[str], gen_param_value: Sequence[Union[int, float, str]]) -> None

Beschreibung

Der Operator set_generic_shape_model_paramset_generic_shape_model_paramSetGenericShapeModelParamSetGenericShapeModelParamset_generic_shape_model_param setzt die Parameter GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name des Formmodells ModelIDModelIDModelIDmodelIDmodel_id auf die in GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value gegebenen Werte.

Verschiedene Aspekte des Matching-Vorgangs können über die in GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name auswählbaren Parameter gesteuert werden. In den Parameterbeschreibungen weiter unten sind diese nach den folgenden Kategorien gruppiert (wobei die Kategorie den Hauptverwendungszweck, aber nicht notwendigerweise den einzigen Zweck des jeweiligen Parameters angibt):

Modifizieren des Modells
Finden von Modellinstanzen

  1. Modifizieren der Instanz

  2. Aussortieren der gefundenen Matches

  3. Grauwertbehandlung

  4. Verfeinerung

  5. Bildpyramide

  6. Störungen

  7. Ausgabe

Rechnerressourcen für die Suche
Erweiterte Parameterschätzung

Nachfolgend werden die für die verschiedenen Kategorien setzbaren Parameter gelistet und Fälle in denen Parameterwerte automatisch angepasst werden aufgeführt.

Modifizieren des Modells

In diesem Abschnitt werden die Parameter aufgelistet und erläutert, die das Modell ModelIDModelIDModelIDmodelIDmodel_id selbst modifizieren. Wird ein zugehöriger Wert verändert, ist es notwendig das angepasste Modell vor dem Matching zu trainieren. Folgende Parameter GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name werden unterstützt:

Kontrast

Der Kontrast wird als Maß für lokale Grauwertdifferenzen verwendet mit Hilfe derer Objekte vom Hintergrund oder Teile von Objekten untereinander unterschieden werden. Für das Modell werden nur die Pixel gewählt, welche den gewünschten Kontrasteigenschaften in ihrer Umgebung entsprechen. Der gewünschte Kontrast kann ein einfacher Schwellenwert oder ein Hysterese-Schwellenwert sein, je nach dem welche Werte für 'contrast_low'"contrast_low""contrast_low""contrast_low""contrast_low" und 'contrast_high'"contrast_high""contrast_high""contrast_high""contrast_high" gesetzt wurden:

Für weitere Informationen zu Kontrast und dessen Einfluss auf das Matching mit Formmodellen wird auf den „Solution Guide II-B - Matching“ verwiesen.

In bestimmten Fällen kann es vorkommen, dass die automatische Bestimmung des Kontrastschwellenwerts nicht ausreichend ist. Daher sollte in diesen Fällen ein manuelles Setzen der Kontrastparameter bevorzugt werden, beispielsweise falls bestimmte Modellkomponenten aus anwendungsspezifischen Gründen mit inbegriffen oder unterdrückt werden sollen, oder wenn das Objekt verschiedene Kontrasteigenschaften aufweist. Die Kontrast-Schwellenwerte sollten mit inspect_shape_modelinspect_shape_modelInspectShapeModelInspectShapeModelinspect_shape_model überprüft werden bevor das Modell an train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model übergeben wird.

  • 'contrast_high'"contrast_high""contrast_high""contrast_high""contrast_high":

    Bestimmt zusammen mit 'contrast_low'"contrast_low""contrast_low""contrast_low""contrast_low" den Grauwertbereich in dem ein Pixel liegen muss um als Teil des Modells berücksichtigt zu werden (siehe Beschreibung oben). Wird ein Hysterese-Schwellenwert-Verfahren genutzt bestimmt dieser Parameter den oberen Schwellenwert.

    Mögliche Werte: 'auto'"auto""auto""auto""auto", 90, 80.

    Restriktion: Wird beim Training mit XLDs nicht genutzt.

    Default: 'auto'"auto""auto""auto""auto".

  • 'contrast_low'"contrast_low""contrast_low""contrast_low""contrast_low":

    Bestimmt zusammen mit 'contrast_high'"contrast_high""contrast_high""contrast_high""contrast_high" den Grauwertbereich in dem ein Pixel liegen muss um als Teil des Modells berücksichtigt zu werden (siehe Beschreibung oben). Wird ein Hysterese-Schwellenwert-Verfahren genutzt bestimmt dieser Parameter den unteren Schwellenwert.

    Mögliche Werte: 'auto'"auto""auto""auto""auto", 10, 20.

    Restriktion: Wird beim Training mit XLDs nicht genutzt.

    Default: 'auto'"auto""auto""auto""auto".

Rotation

Die Spanne möglicher Rotationen von Formmodellen liegt zwischen 0 und 6.28 (= ), kann aber für die Suche eingeschränkt werden. Der Parameterraum und damit die Diskretisierungsschritte für die Winkel kann modifiziert werden mit:

  • 'angle_step'"angle_step""angle_step""angle_step""angle_step":

    Bestimmt die Schrittweite innerhalb des gewählten Winkelbereichs. Der übergebene Wert sollte basierend auf der Objektgröße gewählt werden. Kleinere Modelle haben nicht viele verschiedene diskrete Rotationen im Bild, weshalb empfohlen wird für kleinere Modelle größere Werte zu wählen. Wird der Wert 'auto'"auto""auto""auto""auto" gesetzt, so wird die Schrittweite beim Aufruf von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model geschätzt. Gesetzte Werte werden auf ein Maximum von 0.20 (= ) begrenzt.

    Mögliche Werte: 'auto'"auto""auto""auto""auto", 0.1, 0.2.

    Zu beachten: Nach Modifikation ist ein Training notwendig.

    Default: 'auto'"auto""auto""auto""auto".

Skalierung

Der Parameterraum und somit der Suchbereich sowie die Diskretisierungsschritte für die Skalierung kann mit Skalierungsparametern modifiziert werden. Die folgenden Tabelle gibt einen Überblick darüber welche Parameter für welche Art von Skalierung gesetzt werden können. Ein Skalierungswert von 1.0 entspricht dabei der Originalgröße des Modells in der entsprechenden Richtung.

GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name Isotrope Skalierung Anisotrope Skalierung
'iso_scale_max'"iso_scale_max""iso_scale_max""iso_scale_max""iso_scale_max" x
'iso_scale_min'"iso_scale_min""iso_scale_min""iso_scale_min""iso_scale_min" x
'iso_scale_step'"iso_scale_step""iso_scale_step""iso_scale_step""iso_scale_step" x
'scale_row_max'"scale_row_max""scale_row_max""scale_row_max""scale_row_max" x
'scale_row_min'"scale_row_min""scale_row_min""scale_row_min""scale_row_min" x
'scale_row_step'"scale_row_step""scale_row_step""scale_row_step""scale_row_step" x
'scale_column_max'"scale_column_max""scale_column_max""scale_column_max""scale_column_max" x
'scale_column_min'"scale_column_min""scale_column_min""scale_column_min""scale_column_min" x
'scale_column_step'"scale_column_step""scale_column_step""scale_column_step""scale_column_step" x
  • 'iso_scale_max'"iso_scale_max""iso_scale_max""iso_scale_max""iso_scale_max":

    Beschränkt das Maximum der isotropischen Skalierung bei der Modellsuche.

    Mögliche Werte: 1.0, 1.1, 1.2.

    Default: 1.0.

  • 'iso_scale_min'"iso_scale_min""iso_scale_min""iso_scale_min""iso_scale_min":

    Beschränkt das Minimum der isotropischen Skalierung bei der Modellsuche.

    Mögliche Werte: 1.0, 0.9, 0.8.

    Default: 1.0.

  • 'iso_scale_step'"iso_scale_step""iso_scale_step""iso_scale_step""iso_scale_step":

    Beschränkt die Schrittweite innerhalb des gewählten Bereichs der isotropischen Skalierung bei der Modellsuche. Wird der Wert auf 'auto'"auto""auto""auto""auto" gesetzt, dann wird die Schrittweite beim Aufruf von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model geschätzt.

  • 'scale_row_max'"scale_row_max""scale_row_max""scale_row_max""scale_row_max":

    Beschränkt das Maximum der isotropischen Skalierung in Zeilenrichtung bei der Modellsuche.

    Mögliche Werte: 1.0, 1.1, 1.2.

    Default: 1.0.

  • 'scale_row_min'"scale_row_min""scale_row_min""scale_row_min""scale_row_min":

    Beschränkt das Minimum der isotropischen Skalierung in Zeilenrichtung bei der Modellsuche.

    Mögliche Werte: 1.0, 0.9, 0.8.

    Default: 1.0.

  • 'scale_row_step'"scale_row_step""scale_row_step""scale_row_step""scale_row_step":

    Beschränkt die Schrittweite innerhalb des gewählten Bereichs der isotropischen Skalierung in Zeilenrichtung bei der Modellsuche. Wird der Wert auf 'auto'"auto""auto""auto""auto" gesetzt, dann wird die Schrittweite beim Aufruf von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model geschätzt.

  • 'scale_column_max'"scale_column_max""scale_column_max""scale_column_max""scale_column_max":

    Beschränkt das Maximum der isotropischen Skalierung in Spaltenrichtung bei der Modellsuche.

    Mögliche Werte: 1.0, 1.1, 1.2.

    Default: 1.0.

  • 'scale_column_min'"scale_column_min""scale_column_min""scale_column_min""scale_column_min":

    Beschränkt das Minimum der isotropischen Skalierung in Spaltenrichtung bei der Modellsuche.

    Mögliche Werte: 1.0, 0.9, 0.8.

    Default: 1.0.

  • 'scale_column_step'"scale_column_step""scale_column_step""scale_column_step""scale_column_step":

    Beschränkt die Schrittweite innerhalb des gewählten Bereichs der isotropischen Skalierung in Spaltenrichtung bei der Modellsuche. Wird der Wert auf 'auto'"auto""auto""auto""auto" gesetzt, dann wird die Schrittweite beim Aufruf von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model geschätzt.

Metrik

  • 'metric'"metric""metric""metric""metric":

    Bestimmt die Bedingungen unter denen das Modell im Bild gefunden wird. Folgende Werte werden für 'metric'"metric""metric""metric""metric" unterstützt:

    • 'auto'"auto""auto""auto""auto":

      Der Wert wird beim Aufruf von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model in Abhängigkeit davon bestimmt, ob Bilder ('use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity") oder XLDs ('ignore_local_polarity'"ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity") für das Training verwendet werden.

    • 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity":

      Die Instanz im Bild und das Modell müssen die selben Kontrasteigenschaften aufweisen.

      Restriktion: Wird nur auf Einkanalbilder angewandt. Für Mehrkanalbilder wird nur der erste Kanal genutzt (ohne Fehlermeldung).

      Beispiel: Das Modell wurde mit einem hellen Objekt auf dunklem Hintergrund erstellt. Nur Instanzen die ebenfalls heller als der Hintergrund sind werden gefunden.

    • 'ignore_global_polarity'"ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity":

      Eine Instanz wird auch dann im Bild gefunden, wenn sich der Kontrast global umkehrt. Die Laufzeit von find_generic_shape_modelfind_generic_shape_modelFindGenericShapeModelFindGenericShapeModelfind_generic_shape_model erhöht sich in diesem Modus geringfügig im Vergleich zu 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity".

      Restriktion: Wird nur auf Einkanalbilder angewandt. Für Mehrkanalbilder wird nur der erste Kanal genutzt (ohne Fehlermeldung).

      Beispiel: Das Modell wurde mit einem hellen Objekt auf dunklem Hintergrund erstellt. Instanzen die heller als oder dunkler als der Hintergrund sind werden gefunden.

    • 'ignore_local_polarity'"ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity":

      Eine Instanz wird auch dann im Bild gefunden, wenn sich der Kontrast lokal verändert. Die Laufzeit von find_generic_shape_modelfind_generic_shape_modelFindGenericShapeModelFindGenericShapeModelfind_generic_shape_model erhöht sich in diesem Modus signifikant im Vergleich zu 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity".

      Es ist üblicherweise zu empfehlen mehrere Modelle zu verwenden, die die verschiedenen möglichen Kontrastverhältnisse des Objekts abdecken, und diese gleichzeitig für das Matching zu verwenden.

      Restriktion: Wird nur auf Einkanalbilder angewandt. Für Mehrkanalbilder wird nur der erste Kanal genutzt (ohne Fehlermeldung).

      Beispiel: Ein Teil des Models oder der Instanz liegt im mittleren Grauwertbereich und schließt Unterobjekte ein die entweder heller oder dunkler sein können.

    • 'ignore_color_polarity'"ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity":

      Eine Instanz wird auch dann im Bild gefunden, wenn sich der Farbkontrast lokal verändert. Die Laufzeit von find_generic_shape_modelfind_generic_shape_modelFindGenericShapeModelFindGenericShapeModelfind_generic_shape_model kann sich in diesem Modus signifikant im Vergleich zu 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity" erhöhen.

      Diese Metrik kann für Bilder mit einer beliebigen Anzahl an Kanälen angewandt werden, welche keiner spektralen Unterteilung des Lichtes (wie z.B. bei einem RGB-Bild) entsprechen müssen. Für Einkanalbilder hat der Parameter denselben Effekt wie 'ignore_local_polarity'"ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity". Die Anzahl Kanäle kann zwischen dem Training mit train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model und der Suche mit find_generic_shape_modelfind_generic_shape_modelFindGenericShapeModelFindGenericShapeModelfind_generic_shape_model variieren.

      Beispiel: Instanzen werden auch dann gefunden, wenn Teile des Objekts in verschiedenen Farben auftreten können, beispielsweise in rot und grün.

    Restriktion: Werden XLDs verwendet, dann is es für das Zurücksetzen der Metrik notwendig, dass die Informationen zur Kantenrichtung als XLD-Kontur-Attribut verfügbar ist. Für weitere Informationen siehe set_shape_model_metricset_shape_model_metricSetShapeModelMetricSetShapeModelMetricset_shape_model_metric.

    Default: 'auto'"auto""auto""auto""auto".

Größe

  • 'min_size'"min_size""min_size""min_size""min_size":

    Bestimmt die minimale Anzahl an Punkten, die ein Modell aufweisen muss um berücksichtigt zu werden. Dementsprechend werden Komponenten, die weniger als 'min_size'"min_size""min_size""min_size""min_size" Punkte haben unterdrückt. Da 'min_size'"min_size""min_size""min_size""min_size" auf die Größe der Komponenten angewandt wird können die abgeleiteten Modellkonturen trotzdem kleiner als die festgelegte Minimalgröße sein. Dieser Schwellenwert für die minimale Größe wird für jede weitere Pyramidenstufe halbiert. Die Auswirkungen dieses Parameters können vorab mit inspect_shape_modelinspect_shape_modelInspectShapeModelInspectShapeModelinspect_shape_model überprüft werden.

    Wird der Wert auf 'auto'"auto""auto""auto""auto" gesetzt, dann wird der Wert beim Aufruf von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model geschätzt.

    Restriktion: Wird beim Training mit XLDs nicht berücksichtigt.

    Default: 'auto'"auto""auto""auto""auto".

  • 'optimization'"optimization""optimization""optimization""optimization":

    Bestimmt die Anzahl an Punkten um die das Modell reduziert wird. Diese Reduktion kann besonders für sehr große Modelle nützlich sein. Mögliche Werte sind:

    • 'auto'"auto""auto""auto""auto": Die Anzahl Punkte wird automatisch durch train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model bestimmt.

    • 'none'"none""none""none""none": Alle Modellpunkte werden behalten.

    • 'point_reduction_low'"point_reduction_low""point_reduction_low""point_reduction_low""point_reduction_low": Die Anzahl Punkte wird auf etwa reduziert.

    • 'point_reduction_medium'"point_reduction_medium""point_reduction_medium""point_reduction_medium""point_reduction_medium": Die Anzahl Punkte wird auf etwa reduziert.

    • 'point_reduction_high'"point_reduction_high""point_reduction_high""point_reduction_high""point_reduction_high": Die Anzahl Punkte wird auf etwa reduziert.

    Wird die Anzahl Modellpunkten reduziert, könnte es notwendig sein den Parameter 'greediness'"greediness""greediness""greediness""greediness" auf einen kleineren Wert zu setzen, z.B. 0.7 oder 0.8. Es ist zu beachten, dass für kleine Modelle eine Reduktion der Punkteanzahl üblicherweise keine Beschleunigung ergibt, da dadurch die Anzahl potentieller Instanzen, die geprüft werden, steigt.

    Default: 'auto'"auto""auto""auto""auto".

Bildpyramide

Namensgebung

  • 'model_identifier'"model_identifier""model_identifier""model_identifier""model_identifier":

    Überschreibt den aktuellen Identifikator des Formmodells auf den String in GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value. Der gegebene Identifikator muss eindeutig sein, damit es z.B. beim späteren Auslesen von Ergebnissen keine Mehrdeutigkeiten gibt.

    Restriktion: Muss ein nicht-leerer String sein. Die folgenden Wörter sind reserviert und können nicht als Identifikator verwendet werden: 'all'"all""all""all""all", 'best'"best""best""best""best".

    Default: Der String, der beim Erstellen des Formmodells automatisch gesetzt wurde.

Finden von Modellinstanzen

In diesem Abschnitt werden die Parameter aufgelistet und erläutert, die die Suche mit dem Modell ModelIDModelIDModelIDmodelIDmodel_id modifizieren. Wird ein zugehöriger Wert verändert ist es nicht notwendig das Modell zu trainieren, außer ein zuvor nicht durch automatische Schätzung ermittelter Wert soll nun von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model automatisch geschätzt werden. Die Beschreibungen dieser Parameter enthalten eine entsprechende Bemerkung. Folgende Parameter GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name werden unterstützt:

  1. Modifizieren der Instanz

    Rotation

    • 'angle_start'"angle_start""angle_start""angle_start""angle_start":

      Bestimmt den Startwert des Winkelbereichs möglicher Rotationen, für die das Modell gesucht wird.

      Mögliche Werte: 0.0, -3.14, 3.14.

      Default: 0.0.

    • 'angle_end'"angle_end""angle_end""angle_end""angle_end"

      Bestimmt den Endwert des Winkelbereichs möglicher Rotationen, für die das Modell gesucht wird.

      Mögliche Werte: 0.0, 3.14, 6.28.

      Default: 6.28 (= ).

    Die Werte werden auf den Suchbereich abgebildet. Beispiel: 'angle_start'"angle_start""angle_start""angle_start""angle_start" = '-rad(10)'"-rad(10)""-rad(10)""-rad(10)""-rad(10)", 'angle_end'"angle_end""angle_end""angle_end""angle_end" = 'rad(10)'"rad(10)""rad(10)""rad(10)""rad(10)" sucht nach Matches in den Winkelbereichen [rad(350), rad(360)] und [0, rad(10)].

    Skalierung

    Der Skalierungsbereich, der für das trainierte Modell bestimmt wird kann für die Suche weiter eingeschränkt werden. Wird für diese Parameter der Wert auf 'auto'"auto""auto""auto""auto" gesetzt, dann wird der Wert beim Aufruf von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model geschätzt.

    Es ist zu beachten, dass diese Einschränkungen nur angewendet werden können, wenn der Suchbereich dadurch weiter eingeschränkt wird. Demnach muss eine kleinere maximale und eine größere minimale Skalierung gesetzt werden. Andernfalls ist ein erneutes Training mit angepassten Skalierungsparametern für das Modell notwendig.

    GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name Isotrope Skalierung Anisotrope Skalierung
    'restrict_iso_scale_max'"restrict_iso_scale_max""restrict_iso_scale_max""restrict_iso_scale_max""restrict_iso_scale_max" x
    'restrict_iso_scale_min'"restrict_iso_scale_min""restrict_iso_scale_min""restrict_iso_scale_min""restrict_iso_scale_min" x
    'restrict_scale_row_max'"restrict_scale_row_max""restrict_scale_row_max""restrict_scale_row_max""restrict_scale_row_max" x
    'restrict_scale_row_min'"restrict_scale_row_min""restrict_scale_row_min""restrict_scale_row_min""restrict_scale_row_min" x
    'restrict_scale_column_max'"restrict_scale_column_max""restrict_scale_column_max""restrict_scale_column_max""restrict_scale_column_max" x
    'restrict_scale_column_min'"restrict_scale_column_min""restrict_scale_column_min""restrict_scale_column_min""restrict_scale_column_min" x
    • 'restrict_iso_scale_max'"restrict_iso_scale_max""restrict_iso_scale_max""restrict_iso_scale_max""restrict_iso_scale_max":

      Beschränkt den möglichen Skalierungsbereich für den das Modell gesucht wird auf ein Maximum.

      Mögliche Werte: 'auto'"auto""auto""auto""auto", 1.1, 1.2.

      Default: 'auto'"auto""auto""auto""auto".

    • 'restrict_iso_scale_min'"restrict_iso_scale_min""restrict_iso_scale_min""restrict_iso_scale_min""restrict_iso_scale_min":

      Beschränkt den möglichen Skalierungsbereich für den das Modell gesucht wird auf ein Minimum.

      Mögliche Werte: 'auto'"auto""auto""auto""auto", 0.9, 0.8.

      Default: 'auto'"auto""auto""auto""auto".

    • 'restrict_scale_row_max'"restrict_scale_row_max""restrict_scale_row_max""restrict_scale_row_max""restrict_scale_row_max":

      Beschränkt den möglichen Skalierungsbereich in Zeilenrichtung für den das Modell gesucht wird auf ein Maximum.

      Mögliche Werte: 'auto'"auto""auto""auto""auto", 1.1, 1.2.

      Default: 'auto'"auto""auto""auto""auto".

    • 'restrict_scale_row_min'"restrict_scale_row_min""restrict_scale_row_min""restrict_scale_row_min""restrict_scale_row_min":

      Beschränkt den möglichen Skalierungsbereich in Zeilenrichtung für den das Modell gesucht wird auf ein Minimum.

      Mögliche Werte: 'auto'"auto""auto""auto""auto", 0.9, 0.8.

      Default: 'auto'"auto""auto""auto""auto".

    • 'restrict_scale_column_max'"restrict_scale_column_max""restrict_scale_column_max""restrict_scale_column_max""restrict_scale_column_max":

      Beschränkt den möglichen Skalierungsbereich in Spaltenrichtung für den das Modell gesucht wird auf ein Maximum.

      Mögliche Werte: 'auto'"auto""auto""auto""auto", 1.1, 1.2.

      Default: 'auto'"auto""auto""auto""auto".

    • 'restrict_scale_column_min'"restrict_scale_column_min""restrict_scale_column_min""restrict_scale_column_min""restrict_scale_column_min":

      Beschränkt den möglichen Skalierungsbereich in Spaltenrichtung für den das Modell gesucht wird auf ein Maximum.

      Mögliche Werte: 'auto'"auto""auto""auto""auto", 0.9, 0.8.

      Default: 'auto'"auto""auto""auto""auto".

    Deformation

    • 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation":

      Bestimmt um wie viel ein Objekt vom Modell abweichen darf um als Match berücksichtigt zu werden. Die maximal zulässige Objektdeformation wird in Pixeln festgelegt. Für einen Wert von 0 wäre daher keine Abweichung für das Objekt zulässig.

      Beispiel: Ein Objekt, dessen Form im Vergleich zum Formmodell um 2 Pixel deformiert ist wird mit 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation" = 2 noch gefunden.

      Höhere Werte in 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation" erhöhen häufig auch die Laufzeit.

      Höhere Werte in 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation" erhöhen außerdem häufig auch das Risiko ungewollte Matches zu finden. Dies ist insbesondere der Fall für kleine Objekte oder Objekte mit feinen Strukturen, da diese somit ihre charakteristische Form, welche wichtig für eine robuste Suche ist, verlieren.

      Zusammenspiel mit 'subpixel'"subpixel""subpixel""subpixel""subpixel": Wenn eine Deformation erlaubt ist (also ein Wert größer 0 gesetzt wurde) dann hängt die Berechnung des Scores davon ab ob möglicherweise eine Subpixel-Verfeinerung durchgeführt wurde. In den meisten Fällen ändert sich der Score wenn eine Least-Squares-Adjustment-Methode gesetzt wurde. Mit dieser Methode kann ein höherer Score erreicht werden wenn 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation" erhöht wird, da für die Modellpunkte mehr übereinstimmende Bildpunkte gefunden werden können.

      Default: 0.

  2. Aussortieren der gefundenen Matches

    • 'min_score'"min_score""min_score""min_score""min_score":

      Bestimmt den minimalen Score den ein möglicher Match aufweisen muss um als Instanz im Bild zu gelten. Umso höher 'min_score'"min_score""min_score""min_score""min_score" gesetzt wird, desto schneller ist die Suche. Falls zu erwarten ist, dass das Modell in den Bildern nie verdeckt auftritt, kann 'min_score'"min_score""min_score""min_score""min_score" auf 0.8 oder sogar 0.9 gesetzt werden. Falls die Matches nicht bis zur untersten Pyramidenstufe verfolgt werden kann es sein, dass Instanzen mit Scores knapp unter 'min_score'"min_score""min_score""min_score""min_score" zurückgegeben werden.

      Das Zusammenspiel mit 'num_matches'"num_matches""num_matches""num_matches""num_matches" wird in der Beschreibung zu Letzterem erklärt.

      Mögliche Werte:

      • Zahl:

        Setzt den gegebenen Wert als 'min_score'"min_score""min_score""min_score""min_score".

        Wertebereich: [0.0, .., 1.0]

      • 'linear_estimate'"linear_estimate""linear_estimate""linear_estimate""linear_estimate":

        Bestimmt einen geeigneten Wert für 'min_score'"min_score""min_score""min_score""min_score" mittels erweiterter Parameterschätzung. Dies bedeutet, dass ein für die gegebenen Samples geeigneter Wert während des Aufrufs von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model bestimmt und gesetzt wird. Für weitere Informationen zu den Samples, siehe den Abschnitt „Erweiterte Parameterschätzung“ weiter unten.

        Zu beachten:

        • Das Setzen dieses Wertes erfordert ein (möglicherweise erneutes) Trainieren.

        • Benötigt repräsentative Samples.

      Default: 'linear_estimate'"linear_estimate""linear_estimate""linear_estimate""linear_estimate" (falls Samples gegeben sind), 0.5 (wenn keine Samples gegeben sind).

    • 'num_matches'"num_matches""num_matches""num_matches""num_matches":

      Bestimmt die maximale Anzahl zurückgegebener Matches.

      Der Wert 'all'"all""all""all""all" (oder 0) bedeutet, dass alle Instanzen zurückgegeben werden, die einen Score größer als 'min_score'"min_score""min_score""min_score""min_score" erreichen. Ansonsten ist das Zusammenspiel zwischen 'num_matches'"num_matches""num_matches""num_matches""num_matches" und 'min_score'"min_score""min_score""min_score""min_score" sowie 'max_clutter'"max_clutter""max_clutter""max_clutter""max_clutter" (falls gesetzt) wie folgt:

      • Keine Störparameter gesetzt:

        Für den Fall dass mehr als 'num_matches'"num_matches""num_matches""num_matches""num_matches" Instanzen gefunden werden, die den erforderlichen minimalen Score erreichen, werden nur die 'num_matches'"num_matches""num_matches""num_matches""num_matches" Matches mit den höchsten Scores zurückgegeben.

        Falls weniger als 'num_matches'"num_matches""num_matches""num_matches""num_matches" Instanzen mit dem erforderlichen Score gefunden werden, werden nur die Instanzen zurückgegeben, die die Anforderungen an den Score erfüllen.

      • Störparameter gesetzt:

        Für den Fall dass mehr als 'num_matches'"num_matches""num_matches""num_matches""num_matches" Instanzen gefunden werden, die den erforderlichen minimalen Score und einen akzeptablen Störwert erreichen, werden nur die 'num_matches'"num_matches""num_matches""num_matches""num_matches" Matches mit den besten Störwerten zurückgegeben.

        Falls weniger als 'num_matches'"num_matches""num_matches""num_matches""num_matches" Instanzen mit dem erforderlichen Score und / oder akzeptablen Störwert gefunden werden, werden nur die Instanzen zurückgegeben, die die Anforderungen an den Score und den Störwert erfüllen.

      Das Verfolgen von Matches durch die Bildpyramide hängt davon ab ob Störparameter gesetzt wurden:

      • Keine Störparameter gesetzt:

        Auf jeder Stufe (außer der obersten Pyramidenstufe) werden weniger aussichtsreiche Matches basierend auf 'num_matches'"num_matches""num_matches""num_matches""num_matches" verworfen. Dabei können Matches verworfen werden die auf der niedrigsten Pyramidenstufe einen höheren Score erreicht hätten. Daher kann sich das Ergebnis für beispielsweise 'num_matches'"num_matches""num_matches""num_matches""num_matches" = 1 von der Instanz mit dem höchsten Score unterscheiden, wenn 'num_matches'"num_matches""num_matches""num_matches""num_matches" auf 'all'"all""all""all""all" oder einen Wert größer 1 gesetzt wird. Folglich kann im Fall, dass mehrere Objekte mit ähnlichem Score zu erwarten sind, aber nur der beste Match gewählt werden soll, ratsam sein mehrere Instanzen zurückzugeben und dann den Match mit dem höchsten Score auszuwählen.

      • Störparameter gesetzt:

        Beim Verfolgen der Matches werden keine Matches verworfen. Die Laufzeit mit Nutzung von Störparametern ist mindestens so hoch wie die Laufzeit ohne Störparameter aber Rückgabe aller Matches, d.h., mit auf 'all'"all""all""all""all" gesetztem Parameter 'num_matches'"num_matches""num_matches""num_matches""num_matches".

      Default: 'all'"all""all""all""all".

    • 'strict_boundaries'"strict_boundaries""strict_boundaries""strict_boundaries""strict_boundaries":

      Bestimmt ob gefundene Instanzen nur dann zurückgegeben werden wenn sie strikt innerhalb des gegebenen Parameterraums liegen ('true'"true""true""true""true") oder nicht ('false'"false""false""false""false"). Der Parameterraum umfasst alle festgelegten Rotations- und Skalierungsbereiche (siehe oben). Es ist zu beachten, dass dieses Auswahlkriterium nach der Reduktion der Matches auf die besten 'num_matches'"num_matches""num_matches""num_matches""num_matches" Matches angewandt wird und daher in Extremfällen dazu führen kann, dass kein Ergebnis zurückgegeben wird.

      Kompatibilität: Wird dieser Wert für ein Modell gesetzt, das nicht mit create_generic_shape_modelcreate_generic_shape_modelCreateGenericShapeModelCreateGenericShapeModelcreate_generic_shape_model erstellt wurde, werden interne Modelleinstellungen verändert. Folglich kann unterschiedliches Verhalten bezüglich Matches außerhalb des eingestellten Parameterraums auftreten wenn für solche Modelle 'strict_boundaries'"strict_boundaries""strict_boundaries""strict_boundaries""strict_boundaries" auf 'true'"true""true""true""true" und wieder zurück 'false'"false""false""false""false" gesetzt wird.

      Default: 'false'"false""false""false""false".

    • 'max_overlap'"max_overlap""max_overlap""max_overlap""max_overlap":

      Bestimmt zu welchem Anteil zwei Instanzen höchstens überlappen dürfen um als unterschiedliche Instanzen zu gelten und daher separat zurückgegeben zu werden. Falls sich zwei Instanzen zu einem Anteil von mehr als 'max_overlap'"max_overlap""max_overlap""max_overlap""max_overlap" überlappen wird nur diejenige mit dem höheren Score zurückgegeben. Die Berechnung der Überlappung basiert auf dem kleinsten umschließenden Rechteck beliebiger Orientierung (siehe smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2smallest_rectangle2) der gefundenen Instanzen. Wird 'max_overlap'"max_overlap""max_overlap""max_overlap""max_overlap" auf 0 gesetzt, so dürfen gefundene Instanzen überhaupt nicht überlappen, während für 'max_overlap'"max_overlap""max_overlap""max_overlap""max_overlap" = 1 alle Instanzen zurückgegeben werden, unabhängig von möglicher Überlappung. Für weitere Informationen zu 'max_overlap'"max_overlap""max_overlap""max_overlap""max_overlap", siehe „Solution Guide II-B - Matching“.

      Restriktion: 0 'max_overlap'"max_overlap""max_overlap""max_overlap""max_overlap" 1.

      Default: 0.5.

    • 'max_overlap_global_enable'"max_overlap_global_enable""max_overlap_global_enable""max_overlap_global_enable""max_overlap_global_enable":

      Bestimmt ob die Überlappung für alle gefundenen Instanzen unabhängig vom Modell berechnet wird ('true'"true""true""true""true") oder nicht ('false'"false""false""false""false"). D.h., dass die Überlappung einer Instanz gegenüber den gefundenen Instanzen aller Modelle bestimmt wird und eine zu große Überlappung zur Elimination der Instanz führt. Genauere Informationen über die Berechnung der Überlappung finden sich bei 'max_overlap'"max_overlap""max_overlap""max_overlap""max_overlap".

      Es ist zu beachten, dass die Verwendung der globalen Überlappung für alle Modelle gilt die bei der Suche verwendet werden, selbst wenn nur eines der Modelle 'max_overlap_global_enable'"max_overlap_global_enable""max_overlap_global_enable""max_overlap_global_enable""max_overlap_global_enable" aktiviert hat.

      Als Wert für die maximal zulässige globale Überlappung wird das Minimum aller Werte von 'max_overlap'"max_overlap""max_overlap""max_overlap""max_overlap" aller übergegebenen Modelle benutzt.

      Werteliste: 'true'"true""true""true""true", 'false'"false""false""false""false".

      Default: 'false'"false""false""false""false".

    • 'max_clutter'"max_clutter""max_clutter""max_clutter""max_clutter":

      Bestimmt den maximalen Störwert den ein möglicher Match aufweisen darf um als Modellinstanz im Bild in Frage zu kommen. Dies gilt natürlich nur für Modelle die Störungen berücksichtigen, also wo 'use_clutter'"use_clutter""use_clutter""use_clutter""use_clutter" auf 'true'"true""true""true""true" gesetzt wurde.

      Default: 0.0.

  3. Grauwertbehandlung

    • 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast":

      Bestimmt den minimalen Kontrast (Grauwertdifferenz zu Nachbarpixeln) den ein Punkt im Suchbild mindestens aufweisen muss um mit dem Modell verglichen zu werden. Der Hauptverwendungszweck dieses Parameters ist es Rauschen im Bild für den Matching-Vorgang zu unterdrücken. Der Operator estimate_noiseestimate_noiseEstimateNoiseEstimateNoiseestimate_noise kann zur Einschätzung des Rauschens verwendet werden.

      Beispiel: Das Rauschen im Bild weist Grauwertschwankungen im Bereich von 10 Grauwerten auf. In diesem Fall ist es ratsam 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast" auf 10 zu setzen.

      Mehrkanalige Bilder: Für eine Suche in mehrkanaligen Bildern mit Hilfe von 'metric'"metric""metric""metric""metric" = 'ignore_color_polarity'"ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity", muss das Rauschen in einem Channel multipliziert werden und zwar mit der Quadratwurzel aus der Anzahl an Kanälen für die 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast" bestimmt werden soll.

      Beispiel: Das Rauschen in einem Kanal eines dreikanaligen Bildes weist Grauwertschwankungen im Bereich von 10 Grauwerten auf. In diesem Fall ist es ratsam 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast" auf 17 zu setzen.

      Es ist zu beachten, dass 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast" kleiner sein muss als der Kontrast-Schwellenwert der mit 'contrast_low'"contrast_low""contrast_low""contrast_low""contrast_low" und 'contrast_high'"contrast_high""contrast_high""contrast_high""contrast_high" gesetzt wird, siehe oben.

      Der Wert 'auto'"auto""auto""auto""auto" bedeutet, dass der Wert beim Aufruf von train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model basierend auf dem Rauschen im Modellbild geschätzt wird. Für eine sinnvolle automatische Schätzung muss daher das Rauschen im Modellbild ähnlich zum Rauschen in den Suchbildern sein.

      Training: Wird dieser Wert auf 'auto'"auto""auto""auto""auto" gesetzt, dann ist ein Training des Formmodells notwendig.

      Mögliche Werte: 'auto'"auto""auto""auto""auto", 10, 20.

      Default: 'auto'"auto""auto""auto""auto".

    • 'border_shape_models'"border_shape_models""border_shape_models""border_shape_models""border_shape_models":

      Bestimmt, ob das Formmodell ModelIDModelIDModelIDmodelIDmodel_id, nach dem beispielsweise mit find_generic_shape_modelfind_generic_shape_modelFindGenericShapeModelFindGenericShapeModelfind_generic_shape_model gesucht wird, teilweise außerhalb des Bildes liegen darf (d.h. ob der Bildbereich, unabhängig von der Domäne, überschritten werden darf). Teilweise bedeutet, dass der Ursprung des Modells noch innerhalb des Bildes liegen muss. Ein eventuell mit set_generic_shape_model_paramset_generic_shape_model_paramSetGenericShapeModelParamSetGenericShapeModelParamset_generic_shape_model_param anders gesetzter Ursprung wird nicht berücksichtigt. Der Wert 'system'"system""system""system""system" bedeutet hierbei, dass das Modell den systemweiten Wert, der über set_systemset_systemSetSystemSetSystemset_system für 'border_shape_models'"border_shape_models""border_shape_models""border_shape_models""border_shape_models" gesetzt wurde, verwendet.

      Werteliste: 'system'"system""system""system""system", 'true'"true""true""true""true", 'false'"false""false""false""false".

      Default: 'system'"system""system""system""system".

  4. Verfeinerung

    • 'subpixel'"subpixel""subpixel""subpixel""subpixel":

      Bestimmt welche Art der Subpixel-Verfeinerung ausgeführt werden soll. Mögliche Werte:

      • 'none'"none""none""none""none": Die Pose des Modells wird lediglich mit Pixelgenauigkeit und der in 'angle_step'"angle_step""angle_step""angle_step""angle_step" angegebenen Winkelauflösung bestimmt.

      • 'interpolation'"interpolation""interpolation""interpolation""interpolation": Die Pose des Modells wird aus der Score-Funktion interpoliert. Dieser Modus zeichnet sich durch sehr niedrigen Berechnungsaufwand aus.

      • 'least_squares'"least_squares""least_squares""least_squares""least_squares": Die Pose des Modells wird mit der Least-Squares-Adjustment-Methode verfeinert, d.h. die Distanzen zwischen den Modellpunkten und den entsprechenden Bildpunkten werden minimiert.

      • 'least_squares_high'"least_squares_high""least_squares_high""least_squares_high""least_squares_high": Die Pose des Modells wird mit der Least-Squares-Adjustment-Methode verfeinert, d.h. die Distanzen zwischen den Modellpunkten und den entsprechenden Bildpunkten werden minimiert. Hierbei sind mehr Iterationsschritte als für 'least_squares'"least_squares""least_squares""least_squares""least_squares" zugelassen, wodurch sich die Laufzeit erhöhen kann.

      • 'least_squares_very_high'"least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high": Die Pose des Modells wird mit der Least-Squares-Adjustment-Methode verfeinert, d.h. die Distanzen zwischen den Modellpunkten und den entsprechenden Bildpunkten werden minimiert. Hierbei sind mehr Iterationsschritte als für 'least_squares_high'"least_squares_high""least_squares_high""least_squares_high""least_squares_high" zugelassen, wodurch sich die Laufzeit erhöhen kann.

      Das Zusammenspiel mit 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation" wird in der Beschreibung zu Letzterem erklärt.

      Default: 'least_squares'"least_squares""least_squares""least_squares""least_squares".

    • 'greediness'"greediness""greediness""greediness""greediness":

      Bestimmt wie „gierig“ die Suche ausgeführt werden soll. Ein höherer Wert resultiert in einer schnelleren Suche, welche allerdings eine weniger sichere Suchheuristik verwendet.

      Restriktion: 0 'greediness'"greediness""greediness""greediness""greediness" 1.

      Default: 0.9.

  5. Bildpyramide

    • 'pyramid_level_highest'"pyramid_level_highest""pyramid_level_highest""pyramid_level_highest""pyramid_level_highest":

      Bestimmt die höchste Stufe der Bildpyramide die für die Suche verwendet wird. Damit kann die im Modell gesetzte höchste Pyramidenstufe für die Suche heruntergesetzt werden. Der Wert kann nicht höher sein als die höchste Pyramidenstufe des Modells, welche mit 'num_levels'"num_levels""num_levels""num_levels""num_levels" gesetzt wird. Höhere Werte für 'pyramid_level_highest'"pyramid_level_highest""pyramid_level_highest""pyramid_level_highest""pyramid_level_highest" werden entsprechend reduziert. Der Wert 'auto'"auto""auto""auto""auto" bedeutet, dass die Stufe für die Suche nicht heruntergesetzt wird und das Modell dementsprechend die in 'num_levels'"num_levels""num_levels""num_levels""num_levels" gesetzte höchste Pyramidenstufe nutzt.

      Default: 'auto'"auto""auto""auto""auto".

    • 'pyramid_level_lowest'"pyramid_level_lowest""pyramid_level_lowest""pyramid_level_lowest""pyramid_level_lowest":

      Bestimmt die niedrigste Stufe der Bildpyramide zu der die gefundenen Matches verfolgt werden. Werden die Matches nicht bis auf die unterste Stufe der Bildpyramide verfolgt verringert sich die Laufzeit. Im Allgemeinen ist die Genauigkeit der erhaltenen Posen allerdings um so niedriger je höher die niedrigste Stufe gesetzt wird. In Extremfällen kann dies auch zum Finden falscher Instanzen führen, für die die gewünschte Genauigkeit nicht erreicht werden kann.

      Default: 1.

    • 'pyramid_level_robust_tracking'"pyramid_level_robust_tracking""pyramid_level_robust_tracking""pyramid_level_robust_tracking""pyramid_level_robust_tracking":

      Bestimmt ob der sogenannte „increased tolerance“-Modus aktiviert ist ('true'"true""true""true""true") oder nicht ('false'"false""false""false""false"). In diesem Modus wird die niedrigste Pyramidenstufe auf der mindestens ein Match gefunden wird während der Suche automatisch bestimmt. Für den Fall dass Eingabebilder in schlechter Qualität vorliegen, beispielsweise unscharf, verzerrt oder verrauscht, kann dieser Modus hilfreich sein. In diesen Fällen können die Kanteninformationen auf der niedrigsten Pyramidenstufe fehlen oder verzerrt sein und dazu führen, dass keine Instanzen des Formmodells gefunden werden. Nichtsdestotrotz kann die Kanteninformation auf höheren Pyramidenstufen ausreichend sein. Die Wahl der passenden Pyramidenstufe, d.h. der niedrigsten Pyramidenstufe auf der mindestens ein Match gefunden wird, hängt vom Modell und dem Eingabebild ab. Natürlich gelten auch hier die für 'pyramid_level_lowest'"pyramid_level_lowest""pyramid_level_lowest""pyramid_level_lowest""pyramid_level_lowest" genannten Einschränkungen bezüglich Genauigkeit und Robustheit.

      Beispiel: 'pyramid_level_highest'"pyramid_level_highest""pyramid_level_highest""pyramid_level_highest""pyramid_level_highest" wird auf 4, 'pyramid_level_lowest'"pyramid_level_lowest""pyramid_level_lowest""pyramid_level_lowest""pyramid_level_lowest" auf 2 und 'pyramid_level_robust_tracking'"pyramid_level_robust_tracking""pyramid_level_robust_tracking""pyramid_level_robust_tracking""pyramid_level_robust_tracking" auf 'true'"true""true""true""true" gesetzt. Das Matching startet nun auf der vierten Pyramidenstufe und verfolgt die Matches bis zur zweiten Stufe. Falls keine Instanz des Modells auf der zweiten Pyramidenstufe gefunden wird, aber Matches auf höheren Pyramidenstufen gefunden wurden, dann wird die niedrigste Pyramidenstufe auf die Stufe gesetzt auf der mindestens eine Instanz des Modells gefunden wurde. Die Instanzen dieser Pyramidenstufe werden dann zurückgegeben.

      Default: 'false'"false""false""false""false".

  6. Störungen

    Die folgenden Parameter werden dazu genutzt die Störregion zu spezifizieren. Es ist zu beachten, dass dazu zuvor eine Störregion mit set_generic_shape_model_objectset_generic_shape_model_objectSetGenericShapeModelObjectSetGenericShapeModelObjectset_generic_shape_model_object gesetzt werden muss.

    • 'use_clutter'"use_clutter""use_clutter""use_clutter""use_clutter":

      Bestimmt ob das Modell ModelIDModelIDModelIDmodelIDmodel_id Störparameter berücksichtigt ('true'"true""true""true""true") oder nicht ('false'"false""false""false""false"). Die Laufzeit mit Nutzung von Störparametern ist mindestens so hoch wie die Laufzeit ohne Störparameter aber Rückgabe aller Matches, d.h., mit auf 'all'"all""all""all""all" gesetztem Parameter 'num_matches'"num_matches""num_matches""num_matches""num_matches".

      Werteliste: 'false'"false""false""false""false", 'true'"true""true""true""true".

      Default: 'false'"false""false""false""false".

    • 'clutter_contrast'"clutter_contrast""clutter_contrast""clutter_contrast""clutter_contrast":

      Bestimmt den minimalen Kontrast, den Kanten in der Störregion haben müssen, damit sie als Störung gezählt werden.

      Die Polarität der gefundenen Störkanten wird ignoriert, d.h. helle Objekte auf dunklem Hintergrund erzielen denselben Störwert wie dunkle Objekte auf hellem Hintergrund, unabhängig vom Parameter 'metric'"metric""metric""metric""metric" des Formmodells.

      Mit dem Wert 'auto'"auto""auto""auto""auto" wird sein Wert automatisch geschätzt. Es ist zu beachten, das für eine geeignete Schätzung eine repräsentative Region benötigt wird. Es wird empfohlen, den geschätzten Wert auf Eignung zu überprüfen und gegebenenfalls anzupassen.

      Es ist zu beachten, dass die Störwerte stark von Beleuchtungsänderungen beeinflusst werden.

      Mögliche Werte: 'auto'"auto""auto""auto""auto", 5, 10.

      Restriktion: 'clutter_contrast'"clutter_contrast""clutter_contrast""clutter_contrast""clutter_contrast" muss größer oder gleich zu 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast" sein.

      Default: 'auto'"auto""auto""auto""auto".

      Achtung: Es ist nicht möglich, geeignete Kontrastwerte aus einem Formmodell zu schätzen, das aus einer XLD-Kontur erzeugt wurde. Deswegen wird in diesem Fall der geschätzte Wert auf den Wert von 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast" gesetzt, siehe den Abschnitt "Automatische Modifikationen".

    • 'max_clutter'"max_clutter""max_clutter""max_clutter""max_clutter":

      Der Wert von 'max_clutter'"max_clutter""max_clutter""max_clutter""max_clutter" spezifiziert den maximalen Störwert, den ein Match haben darf, um akzeptiert zu werden.

      Es ist zu beachten, dass dieser Wert die Laufzeit nicht beeinflusst.

      Möglicher Wertebereich: [0.0, 1.0].

      Default: 0.0.

    • 'clutter_hom_mat_2d'"clutter_hom_mat_2d""clutter_hom_mat_2d""clutter_hom_mat_2d""clutter_hom_mat_2d":

      Die Transformationsmatrix 'clutter_hom_mat_2d'"clutter_hom_mat_2d""clutter_hom_mat_2d""clutter_hom_mat_2d""clutter_hom_mat_2d" bildet den Ursprung des Modells auf dessen entsprechende Position in dem Bild ab, das zur Spezifikation der Störregion mit set_generic_shape_model_objectset_generic_shape_model_objectSetGenericShapeModelObjectSetGenericShapeModelObjectset_generic_shape_model_object verwendet wurde. Mögliche Werte sind:

      Default: 'auto'"auto""auto""auto""auto".

    • 'clutter_border_mode'"clutter_border_mode""clutter_border_mode""clutter_border_mode""clutter_border_mode":

      Mit 'clutter_border_mode'"clutter_border_mode""clutter_border_mode""clutter_border_mode""clutter_border_mode" kann das Verhalten des Störwertes für den Fall, dass die Störregion nicht komplett im Bildbereich enthalten ist, beeinflusst werden. Die entsprechenden Werte für 'clutter_border_mode'"clutter_border_mode""clutter_border_mode""clutter_border_mode""clutter_border_mode" sind:

      • 'clutter_border_average'"clutter_border_average""clutter_border_average""clutter_border_average""clutter_border_average":

        Wenn 'clutter_border_average'"clutter_border_average""clutter_border_average""clutter_border_average""clutter_border_average" gesetzt wird, wird angenommen, dass der verdeckte Teil durchschnittlich den selben Störanteil aufweist wie der sichtbare Teil. Ist die Störregion gar nicht zu sehen, wird der Störwert des gefundenen Matches auf 0.0 gesetzt.

      • 'clutter_border_empty'"clutter_border_empty""clutter_border_empty""clutter_border_empty""clutter_border_empty":

        Wird 'clutter_border_empty'"clutter_border_empty""clutter_border_empty""clutter_border_empty""clutter_border_empty" gesetzt, wird angenommen, dass der verdeckte Teil der Störregionen keine Störungen enthält.

      Es ist zu beachten, dass mit 'clutter_border_average'"clutter_border_average""clutter_border_average""clutter_border_average""clutter_border_average" höhere Störwerte erreicht werden als mit 'clutter_border_empty'"clutter_border_empty""clutter_border_empty""clutter_border_empty""clutter_border_empty", selbst wenn der Match nicht am Rand des Bildbereichs liegt.

      Werteliste: 'clutter_border_average'"clutter_border_average""clutter_border_average""clutter_border_average""clutter_border_average", 'clutter_border_empty'"clutter_border_empty""clutter_border_empty""clutter_border_empty""clutter_border_empty".

      Default: 'clutter_border_average'"clutter_border_average""clutter_border_average""clutter_border_average""clutter_border_average".

  7. Ausgabe

    • Ursprung:

      Der Ursprung (Referenzpunkt) ist relativ zum Schwerpunkt der Domäne (Region) des Bildes definiert, das zum Trainieren des Formmodells mit train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model benutzt wurde. Daher bedeutet ein Ursprung von (0,0), dass der Schwerpunkt der Domäne des Template-Bildes als Ursprung verwendet wird. Der Ursprung kann mit folgenden Parametern neu gesetzt werden:

      • 'origin_row'"origin_row""origin_row""origin_row""origin_row": Bestimmt die Zeilenkoordinate des neuen, verschobenen Ursprungs.

        Default: 0.

      • 'origin_column'"origin_column""origin_column""origin_column""origin_column": Bestimmt die Spaltenkoordinate des neuen, verschobenen Ursprungs.

        Default: 0.

      Beispiel: Setzt man 'origin_column'"origin_column""origin_column""origin_column""origin_column" = -20 und 'origin_row'"origin_row""origin_row""origin_row""origin_row" = -40, dann liegt der neue Ursprung links oberhalb des Schwerpunkts des Modells. Es ist zu beachten, dass das Setzen des Ursprungs die verwendeten Transformationsmatrizen verändert, d.h. die 'clutter_hom_mat_2d'"clutter_hom_mat_2d""clutter_hom_mat_2d""clutter_hom_mat_2d""clutter_hom_mat_2d", die der Nutzer setzt und die berechnete 'hom_mat_2d'"hom_mat_2d""hom_mat_2d""hom_mat_2d""hom_mat_2d" eines Matches.

    • 'prepare_contours_for_visualization'"prepare_contours_for_visualization""prepare_contours_for_visualization""prepare_contours_for_visualization""prepare_contours_for_visualization"

      Bestimmt, ob die Kontur eines gefundenen Matches mit find_generic_shape_modelfind_generic_shape_modelFindGenericShapeModelFindGenericShapeModelfind_generic_shape_model für die Visualisierung vorbereitet und in MatchResultIDMatchResultIDMatchResultIDmatchResultIDmatch_result_id ausgegeben werden soll ('true'"true""true""true""true") oder nicht ('false'"false""false""false""false"). Durch die Deaktivierung von 'prepare_contours_for_visualization'"prepare_contours_for_visualization""prepare_contours_for_visualization""prepare_contours_for_visualization""prepare_contours_for_visualization" verkürzt sich die Laufzeit. In der Dokumentation von get_generic_shape_model_result_objectget_generic_shape_model_result_objectGetGenericShapeModelResultObjectGetGenericShapeModelResultObjectget_generic_shape_model_result_object wird beschrieben wie die generierte Kontur abgefragt werden kann.

      Werteliste: 'true'"true""true""true""true", 'false'"false""false""false""false".

      Default: 'true'"true""true""true""true".

    • 'prepare_clutter_region_for_visualization'"prepare_clutter_region_for_visualization""prepare_clutter_region_for_visualization""prepare_clutter_region_for_visualization""prepare_clutter_region_for_visualization"

      Bestimmt, ob die Störregion eines gefundenen Matches mit find_generic_shape_modelfind_generic_shape_modelFindGenericShapeModelFindGenericShapeModelfind_generic_shape_model für die Visualisierung vorbereitet und in MatchResultIDMatchResultIDMatchResultIDmatchResultIDmatch_result_id ausgegeben werden soll ('true'"true""true""true""true") oder nicht ('false'"false""false""false""false"). Durch die Deaktivierung von 'prepare_clutter_region_for_visualization'"prepare_clutter_region_for_visualization""prepare_clutter_region_for_visualization""prepare_clutter_region_for_visualization""prepare_clutter_region_for_visualization" verkürzt sich die Laufzeit. In der Dokumentation von get_generic_shape_model_result_objectget_generic_shape_model_result_objectGetGenericShapeModelResultObjectGetGenericShapeModelResultObjectget_generic_shape_model_result_object wird beschrieben wie die generierte Störregion abgefragt werden kann.

      Werteliste: 'true'"true""true""true""true", 'false'"false""false""false""false".

      Default: 'true'"true""true""true""true".

    • 'time_measurement'"time_measurement""time_measurement""time_measurement""time_measurement"

      Bestimmt, ob während der Suche die benötigte Zeit einzelner Abschnitte gemessen wird. Die einzelnen Zeiten werden in MatchResultIDMatchResultIDMatchResultIDmatchResultIDmatch_result_id zurückgegeben, siehe get_generic_shape_model_resultget_generic_shape_model_resultGetGenericShapeModelResultGetGenericShapeModelResultget_generic_shape_model_result.

      Werteliste: 'pipeline'"pipeline""pipeline""pipeline""pipeline", 'false'"false""false""false""false".

      Default: 'false'"false""false""false""false".

Rechnerressourcen für die Suche

In diesem Abschnitt werden die Parameter aufgelistet und erläutert, welche technische Einflüsse beim Suchen des Modells ModelIDModelIDModelIDmodelIDmodel_id betreffen. Folgende Parameter GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name werden unterstützt:

Erweiterte Parameterschätzung

Die erweiterte Parameterschätzung ermöglicht eine verbesserte Schätzung spezifischer Parameter. Sie kann durchgeführt werden, indem repräsentative Samples dem Modell hinzugefügt werden, bevor es mittels train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model trainiert wird. In diesem Abschnitt werden die Parameter aufgelistet, die für die erweiterte Parameterschätzung eingesetzt werden können. Wird ein zugehöriger Wert verändert, ist es notwendig das angepasste Modell vor dem Matching zu trainieren. Folgende Parameter GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name werden unterstützt:

Automatische Modifikationen

In diesem Abschnitt werden die Parameter aufgelistet, die ohne weitere Benachrichtigung automatisch modifiziert werden:

Es ist zu beachten das Transformationen intern so berechnet werden, dass die Skalierung und dann die Rotation angewandt wird. Daher sollte das Modell üblicherweise so ausgerichtet werden, dass es horizontal oder vertikal im Modellbild auftritt.

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

ModelIDModelIDModelIDmodelIDmodel_id (input_control, Zustand wird modifiziert)  shape_model HShapeModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Formmodells.

GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  attribute.name-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Parameternamen.

Default: 'min_score' "min_score" "min_score" "min_score" "min_score"

Werteliste: 'angle_end'"angle_end""angle_end""angle_end""angle_end", 'angle_start'"angle_start""angle_start""angle_start""angle_start", 'angle_step'"angle_step""angle_step""angle_step""angle_step", 'border_shape_models'"border_shape_models""border_shape_models""border_shape_models""border_shape_models", 'clutter_border_mode'"clutter_border_mode""clutter_border_mode""clutter_border_mode""clutter_border_mode", 'clutter_contrast'"clutter_contrast""clutter_contrast""clutter_contrast""clutter_contrast", 'clutter_hom_mat_2d'"clutter_hom_mat_2d""clutter_hom_mat_2d""clutter_hom_mat_2d""clutter_hom_mat_2d", 'contrast_high'"contrast_high""contrast_high""contrast_high""contrast_high", 'contrast_low'"contrast_low""contrast_low""contrast_low""contrast_low", 'greediness'"greediness""greediness""greediness""greediness", 'iso_scale_max'"iso_scale_max""iso_scale_max""iso_scale_max""iso_scale_max", 'iso_scale_min'"iso_scale_min""iso_scale_min""iso_scale_min""iso_scale_min", 'iso_scale_step'"iso_scale_step""iso_scale_step""iso_scale_step""iso_scale_step", 'max_clutter'"max_clutter""max_clutter""max_clutter""max_clutter", 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation", 'max_overlap'"max_overlap""max_overlap""max_overlap""max_overlap", 'max_overlap_global_enable'"max_overlap_global_enable""max_overlap_global_enable""max_overlap_global_enable""max_overlap_global_enable", 'metric'"metric""metric""metric""metric", 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast", 'min_score'"min_score""min_score""min_score""min_score", 'min_size'"min_size""min_size""min_size""min_size", 'model_cache'"model_cache""model_cache""model_cache""model_cache", 'model_identifier'"model_identifier""model_identifier""model_identifier""model_identifier", 'num_levels'"num_levels""num_levels""num_levels""num_levels", 'num_matches'"num_matches""num_matches""num_matches""num_matches", 'optimization'"optimization""optimization""optimization""optimization", 'origin_column'"origin_column""origin_column""origin_column""origin_column", 'origin_row'"origin_row""origin_row""origin_row""origin_row", 'prepare_clutter_region_for_visualization'"prepare_clutter_region_for_visualization""prepare_clutter_region_for_visualization""prepare_clutter_region_for_visualization""prepare_clutter_region_for_visualization", 'prepare_contours_for_visualization'"prepare_contours_for_visualization""prepare_contours_for_visualization""prepare_contours_for_visualization""prepare_contours_for_visualization", 'pyramid_level_highest'"pyramid_level_highest""pyramid_level_highest""pyramid_level_highest""pyramid_level_highest", 'pyramid_level_lowest'"pyramid_level_lowest""pyramid_level_lowest""pyramid_level_lowest""pyramid_level_lowest", 'pyramid_level_robust_tracking'"pyramid_level_robust_tracking""pyramid_level_robust_tracking""pyramid_level_robust_tracking""pyramid_level_robust_tracking", 'restrict_iso_scale_max'"restrict_iso_scale_max""restrict_iso_scale_max""restrict_iso_scale_max""restrict_iso_scale_max", 'restrict_iso_scale_min'"restrict_iso_scale_min""restrict_iso_scale_min""restrict_iso_scale_min""restrict_iso_scale_min", 'restrict_scale_column_max'"restrict_scale_column_max""restrict_scale_column_max""restrict_scale_column_max""restrict_scale_column_max", 'restrict_scale_column_min'"restrict_scale_column_min""restrict_scale_column_min""restrict_scale_column_min""restrict_scale_column_min", 'restrict_scale_row_max'"restrict_scale_row_max""restrict_scale_row_max""restrict_scale_row_max""restrict_scale_row_max", 'restrict_scale_row_min'"restrict_scale_row_min""restrict_scale_row_min""restrict_scale_row_min""restrict_scale_row_min", 'scale_column_max'"scale_column_max""scale_column_max""scale_column_max""scale_column_max", 'scale_column_min'"scale_column_min""scale_column_min""scale_column_min""scale_column_min", 'scale_column_step'"scale_column_step""scale_column_step""scale_column_step""scale_column_step", 'scale_row_max'"scale_row_max""scale_row_max""scale_row_max""scale_row_max", 'scale_row_min'"scale_row_min""scale_row_min""scale_row_min""scale_row_min", 'scale_row_step'"scale_row_step""scale_row_step""scale_row_step""scale_row_step", 'strict_boundaries'"strict_boundaries""strict_boundaries""strict_boundaries""strict_boundaries", 'subpixel'"subpixel""subpixel""subpixel""subpixel", 'time_measurement'"time_measurement""time_measurement""time_measurement""time_measurement", 'timeout'"timeout""timeout""timeout""timeout", 'training_samples'"training_samples""training_samples""training_samples""training_samples", 'use_clutter'"use_clutter""use_clutter""use_clutter""use_clutter"

GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  attribute.value-array HTupleSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Parameterwerte.

Default: 0.5

Wertevorschläge: -3.14, -1.57, -0.79, -0.39, 0.0, 0.39, 0.79, 1.57, 3.14

Ergebnis

Sind die Parameterwerte korrekt, dann liefert set_generic_shape_model_paramset_generic_shape_model_paramSetGenericShapeModelParamSetGenericShapeModelParamset_generic_shape_model_param den Wert 2 ( H_MSG_TRUE) . Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_generic_shape_modelcreate_generic_shape_modelCreateGenericShapeModelCreateGenericShapeModelcreate_generic_shape_model

Nachfolger

get_generic_shape_model_paramget_generic_shape_model_paramGetGenericShapeModelParamGetGenericShapeModelParamget_generic_shape_model_param, train_generic_shape_modeltrain_generic_shape_modelTrainGenericShapeModelTrainGenericShapeModeltrain_generic_shape_model, find_generic_shape_modelfind_generic_shape_modelFindGenericShapeModelFindGenericShapeModelfind_generic_shape_model

Modul

Matching