inspect_clustered_componentsT_inspect_clustered_componentsInspectClusteredComponentsInspectClusteredComponentsinspect_clustered_components (算子)

名称

inspect_clustered_componentsT_inspect_clustered_componentsInspectClusteredComponentsInspectClusteredComponentsinspect_clustered_components — 检查从训练中获得的刚性模型组件。

签名

inspect_clustered_components( : ModelComponents : ComponentTrainingID, AmbiguityCriterion, MaxContourOverlap, ClusterThreshold : )

Herror T_inspect_clustered_components(Hobject* ModelComponents, const Htuple ComponentTrainingID, const Htuple AmbiguityCriterion, const Htuple MaxContourOverlap, const Htuple ClusterThreshold)

void InspectClusteredComponents(HObject* ModelComponents, const HTuple& ComponentTrainingID, const HTuple& AmbiguityCriterion, const HTuple& MaxContourOverlap, const HTuple& ClusterThreshold)

HRegion HComponentTraining::InspectClusteredComponents(const HString& AmbiguityCriterion, double MaxContourOverlap, double ClusterThreshold) const

HRegion HComponentTraining::InspectClusteredComponents(const char* AmbiguityCriterion, double MaxContourOverlap, double ClusterThreshold) const

HRegion HComponentTraining::InspectClusteredComponents(const wchar_t* AmbiguityCriterion, double MaxContourOverlap, double ClusterThreshold) const   ( Windows only)

static void HOperatorSet.InspectClusteredComponents(out HObject modelComponents, HTuple componentTrainingID, HTuple ambiguityCriterion, HTuple maxContourOverlap, HTuple clusterThreshold)

HRegion HComponentTraining.InspectClusteredComponents(string ambiguityCriterion, double maxContourOverlap, double clusterThreshold)

def inspect_clustered_components(component_training_id: HHandle, ambiguity_criterion: str, max_contour_overlap: float, cluster_threshold: float) -> HObject

描述

inspect_clustered_componentsinspect_clustered_componentsInspectClusteredComponentsInspectClusteredComponentsInspectClusteredComponentsinspect_clustered_components creates a representation of the rigid model components based on the training result ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingIDcomponent_training_id in form of contour regions. The resulting rigid model components are computed depending on the criterion that is used to solve the ambiguities AmbiguityCriterionAmbiguityCriterionAmbiguityCriterionAmbiguityCriterionambiguityCriterionambiguity_criterion, the maximum allowable contour overlap MaxContourOverlapMaxContourOverlapMaxContourOverlapMaxContourOverlapmaxContourOverlapmax_contour_overlap, and the cluster threshold ClusterThresholdClusterThresholdClusterThresholdClusterThresholdclusterThresholdcluster_threshold (see train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components). The cluster threshold, for example, influences the merging of the initial components. The greater the threshold is chosen, the fewer initial components are merged. The determined rigid model components are returned in ModelComponentsModelComponentsModelComponentsModelComponentsmodelComponentsmodel_components

Hence, after the components have been trained once by using train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components, inspect_clustered_componentsinspect_clustered_componentsInspectClusteredComponentsInspectClusteredComponentsInspectClusteredComponentsinspect_clustered_components can be used to estimate the effect of different values for the parameters AmbiguityCriterionAmbiguityCriterionAmbiguityCriterionAmbiguityCriterionambiguityCriterionambiguity_criterion, MaxContourOverlapMaxContourOverlapMaxContourOverlapMaxContourOverlapmaxContourOverlapmax_contour_overlap, and ClusterThresholdClusterThresholdClusterThresholdClusterThresholdclusterThresholdcluster_threshold without performing the complete training procedure several times. Once the desired parameter values have been found, they can be efficiently adopted into the training result by using cluster_model_componentscluster_model_componentsClusterModelComponentsClusterModelComponentsClusterModelComponentscluster_model_components

执行信息

参数

ModelComponentsModelComponentsModelComponentsModelComponentsmodelComponentsmodel_components (输出对象)  region(-array) objectHRegionHObjectHRegionHobject *

Contour regions of rigid model components.

ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingIDcomponent_training_id (输入控制)  component_training HComponentTraining, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the training result.

AmbiguityCriterionAmbiguityCriterionAmbiguityCriterionAmbiguityCriterionambiguityCriterionambiguity_criterion (输入控制)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Criterion for solving the ambiguities.

默认值: 'rigidity' "rigidity" "rigidity" "rigidity" "rigidity" "rigidity"

值列表: 'distance'"distance""distance""distance""distance""distance", 'distance_orientation'"distance_orientation""distance_orientation""distance_orientation""distance_orientation""distance_orientation", 'orientation'"orientation""orientation""orientation""orientation""orientation", 'rigidity'"rigidity""rigidity""rigidity""rigidity""rigidity"

MaxContourOverlapMaxContourOverlapMaxContourOverlapMaxContourOverlapmaxContourOverlapmax_contour_overlap (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Maximum contour overlap of the found initial components.

默认值: 0.2

建议值: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

最小增量: 0.01

建议增量: 0.05

限制: 0 <= MaxContourOverlap && MaxContourOverlap <= 1

ClusterThresholdClusterThresholdClusterThresholdClusterThresholdclusterThresholdcluster_threshold (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Threshold for clustering the initial components.

默认值: 0.5

建议值: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

限制: 0 <= ClusterThreshold && ClusterThreshold <= 1

示例(HDevelop)

* Get the model image.
read_image (ModelImage, 'model_image.tif')
* Define the regions for the initial components.
gen_rectangle2 (InitialComponentRegions, 212, 233, 0.62, 167, 29)
gen_rectangle2 (Rectangle2, 298, 363, 1.17, 162, 34)
gen_rectangle2 (Rectangle3, 63, 444, -0.26, 50, 27)
gen_rectangle2 (Rectangle4, 120, 473, 0, 33, 20)
concat_obj (InitialComponentRegions, Rectangle2, InitialComponentRegions)
concat_obj (InitialComponentRegions, Rectangle3, InitialComponentRegions)
concat_obj (InitialComponentRegions, Rectangle4, InitialComponentRegions)
* Get the training images
gen_empty_obj (TrainingImages)
for i := 1 to 4 by 1
    read_image (TrainingImage, 'training_image-'+i$'02'+'.tif')
    concat_obj (TrainingImages, TrainingImage, TrainingImages)
endfor
* Extract the model components and train the relations.
train_model_components (ModelImage, InitialComponentRegions, \
                        TrainingImages, ModelComponents, 22, 60, 30, 0.65, \
                        0, 0, rad(60), 'speed', 'rigidity', 0.2, 0.5, \
                        ComponentTrainingID)
* Find the best value for the parameter ClusterThreshold.
inspect_clustered_components (ModelComponents, ComponentTrainingID, \
                              'rigidity', 0.2, 0.4)
* Adopt the ClusterThreshold into the training result.
cluster_model_components (ModelComponents, ModelComponents, \
                          ComponentTrainingID, 'rigidity', 0.2, 0.4)
* Create the component model based on the training result.
create_trained_component_model (ComponentTrainingID, -rad(30), rad(60), 10, \
                                0.5, 'auto', 'auto', 'none', \
                                'use_polarity', 'false', ComponentModelID, \
                                RootRanking)

结果

If the handle of the training result is valid, the operator inspect_clustered_componentsinspect_clustered_componentsInspectClusteredComponentsInspectClusteredComponentsInspectClusteredComponentsinspect_clustered_components 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components

可能的后继

cluster_model_componentscluster_model_componentsClusterModelComponentsClusterModelComponentsClusterModelComponentscluster_model_components

模块

匹配