纺织厂验布车间,是我见过最“反人性”的岗位之一。一卷布刚从织机下来,立刻拉上验布机,以每分钟二三十米的速度从人眼前滚过。质检员要在快速移动的布面上找出异色纱、油污点、断经、粗结,一盯就是好几个小时,眼睛开始背叛身体,漏检往往就发生在注意力断掉的那几秒钟。这也是为什么“AI视觉验布”喊了很多年,真能稳定跑在产线里的方案并不多——它要解决的远不止算法,还有光学、机构、数据连续性、夜班维护这一连串工程问题。
我参与的这套智慧纺织验布方案,是国内一家专注工业AI视觉的团队联合某头部ICT企业共同打造的,核心目标很明确:让验布工序实现全天候24小时无人化,有效检测速度做到人工目检的3到5倍。系统在多个坯布、染整产线上跑过,节拍、漏检率、误报率都有可比数据。这篇文章我按实际落地的顺序,把整套方案的选型逻辑、搭建过程、量化口径以及现场踩过的坑重新梳理一遍,给正在做表面缺陷检测、或者准备在自家工厂上AI质检的朋友做个参考。
1. 验布这件事,为什么机器替不掉人
1.1 人工目检的三个死穴
先说一个很多非纺织行业的人不太理解的事实:验布不是“看一眼有没有脏东西”那么简单,它是一道高强度、高重复、高标准的工序。
第一个死穴是疲劳周期。质检员的注意力不可能在8小时内均匀分布,一般连续盯视15到20分钟后,识别能力就开始明显下滑。车间里通常的做法是让工人轮岗,半小时换一次人,但即便如此,临近换岗前的那几分钟依然是漏检高峰。第二个死穴是标准漂移。同一个人早上和晚上的判定尺度不一样,不同人对同一处“轻微油污该不该判不合格”也可能吵起来。这种主观性直接导致质检结果在时间维度上不稳定,后道分等和索赔难以追溯。
第三个死穴是招工和培训。一个熟练的验布工需要认识几十种织疵、染疵、原料疵点,还要知道哪些影响后续染色、哪些只是外观轻微差异,培养周期通常以年为计。现在愿意干这行的年轻人越来越少,工厂不是不想加人,是根本招不到,招到了也不一定留得住。
这里还要补一个关键数据:验布机的机械速度通常可以跑到每分钟60到100米,但人工目检速度一般只能压在20到40米每分钟。再快,眼睛就跟不上,漏检率会急剧上升。也就是说,设备的能力上限一直被人眼拖着,整条产线被迫降速运行。
1.2 布面瑕疵的“非标”属性
如果只是“看得累”,那用机器替人好像并不难,真正难的是布面瑕疵本身太不标准。
首先是缺陷种类多。棉结、粗经、粗纬、断经、破洞、油污、双纬、停车痕、筘痕、色差、色花……一个工厂列下来动辄几十种,而且不同面料品类还会冒出新的长尾缺陷。其次是缺陷尺寸小、对比度低。很多疵点在0.1毫米到几毫米之间,浅色布上的浅色油污,人眼需要凑近了仔细看才能发现,相机拍出来可能只比正常背景灰了一点点。
更麻烦的是背景干扰。梭织布本身有经纬纹理,针织布有线圈结构,提花布、格子布有复杂花型。这些正常组织在图像里看起来也是一种“周期性图案”,很容易被算法误判成异常。传统机器视觉用固定灰度阈值、固定边缘检测去做,换个布种、换个花型就要重新调参,工厂几百个SKU根本调不过来。这也是为什么“智能验布”听起来简单,真正落地难的原因——它不是图像分类问题,而是在复杂纹理背景下做低对比度小目标异常的实时识别问题。
2. 整套验布系统的“眼睛”和“大脑”怎么配
2.1 线阵相机与编码器:速度与空间分辨率怎么平衡
布是连续运动的卷材,检测工位不可能让布停下来拍一张静态图,所以相机选型第一条就是线阵相机。面阵相机拍的是单帧画面,需要频繁触发,速度和覆盖宽度都受限制;线阵相机则像扫描仪一样,一行一行地扫出整幅连续图像,跟产线运动天然匹配。
分辨率怎么定?核心是算清楚“一个缺陷最小多大必须检出”。多数验布场景按0.3毫米到0.5毫米每像素来取。以幅宽1.6米的坯布为例,0.3毫米每像素大概需要5333像素,市面主流的4K、8K线扫相机都能满足。幅宽更宽的,比如3米以上的,就得用两到三台线扫拼接,或者直接上更高行频的型号。
这里很多人会忽略编码器同步。布面在运行中不是绝对匀速的,启停、张力波动、卷径变化都会导致瞬时线速度变化。如果不做同步,拍出来的图像会出现横向拉伸或压缩,缺陷形状失真,后续算法再强也白搭。所以系统必须接编码器,由编码器脉冲触发相机逐行采集,布走多少,相机跟着拍多少,图像在空间尺度上才是真实的。
2.2 打光是整个系统的良心
做视觉检测的人都知道一句话:成像问题没解决,算法再牛也没用。验布尤其如此。很多缺陷本质上就是“亮度分布异常”,打光的好坏直接决定这个异常是“清晰可见”还是“淹没在纹理里”。
我们的经验是优先用低角度漫射光。布面本身会有一定反光,如果灯光从正上方高角度直射,反光面料表面会白花花一片,什么细节都看不出来。低角度照明会让棉结、毛羽、粗结这类凸起缺陷拉出明显阴影,而背景组织纹理由于角度关系不会同步增强,缺陷的对比度一下子就出来了。
对于坯布和染色布,我们一般用多组LED条形光源,围绕检测区域前后各放一组,角度可调,根据布种在装机时现场调试。检测透明或半透明织物,比如网眼布、薄纱,可以再加一组背光,利用透光率差异来识别破洞和密度不匀。总之,打光方案要在算法进场前反复打磨,这是整个项目里最需要耐心的环节,也是回报率最高的环节。
2.3 边缘算力与产线联动
相机采集的是图像流,不可能把海量原始图像都传回机房再算,延迟和带宽都不允许。所以每个检测工位都要配边缘计算设备,在相机旁边实时推理,算完只上报缺陷结果。
算力选型主要看两个数:一是同时接入几台相机,二是推理一张图像需要多少毫秒。还是用1.6米幅宽、0.3毫米每像素来算,车速60米每分钟就是每秒1米,对应每秒约3300行,换算成虚拟切片,大概每0.2米切一帧,也就是系统要在200毫秒内完成一帧的推理才能跟上产线。实际上边缘AI盒子现在的算力对这种语义分割级别的小模型,单帧耗时可以压到几十毫秒,余量是够的。
24小时无人化对接地要求也很高:边缘设备要搭配看门狗和守护进程,模型进程异常了能自动重启;相机断线要能自恢复;跟PLC的IO联动要做握手协议,检测到严重缺陷时该降速降速,该停机停机,而不是只在屏幕上报个警。这些看着不亮眼,却是无人化能够长期跑下去的前提。
3. 算法模型与数据闭环:从“能识别”到“不误报”
3.1 瑕疵分类体系:先给缺陷“立法”
算法团队进场第一件事不是跑模型,而是和工厂质检负责人一起梳理缺陷分类体系。每个工厂都有自己的标准,有的按织造工序分,有的按外观严重程度分,有的直接对应客户索赔条款。
我们的经验是分三层来建:第一层是缺陷大类,比如原料类、织造类、染整类;第二层是具体缺陷名称,比如粗经、双纬、油污;第三层是严重程度,比如轻微、明显、严重。这个体系同时对应到产线的分等逻辑,AI检出什么缺陷、拉多大的红色标记区域、判定为A等还是B等,都走同一套标准。
这里有个提醒:缺陷类别不是越多越好。有些工厂第一次梳理就列了一百多种,标注工作量巨大,模型也很难学全。实际中先抓主干缺陷,通常控制在30类以内,把影响后续加工和客户索赔的关键几个缺陷做到高检出,长尾低频缺陷后续通过数据回流再慢慢加,这样项目推进要快得多。
3.2 样本建设:数千小时产线录像里的“大海捞针”
AI验布最耗时间的是数据。瑕疵出现频率极低,一卷600米的布可能只有两三个缺陷,按帧截下来,正常样本占了99.9%以上。我们通常先在目标产线连续录机几天,白天黑夜都录,再把视频按帧拆开,由质检专家逐帧筛出缺陷片段做标注。
这个过程非常枯燥,但绕不过去。我见过几个项目失败,不是算法不行,而是数据量太少,模型过拟合在几十张样本上,现场一换光照就崩。所以样本建设要当成一个持续运营的事来做:每条产线运行期间,系统把不确定的高置信可疑区域自动保存下来,每天由复检员花半小时标注一轮,每周回流到训练集里更新模型。这个闭环一旦转起来,系统越跑越准,这才是真正意义上的“越用越好用”。
缺陷样本不足时可以用合成数据补,比如把油污贴到不同纹理背景上,或者对已有缺陷做亮度扰动、旋转、模糊。但合成样本只能辅助,不能替代真实产线数据,因为真实缺陷在镜头下的光学表现,合成很难完全复现。
3.3 模型结构与推理速度的取舍
缺陷检测不是简单套一个目标检测模型就完事。布面缺陷尺寸小、对比度低、背景纹理乱,用普通目标检测容易漏掉小目标,而且检测框会把纹理背景也包进去,影响后续分类精度。
我们实际采用的是“轻量分割网络+分类网络”两级结构。分割网络输出像素级缺陷掩码,告诉系统哪些区域“不正常”,然后对掩码做连通域分析,把相邻像素聚合成一个个独立的缺陷候选区域;每个候选区域再经过一个小分类网络,判定它具体属于哪一类缺陷。分割负责定位,分类负责定性,分工清晰,每个模型都能做得比较轻,推理速度也快。
模型部署时要做好量化。边缘侧算力毕竟有限,训练时用浮点,部署前转成INT8量化,精度损失一般可控,但推理速度能提升好几倍。如果某一类缺陷在量化后误报明显变多,可以做混合精度,让敏感层保留浮点,其他层走INT8。
3.4 误报治理:AI落地真正的分水岭
能把缺陷检测出来只能算demo,把误报压下来才算落地。所谓误报,就是布面明明正常,系统却报警,导致车间频繁停机、复检人员疲于奔命。误报率一高,工人就不信任系统,最后被迫关掉报警功能,项目宣告失败。
我们主要用四层手段压误报。第一层是时域滤波,对连续几帧的检测结果做确认,单帧偶发噪点直接丢弃;第二层是规则后处理,按缺陷尺寸、长宽比、纹理方向过滤,比如那些细得像头发丝又呈随机状的信号,大概率是毛絮而不是真正的破洞;第三层是区域重检,对于置信度不高的可疑区域,放大后过一遍辅助网络再确认;第四层是阈值分档,高置信缺陷直接报警,中低置信进入待复核队列,由复检员抽看,而不是全部触发停机。
提示:误报率和漏检率是一对矛盾,压了误报,漏检可能抬头。项目开始时应该先跟客户对齐“每百米可接受报警次数”和“哪几类缺陷绝不能漏”,把指标定清楚再调阈值。
4. 无人化产线怎么运转,效率3-5倍如何考证
4.1 从检测到分卷:整条闭环怎么串起来
很多第一次接触AI验布的人以为装上相机、跑起模型就算完成,其实真正的价值在于整条自动化闭环。系统检出缺陷后,不是停留在“报警”层面,而是要做三件事:喷码标记、记录米数、生成报告。车间里有喷码机接到PLC,缺陷位置到达指定坐标时自动在布边喷一个小点;同时系统记录这个缺陷位于第几卷布的多少米处、属于什么类型、严重程度如何。
后道分卷环节可以根据这份报告自动分卷,比如把一块有集中缺陷的布在某米数处切开,单独成一卷做降等级处理。这样相当于把原来“人工边看边记边分”的流程全部自动化,工人只需要接管最终的分等复核和打包,劳动强度明显下降。
无人化的另一个层面是“系统自己知道该不该停”。有的缺陷必须立刻停机处理,比如破洞,不及时处理会持续扩大;有的缺陷只需要记录,比如偶发棉结,不影响后道染色。我们会在PLC逻辑里给每种缺陷配置动作级别:停机、降速、记录、忽略,这样产线不需要因为每一个小报警都停下来,真正实现连续生产。
4.2 效率与漏检率的量化口径
“比人工快了3到5倍”不是拍脑袋说的话,核心是综合有效产出。对比维度可以拉一张表:
| 对比维度 | 人工目检 | AI验布系统 |
|---|---|---|
| 有效检测速度 | 通常20-40 m/min,注意力下降后还要压低车速 | 随产线机械速度跑,60-100 m/min保持稳定 |
| 连续工作时间 | 单班8小时内有效专注约3-4小时 | 24小时连续运行,换卷间隙自动待机 |
| 判定标准一致性 | 受疲劳、情绪、经验影响,波动明显 | 阈值固定,判定结果可回放、可追溯 |
| 漏检率 | 疲劳期明显上升,多人复检结果难统一 | 稳定工况下可维持较低且一致的漏检率 |
| 人力配置 | 每班至少2-3人,三班倒需要6-9人 | 1-2名复检或运维人员,夜班可无人值守 |
所以“3到5倍”是“车速提升”乘以“有效工时提升”的综合结果。人工在注意力好的时候也许能跑到40米每分钟,但一天算下来有效工时有限;系统一直跟着设备的机械速度跑,三班不停,综合产出自然落在3到5倍的区间。
漏检率口径我们也专门做过盲测:准备一批已知含缺陷的布卷,让一组资深质检员先检一遍,再用系统跑一遍,最后逐米复盘。实测下来,稳定工况下AI在主干缺陷上的检出率明显优于人工疲劳期的表现,特别是微小油污、极细断经这类人工容易漏的缺陷,优势会更突出。具体数值跟布种和车速相关,不建议拿单一数字当标准宣传,要看基线怎么定的。
4.3 夜班真没人吗:运维与经济账
无人化不代表完全没有人,而是把人从“盯布”换成“看系统”。夜班运行时,系统遇到高置信缺陷会自动标记,只有出现异常——比如光路被挡住、检测置信度大面积走低、模型自检异常——才会触发告警,通过短信或电话通知值班人员。值班人员远程打开检测画面,看一眼是设备问题还是布面问题,再决定是否到现场处理。
经济账也很好算。以前三班倒,每班需要多人盯验布,加上培训、流动、工伤风险,成本不低。现在变成自动运行加少量复检,人工成本大幅下降。边缘算力的电费和折旧相比这类节省,通常几个月就能回本。更重要的是,产线可以多挡速度跑,同样的设备产出更高,交期压力也随之缓解。
5. 现场部署踩坑实录:光、花型、夜班三座大山
5.1 白坯布上的白色杂质:对比度太低的坑
我印象最深的一个现场是浅色坯布上的浅色油污。人在车间里用肉眼能找到,因为油污区域对光线的反射跟周围织物不一样,但普通成像下拍出来,灰度和正常布面几乎一样,算法怎么调阈值都抓不准。后来我们把低角度光的角度往下压,让油污区域形成微弱的漫反射差异,再利用阴影增强后处理,缺陷才算“显形”。这件事给我的教训很直接:改动成像条件往往比调模型参数更有效,光路要带着现场样本反复磨。
5.2 白天与夜班的“模型漂移”
另一个很典型的坑是同一台设备白天稳定,晚上一开灯就疯狂误报。原因是车间环境光在变化:白天有窗户透进的自然光,傍晚太阳角度不同,晚上车间照明切换成钠灯,色温和亮度都在变。模型是拿固定光照条件下训练的数据学出来的,换一个光照环境,分布就变了,表现自然大幅下滑。
解决思路是两个方向:一是做物理隔离,给检测区域加遮光罩,形成一个暗箱环境,把外部环境光影响降到最低,这是最彻底的办法;二是在算法层面加光照归一化预处理,对每张图做全局统计量调整,削弱亮度、色温差异对模型的影响。我们后来的项目基本都直接上遮光罩,省掉很多后续麻烦。
5.3 花型布把花纹当成缺陷
提花面料、格子布上线的时候,系统一度疯狂报警,打开报警截图一看,它把正常的花型边界当成缺陷了。原因是花纹本身的周期性结构与缺陷特征在局部图像上非常相似,模型很难区分“这是该有的图案”和“这是不该有的瑕疵”。
我们的办法是把检测思路从“直接找异常”改成“先对齐背景再找残差”。对周期性花型布,可以根据布面纹理的周期特性做配准和背景建模,把当前图像跟预测的正常背景做差,只在差值异常大的区域触发检测。同时在训练数据里大幅增加花型样本,让模型见过足够多样的花型,才慢慢把误报压下来。这件事提醒我们:先搞清楚“什么才是这个布种的正常背景”,再谈找异常。
5.4 误报风暴后的“安全阀”
哪怕做了各种优化,现场还是可能突发大面积误报——比如某一批来料本身异常,整卷布都有规律性纹理。这时候要是系统还在自动分卷,会把好布全标废。所以我们在系统里加了一个“安全阀”机制:统计每小时误报率,超过了设定阈值就自动降速或切换成半自动模式,可疑区域全部转人工复核;同时保留备用模型和回退参数,主模型表现异常时能一键切换。
这种容错设计不是技术上的面子工程,而是让客户车间敢开夜班、敢让系统自己跑的关键。没有安全阀,无人化就是个口号,一旦夜里误报没人干预,第二天早上车间就乱了。
6. 从验布到卷材质检:这套方案还能迁移到哪里
6.1 从纺织到卷材:横向复制的可能性
这套系统的底层框架——线阵相机加编码器同步、可调角度光源暗箱、边缘AI推理、PLC联动分卷——本质上是一条通用的卷材表面缺陷检测平台。不只是纺织坯布和染色布,无纺布、皮革、纸张、薄膜、金属带材都是“连续运动幅面加表面缺陷检测”的同一类问题。
换行业时真正需要重做的有三块:缺陷分类体系,每个行业都不一样,要从零梳理;打光方案,不同材料的反光、透光特性差异极大;训练数据,必须去那个行业现场采集。而硬件架构、边缘算力方案、误报治理框架、产线闭环联动逻辑都可以复用,开发周期能缩短不少。
6.2 质检数据反哺生产:从“挑瑕疵”到“找根因”
检测本身只是第一步,长期价值在于数据积累。系统记录了每一卷布、每一米的关键缺陷类型和位置,这些数据汇总起来,就能做产线溯源分析:某一类粗经缺陷是不是总出现在特定机台或者特定时间段,油污分布是不是跟某道工序的设备状态有关。把质检数据跟生产关联,质检部门就能从“挑瑕疵的人”变成“找根因的人”,反向推动工艺改进。
我们已经在做这样的尝试:把AI质检结果按班组、机台、原料批次做多维度统计,自动生成缺陷地图。哪台织机最近疵点率上升,哪一批原料的棉结明显偏多,通过报表一眼就能看出来。这一步做扎实了,客户对AI方案的价值感知会从“省了几个人”变成“帮我们少产出了大量次品”,维度完全不同。
最后再聊一点个人体会。做工业AI项目这几年,最容易被低估的始终是数据闭环和现场工程化投入。算法只占三成,光、机、电、数据占七成,这不是夸张。给准备上AI验布的朋友一个建议:不要急着买设备调模型,先租几天产线时间,把你们车间所有的异常情况录回来,让算法团队跟你们质检员坐在一起,把缺陷分类和判定标准吃透。能在一线数据上扎扎实实下功夫的方案,才能真正在车间里站住脚。