借助 AI 从 0 到 1 搭建图像对比服务(五):VLM 看图说话——让大模型亲眼看图,说出它看见了什么

发布时间:2026/9/1 23:44:58

借助 AI 从 0 到 1 搭建图像对比服务(五):VLM 看图说话——让大模型亲眼看图,说出它看见了什么
借助 AI 从 0 到 1 搭建图像对比服务五VLM 看图说话——让大模型亲眼看图说出它看见了什么一、场景CLIP 和 EXIF 都没解决的那个问题前两只眼睛装好了。CLIP 能比内容像不像EXIF 能查出生证。但做着做着我发现有个场景它俩都搞不定巡检牌上那行字。举个例子。巡检现场每台设备都挂一块牌子写着设备编号、上次保养日期、责任人。工人正常巡检拍的照片上这块牌子清清楚楚有人偷懒拿一张长得差不多的图来顶牌子上那行字其实不一样。CLIP 看这两张图都是厂房的牌子构图一样相似度 0.9——它觉得像。可实际上牌子上的字都对不上这就是该出问题的巡检记录。CLIP 不懂文字EXIF 又只管元数据。要看出字不一样得有人真的把图看一遍读出里面的字。这就是第三只眼睛VLM——视觉大模型让 AI 亲眼看图。二、VLM 是啥先让 AI 讲人话老规矩先问VLM 是啥它跟 CLIP 有啥区别我在巡检场景里能让它帮我看出什么来AI 的回答我翻译一下CLIP 是瞄一眼说像不像VLM 是盯着看半天把看到的说给你听。区别在于输出。CLIP 忙活半天最后只给你一个数相似度 0.9是个哑巴。而 VLM 是个话痨——你给它一张图它能张口说出一大段图里有什么字OCR、有什么东西物体、是个什么场景描述。我要的就是这个——不是让它打个分是让它把图读出来读到字、读到物体我再去比两张图读出来的内容像不像。通过AI匹配硬件资源我用了 Qwen 系的视觉模型Qwen2.5-VL一个开源的视觉多模态大模型本地跑不依赖外部 API。三、给 AI 的指令让它一次说全模型选好了接下来是设计它怎么个说法。AI一开始的想法很简单OCR 是一个任务、认物体是一个任务、描述场景又是一个任务那就分三次调。请分析这张图片返回 JSON 格式 {ocr_text: 识别到的所有文字, objects: [物体1, 物体2], description: 图片描述} 只输出 JSON不要输出其他内容。我想了一下分三次调等于每次都要把整张图再发一遍给模型网络开销三倍、推理三倍、时间三倍。而视觉模型本来就支持看图答多题一次给一张图让它一口气把文字、物体、描述都吐出来用 JSON 包好最划算。我把任务固化成一个叫all的预设OCR 物体 描述三合一以后要单测某一项也留着独立的入口但默认就走这个一次说全。四、落地跟一个话痨打交道的三件麻烦事模型开始返回内容后我发现跟VLM打交道真不是把结果拿来就用有三件麻烦事。麻烦一它说话不老实爱带包装明明让它只输出 JSON它偏要画蛇添足。有时候前面加句好的我来分析有时候把 JSON 包在 markdown 的代码块里json {ocr_text: ...}我拿 json.loads 一看根本无法解析——因为带了代码块标记和废话。 AI 给的解法是**容错解析**先把输出里的 json 代码块剥掉再从第一个 { 到最后一个 } 截取硬抠出 JSON 对象万一 JSON 也有问题再退一步找第一个 [ 到 ]。一层层兜底总有一层能救回来。 这个细节很能说明问题**模型输出是人话不是程序返回值。** 你不能指望它严格守规矩得在客户端做好容错解析。 ### 麻烦二超时了怎么办 视觉模型看图比纯文本慢多了。图片一复杂可能几秒到几十秒都等不到回答。要是请求挂在那整个接口就堵死了。 AI 的处理是**给每次调用设超时超时就标记为失败但绝不让它卡死整个流程。** 而且专门加了个健康检查——在正式干活前先探一下 VLM 服务还活着没GET 一下 /v1/models挂了就直接跳过不白等。 这背后是工程里常说的**快速失败**宁可这次分析失败也不让一个慢服务拖垮全局。 ### 麻烦三VLM 挂了我怎么办 最核心的一个设计问题**VLM 如果不可用了整个服务是不是就得宕掉** AI 的处理很果断VLM 是**可选增强**不是必需。代码里用 enable_vlm 控制默认关。为什么默认关因为它是四只眼睛里**最贵的**——每次都要下载/传图、跑一次大模型推理CLIP 是毫秒级VLM 是秒级成本差一个量级。 于是定下规矩 - **VLM 没启用 / 不可用 → 不影响主流程**其他维度照常打分 - **VLM 可用 → 权重给足**CLIP 权重从 0.5 自动降到 0.9把 VLM 那份让出来总权重始终守恒。 一句话**VLM 是锦上添花不是雪中送炭。它坏了服务照样跑只是少了一双眼睛。** ## 五、怎么比读出来的内容 VLM 把两张图都读出来了怎么比读得像不像这里又有两个维度我逐个验收。 ### 维度一文字像不像OCR 相似度 模型读出了两串文字比如牌子上那行字怎么比AI 用了 Python 内置的 difflib 里的 SequenceMatcher算两段文本的相似度0~1。 原因很简单**它比的是文本序列有多像不是完全一样。** 巡检牌上如果有个字被树挡了一点OCR 可能读错一个字SequenceMatcher 照样能给出 0.9 的高分——比死板的全等判断实用得多。 ### 维度二物体像不像物体重叠度 模型还读出了两串物体列表比如图一是 [管道, 阀门, 仪表]图二是 [管道, 阀门, 仪表, 工人]。怎么比 AI 用了**Jaccard 重叠度**公式就一句大白话 text 重叠度 两串物体都有的数量 ÷ 两串物体加起来的所有数量图一 3 个、图二 4 个共有的是管道、阀门、仪表3 个并集是管道、阀门、仪表、工人4 个重叠度 3/4 0.75。想了想合理性它惩罚多出来的东西——图二多了一个工人说明场景里多了个人重叠度就降了这正好符合我防作弊要抠细节的需求。合起来打分最后AI 把两个维度加权合成一个 VLM 内容分VLM 内容分 OCR 相似度 × 0.6 物体重叠度 × 0.4OCR 占六成因为对巡检防作弊来说文字设备编号、日期是最硬的信息物体只是辅助判断场景。哪个维度没数据就只算有的那个。这个权重倾向我也认同——字对不上比场景里多个东西严重得多。六、小结AI 在整合复杂能力上的价值第三只眼睛装完了。这只跟前两只都不一样——CLIP 和 EXIF 是算一个数VLM 是把一个会说话的大模型调教成合身的看图助手。我在这章最有收获的三点它帮我克制了想当然我以为 OCR、认物、描述要分三次调它一句话点醒——一次调用全包了省三倍成本。AI 会给出我没想到的优化路径。它把VLM返回的自然语言变成了标准动作容错解析、超时、健康检查、快速失败这些跟AI 打交道才特有的坑它全都提前铺好了路。跟 VLM 沟通跟调普通 API 完全是两回事。它始终坚持主流程不被拖垮VLM 再强也是可选项默认关、挂了不影响大局、权重自动守恒。贵的眼睛永远是辅助。四只眼睛装好三只了。剩最后一只也是防作弊最对症的一只——防翻拍检测专门对付那种拿屏幕/照片再拍一遍的作弊手法。下一篇进第四只眼睛也是最有工业味的一只。

相关新闻

LLM应用性能测试:TTFT/TPOT指标拆解与缓存感知的压测落地

LLM应用性能测试:TTFT/TPOT指标拆解与缓存感知的压测落地

2026/9/1 23:34:58

AI应用的质量保障,大家盯着RAG检索命中率、回答忠实度这些"对不对"的指标,但"快不快"——性能测试,往往是最晚补的一课。等线上用户开始骂"转圈圈"才想起来压测,已经晚了。LLM应用的性能测试和传统…

低价DeepSeek API站点接入验证与排查指南

低价DeepSeek API站点接入验证与排查指南

2026/9/1 23:34:58

一个 DeepSeek API 站点,价格只要官方渠道的 0.15 倍,也就是打 1.5 折。光看这个数字,很多人第一反应是“便宜到离谱”,第二反应是“是不是有坑”。我的判断是:低价站点不是不能用,但要把它当生产依赖&…

[光学原理与应用-601]:为什么两束光(光子)之间,在真空里无法直接互相影响、互相改变

[光学原理与应用-601]:为什么两束光(光子)之间,在真空里无法直接互相影响、互相改变

2026/9/1 23:34:58

为什么两束光(光子)之间,在真空里无法直接互相影响、互相改变核心结论:真空中两束光相遇,只是简单叠加、穿过彼此,不会改变对方的频率、方向、能量;光子和光子之间没有直接作用力。只有穿过介质…

【IEEE出版、香港大学主办、设置评优】第六届计算机视觉、应用与算法国际学术会议(CVAA 2026)

【IEEE出版、香港大学主办、设置评优】第六届计算机视觉、应用与算法国际学术会议(CVAA 2026)

2026/9/2 0:45:01

第六届计算机视觉、应用与算法国际学术会议(CVAA 2026) 将于2026年9月18日至20日在中国香港举行。本次会议旨在为计算机应用、视觉与算法相关领域的研究人员、学者以及行业专家提供一个卓越的学术交流平台,促进计算机领域的思想碰撞与合作创新…

Python编程实践:“_”开头的变量

Python编程实践:“_”开头的变量

2026/9/2 0:45:01

于其中, 用单下划线 _ 起始的命名, 像 _name 等等这般, 属于一种大家向来都这么做的固有规范, 并非是语言强硬要求的语法准则。它主要是用来给代码的阅读者, 涵盖未来的你自己, 传递特定的意向。当存在一个变量, 或者是一个方法, 又或者是一个属性, 只要它是以 _ 开头的, 那么它…

AI城市空间决策平台:跨尺度分析的破局之道

AI城市空间决策平台:跨尺度分析的破局之道

2026/9/2 0:45:01

我们看城市问题的时候,习惯性从两个极端出发。要么盯着全球尺度的宏观趋势,比如人口流动、经济圈层、碳排放空间格局;要么聚焦到一个具体地块,比如某个片区适不适合新建学校、某个旧改单元容积率放到多少合理。真正做事的人很快就…

基于YOLOv8的智慧社区高空作业安全监测系统实战解析

基于YOLOv8的智慧社区高空作业安全监测系统实战解析

2026/9/2 0:45:01

简介:面向智慧社区的高空作业安全监管需求,这套基于YOLOv8的监测系统是一份可直接运行的完整工程包,覆盖源码、可视化界面、完整数据集和部署教程,非常适合本科毕业设计或课程设计选用。YOLOv8在实时目标检测上具备速度快、精度高…

Google Flow AI视频生成工作流:从草图到电影级成片

Google Flow AI视频生成工作流:从草图到电影级成片

2026/9/2 0:45:01

Google Flow 这类 AI 视频生成工具,已经不只是“输入一句话生成一段视频”的玩具。真正想用它产出电影质感、镜头连贯、故事线完整的成片,需要把分镜草图、提示词设计、镜头参数、多版本筛选和后期增强串成一条可复现的完整工作流。本文围绕 Google Flow…

【单片机课程设计/毕业设计】基于 STM32 或 51 单片机的声光报警智能恒温出水系统设计 基于 STM32 或 51 单片机的手机 APP 远程饮水控制终端设计(024805)

【单片机课程设计/毕业设计】基于 STM32 或 51 单片机的声光报警智能恒温出水系统设计 基于 STM32 或 51 单片机的手机 APP 远程饮水控制终端设计(024805)

2026/9/2 0:35:01

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/1 1:53:39

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/9/1 9:55:14

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/9/1 23:49:08

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

2026/9/2 0:04:59

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

2026/9/2 0:04:59

这次我们来看一个很实用的 DeepSeek 落地场景:用 DeepSeek 把英文视频字幕自动翻译成中文。具体案例是《恶魔君》1989 年第 28 集的英转中字幕任务,标题写得很直白,但背后其实是一整套可以复用的技术流程:字幕解析、模型调用、批量…

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

2026/9/2 0:04:59

当你家里摆着一台天猫精灵,却总希望语音助手偶尔“不正经”一点,不用官方腔回答问题,而是张口就接几句搞笑段子,会是什么体验?我最近动手验证了一下这个想法——没有去改装任何市面上现有的智能音箱,而是直…

远程协作的工作台整理

远程协作的工作台整理

2026/9/1 0:03:36

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/1 0:03:36

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/1 0:03:36

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…