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

ops/2025/2/10 20:41:35/

基础知识

  • 什么是机械视觉:

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

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

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


系统组成

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

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

  • 不同类型的图像传感器(如 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等) 连接到工业计算机上, 将光源的亮度, 颜色 ,角度等参数, 使检测对象在图像中具有良好的对比度和清晰度
  • 硬件参数调试: 调整相机的曝光时间, 增益, 白平衡等参数, 以获取清晰, 稳定的图像. 调整光源的亮度, 颜色, 角度等参数, 使检测对象在图像中有良好的对比度和清晰度
  • 硬件优化:如果发现硬件设备存在性能瓶颈, 如相机采集速度慢, 光源亮度不足等问题 ,及时更换或升级硬件设备


http://www.ppmy.cn/ops/157352.html

相关文章

idea插件开发dom4j报错:SAXParser cannot be cast to class org.xml.sax.XMLReader

手打不易&#xff0c;如果转摘&#xff0c;请注明出处&#xff01; 注明原文&#xff1a;https://blog.csdn.net/q258523454/article/details/145512328 dom4j报错 idea插件使用到了dom4j依赖&#xff0c;但是报错&#xff1a; I will print the stack trace then carry on…

软件测试之单元测试

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、什么是单元测试&#xff1f; 单元测试是指&#xff0c;对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作&#xff0c;这里的最…

Vue全流程--Vue2路由

引入路由的原因&#xff1a; 实现单页面应用&#xff08;SPA&#xff09; 什么是单页面应用&#xff1a; 1、点击跳转链接后直接在原本的页面展示。路径发生相应改变 2、整个应用只有一个完整页面 3、数据需要通过ajax获取 Vue2中的路由是什么&#xff1a; Vue2路由是一…

IDEA中Resolving Maven dependencies卡着不动解决方案

一、修改settings.xml Maven配置阿里云仓库主要通过修改Maven的settings.xml文件来实现‌。以下是具体步骤: ‌1、找到settings.xml文件‌: 通常位于Maven安装目录下的conf文件夹中,或者在用户目录下的.m2文件夹中(如果用户自定义了settings.xml的位置)。 2、‌编辑se…

体验 DeepSeek-R1:解密 1.5B、7B、8B 版本的强大性能与应用

文章目录 &#x1f34b;引言&#x1f34b;DeepSeek 模型简介&#x1f34b;版本更新&#xff1a;1.5B、7B、8B 的区别与特点&#x1f34b;模型评估&#x1f34b;体验 DeepSeek 的过程&#x1f34b;总结 &#x1f34b;引言 随着大规模语言模型的持续发展&#xff0c;许多模型在性…

web第二次作业

一.后台管理系统首页代码 1.html代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>实验&l…

DNS域名服务器的安装及配置

1.安装DNS域名服务器 sudo apt-get install bind9 2.安装完成后进入/etc/bind目录 cd /etc/bind 进入目录后修改named.conf.local文件 sudo vim named.conf.local 创建test.com文件 sudo touch test.com 修改test.com文件 sudo vim test.com 保存后启动bind9 # servic…

没有服务器和显卡电脑如何本地化使用deepseek|如何通过API使用满血版deepseek

目录 一、前言二、使用siliconflow硅基流动 API密钥1、注册硅基流动2、创建API密钥3、下载AI客户端4、使用API密钥5、效果演示三、使用deepseek官方API密钥1、创建API密钥2、使用API密钥3、效果演示四、总结一、前言 上篇文章我介绍了如何通过云服务器或者显卡电脑来本地化部署…