Name
find_component_model find_component_model FindComponentModel find_component_model FindComponentModel FindComponentModel — Suche der besten Matches eines Komponentenmodells in einem Bild.
find_component_model (Image : : ComponentModelID , RootComponent , AngleStartRoot , AngleExtentRoot , MinScore , NumMatches , MaxOverlap , IfRootNotFound , IfComponentNotFound , PosePrediction , MinScoreComp , SubPixelComp , NumLevelsComp , GreedinessComp : ModelStart , ModelEnd , Score , RowComp , ColumnComp , AngleComp , ScoreComp , ModelComp )
Herror find_component_model (const Hobject Image , const Hlong ComponentModelID , const Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , const Hlong NumMatches , double MaxOverlap , const char* IfRootNotFound , const char* IfComponentNotFound , const char* PosePrediction , double MinScoreComp , const char* SubPixelComp , const Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelStart , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp )
Herror T_find_component_model (const Hobject Image , const Htuple ComponentModelID , const Htuple RootComponent , const Htuple AngleStartRoot , const Htuple AngleExtentRoot , const Htuple MinScore , const Htuple NumMatches , const Htuple MaxOverlap , const Htuple IfRootNotFound , const Htuple IfComponentNotFound , const Htuple PosePrediction , const Htuple MinScoreComp , const Htuple SubPixelComp , const Htuple NumLevelsComp , const Htuple GreedinessComp , Htuple* ModelStart , Htuple* ModelEnd , Htuple* Score , Htuple* RowComp , Htuple* ColumnComp , Htuple* AngleComp , Htuple* ScoreComp , Htuple* ModelComp )
Herror find_component_model (Hobject Image , const HTuple& ComponentModelID , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , const HTuple& MinScore , const HTuple& NumMatches , const HTuple& MaxOverlap , const HTuple& IfRootNotFound , const HTuple& IfComponentNotFound , const HTuple& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , Hlong* ModelStart , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp )
Herror find_component_model (Hobject Image , const HTuple& ComponentModelID , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , const HTuple& MinScore , const HTuple& NumMatches , const HTuple& MaxOverlap , const HTuple& IfRootNotFound , const HTuple& IfComponentNotFound , const HTuple& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , HTuple* ModelStart , HTuple* ModelEnd , HTuple* Score , HTuple* RowComp , HTuple* ColumnComp , HTuple* AngleComp , HTuple* ScoreComp , HTuple* ModelComp )
HTuple HImage ::FindComponentModel (const HComponentModel& ComponentModelID , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , const HTuple& MinScore , const HTuple& NumMatches , const HTuple& MaxOverlap , const HTuple& IfRootNotFound , const HTuple& IfComponentNotFound , const HTuple& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , HTuple* ModelEnd , HTuple* Score , HTuple* RowComp , HTuple* ColumnComp , HTuple* AngleComp , HTuple* ScoreComp , HTuple* ModelComp ) const
HTuple HComponentModel ::FindComponentModel (const HImage& Image , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , const HTuple& MinScore , const HTuple& NumMatches , const HTuple& MaxOverlap , const HTuple& IfRootNotFound , const HTuple& IfComponentNotFound , const HTuple& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , HTuple* ModelEnd , HTuple* Score , HTuple* RowComp , HTuple* ColumnComp , HTuple* AngleComp , HTuple* ScoreComp , HTuple* ModelComp ) const
void FindComponentModel (const HObject& Image , const HTuple& ComponentModelID , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , const HTuple& MinScore , const HTuple& NumMatches , const HTuple& MaxOverlap , const HTuple& IfRootNotFound , const HTuple& IfComponentNotFound , const HTuple& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , HTuple* ModelStart , HTuple* ModelEnd , HTuple* Score , HTuple* RowComp , HTuple* ColumnComp , HTuple* AngleComp , HTuple* ScoreComp , HTuple* ModelComp )
HTuple HComponentModel ::FindComponentModel (const HImage& Image , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const HString& IfRootNotFound , const HString& IfComponentNotFound , const HString& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , HTuple* ModelEnd , HTuple* Score , HTuple* RowComp , HTuple* ColumnComp , HTuple* AngleComp , HTuple* ScoreComp , HTuple* ModelComp ) const
Hlong HComponentModel ::FindComponentModel (const HImage& Image , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const HString& IfRootNotFound , const HString& IfComponentNotFound , const HString& PosePrediction , double MinScoreComp , const HString& SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
Hlong HComponentModel ::FindComponentModel (const HImage& Image , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const char* IfRootNotFound , const char* IfComponentNotFound , const char* PosePrediction , double MinScoreComp , const char* SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
HTuple HImage ::FindComponentModel (const HComponentModel& ComponentModelID , const HTuple& RootComponent , const HTuple& AngleStartRoot , const HTuple& AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const HString& IfRootNotFound , const HString& IfComponentNotFound , const HString& PosePrediction , const HTuple& MinScoreComp , const HTuple& SubPixelComp , const HTuple& NumLevelsComp , const HTuple& GreedinessComp , HTuple* ModelEnd , HTuple* Score , HTuple* RowComp , HTuple* ColumnComp , HTuple* AngleComp , HTuple* ScoreComp , HTuple* ModelComp ) const
Hlong HImage ::FindComponentModel (const HComponentModel& ComponentModelID , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const HString& IfRootNotFound , const HString& IfComponentNotFound , const HString& PosePrediction , double MinScoreComp , const HString& SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
Hlong HImage ::FindComponentModel (const HComponentModel& ComponentModelID , Hlong RootComponent , double AngleStartRoot , double AngleExtentRoot , double MinScore , Hlong NumMatches , double MaxOverlap , const char* IfRootNotFound , const char* IfComponentNotFound , const char* PosePrediction , double MinScoreComp , const char* SubPixelComp , Hlong NumLevelsComp , double GreedinessComp , Hlong* ModelEnd , double* Score , double* RowComp , double* ColumnComp , double* AngleComp , double* ScoreComp , Hlong* ModelComp ) const
void HOperatorSetX .FindComponentModel ( [in] IHUntypedObjectX* Image , [in] VARIANT ComponentModelID , [in] VARIANT RootComponent , [in] VARIANT AngleStartRoot , [in] VARIANT AngleExtentRoot , [in] VARIANT MinScore , [in] VARIANT NumMatches , [in] VARIANT MaxOverlap , [in] VARIANT IfRootNotFound , [in] VARIANT IfComponentNotFound , [in] VARIANT PosePrediction , [in] VARIANT MinScoreComp , [in] VARIANT SubPixelComp , [in] VARIANT NumLevelsComp , [in] VARIANT GreedinessComp , [out] VARIANT* ModelStart , [out] VARIANT* ModelEnd , [out] VARIANT* Score , [out] VARIANT* RowComp , [out] VARIANT* ColumnComp , [out] VARIANT* AngleComp , [out] VARIANT* ScoreComp , [out] VARIANT* ModelComp )
VARIANT HComponentModelX .FindComponentModel ( [in] IHImageX* Image , [in] VARIANT RootComponent , [in] VARIANT AngleStartRoot , [in] VARIANT AngleExtentRoot , [in] double MinScore , [in] Hlong NumMatches , [in] double MaxOverlap , [in] BSTR IfRootNotFound , [in] BSTR IfComponentNotFound , [in] BSTR PosePrediction , [in] VARIANT MinScoreComp , [in] VARIANT SubPixelComp , [in] VARIANT NumLevelsComp , [in] VARIANT GreedinessComp , [out] VARIANT* ModelEnd , [out] VARIANT* Score , [out] VARIANT* RowComp , [out] VARIANT* ColumnComp , [out] VARIANT* AngleComp , [out] VARIANT* ScoreComp , [out] VARIANT* ModelComp )
VARIANT HImageX .FindComponentModel ( [in] IHComponentModelX* ComponentModelID , [in] VARIANT RootComponent , [in] VARIANT AngleStartRoot , [in] VARIANT AngleExtentRoot , [in] double MinScore , [in] Hlong NumMatches , [in] double MaxOverlap , [in] BSTR IfRootNotFound , [in] BSTR IfComponentNotFound , [in] BSTR PosePrediction , [in] VARIANT MinScoreComp , [in] VARIANT SubPixelComp , [in] VARIANT NumLevelsComp , [in] VARIANT GreedinessComp , [out] VARIANT* ModelEnd , [out] VARIANT* Score , [out] VARIANT* RowComp , [out] VARIANT* ColumnComp , [out] VARIANT* AngleComp , [out] VARIANT* ScoreComp , [out] VARIANT* ModelComp )
static void HOperatorSet .FindComponentModel (HObject image , HTuple componentModelID , HTuple rootComponent , HTuple angleStartRoot , HTuple angleExtentRoot , HTuple minScore , HTuple numMatches , HTuple maxOverlap , HTuple ifRootNotFound , HTuple ifComponentNotFound , HTuple posePrediction , HTuple minScoreComp , HTuple subPixelComp , HTuple numLevelsComp , HTuple greedinessComp , out HTuple modelStart , out HTuple modelEnd , out HTuple score , out HTuple rowComp , out HTuple columnComp , out HTuple angleComp , out HTuple scoreComp , out HTuple modelComp )
HTuple HComponentModel .FindComponentModel (HImage image , HTuple rootComponent , HTuple angleStartRoot , HTuple angleExtentRoot , double minScore , int numMatches , double maxOverlap , string ifRootNotFound , string ifComponentNotFound , string posePrediction , HTuple minScoreComp , HTuple subPixelComp , HTuple numLevelsComp , HTuple greedinessComp , out HTuple modelEnd , out HTuple score , out HTuple rowComp , out HTuple columnComp , out HTuple angleComp , out HTuple scoreComp , out HTuple modelComp )
int HComponentModel .FindComponentModel (HImage image , int rootComponent , double angleStartRoot , double angleExtentRoot , double minScore , int numMatches , double maxOverlap , string ifRootNotFound , string ifComponentNotFound , string posePrediction , double minScoreComp , string subPixelComp , int numLevelsComp , double greedinessComp , out int modelEnd , out double score , out double rowComp , out double columnComp , out double angleComp , out double scoreComp , out int modelComp )
HTuple HImage .FindComponentModel (HComponentModel componentModelID , HTuple rootComponent , HTuple angleStartRoot , HTuple angleExtentRoot , double minScore , int numMatches , double maxOverlap , string ifRootNotFound , string ifComponentNotFound , string posePrediction , HTuple minScoreComp , HTuple subPixelComp , HTuple numLevelsComp , HTuple greedinessComp , out HTuple modelEnd , out HTuple score , out HTuple rowComp , out HTuple columnComp , out HTuple angleComp , out HTuple scoreComp , out HTuple modelComp )
int HImage .FindComponentModel (HComponentModel componentModelID , int rootComponent , double angleStartRoot , double angleExtentRoot , double minScore , int numMatches , double maxOverlap , string ifRootNotFound , string ifComponentNotFound , string posePrediction , double minScoreComp , string subPixelComp , int numLevelsComp , double greedinessComp , out int modelEnd , out double score , out double rowComp , out double columnComp , out double angleComp , out double scoreComp , out int modelComp )
find_component_model find_component_model FindComponentModel find_component_model FindComponentModel FindComponentModel findet die besten NumMatches NumMatches NumMatches NumMatches NumMatches numMatches
Instanzen des Komponentenmodells ComponentModelID ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID im
Eingabebild Image Image Image Image Image image . Das Modell muss zuvor mit
create_trained_component_model create_trained_component_model CreateTrainedComponentModel create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel oder
create_component_model create_component_model CreateComponentModel create_component_model CreateComponentModel CreateComponentModel erzeugt oder mit
read_component_model read_component_model ReadComponentModel read_component_model ReadComponentModel ReadComponentModel eingelesen worden sein.
Die Komponenten des Komponentenmodells ComponentModelID ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID
sind durch eine Baumstruktur repräsentiert. Die Komponente, die an
der Wurzel des Baumes (Wurzelkomponente) steht, wird während der
Suche im gesamten Suchraum gesucht, d.h. innerhalb aller erlaubten
Position und Orientierungen. Die übrigen Komponenten werden dagegen
jeweils relativ zur Lage ihres Vorgängers im Baum in einem
eingeschränkten Suchraum gesucht (rekursive Suche). Die
eingeschränkten Suchräume werden dabei aus den entsprechenden
Relationen berechnet. Der Index der Wurzelkomponente kann in
RootComponent RootComponent RootComponent RootComponent RootComponent rootComponent übergeben werden. Inwiefern sich eine
Modellkomponente als Wurzelkomponente eignet, hängt von
verschiedenen Faktoren ab. Prinzipiell sollte eine Modellkomponente
gewählt werden, die mit hoher Wahrscheinlichkeit im Bild
wiedergefunden werden kann. Eine im Bild stark verdeckte oder
fehlende Komponente eignet sind daher nur bedingt als
Wurzelkomponente. Das Verhalten des Operators bei fehlendem oder
stark verdecktem Wurzelobjekt kann mit IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound ifRootNotFound
eingestellt werden (siehe unten). Auch die mit der Wurzelkomponente
verbundene Rechenzeit während der Suche kann als Auswahlkriterium
herangezogen werden. Eine nach diesem Kriterium sortierte Rangfolge
der Modellkomponenten wird im Parameter RootRanking RootRanking RootRanking RootRanking RootRanking rootRanking des
Operators create_trained_component_model create_trained_component_model CreateTrainedComponentModel create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel bzw.
create_component_model create_component_model CreateComponentModel create_component_model CreateComponentModel CreateComponentModel zurückgeliefert. Wird die komplette
Rangfolge RootRanking RootRanking RootRanking RootRanking RootRanking rootRanking in RootComponent RootComponent RootComponent RootComponent RootComponent rootComponent übergeben,
dann wird automatisch der erste Wert RootComponent RootComponent RootComponent RootComponent RootComponent rootComponent [0] als
Wurzelkomponente ausgewählt. Der Definitionsbereich des Bildes
Image Image Image Image Image image gibt den Suchbereich für den Referenzpunkt, d.h. die
erlaubten Position, der Wurzelkomponente an. Die Parameter
AngleStartRoot AngleStartRoot AngleStartRoot AngleStartRoot AngleStartRoot angleStartRoot und AngleExtentRoot AngleExtentRoot AngleExtentRoot AngleExtentRoot AngleExtentRoot angleExtentRoot legen den
erlaubten Winkelbereich fest, in dem nach der Wurzelkomponente
gesucht wird. Der Winkelbereich wird gegebenenfalls auf den Bereich
beschnitten, der bei der Erzeugung des Komponentenmodells mit
create_trained_component_model create_trained_component_model CreateTrainedComponentModel create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel bzw.
create_component_model create_component_model CreateComponentModel create_component_model CreateComponentModel CreateComponentModel festgelegt worden ist. Dieser
Bereich kann mit get_shape_model_params get_shape_model_params GetShapeModelParams get_shape_model_params GetShapeModelParams GetShapeModelParams nach Ermitteln der
Handles der einzelnen Formmodelle mit
get_component_model_params get_component_model_params GetComponentModelParams get_component_model_params GetComponentModelParams GetComponentModelParams abgefragt werden.
Die Position und Rotation der Modellkomponenten aller gefundenen
Instanzen des Komponentenmodells werden in RowComp RowComp RowComp RowComp RowComp rowComp ,
ColumnComp ColumnComp ColumnComp ColumnComp ColumnComp columnComp und AngleComp AngleComp AngleComp AngleComp AngleComp angleComp zurückgeliefert. Die
Koordinaten RowComp RowComp RowComp RowComp RowComp rowComp und ColumnComp ColumnComp ColumnComp ColumnComp ColumnComp columnComp sind die
Koordinaten des Ursprungs (Referenzpunkt) der Komponente im
Suchbild. Wurde das Komponentenmodell mit
create_trained_component_model create_trained_component_model CreateTrainedComponentModel create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel durch Trainieren erzeugt,
dann ist der Ursprung einer Komponente der Schwerpunkt der
entsprechenden vom Operator train_model_components train_model_components TrainModelComponents train_model_components TrainModelComponents TrainModelComponents in
ModelComponents ModelComponents ModelComponents ModelComponents ModelComponents modelComponents zurückgelieferten Konturregion. Wurde das
Komponentenmodell dagegen mit create_component_model create_component_model CreateComponentModel create_component_model CreateComponentModel CreateComponentModel manuell
erzeugt, dann ist der Ursprung einer Komponente der Schwerpunkt der
entprechenden an den Operator create_component_model create_component_model CreateComponentModel create_component_model CreateComponentModel CreateComponentModel in
ComponentRegion ComponentRegion ComponentRegion ComponentRegion ComponentRegion componentRegion übergebenen Komponentenregion. Da sich die
Relationen zwischen den Komponenten in ComponentModelID ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID auf
diesen Schwerpunkt beziehen, darf der Ursprung einer Komponente
nicht mit set_shape_model_origin set_shape_model_origin SetShapeModelOrigin set_shape_model_origin SetShapeModelOrigin SetShapeModelOrigin verändert werden.
Zusätzlich wird in ScoreComp ScoreComp ScoreComp ScoreComp ScoreComp scoreComp die Bewertung der gefundenen
Komponenteninstanzen zurückgegeben. Die Bewertung ist eine Zahl
zwischen 0 und 1 und ist ein ungefähres Maß dafür, welcher Anteil
der Komponente im Bild zu sehen ist. Falls z.B. die Hälfte der
Komponente im Bild verdeckt ist, kann die Bewertung nicht größer als
0.5 sein. Während ScoreComp ScoreComp ScoreComp ScoreComp ScoreComp scoreComp die Bewertung der Instanzen
der einzelnen Komponenten widerspiegelt, enthält Score Score Score Score Score score die
Bewertung der Instanzen des gesamten Komponentenmodells. Dabei
enthält Score Score Score Score Score score das gewichtete Mittel aus den Werten von
ScoreComp ScoreComp ScoreComp ScoreComp ScoreComp scoreComp der einzelnen zugehörigen Komponenten. Die
Gewichtung erfolgt proportional zur Anzahl an Modellpunkten in der
jeweiligen Komponente.
Um die Werte in RowComp RowComp RowComp RowComp RowComp rowComp , ColumnComp ColumnComp ColumnComp ColumnComp ColumnComp columnComp ,
AngleComp AngleComp AngleComp AngleComp AngleComp angleComp und ScoreComp ScoreComp ScoreComp ScoreComp ScoreComp scoreComp den verschieden
Modellkomponenten zuordnen zu können, wird der Index der jeweiligen
Modellkomponente (siehe create_component_model create_component_model CreateComponentModel create_component_model CreateComponentModel CreateComponentModel bzw.
train_model_components train_model_components TrainModelComponents train_model_components TrainModelComponents TrainModelComponents ) in ModelComp ModelComp ModelComp ModelComp ModelComp modelComp zurückgegeben.
Darüber hinaus werden die zu einer gefunden Instanz des
Komponentenmodells zugehörigen Komponentenmatches in
ModelStart ModelStart ModelStart ModelStart ModelStart modelStart und ModelEnd ModelEnd ModelEnd ModelEnd ModelEnd modelEnd zurückgegeben. Die
Komponentenmatches, die zur ersten gefundenen Instanz des
Komponentenmodells gehören, werden somit durch das Intervall an
Indizes [ModelStart ModelStart ModelStart ModelStart ModelStart modelStart [0],ModelEnd ModelEnd ModelEnd ModelEnd ModelEnd modelEnd [0]] beschrieben.
Dabei beziehen sich die Indizes auf die Parameter RowComp RowComp RowComp RowComp RowComp rowComp ,
ColumnComp ColumnComp ColumnComp ColumnComp ColumnComp columnComp , AngleComp AngleComp AngleComp AngleComp AngleComp angleComp , ScoreComp ScoreComp ScoreComp ScoreComp ScoreComp scoreComp und
ModelComp ModelComp ModelComp ModelComp ModelComp modelComp . Angenommen es werden zwei Instanzen eines
Komponentenmodells, das aus drei Komponenten besteht, im Bild
gefunden, wobei bei einer Instanz lediglich zwei Komponenten
(Komponente 0 und Komponente 2) gefunden werden konnten. Dann
könnten die zurückgegebenen Parameter wie folgt aussehen:
RowComp RowComp RowComp RowComp RowComp rowComp = [100,200,300,150,250] ,
ColumnComp ColumnComp ColumnComp ColumnComp ColumnComp columnComp = [200,210,220,400,425] ,
AngleComp AngleComp AngleComp AngleComp AngleComp angleComp = [0,0.1,-0.2,0.1,0.2,0] ,
ScoreComp ScoreComp ScoreComp ScoreComp ScoreComp scoreComp = [1,1,1,1,1] , ModelComp ModelComp ModelComp ModelComp ModelComp modelComp =
[0,1,2,0,2] , ModelStart ModelStart ModelStart ModelStart ModelStart modelStart = [0,3] ,
ModelEnd ModelEnd ModelEnd ModelEnd ModelEnd modelEnd = [2,4] , Score Score Score Score Score score =
[1,1] . get_found_component_model get_found_component_model GetFoundComponentModel get_found_component_model GetFoundComponentModel GetFoundComponentModel kann dazu
verwendet werden, das Ergebnis der Suche zu visualisieren und die
Matches der Komponenten einer bestimmten Instanz des
Komponentenmodells zu extrahieren.
Im Normalfall wird das Komponentenmodell innerhalb des
Definitionsbereiches des Eingabebildes nur an den Stellen gesucht,
an denen das Modell vollständig in das Bild passt. Das bedeutet,
dass die Komponenten nicht gefunden werden können, wenn sie aus dem
Bild herausragen, selbst wenn sie eine Bewertung größer als
MinScoreComp MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp erreichen würden (siehe unten).
Außerdem kann es sein, dass das Komponentenmodell, wenn es in einer der
Pyramidenebenen den Bildrand berührt, ebenfalls nicht gefunden wird, auch
wenn es im ursprünglichen Bild vollständig enthalten ist. Als Daumenregel
gilt hier, dass das Modell dann nicht gefunden werden könnte, wenn
seine Distanz zum Bildrand unter
fällt. Dieses Verhalten kann mit
set_system('border_shape_models','true') set_system("border_shape_models","true") SetSystem("border_shape_models","true") set_system("border_shape_models","true") SetSystem("border_shape_models","true") SetSystem("border_shape_models","true")
umgestellt werden, so dass auch Komponenten gefunden werden, die aus
dem Bild herausragen, falls sie eine Bewertung größer als
MinScoreComp MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp erreichen. Dabei werden Punkte außerhalb des
Bildes als verdeckt angesehen, d.h. sie verringern die Bewertung.
Es ist zu beachten, dass dieser Modus die Laufzeit der Suche
erhöht.
Es ist weiter zu beachten, dass in seltenen Fällen, die typischerweise nur
in künstlichen Bildern auftreten, auch dann kein Modell gefunden wird, wenn
das Modell in einer Pyramidenebene die reduzierte Bilddomäne berührt. In
diesem Fall kann es helfen, die Region der Domäne um
, z.B., mit dilation_circle dilation_circle DilationCircle dilation_circle DilationCircle DilationCircle
zu vergrößern.
Der Parameter MinScore MinScore MinScore MinScore MinScore minScore legt fest, welche Bewertung ein
potentieller Match des Komponentenmodells mindestens besitzen muss,
damit er als eine Instanz des Komponentenmodells im Bild angesehen
wird. Falls erwartet werden kann, dass das Komponentenmodell
niemals verdeckt wird, kann MinScore MinScore MinScore MinScore MinScore minScore auf so hohe Werte wie
0.8 oder sogar 0.9 gesetzt werden. Falls damit
gerechnet werden muss, dass die Wurzelkomponente nicht gefunden wird
und demnach IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound ifRootNotFound auf 'select_new_root' "select_new_root" "select_new_root" "select_new_root" "select_new_root" "select_new_root"
gesetzt wird (siehe unten), dann verläuft die Suche umso schneller,
je größer der Wert von MinScore MinScore MinScore MinScore MinScore minScore gewählt wird. Andernfalls
hat der Wert dieses Parameters nur geringen Einfluss auf die
Rechenzeit.
Mit NumMatches NumMatches NumMatches NumMatches NumMatches numMatches kann angegeben werden, wie viele Instanzen
des Modells im Bild höchstens gefunden werden sollen. Falls mehr
als NumMatches NumMatches NumMatches NumMatches NumMatches numMatches Instanzen eine Bewertung größer als
MinScore MinScore MinScore MinScore MinScore minScore erreichen, werden nur die besten
NumMatches NumMatches NumMatches NumMatches NumMatches numMatches Instanzen zurückgeliefert. Falls weniger als
NumMatches NumMatches NumMatches NumMatches NumMatches numMatches Instanzen gefunden werden, werden nur diese
Instanzen zurückgeliefert, d.h. der Parameter MinScore MinScore MinScore MinScore MinScore minScore hat
Vorrang vor NumMatches NumMatches NumMatches NumMatches NumMatches numMatches . Sollen alle Modellinstanzen, deren
Bewertung MinScore MinScore MinScore MinScore MinScore minScore übersteigt, im Bild gefunden werden,
muss NumMatches NumMatches NumMatches NumMatches NumMatches numMatches auf 0 gesetzt werden.
Beim Tracken der Matches durch die Bildpyramide werden auf jeder
Ebene Matches verworfen, die wenig vielversprechend sind. Dadurch ist
es möglich, dass Matches verworfen werden, die auf der niedrigsten
Pyramidenebene einen höheren Score gehabt hätten. Beispielsweise kann das
dazu führen, dass der gefundene Match für NumMatches NumMatches NumMatches NumMatches NumMatches numMatches gleich
1 nicht mit dem Match mit dem höchsten Score übereinstimmt, der von
NumMatches NumMatches NumMatches NumMatches NumMatches numMatches gleich 0 oder > 1 zurückgegeben wird.
Falls erwartet wird, dass mehrere Objekte mit einem ähnlichen Score gefunden
werden können, aber nur das Modell mit dem höchsten Score
zurückgegeben werden soll, kann es vorteilhaft sein, NumMatches NumMatches NumMatches NumMatches NumMatches numMatches zu
erhöhen, und dann den Match mit dem höchsten Score auszuwählen.
In manchen Fällen kann es vorkommen, dass sich verschiedene
Instanzen nur durch die Lage einer oder weniger Komponenten
unterscheiden. Mit dem Parameter MaxOverlap MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap kann bestimmt
werden, um welchen Anteil, ausgedrückt als Zahl zwischen 0 und 1,
sich zwei Instanzen höchstens überlappen dürfen, damit sie als
verschieden angesehen werden, und somit zurückgeliefert werden.
Falls sich zwei Instanzen um mehr als MaxOverlap MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap
überlappen, wird nur die beste gefundene Instanz zurückgeliefert.
Die Berechnung der Überlappung erfolgt anhand der kleinsten
umschließenden Rechtecke beliebiger Orientierung der Konturen der
einzelnen Komponenten (siehe smallest_rectangle2 smallest_rectangle2 SmallestRectangle2 smallest_rectangle2 SmallestRectangle2 SmallestRectangle2 ). Bei
MaxOverlap MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap = 0 dürfen sich die gefundenen
Instanzen nicht überlappen, bei MaxOverlap MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap = 1
findet keine Überprüfung der Überlappung statt und es werden alle
gefundenen Instanzen zurückgeliefert.
Mit dem Parameter IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound ifRootNotFound lässt sich das Verhalten
des Operators bei einem fehlenden oder stark verdeckten Wurzelobjekt
beeinflussen. Die Wahl dieses Parameters wirkt sich entscheident auf
die Rechenzeit aus. Falls IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound ifRootNotFound auf
'stop_search' "stop_search" "stop_search" "stop_search" "stop_search" "stop_search" gesetzt wird, wird davon ausgegangen, dass
die Wurzelkomponente im Bild immer gefunden wird, so dass bei
Instanzen, bei denen die Wurzelkomponente nicht gefunden wurde, die
Suche nach den restlichen Komponenten dieser Instanz nicht
fortgesetzt werden kann. Falls IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound IfRootNotFound ifRootNotFound auf
'select_new_root' "select_new_root" "select_new_root" "select_new_root" "select_new_root" "select_new_root" gesetzt wird, werden sukzessive
unterschiedliche Komponenten als Wurzelkomponente gewählt und im
gesamten Suchraum gesucht. Die Auswahl der Wurzelkomponenten erfolgt
in der Reihenfolge, die in RootRanking RootRanking RootRanking RootRanking RootRanking rootRanking übergeben
wurde. Die Lagen der gefundenen Instanzen aller Wurzelkomponenten
werden dann dazu genutzt die rekursiven Suchen nach den übrigen
Komponenten zu starten. Dadurch ist es zwar möglich, Instanzen auch
dann zu finden, wenn die ursprüngliche Wurzelkomponente nicht
gefunden wird, die Rechenzeit der Suche steigt allerdings im
Vergleich zur Suche mit 'stop_search' "stop_search" "stop_search" "stop_search" "stop_search" "stop_search" deutlich an. Die
Anzahl der zu suchenden Wurzelkomponenten richtet sich nach dem in
MinScore MinScore MinScore MinScore MinScore minScore übergebenen Wert. Je größer MinScore MinScore MinScore MinScore MinScore minScore
gewählt wird, desto weniger Wurzelkomponenten müssen gesucht werden
und desto schneller verläuft die Suche. Werden in
RootComponent RootComponent RootComponent RootComponent RootComponent rootComponent weniger Elemente übergeben als
Wurzelkomponenten während der Suche benötigt werden, so werden die
Wurzelkomponenten in der automatisch berechneten Reihenfolge ergänzt
(siehe create_trained_component_model create_trained_component_model CreateTrainedComponentModel create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel bzw.
create_component_model create_component_model CreateComponentModel create_component_model CreateComponentModel CreateComponentModel ).
Mit dem Parameter IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound ifComponentNotFound lässt sich das
Verhalten des Operators bei fehlenden oder stark verdeckten
Komponenten, die nicht Wurzelkomponente sind, beeinflussen. Dabei
geht es darum, zu entscheiden, in welcher Weise Komponenten, die
relativ zur Lage einer anderen (Vorgänger-)Komponente gesucht werden
müssten, behandelt werden, wenn die Vorgänger-Komponente selbst
nicht gefunden wurde. Falls IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound ifComponentNotFound auf
'prune_branch' "prune_branch" "prune_branch" "prune_branch" "prune_branch" "prune_branch" gesetzt wird, werden solche Komponenten
nicht gesucht und ebenfalls als 'nicht gefunden' eingestuft. Falls
IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound ifComponentNotFound auf 'search_from_upper' "search_from_upper" "search_from_upper" "search_from_upper" "search_from_upper" "search_from_upper"
gesetzt wird, werden solche Komponenten relativ zur Lage der
Vorgänger-Komponente der Vorgänger-Komponente gesucht. Falls
IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound IfComponentNotFound ifComponentNotFound auf 'search_from_best' "search_from_best" "search_from_best" "search_from_best" "search_from_best" "search_from_best" gesetzt
wird, werden solche Komponenten relativ zur Lage der bereits
gefundenen Komponente gesucht, von der aus die relative Suche mit
dem geringsten Rechenaufwand durchgeführt werden kann.
Der Parameter PosePrediction PosePrediction PosePrediction PosePrediction PosePrediction posePrediction gibt an, ob die Lage von nicht
gefundenen Komponenten nach der Suche geschätzt werden soll. Falls
PosePrediction PosePrediction PosePrediction PosePrediction PosePrediction posePrediction auf 'none' "none" "none" "none" "none" "none" gesetzt wird, werden nur
die Lagen der gefundenen Komponenten zurückgeliefert. Wird
PosePrediction PosePrediction PosePrediction PosePrediction PosePrediction posePrediction dagegen auf 'from_neighbors' "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" oder
auf 'from_all' "from_all" "from_all" "from_all" "from_all" "from_all" gesetzt, werden die Lagen der nicht
gefundenen Komponenten geschätzt und mit einer Bewertung von
ScoreComp ScoreComp ScoreComp ScoreComp ScoreComp scoreComp = 0.0 zurückgeliefert. Die Schätzung
der Lage erfolgt auf Grundlage der Lagen gefundener
Nachbarkomponenten im Suchbaum ('from_neighbors' "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" ) oder auf
Grundlage der Lagen aller gefundenen Komponenten
('from_all' "from_all" "from_all" "from_all" "from_all" "from_all" ).
Im Wesentlichen wird intern für die Suche der einzelnen Komponenten
das formbasierte Matching verwendet (siehe
find_shape_model find_shape_model FindShapeModel find_shape_model FindShapeModel FindShapeModel ). Daher ist die Bedeutung der Parameter
MinScoreComp MinScoreComp MinScoreComp MinScoreComp MinScoreComp minScoreComp , SubPixelComp SubPixelComp SubPixelComp SubPixelComp SubPixelComp subPixelComp , NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp
und GreedinessComp GreedinessComp GreedinessComp GreedinessComp GreedinessComp greedinessComp analog zur Bedeutung der entsprechenden
Parameter in find_shape_model find_shape_model FindShapeModel find_shape_model FindShapeModel FindShapeModel . Diese Parameter müssen
entweder genau ein Element enthalten oder dieselbe Anzahl wie
Modellkomponenten in ComponentModelID ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID . Im ersten Fall wird
der Wert des Eingabeparameters für alle Modellkomponenten gleich
verwendet. Im zweiten Fall wird das jeweilige Element des
Eingabeparameters für die entsprechende Komponente in
ComponentModelID ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID verwendet. NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp kann
auch zwei oder zweimal die Anzahl von Modellkomponenten
enthalten. Der erste Wert spezifiziert die Anzahl an
Pyramidenebenen, die während der Suche benutzt werden sollen. Der
zweite Wert spezifiziert die unterste Pyramidenebene, bis auf welche
die Matches verfolgt werden. Sollen für unterschiedliche Komponenten
unterschiedliche Werte übergeben werden, so sind die beiden Werte
verschränkt anzugeben. Falls z.B. zwei Komponenten in
ComponentModelID ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID enthalten sind, die oberste Pyramidenebene
für die erste Komponente 5 und für die zweite Komponente 4 sein soll
und die unterste Pyramidenebene für die erste Komponente 2 und für
die zweite 1 sein soll, so ist NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp =
[5,2,4,1] zu wählen. SubPixelComp SubPixelComp SubPixelComp SubPixelComp SubPixelComp subPixelComp kann neben der
Subpixel-Extraktion auch einen zweiten Wert für die maximale
Objektdeformation beeinhalten. Dies kann mit Hilfe des optionalen
Parameterwertes 'max_deformation ' "max_deformation " "max_deformation " "max_deformation " "max_deformation " "max_deformation " und einer nachfolgenden
Ganzzahl zwischen 0 und 32 (im selben String), die
die maximale Deformation beschreibt, erfolgen.
Für einen aussagekräftigen Score und zum Vermeiden falscher Matches
wird empfohlen, das Erlauben einer Deformation mit einer Subpixel-Extraktion
mit einer der Least-Squares-Adjustment-Methoden zu kombinieren. Falls die
Subpixel-Extraktion und/oder die maximale Objektdeformation für jede
Komponente einzeln spezifiziert werden sollen, muss in
SubPixelComp SubPixelComp SubPixelComp SubPixelComp SubPixelComp subPixelComp die Subpixel-Extraktion genauso oft angegeben
werden, wie die Anzahl an Modellkomponenten in
ComponentModelID ComponentModelID ComponentModelID ComponentModelID ComponentModelID componentModelID . Nach jedem übergebenen Wert für die
Subpixel-Extraktion kann optional ein zweiter Wert übergeben werden,
der die maximale Objektdeformation für die jeweilige Komponente
beschreibt. Wird nach dem Wert für die Subpixel-Extraktion kein Wert
für die Objektdeformation übergeben, wird die entsprechende
Komponente ohne Deformation gesucht. Weitere Details sind in der
Dokumentation von find_shape_models find_shape_models FindShapeModels find_shape_models FindShapeModels FindShapeModels zu finden.
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Eingabebild, in dem das Komponentenmodell gefunden
werden soll.
Handle des Komponentenmodells.
Index der Wurzelkomponente.
Wertevorschläge: 0, 1, 2, 3, 4, 5, 6, 7, 8
Kleinste auftretende Rotation der Wurzelkomponente
Defaultwert: -0.39
Wertevorschläge: -3.14, -1.57, -0.79, -0.39, -0.20, 0.0
Ausdehnung des Winkelbereichs.
Defaultwert: 0.79
Wertevorschläge: 6.28, 3.14, 1.57, 0.79, 0.39, 0.0
Restriktion: AngleExtentRoot >= 0
Minimale Bewertung der zu findenden Instanzen
des Komponentenmodells.
Defaultwert: 0.5
Wertevorschläge: 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 <= MinScore && MinScore <= 1
Anzahl der zu findenden Instanzen des
Komponentenmodells (oder 0 für alle Treffer).
Defaultwert: 1
Wertevorschläge: 0, 1, 2, 3, 4, 5, 10, 20
Maximale Überlappung der zu findenden
Instanzen des Komponentenmodells.
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
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.05
Restriktion: 0 <= MaxOverlap && MaxOverlap <= 1
Verhalten bei fehlender Wurzelkomponente.
Defaultwert:
'stop_search'
"stop_search"
"stop_search"
"stop_search"
"stop_search"
"stop_search"
Werteliste: 'select_new_root' "select_new_root" "select_new_root" "select_new_root" "select_new_root" "select_new_root" , 'stop_search' "stop_search" "stop_search" "stop_search" "stop_search" "stop_search"
Verhalten bei fehlenden Komponenten.
Defaultwert:
'prune_branch'
"prune_branch"
"prune_branch"
"prune_branch"
"prune_branch"
"prune_branch"
Werteliste: 'prune_branch' "prune_branch" "prune_branch" "prune_branch" "prune_branch" "prune_branch" , 'search_from_best' "search_from_best" "search_from_best" "search_from_best" "search_from_best" "search_from_best" , 'search_from_upper' "search_from_upper" "search_from_upper" "search_from_upper" "search_from_upper" "search_from_upper"
Schätzung der Lagen nicht gefundener Komponenten.
Defaultwert:
'none'
"none"
"none"
"none"
"none"
"none"
Werteliste: 'from_all' "from_all" "from_all" "from_all" "from_all" "from_all" , 'from_neighbors' "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" "from_neighbors" , 'none' "none" "none" "none" "none" "none"
Minimale Bewertung der zu findenden Instanzen der
Komponenten.
Defaultwert: 0.5
Wertevorschläge: 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 <= MinScoreComp && MinScoreComp <= 1
Subpixelgenauigkeit der Komponentenlagen falls
ungleich 'none' "none" "none" "none" "none" "none" .
Defaultwert:
'least_squares'
"least_squares"
"least_squares"
"least_squares"
"least_squares"
"least_squares"
Wertevorschläge: 'none' "none" "none" "none" "none" "none" , 'interpolation' "interpolation" "interpolation" "interpolation" "interpolation" "interpolation" , 'least_squares' "least_squares" "least_squares" "least_squares" "least_squares" "least_squares" , 'least_squares_high' "least_squares_high" "least_squares_high" "least_squares_high" "least_squares_high" "least_squares_high" , 'least_squares_very_high' "least_squares_very_high" "least_squares_very_high" "least_squares_very_high" "least_squares_very_high" "least_squares_very_high" , 'max_deformation 1' "max_deformation 1" "max_deformation 1" "max_deformation 1" "max_deformation 1" "max_deformation 1" , 'max_deformation 2' "max_deformation 2" "max_deformation 2" "max_deformation 2" "max_deformation 2" "max_deformation 2" , 'max_deformation 3' "max_deformation 3" "max_deformation 3" "max_deformation 3" "max_deformation 3" "max_deformation 3" , 'max_deformation 4' "max_deformation 4" "max_deformation 4" "max_deformation 4" "max_deformation 4" "max_deformation 4" , 'max_deformation 5' "max_deformation 5" "max_deformation 5" "max_deformation 5" "max_deformation 5" "max_deformation 5" , 'max_deformation 6' "max_deformation 6" "max_deformation 6" "max_deformation 6" "max_deformation 6" "max_deformation 6"
Anzahl der verwendeten Pyramidenebenen für die
Komponenten (und
unterste zu verwendende Pyramidenebene falls
|NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp NumLevelsComp numLevelsComp | = 2n).
Defaultwert: 0
Werteliste: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
„Gierigkeit“ der Suchheuristik für die
Komponenten (0: sicher
aber langsam; 1: schnell aber Matches können
„übersehen“ werden).
Defaultwert: 0.9
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 <= GreedinessComp && GreedinessComp <= 1
Startindex jeder gefundenen Instanz des
Komponentenmodells auf die Tupel, die die
Komponentenmatches beschreiben.
Endindex jeder gefundenen Instanz des
Komponentenmodells auf die Tupel, die die
Komponentenmatches beschreiben.
Bewertung der gefunden Instanzen des
Komponentenmodells.
Zeilenkoordinate der gefundenen Komponentenmatches.
Spaltenkoordinate der gefundenen Komponentenmatches.
Rotationswinkel der gefundenen Komponentenmatches.
Bewertung der gefundenen Komponentenmatches.
Index der gefundenen Komponenten.
Sind die Parameterwerte korrekt, dann liefert
find_component_model find_component_model FindComponentModel find_component_model FindComponentModel FindComponentModel den Wert 2 (H_MSG_TRUE). Das Verhalten bei
leerer Eingabe (keine Eingabebild vorhanden) lässt sich mittels
set_system('no_object_result',<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
create_trained_component_model create_trained_component_model CreateTrainedComponentModel create_trained_component_model CreateTrainedComponentModel CreateTrainedComponentModel ,
create_component_model create_component_model CreateComponentModel create_component_model CreateComponentModel CreateComponentModel ,
read_component_model read_component_model ReadComponentModel read_component_model ReadComponentModel ReadComponentModel
get_found_component_model get_found_component_model GetFoundComponentModel get_found_component_model GetFoundComponentModel GetFoundComponentModel
find_shape_models find_shape_models FindShapeModels find_shape_models FindShapeModels FindShapeModels
find_shape_model find_shape_model FindShapeModel find_shape_model FindShapeModel FindShapeModel ,
find_shape_models find_shape_models FindShapeModels find_shape_models FindShapeModels FindShapeModels ,
get_shape_model_params get_shape_model_params GetShapeModelParams get_shape_model_params GetShapeModelParams GetShapeModelParams ,
get_component_model_params get_component_model_params GetComponentModelParams get_component_model_params GetComponentModelParams GetComponentModelParams ,
train_model_components train_model_components TrainModelComponents train_model_components TrainModelComponents TrainModelComponents ,
set_shape_model_origin set_shape_model_origin SetShapeModelOrigin set_shape_model_origin SetShapeModelOrigin SetShapeModelOrigin ,
smallest_rectangle2 smallest_rectangle2 SmallestRectangle2 smallest_rectangle2 SmallestRectangle2 SmallestRectangle2
Matching