train_variation_modelT_train_variation_modelTrainVariationModelTrainVariationModeltrain_variation_model (Operator)

Name

train_variation_modelT_train_variation_modelTrainVariationModelTrainVariationModeltrain_variation_model — 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)

def train_variation_model(images: HObject, model_id: HHandle) -> None

Beschreibung

train_variation_modeltrain_variation_modelTrainVariationModelTrainVariationModelTrainVariationModeltrain_variation_model trainiert das durch ModelIDModelIDModelIDModelIDmodelIDmodel_id angegebene Variationsmodell mit einem oder mehreren Bildern, die in ImagesImagesImagesImagesimagesimages übergeben werden.

Wie bei create_variation_modelcreate_variation_modelCreateVariationModelCreateVariationModelCreateVariationModelcreate_variation_model 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_modelTrainVariationModelTrainVariationModelTrainVariationModeltrain_variation_model 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_objConcatObjConcatObjConcatObjconcat_obj aufgesammelt werden und in einem Aufruf von train_variation_modeltrain_variation_modelTrainVariationModelTrainVariationModelTrainVariationModeltrain_variation_model 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.

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

ImagesImagesImagesImagesimagesimages (input_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject (byte / int2 / uint2)

Bilder des zu trainierenden Objekts.

ModelIDModelIDModelIDModelIDmodelIDmodel_id (input_control, Zustand wird modifiziert)  variation_model HVariationModel, HTupleHHandleHTupleHtuple (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_modelTrainVariationModelTrainVariationModelTrainVariationModeltrain_variation_model liefert TRUE zurück, wenn alle Parameter korrekt sind.

Vorgänger

create_variation_modelcreate_variation_modelCreateVariationModelCreateVariationModelCreateVariationModelcreate_variation_model, find_shape_modelfind_shape_modelFindShapeModelFindShapeModelFindShapeModelfind_shape_model, affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImageaffine_trans_image, concat_objconcat_objConcatObjConcatObjConcatObjconcat_obj

Nachfolger

prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model

Siehe auch

prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model, compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model, compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model, clear_variation_modelclear_variation_modelClearVariationModelClearVariationModelClearVariationModelclear_variation_model

Modul

Matching