资讯动态

工业视觉检测落地:从识别率陷阱到质量大脑的验收与部署

发布时间:2026/10/29 12:11:43 来源:尧图企业网站定制
1. 99%识别率到底骗了谁工厂里那笔算不清的账工业视觉这个行当最魔幻的一幕我见过不止一次供应商在会议室投屏混淆矩阵一摆准确率 99.2%台下鼓掌三个月后产线验收班组长拿着记录本说一天误报两百多次早就关掉了。同一套模型同一批图片为什么数字能差这么多问题不在于谁在撒谎而在于识别率这三个字在实验室和在车间里根本不是一回事。工业视觉要真正变成工厂的质量大脑第一件要干的事不是换更大的模型而是把指标口径掰开揉碎重新算一遍。先说清楚这篇东西是写给谁的。如果你正在做产线的视觉检测项目不管是自己带队落地还是作为甲方去验收供应商的方案或者你是算法工程师第一次被派到车间那接下来的内容应该能帮你少走几个月的弯路。我不会讲太多论文里的东西主要讲现场那套账怎么算、坑在哪里、怎么绕。1.1 实验室指标与产线指标的三处口径差第一处差在样本分布。实验室的数据集是人工挑过的良品占大头缺陷样本按类别均衡采样每类凑够几百张。真实产线不是这样某类缺陷一个月可能就出现三次另一类天天有换一批来料缺陷形态整个变样甚至同一台设备早上开机前两小时和下午的成像都不一样——光源发热、镜头沾灰、环境光变化都会让像素分布漂移。你在均衡数据集上跑出来的 99%落到这种长尾分布上召回率掉到 70% 都不奇怪。第二处差在判定边界。实验室里一张图只有一个标签是缺陷就是缺陷。产线上大量样本落在说不清的灰色地带轻微划痕算不算尺寸在公差边缘 0.01mm 的偏移算不算这些样本在标注阶段就被不同的人贴上了不同标签模型学到的其实是一团噪声。我见过一个项目两个标注员对同一批 500 张图的判定一致率只有 82%这种情况下模型准确率的天花板早就被标注质量锁死了练到 99% 只能说明它过拟合了标注员的口径。第三处差在评价方式。离线评估是给一批图出结果比标签。在线是来一个件必须在节拍内出结果错了要有人兜底。前者可以慢慢跑后者要卡时间前者错了只影响一行数字后者错了要么流出到客户端要么停机等人复判。这两种场景下的准确率根本不可比。1.2 误检和漏检的成本根本不对称这是最容易被忽略、但影响最大的一件事。在工厂里漏检把坏件判成好件和误检把好件判成坏件的成本完全不在一个量级。漏检的代价是流出坏件装到总成上轻则返工拆解重则客户投诉、批量召回、质量索赔。一次批量流出事件的处理成本可能顶得上一年的视觉系统投入。误检的代价是复判多一个人看一眼多花三十秒最坏情况是停线几分钟。我一般会给客户算这么一笔账假设单件毛利 50 元漏检流出后的处理成本返工运费信誉折损保守按 2000 元/件算误检复判成本按 3 元/件算两者差 600 多倍。这意味着什么意味着在阈值设定上宁可过杀一千不可放过一个。但绝大多数供应商交付时用的是默认的 0.5 置信度阈值也压根没跟客户讨论过这个比例关系这就是后面扯皮的根源。从统计上讲这件事有个很干脆的结论当漏检成本是误检成本的 k 倍时最优判决阈值应该让似然比落在 k 附近而不是落在 1 附近。翻译成人话就是模型输出 0.15 的置信度在均衡场景下判良品在漏检代价极高的场景下就该判缺陷送复判。这个阈值不是拍脑袋定的是要拿成本表算出来的。1.3 真正的验收指标该怎么定我的建议是验收文件里别写准确率≥99%这种话改成下面这组可测、可复现、可追责的指标指标定义建议写法关键缺陷召回率致命缺陷被检出的比例≥99.5%按缺陷类型分别考核一般缺陷召回率非致命缺陷检出比例≥95%过杀率良品被判为待复判/缺陷的比例≤3%超出需说明单件处理时间从触发到输出结果≤产线节拍的 70%复判工作量每班次人工复判张数≤N 张/班可量化数据留存完整率图像结果参数完整落盘比例100%关键在于最后一列要写按缺陷类型分别考核。整体召回率是个会被稀释的数字——如果某类致命缺陷只占样本的 1%模型全判良品整体召回率照样能到 99%。这种把戏在验收时非常好用也非常坑人。所以验收清单里必须强制要求分类型出混淆矩阵且每类样本数写明。还有一条经验验收要用产线真实来料不能用供应商自己准备的样本集。我一般要求连续跑三个班次覆盖换批、换班、开机、停机再启动这几个时间点。很多模型的问题就出在停机两小时后重新开机这个时刻——光源温度没稳定图像整体偏暗模型集体误判。这个场景在实验室永远测不出来。2. 从拍照打卡到质量大脑整体架构怎么搭拍照打卡这个词用得特别准。很多工厂的视觉系统本质上就是个打卡机产品过来了拍一张出一个 OK/NG结果往 PLC 一写完事。图像存不存看心情存了也没人看看了也不分析分析了也不改工艺。这套东西能干活但它不产生任何增量价值出了问题还得靠人拿放大镜翻。质量大脑的区别不在于算法多先进而在于它是不是处在一个闭环里。拍到的每一张图都应该能回答三个问题这个件为什么被判成这样如果判错了是谁的责任成像、模型、标注还是工艺这批异常和上游哪个参数有关能回答这三个问题它才配叫大脑回答不了再高的识别率也只是个贵一点的打卡机。2.1 先认清四个层级的成熟度我在做项目评估时习惯把客户的现状归到四个层级里因为不同层级该做的事完全不同跳级做必然翻车。第一级单点检测。一个工位一个相机独立判断结果只给 PLC。这是绝大多数工厂的现状也是拍照打卡的典型形态。第二级检测追溯。图像和结果按件号落盘能按批次、按时间、按设备反查。这一级看着简单但真正做到的不多——很多系统的图像只存七天硬盘一满就自动覆盖出了批量问题根本查不到当时的图。我一般的建议是缺陷图永久保留良品图按周期滚动且缺陷图的存储要单独做容量规划。第三级检测反馈。结果不只是 OK/NG还要有人工复判的确认结果回流形成模型判-人复核-结果回写的循环。这一级的核心价值是让模型能持续迭代而不是交付即巅峰。第四级检测根因干预。缺陷数据能和工艺参数温度、压力、速度、来料批次做关联分析能定位到这批划痕集中在二号模腔这个时段的偏位和张力波动同步进而推动工艺调整。到这一级视觉系统才真正开始影响良率而不只是记录良率。绝大多数项目卡在二级到三级的门槛上因为复判回流需要改流程、加人力、定责任是管理问题不是技术问题。2.2 光学与算法谁先先谁后这个问题我被问过无数次答案很干脆成像不行算法白搭。我见过太多团队一上来就讨论用哪个 backbone、要不要上 Transformer却没人去看一眼打光。结果是缺陷在图像里压根不可见或者对比度低到人眼都要眯着看然后指望模型从噪声里抠出信号。这不现实。判断成像是否达标有个土办法把缺陷图拿给三个没做过这个项目的人看如果三个人都能在五秒内指出缺陷位置并达成一致成像基本合格如果三个人指的位置都不一样那就是光学方案的问题先回去改光源角度、加偏振片、换同轴光或者调背光别急着调模型。光学方案定下来之后算法的工作量能砍掉一大半。我经手的一个表面缺陷项目前期在算法上折腾了两个月召回率卡在 85% 上不去后来换了一个低角度环形光加一路暗场照明同一套模型召回率直接到 96%。光学投入的那点钱比两个月的算法人力便宜多了。2.3 数据回流链路才是分水岭我在前面说过二三级之间的门槛是管理问题。具体难在哪难在复判结果的格式统一和自动回写。理想状态是模型判 NG自动弹窗给复判员复判员点确认缺陷或误报这个结论带着图像 ID、时间戳、工位号自动写回数据库进入下一轮训练集。听着很顺但落地时会遇到一堆细节复判员的操作要足够快否则跟不上节拍最后变成懒得点直接放过复判界面必须显示模型给出的缺陷框和置信度否则复判员等于从零判断效率极低误报样本要能自动打标签进入负样本池否则模型永远不知道自己错在哪复判数据要定期做一致性抽检防止复判员疲劳后乱点。这几条里任何一条没做好回流链路就断了系统永远停在二级。3. 核心细节拆解成像、样本、模型、部署这一章是纯技术账我会把几个必须算清楚的数字写出来你可以直接拿去套。3.1 成像方案的三笔硬账第一笔分辨率够不够。公式很朴素单像素精度 视野宽度 ÷ 相机横向像素数假设视野 100mm × 80mm用 500 万像素相机2448 × 2048单像素精度 100 ÷ 2448 ≈ 0.041mm。业内通行的经验是最小缺陷尺寸至少要占 3 到 5 个像素才能稳定检出。那么这套配置能稳定检出的最小缺陷是 0.041 × 3 ≈ 0.12mm。如果你要检 0.05mm 的划痕这套配置就不够。要么缩小视野比如分两路相机要么上更高分辨率1200 万像素单像素精度 0.025mm0.05mm 占 2 个像素还是不够要么改光学放大。这时候很多团队会选择先上算法超分我的建议是别抱太大期望超分出来的细节是猜的不是测的工业检测要的是可重复性不是好看。第二笔曝光时间够不够。运动模糊是隐形杀手。公式允许曝光时间 允许模糊量 ÷ 运动速度假设产线速度 500mm/s允许模糊量为 1 个像素0.041mm则曝光时间 ≤ 0.041 ÷ 500 82 微秒。80 微秒是很短的曝光普通工业相机在连续光下很难拿到足够亮度这时候就要上频闪光源 硬件触发让光源在曝光的瞬间打一束强光。这一步省不得省了就是一片糊。第三笔景深够不够。工件有高低差的时候景深不足会导致部分区域失焦。景深和光圈、放大倍率、允许弥散圆都相关粗略经验是放大倍率越大景深越浅。远心镜头的景深通常只有零点几毫米。如果工件表面起伏 2mm就得考虑用大景深方案或者多次对焦拍摄别指望一个定焦镜头包打天下。下面这张表是我常用的选型速查可以直接对照检测需求关键约束常见做法微小划痕、裂纹分辨率高分辨率相机远心镜头暗场照明尺寸测量畸变、标定远心镜头背光亚像素边缘表面异物对比度多角度光源分时打光多图融合装配缺件视野覆盖大视野分区打光或分多工位颜色差异色温稳定恒色温光源白平衡标定避免环境光干扰3.2 样本台账怎么建样本管理是工业视觉项目里最脏最累、但最决定成败的活。我的做法是建一张缺陷台账字段至少包括缺陷类型、发现时间、工位、批次、来料供应商用代号、图像路径、标注人、标注时间、是否复判确认。这张表的价值在于它让模型为什么在这个批次上崩了变得可追。比如某天召回率突然掉了 15 个点一查台账是换了来料批次缺陷从线状划痕变成了点状凹坑模型没见过。有台账十分钟定位没台账查三天。台账还有两个隐藏作用。一是标注一致性抽检定期抽 5% 的样本让第二个人重标算一致率低于 90% 就要停下来重新对齐标准。二是长尾监控统计每个缺陷类型在过去 30 天的出现次数那些一个月只出现一两次的类型模型大概率学不好要单独做小样本策略合成、增强、或者干脆规则兜底。3.3 模型选型与灰度区间模型选型这件事我的观点可能不太主流在工业检测里能稳定复现的简单模型比指标高 2 个点的复杂模型更值钱。原因很实在。产线上的模型要跑三年中间要换人维护、要重新训练、要解释给审核方听。一个结构复杂、依赖一堆 trick 的模型换个工程师就调不动了。所以在精度满足要求的前提下我优先选结构清晰、训练流程标准化、能一键复现的方案。具体到任务类型分类任务这个件是好是坏小网络足够重点在数据增强和阈值调优检测任务缺陷在哪主流单阶段检测器够用注意小目标问题必要时切图检测分割任务缺陷形状、面积用于需要测量面积的场景标注成本高要提前规划异常检测只有良品样本适合缺陷样本极少的新线但误报率通常偏高必须配复判。比模型选型更重要的是灰度区间设计。我一般把输出分成三段高置信缺陷直接 NG、高置信良品直接 OK、中间灰度区送人工复判。灰度区的宽度由成本表决定前面算过漏检成本是误检的几百倍时灰度区要往良品方向大幅偏移。这里有个实操细节灰度区比例要控制在 5% 以内否则复判员会被压垮最后变成闭眼点确认。如果灰度区长期超过 10%说明模型对这个场景的区分度不够该回去查成像和样本了而不是继续调阈值。3.4 边缘部署与节拍预算节拍预算这件事我建议在项目第一天就画出来因为它会反向约束所有技术选择。举个例子产线节拍 3 秒那么时间预算大概是这样切的环节预算说明触发与稳定100ms光电触发到相机就绪曝光与传输150ms含频闪同步、图像读出预处理50ms解码、缩放、ROI 裁剪推理400ms单模型或串行多模型后处理与判定50ms阈值、NMS、逻辑组合通信与落盘150ms写 PLC、异步存图余量2100ms留给抖动、重试、异常这个表的关键是余量要留足。我见过太多系统把预算卡到 95% 利用率结果一遇到图像传输抖动就超时超时后要么丢帧要么误判稳定性一塌糊涂。经验值是实际占用不超过节拍的 70%剩下的留给不确定性。部署形态上边缘工控机 独立显卡是最常见的组合优点是延迟可控、不依赖网络。如果要多工位集中管理可以做边缘推理 中心训练的分离架构边缘只跑推理和缓存训练和模型管理放在中心服务器模型通过版本号下发边缘侧支持灰度切换和回滚。这套架构的好处是模型更新不用停线出问题能一键回退到上一版。4. 实操落地一个缺陷检测项目的完整走法这一章我按真实项目的推进顺序讲从选点到验收中间穿插参数计算和现场记录。4.1 选点与可行性验证选点是最容易被忽视的一步。很多人觉得哪个工位都能上视觉实际上有些工位天生不适合缺陷在内部、被遮挡的先解决可见性缺陷定义本身模糊、老师傅都说不清的先定义标准缺陷发生率极低万分之一以下的投入产出比要重新算环境振动大、油污重、温度高的先解决防护。可行性验证POC我一般分三步走每步都有明确的通过标准第一步成像验证。在真实产线上连续拍 200 件覆盖至少两个批次。标准缺陷在图像中可辨同一缺陷在不同件上的呈现一致性达到 80% 以上。不通过就调光学别往下走。第二步离线算法验证。用第一步的图像做训练和测试注意划分要按批次划分不能随机划分——随机划分会高估性能因为同批次的样本太像了。标准关键缺陷召回率 ≥ 95%过杀率 ≤ 5%。第三步在线试跑。接上 PLC影子模式运行只记录不控制跑满 24 小时。标准无超时、无崩溃判定结果与人工抽检一致率 ≥ 90%。这三步里第二步的按批次划分是我特别想强调的。很多团队图省事用随机划分测试集里全是和训练集同批次的样本结果上线就崩。这个坑我踩过返工了两周。4.2 参数计算与现场调试记录我拿一个实际调过的项目举例数据做了脱敏。工件是小型金属件要检测表面划痕和缺料产线节拍 2.5 秒。分辨率计算视野定在 60mm × 45mm用 500 万像素相机单像素精度 60 ÷ 2448 ≈ 0.0245mm。最小划痕约 0.08mm 长、0.02mm 宽宽度方向只有不到 1 个像素不够。于是改成两路相机分区拍单路视野 30mm × 22.5mm单像素精度 0.0123mm划痕宽度占 1.6 像素仍然偏紧。最后上了 1200 万像素 2 倍放大单像素精度 0.005mm划痕宽度占 4 个像素达标。曝光计算产线速度 300mm/s允许模糊 1 像素即 0.005mm曝光时间 ≤ 0.005 ÷ 300 ≈ 17 微秒。这个太苛刻只能放宽到允许 2 像素模糊曝光 ≤ 33 微秒配频闪光源实测图像边缘清晰度可接受。节拍预算2.5 秒节拍两路相机串行采集单路采集 120ms推理 280ms总占用约 900ms占比 36%余量充足。现场调试记录里最花时间的其实不是这些计算而是光源角度。划痕在不同角度下对比度差异极大我们试了 6 种角度组合最后定的是低角度暗场 一路同轴补光两种光分时曝光、图像融合。这个组合让划痕的信噪比提升了约 3 倍模型训练难度直线下降。4.3 上线验收与灰度放量上线不要一把梭。我的做法是分三段放量第一段影子运行 1 周。系统只看不控所有结果落盘每天人工抽检 200 件比对。这一段的目标是收集真实分布的误报样本通常能捞出一批训练集里没有的形态。第二段灰度控制 2 周。系统对高置信缺陷直接拦截灰度区送复判高置信良品放行。这一段重点看两个数拦截率是否稳定、复判量是否可承受。第三段全量控制。前面两段没问题再全量。全量后仍要保持每周一次的数据 review看误报样本的分布有没有变化。验收表我一般这么填验收项目标值实测结论关键缺陷召回≥99.5%99.7%通过一般缺陷召回≥95%96.2%通过过杀率≤3%2.4%通过单件处理时间≤1.75s0.9s通过灰度区占比≤5%4.1%通过连续运行稳定性72h 无故障72h 无故障通过4.4 推理服务代码骨架下面这段是我常用的推理服务骨架去掉了业务细节保留关键结构。重点看灰度区间和异步落盘这两块这是现场最容易出问题的地方。import time import numpy as np from dataclasses import dataclass dataclass class Decision: label: str # OK / NG / REVIEW score: float boxes: list class Inspector: def __init__(self, model, thr_ng0.85, thr_ok0.15, takt_ms2500): self.model model self.thr_ng thr_ng # 高于此值直接判缺陷 self.thr_ok thr_ok # 低于此值直接判良品 self.takt_ms takt_ms self.budget_ms takt_ms * 0.7 def infer(self, image): t0 time.perf_counter() raw self.model(image) # 返回 [(cls, score, box), ...] elapsed (time.perf_counter() - t0) * 1000 if elapsed self.budget_ms: # 超预算不静默丢弃标记为待复核避免漏检 return Decision(REVIEW, 0.0, []), elapsed if not raw: return Decision(OK, 0.0, []), elapsed top_score max(r[1] for r in raw) if top_score self.thr_ng: label NG elif top_score self.thr_ok: label OK else: label REVIEW # 灰度区送人工 return Decision(label, top_score, raw), elapsed配套的两个工程细节必须做一是异步落盘存图放到独立线程或队列里绝不能卡在主链路上二是超时兜底超时的件不能默认判 OK要判 REVIEW 走人工这是漏检防线上的最后一道闸。5. 常见问题与排查技巧实录5.1 现场十大典型故障速查表现象常见根因排查动作上线后召回率骤降训练/测试按随机划分分布泄漏改按批次划分重训每天固定时段误报激增环境光干扰如天窗采光加遮光罩改用调制光停机再开机集体误判光源未预热亮度漂移加预热延时或做亮度闭环同一件重复拍结果不一致触发抖动、曝光不同步检查编码器触发与频闪时序小缺陷检不出分辨率不足或对比度低核算单像素精度改光学边缘件误判多视野边缘畸变、暗角缩小有效视野或做畸变校正复判量居高不下灰度区过宽、标注口径不一重算阈值做标注一致性抽检模型越训越差误报样本被当成缺陷标签回流区分模型误报与真实缺陷标签换料后性能崩域偏移新批次形态未见建立换批预警快速增量训练系统跑几个月后变慢日志/图像堆积占满磁盘容量规划缺陷图与良品图分开策略这张表里我特别想展开说的是第四行和第八行这两个是隐蔽性最强、最难查的。触发抖动这个问题症状是同一件东西拍两次结果时好时坏。很多人的第一反应是模型不稳其实是硬件时序。编码器信号抖动几十微秒在高速产线上就是几个像素的位移缺陷位置全变了。排查方法很简单把触发信号和频闪信号同时接到示波器上看抖动超过曝光时间的 10% 就要处理。误报样本污染训练集这个问题更阴险。系统上线后收集了一堆模型说是缺陷、人工说是误报的样本这些样本被当作负样本回流训练。听起来对但如果人工复判本身有错或者这些样本其实是轻微但真实的缺陷模型就被教坏了。我的做法是回流时给样本打三级标签确认缺陷、确认误报、存疑。存疑样本不进训练集只做分析。5.2 模型上线就退化的排查思路这是最经典的工业视觉问题我总结了一个从外到内的排查顺序按这个顺序走八成问题能在两小时内定位第一步看图像。把出问题的批次图像调出来和训练集里的图像并排放。看三件事亮度分布、对比度、缺陷形态。如果图像本身就不一样别查模型了查硬件和环境。第二步看分数分布。统计这批样本的模型输出分数直方图。如果整体往中间挤原本 0.9 的现在 0.5说明模型对这个分布不自信典型的域偏移。如果分布形状没变但阈值附近的样本变多说明缺陷形态变模糊了。第三步看混淆矩阵的分类别结果。整体召回率掉了 10 个点可能只是某一类缺陷崩了其他类没变。定位到具体类别再看这类样本的量。如果只有几十张直接补样本比调模型快。第四步查数据管道。这一步最容易被跳过。图像预处理参数变了没ROI 裁剪坐标动了没颜色空间从 RGB 换成 BGR 了没我见过一次事故就是因为一次代码合并把归一化参数从 255 改成了 1模型输出全乱查了两天才发现。第五步才是怀疑模型本身。真到了这一步一般不是模型退化而是训练流程有问题——学习率、数据增强、类别权重挨个排查。这里补一条经验上线前一定要固化一份金标准测试集200 到 500 张覆盖所有缺陷类型和典型工况每次模型更新前后都跑一遍记录指标。这份测试集不能进训练流程也不能让标注员反复看会形成记忆偏差。它是你判断这次更新到底有没有变好的唯一依据。没有它所有模型迭代都是盲改。6. 从检测到根因质量大脑的三级跳前面讲的都是怎么把检测做扎实。但质量大脑这个词的分量在后半段——检测只是入口真正的价值在于让数据反过来影响工艺。6.1 缺陷图谱与工艺参数关联第一步是把缺陷数据和时间、设备、批次对齐。这件事技术上不难难在数据源的打通。视觉系统的时钟要和产线 PLC、MES 的时钟对齐误差控制在秒级以内否则对齐出来的关联全是噪声。对齐之后做一张缺陷时空分布图横轴是时间纵轴是工位或设备号颜色深浅表示缺陷密度。这张图一出来很多规律肉眼可见——比如缺陷总是集中在换模后的前 200 件或者集中在二号工位。我做过一个项目就是靠这张图发现某类划痕只出现在夜班后来查到是夜班环境温度低了 5 度材料流动性变化导致模具边缘拉伤。这种关联靠单看检测结果是永远发现不了的。再往深一层是把缺陷特征长度、面积、方向、位置和工艺参数温度、压力、速度、张力做相关性分析。要注意的是相关性不等于因果两列数据同涨同跌可能只是都被第三个因素驱动。我的做法是先用相关性筛出候选再用小批量的工艺调整去验证能复现的才写进结论。6.2 反馈闭环与 SPC 联动检测数据要能进到统计过程控制SPC的体系里才能形成预警。举几个具体做法缺陷率的移动极差控制图。按小时统计缺陷率算控制限连续 7 点上升就报警。这个报警不是给质检看的是给工艺看的因为缺陷率上升通常早于批量不合格出现。缺陷特征的漂移监控。不看缺陷率看缺陷的形态特征比如划痕的平均长度、缺料的平均面积。这些特征缓慢漂移往往意味着工艺在渐进劣化比如刀具磨损、模具间隙变大。等到缺陷率上升时通常已经晚了。换批预警。新批次来料上线后前 50 件的缺陷分布单独统计和上一批次对比。差异超过阈值就提示该批次可能需要重新校准而不是等跑完一整批才发现。这套东西的价值在于把事后检验变成事中预警。检验只能告诉你这批不行了预警能告诉你再跑两百件就要不行了中间那两百件就是纯利润。6.3 知识沉淀与人员协作最后说个软性的东西但我觉得这是决定系统能不能活过三年的关键。视觉系统交付的时候通常会给一份厚厚的文档里面写满了参数、模型版本、接口说明。但我发现真正有用的知识从来不在文档里而在老师傅的脑子里——这个位置的划痕八成是三号模腔的冷却水堵了这批件的毛刺一般过两天自己就好了。质量大脑要想真正有用得给这类经验留位置。我的做法是在系统里加一个缺陷案例库每条记录包含缺陷图、判定结果、处置动作、最终原因、责任人。原因这一栏允许自由填写口语化内容不强制结构化。跑一年下来这个库会变成工厂最有价值的资产之一因为它把散落在个人身上的经验变成了可检索的组织记忆。还有一件事让质检员参与模型迭代。很多团队把质检员当成被替代的对象结果推行阻力极大。换个思路把复判界面做成质检员的工具——它能帮质检员更快定位可疑点、自动记录他的判断、定期给他一份你最近判断的误报样本回顾。质检员发现这东西省事就会主动用数据回流才真正转起来。7. 我踩过的坑和几条硬建议7.1 项目启动阶段的坑第一个坑是指标定得太早。很多项目在需求阶段就写准确率 99%但这个数字往往是从别处抄来的没人算过自己的成本结构。我的建议是项目启动时先花半天时间和品质、生产、财务一起把漏检成本和误检成本算出来哪怕只是粗略估算。这个数字一出来阈值怎么定、验收怎么写全都清楚了。第二个坑是只跟设备部门对接。视觉系统最终是给品质和生产用的如果从头到尾只有设备部门在推上线后大概率没人用。我的做法是立项时就拉品质的人进项目组让他们参与标准定义和验收因为标准这事最终是他们签字。第三个坑是把 POC 当成交付。POC 只需要证明这件事能做交付要证明这件事能天天做。两者的工作量差三到五倍主要差在异常处理、稳定性、可维护性上。我见过太多合同把 POC 的周期当成交付周期最后必然延期。7.2 长期运营的坑系统上线不是终点是起点。运营阶段最容易出的问题是没人管。模型三个月不更新误报率慢慢往上爬操作工开始习惯性忽略报警系统名存实亡。我的建议是明确一个系统 owner不一定是专职但他要对这几个数负责周度误报率、灰度区占比、复判一致性、模型版本更新频率。每月开一次 30 分钟的 review看这几个数的趋势。这件事的投入很小但能让系统多活好几年。还有一个反直觉的经验不要追求把所有缺陷都自动化。总有那么几类缺陷发生率极低、形态极其多变投入产出比很差。这类缺陷老老实实留给人工把省下来的精力放在高频缺陷的根因分析上收益大得多。我见过一个团队死磕一类一年只出现五次的缺陷折腾了半年最后发现那类缺陷的真正解法是改上游的一道工序跟视觉一点关系没有。最后一个也是我觉得最值钱的一条把每次误判都当成一次信息。误判不是失败是系统在告诉你这里有个我没见过的世界。每收集一次系统就厚一分。真正把视觉做成质量大脑的工厂不是因为他们的模型多先进而是因为他们认真对待了每一次误判并且真的顺着这条线去改了工艺。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑