为什么产线声音检测这么难
声音往往是装配与零件问题最早暴露的信号,但把这份判断稳定交给机器,比想象中难。
装配松动、零件毛刺、轴承异常,常在尺寸还合格时就先在声音里露苗头。产线想把「听」纳入检查工序,落地却接连撞上三堵墙。
靠老师傅的耳朵
老师傅的耳朵确实灵,但标准因人而异、随疲劳漂移。更关键的是判定不留痕迹,无法复盘也无法复制到下一条线。
靠声级与频谱的阈值规则
阈值只擅长抓「变大、变响」。现场大量异常却是能量没变、音色变了:多一点摩擦的沙沙,多一点周期的咔嗒。
靠有监督 AI 学缺陷
学分类的前提是缺陷够多够全。产线恰恰相反:良品占绝大多数,缺陷稀少,等样本攒够产线早已换了一轮。
| 现场遇到的情况 | 传统做法为什么难 | 对算法的真正要求 |
|---|---|---|
| 该分辨什么,本来就说不清 | 指标由人想出来,想不到就漏掉 | 模型自己从数据里学出该分辨什么 |
| 缺陷罕见且不断出新 | 学习先要缺陷样本 | 无标注也能立判据 |
| 能量不变、音色变了 | 总量指标分辨不出 | 分辨音色与时间纹理 |
| 背景与批次持续漂移 | 固定阈值逐渐失准 | 判据随现场更新 |
| 一条线一个脾气 | 一套参数难通吃 | 按线挑合适的分辨方式 |
不是更多人工规则,而是会自己学的深度学习系统
在缺陷稀少、现场持续漂移的条件下仍然稳定可用。
三条设计原则
针对上一节的三堵墙,本引擎定下三条不退让的原则。
三条原则决定后面各章的做法:没有标注靠什么学,扩展时怎么不动已用的判定,为什么不压成一个指标。
不靠缺陷标注,用自监督学习
模型自己出题、自己检验,从无标注声音里学出正常声音的表征(模型自己形成的内部表示):能量起伏、共振位置、敲击衰减。判据是学出来的,不是人写的规则。
无需缺陷样本预训练的深度听觉模型保持不变,只新增读出方式
底层模型定版后权重不再改动,接新产线只重新拟合上层的读出与门槛。不是换掉耳朵好的人,而是请他多讲一种说法。
底层不重训用多个互补视角分辨同一段声音
有的缺陷在音色轮廓上一下就能分辨,有的只在时间纹理里,有的要贴人耳的感受才说得清。挤进一个指标会互相稀释,各视角独立判断后合并。
互补优于压缩- 既有基准继续有效,新增读出可先只记录,一致后再纳入判定。
- 扩展可随时关掉退回原状;底层没动,差异只会来自新增部分。
本手册中的几个说法
听得清:同时用粗细不同的尺度
一段声音要先被听清楚,才谈得上被判断。本节讲这套深度学习引擎是怎么听的。
分辨一段声音,有个躲不开的取舍:时间上分得越准,频率上就分得越糊;反过来也一样。真正的问题不是选哪个折中点,而是为什么必须只选一个。
时间分得准,频率就分不清
只听很短的一瞬,能说准那一声咔嗒落在什么时候。但这么短的一段里音高本来就听不出来,泛音挤成一团,共鸣落在哪一带也说不清。
频率分得清,时间就分不准
连着听很长一段,音高与共鸣能分得很细,但短促的撞击被摊平:响在哪一刻、响了几次、衰减多快全部丢失,而这最能说明装配是不是松了。
本引擎的做法:几种尺度同时用,信谁由模型学出
粗细不同的尺度,同时用
不二选一,而是对同一段声音同时用几种跨度不同的尺度各分辨一遍。长跨度把音高与共鸣分得稳,短跨度把敲击时刻与衰减分得准,两类信息都在手。
让模型在训练中学会该信哪一种尺度
敲击的瞬间该信短跨度,持续的啸叫该信长跨度。这不是人工调的规则,而是模型在训练中从正常声音里自己学出来的,不必逐工位手调。
同一处声音在不同尺度下怎么变
模型还关注同一处声音,从长跨度换到短跨度时怎么变。撞击类跨度越短越突出,持续类在各种尺度下都稳定,这种变化本身就是最直接的线索,也被学进表征里。
学得会:自监督预训练
基础能力来自自监督预训练,不来自人工标注的缺陷样本。
客户最常问的是要提供多少个不良品。本引擎的核心是一个深度神经网络,先在大量无标注的工业声音上做自监督预训练,学正常的声音长什么样,不依赖缺陷标注。
自监督预训练的循环
-
01
听
送进一段现场声音,网络形成自己的表征。
-
02
还原
再要求模型只凭这份表征重新描绘原声,不许再回头听原声。
-
03
自查
把还原结果与原声逐处对照,差在哪里模型自己就能分辨。
-
04
修正
对不上的地方成为改进方向,回到第一步再来一遍。
为什么这样能学到有用的东西
学出来的强过人设计的
传统方法靠人决定该分辨哪些指标,人想不到的规律就永远进不了判据。要准确还原设备声音,网络必须自己学出谐波成组、包络起伏、共振抬升与噪声底质地,也包括人没想到的线索。
学会常态,才谈得上察觉异常
异响之所以被察觉,是因为它偏离了本该如此的样子。常态学扎实,偏离就有了参照,没见过的缺陷也能察觉。
一个类比
能把刚听过的旋律准确复述出来,说明真的听懂了它的结构,而不是背下了一个曲名标签。只会贴标签的人,换一首没听过的曲子就无从下手。
这对现场意味着什么
起步不依赖大量缺陷样本
现场的不良品稀少、种类零散,也拿不到成套标注。导入阶段主要需要能代表当前工况的正常声音。
预训练打底,现场适配收口
预训练在广泛的工业设备声音上学到通用表征,再通过现场适配对准每条产线,因此不易被一条线的偶然特征带偏。
无标注不等于不需要现场信息
预训练给的是基础听觉能力;要在具体产线上判定,仍需现场常态声音作参照和稳定的采集条件。
辨得全:三个互补视角
同一次推理的表征用三种方式读出,同一个缺陷在不同视角下的可见性差别很大。
三个视角读的是同一个深度神经网络的内部表征,不是三套人工设计的特征。同一份表征,读出方式不同,能分辨出的东西就不同;这也是它们能共享一次推理、且互补而不重复的根本原因。
三个视角各自分辨什么
整体声纹视角
像给这段声音拍一张全景照。它最稳定,冷启动阶段最先可以信任。
听感对齐视角
把同一份表征按与人耳相关的方向重排后再比较,相当于换一把刻度更合适的尺子。
时间纹理视角
整体概括会把起伏抹平,这一路专门把节奏与周期性保留下来。
| 视角 | 擅长回答 | 直觉解释 |
|---|---|---|
| 整体声纹 | 整体是否偏离常态 | 全身照:体型变化一眼可见,小痣看不清 |
| 听感对齐 | 人听起来刺不刺耳 | 同一个东西,换一把刻度更合适的尺子 |
| 时间纹理 | 持续还是一下一下 | 不是照片,是录像的节奏 |
互补,不是冗余
有的缺陷在整体概括下几乎分辨不出,换到时间纹理却一目了然,反过来也有。哪个视角显形事先无法预判,所以三路同时保留。
代价与前提
三路共享一次推理,但各自算分
三条路径读的是同一次推理,增加的只是读出环节,对节拍影响很小。三者量纲与稳定性不同,混成一串会让量纲大的一路主导,因此各自独立评分与校准,再在分数层面汇总。
对得上人耳:听感对齐
判定异响靠的不是能量大小,而是粗糙感、波动感、尖锐感。
现场判定异响的最终裁判是人,判据不是能量表上的读数。引擎必须在人听起来怎么样这一层上对齐。
两段一样响的声音
两段声音能量完全相同,人听起来却可以一个平稳、一个刺耳。区别在于能量如何分布、如何起伏、有无明显的调制。
人耳在意的是哪几件事
这些是声学领域公开的听感属性,引擎用作参照方向。
引擎怎么用这些属性
当参照方向,让放大有的放矢
引擎不是先算出这些属性再判好坏,而是用它们指引方向,在深度神经网络学出的表征里挑出与听感相关的成分,放到同一量级上比较。放大所有细微成分会让噪声一起变大,所以要挑选。
不是创造信息,是让信息变得可读
现场声音的差异绝大部分来自背景与工况:温度、批次、周边工位。缺陷带来的那部分小得多,直接比较会被完全盖住,就像在大秤上称一根羽毛——秤没坏,只是刻度不合适。
对齐听感相当于换一把刻度更合适的尺子:数据没变,被掩盖的细微差异却回到了可以分辨的尺度上。
这把尺子要按现场来定
刻度依据当前产线、当前工况的正常声音,通过现场适配确定。换线、换工位或工况明显变化,都要重新对刻度。
判得准:分数层融合与按线择优
三个视角各自成为完整判断,在分数层汇合,最终结论落在工件上。
三个视角有了之后,问题变成怎么把三份意见合成一个结论。就像三位老师傅分别听同一件产品,不该把耳朵缝在一起,而应各自下结论再汇总。
不要硬拼
三个视角的数值尺度本来就不同,硬拼在一起会被跨度最大的那个视角主导,另两个视角的细微差异被压成噪声。这就像把体温、血压、听力的读数直接相加,得先各自换算成偏离健康人群多少,再谈综合。
把表征拼成一条
强势视角说了算,弱势视角被淹没,出问题也难以定位到是哪一个视角。
不采用
各自打分,再合意见
每个视角独立回答离本线正常有多远,换算成可比的相对位置后在分数层汇总,各自的分辨力都保留下来。
本引擎采用
按产线择优
不同产品、不同工位,主导的缺陷类型本来就不同:有的表现为整体音色偏移,有的表现为时间上的细碎起伏。所以给出统一机制,让每条线用自己的证据挑选该倚重的视角。分数来自模型推理,不是人工阈值;人工设定的只有误判预算一个旋钮。
一件产品在采音期间被切成若干段分别打分,任一段异常即判该件异常。异常常常只出现在一瞬间,不应被整段声音平均掉。
跟得上:滚动校准与误判预算
门槛随近期正常件持续重定;品质与产能的取舍由客户用一个旋钮设定。
产线是活的:批次、季节、工装磨损都会让声音的基线慢慢移动。出厂时定死的固定门槛,久了必然要么太松要么太紧。
门槛来自近期的正常件
引擎持续收集本线近期正常件的分数,汇成现在的正常分布,门槛落在其上并按天重新推定。批次与季节的缓慢变化因此被自然吸收。不是拿出厂的尺子量所有年份的产品,而是每天早上先量今天的正常件,再决定今天的界线。校准只重定门槛,预训练的深度听觉模型与其模型版本保持不变。
误判预算:一个旋钮
漏检和误判无法同时降到最低,这是取舍,不是缺陷。由客户设定能接受多少比例的正常件被拦下复核,系统据此反推当日门槛。拧严一点复核量上升,拧松一点产能轻松、边缘异常更可能通过。
可调
不同工位、不同阶段可以设不同的严格程度。试产期与量产期本就不该一样。
可解释
门槛对应的是复核工作量,是一件件要人确认的产品,品质会议上可以直接讨论。
可复盘
设定值与实际拦下比例的偏离是健康度信号。偏离持续拉大,先查采音条件与工艺变更,而不是先改门槛。
复核回流:闭环
被拦下的工件由现场人工复核,结论回流成为确认样本。系统因此逐步知道本线真正的异常听起来是什么样。
回流的主要是被系统拦下的工件,学到的异常样貌因此受复核范围与质量影响。一开始就没被拦下的异常,很难出现在学习材料里。建议导入初期对放行件也抽检,结论一并回流。
用得稳:现场前提与适用边界
系统能否稳定工作,一半在算法,一半在采音与工况守不守得住。
任何声学检测都建立在一个前提上:这一次听到的声音和上一次可比。把边界说清楚,比宣称无所不能更有价值。
| 前提 | 为什么重要 | 现场做法 |
|---|---|---|
| 采音一致性 | 麦克风、位置、指向、增益、工装任一变更,绝对水平与音色都会移位。 | 视同新部署,重新校准并重建正常基线,变更内容与日期留档。 |
| 环境与工况一致性 | 正常范围内的背景波动可以吸收,节拍变化与新增噪声源不行。 | 保持节拍与背景条件稳定,出现明显变化即重新验证。 |
| 片段与节拍匹配 | 切得太短会把特征切碎,切得太长会把瞬时异常平均掉。 | 导入阶段与工艺方共同确定触发方式与片段口径。 |
| 基线积累与现场适配 | 现场适配用正常件把预训练模型对齐到本产线,基线不足时判定易被偶然波动带偏。 | 导入初期先积累,覆盖不同班次后完成现场适配再启用;模型版本固定,同一版本的推理结果可复现,新产线靠现场适配接入而不是重写规则。 |
| 判定口径与复核 | 上下游对什么算异常的定义不一致,回流样本就会互相矛盾。 | 明确复核标准与责任岗位,各班组用同一份标准。 |
导入方式:影子期
并行运行,只记录不干预
引擎与现有流程同时工作,输出只作记录,不影响放行。
积累与比对
形成正常基线并完成现场适配,同时与现场判定逐件比对,确认口径一致。
切入判定
客户认可后按设定的误判预算参与判定,随时可切回只记录。
影子期真正的价值,是把什么算异常在系统与现场之间对齐。
适用边界
以上任何一项前提发生变更,都应先重新校准并做一段影子期复核,再恢复正式判定,让判定始终建立在可比的声音之上。
常见问题
导入前最常被问到的问题,按实况作答,不作效果承诺。
以下问题来自现场的实际关切;真实表现请在贵司产线上以影子期验证。
传统方法由人先选定指标、逐个设门槛,人想不到的异常进不了判据。本引擎是深度学习系统,在大量无标注声音上预训练,自己学出该分辨什么,即表征(模型自己形成的内部表示),再按产线现场适配,因此能听出能量没变、音色变了这类差异。
主体学习是自监督的,先学会正常声音长什么样,不依赖缺陷标注即可开始。少量已确认的异常件有助于对齐口径,但不是前提。
门槛按近期正常件持续重定,缓慢变化自然吸收;工艺、工装或采音条件的实质变更应重新校准并做影子期复核。
每次推理都保留采音、片段与分数,可逐件回溯,判错的件回流校准;最终判定权仍在现场。
推理在采音完成后进行,目标是在工位节拍内完成;边缘端还是服务端按项目条件确定。
可以回溯到哪一段触发、哪个视角偏离最显著,并调出那段声音收听;这是指向证据而非因果解释。
流程固定:接入采音、积累基线、影子期验证、切入判定,时间取决于产量与异常频度。
以工件标识关联,输出判定结论与分数供上位系统记录统计,接口与触发按项目约定。
底层的深度神经网络保持稳定,升级只新增读出方式。新的模型版本可并行影子验证,确认一致后再切换,必要时回退。
具体产线的可行性,建议以一次影子期作为共同评估依据;贵司产品上的结论比通用说明更有参考。