modify_component_relations
— Verändert die Relationen innerhalb eines Trainingsergebnisses.
modify_component_relations( : : ComponentTrainingID, ReferenceComponent, ToleranceComponent, PositionTolerance, AngleTolerance : )
modify_component_relations
verändert die Relationen zwischen
den Modelkomponenten innerhalb des Trainingsergebnisses
ComponentTrainingID
. Die Auswahl der zu ändernden
Relation(en) erfolgt mit ReferenceComponent
und
ToleranceComponent
, d.h. die Bewegung der Komponente
ToleranceComponent
relativ zur Komponente
ReferenceComponent
wird verändert. Diese beiden Parameter
beschreiben den Index der entsprechenden Komponenten und müssen
somit im Bereich von 0 bis n-1 liegen, wenn n die
Anzahl der Komponenten darstellt.
Das Maß der Veränderung wird durch die Angabe von Toleranzwerten
festgelegt. Durch die Angabe einer Positionstoleranz
PositionTolerance
wird erreicht, dass die Halbachsen des
Rechtecks, das die Referenzpunktbewegung beschreibt (siehe
train_model_components
), um PositionTolerance
Pixel
vergrößert werden. Dementsprechend wird durch die Angabe einer
Winkeltoleranz AngleTolerance
erreicht, dass der
Winkelbereich, der die Variation der relativen Orientierung
beschreibt (siehe train_model_components
), um
AngleTolerance
in beide Richtungen vergrößert
wird. Negative Toleranzwerte führen konsequenter Weise zur
Verkleinerung der jeweiligen Relationen. Die Verwendung von
modify_component_relations
ist insbesondere dann sinnvoll,
wenn davon ausgegangen werden muss, dass die während des Trainierens
verwendeten Trainingsbildern nicht das gesamte Spektrum der relativen
Bewegungen abdecken.
Für die Auswahl der zu ändernden Relationen mit Hilfe von
ReferenceComponent
und ToleranceComponent
sind
folgende Möglichkeiten vorgesehen. Für jeden der beiden Parameter
können jeweils entweder ein Wert, mehrere Werte, oder 'all'
übergeben werden. Folgende Tabelle veranschaulicht die verschiedenen
Möglichkeiten durch Angabe der betroffenen Relation(en) für
verschiedene Kombinationen von Parameterwerten. Dabei wird von vier
Modellkomponenten (0, 1, 2 und 3) ausgegangen. Werden zum Beispiel
ReferenceComponent
auf 0 und
ToleranceComponent
auf 1 gesetzt, dann wird die
Relation (0,1), die die Bewegung der Komponente 1 relativ zur
Komponente 0 beschreibt, verändert.
ReferenceComponent |
ToleranceComponent |
Betroffene Relation(en) |
---|---|---|
'all' | 'all' | (0,1) (0,2) (0,3) |
(1,0) (1,2) (1,3) | ||
(2,0) (2,1) (2,3) | ||
(3,0) (3,1) (3,2) | ||
'all' | [1,2] | (0,1) (0,2) |
(1,2) | ||
(2,1) | ||
(3,1) (3,2) | ||
[0,1] | 'all' | (0,1) (0,2) (0,3) |
(1,0) (1,2) (1,3) | ||
0 | 1 | (0,1) |
0 | [1,2] | (0,1) (0,2) |
[0,1] | 2 | (0,2) (1,2) |
[0,1,2] | [1,2,3] | (0,1) (1,2) (2,3) |
Die Anzahl an übergebenen Toleranzwerten in
PositionTolerance
und AngleTolerance
muss gleich 1
sein oder mit der Anzahl an betroffenen Relationen
übereinstimmen. Im ersten Fall werden alle betroffenen Relationen um
den gleichen Wert verändert, wohingegen im zweiten Fall jede
Relation individuell durch einen eigenen Wert verändert werden
kann.
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.
ComponentTrainingID
(input_control, Zustand wird modifiziert) component_training →
(handle)
Handle des Trainingsergebnisses.
ReferenceComponent
(input_control) string(-array) →
(string / integer)
Modellkomponente(n) relativ zu der die Bewegung(en) verändert werden soll(en).
Defaultwert: 'all'
Wertevorschläge: 'all' , 0, 1, 2, 3, 4, 5, 6
ToleranceComponent
(input_control) string(-array) →
(string / integer)
Modellkomponente(n), deren relative Bewegung(en) verändert werden soll(en).
Defaultwert: 'all'
Wertevorschläge: 'all' , 0, 1, 2, 3, 4, 5, 6
PositionTolerance
(input_control) real(-array) →
(real)
Veränderung der Positionsrelation in Pixel.
Wertevorschläge: 1.0, 2.0, 3.0, 4.0, 5.0, 10.0, 20.0, 30.0
AngleTolerance
(input_control) angle.rad(-array) →
(real)
Veränderung der Winkelrelation im Bogenmaß.
Wertevorschläge: 0.017, 0.035, 0.052, 0.070, 0.087, 0.175, 0.349
Ist der Handle des Trainingsergebnisses gültig, dann liefert
modify_component_relations
den Wert 2 (H_MSG_TRUE). Gegebenenfalls
wird eine Fehlerbehandlung durchgeführt.
create_trained_component_model
Matching