计算机视觉研究如何从图像中获得关于世界的信息。它的困难始终来自一个不对称关系:相机把三维场景记录成二维图像,机器却需要从这些不完整的记录中推断物体、空间、运动与事件。物体换个角度会变样,阴影会产生额外边界,遮挡又会让真正的边界消失。
六十多年来,研究者对这道问题给出了不同答案。有的从成像几何出发恢复场景,有的设计便于识别的图像特征,有的让模型从大量样本中学习,还有的把观察放进主动行动中。它们的兴衰与当时能处理的数据、可用算力和怎样检验结果密切相关。
图 1 计算机视觉方法史的代表性节点。年代表示研究出现或取得重要进展的时期,不表示前一种研究在此结束;几何、识别与学习路线长期交错。
1960 年代:把图像变成场景描述
1963 年,Lawrence Roberts 在 MIT 完成了《Machine Perception of Three-Dimensional Solids》博士论文。论文题目已经明确了一项早期目标:让计算机从图像获得三维实体的信息。1966 年,Seymour Papert 的夏季视觉项目又把工作安排为图地分离、区域描述和物体识别。从中可以看到,当时的研究希望连接图像中的线条、区域与场景中的对象。(Papert, 1966; Roberts, 1963)
这种研究路径有很自然的理由。若能找到物体的边缘,再理解边缘如何连接,就有希望推断表面和形状。但真实图像很快带来困难。图像里的一条线可能来自物体轮廓,也可能只是阴影或表面花纹;同一个对象的可见部分又会随观察位置变化。把像素变成可靠的物体描述,需要处理这些歧义。
早期的人工智能场景分析与模式识别也没有完全相同的目标。恢复物体在空间中的结构,与根据样本区分字符或类别,要求的中间结果不同。后来的视觉研究会反复在这两类需求之间展开。
1970—1980 年代:视觉需要怎样的理论
David Marr 试图把视觉组织成一套可计算、可检验的研究方案。他在 1977 年的《Representing Visual Information》中提出,从描述亮度变化与局部结构的初始简图,走向描述可见表面深度与朝向的 2.5 维简图,再到以对象为中心的三维表示。这里的“2.5 维”指观察者当前可见的表面信息,尚未包含物体背面等完整三维结构。(Marr, 1977)
这套方案的雄心在于解释,图像信息怎样逐步变成对世界的描述。它要求研究者说明每种表示包含什么,以及立体视觉、运动、明暗等线索怎样支持相应计算。1982 年出版的《Vision》汇集了这一研究纲领。理解它的历史作用,需要同时看到它关于视觉表示的具体设想,以及它提出的分析方法。(Marr, 2010)
Marr 区分计算目标、表示与算法、物理实现三个分析层次。目标层问系统要计算什么、为什么;算法层问采用什么表示和步骤;实现层问计算如何由物理系统完成。三个层次用于分析同一个视觉系统。例如,估计表面朝向是目标,利用明暗或双目对应是算法选择,神经回路或处理器则涉及实现。(Torralba et al., 2024)
图 2 Marr 的分析层次。它们与“初始简图、2.5 维简图、三维表示”是两组不同的概念;后者是一套具体的视觉表示方案。
与此同时,研究者也把一些视觉难题转化为带明确假设的数学问题。Horn 与 Schunck 在 1980 年的光流报告中指出,仅凭一个位置上的图像变化,不足以确定二维运动的两个分量。他们加入运动场大体平滑的约束,以求得解。这说明早期视觉方法已经在研究一个重要问题:图像本身提供多少证据,还需要哪些假设。(Horn & Schunck, 1980)
1980 年代后期:观察者也可以改变问题
如果只接收给定照片,许多视觉问题存在歧义。主动视觉提出另一种研究方式,让观察者控制图像采集过程,利用传感器位置或方向的变化取得更有用的信息。Aloimonos、Weiss 与 Bandyopadhyay 于 1988 年发表的《Active Vision》明确研究了这种控制如何改变视觉计算的条件。(Aloimonos et al., 1988)
这一转向把视觉与行动联系起来。系统可以为了确定深度而选择观察方式,也可以为了当前任务只获取必要信息。视觉研究由此拥有了不同的出发点:既可以研究如何从给定图像恢复场景,也可以研究怎样观察才更容易完成任务。
因此,关于完整场景表示、任务相关信息和主动观察的分歧,早在大规模深度学习之前就已存在。后来研究趋于多元,不能归结为某一年一套统一理论突然失败。
1990—2000 年代:识别成为可训练、可测量的问题
面对背景复杂、外观变化很大的照片,研究者逐渐发展出大量针对具体任务的识别系统。常见做法是先把图像转换为特征,再让统计分类器从样本中学习判别规则。这里已经存在机器学习,只是特征提取与分类往往分开设计。
2001 年的 Viola–Jones 人脸检测是一个清楚的例子。它用积分图快速计算简单图像特征,用 AdaBoost 选择特征并训练分类器,再通过级联尽早排除大量背景窗口。该工作的价值同时涉及识别与计算效率,目标是在图像中快速找出人脸。(Viola & Jones, 2001)
局部特征也在这一时期成熟。SIFT 的 2004 年论文系统描述了尺度与旋转不变的关键点特征,服务于不同视图之间的匹配和对象识别。2005 年的 HOG 则通过局部梯度方向统计与归一化,配合线性支持向量机研究行人检测。这些方法把对外观变化的处理落实在描述子里,再由后续学习或几何步骤完成任务。(Dalal & Triggs, 2005; Lowe, 2004)
“先设计特征,再学习判别”的分工,让算法可以在可控的表示上训练和比较。它的限制也由此产生:当类别、背景和形变更复杂时,研究者需要不断寻找更合适的特征组合。详细机制见 经典特征与几何。
一条并行路线:神经网络在 2012 年以前已经发展
1980 年的 Neocognitron 已采用层级神经结构,研究如何在输入位置发生变化时识别图案。它受到视觉神经系统研究的启发,采用无教师的自组织学习,并非后来反向传播训练的现代 CNN。(Fukushima, 1980)
到 1998 年,LeCun 等人的文档识别论文系统展示了 LeNet-5,以及利用梯度学习训练识别系统的方法。局部连接、权重共享和下采样帮助模型从像素学习特征,研究对象包括手写数字与支票识别。(LeCun et al., 1998)
这些工作与手工特征、统计分类路线在时间上重叠。后来的深度视觉继承了它们关于可学习层级表示的探索,同时面对规模更大、变化更多的自然图像。把神经网络的起点放在 2012 年,会切断这段实际延续的历史。
2005—2010 年代初:数据集和评测改变研究条件
算法要取得共同认可,需要在大家都能检查的任务上比较。PASCAL VOC 从 2005 年开始组织视觉对象类别挑战,提供图像、标注和共同评价程序,使分类与检测方法能够在相同规则下接受检验。(Everingham et al., 2010)
2009 年的 ImageNet 论文则把互联网图像、WordNet 类别层级和人工核验结合起来,建设大规模图像数据库。(Deng et al., 2009) 它与后来以其部分数据组织的 ILSVRC 挑战需要区分:数据库提供图像和类别资源,挑战进一步规定训练、测试和竞赛任务。(Russakovsky et al., 2014)
这类基础设施使研究发生了实质变化。团队可以在共同数据上训练,在未用于训练的图像上检验结果,追踪改进是否具有可重复性。标签与指标也规定了当时“进步”的含义。整图分类成绩衡量类别预测;检测还要求定位;分割进一步要求像素级结果。研究领域因此既获得了比较标准,也形成了各自专门发展的任务。
2012 年之后:从学习分类器到学习整个表示
AlexNet 在 2012 年把深层卷积网络、大规模图像训练和高效 GPU 实现结合起来,取得了显著的图像分类结果。它承接了早期卷积网络的思路,但在自然图像识别的规模上展示了端到端学习表示的力量。(Krizhevsky et al., 2012)
这个变化影响了研究者怎样改进系统。此前常要分别改描述子和分类器;联合训练让输出误差可以影响前面的特征提取层。表示的数值越来越多地由数据决定,架构与训练目标仍由研究者设计。
随后,研究重点扩展到更深的网络和更复杂的输出。2015 年公开、2016 年正式发表的 ResNet 通过残差学习改善深层网络的优化;2015 年的全卷积网络 FCN 则把分类网络学到的表示迁移到逐像素语义分割。这些进展使可学习表示从整图类别判断进入更多视觉任务。(He et al., 2016; Long et al., 2015)
2020 年前后:规模化预训练出现多条路线
随着预训练规模增长,研究者重新考察图像模型应当采用怎样的结构。2020 年公开、2021 年正式发表的 Vision Transformer 把图像组织为小块序列,通过自注意力计算块之间的关系,并在大规模预训练后迁移到识别任务。它使 Transformer 成为视觉骨干网络的重要选择,具体的数据与结构问题见 视觉 Transformer。(Dosovitskiy et al., 2021)
训练资料的利用方式也在变化。2020 年的 SimCLR 从同一图像的不同增强视图学习表示;2021 年公开的 MAE 遮住部分图像,让模型学习重建缺失内容。这两种工作都利用图像自身构造学习信号,使预训练不必为每张图像提供人工类别标签。(Chen et al., 2020; He et al., 2021)
2021 年的 CLIP 探索从互联网图文配对中学习视觉概念,并用自然语言描述将表示迁移到新类别。读者可以用文字指定待识别概念,模型的使用范围因而从预先固定的类别表向更开放的语义接口扩展。其历史位置属于大规模图文监督与迁移学习的发展,相关机制见 图文对齐学习。(Radford et al., 2021)
这一时期的共同变化,是先从大量资料中学习可复用表示,再将其适配到不同任务。研究中的“通用性”越来越需要通过跨任务、跨数据的迁移结果来衡量。它仍然受训练资料、任务形式和评价范围约束。
三维、生成与交互继续发展
三维视觉没有在识别研究兴盛之后结束。2020 年的 NeRF 从已知相机位姿的多张图像优化连续场景表示,再借助体渲染合成新视角。它把神经表示与成像几何结合起来,延续的是从图像理解、表示和重现空间的研究问题。(Mildenhall et al., 2020)
图像生成又带来了另一类目标。2021 年公开、2022 年正式发表的潜空间扩散模型,在压缩后的图像表示上进行生成建模,并接收文本等条件。这里评价的是生成的图像及其条件一致性,与判断给定照片中有什么属于不同任务。(Rombach et al., 2022)
2023 年的 SAM 把分割组织为可由提示指定目标的任务;同年的 LLaVA 将视觉编码器接入语言模型,通过视觉指令数据训练交互能力。大规模预训练表示由此进入可复用、可组合的系统,使用者可以通过提示或自然语言指定所需的视觉结果。(Kirillov et al., 2023; Liu et al., 2023)
今天继续研究视觉,仍需要理解对象在哪里、表面如何形成图像、训练资料遗漏了什么,以及系统在新条件下是否可靠。历史中的几何、表示、学习与行动问题,在不同模型和系统中重新结合。近期进展另见 近期模型与开放问题。
继续阅读与资料范围
本文选取场景分析、视觉理论、识别学习与预训练的代表性转折,不覆盖视觉科学、图像处理或所有应用方向的完整历史。早期年份依据机构档案;机制依据原始论文或正式摘要。Marr 的表示方案依据 1977 年报告,三个分析层次参照《Foundations of Computer Vision》对原著的讲解,未将《Vision》标为全书精读。
按问题进一步阅读,可进入 特征与匹配、卷积网络、自监督学习 或 视觉模型与语言系统的连接。
arXiv 阅读入口:ResNet(Trackback)、FCN(Trackback)、ViT(Trackback)、SimCLR(Trackback)、MAE(Trackback)、NeRF(Trackback)、潜空间扩散(Trackback)、SAM(Trackback)、LLaVA(Trackback)。正式发表信息见下方书目。