第四部 · 感知、语言与生成 · 第 16 章 · 已验收

计算机视觉:从像素到有条件的判断

从成像、像素与颜色出发,走过预处理、局部特征、卷积、分类、检测、分割、姿态、跟踪与OCR,并用可复算小图像说明卷积和IoU。

导读:相机给的是测量,不是世界本身

计算机视觉(computer vision,CV)研究怎样让计算系统从图像、视频或其他成像数据中提取对任务有用的信息。它出现并不是因为机器缺一双拟人的“眼睛”,而是工业检验、文档录入、医学影像、遥感和机器人都面对远超人工逐帧处理规模的视觉数据。

先划清五层:场景中的光经镜头、传感器与曝光成为图像信号;采样量化后成为像素数组;算法从中计算边缘、纹理或学习到的特征;任务头给出标签、框、掩膜或关键点等识别结果;多个结果连同空间、时间和背景知识,才可能支撑有限的场景理解。以上都不是“现实真相”:被遮住的物体、拍摄者意图、事件因果和未入镜信息不会自动藏在像素里。分类器输出“救护车”标签,至多表示在给定类别、数据与阈值下证据最像救护车;它没有因此看懂事故,也没有核实现场发生了什么。[1]

16.1 从光到数组:像素既具体又有限

传感器把一定空间、波长和时间范围内的光转换成电信号。数字图像可写成X∈RH×W×CX\in\mathbb{R}^{H\times W\times C}:HH是行数(高度),WW是列数(宽度),CC是通道数。本文坐标原点在左上角,rr向下、cc向右;X[r,c,q]X[r,c,q]表示第rr行、第cc列、第qq通道,索引从0开始。8位RGB常把每通道编码为0至255,但数值与物理亮度不必线性,颜色也受照明、白平衡、传感器响应与显示设备影响。一个像素不是“小方块物体”,而是有限采样和重建约定下的数值。

预处理须与训练时约定一致:缩放会改变几何尺度,裁剪可能移走目标,去噪会抹掉细边,直方图或颜色归一化可能改善某一域却破坏另一域。数据增强(翻转、颜色扰动、遮挡等)是在训练时模拟某些变化,不是证明模型对所有现实变化都稳健。

16.2 边缘、局部特征与“手工时代”

相邻像素的差分可突出亮度快速变化处;Canny的经典工作把检测、定位与单一响应等目标系统化。[2] 但边缘既可能来自物体边界,也可能来自阴影、花纹或噪声。SIFT等局部描述子寻找关键点附近对尺度、旋转等变化较稳定的模式,再配合匹配、几何验证与分类器。[3] HOG(方向梯度直方图)概括小区域的边缘方向,Haar特征比较相邻矩形亮暗,形态学用规定形状处理区域,模板匹配则寻找与样板相似的位置;它们都曾构成成熟流水线。

“手工特征”不是人工逐张标注边缘,而是工程师预先规定计算规则;它可解释、可在少数据和受控环境中高效运行,却难以穷举视角、材质和背景的组合。深度学习没有令这些方法失效:相机标定、几何、光流和工程先验仍常与学习系统组合。

16.3 卷积:同一把小尺在图上滑动

多数深度学习库名为“卷积”的操作实际采用互相关,即不翻转核;本文也采用此约定。设单通道输入X∈RH×WX\in\mathbb{R}^{H\times W},核K∈RKh×KwK\in\mathbb{R}^{K_h\times K_w};H,W,Kh,Kw,Sh,SwH,W,K_h,K_w,S_h,S_w均为正整数,纵横步幅为Sh,SwS_h,S_w,Ph,PwP_h,P_w为非负整数并表示上下、左右各补多少圈零。只有当核窗口完全落入补零后的输入时才产生输出;若分子不能整除,余下边缘位置舍去:

Hout=⌊H+2Ph−KhSh⌋+1,Wout=⌊W+2Pw−KwSw⌋+1.(16-1)H_{out}=\left\lfloor\frac{H+2P_h-K_h}{S_h}\right\rfloor+1,\quad W_{out}=\left\lfloor\frac{W+2P_w-K_w}{S_w}\right\rfloor+1.\tag{16-1}

当H+2Ph<KhH+2P_h<K_h或W+2Pw<KwW+2P_w<K_w时,本章不定义该输出而不是硬凑负尺寸。对有效的i,ji,j,零偏置的输出为

Y[i,j]=∑u=0Kh−1∑v=0Kw−1X[iSh+u−Ph, jSw+v−Pw]K[u,v],(16-2)Y[i,j]=\sum_{u=0}^{K_h-1}\sum_{v=0}^{K_w-1}X[iS_h+u-P_h,\,jS_w+v-P_w]K[u,v],\tag{16-2}

越出原图的XX按0取值。多通道时再对q=0,…,Cin−1q=0,\ldots,C_{in}-1求和;一个输出通道对应Kh×Kw×CinK_h\times K_w\times C_{in}个核权重和一个偏置。维度不能“凭颜色直觉”省略。

可复算的4×4例子

取H=W=4H=W=4、Kh=Kw=2K_h=K_w=2、Sh=Sw=1S_h=S_w=1、Ph=Pw=0P_h=P_w=0:

X=[1201312201312210],K=[10−11].(16-3)X=\begin{bmatrix}1&2&0&1\\3&1&2&2\\0&1&3&1\\2&2&1&0\end{bmatrix},\qquad K=\begin{bmatrix}1&0\\-1&1\end{bmatrix}.\tag{16-3}

式(16-1)给出Hout=Wout=⌊(4−2)/1⌋+1=3H_{out}=W_{out}=\lfloor(4-2)/1\rfloor+1=3。左上窗口为1×1+2×0+3×(−1)+1×1=−11\times1+2\times0+3\times(-1)+1\times1=-1;逐窗计算得到

Y=[−130430002].(16-4)Y=\begin{bmatrix}-1&3&0\\4&3&0\\0&0&2\end{bmatrix}.\tag{16-4}

这只是一个固定核的一张特征图。卷积神经网络(convolutional neural network,CNN)训练许多核,使浅层常响应局部方向、纹理,后续层组合更大感受野(一个输出所能利用的输入范围)中的模式;池化或带步幅操作压缩空间,非线性变换让多层不退化成一次线性变换。某个单元的输出常称激活;高层激活仍是统计表示,不天然等于人类概念。

左侧为4乘4灰度数值矩阵,中间为2乘2卷积核和滑动窗口,右侧为3乘3输出矩阵;示例突出左上窗口计算为负1,并标明步幅1、补零0及互相关约定。

窄屏可横向滚动查看全图。

图16-1 从像素数组到卷积特征图。 全部数值来自可下载的原创JSON,生成与复核见Python源码;采用互相关、stride 1、padding 0。原创图、数据与脚本,本项目,CC BY 4.0。

16.4 从特征到任务:输出形式决定问题

  • 图像分类为整幅图在预定类别中评分;多标签分类可同时给多个类别,但通常不说明它们在哪里。
  • 目标检测输出类别、置信分数与边界框;框含背景,且同一物体可能产生多个候选,需匹配或去重。
  • 图像分割在像素级赋类。语义分割为像素赋类别标签,但不区分同类的不同实例;实例分割还区分两辆不同汽车;全景分割统一“可数物体”和道路、天空等背景区域。[4][5]
  • 姿态估计可预测人体关节等关键点关系,也可估计物体或相机相对坐标系的旋转、平移。二维关节点不是人体内部状态,遮挡点常是推断而非直接测量。
  • 目标跟踪跨帧维持对象身份。检测可逐帧独立,跟踪则要处理消失、再出现、交叉和镜头切换;ID一致不等于确认现实身份。
  • OCR通常串起文字区域检测、行/字识别、版面与语言后处理。流畅字符串可能错在金额、药名或表格单元格,识字也不等于理解文档。

这些任务可共享骨干网络,却不能用一个分数互相代替。分类准确率高不证明框准;框准不证明边界准;像素标签准不证明行为预测或因果判断正确。

16.5 检测怎样算“重合”:IoU从坐标开始

本文边界框B=[x1,y1,x2,y2)B=[x_1,y_1,x_2,y_2)采用左闭右开的连续坐标:xx向右、yy向下,要求x2>x1,y2>y1x_2>x_1,y_2>y_1;面积(x2−x1)(y2−y1)(x_2-x_1)(y_2-y_1),不额外“加1”。预测框P=[1,1,4,4)P=[1,1,4,4),真值框G=[2,0,5,3)G=[2,0,5,3)。交集宽、高分别为

wI=max⁡{0,min⁡(4,5)−max⁡(1,2)}=2,hI=max⁡{0,min⁡(4,3)−max⁡(1,0)}=2.(16-5)w_I=\max\{0,\min(4,5)-\max(1,2)\}=2,\quad h_I=\max\{0,\min(4,3)-\max(1,0)\}=2.\tag{16-5}

令A∩BA\cap B与A∪BA\cup B分别表示平面点集交、并,交并比(intersection over union,IoU)为

IoU⁡(P,G)=∣P∩G∣∣P∪G∣=49+9−4=27≈0.2857.(16-6)\operatorname{IoU}(P,G)=\frac{|P\cap G|}{|P\cup G|}=\frac{4}{9+9-4}=\frac{2}{7}\approx0.2857.\tag{16-6}

它在[0,1][0,1]内;并集非空由合法框保证。若评测预先规定类别相同、IoU阈值τ=0.50\tau=0.50,则按置信度从高到低处理预测,置信度并列时按预测固定索引从小到大处理。若不存在同类别且尚未匹配的真值,该预测直接记为假阳性;否则选择其中IoU最大的真值,最大值达到阈值时记真阳性,未达到时记假阳性;IoU并列时按真值固定索引从小到大处理。每个真值最多匹配一次。此框未达阈值,记一个假阳性,且未匹配真值形成一个假阴性。阈值不是自然定律;换成0.25,结论会改变。对一组预测,TP,FP,FNTP,FP,FN依上述一对一匹配定义,

precision⁡=TPTP+FP,recall⁡=TPTP+FN.(16-7)\operatorname{precision}=\frac{TP}{TP+FP},\qquad \operatorname{recall}=\frac{TP}{TP+FN}.\tag{16-7}

若分母为0,本文不擅自记为1,而报告“不定义”并说明评测协议。完整基准往往跨置信阈值、类别与多个IoU阈值汇总曲线或平均精度;不能拿单个例子冒充模型性能。

同一简化车辆场景依次展示整图分类标签、包围物体的预测框与真值框、逐区域分割掩膜;下方用左闭右开坐标画出两个面积均为9、交集面积4、并集面积14的框,交并比为2除以7。

窄屏可横向滚动查看全图。

图16-2 同一场景的分类、检测与分割输出,以及可复算IoU。 分类只给整图标签,检测给框,分割给像素区域;小框例采用 P=[1,1,4,4)、G=[2,0,5,3)。数据与脚本同图16-1。原创图,本项目,CC BY 4.0。

16.6 三代方法不是简单替换

早期流水线由成像校正、工程特征、几何模型和浅层分类器组成。2012年的AlexNet在ImageNet大规模分类上展示GPU训练深CNN的效果,但其结果属于规定数据集和类别下的基准,不是通用视觉理解。[6][7] CNN用局部连接和权重共享加入强归纳偏置——也就是模型在看数据前便带有“邻近像素关系重要、相同模式可在不同位置出现”的结构假设,因而适合从局部逐层组合。

Vision Transformer(ViT)把图像切成固定大小的图块(patch),把每块映射成一个向量表示(token),加入记录次序的位置表示,再用自注意力让各图块按内容交换信息;原论文强调其在大规模预训练再迁移时的表现。[8] 它不是“把像素变成真正的词”,也没有让CNN在所有数据量、延迟和硬件条件下过时。

视觉基础模型则在更广数据和任务上预训练,再通过提示(给任务线索)、微调(继续更新部分或全部参数)或小型适配模块复用。CLIP用图文对比学习连接图像和自然语言监督;SAM围绕可提示分割以及“模型辅助标注、标注再训练模型”的数据引擎建立系统。[9][10] “基础”描述复用范围和训练范式,不保证无偏、无许可争议或任意领域可直接部署。

边界同样重要:视觉语言模型把图像表示与文本生成连接起来,属于多模态系统;扩散模型等从条件生成或编辑图像,属于生成视觉。它们可调用检测、编码器或分割部件,但“描述已有图像”“判断区域”“生成可能图像”是不同任务。生成的清晰画面不是现场证据,视觉模型生成的详细描述也可能补入图中不存在的关系。

16.7 标注、基准与部署:三个问题,三份证据

训练标签并非自然浮在图上。ImageNet/ILSVRC的类别、框与验证流程包含大规模人工标注和质量控制;基准成绩只回答特定抽样、标签体系与评分规则下的问题。[7] 标注员也会对模糊边界、遮挡和类别定义产生分歧,应用中应记录标注指南、复核机制和不确定区域。

数据集切分可估计同分布泛化,却不能自动覆盖另一医院、相机、国家、季节或罕见故障。真实部署还涉及传感器健康、吞吐、延迟、告警负担、人机分工、失败恢复与持续监测。应分层报告:(1)离线数据集指标;(2)盲法人工复核或前瞻研究;(3)上线后按场景和群体监测的结果。前一层不能替后一层背书。

三个现实入口

医学影像:IDx-DR的监管研究。 2018年4月11日,FDA允许IDx-DR在初级保健场景上市,用指定眼底相机拍摄成年糖尿病患者视网膜,再给出“检出超过轻度糖尿病视网膜病变”或“结果不足”的决定。FDA公开材料报告:900名受试者、10个初级保健点的临床研究中,设备敏感度87.4%(有病者被检出的比例)、特异度89.5%(无目标病者被正确排除的比例);操作人员无需眼科影像经验,但测试不包括若干既往眼病或治疗人群。[11] 这是特定设备、相机、人群、终点和场景的监管证据,不是“AI会诊断所有眼病”,也不是患者结局已改善。FDA的AI-enabled device list还明确说清单并不完整。[12] 因而“论文在影像集上得高AUC(跨阈值区分能力的汇总)”“特定用途器械获授权”“医院上线后改善结局”是三种命题。

无障碍。 Apple支持文档说明VoiceOver Recognition可在应用或网页缺少无障碍信息时提供图像描述,并可识别图片文字。[13] 这证明产品功能存在,不证明每张图正确。自动描述应允许用户知道它来自识别、重听或跳过;网页作者仍应提供经人工确认的alt,而不把责任推给模型。

道路场景。 自动驾驶感知可使用相机、激光雷达、雷达等单一或多种传感器;多传感器系统还要校准不同设备的时间和空间位置。感知输出再进入预测、规划、控制与安全冗余。封闭数据集上的检测平均精度(AP)不等于整车碰撞率,更不等于任何道路都能无人驾驶。部署论断必须写清运营设计域(系统获准运行的道路、天气、速度等条件)、里程、对照、事故口径与责任归因;本章不以厂商汇总数字替代系统级安全结论。

16.8 视觉系统会怎样失手

  • 遮挡、光照与视角: 夜间眩光、逆光、雨雪、镜面、极端俯视或目标只露一角都会改变像素证据;多视角和时序只能减少而不能消灭不可见性。
  • 域漂移与长尾: 新相机、压缩、医院协议、工厂材料和地区景观会移动分布;平均分可掩盖稀有类别和关键边界的失败。
  • 置信与校准: 0.9分通常是模型分数;只有在明确总体、分箱与校准验证下,才可解释成“约九成正确”。拒答、转人工和阈值应按漏报/误报代价设置。
  • 对抗与偶然扰动: 研究表明精心构造的小扰动可使神经网络误判。[14] 现实威胁取决于攻击者能力、传感链和物理条件;普通压缩错误与有意攻击不可混称。
  • 群体差异: NISTIR 8280在特定人脸算法和数据上测得错误率随年龄、性别和人口群体而异,且算法之间差异显著。[15] 这要求按用途、阈值和群体报告假匹配/假不匹配,而不是把“人脸识别有一个准确率”当答案;报告结果也不能外推到所有版本和场景。
  • 隐私与监控: 摄像头可能同时收集路人、位置、时间和行为轨迹。可做检测不等于应持续识别;应检验合法目的、必要性、最小化、保存期、访问控制、申诉和退出可能。去掉姓名未必阻止由脸、步态或轨迹重新关联。

稳健评测应把失败条件变成分层测试:白天/夜间、设备、地点、遮挡、目标大小、群体、时间和罕见类别;报告置信区间、阈值、漏报/误报及无法判定样本。上线后监测不是不断偷拿用户数据训练,而须另有目的限制、权限与变更治理。

核心概念

层级典型对象可回答不能据此推出
图像信号光电测量、曝光、噪声传感器记录了什么数值镜头外或被遮住的事实
像素/特征RGB数组、边缘、embedding哪些模式对任务有用模式必是人类概念
识别结果标签、框、掩膜、关键点模型在协议下的判断已理解因果和意图
场景理解对象关系、时序与背景约束某些有限语境中的结构完整、无误的现实真相

本章小结

  1. 图像是成像链的有限测量;像素、特征、任务输出、场景模型与现实真相必须分层。
  2. 手工特征、CNN、ViT和视觉基础模型各有数据、算力、归纳偏置与复用条件,并非一条简单淘汰线。
  3. 分类、检测、分割、姿态、跟踪和OCR输出不同;指标只有在坐标、匹配、阈值和数据范围确定后才有意义。
  4. 基准、人工标注与真实部署是不同证据层。医学、无障碍和道路系统都需要人机流程、持续监测和失败恢复。
  5. 摄像机能扩大观测也能扩大监控;稳健、校准、群体差异和隐私不是“模型上线后再补”的附件。

相关词条

计算机视觉 · 图像分类 · 目标检测 · 图像分割 · 交并比 · 光学字符识别 · 姿态估计 · 目标跟踪 · Vision Transformer · 卷积

参考来源

本页参考来源

  1. Szeliski R. Computer Vision — Algorithms and Applications [M]. Springer, 2022. Second edition. 定位:Chs. 2–5 and 7. 稳定来源(访问 )。
  2. Canny J. A Computational Approach to Edge Detection [J]. IEEE TPAMI, 1986. 定位:Abstract and §§I–II. DOI;稳定来源(访问 )。
  3. Lowe D G. Distinctive Image Features from Scale-Invariant Keypoints [J]. International Journal of Computer Vision, 2004. 定位:§§1–6. DOI;稳定来源(访问 )。
  4. Long J et al.. Fully Convolutional Networks for Semantic Segmentation [C]. CVPR, 2015. 定位:§§1–4. 稳定来源(访问 )。
  5. Kirillov A et al.. Panoptic Segmentation [C]. CVPR, 2019. 定位:Abstract and §3. 稳定来源(访问 )。
  6. Krizhevsky A et al.. ImageNet Classification with Deep Convolutional Neural Networks [C]. NeurIPS, 2012. 定位:§§1–4 and Table 2. 稳定来源(访问 )。
  7. Russakovsky O et al.. ImageNet Large Scale Visual Recognition Challenge [J]. International Journal of Computer Vision, 2015. 定位:§§2–4 and annotation discussion. DOI;稳定来源(访问 )。
  8. Dosovitskiy A et al.. An Image Is Worth 16x16 Words — Transformers for Image Recognition at Scale [C]. ICLR, 2021. 定位:Abstract and §§3–4. 稳定来源(访问 )。
  9. Radford A et al.. Learning Transferable Visual Models From Natural Language Supervision [C]. ICML, 2021. 定位:Abstract and §§2–4 and §7. 稳定来源(访问 )。
  10. Kirillov A et al.. Segment Anything [C]. ICCV, 2023. 定位:Abstract and §§1–3 and limitations. 稳定来源(访问 )。
  11. U.S. Food and Drug Administration. De Novo Summary (DEN180001) [R]. FDA, 2018. 定位:Indications for Use and Warnings, pp. 1–2; Summary of Clinical Information and Study Endpoint Results, pp. 5–7. 稳定来源(访问 )。
  12. U.S. Food and Drug Administration. Artificial Intelligence-Enabled Medical Devices [EB/OL]. FDA, 2025. page current when accessed. 定位:Scope and limitations of public list. 稳定来源(访问 )。
  13. Apple Support. Use VoiceOver Recognition on your iPhone or iPad [EB/OL]. Apple, 2025. 定位:Image Descriptions and Text Recognition instructions. 稳定来源(访问 )。
  14. Goodfellow I J et al.. Explaining and Harnessing Adversarial Examples [C]. ICLR, 2015. 定位:Abstract and §§1–4. 稳定来源(访问 )。
  15. Grother P et al.. Face Recognition Vendor Test Part 3 — Demographic Effects [R]. NIST, 2019. NISTIR 8280. 定位:Executive summary and §§2–5. DOI;稳定来源(访问 )。