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_model(Image : NoveltyRegion : TextureInspectionModel : TextureInspectionResultID)

Herror T_apply_texture_inspection_model(const Hobject Image, Hobject* NoveltyRegion, const Htuple TextureInspectionModel, Htuple* TextureInspectionResultID)

void ApplyTextureInspectionModel(const HObject& Image, HObject* NoveltyRegion, const HTuple& TextureInspectionModel, HTuple* TextureInspectionResultID)

HRegion HImage::ApplyTextureInspectionModel(const HTextureInspectionModel& TextureInspectionModel, HTextureInspectionResult* TextureInspectionResultID) const

HRegion HTextureInspectionModel::ApplyTextureInspectionModel(const HImage& Image, HTextureInspectionResult* TextureInspectionResultID) const

void HTextureInspectionResult::HTextureInspectionResult(const HImage& Image, HRegion* NoveltyRegion, const HTextureInspectionModel& TextureInspectionModel)

HRegion HTextureInspectionResult::ApplyTextureInspectionModel(const HImage& Image, const HTextureInspectionModel& TextureInspectionModel)

static void HOperatorSet.ApplyTextureInspectionModel(HObject image, out HObject noveltyRegion, HTuple textureInspectionModel, out HTuple textureInspectionResultID)

HRegion HImage.ApplyTextureInspectionModel(HTextureInspectionModel textureInspectionModel, out HTextureInspectionResult textureInspectionResultID)

HRegion HTextureInspectionModel.ApplyTextureInspectionModel(HImage image, out HTextureInspectionResult textureInspectionResultID)

public HTextureInspectionResult(HImage image, out HRegion noveltyRegion, HTextureInspectionModel textureInspectionModel)

HRegion HTextureInspectionResult.ApplyTextureInspectionModel(HImage image, HTextureInspectionModel textureInspectionModel)

def apply_texture_inspection_model(image: HObject, texture_inspection_model: HHandle) -> Tuple[HObject, HHandle]

描述

算子 apply_texture_inspection_modelapply_texture_inspection_modelApplyTextureInspectionModelApplyTextureInspectionModelApplyTextureInspectionModelapply_texture_inspection_modelImageImageImageImageimageimage 与训练好的纹理检测模型 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

模块

匹配