跳转到内容
← 返回核心概念
人工智能计算机科学 · 人工智能20 分钟阅读

计算机视觉

Computer Vision

1966 年夏天,MIT 人工智能实验室的 Seymour Papert 发起了"夏季视觉项目(The Summer Vision Project)"。在 7 月 7 日的备忘录里,他计划用一个暑假、组织一批暑期学生,搭建一个能把物体从背景中分离出来、并加以识别的视觉系统。 后世常把它演绎成"一个暑假、一名本科生就能解…

计算机视觉图像识别目标检测深度学习

1966 年夏天,MIT 人工智能实验室的 Seymour Papert 发起了"夏季视觉项目(The Summer Vision Project)"。在 7 月 7 日的备忘录里,他计划用一个暑假、组织一批暑期学生,搭建一个能把物体从背景中分离出来、并加以识别的视觉系统。

后世常把它演绎成"一个暑假、一名本科生就能解决视觉",这其实是夸张的简化;但它准确地反映了当时的乐观——研究者以为视觉是个简单的起点,毕竟"看东西"对人来说是一瞬间、毫不费力的事。

半个多世纪后,我们才真正明白这个问题有多难,以及当机器最终"看见"时,靠的是一套与人类直觉相当不同的思路。

破除误解:人眼看到的和计算机处理的是完全不同的东西

对计算机来说,一张图像是一个由数字组成的三维数组:H×W×CH \times W \times C(高 × 宽 × 通道数,RGB 图像为 3 通道)。每个数字是 0-255 的整数,代表某个像素在某个颜色通道的强度。

"看懂"这张图意味着从这些数字中推断出高层语义——"这是一只猫"——这需要跨越巨大的语义鸿沟(Semantic Gap)。两个相邻像素值从 100 变到 101,可能完全看不出变化;但从 100 变到 200,可能也完全看不出变化(光照变化);而把所有像素翻转(镜像),图像内容没有任何改变——这些对人类直觉来说显而易见的事实,对计算机来说都需要显式学习。

核心任务分类

任务描述粒度
图像分类(Classification)"图中有什么?"全图一个标签
目标检测(Object Detection)"图中有什么,在哪里?"边界框(Bounding Box)
语义分割(Semantic Segmentation)"每个像素属于哪个类别?"像素级标签
实例分割(Instance Segmentation)"每个对象实例的精确轮廓?"对象级精确掩码
姿态估计(Pose Estimation)"人体关键点的位置?"骨骼关键点
深度估计(Depth Estimation)"每个像素距摄像头多远?"像素级深度图
光流(Optical Flow)"帧间像素如何移动?"像素级运动向量
图像生成"生成符合描述的图像"输出图像

前深度学习时代:手工特征

2012 年之前,计算机视觉依赖手工设计的特征提取器:

SIFT(Scale-Invariant Feature Transform,1999 年,Lowe):提取对旋转、缩放、光照变化鲁棒的局部特征。用于图像拼接(全景摄影)、三维重建、图像检索。尽管深度学习兴起,SIFT 在需要鲁棒性而数据不足的领域仍有使用。

HOG(Histogram of Oriented Gradients,2005 年,Dalal & Triggs):统计局部区域的梯度方向分布,对行人检测极为有效,是 2012 年前行人检测的主流特征。

Haar 特征 + AdaBoost(Viola-Jones,2001):第一个实时人脸检测系统,用级联分类器在普通 CPU 上实现秒级检测,被集成到几乎所有数码相机中。

词袋模型(Bag of Visual Words):类比 NLP 中的词袋模型,用视觉词典将图像表示为视觉词的频率直方图。配合 SVM 分类,2010 年前后的 ImageNet 竞赛主流方法。

从视觉皮层到卷积网络:一条跨学科的血脉

今天统治视觉领域的卷积神经网络,源头其实在神经科学。

1959 年起,David Hubel 与 Torsten Wiesel 用微电极记录猫的初级视觉皮层,发现其中的神经元对特定朝向的边缘最敏感。他们在 1962 年的经典论文里区分了两类细胞:简单细胞(simple cell)只对某个朝向、某个位置的线条放电;复杂细胞(complex cell)对同样的朝向放电,但容许位置有所偏移。两人因此获得 1981 年诺贝尔生理学或医学奖。

这套"先检测局部朝向、再逐层容许位移"的层级结构,被日本学者福岛邦彦(Kunihiko Fukushima)在 1980 年抽象成"神经认知机(Neocognitron)":用 S 细胞做特征检测、C 细胞做空间池化,交替堆叠。

1989 年,Yann LeCun 在贝尔实验室把反向传播算法用到这种结构上,训练网络识别美国邮政的手写邮编;1998 年的 LeNet-5 进一步确立了"局部感受野 + 权重共享 + 下采样"的卷积网络范式。卷积层的"权重共享"正对应生物视觉的核心直觉——同一个边缘检测器应该在图像每个位置都管用。

AlexNet 后的深度学习革命

2012 年 AlexNet 的成功(见 deep-learning-architectures)后,计算机视觉迅速被深度学习统治。

ImageNet 挑战赛(ILSVRC)错误率演化: - 2010 年:~28%(手工特征 + SVM) - 2011 年:~26%(手工特征) - 2012 年:15.3%(AlexNet,CNN) - 2014 年:6.7%(GoogLeNet) - 2015 年:3.57%(ResNet-152)——超越人类 5.1% 的错误率 - 2017 年竞赛结束,人类水平已被全面超越

补一个常被忽略的细节:第一个越过人类 5.1% 错误率(这个人类基线由 Russakovsky 等人测得,标注者之一是 Andrej Karpathy)的,并不是同年底夺冠的 ResNet,而是 2015 年 2 月何恺明等人提出 PReLU 时报告的 4.94%。

破除误解:"超越人类"不等于"像人一样看"

"在 ImageNet 上超越人类"是一句很容易被误读的话。它的真实含义很窄:在 1000 个固定类别、判定"前五个猜测里有没有正确答案"(top-5)的这一项任务上,模型的错误率低于人类标注者。它并不意味着机器获得了人类那种稳健、可迁移的视觉理解。

最有力的反证是对抗样本(adversarial example)。2013 年 Szegedy 等人在《Intriguing properties of neural networks》中首次系统地指出:给一张被正确分类的图像叠加一层人眼几乎察觉不到的微小扰动,就能让网络以高置信度给出完全错误的答案。

2015 年 Goodfellow 等人用一个著名例子把这件事讲透了:一张被识别为"熊猫"(置信度 57.7%)的图片,加上一层精心计算、肉眼看不出区别的噪声后,同一个网络以 99.3% 的置信度判定它是"长臂猿"。他们提出的快速梯度符号法(FGSM)只需沿损失梯度的符号方向给每个像素加一点点扰动即可。

这说明深度网络往往依赖人类不会注意的统计纹理和高频特征来做判断,而非真正"看懂"物体。由此引出一个持续至今的权衡:鲁棒性与准确率常常此消彼长——为抵抗对抗扰动而做的鲁棒训练,往往要牺牲一部分干净样本上的准确率。这也是个安全问题:研究者已证明,在停车标志上贴几张特制贴纸,就可能让自动驾驶的识别系统把它读成限速牌。

目标检测:定位与识别

两阶段方法(Two-Stage):先生成候选区域,再分类和精修。

  • R-CNN(2013):用选择性搜索提取 2000 个候选区域,每个送入 CNN 提取特征,SVM 分类。准确但极慢(每张图约 49 秒)。
  • Fast R-CNN(2015):整张图一次 CNN 前向传播,候选区域通过 RoI Pooling 提取特征。快 20 倍。
  • Faster R-CNN(2015):引入区域提议网络(RPN),候选区域生成也由 CNN 完成,接近实时。

单阶段方法(One-Stage):直接在特征图上预测所有位置的边界框和类别。

  • YOLO(You Only Look Once,2016):实时检测(45 FPS),把检测视为回归问题。后续版本(YOLOv5 到 YOLOv9)持续改进,是工业部署的主流。
  • SSD(Single Shot MultiBox Detector,2016):在多个尺度的特征图上检测不同大小的目标。
  • DETR(Detection Transformer,Facebook,2020):用 Transformer 做目标检测,去除了 NMS(非极大值抑制)等手工设计的后处理步骤。

这些方法好不好,怎么量? 检测的标准答案是边界框,因此先用交并比(IoU,Intersection over Union)衡量预测框与真实框的重叠程度:两框交集面积除以并集面积,1 表示完全重合。再据此算平均精度均值(mAP,mean Average Precision)——综合各类别在不同置信度阈值下的查准率与查全率。自 2014 年微软发布 COCO 数据集后,业界主流指标变成更严苛的 mAP@0.5:0.95:在 IoU 阈值从 0.5 到 0.95(步长 0.05)的十档上分别评估再求平均。论文里光报一个准确率数字往往不够,必须说清在哪个数据集、用哪种 IoU 口径。

图像分割

语义分割

  • FCN(全卷积网络,2015):第一个端到端训练的语义分割网络,用转置卷积(Deconvolution)恢复分辨率。
  • U-Net(2015):编码器-解码器结构加跳跃连接,特别适合医学图像分割(小数据集)。
  • DeepLab 系列(Google):引入空洞卷积(Atrous Convolution)扩大感受野而不降低分辨率。

实例分割

  • Mask R-CNN(2017,FAIR):在 Faster R-CNN 基础上添加一个并行的掩码预测分支,高质量的实例分割标杆,获得 ICCV 2017 最佳论文。

生成与视觉合成

图像生成经历了三次范式: 1. GAN(2014 起):StyleGAN、BigGAN 生成逼真人脸、场景;也是 Deepfake 技术的基础。 2. VAE 系列:更稳定但质量稍逊。 3. 扩散模型(2020 起):DALL-E 2、Stable Diffusion、Midjourney——当前图像生成的主流,质量碾压 GAN。

扩散模型原理:训练时逐步向真实图像添加高斯噪声,直到变成纯噪声;推断时学习逆过程,从随机噪声逐步去噪生成图像。通过文本条件控制(文本编码器指引扩散过程),实现"文字生成图像"。

视觉 Transformer(ViT)

2020 年,Google 提出 Vision Transformer(ViT):将图像分割为固定大小的补丁(Patch),展平为序列,用 Transformer 编码器处理。

ViT 在大规模数据预训练后,性能超越 CNN,且可扩展性更好(遵循与 LLM 相似的 Scaling Law)。目前 ViT 系列(DeiT、Swin Transformer、MAE)与 CNN 共存,在不同场景各有优势。

基础模型:从"一任务一模型"到"一模型多任务"

2020 年前,计算机视觉的常态是"一个任务训练一个模型"——分类、检测、分割各自标注、各自训练。2021 年后,视觉基础模型开始打破这种格局:用海量数据预训练一个通用模型,再靠语言或提示(prompt)零样本迁移到新任务。

CLIP(OpenAI,2021):在从互联网收集的 4 亿对"图像-文字"上做对比学习,把图像和文字映射到同一个向量空间。它最颠覆的能力是零样本分类——不用为新类别再训练,只要把类别名写成文字(如"一张猫的照片"),看哪段文字的向量与图像最接近即可。这把图像识别从"封闭的固定类别表"变成了"开放词表"。

SAM(Segment Anything Model,Meta,2023):把"可提示"思路用到分割上。给一张图配一个提示(点一下、画个框,或一段文字),它就实时输出对应物体的高质量掩码,无需针对新数据再训练。它的训练集 SA-1B 包含 1100 万张图像上的约 11 亿个掩码,绝大多数由模型在数据采集循环中自动生成。

这条路线与大语言模型的逻辑高度一致:规模化预训练 + 提示驱动的通用性,正是 natural-language-processing 的语言范式向视觉的迁移。

应用全景

领域应用现状
自动驾驶实时目标检测、语义分割、深度估计大规模测试,有限商业部署
医疗影像癌症筛查、病理分析FDA 批准多个 AI 辅助诊断产品
工业质检产品缺陷检测广泛工业部署
人脸识别解锁、支付、安防广泛部署,引发重大隐私争议
AR/VR实时场景理解快速发展
内容审核违规图像自动检测全球各大平台部署

代价与争议

人脸识别与隐私:准确率的提升使人脸识别大规模部署成为现实,但也带来前所未有的监控风险。2018 年 Joy Buolamwini 与 Timnit Gebru 的《Gender Shades》研究测试了 IBM、微软、Face++ 的商用性别分类系统,发现它们对深肤色女性的错误率高达 34.7%,而对浅肤色男性最高仅 0.8%——同一个"客观"系统在不同人群上的表现相差几十倍。美国多个城市(旧金山、波士顿)已立法禁止政府使用人脸识别。

Deepfake 的威胁:基于深度学习的图像和视频伪造(Deepfake)技术使视觉内容的真实性不再可靠。政治操纵、色情恶意内容、诈骗是主要威胁。检测 Deepfake 本身也成为一个重要的计算机视觉子领域。

数据集偏见:训练数据的偏见会在模型中被放大。ImageNet 中不同国家/地区物体的分布不均,导致模型对非西方文化物品的识别能力更差。

跨域连接

  • 人工智能可解释性:对抗样本证明网络用的判据不是人类用的判据——肉眼看不出的扰动就能翻转高置信度的结论。这把"它准不准"和"它凭什么"分成两个问题,后者正是可解释性研究要回答的:它究竟看了哪里。推论是:提高干净样本上的准确率,不自动提高被扰动时的稳健性,两者常此消彼长。
  • 格式塔心理学:人类视觉先分组再识别,靠闭合、连续与共同命运把场景切成物体,因此对遮挡和低对比度极其稳健。卷积网络没有这层显式分组,判断更依赖纹理统计,于是整幅图叠一层高频噪声就可能被整体改判。
  • 筛查与早期发现:在低患病率人群中,即便敏感度与特异度都很高,阳性预测值仍可能很低。这条贝叶斯算术直接适用于视觉系统:报告"准确率极高"却不交代基率与阈值口径,在筛查式部署里几乎不含信息。推论是:同一个模型换个部署人群,阳性预测值就会整体漂移。
  • 种族与族群:总体准确率按人数加权,因此可以在某个小群体上任意糟糕而不被察觉。按肤色与性别交叉分层报告之所以关键,正是要让被平均掩盖的差异显形——测什么,决定了哪些错误会被发现。这也说明基准数据集的构成本身,是一项需要被审计的工程决策。
  • 多语言人工智能:把类别名写成一句话,识别就从封闭类别表变成开放词表。代价是判定边界随语言表述漂移:同一个物体换个措辞、换种语言,可能落进另一个类别,模型的"类别"因此不再是稳定对象。推论是:零样本能力的评测必须连提示词一起报告,否则根本不可复现。

参考文献

  • Szeliski, R. Computer Vision: Algorithms and Applications. 2nd ed. Springer, 2022. (免费在线版)
  • Hubel, D. H. & Wiesel, T. N. Receptive Fields, Binocular Interaction and Functional Architecture in the Cat's Visual Cortex. The Journal of Physiology, 160(1): 106–154, 1962. (简单/复杂细胞)
  • Fukushima, K. Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position. Biological Cybernetics, 36(4): 193–202, 1980. (CNN 的前身)
  • Krizhevsky, A., Sutskever, I. & Hinton, G. ImageNet Classification with Deep Convolutional Neural Networks. NeurIPS, 2012. (AlexNet)
  • He, K., Zhang, X., Ren, S. & Sun, J. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification. ICCV, 2015. (PReLU,首次越过人类基线)
  • Szegedy, C. et al. Intriguing Properties of Neural Networks. ICLR, 2014. (首次系统提出对抗样本)
  • Goodfellow, I., Shlens, J. & Szegedy, C. Explaining and Harnessing Adversarial Examples. ICLR, 2015. (FGSM、熊猫→长臂猿)
  • Eykholt, K. et al. Robust Physical-World Attacks on Deep Learning Visual Classification. CVPR, 2018. (停车标志贴纸攻击)
  • Lin, T.-Y. et al. Microsoft COCO: Common Objects in Context. ECCV, 2014. (检测/分割基准与 mAP 口径)
  • He, K. et al. Mask R-CNN. ICCV, 2017. (实例分割标杆)
  • Dosovitskiy, A. et al. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR, 2021. (ViT)
  • Radford, A. et al. Learning Transferable Visual Models From Natural Language Supervision. ICML, 2021. (CLIP)
  • Kirillov, A. et al. Segment Anything. ICCV, 2023. (SAM 与 SA-1B 数据集)
  • Buolamwini, J. & Gebru, T. Gender Shades: Intersectional Accuracy Disparities in Commercial Gender Classification. Proceedings of Machine Learning Research (FAccT), 81: 77–91, 2018.
  • Goodfellow, I. et al. Generative Adversarial Nets. NeurIPS, 2014. (GAN 原论文)