计算机视觉是什么?关于计算机视觉的科普介绍

创闻用户
创闻用户 2022-07-27 15:03:55

计算机视觉是一个跨学科的科学领域,研究如何让计算机从数字图像或视频中获得高水平的理解。从工程学的角度来看,它寻求人类视觉系统能够完成的自动化任务。

计算机视觉任务包括获取、处理、分析和理解数字图像的方法,以及从现实世界中提取高维数据以便例如以决策的形式产生数字或符号信息的方法。 在这种背景下,理解意味着将视觉图像(视网膜的输入)转化为对世界的描述,这种描述可以与其他思维过程相结合并引发适当的行动。这种图像理解可以被看作是利用借助几何、物理、统计和学习理论构建的模型从图像数据中分离符号信息。

作为一门科学学科,计算机视觉涉及从图像中提取信息的人工系统背后的理论。图像数据可以采取多种形式,例如视频序列、来自多个摄像机的视图或者来自医学扫描仪的多维数据。作为一门技术学科,计算机视觉寻求将其理论和模型应用于计算机视觉系统的构建。

计算机视觉的子领域包括场景重建、事件检测、视频跟踪、对象识别、3D姿态估计、学习、索引、运动估计和图像恢复。

定义

计算机视觉是一个跨学科的领域,研究如何让计算机从数字图像或视频中获得高水平的理解。从工程学的角度来看,它寻求人类视觉系统能够完成的自动化任务。 “计算机视觉涉及从单个图像或图像序列中自动提取、分析和理解有用信息。它涉及理论和算法基础的发展,以实现自动视觉理解。”作为一门科学学科,计算机视觉与从图像中提取信息的人工系统背后的理论有关。图像数据可以采取多种形式,例如视频序列、来自多个摄像机的视图或者来自医学扫描仪的多维数据。作为一门技术学科,计算机视觉寻求将其理论和模型应用于计算机视觉系统的构建。

历史

20世纪60年代末,计算机视觉开始出现在开创人工智能的大学。它旨在模仿人类视觉系统,作为赋予机器人智能行为的垫脚石。 1966年,人们认为这可以通过一个夏季项目来实现,方法是将一台照相机连接到计算机上,并让它“描述它所看到的”。

将计算机视觉与当时流行的数字图像处理领域区别开来,是希望从图像中提取3D结构,其目标是实现对整个场景的理解。20世纪70年代的研究为当今存在的许多计算机视觉算法奠定了早期基础,包括从图像中提取边缘、标记线条、非多面体和多面体建模、将物体表示为较小结构的互连、光流和运动估计。

接下来的十年见证了基于更严格的数学分析和计算机视觉定量方面的研究。这些包括尺度空间的概念,从阴影、纹理和焦点等各种线索推断形状,以及被称为蛇的轮廓模型。研究人员还意识到,许多这些数学概念可以在与正则化和马尔可夫随机场相同的优化框架内处理。到20世纪90年代,以前的一些研究课题变得比其他的更加活跃。投影三维重建的研究使人们对摄像机标定有了更好的理解。随着摄像机标定优化方法的出现,人们认识到,在摄影测量领域,束平差理论已经探索了许多思路。这导致了用于来自多个图像的场景的稀疏3-D重建的方法。密集立体对应问题和进一步的多视图立体技术取得了进展。同时,利用图形切割的变化来解决图像分割问题。这十年也标志着统计学习技术首次在实践中被用于识别图像中的人脸。20世纪90年代末,随着计算机图形学和计算机视觉领域之间交互的增加,出现了一个重大的变化。这包括基于图像的渲染、图像变形、视图插值、全景图像拼接和早期光场渲染。

最近的工作见证了基于特征的方法的复兴,这些方法与机器学习技术和复杂的优化框架结合使用。

相关领域

人工智能

人工智能领域涉及机器人系统在环境中导航的自主规划或审议。需要对这些环境有一个详细的了解来浏览它们。关于环境的信息可以由计算机视觉系统提供,该系统充当视觉传感器并提供关于环境和机器人的高级信息。

人工智能和计算机视觉共享其他主题,如模式识别和学习技术。因此,计算机视觉有时被视为人工智能领域或一般计算机科学领域的一部分。

信息工程学

计算机视觉通常被认为是信息工程的一部分。

固态物理学

固态物理是另一个与计算机视觉密切相关的领域。大多数计算机视觉系统依靠图像传感器来检测电磁辐射,电磁辐射通常以可见光或红外光的形式存在。传感器是用量子物理设计的。光与表面相互作用的过程用物理学来解释。物理学解释了光学的行为,光学是大多数成像系统的核心部分。复杂的图像传感器甚至需要量子力学来提供对图像形成过程的完整理解。此外,物理中的各种测量问题可以用计算机视觉来解决,例如流体中的运动。

神经生物学

第三个发挥重要作用的领域是神经生物学,特别是生物视觉系统的研究。在上个世纪,人们对眼睛、神经元和大脑结构进行了广泛的研究,致力于处理人类和各种动物的视觉刺激。这导致了对“真实”视觉系统如何操作以解决某些视觉相关任务的粗略但复杂的描述。这些结果导致了计算机视觉中的一个子领域,其中人工系统被设计成在不同的复杂程度上模拟生物系统的处理和行为。此外,在计算机视觉中开发的一些基于学习的方法(例如,基于神经网络和深度学习的图像和特征分析和分类) 具有其生物学背景。

计算机视觉研究的某些方面与生物视觉研究密切相关——事实上,正如人工智能研究的许多方面与人类意识研究以及使用存储的知识来解释、整合和利用视觉信息密切相关一样。生物视觉领域研究和模拟人类和其他动物视觉背后的生理过程。另一方面,计算机视觉研究和描述了人工视觉系统背后的软件和硬件实现的过程。生物学和计算机视觉之间的跨学科交流已被证明在这两个领域都卓有成效。

信号处理

与计算机视觉相关的另一个领域是信号处理。许多处理单变量信号(通常是时间信号)的方法可以以自然的方式扩展到计算机视觉中处理双变量信号或多变量信号。然而,由于图像的特殊性质,在计算机视觉中开发了许多方法,但在处理单变量信号方面没有对应的方法。结合信号的多维度,将信号处理中的子场定义为计算机视觉的一部分。

其他领域

除了上述关于计算机视觉的观点之外,许多相关的研究课题也可以从纯数学的角度来研究。例如,计算机视觉中的许多方法都是基于统计学、最优化或几何学的。最后,该领域的很大一部分致力于计算机视觉的实现方面;如何在软件和硬件的各种组合中实现现有方法,或者如何修改这些方法以获得处理速度而不损失太多性能。计算机视觉也用于时尚电子商务、库存管理、专利搜索、家具和美容行业。

区别

与计算机视觉最密切相关的领域是图像处理、图像分析和机器视觉。这些覆盖的技术和应用范围有很大的重叠。这意味着在这些领域中使用和开发的基本技术是相似的,这可以解释为只有一个不同名称的领域。另一方面,研究团体、科学期刊、会议和公司似乎有必要将自己展示或推销为属于这些领域中的一个,因此,已经展示了将每个领域与其他领域区分开来的各种特征。

计算机图形学从3D模型中产生图像数据,计算机视觉经常从图像数据中产生3D模型。还有一种趋势是将这两个学科结合起来,例如在增强现实中探索的那样。

以下特征似乎相关,但不应被视为普遍接受:

  • 图像处理和图像分析倾向于关注2D图像,如何将一幅图像转换成另一幅图像,例如通过像素操作(如对比度增强)、局部操作,(如边缘提取或噪声去除),或者几何转换,(如旋转图像)。这种表征意味着图像处理/分析既不需要假设,也不产生关于图像内容的解释。
  • 计算机视觉包括来自2D图像的3D分析。这分析投影到一个或几个图像上的3D场景,例如,如何从一个或几个图像重建关于3D场景的结构或其他信息。计算机视觉通常依赖于对图像中描绘的场景或多或少复杂的假设。
  • 机器视觉是在工业应用中应用一系列技术和方法来提供基于图像的自动检查、过程控制和机器人导航的过程。机器视觉往往侧重于应用,主要是在制造领域,例如,基于视觉的机器人和基于视觉的检查、测量或拣选系统(如拣箱系统)。这意味着图像传感器技术和控制理论通常与图像数据的处理相结合来控制机器人,并且通过硬件和软件中的有效实现来强调实时处理。这也意味着例如照明之类的外部条件可以并且经常比一般的计算机视觉更好地在机器视觉中控制,这使得能够使用不同的算法。
  • 还有一个被称为成像的领域,它主要关注图像的产生过程,但有时也涉及图像的处理和分析。例如,医学成像包括医学应用中图像数据分析的大量工作。
  • 最后,模式识别是一个普遍使用各种方法从信号中提取信息的领域,主要基于统计方法和人工神经网络。该领域的很大一部分致力于将这些方法应用于图像数据。

摄影测量也与计算机视觉重叠,例如立体摄影测量与计算机立体视觉。

应用程序

应用范围从工业机器视觉系统(比如检测生产线上飞驰而过的瓶子)到研究人工智能和能够理解周围世界的计算机或机器人。计算机视觉和机器视觉领域有很大的重叠。计算机视觉涵盖了应用于许多领域的自动图像分析的核心技术。机器视觉通常指将自动图像分析与其他方法和技术相结合的过程,以在工业应用中提供自动检查和机器人引导。在许多计算机视觉应用中,计算机被预先编程以解决特定的任务,但是基于学习的方法现在变得越来越普遍。计算机视觉应用的例子包括以下系统:

 

 

  • 自动检查,例如在制造应用中;
  • 协助人类完成识别任务,例如物种识别系统;
  • 控制过程,例如工业机器人;
  • 检测事件,例如用于视觉监视或人员计数;
  • 交互,例如,作为计算机-人交互设备的输入;
  • 建模对象或环境,例如医学图像分析或地形建模;
  • 导航,例如通过自主车辆或移动机器人;
  • 组织信息,例如,用于索引图像和图像序列的数据库。

 

 

最突出的应用领域之一是医学计算机视觉或医学图像处理,其特征在于从图像数据中提取信息来诊断患者。这方面的一个例子是肿瘤、动脉硬化或其他恶性变化的检测;器官尺寸、血流等的测量是另一个例子。它还通过提供新的信息来支持医学研究:例如,关于大脑结构,或者关于医疗质量。计算机视觉在医学领域的应用还包括增强人类解释的图像——例如超声波图像或x光图像——以减少噪声的影响。

计算机视觉的第二个应用领域是工业,有时也称为机器视觉,在工业中提取信息是为了支持制造过程。一个例子是质量控制,其中细节或最终产品被自动检查以发现缺陷。另一个例子是测量机器人手臂要拾取的细节的位置和方向。机器视觉也广泛应用于农业过程中,从散装材料中去除不需要的食物,这一过程称为光学分选。

军事应用可能是计算机视觉最大的领域之一。显而易见的例子是敌兵或车辆的探测和导弹制导。更先进的导弹制导系统将导弹发送到一个区域,而不是一个特定的目标,当导弹到达该区域时,根据本地获取的图像数据进行目标选择。现代军事概念,如“战场感知”,意味着包括图像传感器在内的各种传感器提供了一组丰富的战斗场景信息,可用于支持战略决策。在这种情况下,数据的自动处理用于降低复杂性,并融合来自多个传感器的信息,以提高可靠性。

 

 

较新的应用领域之一是自主飞行器,包括潜水器、陆基飞行器(带轮子、汽车或卡车的小型机器人)、飞行器和无人驾驶飞行器(UAV)。自主程度从完全自主(无人)车辆到基于计算机视觉的系统在各种情况下支持驾驶员或飞行员的车辆不等。全自动车辆通常使用计算机视觉进行导航,例如知道它在哪里,或者制作环境地图和探测障碍物。它还可以用于检测特定任务特定事件,例如无人机寻找森林火灾。支持系统的例子有汽车中的障碍物警告系统和飞机自主着陆系统。几家汽车制造商已经展示了汽车自动驾驶系统,但是这项技术还没有达到可以投放市场的水平。有很多军用自主飞行器的例子,从先进的导弹到用于侦察任务或导弹制导的无人机。太空探索已经在使用计算机视觉的自主飞行器进行,例如美国宇航局的火星探索漫游者和欧空局的外火星漫游者。

其他应用领域包括:

  • 持电影和广播的视觉效果创建,例如摄像机跟踪(匹配移动)。
  • 监控。
  • 生物科学中的生物跟踪和计数

典型任务

上述每个应用领域都采用一系列计算机视觉任务;或多或少定义明确的测量问题或处理问题,可以使用多种方法来解决。典型计算机视觉任务的一些例子如下。

计算机视觉任务包括获取、处理、分析和理解数字图像的方法,以及从现实世界中提取高维数据以产生数字或符号信息的方法,例如以决策的形式。 在这种背景下,理解意味着将视觉图像(视网膜的输入)转化为对世界的描述,这种描述可以与其他思维过程相结合并引发适当的行动。这种图像理解可以被看作是利用借助几何、物理、统计和学习理论构建的模型从图像数据中分离符号信息。

识别

计算机视觉、图像处理和机器视觉中的经典问题是确定图像数据是否包含某些特定的对象、特征或活动。文献中描述了不同种类的识别问题:

  • 象识别(也称为对象分类)-可以识别一个或几个预先指定或学习的对象或对象类,通常连同它们在图像中的2D位置或场景中的3D姿态。Google Goggles和LikeThat提供了说明此功能的独立程序。
  • 标识–识别对象的单个实例。示例包括特定人的面部或指纹的识别、手写数字的识别或特定车辆的识别。
  • 检测–扫描图像数据以确定特定条件。例子包括在医学图像中检测可能的异常细胞或组织,或者在自动道路收费系统中检测车辆。基于相对简单和快速计算的检测有时用于寻找感兴趣图像数据的较小区域,这些区域可以通过计算要求更高的技术进一步分析,以产生正确的解释。

目前,这类任务的最佳算法是基于卷积神经网络的。ImageNet大规模视觉识别挑战展示了它们的能力;这是对象分类和检测的基准,有数百万张图像和数百个对象类别。在ImageNet测试中,卷积神经网络的性能现在接近人类。最好的算法仍然与小而薄的物体斗争,比如花茎上的小蚂蚁或者手里拿着羽毛笔的人。他们也有被过滤器扭曲的图像的问题(这在现代数码相机中越来越普遍)。相比之下,这种图像很少困扰人类。然而,人类在其他问题上往往有困难。例如,他们不擅长将对象分类为细粒度的类,例如特定品种的狗或鸟,而卷积神经网络很容易处理。

存在几项基于识别的专门任务,例如:

  • 基于内容的图像检索——在一组较大的图像中找到所有具有特定内容的图像。可以用不同的方式来指定内容,例如根据与目标图像的相似性(给我所有与图像X相似的图像),或者根据作为文本输入给出的高级搜索标准(给我所有包含许多房屋的图像,这些图像是在冬天拍摄的,并且其中没有汽车)。

 

 

  • 姿势估计–估计特定对象相对于相机的位置或方向。这种技术的一个示例应用是在装配线情况下帮助机械臂从传送带上取回物体或者从箱子中拾取零件。
  • 光学字符识别(OCR)-识别打印或手写文本图像中的字符,通常是为了以更易于编辑或索引(如ASCII)的格式对文本进行编码。
  • 2D码读取–读取2D码,如数据矩阵和二维码。
  • 面部识别
  • 人体计数器系统中的形状识别技术(SRT),用于区分人(头部和肩部模式)和物体

动作分析

几个任务涉及运动估计,其中处理图像序列以估计图像中或3D场景中的每个点的速度,或者甚至产生图像的照相机的速度。这类任务的例子有:

  • 自我运动——根据摄像机产生的图像序列确定摄像机的3D刚性运动(旋转和平移)。
  • 跟踪–跟踪图像序列中(通常)一组较小的兴趣点或对象(例如,车辆、人类或其他生物)的运动。
  • 光流——为图像中的每个点确定该点相对于图像平面的运动方式,即其表观运动。该运动是相应的3D点如何在场景中移动以及相机如何相对于场景移动的结果。

场景重建

给定场景或视频的一个或(通常)多个图像,场景重建旨在计算场景的3D模型。在最简单的情况下,模型可以是一组3D点。更复杂的方法产生一个完整的3D表面模型。不需要运动或扫描的3D成像以及相关处理算法的出现使得该领域能够快速发展。基于网格的3D传感可用于从多个角度获取3D图像。现在可以使用算法将多个3D图像拼接成点云和3D模型。

图像恢复

图像恢复的目的是从图像中去除噪声(传感器噪声、运动模糊等)。消除噪声的最简单方法是各种类型的滤波器,如低通滤波器或中值滤波器。更复杂的方法是假设一个局部图像结构的模型,将它们与噪声区分开。通过首先根据局部图像结构(例如线或边)分析图像数据,然后基于来自分析步骤的局部信息控制滤波,与更简单的方法相比,通常获得更好的噪声去除水平。

这个领域的一个例子是修复。

系统方法

计算机视觉系统的组织高度依赖于应用。一些系统是解决特定测量或检测问题的独立应用程序,而另一些系统构成更大设计的子系统,例如,该子系统还包含用于控制机械执行器、规划、信息数据库、人机界面等的子系统。计算机视觉系统的具体实现还取决于它的功能是否是预先指定的,或者它的某些部分是否可以在操作过程中学习或修改。许多功能对于应用程序来说是唯一的。然而,在许多计算机视觉系统中都有典型的功能。

  • 图像采集——数字图像是由一个或几个图像传感器产生的,除了各种类型的光敏摄像机,还包括距离传感器、断层摄影设备、雷达、超声波摄像机等。根据传感器的类型,得到的图像数据是普通的2D图像、3D体积或图像序列。像素值通常对应于一个或几个光谱带(灰度图像或彩色图像)中的光强度,但是也可以与各种物理测量相关,例如声波或电磁波的深度、吸收或反射,或者核磁共振。
  • 预处理——在将计算机视觉方法应用于图像数据以提取某些特定信息之前,通常需要对数据进行处理,以确保其满足该方法隐含的某些假设。例子有:
    • 重新采样以确保图像坐标系正确。
    • 降噪以确保传感器噪声不会引入错误信息。
    • 增强对比度,以确保相关信息能够被检测到。
    • 缩放空间表示以在局部适当比例下增强图像结构。
  • 特征提取——从图像数据中提取不同复杂程度的图像特征。 这种特征的典型例子有:
    • 线条、边缘和脊。
    • 局部兴趣点,如角、斑点或点。
更复杂的特征可能与纹理、形状或运动有关。
  • 检测/分割–在处理过程中的某个时刻,决定图像的哪些图像点或区域与进一步处理相关。 例子有:
    • 选择一组特定的兴趣点。
    • 包含特定感兴趣对象的一个或多个图像区域的分割。
    • 将图像分割成嵌套场景结构,包括前景、对象组、单个对象或显著对象部分(也称为空间分类场景层次结构),而视觉显著性通常被实现为空间和时间注意。
    • 将一个或多个视频分割或共同分割成一系列每帧前景遮罩,同时保持其时间语义连续性。
  • 高级处理——在这一步骤中,输入通常是一小组数据,例如一组点或一个图像区域,假设它包含一个特定的对象。其余的处理涉及,例如:
    • 验证数据是否满足基于模型和特定应用的假设。
    • 特定于应用程序的参数评估,如对象姿态或对象大小。
    • 图像识别–将检测到的对象分为不同的类别。
    • 图像配准–比较和组合同一对象的两个不同视图。
  • 决策制定应用程序所需的最终决策, 例如:
    • 自动检查应用的通过/失败。
    • 识别应用中的匹配/不匹配。
    • 医学、军事、安全和识别应用中的进一步人类审查标志。

图像理解系统

图像理解系统(IUS)包括如下三个抽象层次:低层次包括图像图元,如边缘、纹理元素或区域;中间层包括边界、表面和体积;高层次包括对象、场景或事件。这些要求中的许多都是需要进一步研究的课题。

IUS设计中对这些层次的表征要求是:原型概念的表征、概念组织、空间知识、时间知识、标度以及通过比较和区分的描述。

推理指的是从当前已知的事实中导出新的、未明确表示的事实的过程,而控制指的是选择在处理的特定阶段应该应用多种推理、搜索和匹配技术中的哪一种的过程。IUS的推理和控制要求是:搜索和假设激活、匹配和假设检验、期望的产生和使用、注意力的改变和集中、信念的确定性和强度、推理和目标满意度。

硬件

计算机视觉系统有很多种;然而,它们都包含这些基本元素:电源、至少一个图像采集设备(照相机、ccd等)。)、处理器以及控制和通信电缆或某种无线互连机制。此外,一个实用的视觉系统包含软件,以及一个显示器以便监控系统。与大多数工业空间一样,内部空间的视觉系统包含照明系统,并可置于受控环境中。此外,完整的系统包括许多附件,如摄像机支架、电缆和连接器。

大多数计算机视觉系统使用可见光相机以每秒最多60帧(通常慢得多)的帧速率被动地观看场景。

一些计算机视觉系统使用具有主动照明的图像采集硬件或除可见光以外的其他东西或两者兼有,例如结构光3D扫描仪、热像照相机、高光谱成像仪、雷达成像、激光雷达扫描仪、磁共振图像、侧扫声纳、合成孔径声纳等。这种硬件捕捉“图像”,然后通常使用与处理可见光图像相同的计算机视觉算法进行处理。

虽然传统的广播和消费视频系统以每秒30帧的速度运行,但是数字信号处理和消费图形硬件的进步使得实时系统能够以每秒数百至数千帧的速度进行高速图像采集、处理和显示。对于机器人应用来说,快速、实时的视频系统至关重要,通常可以简化某些算法所需的处理。当与高速投影仪结合时,快速图像采集允许实现3D测量和特征跟踪。

以自我为中心的视觉系统由一台可穿戴式的照相机组成,它可以从第一人称的角度自动拍照。

截至2016年,视觉处理单元正在成为一种新型处理器,以补充该角色中的CPU和图形处理单元(GPU)。

列表

  • 计算机视觉主题列表
  • 新兴技术列表
  • 人工智能概述

本文转载于:搜狗科学,baike.sogou.com/kexue/d11066.htm,本内容使用CC-BY-SA 3.0授权,用户转载请注明出处