点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
机器视觉一词可以想象是具有一组眼睛的计算机进行检测或检验行为。为了开发机器视觉应用的完整解决方案,视觉工程师执行一系列通常分为五个类别的任务:计划,设计,构建,集成和验证。
对于许多视觉工程师来说,任何解决方案的第一步是确定每次检查的要求并确定是否可能。需要考虑几个因素,如:•正在检查什么
•所需检查次数
•检查速度
•机械设计限制
•性能要求
•时间和成本
规划阶段进入设计阶段进行验证。为了确保要求可以实现,原型完成。如果视觉工程师认为检查是可以实现的,则可能不需要原型设计。然而,验证总是有益的,因为随后在解决方案中的更改将影响时间和成本。
根据检查要求,为每个视觉应用程序创建和测试初始视觉设计。可以有几个视觉站,都有不同的光学设置。在设计视觉站时,每个摄像机,镜头和光线都需要考虑几个因素。•相机规格
•相机数量
•相机类型
•单色或彩色
•解析度
•帧速率
•通讯协议
•曝光/快门速度
•获得
•镜头规格
•镜头类型
•焦距
•工作距离
•间隔
•视野
•过滤
•光圈
•灯光规格
•灯数
•灯光类型
•尺寸
•颜色
•距离零件
•强度
一旦确定了一些因素,就设置了一个视觉设计原型来捕获样本部分的图像。必须通过在图像中具有适当的对比度来通过软件来检测主要特征。该过程涉及调整光学设备。图像由通常由分辨率定义的像素阵列组成。机器视觉软件使用这些像素,以及预定的算法来定义图像中的零件的某些特征。它遵循与面部识别软件相同的概念。该软件搜索图像中的某些像素排列以识别脸部特征。例如,眼睛周围的边缘会有较暗的像素,以及眼睛中心的暗像素。该软件使用算法分析特征,并识别一张脸。类似地,机器视觉软件遵循相同的概念。这些算法由视觉工程师使用机器视觉软件开发。也可能存在某些机械限制,这将需要额外的光学设备,例如镜子。还可能存在需要改变设计的机械限制。例如,由于围绕光学元件的自动化中的一些工具,工作距离可能需要在300mm和320mm之间。镜头需要更换的机会以及延长管的添加。如果图像不符合要求,请进行故障排除。更改各种参数以允许更合适的图像。照明可能需要改变,或者可能需要添加偏光片。原型设计允许视觉工程师验证视觉设计以及创建它们。常规机器视觉摄像机通常需要视觉控制器。如果使用智能相机,则不需要外部视觉控制器。视觉控制器是用于与光学设备进行通信的专用单元,例如照相机和灯。视觉控制器应具备满足检测要求的能力。这意味着它必须能够处理与用于检查的设备以及所需的其他I / O协议的通信。在这个阶段,应该清楚视力检查的要求是否可以实现。软件应该能够检测到处理检查所需的功能。为了验证软件能够检测边缘,请使用在检查期间将使用的几个工具(即边缘定位工具)来确保软件可以检测某些边缘。试图改变设计,这可能会增加解决方案的成本。在现阶段确保对视觉设计的信心。
机器视觉软件可以有各种工具来帮助分析部件中的功能。构建代码之前首先要做的是使用示例图像来规划代码的构建方式。这也将取决于将要使用的机器视觉软件。使用已设计的设置,在此阶段中抓取好的和坏的零件的几个图像。不同的软件可以有不同的工具集。某些软件可能无法跟上自动化的周期时间。如果检查需要快速循环时间,则必须在该时间内完成全面检查。所有这些都回到了检查要求,以决定使用哪种软件。
根据检查的要求,构建代码时需要考虑几个因素。一些例子包括:•每部照相机需要拍摄多张图像吗?
•需要检查的功能有哪些?
•光需要频闪多少?
•你想分析的部分是什么?
•需要使用哪些工具进行检查?(边缘工具,“blob”工具,校准等)
•校准如何进行?
•是否有与软件通信的东西?
•环境照明如何发挥作用?
•如果检查涉及到光,此光线何时触发?在整个检查过程中是否仍然存在?有频闪吗如果需要使用相机触发灯,则需要使用软件来计算。如果有一个频闪单元涉及,该单元频闪多长?
需要在软件中执行一系列工具以进行检查。工具也需要相应放置,以确保软件只检查需要检查的功能。使用这些工具需要有一定的逻辑。例如,如果软件检测到缺陷,则该部分是失败的,输出错误代码并显示结果。该信息需要发送到与自动化一起使用的任何外部控制器。如果零件是通过或失败,它将允许机器知道如何处理零件。通过这些通信,还需要I / O功能与自动化的其余部分进行通信。通过沟通,还需要一个用户界面(UI),为用户提供一个易于理解的界面。这意味着确保所有结果都容易可见,操作员可以轻松使用任何其他功能。操作员也应该易于理解错误代码。对于精确测量,需要有一个校准步骤,使软件能够从图像中测量特征。一种方法是使用校准网格。校准网格的图像将从视觉站取出,以允许校准检查。大多数机器视觉软件都将有一个工具。该工具可以选择使用校准网格,并且会询问该网格的参数。
集成阶段是所有光学设备与其他自动化系统集成在一起的地方。这就是一切都在一起的一个整体。在集成阶段要做的第一件事是确保将所有硬件配置并安装到自动化组件上。根据设计阶段的设计规格调整每个视觉站。确保所有通信在所有设备之间运行。
使用前面开发的校准步骤,校准光学等系统设备。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~