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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/69553.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尝试一下,交互式的三维计算python库,py3d

py3d是一个我开发的三维计算python库&#xff0c;目前不定期在PYPI上发版&#xff0c;可以通过pip直接安装 pip install py3d 开发这个库主要可视化是想把自己在工作中常用的三维方法汇总积累下来&#xff0c;不必每次重新造轮子。其实现成的python库也有很多&#xff0c;例如…

【C++高并发服务器WebServer】-15:poll、epoll详解及实现

本文目录 一、poll二、epoll2.1 相对poll和select的优点2.2 epoll的api2.3 epoll的demo实现2.5 epoll的工作模式 一、poll poll是对select的一个改进&#xff0c;我们先来看看select的缺点。 我们来看看poll的实现。 struct pollfd {int fd; /* 委托内核检测的文件描述符 */s…

深度分析:网站快速收录与网站内容多样性的关系

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/87.html 网站快速收录与网站内容多样性之间存在着密切的关系。以下是对这一关系的深度分析&#xff1a; 一、网站内容多样性对快速收录的影响 提升搜索引擎抓取效率&#xff1a; 多样化的…

接入 deepseek 实现AI智能问诊

1. 准备工作 注册 DeepSeek 账号 前往 DeepSeek 官网 注册账号并获取 API Key。 创建 UniApp 项目 使用 HBuilderX 创建一个新的 UniApp 项目&#xff08;选择 Vue3 或 Vue2 模板&#xff09;。 安装依赖 如果需要在 UniApp 中使用 HTTP 请求&#xff0c;推荐使用 uni.requ…

PLSQL: 存储过程,用户自定义函数[oracle]

注意: raise notice是高斯的输出语句; DBMS_OUT_PUT.PUT_LINE是oracle的输出语句 存储过程 Stored Procedure 存储过程可以封装数据访问逻辑&#xff0c;使得应用程序可以通过调用存储过程来执行这些逻辑&#xff0c;而不是直接执行SQL语句。这有助于提高代码的可重用性、可…

从零开始玩转Docker:轻松开启容器化之旅

一、什么是 Docker Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。简单来说&#xff0c;Docker 就像是一个超级 “快递箱”&#xff0c…

deepseek+kimi自动生成ppt

打开deepseek官网&#xff0c;输入详细的需求&#xff0c;让他生成个ppt 接着deepseek开始思考生成了 接着复制生成了的内容 打开kimi粘贴刚才deepseek生成的内容 可以一键生成啦&#xff0c;下载编辑使用吧

关于预训练后训练、LLM和视频大模型相关学习记录

Pre-training与Post-training 预训练主要是“模仿”&#xff0c;而后训练则是“创造” 预训练对数据质量的要求不高&#xff0c;而后训练对数据质量的要求较高 预训练&#xff1a;模型通过预测海量互联网文本数据中的下一个 token&#xff0c;学习语言的通用规律&#xff0c;得…

单张照片可生成写实3D头部模型!Adobe提出FaceLift,从单一的人脸图像中重建出360度的头部模型。

FaceLift是Adobe和加州大学默塞德分校推出的单图像到3D头部模型的转换技术,能从单一的人脸图像中重建出360度的头部模型。FaceLift基于两阶段的流程实现:基于扩散的多视图生成模型从单张人脸图像生成一致的侧面和背面视图;生成的视图被输入到GS-LRM重建器中,产出详细的3D高斯表…

一文了解服务端渲染及前端在服务端渲染上的应用

文章目录 服务端和 vs 客户端概念应用场景需求考量优缺点 服务端渲染应用Nuxt.js 介绍概念特点应用场景 Nuxt 与 Vue 3 的综合应用支持情况开发步骤1. 项目初始化2. 使用组合式 API3. 集成 Vue 3 插件4. 静态站点生成和服务器端渲染 优势 Next.js 介绍概念特点应用场景 Next 与…

机器学习:朴素贝叶斯分类器

贝叶斯决策论是概率框架下实施决策的基本方法,对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。 贝叶斯定理是贝叶斯决策论的基础&#xff0c;描述了如何根据新的证据更新先验概率&#xff0c;贝叶斯定理&…

差速驱动机器人MPC算法实现-C++

差速驱动机器人&#xff0c;其运动学模型需要考虑线速度和角速度。MPC&#xff08;模型预测控制&#xff09;需要建立预测模型&#xff0c;并在每个控制周期内求解优化问题。 差速驱动机器人的运动学方程通常包括位置&#xff08;x, y&#xff09;和航向角θ&#xff0c;线速度…

5 计算机网络

5 计算机网络 5.1 OSI/RM七层模型 5.2 TCP/IP协议簇 5.2.1:常见协议基础 一、 TCP是可靠的&#xff0c;效率低的&#xff1b; 1.HTTP协议端口默认80&#xff0c;HTTPSSL之后成为HTTPS协议默认端口443。 2.对于0~1023一般是默认的公共端口不需要注册&#xff0c;1024以后的则需…

mysql8 从C++源码角度看sql生成抽象语法树

在 MySQL 8 的 C 源码中&#xff0c;SQL 语句的解析过程涉及多个步骤&#xff0c;包括词法分析、语法分析和抽象语法树&#xff08;AST&#xff09;的生成。以下是详细的解析过程和相关组件的描述&#xff1a; 1. 词法分析器&#xff08;Lexer&#xff09; MySQL 使用一个称为…

excel合并表格

上一章说到excel拆分表格&#xff0c;可以按一列的不重复数据自动拆分成多个表格。这个功能主要适用于有多个下级机构的部门分发表格使用。表格分发完成&#xff0c;下级单位修改后&#xff0c;上传到我们这里。我们还得把这些表格合并成一个表。如果利用复制粘性&#xff0c;工…

区块链100问之加密算法

区块链100问之加密算法 文章目录 区块链100问之加密算法哈希算法是什么&#xff1f;有什么特征&#xff1f;哈希碰撞是什么?雪崩效应呢&#xff1f;如何解决&#xff1f;哈希算法的作用&#xff1f;对称加密和非对称加密有什么区别&#xff1f;为什么会引入非对称加密&#xf…

模型压缩中的四大核心技术 —— 量化、剪枝、知识蒸馏和二值化

一、量化 (Quantization) 量化的目标在于将原始以 32 位浮点数表示的模型参数和中间激活,转换为低精度(如 FP16、INT8、甚至更低位宽)的数值表示,从而在减少模型存储占用和内存带宽的同时,加速推理运算,特别适用于移动、嵌入式和边缘计算场景。 1.1 概念与目标 基本思想…

【LLM】o1/R1系列LLM数据篇

关于思维链推理的10开源数据集&#xff1a; 目前开源的数据主要有如下&#xff1a; 1、Magpie-Reasoning-V2数据集&#xff0c;其中包含DeepSeek-R1生成的250K思路链推理样本&#xff0c;这些示例涵盖了数学推理、编码和一般问题解决等各种任务。https://huggingface.co/datas…

elasticsearch实战应用从入门到高效使用java集成es快速上手

Elasticsearch 因其出色的性能、可扩展性和易用性,成为了处理大规模数据和构建搜索引擎的首选工具。本文将通过一个实际案例,详细讲解如何在 Spring Boot 项目中集成 Elasticsearch,进行数据索引、搜索、聚合分析等操作。 一、Elasticsearch 简介 Elasticsearch 是一个基于…

Centos Stream 10 根目录下的文件夹结构

/ ├── bin -> usr/bin ├── boot ├── dev ├── etc ├── home ├── lib -> usr/lib ├── lib64 -> usr/lib64 ├── lostfound ├── media ├── mnt ├── opt ├── proc ├── root ├── run ├── sbin -> usr/sbin ├── srv ├─…