train_variation_modelT_train_variation_modelTrainVariationModelTrainVariationModel (Operator)

Name

train_variation_modelT_train_variation_modelTrainVariationModelTrainVariationModel — Trainieren eines Variationsmodells.

Signatur

train_variation_model(Images : : ModelID : )

Herror T_train_variation_model(const Hobject Images, const Htuple ModelID)

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

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

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

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

void HVariationModel.TrainVariationModel(HImage images)

void HImage.TrainVariationModel(HVariationModel modelID)

Beschreibung

train_variation_modeltrain_variation_modelTrainVariationModelTrainVariationModelTrainVariationModel trainiert das durch ModelIDModelIDModelIDModelIDmodelID angegebene Variationsmodell mit einem oder mehreren Bildern, die in ImagesImagesImagesImagesimages übergeben werden.

Wie bei create_variation_modelcreate_variation_modelCreateVariationModelCreateVariationModelCreateVariationModel beschrieben, kann ein Variationsmodell, das mit dem Modus '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_modelTrainVariationModelTrainVariationModelTrainVariationModel trainiert werden. Das ideale Bild des Objektes wird in diesem Modus aus dem Mittelwert aller bisherigen Trainingsbilder und den Bildern, die in ImagesImagesImagesImagesimages übergeben werden, berechnet. Das zugehörige Variationsbild wird aus der Standardabweichung der Trainingsbilder und der Bilder, die in ImagesImagesImagesImagesimages übergeben werden, berechnet.

Falls das Variationsmodell mit dem Modus 'robust'"robust""robust""robust""robust" erzeugt worden ist, kann das Modell nicht iterativ trainiert werden, d.h. alle Trainingsbilder müssen mit concat_objconcat_objConcatObjConcatObjConcatObj aufgesammelt werden und in einem Aufruf von train_variation_modeltrain_variation_modelTrainVariationModelTrainVariationModelTrainVariationModel 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 ImagesImagesImagesImagesimages ü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.

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

ImagesImagesImagesImagesimages (input_object)  singlechannelimage(-array) objectHImageHImageHobject (byte / int2 / uint2)

Bilder des zu trainierenden Objekts.

ModelIDModelIDModelIDModelIDmodelID (input_control, Zustand wird modifiziert)  variation_model HVariationModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

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')
close_framegrabber (AcqHandle)

Ergebnis

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

Vorgänger

create_variation_modelcreate_variation_modelCreateVariationModelCreateVariationModelCreateVariationModel, find_shape_modelfind_shape_modelFindShapeModelFindShapeModelFindShapeModel, affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage, concat_objconcat_objConcatObjConcatObjConcatObj

Nachfolger

prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModel

Siehe auch

prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModel, compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModel, compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModel, clear_variation_modelclear_variation_modelClearVariationModelClearVariationModelClearVariationModel

Modul

Matching