在纹理中找瑕疵。基于高斯混合模型(GMM)分类器的纹理检查模型,适用于图像金字塔,可以分析纹理的多个频率范围。

【要求】训练样本,必须完美无瑕疵。

【步骤】

1、创建模型

create_texture_inspection_model read_texture_inspection_model

2、加载训练样本

add_texture_inspection_model_image

查看样本get_texture_inspection_model_image

保存样本write_object

移除样本remove_texture_inspection_model_image,可降低模型内存需求。

3、训练模型

train_texture_inspection_model

每层金字塔都会训练一个GMM模型,并确定该层的'novelty_threshold'(区分有无瑕疵的阈值)。

参数的获取与设定

get_texture_inspection_model_param

set_texture_inspection_model_param

'patch_normalization':'weber'对亮度鲁棒,‘none’需要亮度作为评判(默认)

'patch_rotational_robustness':'true'对旋转鲁棒,'false'需要旋转作为评判(默认)

加快训练的方法:

① 缩放训练样本(zoom),通常模型对低分辨率纹理瑕疵检测效果更好。

② 调低 'gmm_em_threshold',但会降低模型准确度,训练终止的条件之一,0.001(默认)。

【重要参数】

'levels':设置具体的金字塔层参与训练,纹理越粗糙,则较低的金字塔层级越可省略。默认auto。

'sensitivity':灵敏度,影响'novelty_threshold'的计算结果。负值会导致更高的阈值,从而更少的发现缺陷。默认0。

'novelty_threshold',阈值,自动计算得到,若结果不理想,可以手动微调。

4、测试

apply_texture_inspection_model

5、模型保存与释放

保存模型,write_texture_inspection_model

若模型不再需要,则释放clear_texture_inspection_model

【重要参数调节策略】

“ novelty_region”是通过组合不同金字塔等级的新颖性区域而生成的,即不同层级金字塔组成的交集区域。如果只有单层金字塔,那么该层的新颖性区域直接就是novelty_region。

若想查看各个金字塔等级的新颖性得分图像和新颖性区域,可以把'gen_result_handle'设置为'true',之后get_texture_inspection_result_object读取'novelty_score_image'和'novelty_region'。

'novelty_score_image'通过'novelty_threshold'阈值分割出感兴趣区域(红色)

上述方式可以知道在哪些金字塔等级上检测到哪些类型的缺陷,来决定调整【重要参数】。如选择特定的金字塔层级。

注意:如果参数'gen_result_handle'设置为'true'创建了结果句柄,则最后需要释放clear_texture_inspection_result

【其他】

序列化、反序列化模型serialize_texture_inspection_modeldeserialize_texture_inspection_model

【术语解释】

Patch:相邻像素的集合。

Novelty Score:在测试过程中,将测试图像的纹理特征与纹理检查模型进行比较,并计算它们的'novelty score'。 该值越大,单个纹理特征越不适合纹理检查模型的可能性越大。

Novelty Threshold:Novelty Score高于该阈值,则纹理有缺陷。

参考网站:Texture Inspection [HALCON Operator Reference / Version 17.12] (mvtec.com)

Halcon案例:

apply_texture_inspection_model.hdev、apply_texture_inspection_model_simple.hdev

Halcon 纹理缺陷检测 apply_texture_inspection_model的更多相关文章

  1. halcon——缺陷检测常用方法总结(特征训练)

    引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分:halcon--缺陷检测常用方法总结(模板匹配(定位)+差分) - 唯有自己强大 - 博客园 (cnblogs.co ...

  2. halcon——缺陷检测常用方法总结(频域空间域结合)

    摘要 缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证.首先常见缺陷:凹凸.污点瑕疵.划痕.裂缝.探伤等. 缺陷检测算法不同于尺寸.二维码.OCR等算法.后者应用场景比较单一,基本都是 ...

  3. 图像处理笔记(二十):LAWS纹理滤波应用于缺陷检测

    LAWS纹理滤波 texture_laws(Image, 原图像 ImageTexture, 输出值,滤波后图像 FilterType, 过滤器类型 Shift, 灰度值转换,滤波后的灰度值可能会比较 ...

  4. halcon——缺陷检测常用方法总结(光度立体)

    引言 机器视觉中缺陷检测分为一下几种: blob+特征(官方示例surface_scratch.hdev) blob+差分+特征(官方示例pcb_inspection.hdev) 光度立体 特征训练 ...

  5. halcon——缺陷检测常用方法总结(模板匹配(定位)+差分)

    引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分 光度立体:halcon--缺陷检测常用方法总结(光度立体) - 唯有自己强大 - 博客园 (cnblogs.com) ...

  6. halcon——缺陷检测常用方法总结(测量拟合)

    引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分:halcon--缺陷检测常用方法总结(模板匹配(定位)+差分) - 唯有自己强大 - 博客园 (cnblogs.co ...

  7. python opencv 图片缺陷检测(讲解直方图以及相关系数对比法)

    一.利用直方图的方式进行批量的图片缺陷检测(方法简单) 二.步骤(完整代码见最后) 2.1灰度转换(将原图和要检测对比的图分开灰度化) 灰度化的作用是因为后面的直方图比较需要以像素256为基准进行相关 ...

  8. Opencv+Python实现缺陷检测

    实验七.缺陷检测 一. 题目描述 ​ 对下面的图片进行缺陷检测操作,请详细地记录每一步操作的步骤. ​ 第一站图片是标准样品,后面几张图中有几个样品有瑕疵,需要你通过计算在图片上显示出哪张是合格,哪张 ...

  9. Halcon学习笔记之缺陷检测(二)

    例程:detect_indent_fft.hdev 说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步: 首先,我们用高斯滤波器构造一个合适的滤波 ...

随机推荐

  1. DockerFile常用命令

    COPY 复制文件 COPY [--chown=<user>:<group>] <源路径>... <目标路径> COPY [--chown=<us ...

  2. Linux-鸟菜-6-文件与目录管理

    Linux-鸟菜-6-文件与目录管理 这章主要是说一些对目录和文件的增删改查等等命令. .    代表当前目录 ..    代表前一个目录   / 的 . 和 .. 一样 -    代表前一个工作目录 ...

  3. WPF之数据绑定基类

    数据绑定方法 在使用集合类型作为列表控件的ItemsSource时一般会考虑使用ObservalbeCollection,它实现了INotifyCollectionChanged和INotifyPro ...

  4. Day009 Arrays类

    Arrays类 数组的工具类java.util.Arrays 由于数组对象本身并没有什么方法可以供我们调用,但Api中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作. 查 ...

  5. Asp.NetCore Web开发之初始文件解析

    在写代码之前,有必要了解一下.net帮我们生成的文件都是干什么用的,在开发过程中他们都负责那些地方(下面以MVC模板举例). 先简单介绍一下什么是MVC,MVC(model-view-controll ...

  6. [MySQL数据库之Navicat.pymysql模块、视图、触发器、存储过程、函数、流程控制]

    [MySQL数据库之Navicat.pymysql模块.视图.触发器.存储过程.函数.流程控制] Navicat Navicat是一套快速.可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降 ...

  7. Docker 中运行 ElasticSearch 和 Kibana

    ElasticSearch 是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口:Kibana 是一个开源的分析和可视化平台,可以搜索,查看. ...

  8. RHEL高级磁盘管理—Stratis

    2. Stratis 本地存储管理工具,通过Stratis可以便捷的使用Thin Provisioning.Snapshots.Pool-based的管理和监控等高级存储功能. Stratis 基于x ...

  9. ZooKeeper IDEA 可视化管理插件安装

    1. 安装 zookeeper 插件 打开 IDEA->Settings->Plugins,然后在 Marketplace 输入 "zookeeper" 如下: 插件安 ...

  10. SpringBoot2 单元测试类的报错问题

    问题描述 执行 SpringBoot2 测试时报错,提示找不到 SsmApplicationTests 主类 原因分析 Junit5 升级了框架没有兼容 问题解决 <!--测试模块--> ...