KlassenKlassenKlassenKlassen | | | | Operatoren

train_variation_modeltrain_variation_modelTrainVariationModeltrain_variation_modelTrainVariationModelTrainVariationModel (Operator)

Name

train_variation_modeltrain_variation_modelTrainVariationModeltrain_variation_modelTrainVariationModelTrainVariationModel — Trainieren eines Variationsmodells.

Signatur

train_variation_model(Images : : ModelID : )

Herror train_variation_model(const Hobject Images, const Hlong ModelID)

Herror T_train_variation_model(const Hobject Images, const Htuple ModelID)

Herror train_variation_model(Hobject Images, const HTuple& ModelID)

void HImage::TrainVariationModel(const HVariationModel& ModelID) const

void HImageArray::TrainVariationModel(const HVariationModel& ModelID) const

void HVariationModel::TrainVariationModel(const HImageArray& Images) const

void TrainVariationModel(const HObject& Images, const HTuple& ModelID)

void HVariationModel::TrainVariationModel(const HImage& Images) const

void HImage::TrainVariationModel(const HVariationModel& ModelID) const

void HOperatorSetX.TrainVariationModel(
[in] IHUntypedObjectX* Images, [in] VARIANT ModelID)

void HVariationModelX.TrainVariationModel([in] IHImageX* Images)

void HImageX.TrainVariationModel([in] IHVariationModelX* ModelID)

static void HOperatorSet.TrainVariationModel(HObject images, HTuple modelID)

void HVariationModel.TrainVariationModel(HImage images)

void HImage.TrainVariationModel(HVariationModel modelID)

Beschreibung

train_variation_modeltrain_variation_modelTrainVariationModeltrain_variation_modelTrainVariationModelTrainVariationModel trainiert das durch ModelIDModelIDModelIDModelIDModelIDmodelID angegebene Variationsmodell mit einem oder mehreren Bildern, die in ImagesImagesImagesImagesImagesimages übergeben werden.

Wie bei create_variation_modelcreate_variation_modelCreateVariationModelcreate_variation_modelCreateVariationModelCreateVariationModel beschrieben, kann ein Variationsmodell, das mit dem Modus 'standard'"standard""standard""standard""standard""standard" erzeugt worden ist, iterativ trainiert werden kann, d.h. sobald ein oder mehrere Bilder eines guten Objektes vorliegen, können diese mit train_variation_modeltrain_variation_modelTrainVariationModeltrain_variation_modelTrainVariationModelTrainVariationModel trainiert werden. Das ideale Bild des Objektes wird in diesem Modus aus dem Mittelwert aller bisherigen Trainingsbilder und den Bildern, die in ImagesImagesImagesImagesImagesimages übergeben werden, berechnet. Das zugehörige Variationsbild wird aus der Standardabweichung der Trainingsbilder und der Bilder, die in ImagesImagesImagesImagesImagesimages übergeben werden, berechnet.

Falls das Variationsmodell mit dem Modus 'robust'"robust""robust""robust""robust""robust" erzeugt worden ist, kann das Modell nicht iterativ trainiert werden, d.h. alle Trainingsbilder müssen mit concat_objconcat_objConcatObjconcat_objConcatObjConcatObj aufgesammelt werden und in einem Aufruf von train_variation_modeltrain_variation_modelTrainVariationModeltrain_variation_modelTrainVariationModelTrainVariationModel trainiert werden. Falls zuvor schon Bilder trainiert worden sind, geht die Trainingsinformation verloren. Das ideale Bild des Objektes wird in diesem Modus aus dem Median aller in ImagesImagesImagesImagesImagesimages übergebenen Trainingsbilder berechnet. Das zugehörige Variationsbild wird aus dem Median der absoluten Abweichungen der Trainingsbilder vom Median berechnet und geeignet skaliert.

Achtung

Es können maximal 65535 Trainingsbilder trainiert werden.

Parallelisierung

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.

Parameter

ImagesImagesImagesImagesImagesimages (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (byte / int2 / uint2)

Bilder des zu trainierenden Objekts.

ModelIDModelIDModelIDModelIDModelIDmodelID (input_control, Zustand wird modifiziert)  variation_model HVariationModel, HTupleHTupleHVariationModel, HTupleHVariationModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

ID des Variationsmodells.

Beispiel (HDevelop)

open_framegrabber ('File', 1, 1, 0, 0, 0, 0, 'default', -1, \
                   'default', -1, 'default', 'model.seq', 'default', \
                   -1, -1, AcqHandle)
grab_image (Image, AcqHandle)
get_image_pointer1 (Image, Pointer, Type, Width, Height)
dev_display (Image)
draw_region (Region, WindowHandle)
reduce_domain (Image, Region, ImageReduced)
area_center (Region, Area, RowRef, ColumnRef)
create_shape_model (ImageReduced, 4, 0, rad(360), rad(1), 'none', \
                    'use_polarity', 40, 10, TemplateID)
create_variation_model (Width, Height, Type, 'standard', ModelID)
for K := 1 to 100 by 1
    grab_image (Image, AcqHandle)
    find_shape_model (Image, TemplateID, 0, rad(360), 0.5, 1, 0.5, \
                      'true', 4, 0.9, Row, Column, Angle, Score)
    if (|Score| == 1)
        vector_angle_to_rigid (Row, Column, Angle, RowRef, \
                               ColumnRef, 0, HomMat2D)
        affine_trans_image (Image, ImageTrans, HomMat2D, 'constant', \
                            'false')
        train_variation_model (ImageTrans, ModelID)
    endif
endfor
prepare_variation_model (ModelID, 10, 4)
write_region (Region, 'model.reg')
write_shape_model (TemplateID, 'model.shm')
write_variation_model (ModelID, 'model.var')
clear_shape_model (TemplateID)
clear_variation_model (ModelID)
close_framegrabber (AcqHandle)

Ergebnis

train_variation_modeltrain_variation_modelTrainVariationModeltrain_variation_modelTrainVariationModelTrainVariationModel liefert 2 (H_MSG_TRUE) zurück, wenn alle Parameter korrekt sind.

Vorgänger

create_variation_modelcreate_variation_modelCreateVariationModelcreate_variation_modelCreateVariationModelCreateVariationModel, find_shape_modelfind_shape_modelFindShapeModelfind_shape_modelFindShapeModelFindShapeModel, affine_trans_imageaffine_trans_imageAffineTransImageaffine_trans_imageAffineTransImageAffineTransImage, concat_objconcat_objConcatObjconcat_objConcatObjConcatObj

Nachfolger

prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel

Siehe auch

prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel, compare_variation_modelcompare_variation_modelCompareVariationModelcompare_variation_modelCompareVariationModelCompareVariationModel, compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel, clear_variation_modelclear_variation_modelClearVariationModelclear_variation_modelClearVariationModelClearVariationModel

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren