视觉硬件选型和算法选择(CNN)

基础知识

  • 什么是机械视觉:

机械视觉是一种利用机器代替人眼来进行测量和判断的技术,通过光学系统、图像传感器等设备获取图像,并运用图像处理和分析算法来提取信息,以实现对目标物体的识别、检测、测量和定位等功能。

  • 机械视觉与人类视觉有什么区别?:

机械视觉具有更高的精度和稳定性,能够在恶劣环境下工作,并且可以进行高速、大量的数据处理。但相比之下,人类视觉在灵活性、对复杂场景的理解和感知能力等方面具有优势。


系统组成

  • 机械视觉系统由哪些部分构成?

一般由照明系统、光学成像系统、图像传感器、图像处理单元、执行机构等组成。照明系统提供合适的光源,光学成像系统将目标物体成像在图像传感器上,图像传感器将光信号转换为电信号,图像处理单元对图像进行分析和处理,执行机构根据处理结果进行相应的动作。

  • 不同类型的图像传感器(如 CCD 和 CMOS)有什么特点和区别?

CCD(电荷耦合器件)具有较高的灵敏度和图像质量,但成本较高,功耗较大;CMOS(互补金属氧化物半导体)成本较低、功耗小、集成度高,但在灵敏度和图像质量上相对略逊一筹。


应用场景

  • 机械视觉在工业生产中有哪些具体应用?

如在汽车制造中的零部件检测、装配质量控制,电子制造中的芯片检测、电路板焊接检测,食品饮料行业的包装检测、异物检测等。

  • 机械视觉在农业领域有哪些应用

例如农作物生长监测、病虫害检测、果实采摘、种子筛选等。

技术挑战

  • 如何提高机械视觉系统的精度和稳定性?

这涉及到多个方面,如选择高精度的光学元件、优化照明方案、采用先进的图像处理算法、进行系统的校准和标定等。

  • 在复杂环境下(如强光、弱光、噪声干扰等)如何保证机械视觉系统的性能?

需要采用特殊的照明技术、图像增强算法、滤波算法等来克服环境因素的影响,提高系统的抗干扰能力。

发展趋势

  • 机械视觉技术未来的发展方向是什么

包括更高分辨率和帧率的图像传感器、更强大的深度学习算法、智能化的视觉系统、多模态融合的视觉技术等。

  • 人工智能技术如何推动机械视觉的发展?

人工智能中的深度学习算法可以自动学习图像中的特征,实现更准确的目标识别和分类,提高机械视觉系统的智能化水平和性能。


视觉设备

常用的相机

海康威视 , 大华 ,巴斯勒 ,大华,华周,康耐视,映美镜,大恒,灰点

常用镜头

FA镜头 , 海康 , OPT , vs , Computar

远心镜头: 视清 , 灿锐

常用光源

OPT、嘉励

扫码枪

++基恩士、得力捷、Cognex、++

补充 :如果我们在做扫码的项目,首先我们要考虑偏振光

偏振片 : 光线在非金属表面的反射是偏振光,借助于偏振片可以有效的消除物体的表面反光

机械视觉的概述


机械视觉的工作原理

相机采集图像,软件处理分析,最后的出结论

机械视觉的应用

引导.检测,识别,测量

影响曝光的因素

感光度,快门,光圈

视觉软件

Visionpro Visionmaster Halcon Opencv

FA镜头参数

  • 光圈: 代表镜头的入光量 f/1.8 , f/2.8 , f/4 , f/8 , f/16 数值最小,光圈越大, 允许更多的光线通过

  • 焦距: 从镜头的镜面光学中心到相机芯片的距离, 8mm 12mm 25mm 焦距越大,相同拍照距离下视野范围越小,畸变也越小

  • 畸变: 因为镜头凸镜的原理, 在图像的中心和边缘的放大率不一致 ,导致排除的图片扭曲或者变形

  • 靶面尺寸: 镜头靶面的尺寸要大于等于相机靶面尺寸, 否则会有暗角

计算公式

注意: 1英寸=16mm; 物距==工作距离 视野就可以说是物体长或宽(产品尺寸) 芯片尺寸=CCD靶面型号的尺寸

  1. 视觉精度 = 公差大小 / 10(5或3)

  2. 单边分辨率= 视野的大小 / 视觉精度(像素) / 2(亚像素)

  3. 选择像素 = 单分辨率(长) * 单分辨率(宽)

  4. 焦距 (f) = 工作距离 * 芯片尺寸 / 视野大小

  5. 芯片尺寸 = 像元尺寸(长或宽) * 单边分辨率(长或宽) /1000 (转mm)

  6. 工作距离(WD) = 焦距(f) * 芯片尺寸 / 视野大小

  7. 工作距离(WD) = 焦距(f) / 倍率

  8. 视野大小(FOV) = 工作距离(WD) * 芯片尺寸 / 焦距(f)

  9. 系统放大倍率 = 芯片短边 / 视野短边

海康机器人-机器视觉产品页

相机选型示例

检测一个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等) 连接到工业计算机上, 将光源的亮度, 颜色 ,角度等参数, 使检测对象在图像中具有良好的对比度和清晰度
  • 硬件参数调试: 调整相机的曝光时间, 增益, 白平衡等参数, 以获取清晰, 稳定的图像. 调整光源的亮度, 颜色, 角度等参数, 使检测对象在图像中有良好的对比度和清晰度
  • **硬件优化:**如果发现硬件设备存在性能瓶颈, 如相机采集速度慢, 光源亮度不足等问题 ,及时更换或升级硬件设备
相关推荐
elecfan20118 分钟前
本地化部署AI知识库:基于Ollama+DeepSeek+AnythingLLM保姆级教程
人工智能
幸福右手牵1 小时前
WPS如何接入DeepSeek(通过JS宏调用)
javascript·人工智能·深度学习·wps·deepseek
cchjyq1 小时前
opencv:基于暗通道先验(DCP)的内窥镜图像去雾
java·c++·图像处理·人工智能·opencv·计算机视觉
幸福右手牵1 小时前
WPS如何接入DeepSeek(通过第三方工具)
人工智能·深度学习·wps·deepseek
大数据技术架构2 小时前
构建您的专属AI助手:在钉钉上部署DeepSeek
人工智能·钉钉
有续技术2 小时前
DEEPSEEK与GPT等AI技术在机床数据采集与数字化转型中的应用与影响
大数据·人工智能·gpt
NCU_wander2 小时前
大语言模型RAG,transformer和mamba
人工智能·语言模型·transformer
西猫雷婶2 小时前
python学opencv|读取图像(五十九)使用cv2.dilate()函数实现图像膨胀处理
人工智能·opencv·计算机视觉
数据学习(Datalearner)3 小时前
什么是推理大模型?DeepSeek R1推理大模型与DeepSeek V3模型的区别是什么?什么时候该使用推理大模型?
人工智能·深度学习·机器学习·大模型·推理大模型
wozijisunfly3 小时前
Opencv操作相关内容记录
人工智能·opencv·计算机视觉