两个临沂客户,一个数据飞轮:我的工业AI视觉系统如何越用越聪明

6 阅读12分钟

一、开头:从60%开始

先说实话。

我们的视觉系统,在临沂本地两个真实客户那里,一开始的识别率只有60%左右。

不是算法不行。LightGlue是顶级的,我们的技术栈也没问题。

问题出在一个所有工业AI都会遇到的坎上:模型不认识客户的产品

你拿再好的模型过来,它没见过浸胶纸的纹理,没见过玻璃的反光面——它就是认不出来。

这不是算法的错,这是“没见过”的问题。

而我们的解法,不是换一个更强的模型,而是建立一套机制,让模型在客户的使用过程中,自己学会认识客户的产品

这套机制,我们叫它“数据飞轮”。

二、我们的系统能做什么?

在展开讲飞轮之前,先说说这套系统的能力边界。

物体识别、图形分类、缺陷检测、纹理分割……这些基础的视觉任务,我们的系统都能做。

但这篇文章里,我只讲最难的——子图检测(也叫模板匹配、样图定位)

什么是子图检测?给一张样图(比如某个产品的局部纹理、LOGO、特征区域),在一张大图里找到它的位置,并返回精确的坐标和置信度。

这个任务比单纯的分类要难得多:

挑战说明
尺度变化样图可能被放大或缩小
旋转变化产品摆放角度不固定
光照变化车间光线、阴影、反光
部分遮挡产品堆叠、边缘被切
形变柔性材料、曲面产品
背景干扰复杂纹理、相似图案
实时性产线要求毫秒级响应

为什么只讲最难的?因为最难的我都能搞定,简单的自然不在话下

整个视觉任务从易到难的排序是这样的:

任务说明难度
物体分类识别“这是什么”⭐⭐
目标检测框出物体的位置⭐⭐⭐
图像分割像素级提取轮廓⭐⭐⭐
缺陷检测识别划痕、脏污、破损⭐⭐⭐
子图匹配给定样图,精确定位⭐⭐⭐⭐⭐

子图匹配是整个视觉任务里最难的一类。我们的系统已经把这个难关攻克了,其他任务自然不在话下。

三、飞轮的第一推动力:让标注成为工作流的一部分

很多AI项目的瓶颈是标注。

专门找人标注,成本高、效率低、质量差。客户不愿意干。

我们的思路是:不让客户“帮我们标注”,而是让客户在完成自己工作的同时,“顺便”把标注做了。

操作员每天的工作就是“对样”——看一个产品是不是和样图匹配。

匹配上了,点一下确认。没匹配上,拖个框框出来,告诉系统“是这个”。

就这么简单。

一次操作,完成了两件事:

  1. 完成了当天的检测任务
  2. 为系统贡献了一条高质量的标注数据

一次人工确认,就是一次高质量标注。一次人工纠正,就是一次模型“特训”。

客户不是在帮我们干活。他们是在干自己的活,顺便让系统变聪明。

两个临沂客户,6个月,累计贡献了3000+张标注样图。  这些数据,就是飞轮的燃料。

四、飞轮的加速器:主动学习筛选高价值样本

不是所有数据都值得训练。

有些图片模型本来就能认对,训练它也没用。有些图片模型永远认不对(比如拍糊了的),训练它反而有害。

我们设计了主动学习机制

系统会自动筛选那些“犹豫不决”的样本——相似度在0.4-0.6之间的。

这些样本,模型“好像认识,又不太确定”,恰恰是最有训练价值的。

系统把它们挑出来,优先请求人工确认。

每一条标注,都用在刀刃上。

五、反例与难例——模型成长的“教练员”

数据分成两种:正例(这是样图)和反例(这不是样图)。

大多数系统只关注正例。但我们的经验是:反例的收集和利用,往往比正例更能提升模型的鲁棒性。

为什么?

因为模型“乱认”比“认不出”更致命。认不出,大不了人工看一下;乱认,会导致漏检和误判,影响生产。

第一类:难例——让模型“知错能改”

当模型对一张图片“犹豫不决”(相似度0.4-0.6),系统自动标记为难例,优先请求人工确认。

人工确认后,这条数据进入难例库,用于下一轮训练。每一次人工纠正,都是对模型的一次“特训”。

案例:临沂某玻璃厂的“反光面”问题,就是通过收集了40多个难例、经过2轮针对性微调后,基本解决的。

第二类:反例——让模型“知道什么不是”

很多时候,模型会“瞎匹配”——把完全不相关的东西认成样图。

我们的客户端有一个 “反例”按钮,当操作员发现模型认错了,可以一键提交。

反例告诉模型:“这个东西不是我们要找的,下次别再认错了。”

注意:反例只在客户端主动提交时才保存。我们不会在检测过程中自动保存,因为那可能会把真正的新产品误标成反例。

两种机制的区别:

类型作用来源举例
难例让模型“学会”困难样本系统主动筛选 + 人工确认反光面、倾斜角度、遮挡情况
反例让模型“学会拒绝”客户端主动提交完全不同的产品、背景干扰物

实际效果:玻璃厂的误检率从15%降到3%,操作员反馈“现在基本不会有‘瞎认’的情况了”。

六、飞轮的心脏:自动训练 + 自动部署

数据积累起来了,谁来训练?多久训练一次?怎么部署?

我们的方案:全自动。

后台有一个AutoTrainManager,每天晚上22:00自动检查:

  • 数据量够不够?
  • 有没有新标注?
  • 模型需不需要更新?

如果需要,它就自动启动训练。

训练在3060 GPU服务器上完成。一个微调周期大概1-2小时。

训练完成后,系统会自动评估新模型:

  • 用测试集跑一遍
  • 对比新旧模型的各项指标
  • 只有新模型全面优于旧模型,才会被部署

如果新模型效果下降,系统会自动回滚到之前的版本。

整个过程,客户无感知。他们只会在第二天发现:昨天还认错的图片,今天突然认对了。

七、两个临沂客户的数据飞轮

客户A:临沂某浸胶纸厂

阶段时间做了什么识别率
初期第1个月当图库用,上传样图
起步第2-3个月从最简单的一款产品开始比对60% → 75%
深入第4-5个月逐步增加产品品类75% → 85%
当前第6个月持续标注难例,系统自动训练12轮85% → 92%

累计贡献标注:约1800张

客户反馈:“比刚买的时候准多了。现在基本不用人看了。”

客户B:临沂某玻璃加工厂

阶段时间做了什么识别率
初期第1个月当图库用,上传样图
起步第2个月从光滑面产品开始58% → 70%
深入第3-4个月攻克反光面难题,收集40+难例70% → 82%
当前第5个月持续标注,累计200+反例82% → 88%

累计贡献标注:约1200张

客户反馈:“反光的问题基本上解决了。之前经常误报,现在很少了。”

两个客户,6个月,累计3000+张标注,自动训练20轮,识别率平均提升25个百分点。

八、商业模式:风险共担,成果共享

我们的收费模式,和传统软件公司不一样。

传统模式:客户付全款 → 我们交付软件 → 效果好不好看运气。客户承担全部风险。

我们的模式:

  1. 客户付初期款:金额不高,买一个“能用的系统 + 数据积累机制”
  2. 客户先当图库用:先上传样图和原图,零门槛上手
  3. 从简单比对开始:让客户先看到价值,建立信任
  4. 一点点深入:随着数据量增加,模型逐步覆盖更难的场景
  5. 识别率达到95%后收全款:风险共担,结果导向

为什么敢这么承诺?

因为两个临沂客户的飞轮已经证明了:只要数据在积累,识别率就一定会提升。

九、不止于两个客户:我们正在构建跨行业的视觉认知平台

两个客户,两个不同的行业,都在临沂,同一套机制,都在变好。

这不是巧合,这是方法论的可复制性。

我们的野心不止于此。我们正在做的,是为每一个行业建立专属的视觉图库

├── 浸胶纸行业(临沂)/
│   ├── 样图库:1800+张
│   ├── 难例库:XX个
│   ├── 反例库:XX个
│   └── 识别率:92%
├── 玻璃加工行业(临沂)/
│   ├── 样图库:1200+张
│   ├── 难例库:40+个
│   ├── 反例库:200+个
│   └── 识别率:88%
├── 五金件行业/
│   ├── 样图库:进行中
│   └── 目标识别率:80%起步
└── ...(未来扩展)

未来的平台架构:

一个通用视觉基座模型,各个行业有自己的分支模型。

新客户进来,只需要说“我是哪个行业的”,就能拿到该行业的专属模型,识别率80%起步。

剩下的20%,由客户自己的数据飞轮完成。

这个平台的价值:

  • 对新客户:开箱即用,不用从零开始
  • 对老客户:同行业其他客户的数据,也会间接提升本厂模型
  • 对我们:客户越多,平台越强;平台越强,越吸引新客户
  • 对临沂本地:形成区域性的工业视觉数据壁垒

十、硬件配置

组件型号/规格说明
工业相机海康800万像素GigE Vision协议,长距离传输稳定
客户端i5/8GB/无独显QT界面,显示、标注、检测
服务端RTX 3060模型推理 + 自动训练
网络千兆局域网MQTT + HTTP 通信

十一、系统架构总览

┌─────────────────────────────────────────────────────────────────────┐
                        工业AI视觉系统架构                            
├─────────────────────────────────────────────────────────────────────┤
                                                                     
  ┌──────────────┐      ┌──────────────┐      ┌──────────────┐      
   海康工业相机   ───▶   QT客户端     ───▶   Python服务        
   800万像素            - 显示图像          - LightGlue       
   GigE Vision          - 拖拽标注          - 特征匹配        
                        - 对样检测          - 结果返回        
                        - 反例提交                            
  └──────────────┘      └──────┬───────┘      └───────┬──────┘      
                                                                   
                                 MQTT/HTTP            训练数据     
                                                                   
                                             ┌──────────────┐      
                                               GPU服务器         
                                               RTX 3060          
                                               - 模型微调        
                                               - 版本管理        
                                               - 自动部署        
                                             └──────────────┘      
                                                                     
                                                                     
                        ┌──────────────┐                            
                          行业图库池                              
                          - 浸胶纸                                
                          - 玻璃加工                              
                          - 五金件                                
                          - ...                                   
                        └──────────────┘                            
                                                                     
  🔄 数据飞轮:使用  标注  训练  部署  更好用  更多使用        
└─────────────────────────────────────────────────────────────────────┘

十二、技术亮点总结

机制作用当前数据
主动学习自动筛选高价值样本自动筛选难例,优先人工确认
难例库针对性训练,攻克疑难场景玻璃厂反光面问题,40+难例 → 误检率15%→3%
反例管理降低误检率,让模型学会“拒绝”累计200+反例,客户端主动提交
自动训练每周/每日自动微调客户A12轮,客户B8轮,总计20轮
版本管理新模型评估、自动回滚保证线上稳定性
数据飞轮越用越准,形成壁垒两个临沂客户验证有效
标注总量3000+张6个月,两个客户累计

十三、一个补充说明

可能有读者会问:你们只做样图匹配吗?

不。

我们的系统底层是LightGlue + 自研训练框架,这套能力可以支撑多种视觉任务:

  • 需要分类?可以
  • 需要检测?可以
  • 需要分割?可以
  • 需要缺陷检测?可以

我们之所以重点讲子图匹配,是因为它是整个视觉任务里最难的一类。一旦把最难的问题解决了,其他任务就是技术降维。

用一句大白话说:我能做奥数题,自然也会做加减法。

十四、这不是终点

两个临沂客户的数据飞轮已经在转了。

他们的使用频率在增加,标注数据在积累,识别率在提升。

3000张标注只是开始。随着客户使用深入,这个数字会变成5000、10000。每一张新标注,都会让模型再聪明一点点。

我们的平台也在扩展。每个新行业进来,一开始也是60%起步。但只要数据飞轮转起来,它就会自己加速。

我们的目标不是做一个完美的模型。

我们想建一个“越用越聪明”的生态系统。

每一家客户都在为这个系统添砖加瓦,同时也从系统中获益。

这是一个别人很难复制的东西。

因为数据积累需要时间,时间追不上。
因为网络效应一旦形成,迁移成本极高。
因为两个临沂客户的飞轮已经证明了:这条路走得通。

最后,用客户的话收尾:

“比刚买的时候准多了。现在基本不用人看了。”

这就是我们想要的——不是做一个完美的演示,而是让真实客户,在真实产线上,看到真实的效果。

(全文完)