文章目录
1 视觉工程师
1.1 职业技能
视觉工程师扮演者将具体算法应用落地的角色,优秀的视觉工程师通常具备以下职业技能:
- 1、了解工业相机、镜头、光源和工控机等硬件知识
- 2 、熟悉图像处理、机器视觉领域常用算法原理
- 3、具备一定的代码阅读与开发能力,能编写脚本,开发上位机
1.2 认证体系工程师层次划分
1.21 初级工程师
能够设计简单的视觉方案,运用视觉软件完成方案塔建、测试与维护。
了解相机、镜头、光源、工控机等硬件安装,掌握一种或多种视觉软件的使用与简单调试
1.22 中级工程师
初级基础上,能够调用SDK算子进行软件的二次开发,封装算子模块
熟悉图片处理、机器视觉算法原理,熟悉机器视觉处理流程,精通C#或C++语言,多线程、多进程、内存共享、网络编程技术
1.23 高级工程师
中级基础上,具备丰富的项目经验,问题解决能力和自主学习能力
能够自主设计与搭建视觉应用系统,具备丰富的机器视觉项目开发经验和问题解决经验逻辑思维清晰
1.3 常见的视觉应用软件
代码型:
OpenCV:开源,开发灵活,编程复杂,较高的应用门槛,且性能一般
算子型:
HALCON:基础的封装,开发灵活,性能优秀,开发便捷度一般
平台型:
VISIONPRO:开发便捷,周期短,性能优秀,灵活性一般
VISION MASTER:开发灵活,低应用门槛,工具丰富,性能优秀,相对年轻:
2 VM
2.1 VM是什么
VM是通用型视觉算法开发平台
- 图片化交互
- 流程式编辑
- 可视化配置
2.2 VM的定位
通用平台
1.为视觉应用提供算法工具
2.为视觉开发提供基础平台
3.专注于底层模块的性能提升
2.3 VM的开发模式
- 快速模式
- 开发模式
- 设计模式
2.4 VM版本演进
2.5 VM界面介绍
-
1、工具箱
工具箱是视觉工具包的集合,包含:采集、定位、测量、识别、深度学习标定、对位、图像处理、颜色处理、缺陷检测、逻辑检查、逻辑工具和通信单元。视觉工具包是完成视觉方案的基石。用户按照项目需求,选择对应的视觉工具包,进行方案的塔建和测试。
视图工具包可以通过拖拽的方式将模块拉入流程编辑区 -
2、流程编辑区
VM4.0多了模块状态指示灯,点亮模块当前的状态,模块下方是顺序型的是报绿灯,分支的报红灯。 -
3、工具栏
工具栏包含对相机、光源控制器硬件的操作
-
4、图像处理
鼠标移动到图像处理界面的某一点,右下角会返回当前捕获像素信息,包括X,Y,G,R,B某些工具需要这些像素信息作为参数 -
5、结果显示
结果显示包括当前结果、历史结果和帮助三个部分,下面通过图片介绍
-
6、状态栏
流程编辑区设计好就可以作为一套视觉解决方案去使用
3 VM模块介绍
模块选择是根据实际的需求去选择,如果是一个空白环境的搭建,选择通用方案,定位测量通过定位、测量工具进行设计,缺陷检测借助工具查找工件缺陷,用于识别,通过识别工具进行方案设计
4 特征匹配
4.1 算法解释
- 根据边缘强度、长度、趋势一致性等提取匹配特征,特征更合理、匹配精度更高
- 高精度和快速两种工具
4.2 特征匹配的性能
- 0.1像素精度,0.05度
- 支持平移、旋转、缩放等多个自由度
- 能适应遮挡、模糊、明暗等干扰
4.3 特征匹配的模块创建
4.4 高精度特征匹配建模参数
4.41 建模参数-特征尺度
4.42 建模参数-对比度阈值
4.5 特征匹配的运行参数
4.51 模板匹配的运行参数-极性
4.52 模板匹配运行参数-角度范围与尺度范围
角度和尺度范围内的示例,
4.53 模板匹配运行参数-最大重叠率、延拓阈值
最大重叠率的示例,
延拓阈值的示例,如下图延拓阈值高于50的会被找到
4.54 模板匹配运行参数-阈值类型
阈值类型示例,当特征的边缘强弱发生变化时,使用自动阈值可以保证特征奶可以被查找到
4.6 高精度特征匹配
高进度特征匹配提供了不同高斯金字塔层级的颗粒度参数,在底层级使用精细尺度,在高层级使用使用粗糙尺度,获取到的边缘特征会更多更精准,这是有别于快速特征匹配的地方
4.7 模板匹配的应用
5 Blob分析
5.1 Blob运行参数-阈值方式
5.2 Blob运行参数-连通性、最小重叠率
6 卡尺工具
6.1 卡尺工具的延伸-几何查找工具
6.2 间距检查
间距检查:工具用于检测两特征之间的间距,首先是查找满足条件的边缘,然后进行距离测量
6.21 间距检查运行参数-滤波尺寸、边缘阈值、边缘极性
6.3 圆查找
圆查找:先检测出多个边缘点,然后拟合成圆形,可用于圆的定位与测量
本工具一次只能查找一个圆,如果要查找多个圆,建议配合循环功能使用
6.31 圆查找运行参数-扇环半径、卡尺数量、剔除点数
6.32 圆查找运行参数-初定位、剔除距离、投影宽度
6.4 几何查找工具的应用
6.41 识别
6.42 二维码识别
二维码的识别,用于识别目标图像中的二维码,将读取的二维码信息以字符的形式输出。一次可以高效的识别多个二维码,目前只支持QR码和DataMatrix码
6.43 二维码运行参数-边缘类型、码宽范围
6.44 二维码运行参数-镜像模式、OR畸变、应用模式
7 VM深度学习
7.1 模型训练步骤
7.2 图像分割
7.21 图像分割运行参数-模型文件路径、方案存模型、最小分数
7.22 图像分割-应用场景
7.23 特殊的图像分割-目标检测
7.231 目标检测运行参数-最大重叠率、边缘筛选使能
7.3 字符定位与识别
7.31 文本识别运行参数-字符过滤、最小置信度
7.32 文本识别运行参数-最大重叠率
8 图像相关工具
8.1 图像滤波
8.11 图像滤波运行参数-图像滤波类型
8.2 图像运算
8.21 图像运算-图像输入源、运算类型
8.3 仿射变换
8.31 仿射变换运行参数
8.4 颜色抽取
8.41 颜色抽取运行参数-颜色空间、颜色区域选择
8.5 颜色识别
8.6 缺陷对比
8.11 缺陷对比配置步骤
9 逻辑相关工具
9.1 条件检测
9.2 Group
9.21 Group输入、输出设置
9.22 Group循环设置
9.23 Group在VM 4.0的功能
10 VM工具栏分析
10.1 全局相机
10.2 全局相机
10.3 光源控制
11 前端界面
12 脚本
13 综合案例
13.1 功能需求
13.2 设计思路