视觉应用工程师
1.自我介绍、会的技能、项目
2.相机和机械手调试过程
- 检查硬件,看软件驱动是否链接,
- 调节相机和镜头保证能够识别这个物料,
- 看接口和通讯是否正常,如:波特率,数据位,停止位等,
- 测试引导功能,如机械手自动抓取
3.九点标定的意义
建立相机像素坐标系与机械手物理坐标系之间的精确映射关系
简单说: 转换像素坐标为机械手坐标
4.九点标定和旋转中心过程
- 选择标定板,选择一个3*3的九点标定板(圆形)
- 相机拍照: 使用相机拍照标定板,找到这九个圆点的中心点
- 计算转换矩阵: 用采集到的坐标或机械坐标,通过最小二乘法计算出一个3*3的转换矩阵,也就是让Z轴走九个点
- 应用转换矩阵: 得到转换矩阵,可以用它将新的图像坐标转换成机械坐标
大白话: 选择合适标定板,机械手抓取物料拍照, 依次走九个点,计算像素值,转换成物理值, 旋转中心就是机械手抓取物料放到相机范围下,旋转机械手五个角度(5-7度), 将这个五个角度像素坐标转换成物理坐标, 使用拟合算法,也就是把这个五个像素值,填到拟合圆工具里面,来得到拟合圆的中心坐标, 最后通过Dx,Dy,Da计算的出偏差
选择一个特征点,在相机下依次旋转5个角度,获取5个位置的特征点像素坐标,记录每个位置的机械手坐标
使用拟合算法,将五个点拟合为一个圆,求出圆心坐标和旋转半径,将圆心坐标转换为机械手坐标中的坐标,计算偏差
- 在相机视野内选择一个点
- 固定好物料在相机视野范围下
- 旋转机械手五个角度(5-7度)获取五个位置
- 将这个五个角度的像素坐标转换成物理坐标,使用拟合算法,拟合出圆心坐标和旋转半径
- 通过拟合得到圆心坐标,计算出旋转中心的物理坐标
- 通过Dx,Dy,Da计算出偏差
5.九点标定和十二点标定的区别
- 九点标定使用的是3*3棋盘或标定板,通常以Z轴或均匀分布的方式采集
- 十二点标定使用3*4的棋盘或标定分布更密集
主要增加了三个点, 能够计算物料的旋转中心
6.除了九点和十二点还有什么标定
- 超大视野标定
通过多个相机视野拼成一个大的视野,实现对大范围场景的精确标定
-
旋转中心标定
旋转中心标定就是在相机视野内,内旋转,通过拟合圆,拟合出旋转中心的坐标
-
三点标定
- 三点标定是一种简单的标定方式,主要用于二维平面,计算量小,操作也简单,通过三个非共线的点确定相机和机械手之间的坐标
7.RMS 是什么?怎么计算
RMS是像素转物距的一个均方根差值
- 比如: 真实值:2.0,3.5,4.0,5.5
- 预测值:2.1,3.6,3.9,5.7
- 平方差:(2.1-2.0)*(2.1-2.0)=0.01
- 总值除以数在进行开平方 (平方根)
8.九点标定的意义和原理
意义:就是把像素值转换成机械手的实际距离(物理距离)
原理:基于二维仿射变换,相机图像坐标系和机械手坐标系的位置,求出两者之间的几何变换
9.相机在哪里安装
肯定在机台检测的下方安装,这样定位的的时候好检测
10.机械手抓起来的物料之后的目的(放料)
抓取物料之后,移动到相机位置拍照,计算偏差,把偏差坐标发给plc ,plc引到机械手贴合泡棉到笔记本上
11.放料的精度是多少
放料的精度是0.02mm左右, 最终贴合到±0.15mm左右
12.图像预处理工具,用了哪些算法
-
图像增强
- 加减常量
- 对比度拉伸(调整)
- 直方图均衡化
-
形态学操作:
- 腐蚀:侵蚀会降低图像的亮点,从而消除噪点像素或小的缺陷
- 膨胀:增强了图像的明亮特征,同时抑制较暗特征
-
图像降噪(滤波处理)
- 均值滤波:取邻域像素平均值 平滑图像减少噪音 如:椒盐噪音
- 高斯滤波 : 能够有效抑制高斯噪音,平滑图像 如:使用高斯核对图像进行卷积,能够有效去除图像中的高斯噪音
- 中值滤波: 通过取邻域像素的中值来代替像素值,使用(高斯和椒盐噪声)
- 双边滤波: 再去除噪音的同时,能够保留图像的边缘信息,适用于对图像进行平滑处理
-
图像采样
- 高斯采样:对输入图像进行子采样,使输出图像仅包含原始像素一小部分,并平滑图像
- 二次采样:生成输出图像,其中分辨率和尺寸会减小,目的:视觉工具在缩小的图像上能够更快的运行,也可能导致精度降低
-
图像分割
-
阈值分割: 根据图像的灰度值和颜色特征,将图像分为前景色和背景色。常见的阈值分割方法包括固定阈值分割、最优阈值分割和自适应阈值分割
使用自动阈值可以适当滤除一定的边缘干扰
-
边缘检测: 利用边缘检测算子,如Sobel算子、Prewitt算子、Canny算子、提取图像中的边缘信息。
-
区域生长:从图像中的一个或多个种子点开始,根据一定的生长规则,将相邻的像素点合并到一个区域中,从而实现图像分割
-
-
图像变换
- 傅里叶变换: 将图像从空间域转换到频域,便于进行频域滤波等操作
- 几何变换: 包括图像缩放、旋转、翻转等,用于调整图像的大小和方向
- 色度变换:调整图像的色调、饱和度、亮度等属性
13.Blob斑点工具,参数有哪些,如何筛选
主要用于检测和分析图像中的斑点特征:
- SegmentationParams.Mode: 设置图像分割模式,包括固定阈值(HardFixedThreshold)、动态阈值(HardDynamicThreshold)、相对阈值(HardRelativeThreshold)等。
- SegmentationParams.Polarity: 设置斑点的极性,包括白底黑点(DarkBlobs)和黑底白底(LightBlobs)
- ConnectivityMode:设置连通性,包括已标记(Labeled)、灰度(GreyScale)等。
- ConnectivityCleanup:设置连通性清理模式,包括修剪(Prune)、填充(Fill)等
- ConnectivityMinPixels:设置最小面积,用于过滤掉过小的斑点
- Region:设置检测区域的形状,包括圆形(CogCircle)、椭圆(CogEllipse)、多边形(CogPolygon)等。
- RunTimeMeasures:设置测量属性,包括面积(Area)、质心坐标(CenterMassX、CenterMassY)等
- 阈值模式:选择合适的阈值模式(固定阈值、动态阈值、相对阈值)来分割图像中的斑点和背景。
- 极性设置:根据斑点的灰度特性,选择白底黑点或黑底白点的极性。
- 连通性处理:通过设置连通性模式和清理模式,处理斑点的连通性问题
- 区域设置:指定检测区域,以限制斑点检测的范围。
- 面积过滤:通过设置最小面积和最大面积,过滤掉不符合要求的斑点
- 形状筛选:通过设置形状参数,如非环形值,筛选出特定形状的斑点
14.模板匹配效果不好的时候,怎么去优化
参数设置,如果图像有噪音或光照均匀不足,匹配都可能受到影响
- 优化算法
- 分块匹配算法:将图像划分为较小的块,并分别对每个块进行模板匹配,可以减少计算量,但可能会导致匹配精度下降。需要合理设置块的大小和重叠量。
- 快速傅里叶变换(FFT)加速:利用FFT将图像转换到频域,利用卷积定理实现高效的二维卷积,从而在频域中进行模板匹配,可以极大地减少计算量,使得大尺寸图像的匹配成为可能
- 限定搜索ROI的区域,减少搜索范围,提高匹配速度
- 调整匹配窗口大小,相似度阈值
- 降噪处理
- 增强目标区域特征 如:直方图均衡化,对比度增强,锐化
15.如果现在模板匹配非常大,像素特别高,怎么去解决?
- 调整曝光时间,可以增加帧率,保证图像质量
- 降低分辨率,减少数据量,提高帧率
- 减少处理区域,只处理图像中关键区域
16.卡尺计分方式
- 对比度:对比度卡尺计分基于灰度差来评估。卡尺搜索灰度值大于设置的第一条边
- 对比阈值:设定灰度的起始点,只有大于该值的边缘才会被检测到
- X0: 设定搜索的起始点,从卡尺中心沿搜索方向反方向距离为X0的点开始搜索
- 实例:当X0设置为160时,会搜索灰度差大于160的第一条边
- 位置
- 位置卡尺计分基于卡尺中心到特征的距离来评估。卡尺会从距离卡尺中心为X0的点开始,沿搜索方向搜索第一个符合对比度阈值的特征边
- PositionNeg
- PositionNeg卡尺计分基于卡尺框内抓取第一根符合条件的线来评估。卡尺会沿搜索方向在卡尺框内抓取第一根符合条件的线。
总结: 对比度适用于灰度差较大的情况,位置需要用于精确控制搜索起始点的情况, 适用于卡尺框抓取第一根符合条件的线
17.靶面效果不好的时候怎么办
这可能就会是图像处理、模板匹配或者靶材料等方面问题了,
- 优化图像处理技术
- 图像去噪
- 对比度增强
- 边缘检测
- 调整模板参数
- 调整模板尺寸
- 设置合适匹配窗口大小
- 调整相似度阈值
- 限定搜索区域
- 搜索ROI的区域,可以减少搜索范围,提高匹配速度
- 优化算法
18.卡尺工具忽略点
是由于噪声或检测误差导致的,一般选取总点数的5%作为忽略点数,忽略点数一般不能超过卡尺数量的1/3
- 边缘模式: 可以设置查找单个边缘或边缘对
- 边缘极性: 设置灰度值变换确实,可以从暗到明、从明到暗或任意极致
- 对比度阈值: 设置边缘检测的对比度阈值,只有对比度大于该值的边缘才会被检测到。
19.用几个相机
检测类或者比较简单的项目,可以说是两个相机,一个相机CT不够
CT可以说是一个小时4000 单个下昂及不够
如果过是引导项目 一般是两个或者三个 ,如果是缺陷检测可以说是2到4个 不同的缺陷类型用不同的光源或者检测的位置略微不同
20.机械手坐标与像素坐标的转换公式
- 放射变换
- 机器人坐标=旋转系数*图像坐标+位移系数=> 求三元一次方程的系数
- 像素坐标(u,v)中,表示物体所在的行数和列数
- 物理尺寸坐标(x,y)中,坐标为x轴和y轴,表示物体的尺寸大小
假设每个像素在x轴和y轴方向上的x轴和y轴的物理尺寸为dx和dy
两者的齐次坐标转换关系为:
21.Blob工具中的三个算法
- 二值化算法
- 固定阈值、自适应阈值(适用于图像亮度不均匀)
- 形态学算法
- 连通区域标记算法
- 4连通: 像素点与其上下左右四个相邻像素点连通
- 8连通:像素点与其上下左右及四个对角相邻像素点连通
22.九点标定的过程
把机械手移动到拍照位,选择合适的路线,固定好物料,z轴或均匀的走九个点,每个物理的间隔是5mm,把没走一部的像素填写到九点标定工具里,计算出rms误差,rms越低转换就越精准,一般是5以下,我一般做的都是2点多左右,条件允许时会更低
23.像素当量是什么
- 像素当量是指每个像素所代表的实际物理尺寸,通常用于建立像素与物理尺寸之家的比例关系,主要用于将图像中的像素坐标转换为实力物理坐标
- 像素当量的定义:像素当量表示每个像素在实际物理空间中所对应的距离,通常以微米或毫米为单位
标定板计算: 像素当量=实际物理尺寸/像素尺寸
相机参数计算: 像素当量= 视野范围/相机分辨率
24.引导项目的流程
- 调整相机的位置,调整好参数,确定好相机安装高度和视野
- 确定好拍照位置
- 做九点标定和旋转中心
- 测试贴合效果
25.旋转中心如何确定
确定好拍照位置 ,模板匹配匹配主要特征,机械手旋转三个角度每一次拍一张照片,三个点拟合一个圆,圆就是旋转中心
26.什么是GRR,什么是CPK,如何得到的
- GRR是测量系统分析的核心方法,用来量化测量系统(视觉能力指标)
- 重复性:同一操作员、同一设备、相同条件下多次测量同一对象的变异
- 静态重复性:要求是公差的10% 产品放置不动拍摄测量尺寸 反应了视觉算法的精度有没有问题
- 动态重复性:要求是公差的20% 产品取放拍摄测量尺寸,反映了设备的稳定性
- 再现性:不同操作员、不同时间、不同环境条件下测量同一对象的变异
- CPK :反应的是设备实际加工能力
- 上限是3mm 标准值是2mm 下限是1mm
- CP: 反应的是设备潜在能力
- 选择样本料
- 选择操作者
- 多此测量
- 记录每个操作者对每个零件的多次测量结果
- GRR%=(测量系统变异/总变异)*100%
CPK: 收集至少20组数据,确保数据具有代表性,计算平均值,计算标准偏差
USL是规格上限,LSL是规格下限 u是过程的平均值
27.线阵和面阵的区别
- 成本:线阵高,面阵低
- 成像:线阵快,面阵慢
- 帧率:线阵高,面阵低
- 线阵适用于高分辨率和高速成像,面阵用于普通工业检测
28.2D和3D相机区别
- 分辨率: 2d较高可以捕捉更多细节,3d较低可以提供深度信息
- 2d成像方式:2d使用二维传感器捕捉图像,获取深度信息只能通过图像处理算法,原理·:通过镜头将光聚焦到传感器上,传感器将光信号转换为电信号,生成灰度图或彩色图
- 3d成像方式:采用多种技术(结构光,双目视觉,飞行时间)来获取物体的三维信息,3d可以直接获取物体的深度信息,生成三维点云数据。 成像原理
结构光: 通过投射已知图案的光线到物体表面。根据图案的变形来计算深度信息
双目视觉:使用两个相机从不同角度拍摄同一物体,通过视差计算深度信息
飞行时间法(TOF):通过测量光线从相机到物体在返回相机的时间来计算深度信息
29.接口的作用
支持多个继承:一个类可以实现多个接口,从而获得多个行为特征,接口也可以作回调机制,允许对象之间松耦合通信
有助于提高代码的可测性和维护性
实现代码的复用、扩展和维护,同时提高代码的灵活性和可测试行
30.通信方式有哪些?传输的内容是什么类型,通信是连接哪些设备,光圈和景深的关系,什么是工作距离,物距具体是指什么
- 通信有很多啊,串口通信,网口通信,工业协议(Modbus)如:plc 西门子,欧姆龙
- 传输内容: 数字信号,字符串(产品号),图像数据,点云数据
- 连接设备:plc:用来控制自动化生产线 显示器:用于显示图像和检测结果
- 光圈和景深关系
- 光圈是控制进光量
- 景深:光圈越大,景深越浅,背景虚化效果越明显
- 光圈越小,景深越深,背景和前景都能清晰成像
31.什么是基准点
基准点就是产品定位和旋转之后,通过拍摄标准图片,所获得一组参考数据或特征值,用来后续的产品是否合格作为依据
32.什么是内存泄漏?怎么解决
当你具有仍被引用但实际上未使用的对象时,由于已引用他们,垃圾收集器不会收集他们,并且他们将永久保留,占用内存。例如:当你注册事件但从不注销时,可能会发生这情况
解决:即使退订事件,不使用的对象手动释放
当你以某种方式分配非托管内存(没有垃圾回收)并且不释放它时,标记为unsafe的代码
解决:非托管资源所占内存不能自动回收,所以使用后必须手动回收
33.Plc通信型号
S7.net s7-200, s7-1200, s7-300 s7-400/s7-1500
34.什么情况会产生测量误差
受到垃圾、灰尘、水和油等影响
35.采样、量化参数和数字化图像间的关系
数字化方式可分为均匀采样、量化和非均匀采样、量化
均匀就是指采样、量化为等间隔
均匀采样、量化是现在最常用的图像数字化方式,采样非均匀采样与量化,会使问题复杂化,因此很少采用
36.什么是数字图像?为什么要对图像进行数字化处理?
数字化图像是指通过数字化技术将现实世界中的连续视觉信息(如光纤、颜色、形状)转换为由离散的数值(通常是二进制数据)表示图像形式。
- 计算机只能处理数字信号,而自然界的图像是连续的模拟信号(如胶片,照片)。数字化将图像转换成为离散的数值,使计算机能够进行存储、编辑和运算
- 数字图像可以通过压缩算法(如JPEG、PNG)减少数据量,节省存储空间并加快传输速度
- 数字化后,可以通过算法调整亮度、对比度,去除噪声,甚至修复损坏的部分
- 模拟图像易受噪声、失真或物理介质老化影响,而数字图像可无限复制且不损失质量。
数字化的核心步骤
- 采样(Sampling):将连续图像按固定间隔分割为离散像素。
- 量化(Quantization):将每个像素的亮度或颜色值映射为有限数值(如256级灰度)。
- 编码(Encoding):将数值转换为二进制格式以便存储和处理。
总结
数字图像是信息技术的基础载体,其数字化处理使图像从“静态的视觉记录”转变为“可计算、可分析、可交互的数据”,从而支撑了从日常拍照到尖端AI技术的广泛应用。
37.FA镜头和远心镜头区别? 指标
- FA镜头: 适用于对精度要求不高, 成本敏感的普通工业检测场景
- 远心镜头: 适用于对成像精度和稳定性要求极高的精密检测和检测场景,尤其是需要消除视差和畸变的应用
- 单远心镜头: 对预算有限或精度适中
- 双远心镜头: 对精度要求高
- 放大倍率
- 远心度 远心镜头主光线偏离于光轴的角度;远心度越小,透视误差消除效果越好。
- 景深
- 畸变
- 分辨率
38.CCD和CMOS区别
-
成本:
- CCD:制造工艺复杂、成品率低、成本较高
- CMOS: 功耗较低,适合用于便携设备、对功耗要求较高
-
图像质量:
- CCD:能在低光环境下捕捉清晰图像、噪声低,能够提供更好的图像质量
- CMOS:还具有一定差距
-
速度与灵活性:
- CCD:处理速度相对较慢,不适合高帧率拍摄
- CMOS:支持更高的帧率和更快的图像传输速度,适合高速摄影
-
功耗:
- CCD:较高的驱动电压,功耗较高
- CMOS:功耗较低,适用于便捷设备和对功耗要求较高的应用
-
应用场景:
- CCD:常用于对成像质量要求较高的领域
- CMOS:广泛用于消费电子设备
-
动态范围:
- CCD:通常具有较宽的动态范围,能更好地处理高对比度场景
- CMOS:动态范围狭窄
-
总结:
CCD在图像质量和低噪声方面表现优异,成本高,功耗大
CMOS在速度、功耗和成本方面具有优势
- CCD:能在低光环境下捕捉清晰图像、噪声低,能够提供更好的图像质量
- CMOS:还具有一定差距
-
速度与灵活性:
- CCD:处理速度相对较慢,不适合高帧率拍摄
- CMOS:支持更高的帧率和更快的图像传输速度,适合高速摄影
-
功耗:
- CCD:较高的驱动电压,功耗较高
- CMOS:功耗较低,适用于便捷设备和对功耗要求较高的应用
-
应用场景:
- CCD:常用于对成像质量要求较高的领域
- CMOS:广泛用于消费电子设备
-
动态范围:
- CCD:通常具有较宽的动态范围,能更好地处理高对比度场景
- CMOS:动态范围狭窄
-
总结:
CCD在图像质量和低噪声方面表现优异,成本高,功耗大
CMOS在速度、功耗和成本方面具有优势