计算机视觉是计算机科学的一个领域,致力于从图像、视频及其他视觉测量数据中提取有意义的信息。其方法用于识别物体、估计运动和三维结构,以及解释场景中的各种关系。计算机视觉与人工智能密切相关,将图像形成的计算模型与统计方法和基于学习的方法相结合。其输出可以是类别标签、物体位置、测量结果或重建的环境,而不一定是图像本身。(link.springer.com)
基础与研究范围
数字图像在像素网格上记录测量值,通常包含独立的颜色通道。这些测量值取决于光照、表面性质、相机位置和传感器特性。因此,要从中获取现实世界的信息,就必须考虑观测数据的形成过程。几何学描述空间关系和投影,光学则描述光与成像的相关特性。许多视觉任务都属于逆问题:不同的物理场景可能产生相似的观测结果,因此需要额外的假设或测量数据。(cs.jhu.edu)
计算机视觉与图像处理有交集,后者涵盖滤波、增强和图像变换,而计算机视觉更侧重于对图像所呈现内容的推断。它也与计算机图形学有所交集,尤其是在重建和渲染方面。这些领域之间并没有绝对的界限:图像复原可以辅助识别,几何重建则可以为图形学提供模型。(cs.jhu.edu)
主要任务
图像分类将图像归入一个或多个类别,例如识别图像中的主要物体或场景类型。目标检测还要确定各个物体的位置,通常使用边界框表示。因此,一张包含多辆车的照片可能只有一个图像级标签,却有多个独立的检测结果。(cs231n.stanford.edu)
语义分割为每个像素分配类别,从而区分道路、建筑物和植被等区域。实例分割还会将属于同一类别的不同物体区分开来。姿态估计用于定位具有特定意义的关键点,例如人体关节;跟踪则将连续视频帧中的物体关联起来。这些任务所需输出的结构和细节程度各不相同。(cs231n.stanford.edu)
几何任务包括估计深度、恢复相机运动以及重建三维场景。立体视觉利用不同视角下相互对应的观测之间的差异。光流估计图像在相邻帧之间的表观运动;这种运动既可能反映物体的移动,也可能反映相机的运动。图像配准对齐不同的观测图像,可用于全景拼接和不同时刻的图像比较等应用。(cs.jhu.edu)
方法与发展历程
传统处理流程通常结合预处理、特征提取、匹配以及针对特定任务的决策规则。特征用于描述边缘、角点、纹理或具有辨识度的局部模式。随后,几何方法可以估计变换或场景结构,分类器则利用这些描述子识别类别。这类方法将视觉表示的构建与后续推断明确分开。(cs.jhu.edu)
机器学习引入了从样本中学习决策规则的数据驱动模型。深度学习进一步拓展了这一思路,在学习最终预测的同时学习多层表示。卷积神经网络利用图像的局部结构,并在不同空间位置共享滤波器,与结构类似的全连接网络相比,减少了参数数量。(papers.nips.cc)
2012 年,AlexNet在ImageNet 大规模视觉识别挑战赛中展示了显著提升的大规模识别性能。其训练结合了深度卷积架构、图形处理器以及抑制过拟合的技术。相关的ImageNet 数据集提供了大量带标签的图像,用于学习和评估。(papers.nips.cc)
2020 年的一篇论文提出了视觉Transformer,表明图像识别也可以使用对图像块序列进行处理的Transformer架构。其结果证明,先进行大规模预训练,再迁移到下游识别任务的方式十分有效,而且无需使用卷积骨干网络。(arxiv.org)
训练与评估
在监督学习中,每个样本都将图像与适合相应任务的标注配对,包括类别标签、边界框、像素掩码或关键点。损失函数衡量预测结果与目标之间的差异。神经网络训练通过反向传播和数值优化来调整参数。不同任务对标注的要求差异很大,这会影响数据集的构建和训练成本。(cs231n.github.io)
数据增强通过裁剪、镜像翻转或颜色调整等方式,生成训练样本的变体。这些变换必须保持预期的预测目标不变。迁移学习复用在其他数据集上学到的表示,通常是调整预训练网络,而不是从头学习所有参数。在带标签的样本有限时,这两种技术都可能有所帮助。(papers.nips.cc)
验证集用于辅助模型选择,而独立的测试集则在这些选择确定后用于估计性能。分类准确率衡量正确预测所占的比例;目标检测的评估还考虑定位表现以及精确率与召回率的关系。分割任务通常衡量预测区域与参考区域之间的重叠程度。评估分数只有结合数据集、标注规则和评估方案才有意义。(cs231n.github.io)
应用与局限
计算机视觉的应用包括制造业检测、文档分析、照片拼接、视觉搜索和三维建模。在机器人学中,视觉测量帮助系统估计位置并感知周围环境。不同应用对准确性、处理速度和空间精度有不同要求。(link.springer.com)
识别性能仍然容易受到视角、光照、遮挡、杂乱背景和类内差异的影响。模型必须区分与任务相关的差异,同时容忍那些不应改变预测结果的变化。因此,在一个数据集上表现出色,并不能证明模型在所有运行条件下都具有同等性能。(cs231n.github.io)
人脸识别评估说明了针对具体应用开展测试的重要性。美国国家标准与技术研究院(NIST)2019 年的一项研究记录了众多受测算法在不同人口群体间的错误率差异,结果因算法和匹配任务而异。NIST 还指出,图像质量是影响假阴性率的重要因素。这些发现针对的是特定系统和评估条件,而非所有视觉方法普遍具有的特性。(nist.gov)