什么是机器视觉?

什么是机器视觉

近年来,人工智能渐渐成为一个热点话题。作为人工智能领域的一个分支,图像处理技术也随之发展到了一个新的高度,各种新的软件工具、算法库、开源资料不断涌现,各行各业也渐渐开始进行技术变革。比较典型的例子是,一些传统的需要人工检测的行业,开始逐步采用自动化的智能检测方式。比如,使用相机代替人眼去观察检测的对象;采用软件算法代替人的主观判断,针对图像信息进行分析推理,得到客观的结果。
这种技术目前已经在传统行业逐渐被应用起来,大量的需求应运而生。本章就针对机器视觉的算法原理以及如何应用的问题进行详细的解释和说明。

一、机器视觉是什么?

什么是机器视觉( Machine Vision )?它是一种使用计算机来模拟人类视觉,并使用软件算法对相机采集到的图像进行分析和理解,以进行自动识别和判断的过程。更具体的解释需要从"机器"和"视觉"两方面来谈。

1.机器

与"机器"相反的一个词是"人工"。人工固然有灵活、智能等优点,但是也存在着一个无法忽视的缺点﹣﹣不稳定。依赖人工检查的任务,无论如何加强质量监管,都难免出现失误和遗漏。人会疲劳和疏忽,并且某些工作场景并不合适人工作业。
这时机器的优点就体现出来了。机器视觉依靠工业相机和光学设备采集真实物体的图像,使用软件分析和测量各种特性以获得所需信息或帮助制定决策。因此,使用机器代替人工,不仅能在危险场景中作业,排除人力的不稳定因素,还能提高检测的速度和准确率。概括来说,就是作业过程能够"受控"了。
在应用方面,机器视觉也与"机器"联系紧密。当视觉软件完成图像检测后,紧接着就要和外部单元进行通信,以完成对机器设备的运动控制。实际项目中,机器视觉在许多工业和非工业领域都有应用,许多传统的用人眼进行判断的工作都有被机器视觉代替的可能。
例如,在零件缺陷检测中,利用人眼来判断,显然是效率低下的。人工完成这些任务,可能会由于个体差异和疲劳等因素产生判断误差和遗漏,而且相当耗费体力。但是使用机器视觉来进行检测则可以使效率大大提高,机器会连续无休地、持续稳定地运行下去。只要算法、光照、硬件等条件配置得当,机器检测的准确率甚至可以超过人眼。

2.视觉

机器视觉是机器的"眼睛",通俗地说,机器视觉就是用机器模拟人类视觉,但其功能又不仅仅局限于模拟视觉对图像信息的接收,还包括模拟大脑对图像信息的处理与判断。机器视觉也是人工智能的"眼睛",无人机、自动驾驶、智能机器人等的发展也都是以机器视觉为第一步的。可以预见,未来的机器视觉发展一定有非常广阔的前景。

二、机器视觉与计算机视觉的区别

锁扫切驱如兴但灾县相到与它米似的一个称﹣一计算机视觉。二者本质上是相似的,但是又各有不同。从名称上来看,计算机视觉翻译成英文是 Computer Vision ,关键词是计算机( Computer );机器视觉翻译成英文是 Machine Vision ,关键词是机器( Machine ),而这间接表达了二者的侧重领域不同。通俗地说,计算机视觉比较侧重于对图像的分析,回答"是什么"的问题;而机器视觉则更关注图像的处理结果,目的是控制接下来的行为,回答"怎么样"的问题。
计算机视觉一般使用相机设备,这里的设备可以是工业相机、高速摄像机,也可以是简易摄像头等,主要是对人眼的生物视觉进行模拟。如同人眼把看到的图像转化为脑海中的画面一样,计算机视觉的任务就是把数字图像转化成生动、有意义、有语境的场景,输出的内容是计算机模拟人类对图像的观察和理解。计算机视觉所做的就是从这个数字的集合中提取出需要的信息,如图中有什么物体,分别在什么位置,处于何种状态等,目的是实现对客观世界中场景的感知、识别和理解。简言之,计算机视觉主要强调给计算机"赋能",使其能看到并理解这个世界中的各个物体。
而机器视觉更像是一套包括了硬件和软件的设备。它由照明系统、相机、采集卡和图像处理系统等模块组成,涉及光学成像、传感器、视频传输、机械控制、相机控制、图像处理等多种技术。每一个环节都会影响到最终的检测结果。
从功能上看,机器视觉可能并不像计算机视觉那样关注对象"是什么",而是重点观测目标的特征、尺寸、形态等信息,其目的在于根据判断的结果来控制现场的设备动作。举个例子,同样是检测一个包装贴纸画面,计算机视觉可能更关注包装上的文字内容,识别目标,解释图像含义等。而机器视觉可能更关注画面形状是否与标准参考图像完全匹配,是否有缺损或错字等异常,然后将关于异常的判断结果传送给硬件设备,以做出下一步机械操作。
从本质上说,二者都属于视觉技术,共用同一套理论系统。但计算机视觉更侧重于对理论算法的研究,如深度学习在计算机视觉领域已经有了许多前沿的算法,但是这些算法在实际应用中仍有各种局限,离在实际工程中应用还有很长的路要走。因此,计算机视觉的理论研究虽然超前,但暂时没有完全用于实际工程中。而机器视觉是落地的技术,它更侧重于实际应用,强调算法的实时性、高效率和高精度。
机器视觉的优势还在于,在一些不方便使用人工或人工无法满足要求的场合,机器视觉可以很好地代替人眼,在各种恶劣环境下进行高速实时检测,同时还能够在长时间内不间断地进行工作。此外,机器视觉还广泛应用于机器人研究,是机器人的"眼睛",能指引机器人的移动和操作行为。因此,机器视觉和计算机视觉的发展方向和应用领域是各不相同的。

三、机器视觉的工作原理

如上文所述,机器视觉的工作原理就是使用光学系统和图像处理设备来模拟人类视觉功能,从采集到的目标图像中提取信息并进行处理,获得所需的检测对象信息,并加以分析和判断,将最终结果传输给硬件设备,以指引设备的下一步动作。
一个完整的机器视觉系统由多个模块组成,一般包括光学系统(光源、镜头、相机)、图像采集模块、图像处理系统、交互界面等,如图所示。
在这里插入图片描述

(1)光学系统:指成像器件,通常包括光源、工业相机与工业镜头。这部分主要完成图像采集环境的搭建。选择合适的光源和镜头,突出检测对象的特征,有利于提高后期图像处理算法的检测效率。
(2)图像采集模块:通常是用图像采集卡的形式,将相机采集到的图像传输给图像处理单元。它将来自相机的模拟信号或数字信号转换成所需的图像数据流,同时也可以控制相机的一些参数,如分辨率、曝光时间等。
(3)图像处理系统:主要通过计算机主机及视觉处理软件对图像进行多种运算,并对得到的特征进行检测、定位及测量等。
(4)交互界面:将最终的处理结果显示出来,进而根据结果信息控制现场的设备动作。从实际工作角度来说,机器视觉系统的工作流程如图所示。
在这里插入图片描述

当检测对象进入相机拍摄区域后,图像采集卡开始工作。此时准备好光照环境,相机开始扫描并输出。然后图像采集卡将图像模拟信号或数字信号转化成数据流并传输到图像处理单元,视觉软件中的图像采集部分将图像存储到计算机内存中,并对图像进行分析、识别、处理,以完成检测、定位、测量等任务。最后将处理结果进行显示,并将结果或控制信号发送给外部单元,以完成对机器设备的运动控制。

四、机器视觉的应用领域

机器视觉赋予了机器一双“眼睛”,使其拥有了类似人一样的视觉功能,因此各行各业都逐渐开始应用机器视觉进行大量信息的自动处理。在国外,“工业4.0”战略提出以后,传统制造业纷纷开始采用自动化设备代替人工,推崇以“智能智造”为主题的新式工业生产方式。而智能智造的第一个环节正是机器视觉。再看国内,目前机器视觉产品仍处于起步阶段,但发展迅速,传统制造业依赖人工进行产品质量检测的方式已不再适用。随着人工智能和制造业的快速发展,对于检测需求的精确度和准确率的要求也不断提升,各行各业对机器视觉技术的需求将越来越大,因此机器视觉在未来将会有非常广阔的应用领域。特别是在工业领域,机器视觉能更好地发挥优势,实现各种检测、测量、识别和判断功能,尤其是在以下方面应用较广。
(1)缺陷检测:产品表面的信息的正确性,有无破损划痕等检测。(2)工业测量:主要检测产品的外观尺寸,实现非接触性测量。
(3)视觉定位:判断检测对象的位置坐标,引导与控制机器的抓取等动作。(4)模式识别:识别不同的目标和对象,如字符、二维码、颜色、形状等。
机器视觉的应用正逐渐扩展到各个领域,机器代替部分人力已成为一种趋势。在其他非工业行业,机器视觉也逐渐被广泛应用,如航天、农产品、医疗、科教、汽车、包装、食品饮料等行业。
总而言之,机器视觉能提高生产自动化程度,使人工操作变成机器的智能操作。未来机器视觉将为人工智能在各个行业的普及提供一双智能的“眼睛”。

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

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

相关文章

【论文笔记】Gemma: Open Models Based on Gemini Research and Technology

Gemma 日期: March 5, 2024 平台: CSDN, 知乎 状态: Writing Gemma: Open Models Based on Gemini Research and Technology 谷歌最近放出的Gemma模型【模型名字来源于拉丁文gemma,意为宝石】采用的是与先前Gemini相同的架构。这次谷歌开源了两个规模的模型&…

【2024】vue-router和pinia的配置使用

目录 vue-routerpiniavue-routerpinia进阶用法---动态路由 有同学在项目初始化后没有下载vue-router和pinia,下面开始: vue-router npm install vue-router然后在src目录下创建文件夹router,以及下面的index.ts文件: 写进下面的…

短剧小程序:掌中剧院,随时上演

在繁忙的生活节奏中,我们总渴望找到一片属于自己的休闲空间。短剧小程序,就是这样一处随时随地都能让你沉浸其中的掌上剧院。无论你在何处,无论何时,只要轻轻一点,精彩纷呈的短剧即刻上演。 一、掌中剧院,…

学习Java的第二天

如何使用文本文档在cmd里打印出HelloWorld 1、创建一个文本文档,并命名为HelloWorld,将后缀改为java(需要自己去把后缀打开显示出来) 2、打开编辑 也可以双击打开 3、在里面写出以下代码 上面红框里为你要打印的语句,…

MySql、Navicat 软件安装 + Navicat简单操作(建数据库,表)

一、MySql、Navicat 软件安装 及正常使用 MySql下载+安装: 检查安装情况: 配置环境变量: 搞定了!!! 可以登陆试哈哈哈 连接navicat 开始创建数据库 二、 商品种类表 - commoditytype int …

【C++】102.二叉树的层序遍历

题目描述 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]]示例 2&#xff1…

自学Java的第二十一天(在学校版)

一,每日收获 类与对象 1.看一个养猫猫问题 2.使用现有技术解决 Object01.java 3.类与对象的关系示意图 4.快速入门 5.类和对象的区别和联系 6.对象在内存中存在形式 7.属性/成员变量/字段 8.如何创建对象 9.如何访问属性 二,新名词与小技巧 三…

【Linux】Linux网络故障排查与解决指南

🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 检查网络连接状态: 检查路由表: 检查DNS配置: 检查网络连接状态: 检查防火墙设…

Igraph入门指南 2

3、图的基本要素——边(Edge|Arc) 图的最本质的内容是一种二元关系,如果给这种二元关系赋予一个方向,就产生了有向图和无向图的分类,在教材中,无向的边叫Edge,有向的边叫Arc,另外,根据两个顶点…

KOA优化高斯回归预测(matlab代码)

KOA-高斯回归预测matlab代码 开普勒优化算法(Kepler Optimization Algorithm,KOA)是一种元启发式算法,灵感来源于开普勒的行星运动规律。该算法模拟行星在不同时间的位置和速度,每个行星代表一个候选解,在…

指针数组初始化,不常见啊

今天无意间看到这样一段代码,因为还是第一次看到,这是glibc库里的代码,写出来分享一下: #ifndef ERR_MAP # define ERR_MAP(n) n #endif const char *const _sys_errlist_internal[] { #define _S(n, str) [ERR_MAP(n)] …

WebGIS开发0基础必看教程:矢量查询

1.前言 在第七章里我们知道了WebGIS中要素的本质是UIComponent,而矢量图层的本质是包含了n(n>0)个UIComponent的Canvas。我们在UIComponent的graphics中,根据矢量数据画出矢量的形状(shape),并且将矢量数据的属性(…

WordPress建站入门教程:小皮面板phpstudy如何安装PHP和切换php版本?

小皮面板phpstudy支持的PHP版本有很多,包括5.2.17、5.3.29、5.4.45、5.5.9、5.6.9、7.0.9、7.1.9、7.2.9、7.3.4、7.3.9、7.4.3、8.0.2、8.2.9。那么我们如何安装其他的php版本和切换网站的php版本呢?只需要简单几步即可,具体如下&#xff1a…

第十一篇 - 应用于市场营销视频场景中的人工智能和机器学习技术 – Video --- 我为什么要翻译介绍美国人工智能科技巨头IAB公司?

IAB平台,使命和功能 IAB成立于1996年,总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司,互动广告局(IAB- the Interactive Advertising Bureau)自1996年成立以来,先后为700多家媒体…

【工作向】protobuf编译生成pb.cc和pb.py文件

序言 首先通过protoc --version查看protoc版本,避免pb文件生成方和使用方版本不一致 1. 生成pb.cc 生成命令 protoc -I${proto_file_dir} --cpp_out${pb_file_dir} *.proto参数: -I表示 proto 文件的路径; --cpp_out 表示输出路径&#xff…

被问爆了!多微信朋友圈一键转发大揭秘!

对于很多企业和个人而言,朋友圈是一个非常重要的营销渠道。不仅可以吸引潜在客户的关注,还能提高产品和服务的曝光率。 今天,就给大家分享一个能够多个微信号一键转发朋友圈的工具——微信管理系统,帮助大家提高工作效率&#xf…

网工内推 | 华为成都研究所,24届应届生人才储备计划

华为成都研究所 招聘岗位 网络工程师(2024应届) 岗位要求 24届的学员 本科公办院校 英语4/6级 有HCIP优先 工作地点 成都 私信小编,回复【内推】,获取内推名额申请资格~ 想获取更多『 思科 | 华为 | 红帽 认证真题 』、『 网…

jdk安装,配置path系统变量

直接点击安装 不要包含空格,中文字符 3.找到刚刚的路径,看一下,有东西就说明安装对了 配置path winr输入sysdm.cpl点击确定 全部依次点击 确定 即可。 验证jdk是否安装成功 看java、javac是否可用看java、javac版本号是否无问题 win…

FlyClient SPV client轻量化

这篇文章主要是为了构建一种轻客户端的算法。 如果使用SPV 的方式验证交易,每个client上面需要存储非常多的header。使用 proofs of proof-of-work 的方式,使得请客户端仅仅下载少量的区块头就能验证这一条链的安全性,然后再对包含交易的区块…

华为机试 字符串最后一个单词的长度

本题中,我们是要从键盘输入一个字符串,然后返回这个字符串最后一个单词的长度。所以我们需要scancer类。我们需要注意的是,hasnext()和hasnextline()这两个函数的区别。 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 pack…