去年秋天,绍兴柯桥的一家纺织厂老板找到我们。他厂里50台喷气织机,每天能织3万多米布,但验布环节成了瓶颈——6个验布工两班倒,还是经常被客户投诉"疵点漏检"。更麻烦的是,招年轻验布工越来越难,"干两个星期就走,说眼睛受不了"。

这不是个别现象。纺织行业的验布环节,基本还是靠人工在验布机上盯着布面看,每分钟过布速度20-40米,眼睛要同时留意断经、纬停、油污、破洞各种疵点。有经验的验布工一两个小时内注意力就明显下降,更别说新手了。

这篇文章记录我们是怎么用边缘AI视觉方案帮这家厂解决验布问题的。不说效果多好,只讲做了什么、遇到了哪些坑、最终结果如何。

一、现场情况摸底

去工厂实地看了两天,摸清楚了几个情况:

这些条件直接影响了方案选择:不能太复杂、要能适应高湿度多纤维环境、安装调试不能影响正常生产。而且预算有限,老板说先拿两台验布机试试——有效果再铺开。

二、方案设计

验布环节的AI视觉方案,核心难点不是模型本身,而是要在验布机25米/分钟的过布速度下,稳定拍到清晰的布面图像,再实时检测出各种疵点。我们分了三层来设计。

采集层:工业相机+特殊打光方案

在验布机的导布辊上方安装线阵工业相机。选型考虑了几个因素:

教训:打光方案比模型选型重要得多。我们第一版只用了正面LED条形光,结果浅色布上的油污和浅黄色污渍完全分不出来。加了背透光后,破洞检出率从60%直接提到了90%以上。

边缘层:AI推理网关

每台验布机配一台边缘AI网关,负责:

选边缘网关而不是直接上云,原因很直接:验布机的图像数据量太大(一台相机每分钟约700MB原始数据),全部上传不现实。边缘端先做检测,只把检测结果和疵点截图上传云端。

模型优化方面,标准的YOLOv8模型在边缘设备上跑8K全分辨率图像帧率不够。我们做了几个优化:先对图像做ROI裁剪(布面实际有效区域只占图像中间部分,上下边缘是背景),再把分辨率缩到约2K(2048x256)用于推理,帧率提到了25fps以上,基本跟验布机速度匹配。

云端层:质检看板和管理

一个简单的Web质检系统,功能包括:

三、实施过程

第一周:现场安装和打光调试

先在1台验布机上做试点。安装不算复杂:加装相机支架、安装光源、布线。但打光调试花了差不多3天时间。

问题的根子在于——布的种类太多了。白坯布、色织布、交织布、牛仔布……每一种的纹理、颜色、反光特性都不一样。同一套打光参数,换一种布就完全不行了。最后没办法,只能做"布种预设"方案:每种常用的布事先调好一套打光参数和模型阈值,切换布种时一键切换配置。

第一周的另一个问题是镜头起雾。车间湿度高,线阵相机装了防护罩还是起雾。后来在防护罩内加了干燥剂包和轻微加热(用了一个小功率加热片),解决了。

第二至三周:数据采集和模型训练

前两周纯采集数据,不做自动检测。一共采集了约300个布卷、累计80万米布面的图像数据,然后人工标注疵点。这个过程比较费时——需要验布工师傅把之前标记的疵点位置和实物照片对应起来。

标注完成的有效疵点约3200个,分布在6大类疵点中:

数据量不算大,但对特定布种的覆盖面还可以。训练用的YOLOv8m模型,在边缘网关的6 TOPS算力上做推理。

这里要提一个低级错误:第一版训练时,把正常布面的纹理作为"负样本"输进去了。但浅色织物的纹理本身就带条纹状图案,模型学完之后把正常纹理也当成"疑似疵点"——上线第一小时就误报了300多次。后来把训练集中的负样本换成更多种类的正常布面纹理,这问题才解决。

第四周:上线试运行

上线头三天,检出率还行(约80%),但误报率高得离谱——每100米就有3-4次误报。复检工位的人一天要确认上千次,比之前还累。

分析原因:

把置信度阈值调到0.6后,误报率明显下降,但检出率也掉到了65%。又花了差不多一周时间调分类阈值:纬停和油污用0.45(这两个漏了客户投诉多),破洞用0.7(误报破洞没人信),其他用0.55。调完之后检出率约82%,误报率降到约12%。

第五至六周:持续调优

通过复检工位的确认数据做主动学习:让模型每天增量训练,把当天"误报"的图像作为负样本、"新发现的疵点"作为正样本补充训练。三周下来模型逐步稳定,检出率约85%,误报率降到约8%。

到第六周结束,客户决定把另外2台验布机也装上了。

四、实际效果

系统上线两个月后,我们汇总了数据:

疵点检出率:约85%
比人工验布(经验估算约80-85%)稍好一些。但优势在于稳定性——人工作业第1小时和后1小时的检出率差异很大(前期约90%,后期约70%),AI基本没有衰减。
误报率:稳定在约8%
即每100次AI告警中,约8次是误报。复检工位确认后,真正的疵点会标记到布卷上供修织工处理。
验布人员:从6人减到2人
每台验布机不用再配专人盯着了。2人负责:一人监控系统运行,一人在复检工位确认。人员空缺的招工压力明显缓解。

还有几个预期外的收获:

一、发现了之前不知道的质量问题。 系统上线后统计发现,油污疵点中有约四分之一出现在夜班。对照着查,发现是夜班保养工给织机加润滑油时,加油量偏大导致油液飞溅到布面上。以前这个问题从来没被发现过——因为夜班验布工少,漏检率高。

二、为工艺改进提供了数据支撑。 纬停疵点的高发时段和机台被统计出来后,厂技术科发现某些机台的张力设置偏松,调整后纬停率降了约30%。这些工艺优化带来的质量提升,比单纯的检测更有价值。

三、客户满意度提升。 质检报告可以随布卷一起发给下游客户,减少了因质量问题产生的扯皮。

五、遇到的几个"没想到"

1. 布面抖动导致图像模糊

验布机导布辊在运转中会轻微抖动,尤其是在布卷快用完的时候。这个抖动反映在图像上就是模糊和畸变,模型直接识别不了。后来在算法的图像预处理阶段加了去抖动滤波,同时在机械上给导布辊加了一组压辊。

2. 验布机车速并不恒定

验布机操作员会根据布的品种和疵点密度手动调速——看到疵点多的区域会减速。但模型是按固定帧率跑的,车速一变就出现"检测晚了"或者"重复检测同样区域"的问题。后来在相机端加了编码器同步,车速变化时自动调整采集帧率。

3. 深色织物基本拍不到有效信息

深蓝色、黑色、深咖啡色的织物,正面光打上去布面基本全黑,模型什么也看不到。背透光还行但穿透力有限。最后对深色织物调整了打光策略:改用高角度正面光+低增益的高感光相机,虽然纹理细节不如浅色布,但破洞和折痕勉强能识别。这是一个尚未完全解决的问题,目前我们还在摸索更好的方案。

最有价值的一次发现:客户反馈某几卷浅灰色面料上AI总是报油污,但复检工位确认"不是油污,是水渍"。查了之后发现是车间空调冷凝水滴到布面上留下的痕迹。这个"水渍问题是空调引起的"发现,以前靠人工验布从来没被系统性记录过。

4. 模型对"出格"疵点泛化不足

训练集中没有覆盖到的罕见疵点类型(比如织物毛边、异形纱、布边撕裂),模型几乎都漏了。这也正常——训练数据里就没有。后来对"模型置信度低但告警"的情况做兜底处理,把所有置信度0.3-0.5之间的模糊检测也记录下来,由复检人员确认,确认后再加到训练集里。

六、我的思考

做完这个项目,几个感受比较深:

"牛的是打光和数据,不是模型。" 如果把精力分配画个饼图,打光方案和图像采集占了60%,数据标注占了25%,模型选型和训练只占15%。很多做AI视觉的团队上来就调模型,打光差不多就行了——但在工业现场,这句话大概率是错的。

纺织行业的质量痛点比想象中更系统化。 这个项目刚开始我们以为只是"做个AI代替人眼",做着发现核心价值不是替代,而是把整个质量链条数字化了——从疵点类型统计到工艺参数优化到客户质量追溯。方案做好之后,搭在公司内部的IT基础设施上的数据分析能力比检测本身更有长期价值。

"深色布"是一个没有标准答案的问题。 用现在主流的视觉方案,深色织物的在线检测确实是个难题。我们试了高增益、红外光源、多角度补光,只能说"比人工好一些"但远没到满意的程度。如果有人有好的方案,欢迎交流。

小步试点是工控项目的正确打开方式。 客户从1台验布机开始试,看到效果后主动要求扩大到3台。如果一开始就推全厂方案,光预算审批就要走两个月。

七、如果你也想试试

如果你也在考虑上AI验布方案,几点实际建议:

  1. 先搞清楚你有哪些布种——每种布的面料特性和疵点类型都不一样,这直接影响打光方案和模型训练策略
  2. 留足数据采集时间——至少2周的全品种数据采集,并确保标注质量(找有经验的验布工来标)
  3. 打光方案至少要试3种以上——正面光、背透光、多角度光各试一轮,没有万能方案
  4. 接受前期误报——但一定要有复检闭环,让误报数据反哺模型
  5. 考虑深色织物的特殊情况——如果你们厂做深色布占比较高,对检出率预期要适当调低

编辑说明:文中工厂为化名处理,技术细节来自实际项目经验,数据保留后有整理加工。