建立变异模型的方法有三种,这里只说两种standard,direct

先新建一个模型

create_variation_model (Width, Height, 'byte', 'standard', ModelID_Variation)

1.standard

这里如果选择的是standard属性那么就是通过train_variation_model来训练多张图像,以获取一个平均的变异图像,再通过prepare_variation_model来建立变异模型。

 

2.direct

如果选择的是direct属性那么就是通过sobel_amp来用一张OK的图像直接生成一个变异图像,

再通过prepare_direct_variation_model来建立一个变异模型

 

简介:

Variation Model的主要原理是将待检测的图像与一张标准图像作比较,找出待检测图像与标准图像(ideal image)的明显差异(也就是不良)。标准图像可以采用几张OK品的图像训练(training)得到,也可以通过对一张OK品图像进行处理得到。训练后得到标准图像和一张variation图像(variation image),variation图像中包含了图像中每个像素点灰度值允许变化的范围。标准图像和variation图像用来创建一个variation model,如此,其他图像就可以与variation model作比较了。

 

Variation Model方法中常用的算子:

create_variation_model( : : Width, Height, Type, Mode : ModelID)

创建一个ID为ModelID,宽为Width,高为Height,类型为Type的Variation Model,参数Mode决定了创建标准图像和相应的variation图像的方法。'standard'表示标准的训练方法,标准图像的位置是各训练图像位置的平均,'robust'表示鲁棒的训练方法,标准图像的位置是各训练图像的中值,此模式在训练图像中可能存在ERROR时使用,'direct'表示标准图像由单张图像经过处理得到,由此方法得到的标准图像只能应用prepare_direct_variation_model算子得到variation model。

 

train_variation_model(Images : : ModelID : )训练一个Variation Model。

get_variation_model( : Image, VarImage : ModelID : )返回variation model中的标准图像(Image)和variation image(VarImage),此算子主要用来检视创建的variation model是否OK。

prepare_variation_model( : : ModelID, AbsThreshold, VarThreshold : )设置variation model的绝对阈值和相对阈值。绝对阈值即待检测图像与标准图像的差值,相对阈值即待检测图像与variation model与VarThreshold乘绩的差值。

 

clear_train_data_variation_model( : : ModelID : )清除variation model的训练数据所占用的内存。

compare_variation_model(Image : Region : ModelID : )待检测图像与variation model进行比较,超过阈值的区域在Rgion参数中返回。同threshold一样,返回的区域被看做一个区域,可以使用connection算子进行连通性分析,然后根据区域的特征(如面积)对区域进行选择。

clear_variation_model( : : ModelID : )释放一个variation model的内存空间

 

PS:在model训练和比较的时候,常常需要对图像进行模板匹配,以使图像准确对齐。

 

compare_ext_variation_model (ImageScaled, RegionDifference, ModelID_Variation, 'light_dark')将图像与变异模型进行比较。获取检测图像和标准图像之间的差异的区域。

 

总结:

Variation Model使用标准图像与待检测图像灰度值相比较,来判断产品是否OK,适用于印刷品检测及产品表面检测。从实际算法过程可以看出,此检测实际可分为两部分,对于图像中的大面积灰度一致区域,主要利用待检测图像与标准图像(ideal image)比较得出差异区域,对于图像中的边缘位置(edges)区域,主要利用待检测图像与Variation图像(variation image)比较得出差异区域。所以在实际应用中,应根据实际情况设置AbsThreshold和VarThreshold的值。