计算机视觉和人工智能:改变视觉理解
已发表: 2025-01-15计算机视觉是人工智能(AI)的基本子领域之一。本指南解释了计算机视觉、它的工作原理、应用场合以及它的优点和缺点。
目录
- 什么是计算机视觉?
- 计算机视觉的历史和演变
- 计算机视觉如何工作
- 计算机视觉的应用
- 计算机视觉的优点
- 计算机视觉的缺点
- 结论
什么是计算机视觉?
计算机视觉领域涵盖了所有使用计算机系统分析视觉数据(例如视频和照片中的数据)的人工智能技术。该领域自 20 世纪 60 年代起就正式存在,早期的计算机视觉应用使用模式匹配和其他启发式方法来改善生物医学、先进物理和其他前沿研究领域的图像。几乎所有最新的计算机视觉系统都完全依赖机器学习 (ML) 算法(更具体地说,深度学习算法)来完成工作,因为它们比旧技术更有效。
计算机视觉的历史和演变
计算机视觉的根源可以追溯到神经生理学家进行的实验,他们试图了解眼睛产生的图像是如何在大脑中处理的。在其发展的最初几十年中,计算机视觉很大程度上借鉴了人类和动物视觉研究并受到其启发。
尽管很难确定确切的起始年份,但 1959 年通常被认为是该领域的开始。那一年,图像分析的两个核心概念被确立:(1)图像分析应首先关注识别图像的子成分,(2)然后对这些成分进行分层分析。
下面的列表重点介绍了这些基本概念的发现与计算机视觉最近的爆炸性进步之间的一些主要里程碑。如今,计算机视觉系统依靠复杂的深度学习算法来实时处理、理解、编辑和创建逼真的图像。
计算机视觉发展的主要里程碑
1959:对动物大脑的研究表明,首先检测图像的简单组成部分(例如边缘和线条),然后进行分层处理。这些见解成为计算机视觉的两个基本概念,并被认为是该领域的正式开端。
20 世纪 60 年代:第一个正式的人工智能和计算机视觉工作开始。进步包括自动将部分照片转换为等效三维物体的系统。
20 世纪 70 年代:对计算机视觉研究和教育的关注产生了许多至今仍在使用的核心计算机视觉算法,包括用于模式检测、运动估计、边缘检测、线条标记和图像组件几何建模的算法。
20 世纪 80 年代:卷积神经网络 (CNN) 在这十年中得到了显着发展。 1989 年,第一个 CNN 成功应用于视觉问题,自动检测图像中的邮政编码。
20世纪90年代:智能相机日益流行,并广泛应用于工业环境中。对处理大量数字图像的工具的需求不断增长,导致商业投资激增,进一步推动了该领域的发展。计算机视觉行业诞生了,并开发了评估计算机视觉系统质量的正式方法。
2000年:20世纪90年代末和2000年代初,研究人员建立了变革盲目性的概念。他们证明,人类在观察视觉数据时经常会错过重大变化。这一发现帮助建立了另一对概念——注意力和部分处理的思想——作为计算机视觉的核心要素。
2011 年:瑞士的一个团队首次证明,应用于 GPU 的 CNN 是一种绝对高效的计算机视觉 ML 系统。这些系统是革命性的,打破了多项视觉记录,并首次超越了人类。计算机视觉系统开始过渡到基于 CNN 的实现。
2015 年:CNN 的深度学习实现首次赢得 ImageNet 竞赛,标志着现代计算机视觉时代的开始。
计算机视觉如何工作
计算机视觉工作通常涉及三个部分,我们在下面描述。较低级别的实现细节可能非常复杂,通常涉及重复的阶段,如下文第三部分所述。即使实现细节很复杂,工作通常也会遵循这些模式。
1图像采集
与其他机器学习系统一样,视觉数据处理系统取决于它们可以访问的数据的数量和质量。在设计计算机视觉系统时,需要特别注意何时以及如何获取源数据和图像,以提高处理质量。必须考虑和优化各种因素,包括:
- 传感器:使用的传感器的数量和类型。计算机视觉系统使用传感器从环境中获取数据,包括摄像机、激光雷达(光检测和测距)、雷达和红外传感器。
- 部署:传感器的布置和方向,以最大限度地减少盲点并充分利用传感器信息。
- 传感器数据:不同类型和数量的数据必须以不同的方式处理和解释。例如,MRI、X 射线和视频数据具有专门的处理、存储和解释要求。
理想情况下,计算机视觉系统应该能够访问足够的图像数据。如果数据太少,它将无法看到足够的信息来解决其旨在解决的问题。太多不相关的数据会耗尽系统资源,降低系统速度,并导致运行成本高昂。仔细优化图像采集阶段对于构建有效的计算机视觉系统至关重要。
2图像(预处理)处理
来自两个不同来源的相同视觉数据可能意味着不同的事情。有关拍摄图像的环境的详细信息(例如环境光、温度和相机运动)也可能表明应该对图像进行不同的解释。
图像预处理涉及大量工作,以使图像更易于理解和分析。例如,图像可能会被标准化,这意味着尺寸、颜色、分辨率和方向等属性会被调整为在图像之间保持一致。还可以在预处理过程中调整其他属性,以帮助视觉算法检测特定领域的特征。例如,可以增强对比度以使某些对象或特征更加明显。
可以进行定制调整以补偿传感器的差异、传感器损坏和相关维护工作。最后,可能会进行一些调整以优化处理效率和成本,并考虑如何分析图像的具体细节。
3图像处理与分析:特征提取、模式识别、分类
当前的计算机视觉系统是分层的,独立地考虑每个图像的部分。层次结构中的每一层通常专门用于执行以下三件事之一:
- 特征提取:特征提取层发现有趣的图像成分。例如,它可能会识别图像中何处可以找到直线。
- 模式识别:模式识别层着眼于各种特征如何组合成模式。例如,它可以识别图像中哪些线条组合形成多边形。
- 分类:经过足够多的特征提取和模式识别重复之后,系统可能已经足够了解给定图像来回答分类问题,例如“这张图片中有汽车吗?”分类层回答了这些问题。
下图显示了如何在使用 CNN 构建的计算机视觉系统架构中实现这一点。系统分析的输入(通常是图像或视频)位于图表的最左侧。 CNN 作为深度神经网络实现,交替使用擅长特征提取的卷积层和擅长模式识别的池化层。图像细节是从左到右处理的,两层的重复次数可能比下面显示的要多得多。
一旦完成足够深入的分析,完全连接的神经元层就会综合考虑所有数据模式和特征,并解决分类问题(例如“照片中有汽车吗?”)。
计算机视觉的应用
计算机视觉的应用无处不在。随着系统变得更强大、更容易应用,应用程序的数量呈爆炸式增长。以下是一些较为知名的应用程序。
人脸识别
计算机视觉最普遍、最先进的应用之一涉及检测和识别人脸。智能手机、安全系统和访问控制设备结合使用传感器、摄像头和训练有素的神经网络来识别图像何时包含面部,并转换任何发现的面部,以便对其进行分析。
面部识别系统定期扫描附近的面部。来自廉价且快速的传感器(例如红外光源和低分辨率但高对比度的相机)的数据通过机器学习模型传递,以识别面部的存在。
如果检测到任何潜在的面孔,可以将速度较慢、更昂贵、分辨率更高的摄像机对准他们,然后进行简短的记录。然后,视觉处理系统可以将记录转换为 3D 重建,以帮助验证面部是否存在。然后,面部分类器可以确定图像中的人是否属于允许解锁手机或进入建筑物的群体的一部分。
自动驾驶汽车
构建一个能够控制车辆、导航世界并对环境变化做出实时反应的系统是很困难的。计算机视觉系统只是实现自动驾驶汽车的一项核心技术。
这些视觉系统学习识别道路、路标、车辆、障碍物、行人以及驾驶时可能遇到的大多数其他物体。在它们发挥作用之前,他们必须分析在各种驾驶条件下获得的大量数据。
为了在实际条件下发挥作用,用于自动驾驶汽车的计算机视觉系统必须非常快(因此自动驾驶汽车有最大的时间对不断变化的条件做出反应)、准确(因为错误可能危及生命)和强大(因为问题很复杂——系统必须在所有天气和照明条件下识别物体)。自动驾驶汽车公司正在对该生态系统进行大量投资。可用数据量呈指数级增长,用于处理这些数据的技术也在迅速改进。
增强现实
智能眼镜和当前的手机摄像头依靠计算机视觉系统为用户提供增强现实体验。训练有素的系统,类似于用于自动驾驶汽车的系统,可以识别相机或智能眼镜框架中的物体以及物体在 3D 空间中相对于彼此的位置。
然后,先进的图像生成系统将这些信息插入其中,以各种方式增强相机或眼镜向用户显示的内容。例如,它们可以创造数据投影在表面上的错觉,或者显示家具等物体如何适合 3D 空间。
计算机视觉的优点
计算机视觉系统可以帮助增强人类视觉、增强安全系统并大规模分析数据。使用它们的主要好处包括:
物体识别的速度和规模
尖端的计算机视觉系统可以比人类更快、更大量地识别物体。例如,当自动化计算机视觉系统协助其主管时,装配线将运行得更快。自动驾驶汽车可以在驾驶员辅助模式下运行,帮助驾驶员了解周围环境中他们无法快速检测到的信息。他们还可以完全接管并比无人帮助的人类做出更快、更安全的决策。
准确性
训练有素的计算机视觉系统在执行训练任务时比人类更准确。例如,他们可以更准确地识别物体的缺陷或在医学图像中更早地检测到癌性生长。
大数据量处理
视觉系统可以比人类更快、更准确地识别大量图像和视频中的异常和威胁。它们处理信息的能力与可用的计算能力相关,并且可以无限扩展。
计算机视觉的缺点
高性能计算机视觉系统很难生产。一些挑战和缺点包括:
过拟合
当前的计算机视觉系统建立在深度学习算法和网络的基础上。它们依赖于在训练期间访问大量带注释的数据。目前,在其他应用程序中无法获得大量的视觉训练数据,并且生成这些数据具有挑战性且成本高昂。因此,许多计算机视觉系统在数据不足的情况下进行训练,并且会过度拟合——它们需要帮助泛化到新的和未见过的情况。
隐私难以大规模保证
计算机视觉系统可以观察大量私有或受保护的数据并从中学习。一旦他们进入现场,他们还可能观察环境中的任意数据。很难保证训练数据不包含隐私信息,更难以阻止现场系统将隐私信息纳入其训练中。
计算复杂
使用计算机视觉的系统往往应用于人工智能领域中一些最具挑战性的问题。因此,它们昂贵且复杂,并且难以正确构建和组装。
结论
机器学习和人工智能中许多最有趣和最具挑战性的问题都涉及计算机视觉系统的使用和应用。它们无处不在,包括安全系统、自动驾驶车辆、医学图像分析等。也就是说,计算机视觉系统的构建成本高昂且具有挑战性。
它们依赖于耗时的大规模数据收集,需要定制或昂贵的资源才能有效使用,并引发隐私问题。机器学习的这一关键领域正在进行广泛的研究,并且进展迅速。