inspect_clustered_components
— überprüfen der im Training ermittelten starren Modellkomponenten.
inspect_clustered_components( : ModelComponents : ComponentTrainingID, AmbiguityCriterion, MaxContourOverlap, ClusterThreshold : )
inspect_clustered_components
erzeugt eine Repräsentation der
starren Modellkomponenten in Form von Konturregionen, auf Grundlage
des Trainingsergebnisses ComponentTrainingID
. Die
resultierenden starren Modellkomponenten werden in Abhängigkeit des
Kriteriums zur Lösung der Mehrdeutigkeiten
AmbiguityCriterion
, der maximalen Konturüberlappung
MaxContourOverlap
und des Cluster-Schwellwertes
ClusterThreshold
berechnet (siehe
train_model_components
). Der Cluster-Schwellwert beschreibt
zum Beispiel das Maß, in dem initiale Komponenten zu starren
Modellkomponenten zusammengefasst werden. Je größer der
Cluster-Schwellwert gewählt wird, desto weniger Zusammenschlüsse
finden statt. Die ermittelten starren Modellkomponenten werden in
ModelComponents
zurückgeliefert.
Mit Hilfe von inspect_clustered_components
ist es damit
möglich, nach einmaligem Trainieren der Komponenten mit
train_model_components
die Auswirkungen verschiedener Werte
der Parameter AmbiguityCriterion
, MaxContourOverlap
und ClusterThreshold
auf die Bildung der starren
Modellkomponenten abzuschätzen, ohne das komplette Training mehrmals
durchführen zu müssen. Sind die gewünschten Parameterwerte gefunden,
können diese effizient in das Trainingsergebnis mit
cluster_model_components
übernommen werden.
ModelComponents
(output_object) region(-array) →
object
Konturregionen der starren Modellkomponenten.
ComponentTrainingID
(input_control) component_training →
(handle)
Handle des Trainingsergebnisses.
AmbiguityCriterion
(input_control) string →
(string)
Kriterium zur Lösung der Mehrdeutigkeiten.
Defaultwert: 'rigidity'
Werteliste: 'distance' , 'distance_orientation' , 'orientation' , 'rigidity'
MaxContourOverlap
(input_control) real →
(real)
Maximale Konturüberlappung gefundener initialer Komponenten.
Defaultwert: 0.2
Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.05
Restriktion: 0 <= MaxContourOverlap && MaxContourOverlap <= 1
ClusterThreshold
(input_control) real →
(real)
Schwellwert für das Zusammenfassen initialer Komponenten.
Defaultwert: 0.5
Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Restriktion: 0 <= ClusterThreshold && ClusterThreshold <= 1
* Get the model image. read_image (ModelImage, 'model_image.tif') * Define the regions for the initial components. gen_rectangle2 (InitialComponentRegions, 212, 233, 0.62, 167, 29) gen_rectangle2 (Rectangle2, 298, 363, 1.17, 162, 34) gen_rectangle2 (Rectangle3, 63, 444, -0.26, 50, 27) gen_rectangle2 (Rectangle4, 120, 473, 0, 33, 20) concat_obj (InitialComponentRegions, Rectangle2, InitialComponentRegions) concat_obj (InitialComponentRegions, Rectangle3, InitialComponentRegions) concat_obj (InitialComponentRegions, Rectangle4, InitialComponentRegions) * Get the training images gen_empty_obj (TrainingImages) for i := 1 to 4 by 1 read_image (TrainingImage, 'training_image-'+i$'02'+'.tif') concat_obj (TrainingImages, TrainingImage, TrainingImages) endfor * Extract the model components and train the relations. train_model_components (ModelImage, InitialComponentRegions, \ TrainingImages, ModelComponents, 22, 60, 30, 0.65, \ 0, 0, rad(60), 'speed', 'rigidity', 0.2, 0.5, \ ComponentTrainingID) * Find the best value for the parameter ClusterThreshold. inspect_clustered_components (ModelComponents, ComponentTrainingID, \ 'rigidity', 0.2, 0.4) * Adopt the ClusterThreshold into the training result. cluster_model_components (ModelComponents, ModelComponents, \ ComponentTrainingID, 'rigidity', 0.2, 0.4) * Create the component model based on the training result. create_trained_component_model (ComponentTrainingID, -rad(30), rad(60), 10, \ 0.5, 'auto', 'auto', 'none', \ 'use_polarity', 'false', ComponentModelID, \ RootRanking)
Ist der Handle des Trainingsergebnisses gültig, dann liefert
inspect_clustered_components
den Wert 2 (H_MSG_TRUE). Gegebenenfalls
wird eine Fehlerbehandlung durchgeführt.
Matching