第9章 视觉理解与多模态模型:图像识别的能力边界

本章导读

到目前为止,AI 处理的主要是文字。但生活和岗位里有大量信息是图片:一张设备故障照片、一张报表截图、一张产品标签、一张实训现场照片。今天主流的 AI 助手大都已经支持多模态输入,上传一张图后,它可以描述、识别、抽取其中的信息。视觉接口正在成为 AI 应用的重要入口。

但越是 AI 看图结果显得可信,越需要追问一个关键问题:AI 对图片的识别,和人的视觉理解到底有什么差别?

这个问题在岗位上特别重要。AI 可能把扫地机器人识别成洗碗机、把标价单位识别错误、把图中人数判断错误,还可能为看不清的细节补出听起来合理的描述。这不只是偶然表现不佳,也与它的工作机制有关。读完本章你要做到三件事:

  1. 理解机制:用一句话讲清楚 AI 看图的核心流程(像素 → 局部特征 → 跨模态对齐 → 文字描述),并能解释为什么这条流程会带来几个固定薄弱点。
  2. 完成实践:通过遮挡 / 替换 / 提问框架对照实验,量化 AI 视觉描述的可靠边界,识别哪些描述有图像依据,哪些描述可能是推测。
  3. 守住边界:建立视觉判断必须人工复核和图像隐私零容忍两条工程底线,并能在专业场景中设计出 AI 看图 + 人工兜底的最小工作流。

古人说:读万卷书,行万里路。 读文字和看世界是两种能力。AI 能描述图像,但关键判断仍要回到画面细节和真实场景中复核。

学习目标

先修要求与环境清单

知识准备:先认识这些词

  1. 多模态(multimodal)
    • 一句话说明:AI 同时具备处理多种形式信息(文字、图片、声音、视频)的能力。
    • 直观解释:从只处理文字,扩展到能够处理图片、声音、视频等信息形式。
    • 应用价值:拍照搜题、扫描翻译、医学影像辅助、设备故障识图——都建立在多模态能力上。
  2. 像素(pixel)
    • 一句话说明:图片在计算机里的最小单位——一个个有颜色的小方格。
    • 工程要点:AI 实际处理的是像素矩阵——一张 1080×1080 的彩色图,就是 ~350 万个数字。
    • 关键性质:AI 处理的是这些数字,不是人眼中的完整画面。
  3. 图像块 / patch(image patch)
    • 一句话说明:现代视觉模型不直接处理单个像素,而是把图切成若干小块(例如 16×16 像素的方块),每块作为一个独立单元。
    • 直观解释:相当于把一张图按小棋格拆开,每一格单独编号、单独提取特征,再让模型综合理解。
    • 应用价值:这是许多视觉 Transformer 类模型的基本工作方式。
  4. 视觉特征(visual feature)
    • 一句话说明:从像素或图像块中提取出的高维数学向量,编码了边缘、纹理、形状、颜色块等几何信息。
    • 工程要点:低层特征是边和角,高层特征逐步抽象出轮廓→部件→物体类别。
    • 应用类比:和第8章 RAG 里文字嵌入向量是亲戚——都是把信息映射到一个数学空间。
  5. 跨模态对齐(cross-modal alignment)
    • 一句话说明:让图片的特征空间和文字的特征空间在数学上互相对得上,例如让“猫的图片”和“猫这个词”在向量空间里彼此靠近。
    • 直观解释:这是多模态模型最关键的训练目标——只有图文向量对齐了,模型才能用文字描述图、也能根据文字找图。
  6. 视觉语言模型(vision-language model, VLM)
    • 一句话说明:把视觉编码器和语言模型两套子系统串起来的多模态模型。
    • 工程要点:视觉语言模型的常见结构可以概括为:图像编码器 → 投影层 → 语言模型。视觉编码器把图变成一组特征,投影层把视觉特征转换成语言模型可处理的格式。具体模型名称会不断更新,本章不绑定某一个品牌或版本。
  7. 视觉幻觉(visual hallucination)
    • 一句话说明:AI 把图里没有的物体 / 关系 / 数量补出来。
    • 关键性质:与第7章语言幻觉同源——在信息不足时按通常的样子补全。
  8. 图像识别 vs 视觉理解
    • 图像识别:判断是什么(是猫还是狗)——任务边界清楚、容错率高。
    • 视觉理解:描述发生了什么(例如有人在用餐)——需要识别物体、关系、动作、上下文,难度高得多,幻觉风险也大得多。

9.1 问题与现象:AI 识别到的,不等于人看到的

9.1.1 一个看似完整的描述

小李拍了一张食堂托盘的照片:一份米饭、一份青菜、一份番茄炒蛋、一杯豆浆。他把图片传给 AI,问:这一餐大概多少钱?热量大概多少?

AI 给了一段非常专业的回答:

这是一份典型的校园食堂套餐,包含:白米饭(约 1.5 元)、清炒青菜(约 3 元)、番茄炒蛋(约 6 元)、豆浆(约 2 元),总计约 12.5 元。热量约 650 大卡,碳水化合物约 90 g,蛋白质约 25 g,脂肪约 18 g……

看上去专业又详细。但小李仔细对照原图发现至少两件事不对:

为什么会这样?AI 实际处理到的是绿色叶片这类几何特征,它未必能从一张照片里稳定区分空心菜和小白菜这种同属绿叶菜的大类细分;价格则可能来自一般校园食堂价位的经验估计,并不是对窗口标价牌数字的可靠识别。

它输出的未必是图里的事实,而可能是训练中与这张图最相似的一类图像描述。

9.1.2 同样的图,提问方式不同,回答可能完全不同

小李换了一种提问方式:

请只描述你在图片中直接看到的内容,不要做任何推测。
- 看不清的细节,请明确说"看不清"。
- 不能明确确认的物品,请说“疑似某物”。
- 不要给出图片中没有显示的信息(如价格、热量)。

AI 这次的回答变了:

图片中可以看到一个食堂托盘,上面有四个餐具:一碗白色颗粒物(很可能是米饭)、一份绿色蔬菜(看起来像绿叶菜,但具体品种看不清)、一份红色和黄色混合的菜品(可能含有番茄和鸡蛋)、一个透明杯装的浅色饮品。背景中能模糊看到食堂窗口,但价格牌上的具体数字看不清。

差别在哪里?AI 还是同一个 AI,图片没有变化。变化在于提问方式:前一次让 AI 自由发挥,后一次要求它只描述图中可直接确认的信息。

本章要训练的就是这种判断力:区分哪些描述有图像依据,哪些描述可能是推测。

9.1.3 这件事在工业界的位置

视觉 AI 在岗位场景里已经广泛出现:质检、医学影像、安防、自动驾驶辅助、票据 OCR、商品识别、农产品分级。它们能不能用、能用到什么程度,核心问题不只是 AI 看得有多准,还包括 AI 看错时整个系统会发生什么。一个看图系统即使整体准确率很高,如果错误恰好是漏判故障指示灯,系统仍可能不可用。

这就是为什么本章重点不在“让 AI 更准”,而在于预测 AI 可能在哪里看错,并用工程方法兜住这些可能的错误。

【思考 1】 有人说:那我下次问之前先加一句“不要猜、看不清就说看不清”就行了,对吧?请结合 9.1.1 节,说明这个办法为什么有效但不充分,还必须增加哪些人工核验动作。

思考提示:提示词约束能让 AI 更克制,但有两个根本局限:① AI 有时无法稳定区分图像依据和推测,会把推测当成图中事实输出;② 涉及具体数字(价格、数量、热量、计数)和关键决策(要不要修、要不要吃、要不要报),必须人工对照原图核验,不能只依赖 AI 的克制描述。


9.2 原理与分析:AI 是怎么看图的?

相关结构如图9-1 所示。

图9-1 视觉证据链剖面:从画面线索到文字描述

图9-1采用“数学直觉图”的处理方式:不画复杂模型结构,不放公式,而是保留视觉语言模型最关键的转换链条——图片被切成局部小块,形成视觉特征,再与文字空间对齐,最后被语言模型组织成文字描述。这个链条里的任何一步不稳,都会让最终回答出现误认或视觉幻觉。

9.2.1 一张图从输入到描述:四个工程动作

许多视觉语言模型看一张图,本质上可以简化为四个工程动作:

第一步:像素切块(patching) * 把输入图片切成网格状的小块(例如 16×16 像素一块)。 * 每个 patch 被独立编号——相当于给图建立了棋盘坐标系。

第二步:特征提取(feature extraction) * 每个 patch 经过一个视觉编码器(通常是 ViT,Vision Transformer),变成一个高维数学向量。 * 这些向量编码了 patch 里的几何特征:边缘、纹理、形状、颜色块、局部物体。

第三步:跨模态对齐(cross-modal alignment) * 视觉特征经过一个投影层,转换成语言模型可处理的“类文字表示”。 * 这一步依赖模型训练时见过的大量图文配对样本,它学会了让“一只猫的图片”和“这是一只猫”这类文字在数学空间里彼此靠近。

第四步:文字生成(text generation) * 语言模型把这些由图片转换来的表示和用户问题拼在一起。 * 然后按生成文字的方式输出描述。

注意第四步:最终输出阶段,仍然是第7章认识的语言生成过程。这意味着,即便视觉编码器提取的特征比较准确,最终的文字描述阶段仍会受语言模型自身的补全倾向影响,这就是视觉幻觉的重要来源。

9.2.2 AI 视觉的四个薄弱点

正因为 AI 看图靠几何特征 → 跨模态对齐 → 概率生成这条链路,任何让特征变模糊、变缺失、变相似、或与训练分布偏离的因素,都会让它出错。

相关内容见表9-1。

表9-1 薄弱点与机制层面的解释记录表

薄弱点 机制层面的解释 典型场景
遮挡(occlusion) 关键 patch 被覆盖 → 视觉特征不完整 → 跨模态对齐时只能依据残缺特征推测 一只猫坐在键盘后只露半个脸 → 被认成毛绒玩具
模糊 / 低分辨率 局部 patch 特征噪声大 → 相似类别的特征空间重叠 → 区分能力崩塌 远景菜单照 → 米饭和米粉分不清
光线极端 像素分布偏离训练分布 → 视觉编码器输出失真 夜间设备照 → 关键指示灯颜色错或漏看
相似物干扰 / 数量识别 多个相似 patch 互相干扰 → 模型擅长识别有什么而不擅长数清楚有几个 桌上 3 个杯子 → 数成 2 个或 4 个

第四类数量识别特别值得注意。不少多模态模型在识别物体类别上表现较好,但在数清个数、区分细小属性时仍需要特别谨慎。如果你的应用涉及计数(这张照片里有几个人?库存里有几件?),必须留有人工核验环节。

9.2.3 视觉幻觉:与第7章语言幻觉同源

第7章我们说:AI 在信息不足时,会用流畅但虚假的内容把空白填上——这是语言幻觉。

视觉理解里也一样。当图的某个区域模糊、被遮、或者根本不在图里,AI 不会说我看不清这部分——它会按这种场景里通常应该有什么去补。

典型的三种视觉幻觉:

相关内容见表9-2。

表9-2 类型与表现记录表

类型 表现 风险等级
物体幻觉 描述里出现图里根本没有的物体 高(描述一杯不存在的咖啡)
属性幻觉 物体认对了,但颜色 / 形状 / 数量描述错 中高(红色描述成蓝色、3 个描述成 4 个)
关系幻觉 物体和属性都对,但谁在做什么描述错 中(狗在追猫被描述成猫在追狗)

为什么会有这些幻觉?因为 VLM 训练时见过大量图文描述样本,学到了“教室里通常有人”“餐桌上通常有餐具”“键盘旁边通常有咖啡”等强关联。当真实图片偏离这些常见模式时,模型可能会用训练中学到的模式进行补全;补出的内容听上去自然顺畅,因为它来自常见语言描述的统计模式。

9.2.4 核心判断:AI 看图是基于特征的估计

把以上几条合起来,这一章最重要的一句话是:

AI 看图,不是人的“看见”,而是基于图像特征和训练分布进行估计。

模型不具备人的视觉经验。它做的是把新图像的特征与训练中学到的大量图像模式进行匹配,找出最相近的类别,再用语言模型组织文字描述。在常规场景中,这种方法可能表现良好;但当图片落入遮挡、模糊、低光、相似物干扰等薄弱点时,错误可能以同样流畅、专业的语言呈现出来。

同一句视觉描述也需要分级。不是所有句子都拥有相同的图像证据:有些直接来自画面,有些只是疑似判断,有些其实是训练经验的补全。图9-2把这种差异转化为一张证据分级卡,便于后续记录和复核。

图9-2 遮挡与替换测试:证据强弱如何改变回答

图9-2不展示复杂模型结构,而是保留一个关键工程量尺:证据等级。A类可以描述,B类需要确认,C类只能作为线索,D类必须由人负责决策。

【思考 2】 一位实习生用手机拍了一份设备故障现场的照片(傍晚拍的,光线偏暗,关键的报警指示灯被一根管子部分遮挡),请 AI 描述现场情况、列出可能的故障点。请结合 9.2.2 和 9.2.3 节,给出至少三个机制层面的原因,解释这次 AI 的回答最可能出现什么类型的错误。

思考提示:① 遮挡(9.2.2)——指示灯关键 patch 被管子覆盖,视觉编码器拿不到完整特征,可能漏判或错判颜色;② 光线偏暗(9.2.2)——像素分布偏离训练时常见的光照充足分布,视觉编码器输出失真;③ 视觉幻觉(9.2.3)——模型可能根据故障现场常见模式补出图里不存在的故障点。因此,不能依赖这次 AI 描述做任何处置判断,必须重拍清晰图,且关键决策由现场有资质人员作出。


AI 协同实践:观察视觉模型的判断过程与误判边界

实践目标:通过五组对比实验,量化 AI 看图的可靠边界,识别哪些描述有图像依据、哪些描述可能是推测,并训练提问框架 + 遮挡 / 替换扰动两种核心工程方法。

预计时间:30 分钟左右。

本节要求:只使用 Notebook 里预置的 6 张图,不上传自己或他人的照片、人脸照、证件照。

第 1 步:开放提问基线

打开 Notebook,加载第一张图片(食堂托盘)。先用开放式提问让 AI 自由描述:

请描述这张图片里你看到的内容。

把回答完整复制到看图记录表 v1栏。这是基线版本——你要观察 AI 在没有任何约束下会补多少东西出来。

第 2 步:约束提问框架

对同一张图,换用约束性更强的提问:

请只描述你在图片中直接看到的内容,不要做任何推测或补充。
- 如果某个细节看不清,请明确说"这部分看不清"。
- 如果不能从图中直接确认某个物品是什么,请说“疑似某物”。
- 不要给出图片中没有直接显示的信息(如价格、热量、来源、用途)。
- 涉及数量时,请明确说"我大致数到 X 个,可能有偏差"。

把回答记到 v2 栏。对比两次回答的关键指标: * v2 总字数 vs v1 总字数(克制度); * 看不清 / 疑似的出现次数(诚实度); * v1 出现但 v2 删去的补出来内容(这些就是 v1 里的视觉幻觉候选)。

第 3 步:遮挡测试

打开图片编辑工具,把图片里的关键区域用纯黑方块盖住:

相关内容见表9-3。

表9-3 图片与遮挡区域记录表

图片 遮挡区域
食堂托盘 盖住饮料杯子
自习室 盖住课本
文具袋 盖住一支笔

把原图和遮挡后的图分别用 v2 提问框架问同样问题。重点观察:

第 4 步:替换测试

用画图工具把图里的一个细节直接换掉:

再用 v2 提问框架问。重点观察:

第 5 步:让 AI 自己分级不确定度

对前面任何一张图的 v1 描述,发送:

请把你刚才那段描述里的每一句话,按下面三类标号:
[A] 图中直接可见,能指出形状、颜色或位置;
[B] 疑似判断,需要人工对照原图确认;
[C] 图中证据不足,可能是按经验补出来的。
请逐句重写并标号。

这是本章很有用的一项方法。通常会发现:在明确要求分级时,AI 可能把部分描述标为“疑似”或“证据不足”。把分级结果记入不确定度分析表,但不能把 AI 自评分级直接当作最终证据等级。

第 6 步(拓展任务):用脚本调用多模态接口

如果你掌握第3章的本地模型部署,可以打开 scripts_optional/ch09/minimal_vlm.py

拓展说明:完整程序已放入配套 Notebook。你只需要关注观察目标、变量修改和复核要求,不需要手写这段代码。

代码意图(要看懂,不要求背命令):

运行后把脚本输出的两次回答进行对比,把 v1 比 v2 多出来的内容标注为视觉幻觉候选。


验证与证据:把方法落到记录里

看图记录表

相关内容见表9-4。

表9-4 编号与图片记录表

编号 图片 v1 自由描述 v2 约束提问 v1 比 v2 多的补出内容
1 食堂托盘
2 自习室
3 文具袋

遮挡 / 替换测试表

相关内容见表9-5。

表9-5 编号与扰动方式记录表

编号 扰动方式 AI 是否看到扰动 错误类型(漏看 / 物体幻觉 / 属性幻觉 / 关系幻觉) 一句话观察
1 遮饮料杯
2 涂橙色饮料
3 (自选)

不确定度分析表

相关内容见表9-6。

表9-6 图片与证据等级记录表

图片 A 类(直接可见)句数 B 类(疑似判断)句数 C 类(证据不足)句数 占比是否合理
食堂托盘
自习室

关键判断:如果 v1 自由描述里有大量句子在第 5 步被标成 B 或 C 类,说明这段描述中有较多推测性内容;如果没有主动要求分级,这些内容可能会被误当成事实。最终证据等级仍应由学习者对照原图确认。

原理小结(200~300 字)

围绕以下三点写一段:

  1. 把 9.2.1 节的四阶段流程和 9.2.2 节的四个薄弱点串起来,用两句话解释:为什么遮挡和数量识别是 VLM 的固有弱点,而不只是模型规模不够造成的?
  2. 在你的实验里,v1 和 v2 提示框架的差异主要体现在哪一类幻觉上?为什么?
  3. 如果未来你要在岗位上用 AI 帮忙做看图判断,请基于本节实验数据,给出三条你会写进 SOP 的操作规范。

伦理、安全与边界

第一条底线:图像隐私零容忍

这一条是图像场景里最重要的底线之一:

图像携带的隐私远比文字多。

一段文字最多记录姓名、身份证号几个字段;一张照片可能同时包含人脸、衣着、家庭布局、桌上证件、窗外街景、手机屏幕里的对话、墙上的家人合影、背景里的车牌号、可定位的地标等信息,任何一个细节都可能成为隐私泄露的入口。

绝对不允许上传到 AI 的图片:

相关内容见表9-7。

表9-7 类型与风险记录表

类型 风险
人脸照片(包括自拍) 生物特征,可被用于身份盗用
身份证 / 学生证 / 银行卡 / 护照 包含可被用于诈骗的核心信息
未经本人同意的他人照片 侵犯肖像权和隐私权
病历 / 化验单 / 医学影像 健康数据受法律严格保护
家中 / 宿舍 / 办公室全景 暴露住址、作息、贵重物品
手机屏幕截图(带对话 / 邮件) 暴露社交关系和私密对话
任何带可定位元数据的照片 EXIF 信息暴露 GPS 经纬度

实操守则:本章所有实验只使用 Notebook 里预置的图片——这些图已做脱敏与授权处理。如果你需要做岗位场景的看图实验,必须先对图片做脱敏(打码人脸、抹除证件号、清除 EXIF 元数据),并取得相关人员的授权。

第二条底线:视觉判断必须人工复核

第 5、6 章已经说明“流畅 ≠ 正确”“有出处 ≠ 正确”。视觉场景还要再加一句:

AI 描述了 ≠ 图中一定存在。AI 的视觉描述只是线索,不是结论。

以下场景下,AI 的视觉描述只能作为参考,不能作为结论:

相关内容见表9-8。

表9-8 场景与必须人工复核的原因记录表

场景 必须人工复核的原因
设备故障识图 一个误判可能导致带电操作或漏修真故障
医学影像辅助 任何诊断必须由有资质的医生最终签字
食品 / 食材识别 看上去新鲜的误判可能造成中毒
报表 / 票据 OCR 一个数字看错可能导致严重财务差错
质检 / 安防 漏检率高于一定阈值就是安全事故
责任追溯依据照片 必须由专业人员核对原图

第三条底线:误认会发生,要为它设计刹车空间

AI 视觉判断可能误认。这不只是偶然状态问题,也与工作机制有关。任何用 AI 做视觉判断的系统设计都必须为此留出纠错空间:

  1. 不要让 AI 视觉结果直接触发不可逆动作(下单、删档、外发、扣款、报警)。
  2. 不要让 AI 视觉结果直接对外公开(发到群里、发布到官网、发给客户)。
  3. 关键判断必须人工确认,即使只是 30 秒的复核,也比没有复核更安全。

三条职业底线

  1. 不上传未脱敏的真实图片——人脸、证件、医学影像、未授权他人照、含 GPS 元数据的图。
  2. 不让 AI 视觉结果直接触发不可逆动作——下单、扣款、删档、外发、报警等动作之前必须有人确认。
  3. 不把看似正确当成事实正确:AI 视觉描述可能以同样流畅的方式输出错误部分,必须对照原图独立复核。

【思考 3】 一位实习生在水果店帮忙,店主让他用 AI 帮忙识别一筐水果有没有坏的、需要挑出来。这位实习生想直接把 AI 标出来的那几个看起来变色的水果挑出来扔掉。请回答:他至少违反了本节哪两条底线?应当在流程上加哪两步?

思考提示:违反了两条底线:① 让 AI 视觉判断直接触发“扔掉”这个不可逆动作;② 没有人工复核就采信 AI 描述。流程上应增加两步:① 人工再次确认外观和手感,AI 可能把自然斑点看成腐烂,也可能漏掉内部变质但外表完好的水果;② 由店主或有经验的人对边缘案例做最终确认。


总结与思考

本章核心判断

基础题(理解层面)

  1. 用自己的话描述 VLM 看一张图的四个工程阶段,并指出语言幻觉是在哪一阶段产生的。
  2. 为什么识别物体类别通常很准,但数清楚有几个经常出错?请从特征提取机制的角度解释。
  3. 视觉幻觉的三类(物体 / 属性 / 关系)分别有什么表现?请各举一个生活或岗位场景的例子。

迁移题(专业场景)

  1. 为你所在专业的一个真实业务场景(如零件质检、食材新鲜度判断、布料色差识别、实训设备状态识图、客户票据 OCR)设计一个 AI 看图 + 人工兜底的最小工作流,至少包含:输入预处理、AI 调用、不确定度分级、人工复核触发条件、最终决策权归属、日志保留。
  2. 设计一份视觉提示词模板,强制要求 AI 在输出时分级标注(A 确定 / B 推测 / C 不确定),并在 C 类比例超过阈值时触发拒答。

风险题(伦理与边界)

  1. 一位学习者想做一个活动照片美化器,让 AI 自动给活动现场拍的照片做美化、识别并给每位参与者加文字描述。活动照片大多带有参与者和授课人员的脸。请回答:① 这件事涉及哪几条本章学过的伦理边界?② 在动手做之前,至少要先做哪三步合规准备?
  2. 在自动驾驶辅助、医学影像辅助、安防监控这三类场景里,视觉幻觉造成的后果有什么本质差异?为什么这三类场景的人工复核机制在设计上完全不同?

补充题(自测层面)

  1. ViT(Vision Transformer)和卷积神经网络(CNN)在处理图片时的根本差异是什么?为什么 ViT 更适合搭建多模态模型?
  2. 为什么图片必须经过投影层才能被语言模型消化?投影层在 VLM 里扮演什么角色?
  3. 假设你做了一个 AI 看图应用,上线后发现夜间拍摄的图片错误率明显高于白天拍摄。请列出至少三个可能的原因和对应的工程改进方向。

本章交付物

请按下面清单提交本章过程证据包:

本章讨论的是图像识别和多模态理解的能力边界。后续学习将进一步进入工具调用和动作执行场景,重点讨论如何在 AI 执行任务时避免越权、误操作和信息外泄。