set_texture_inspection_model_param -设置纹理检测模型的参数
简短描述
set_texture_inspection_model_param -设置纹理检测模型的参数。
签名
set_texture_inspection_model_param( : : TextureInspectionModel, GenParamName, GenParamValue : )
描述
操作符set_texture_inspection_model_param用于操作纹理检查模型TextureInspectionModel的参数。当前参数设置可以通过操作符get_texture_inspection_model_param查询。
一般参数:
“num_levels”:
确定纹理检查过程中使用的金字塔层数。金字塔层的数量影响了检查结果以及train_texture_inspection_model和apply_texture_inspection_model的运行时。默认情况下,级别的数量由训练图像的大小估计。需要注意的是,估计过程使用的金字塔级别不超过5个。改变这个参数可能需要对纹理检查模型进行全新的训练。如果只减少训练过的纹理检查模型的层数,则不需要再训练。如果在你的图像纹理非常粗糙,较低的金字塔层次可能不需要成功的检查。然后你可以通过显式地使用` levels `设置感兴趣的级别来节省大量的运行时间。
值:大于或等于1或'auto'的整数值
默认值:` auto `
` levels `:
确定在纹理检查过程中使用的金字塔级别。金字塔层次的数量会影响检查结果,也会影响train_texture_inspection_model和apply_texture_inspection_model的运行时间。默认情况下金字塔的等级是由'num_levels'的值决定的。例如,如果` num_levels `设置为4,那么纹理检查将针对级别1到4执行。如果所有可用的级别都应该训练,该值必须设置为“auto”。改变这个参数可能需要对纹理检查模型进行全新的训练。如果只减少训练后的纹理检测模型的层数,则不需要再训练。如果在你的图像纹理非常粗糙,较低的金字塔层次可能不需要成功的检查。然后,你可以通过显式地使用` levels `设置金字塔的级别来排除不需要的级别,从而节省大量运行时间。为了避免对返回的元组长度的混淆,'levels'只能单独设置,即不传递任何其他参数给set_texture_inspection_model_param。
值:由大于或等于1的整数值组成的单调递增元组,或'auto'
默认值:` auto `
“gen_result_handle”:
此参数确定apply_texture_inspection_model是否返回结果句柄。如果设置为` true `,则可以使用get_texture_inspection_result_object从纹理结果句柄中查询单个金字塔级别的结果。这对于调试和微调非常有用。
如果设置为'false', apply_texture_inspection_model只返回一个新区域。
值:` true `, ` false `
默认值:` false `
参数影响自动新奇阈值计算:
novelty_threshold”:
这个参数设置了新颖性阈值,用来区分缺陷纹理和非缺陷纹理。新颖性阈值作为元组通过,并为所有金字塔级别同时设置。因此,元素的数量必须等于金字塔层数'num_levels'。训练前设置新颖性阈值没有影响,因为训练自动确定新颖性阈值。因此,在训练结束后应调整新颖性阈值。一个典型的用例是优化apply_texture_inspection_model结果的微调。请注意,如果新颖性阈值已显式设置,则新调用train_texture_inspection_model将自动重新估计新颖性阈值并覆盖任何显式设置的新颖性阈值。可以添加一个索引来设置特定金字塔级别的新颖性阈值。例如,'novelty_threshold_3'为第三金字塔层设置新颖性阈值。
取值:大于或等于0,小于或等于710的整数或浮点值
默认值:由train_texture_inspection_model决定
` sensitivity `:
这个参数影响在使用train_texture_inspection_model进行训练时确定的新颖性阈值的灵敏度。默认的“灵敏度”设置为0.0,这意味着在调用apply_texture_inspection_model时直接使用来自训练的新奇阈值。如果参数“灵敏度”的值为负值,则将该值添加到新颖性边界。因此,灵敏度值低于0.0会增加新颖性阈值,因此可能会减少检测到的错误。如果设置了一个正的值,新颖性阈值就会降低,这可能会导致检测到更多的错误。自动确定的新颖性阈值可以在训练后通过参数“novelty_threshold”进行更改。
取值:float或整数值
默认值:0.0
影响纹理特征的参数:
“patch_normalization”:
确定用于规范化纹理特征的方法。如果不同图像之间的光照不一致,则需要进行规范化。如果设置为“weber”,补丁按照韦伯-费希纳定律进行归一化。如果paramet
影响GMM分类器的高级参数:
在内部,纹理检测模型使用高斯混合模型(GMM)分类器。一般情况下,建议不要更改GMM参数,但对于有经验的用户来说,这仍然是可能的。
改变这些参数需要对纹理检测模型进行新的训练。
下面将描述影响GMM分类器的参数。有关使用GMM分类器进行分类的更多信息,请参见create_class_gmm和train_class_gmm。
“gmm_sigma”:这个参数决定了添加到训练样本中的高斯噪声的标准差(参见add_sample_class_gmm)。
取值:大于或等于0.0的整数或浮点值
默认值:0.0
“gmm_pmincenters”:
这个参数决定了每个类的最小高斯分布数。'gmm_pmincenters'不能设置为大于'gmm_pmaxcenters'当前值的值。
值:大于等于1的整型值,小于等于'gmm_pmaxcenters'
默认值:12
“gmm_pmaxcenters”:
这个参数决定了每个类的高斯分布的最大数量。'gmm_pmaxcenters'不能设置为小于'gmm_pmincenters'当前值的值。
值:大于或等于'gmm_pmincenters'的整型值
默认值:12
“gmm_preprocessing”:
该参数确定用于转换特征向量的预处理类型。
价值观:‘principal_components’,‘没有’
默认值:“没有”
“gmm_ncomp”:
这个参数在选择'principal_components'作为预处理方法的情况下操作预处理。更具体地说,它决定了变换后的特征向量的维数。它的选择需要使其小于特征维,特征维是PatchSize PatchSize。如果修改了“PatchSize PatchSize gmm_ncomp”,则会对该参数进行相应的操作。
取值范围:大于等于1的整数
默认值:15
“gmm_randseed”:
该参数确定随机数生成器的初始化值,需要使用随机值初始化GMM。
价值观:整数值
默认值:42
“gmm_em_max_iter”:
这个参数决定了期望最大化算法的最大迭代次数。
取值:大于等于0的整数值
默认值:100
“gmm_em_threshold”:
该参数确定了期望最大化算法终止时误差相对变化的阈值。
取值范围:大于等于0小于1.0的整数或浮点值
默认值:0.001
“gmm_em_regularize”:
这个参数决定了训练过程中防止协方差矩阵奇异的正则化值。
取值范围:大于等于0小于1.0的整数或浮点值
默认值:0.0001
参数
texture_inspectionmodel (input_control, state is modified)→(integer)
纹理检查模型的句柄。
GenParamName (input_control) attribute.name(-array)→(string)
要调整的模型参数名称。
默认值:“gen_result_handle”
值列表:'gen_result_handle', 'gmm_em_max_iter', ' gmm_em_regul_', 'gmm_em_threshold', 'gmm_ncomp', 'gmm_pmaxcenters', 'gmm_pmincenters', ' gmm_预处理','gmm_randseed', 'gmm_sigma', 'levels', 'novelty_threshold', 'num_levels', 'patch_normalization', ' patch_rotational_鲁棒','patch_size', 'sensitivity'
GenParamValue (input_control) attribute.value(-array)→(integer / real / string)
模型参数的新值。
默认值:` true `
值列表:5,'auto', 'false', 'none', 'normalization', 'principal_components', 'true', 'weber'
例程