基础知识
- 什么是机械视觉:
机械视觉是一种利用机器代替人眼来进行测量和判断的技术,通过光学系统、图像传感器等设备获取图像,并运用图像处理和分析算法来提取信息,以实现对目标物体的识别、检测、测量和定位等功能。
- 机械视觉与人类视觉有什么区别?:
机械视觉具有更高的精度和稳定性,能够在恶劣环境下工作,并且可以进行高速、大量的数据处理。但相比之下,人类视觉在灵活性、对复杂场景的理解和感知能力等方面具有优势。
系统组成
- 机械视觉系统由哪些部分构成?
一般由照明系统、光学成像系统、图像传感器、图像处理单元、执行机构等组成。照明系统提供合适的光源,光学成像系统将目标物体成像在图像传感器上,图像传感器将光信号转换为电信号,图像处理单元对图像进行分析和处理,执行机构根据处理结果进行相应的动作。
- 不同类型的图像传感器(如 CCD 和 CMOS)有什么特点和区别?
CCD(电荷耦合器件)具有较高的灵敏度和图像质量,但成本较高,功耗较大;CMOS(互补金属氧化物半导体)成本较低、功耗小、集成度高,但在灵敏度和图像质量上相对略逊一筹。
应用场景
- 机械视觉在工业生产中有哪些具体应用?
如在汽车制造中的零部件检测、装配质量控制,电子制造中的芯片检测、电路板焊接检测,食品饮料行业的包装检测、异物检测等。
- 机械视觉在农业领域有哪些应用
例如农作物生长监测、病虫害检测、果实采摘、种子筛选等。
技术挑战
- 如何提高机械视觉系统的精度和稳定性?
这涉及到多个方面,如选择高精度的光学元件、优化照明方案、采用先进的图像处理算法、进行系统的校准和标定等。
- 在复杂环境下(如强光、弱光、噪声干扰等)如何保证机械视觉系统的性能?
需要采用特殊的照明技术、图像增强算法、滤波算法等来克服环境因素的影响,提高系统的抗干扰能力。
发展趋势
- 机械视觉技术未来的发展方向是什么
包括更高分辨率和帧率的图像传感器、更强大的深度学习算法、智能化的视觉系统、多模态融合的视觉技术等。
- 人工智能技术如何推动机械视觉的发展?
人工智能中的深度学习算法可以自动学习图像中的特征,实现更准确的目标识别和分类,提高机械视觉系统的智能化水平和性能。
视觉设备
常用的相机
海康威视 , 大华 ,巴斯勒 ,大华,华周,康耐视,映美镜,大恒,灰点
常用镜头
FA镜头 , 海康 , OPT , vs , Computar
远心镜头: 视清 , 灿锐
常用光源
OPT、嘉励
扫码枪
++基恩士、得力捷、Cognex、++
![](https://i-blog.csdnimg.cn/direct/d791fc2e7e364fc586e58f79959687f9.jpeg)
补充 :如果我们在做扫码的项目,首先我们要考虑偏振光
偏振片 : 光线在非金属表面的反射是偏振光,借助于偏振片可以有效的消除物体的表面反光
机械视觉的概述
机械视觉的工作原理
相机采集图像,软件处理分析,最后的出结论
机械视觉的应用
引导.检测,识别,测量
影响曝光的因素
感光度,快门,光圈
视觉软件
Visionpro Visionmaster Halcon Opencv
FA镜头参数
-
光圈: 代表镜头的入光量 f/1.8 , f/2.8 , f/4 , f/8 , f/16 数值最小,光圈越大, 允许更多的光线通过
-
焦距: 从镜头的镜面光学中心到相机芯片的距离, 8mm 12mm 25mm 焦距越大,相同拍照距离下视野范围越小,畸变也越小
-
畸变: 因为镜头凸镜的原理, 在图像的中心和边缘的放大率不一致 ,导致排除的图片扭曲或者变形
-
靶面尺寸: 镜头靶面的尺寸要大于等于相机靶面尺寸, 否则会有暗角
计算公式
注意: 1英寸=16mm; 物距==工作距离 视野就可以说是物体长或宽(产品尺寸) 芯片尺寸=CCD靶面型号的尺寸
-
视觉精度 = 公差大小 / 10(5或3)
-
单边分辨率= 视野的大小 / 视觉精度(像素) / 2(亚像素)
-
选择像素 = 单分辨率(长) * 单分辨率(宽)
-
焦距 (f) = 工作距离 * 芯片尺寸 / 视野大小
-
芯片尺寸 = 像元尺寸(长或宽) * 单边分辨率(长或宽) /1000 (转mm)
-
工作距离(WD) = 焦距(f) * 芯片尺寸 / 视野大小
-
工作距离(WD) = 焦距(f) / 倍率
-
视野大小(FOV) = 工作距离(WD) * 芯片尺寸 / 焦距(f)
-
系统放大倍率 = 芯片短边 / 视野短边
相机选型示例
检测一个25mm*15mm的零件,需要达到0.08mm的精度,动态检测,需要选用哪个像素相机比较合适. | 相机选型 |
---|---|
视野: 35mm * 25mm 视觉精度 =0.08/3=0.026mm | 视野大小是25*15,所以我们要给大值 |
分辨率 = 35/0.026 =1346 25/0.026=961 | 这里是大约取值 |
所以我们要选,大于1346*961 的分辨率的相机 | 常见的全局相机(动态)有: CA013-A0GM(12801024) CS050-10GM(24482048) CH120-10GM(4096*3000) |
产品运动速度为200mm/s,视觉精度为0.015mm,视野大小 30mm*20mm, 6pc/s,相机该如何选择 |
---|
相机分辨率=(30/0.015)*(20/0.015)=266.6万像素 |
每秒6pc产品 ,相机帧率要大于6帧 曝光时间 T < 0.015/200 =75us |
可以选择 320万(2048*1536)全局相机 |
镜头选型
相机MV-CS050-60GM 视野100X80mm 物距不低于200mm 如何选择镜头? |
---|
视野= 100 80mm 工作距离=物距>=200mm 相机是500w(2448 2048)像素黑白相机 最大帧率是23fp/s 像元尺寸 3.45um * 3.45um |
芯片尺寸= 3.45*2448/1000=8.4mm(大约) 焦距(f)=220✖8.4/100=18.48mm |
所以我们要选择焦距大于 18.48mm的镜头 |
检测区域为110m*27mm 所需的细节尺寸为0.5mm 工作距离 400mm |
---|
视野(FOV) : 150mm*60mm 像素精度=0.5/10=0.05mm/pixel |
分辨率= (150/0.05)*(60/0.05)=3000✖1200 要选择>360w像素相机 选用 MV-CS060-10GM-PRO 像元尺寸是2.4um 分辨率=3072✖2048 |
芯片尺寸=2.4*3072/1000=7.3mm 焦距(f)=400✖7.3/150=19mm 选择大于19mm的焦距镜头 |
已知条件: 工业相机芯片为2/3,c接口 ,5百万像素 视野是100*100mm 工作距离是500mm |
---|
像元尺寸=3.45um 芯片尺寸=3.45*2500/1000=8.6mm |
焦距= 500mm*8.6mm/100=43mm |
镜头放大倍率= 8.6mm/100=0.086 |
项目前期准备
当我们收到客户需要我们去做视觉定位项目,以下是我们的要求
1.明确项目需求
- 定位类型: 首先我们要确定是二维定位 (仅确定平面内的位置和角度) 还是三维定位(确定物体在空间中的位置和姿态).例如:在工业生产线上,通常只用二维定位来确定物料的放置位置; 而在机器人抓取不规则物体的时候,可能就需要三维定位
- 精度要求: 明确所需的定位精度, 如毫米 ,微米级等. 不同的应用场景对精度要求差异很大; 像苹果手机零件之类的,有些制造可能要求微米级的精度, 但是有的相对比较大的分拣,可能只需要毫米级精度
- 速度要求: 了解系统需要达到的处理速度, 例如每秒钟需要完成多少次定位. 高速生产线对视觉定位系统的处理速度要求较高
- 工作环境: 我们需要到现场去了解项目的应用场景,需要去考虑光照条件, 温度, 湿度, 噪音 等环境因素. 例如, 在户外强光环境下 , 需要选择抗干扰的相机和合适的光源; 在高温环境中确保硬件设备能正常工作; 在噪音大的车间, 确保相机配备坚固和光源是否被干扰;
2.选择硬件设备
-
相机: 根据项目需求来选择相机类型, 如: 普通工业相机 ,高速相机 ,3D相机等; 根据定位精度和速度要求来选择相机的分辨率和帧率. 对于微小的物体进行高精度定位, 需要采用高分辨率的工业相机;根据环境,我们需要考虑是否需要对相机采用一些保护措施;如:使用防护外壳, 安装减震装置或选择抗噪传感器; 若是获取物体深度信息以实现更精准定位, 3D相机可能更合适; 对于高速生产线, 帧率应该选择在50fps以上
-
镜头: 根据工作距离和视野范围选择合适的镜头. 不同的镜头有不同的焦距和视角 ,需要根据实际情况去选择. 例如: 在大视野检测中, 可选择广角镜头; 在近距离精度检测中, 可选择长焦镜头;
-
光源: 需要根据物体的材质和表面特性选择光源类型, 还要考虑现场的环境因素是否需要采用抗干扰光源. 如:环形光和偏振光 适用于表面有反光的物体 ,可以减少反光干扰, 背光源 适用于检测物体的轮廓. 特定荧光物质可选择紫外光源.
视觉系统开发
1.图像采集
- 手动采集: 使用视觉软件中的图像采集工具, 连接并配置好相机, 设置采集参数, 如曝光时间 , 增益等 以获取清晰的图像.
- 自动采集: 通过编写C#或 VB.NET代码实现自动采集功能
2.图像预处理
-
滤波处理: 运用高通滤波 ,高斯采样器等算法. 均值滤波可以平滑图像,减少噪声, 中值滤波对椒盐噪声有较好的去除效果, 高斯滤波能够有效抑制高斯噪音,平滑图像 (高通滤波包含 高斯滤波 均值滤波 中值滤波)
-
灰度化处理: 将彩色图像转换成灰度图像, 可简化图像处理过程
-
二值化处理: 使用阈值分割工具将灰度图像转换成二值图像. 可以选择固定阈值或自适应阈值方法
-
图像增强: 通过直方图均衡化 , 对比度调整等方法增强图像的质量
3.特征提取
-
边缘检测: 根据物体的特点, 选择合适的算法. 例如, 使用边缘检测 算法提取物体的边缘特征,选用 Sobel算子 ,Canny算子等. 设置合适的参数, 如边缘强度阈值, 以提取清晰的边缘特征. 使用自动边缘阈值 ,可以适当滤除一定的边缘干扰
-
形状特征提取: 对于圆形, 矩形等规则形状的物体, 使用形状匹配 工具提取其特征参数, 对于纹理特征提取, 可采用灰度共生矩阵等方法, 分析图像中纹理的方向, 粗细等特征, 通过形态学调整对图像执行灰度形态, 增强或减少图像特征.
4.算法选择与应用
-
基于模板匹配
-
创建模板: 选择一副包含物体的图像, 手动或者自动选择目标区域, 创建模板
-
匹配设置: 设置匹配参数, 匹配类型(基于灰度或基于形状) , 匹配阈值, 目标物体的位置和角度
-
-
基于特征点匹配
-
特征提取: 使用如 **SIFT(尺度不变特征变换) , SURF(加速稳健特征), ORB(加速的具有旋转不变性的BRIEF特征)**等算法提取图像中的特征点
-
特征匹配: 将提取的特征点与预先存储的目标特征点进行匹配, 通过匹配的特征点计算物体的位置和姿态.
-
-
模式匹配算法
-
Patmax: 精确度最高
-
PatQuick: 算法速度最快
-
PatFlex: 比较适合于畸变的情况
-
-
基于深度学习的定位
模板选择: 选择合适的深度学习模型, 如基于卷积神经网络( CNN)的目标检测模型, 如 YOLO(You Only Look Once), Faster R-CNN等 ,或专门用于定位的网络结构.
5.硬件搭建与调试
- -硬件安装 : 按照设计方案, 将相机, 镜头 ,光源等硬件设备安装在合适的位置上, 并进行机械固定. 确保相机的安装位置 稳定, 镜头与检测对象之间的距离和角度符合设计要求, 光源的安装==角度和亮度==能够满足检测要求
- **硬件连接:**将相机通过对应的接口(如 GigE, USB3.0等) 连接到工业计算机上, 将光源的亮度, 颜色 ,角度等参数, 使检测对象在图像中具有良好的对比度和清晰度
- 硬件参数调试: 调整相机的曝光时间, 增益, 白平衡等参数, 以获取清晰, 稳定的图像. 调整光源的亮度, 颜色, 角度等参数, 使检测对象在图像中有良好的对比度和清晰度
- **硬件优化:**如果发现硬件设备存在性能瓶颈, 如相机采集速度慢, 光源亮度不足等问题 ,及时更换或升级硬件设备