apply_texture_inspection_modelT_apply_texture_inspection_modelApplyTextureInspectionModelApplyTextureInspectionModelapply_texture_inspection_model应用纹理检查模型(算子)
名称
apply_texture_inspection_modelT_apply_texture_inspection_modelApplyTextureInspectionModelApplyTextureInspectionModelapply_texture_inspection_model — 检查图像中的纹理。
签名
描述
算子 apply_texture_inspection_modelapply_texture_inspection_modelApplyTextureInspectionModelApplyTextureInspectionModelApplyTextureInspectionModelapply_texture_inspection_model 将 ImageImageImageImageimageimage 与训练好的纹理检测模型 TextureInspectionModelTextureInspectionModelTextureInspectionModelTextureInspectionModeltextureInspectionModeltexture_inspection_model 进行比较。ImageImageImageImageimageimage 可以是单张图像,也可以是多张图像元组。可以传递灰度图像或多通道图像。因此,算子期望传递的 ImageImageImageImageimageimage 与模型训练时具有相同的通道数。apply_texture_inspection_modelapply_texture_inspection_modelApplyTextureInspectionModelApplyTextureInspectionModelApplyTextureInspectionModelapply_texture_inspection_model 的运行时间大致与图像通道数呈线性增长。然而,使用彩色图像的模型通常更擅长检测彩色纹理缺陷。
不符合纹理检查模型的像素将返回至 NoveltyRegionNoveltyRegionNoveltyRegionNoveltyRegionnoveltyRegionnovelty_region 中。此外,若通过set_texture_inspection_model_paramset_texture_inspection_model_paramSetTextureInspectionModelParamSetTextureInspectionModelParamSetTextureInspectionModelParamset_texture_inspection_model_param 将 'gen_result_handle'"gen_result_handle""gen_result_handle""gen_result_handle""gen_result_handle""gen_result_handle" 设置为 'true'"true""true""true""true""true",该算子还将返回结果句柄 TextureInspectionResultIDTextureInspectionResultIDTextureInspectionResultIDTextureInspectionResultIDtextureInspectionResultIDtexture_inspection_result_id,其中包含纹理分类的详细信息。若 'gen_result_handle'"gen_result_handle""gen_result_handle""gen_result_handle""gen_result_handle""gen_result_handle" 设置为 'false'"false""false""false""false""false",则 TextureInspectionResultIDTextureInspectionResultIDTextureInspectionResultIDTextureInspectionResultIDtextureInspectionResultIDtexture_inspection_result_id 为空。
有关纹理检查概念的说明,请参阅 检查 / 纹理检查 一章的引言。
对于金字塔结构的每个层级,均提取纹理特征并使用对应的 GMM 分类器进行分类。随后将得出的新颖性(奇异)分数与当前金字塔层级的新颖性阈值进行比较,并判定为缺陷或非缺陷。每个金字塔层级的缺陷像素均被收集到一个新颖性区域中。这些新颖区域随后被合并为最终的新颖性区域返回至 NoveltyRegionNoveltyRegionNoveltyRegionNoveltyRegionnoveltyRegionnovelty_region。图像金字塔中相邻层的新颖性区域相互相交。此步骤有助于提高单金字塔层级响应对噪声的稳健性。相交的新颖区域随后被添加到返回的 'novelty_region'"novelty_region""novelty_region""novelty_region""novelty_region""novelty_region" 中。若金字塔层级不存在相邻层级,则该区域本身将被添加至 'novelty_region'"novelty_region""novelty_region""novelty_region""novelty_region""novelty_region"。例如当 'num_levels'"num_levels""num_levels""num_levels""num_levels""num_levels" 设置为 1 时,不存在相邻金字塔层级,此时 'novelty_region'"novelty_region""novelty_region""novelty_region""novelty_region""novelty_region" 即为首个金字塔层级的新颖性区域。
若将 'gen_result_handle'"gen_result_handle""gen_result_handle""gen_result_handle""gen_result_handle""gen_result_handle" 设置为 'true'"true""true""true""true""true",则结果句柄 TextureInspectionResultIDTextureInspectionResultIDTextureInspectionResultIDTextureInspectionResultIDtextureInspectionResultIDtexture_inspection_result_id 将包含新颖性分数图像以及金字塔各层对应的新颖性区域。
这些信息有助于调试和微调模型参数(例如新颖性阈值),并可通过 get_texture_inspection_result_objectget_texture_inspection_result_objectGetTextureInspectionResultObjectGetTextureInspectionResultObjectGetTextureInspectionResultObjectget_texture_inspection_result_object 获取。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在内部数据级别上自动并行化。
此算子返回一个句柄。请注意,即使该句柄被用作特定算子的输入参数,这些算子仍可能改变此句柄类型的实例状态。
此算子修改后续输入参数的状态:
在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。
参数
ImageImageImageImageimageimage (输入对象) (multichannel-)image-array → objectHImageHObjectHImageHobject (byte / uint2 / real)
待检测纹理的图像。
NoveltyRegionNoveltyRegionNoveltyRegionNoveltyRegionnoveltyRegionnovelty_region (输出对象) region-array → objectHRegionHObjectHRegionHobject *
新颖性(奇异)区域。
TextureInspectionModelTextureInspectionModelTextureInspectionModelTextureInspectionModeltextureInspectionModeltexture_inspection_model (输入控制) texture_inspection_model → HTextureInspectionModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
纹理检查模型的句柄。
TextureInspectionResultIDTextureInspectionResultIDTextureInspectionResultIDTextureInspectionResultIDtextureInspectionResultIDtexture_inspection_result_id (output_control, state is modified) texture_inspection_result → HTextureInspectionResult, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
检查结果的句柄。
示例(HDevelop)
* Create texture inspection model
create_texture_inspection_model ('basic', TextureInspectionModel)
* Set parameters
set_texture_inspection_model_param (TextureInspectionModel, \
'gen_result_handle', 'true')
* Make this short example fast:
set_texture_inspection_model_param (TextureInspectionModel, \
'gmm_em_max_iter', 1)
* Read and add training images
read_image (TrainImage, 'carpet/carpet_01')
add_texture_inspection_model_image (TrainImage, TextureInspectionModel, \
Indices)
* Train the model
train_texture_inspection_model (TextureInspectionModel)
* Read and apply a test image
read_image (TestImage, 'carpet/carpet_02')
apply_texture_inspection_model (TestImage, DefectCandidates, \
TextureInspectionModel, \
TextureInspectionResultID)
结果
算子 apply_texture_inspection_modelapply_texture_inspection_modelApplyTextureInspectionModelApplyTextureInspectionModelApplyTextureInspectionModelapply_texture_inspection_model 在给定参数有效且在可接受范围内时返回值 2 ( H_MSG_TRUE )。
否则,将抛出异常。
可能的前趋
train_texture_inspection_modeltrain_texture_inspection_modelTrainTextureInspectionModelTrainTextureInspectionModelTrainTextureInspectionModeltrain_texture_inspection_model
可能的后继
get_texture_inspection_result_objectget_texture_inspection_result_objectGetTextureInspectionResultObjectGetTextureInspectionResultObjectGetTextureInspectionResultObjectget_texture_inspection_result_object,
get_texture_inspection_model_paramget_texture_inspection_model_paramGetTextureInspectionModelParamGetTextureInspectionModelParamGetTextureInspectionModelParamget_texture_inspection_model_param,
clear_texture_inspection_resultclear_texture_inspection_resultClearTextureInspectionResultClearTextureInspectionResultClearTextureInspectionResultclear_texture_inspection_result,
clear_texture_inspection_modelclear_texture_inspection_modelClearTextureInspectionModelClearTextureInspectionModelClearTextureInspectionModelclear_texture_inspection_model
模块
匹配