1 计算机视觉任务要回答什么
把照片交给模型之前,先把希望得到的答案写清楚。“识别图片”只是笼统愿望:判断照片里有没有动物、指出每只动物的位置、测量动物轮廓占据的面积,需要不同输出。计算机视觉的任务定义,正是把现实问题转成可以标注、训练和验收的输入输出约定。模型能读入图像,并不代表它已经知道使用者关心什么。
设想使用公开的 Oxford-IIIT Pet 数据集开展练习。它包含宠物图像、类别信息以及相关区域标注,可以支持不同学习目标。如果问题是“照片中的宠物属于哪个品种”,每张图像输出类别即可;如果问题是“宠物头部位于哪里”,就要核对相应边界框标注;如果问题是“哪些像素属于宠物”,则需要区域掩码。数据集提供什么标注,必须查其说明,不能把头部框直接当作完整动物框使用。
图像在计算机中可以看作按行列排列的数值。彩色图像通常包含红、绿、蓝等通道,模型从这些数值中学习与目标相关的模式。入门时可以把边缘、颜色、纹理和局部形状理解为有用线索,但不要把某种线索等同于对象本身。例如雪地背景可能与训练集中的某类动物高度相关,却不能保证到了室内还能正确识别。模型可能学到容易利用的背景关联。
这与其他机器学习问题有共同结构。表格流失预测把使用频次、合同期限等特征映射到是否流失;短文本分类把文本映射到主题;图像分类把像素映射到类别。差别在于图像的位置、尺度、遮挡和光照变化10分明显,而且答案可能包含大量空间信息。必须先决定预测单位是整张图像、单个目标还是像素,再讨论模型是否“准确”。

需求还应说明使用边界。例如自然光宠物照片的练习结果,不能直接承诺适用于红外摄像头;单张照片中的存在性判断,也不能直接承担连续视频中的数量统计。明确场景有助于发现缺少的数据,而不是等到部署后才把所有错误归结为模型能力不足。先问答案要被谁使用、错误会造成什么后果,任务才有可执行的起点。
2 分类、检测与分割边界
图像分类为整张图像提供标签。单标签分类假设每张图像属于约定类别中的 1 类,例如从猫与狗中选择;多标签分类允许同时输出多个标签,例如同张街景同时包含行人和自行车。这 2 种设置的标签形式、输出解释和统计方法都不同。若照片里能同时出现多个对象,却强制只选 1 类,错误可能来自任务假设,而不只是训练不足。
目标检测需要输出目标类别、位置以及用于排序或筛选的分数。位置常用矩形边界框表示,例如左上角与右下角坐标。检测器需要处理每张图像目标数量不同的情况,也可能给出多余框、漏掉小目标,或者把框放偏。对同类目标提出多个框时,评估还必须避免让这些框重复领取同个真实目标的正确计数。
语义分割为每个像素分配类别,适合回答道路区域、建筑区域或病变区域在哪里。它通常不区分同类目标的个体:相邻的 2 个人可以都标为“人”。实例分割还要区分不同个体,本课只介绍这个边界,不展开具体实现。如果业务需要轮廓面积,检测框包含的背景会影响测量;如果只需要粗略定位,逐像素标注又可能超出必要成本。
分类也有空间信息的使用方式,但分类结果本身没有定位承诺。某张图像被正确判断为“有行人”,不代表模型找到了每名行人,更不代表它能给出可用于避障的位置。即使可视化热图高亮了某个区域,也不能直接把热图当作经过检测指标验收的边界框。输出解释必须服从实际训练和评估的任务。
这些任务也不是按难度排列的固定升级路线。若需求只是把照片按主题整理,分类可能已经足够;若要逐个计数,检测通常更贴近目标;若要计算覆盖比例,分割更直接。复杂输出需要更细的监督,却不保证对任何问题都更有价值。选任务时应追问:下游决策真正需要保留哪种信息,缺少这种信息是否会使结果无法使用。
还要明确没有目标时怎样输出。分类中的“无目标”可以是约定标签,检测中的正确结果可能是空框集合,分割则可能全为背景。这些负样本是评估误报的重要依据。只收集漂亮的正样本,模型即便能认出目标,也可能在实际背景中频繁报错。
3 标注、评估与数据增强
标注规范把任务定义变成可重复的判断。分类需要说明模糊类别如何处理;检测需要说明框住可见部分还是推断完整范围、遮挡到什么程度仍需标注;分割需要说明边界、背景和忽略区域。对于看不清的对象,设置复核或忽略规则通常比强迫标注者猜测更可靠。可以先让不同标注者独立处理同批样本,再讨论分歧,以此检查规范是否清楚。
数据划分应早于模型选择。示例可以按 70%、15%、15% 分成训练集、验证集和测试集,但这个比例不是通用标准。训练集用于学习参数,验证集用于选择配置和阈值,测试集用于冻结方案后的最终评估。若同只宠物有多张近似照片,或视频中相邻帧高度相似,就要按个体、拍摄会话或完整视频分组划分,避免近重复样本跨集合出现。

类别比例也要检查。分层划分有助于各集合保留类别,但分组约束可能使比例无法完全一致,此时应报告实际数量。不能为了凑齐比例把同个主体拆到不同集合。测试集若只有很少的少数类样本,即便得到很高分数,也缺少充分证据说明模型稳定;应同时公布每类支持样本数,必要时增加独立样本。
分类评估通常从混淆矩阵开始。对指定正类,TP 表示正确预测为正,FP 表示误报,FN 表示漏报。precision=TP/(TP+FP),关注报出的结果有多少可信;recall=TP/(TP+FN),关注真实目标找回多少;F1=2×precision×recall/(precision+recall),综合这 2 项。分母为 0 时需声明工具的处理约定,不能把未定义悄悄解释为完美表现。
ROC-AUC 用不同分数阈值下的真阳性率与假阳性率关系评价排序能力,适用于明确的分类设置。少数类很稀少时,还应关注 precision-recall 曲线及相应面积,因为低假阳性率仍可能对应大量误报。AUC 不直接给出部署阈值,也不能取代检测的位置评估。多类别情况下,还需说明是逐类统计后等权平均,还是按样本数量加权平均。
数据增强通过受控变换增加训练样本的变化,例如适度裁剪、翻转和亮度变化。它必须保持标签含义:裁剪后框坐标和分割掩码要同步变化,目标完全被裁掉时也要正确更新标签。方向有意义的类别不适合随意翻转。增强只施加于训练流程,验证和测试采用固定规则;若先增强再随机划分,同张原图的变体可能泄漏到测试集。
4 动手:拆解一次分类到检测的指标差异
用可以手算的例子拆开“认出类别”与“定位成功”。准备 4 张示意图像,分别含 2、1、0、1 个行人,共有 4 个真实目标。图像级任务是判断有没有行人,因此前 2 张和最后 1 张是正类,第 3 张是负类。假设模型对 4 张图像的存在性判断全部正确,分类 accuracy 就是 4/4=100%。这个结果尚未评价任何坐标。
现在增加检测输出。第 1 张图像有 2 个预测框,其中 1 个与真实目标重合良好,另 1 个位置明显偏移;第 2 张有 1 个合格框;第 3 张没有框;第 4 张有 1 个合格框。所有提出的框都标为行人。仅看类别与存在性依然很好,但第 1 张图像中的另 1 名行人没有被可靠定位。
判断重合程度常用交并比 IoU,即预测区域与真实区域的交集面积除以并集面积。设某对框交集面积为 30,并集面积为 100,则 IoU=0.30。若本次约定同类框至少达到 IoU 0.50 才能匹配,这对框不能算正确检测。IoU 是空间重合指标,分数阈值则决定保留哪些预测,不能把这 2 个阈值混为同个参数。
按以上约定,3 个框成功匹配,偏移框记为 FP,其对应的真实目标记为 FN。因此 TP=3、FP=1、FN=1,precision=3/4=75%,recall=3/4=75%,F1=75%。同次偏移造成误报与漏检并不矛盾:模型提出了不符合要求的位置,同时没有为真实目标提供合格位置。分类的 100% 与检测的 75% 回答了不同问题。

实际操作时,可以在表格中逐行记录图像编号、真实框、预测框、类别、分数、IoU 和匹配结果。固定排序与匹配规则,让每个预测最多匹配 1 个真实目标,每个真实目标也最多匹配 1 个预测。重复框中未匹配的框不能重复计为 TP。先对少量图像人工核对,再使用评估工具,能帮助理解工具输出的统计单位。
完整检测基准常报告 AP 或 mAP,它们依据预测排序、precision-recall 关系以及指定 IoU 条件汇总表现。报告时必须说明评估协议,例如只在 IoU 0.50 下计算,还是跨多个 IoU 阈值平均。本课不展开不同协议的插值细节;此时最重要的是明白,单个阈值下的 F1、分类 AUC 和检测 mAP 不能直接互换。
5 精度与标注成本取舍
日常所说的“精度”可能指总体表现,也可能专指 precision。方案中应使用明确名称。对于告警系统,提高 precision 可以减少无效告警,但若靠提高分数阈值实现,可能同时增加漏检。对于辅助筛查,较高 recall 可能更重要,但也要估算复核人员是否能承受新增误报。指标偏好应由决策成本决定,而不是只选择数字最高的配置。
考虑含 20 个真实目标的教学验证样本。分数阈值为 0.30 时,假设 TP=18、FP=12、FN=2,precision 为 60%,recall 为 90%;阈值为 0.60 时,TP=15、FP=5、FN=5,2 项均为 75%;阈值为 0.90 时,TP=9、FP=1、FN=11,precision 达到 90%,recall 降到 45%。这些数字展示取舍,不能当作任何真实模型的性能承诺。
滑块中的 IoU 条件始终固定,只改变预测分数筛选。模型分数也不一定是校准后的概率,0.90 不自动表示有 90% 的机会正确。实际选阈值时,应在验证集上比较错误数量、人工复核量和延迟要求,再冻结选择。不能查看测试集答案后反复调到满意,否则测试集逐渐承担了验证集的角色,最终报告会过于乐观。
标注成本则主要由输出粒度、目标数量、边界复杂度和复核要求决定。给整张图像选类别,通常比逐个画框更省时;精细描轮廓往往还需要更多工作,但具体耗时应通过试标估计。即使图像数量相同,含 1 个清晰对象与含 30 个重叠对象的标注工作量也可能差别很大。预算不能只写每张图像的统一单价。

可以抽取覆盖常见与困难情况的试标样本,记录标注时间、复核时间和分歧比例,再外推所需预算。若检测已经能满足计数需求,就没有必要仅为追求更细输出而全面改做分割;若要测量面积,则应解释框为什么不够。降低成本也不能依靠省略困难目标,因为这种做法会改变训练目标并使评估失真。预算取舍应保留完整任务定义。
6 常见坑:用分类准确率评价定位任务
最常见的错位,是让模型承担定位责任,却用图像级 accuracy 宣布成功。对含 10 个对象的图像,只要判定“有对象”就可以拿到分类正确,但检测可能漏掉其中 9 个。若下游需要逐个计数,存在性判断没有覆盖关键需求。验收表必须明确计分单位,否则同个“正确率”词语会让不同参与者形成完全不同的预期。
另种错位是把所有背景像素当成检测中的普通负例,计算看起来很高的 accuracy。检测没有天然固定的负框总数,任意位置都可以提出候选框,因此通常不靠这样定义的 TN 评价定位。分割同样可能被背景数量支配:目标只占很少像素时,把全部像素判为背景也能获得很高像素准确率,应进一步检查逐类 IoU 等区域指标。
数据泄漏会让正确指标也失去意义。重复图像、相邻视频帧、同个主体的相似拍摄跨越训练与测试,都可能让模型获得不切实际的便利。文件名、水印、采集设备边框也可能携带标签线索。检查时应追问这些线索在真实使用时是否存在,以及它们是否代表想识别的对象;只去掉显眼水印,并不能代替按来源审计整个划分。
还有坐标与预处理错误。图像缩放后真实框没有同步缩放,横纵坐标顺序混淆,或忽略填充区域,都可能让视觉上合理的预测被评为定位失败。应把原图、变换后图像、真实框和预测框叠加查看,并核对坐标约定。先确认数据与评估流程一致,再决定是否增加训练轮次,通常比盲目调整模型更有效。
分布偏移意味着使用数据与训练数据发生变化,例如从白天转到夜间、从近景转到远景,或更换拍摄设备。随机划分得到的高分未必反映这些变化。可在常规测试外设置明确的来源或时间切片,检查小目标、遮挡和低照度表现。切片结果需要报告样本量,少量失败案例可以提示方向,却不足以准确估计总体失败概率。
最后,要避免反复挑选最好看的演示照片。错误分析应有可追踪的抽样规则,并保留误报与漏检样本。模型版本、数据版本、分数阈值和匹配条件要共同记录,否则不同轮次的指标可能没有可比性。可复现的评估首先是约定稳定、数据独立,而不仅是固定训练随机种子。
7 案例:类别不平衡掩盖少数类漏检
假设开展罕见动物的相机图像筛查。为了说明问题,构造 1000 张图像:990 张没有目标动物,10 张含目标动物,每张含目标图像恰有 1 个目标。把所有图像预测为“无目标”,图像级 accuracy 就有 99%。但正类 TP=0、FN=10,recall=0%。这个系统无法找回研究者真正需要查看的样本。
如果进一步要求标出动物位置,全部不输出框也会漏掉 10 个真实目标。此时不能再拿图像级 99% 作为检测合格证据。没有正类预测时 precision 分母为 0,报告应说明采用未定义还是工具约定的 0 值;无论采用哪种展示方式,都无法改变正类全部漏掉的事实。负样本很多并不会补偿这些漏检。
现在假设另个检测结果在固定匹配条件下得到 TP=6、FP=4、FN=4,precision、recall 和 F1 均为 60%。还要问漏掉的 4 个目标有什么共同点。如果恰好都是低照度样本,而其余 6 个正常光照目标都被检出,总体 recall 掩盖了低照度 recall=0% 的限制。由于样本很少,应把它视为明确的风险线索,并补充独立样本验证。

排查先从标签开始:低照度图像是否漏标,类别定义是否一致,真实框是否符合规范。随后查看少数类在训练集中的数量、尺寸、遮挡和来源分布。类别少与目标小可能同时发生,不能仅凭类别计数认定原因。若 10 个正样本都来自同台相机,还应避免让设备特征替代动物特征,并检查换设备后的表现。
改进可以包括补充经过许可的困难样本、训练集重采样或调整类别权重,但每种改动都需要验证。重复抽取同张照片不会创造新的独立场景,训练增强也不能保证合成出真实夜间变化。增加少数类权重可能提高召回,同时增加误报;需要比较每类指标与复核负担。测试集保持既定口径,不能为了分数好看而删掉困难样本。
报告时同时展示逐类结果与汇总方式。宏平均让每类获得相同权重,有助于看见少数类;按样本量加权的平均更容易受多数类影响。它们可以并列,但不能只保留对当前方案最有利的那项。若评估集人为增加了正样本比例,还应说明该比例与真实使用场景的差异,因为实际 precision 会受到目标出现频率影响。
8 把任务定义写进视觉方案
视觉方案首先要用可检查的句子描述输入和输出。例如“输入为固定相机拍摄的单张彩色图像,输出每只目标动物的类别、边界框和分数”。随后说明支持的类别、最小可标注目标、遮挡处理与空结果含义。这样的约定能让采集、标注、训练和使用方讨论同个对象,也能及时暴露“识别”这个词隐藏的定位或计数要求。
数据部分应列出来源、使用许可、采集时间范围和划分单位。公开数据适合建立基线,却未必覆盖部署相机的视角与光照。可以使用公开数据训练或练习,再以合法取得的目标场景数据检查适用性;不能因为数据公开,就假定使用限制、隐私问题与场景差异都不存在。这里的重点是交代数据能支持什么结论。
评估部分需要把指标写到可以重复执行的程度。检测方案应说明类别匹配、IoU 条件、分数阈值选择方法以及逐类报告方式。若业务最担心漏检,可以把某类 recall 作为主要验收指标,同时约束 precision 或每天可处理的误报数量。只写“准确率达到 95%”无法判断统计对象,也无法知道漏检与误报是否满足使用要求。
验收还需要规定失败处理。模型不确定时交给人工复核,输入尺寸不符合约定时提示重采,出现新设备时安排单独评估,都是任务边界的一部分。若引入拒绝输出机制,也要报告拒绝比例与被拒绝样本的特点;不能把困难样本全部拒绝后,仅公布其余样本的高分,却隐去实际覆盖范围。
最后安排上线后的观察。真实环境可能出现新背景、季节变化和标签比例变化,应定期抽样复核,并分别追踪误报、漏检和输入来源。新标注回流训练前仍需保持独立测试边界,必要时建立按时间冻结的新评估集。把这些规则写入方案,模型更新才不会变成每次都重新解释指标的临时讨论。
9 从计算机视觉任务走向RNN 与序列模型(A25)
本课围绕单张图像建立了任务、标签与指标的对应关系。现实问题还可能依赖前后变化:仅看某帧,难以判断动物正在进入还是离开画面;只看静态姿势,也未必能识别完整动作。此时输入不再只是图像集合,而是带有顺序的数据。时间先后本身包含信息,任意打乱可能改变问题答案。
可以先用视觉模型从每帧得到类别、位置或特征,再让后续模型利用前后联系。不过,逐帧检测、跨帧跟踪与动作识别仍是不同任务。跟踪需要关联不同帧中的同个目标,动作识别需要理解持续过程,不能把独立检测框自动当成完整序列答案。选择序列模型之前,仍然要先约定希望输出什么。
例如统计动物经过入口的次数,可以先在画面中约定计数线,再把连续帧中的检测框关联为轨迹,只有轨迹按指定方向越线时才记 1 次。同只动物连续出现 20 帧,不能把 20 个检测框相加当作 20 只动物。短暂遮挡可能让轨迹中断,重新出现后若分配了新身份,就可能重复计数;相似动物交错经过又可能发生身份交换。因此,即使逐帧检测合格,也要用完整视频核对越线事件、方向和重复计数,并明确掉帧或长时间遮挡时哪些事件需要人工复核。

序列还会放大数据划分问题。相邻帧往往只差很小变化,若随机分到训练和测试,模型可能在几乎见过的画面上获得高分。更合理的划分单位可能是完整视频、主体或采集时间段,具体取决于希望检验哪种泛化能力。同段视频切出的片段也要追踪来源,不能仅因文件名不同就认为它们彼此独立。
下一课将介绍 RNN 与序列模型如何利用按顺序到来的信息。本课不提前展开循环状态的更新细节,先保留这条判断原则:当答案依赖历史时,需要明确历史范围、输入顺序和输出时机。无论处理图像、短文本还是连续观测,任务定义、数据独立性与错误代价仍然是评估可信度的基础。
放进方案里
本方案将相机图像筛查定义为目标检测:输入为约定设备采集的彩色图像,输出目标动物的类别、边界框和分数,允许无目标时输出空集合。边界框用于定位和辅助计数;若后续要求精确面积,将另行评估分割任务。支持类别、遮挡规则、最小可标注目标和不确定样本处理方式由试标规范统一确定。
数据使用经许可的公开样本与目标场景样本,记录来源和采集条件。按相机拍摄会话分组划分训练、验证与测试,初始目标比例为 70%、15%、15%,实际数量随分组结果报告。近重复图像不得跨集合,增强仅用于训练,所有派生样本保留原始来源标识。试标阶段记录耗时与分歧,为正式标注和复核预留预算。
验证集用于选择分数阈值,测试前冻结数据、模型和评估配置。检测匹配采用约定的同类匹配规则及 IoU 阈值 0.50,报告逐类 precision、recall、F1、真实目标数与误报数,并单列低照度、小目标和遮挡切片。以目标类 recall 为主要关注项,同时约束人工复核负担;具体验收数值由基线实验和业务容错要求共同确定。
分类准确率仅用于存在性辅助分析,不能替代定位验收。对少数类漏检先复核标签和划分,再比较补样、重采样或阈值调整的效果。上线后定期抽样检查误报与漏检,遇到设备、光照或类别比例变化时重新评估。每次交付附数据版本、阈值、适用范围及失败样例,新增训练数据不得侵入冻结测试集。
验收证据保留原图与框叠加图、逐框匹配表及空场景误报记录,重复框按未匹配预测计入误报。目标尺寸以原图像素为准,低于约定最小尺寸的样本单列,不纳入已承诺范围;若要统计视频中的独立个体数量,须另设跨帧关联与重复计数验收。
10 小结:下一步RNN 与序列模型(A25)
分类回答整张图像属于什么,检测回答目标在哪里,语义分割回答像素属于什么。任务粒度决定标注形式,也决定验收指标。分类正确不能证明定位可靠,总体高分也不能证明少数类得到保护。训练、验证和测试的独立性,以及对真实使用分布的检查,决定了数字能否支持方案承诺。
自测时可以解释 3 件事:为什么偏移框会同时产生 FP 与 FN;为什么全部预测无目标仍可能有 99% accuracy;为什么相邻视频帧不宜随机跨集合划分。能够把这些现象说清楚,就具备了进入 A25 的基础。下一步将把输入从单张观察扩展到有顺序的信息,继续先定义问题,再讨论模型。