基于声音信号的托辊故障检测:从特征提取到Matlab实现

在带式输送机的运维场景里,托辊是数量最多、也最容易被忽视的部件。一条几百米的输送线,托辊往往上千个,分布在承载段和回程段,位置低、空间小,靠人工逐个听音、摸温去巡检,劳动强度大且漏检率高。基于声音信号的托辊故障检测系统,正好用非接触的方式绕开了振动测点安装难、数量多的痛点,这几年在煤矿、港口、电厂皮带机巡检和声学成像检测里越来越常见。这篇文章会把整条技术路线讲透,包括为什么用声音、信号怎么处理、特征怎么选,以及可直接运行的Matlab代码框架。适合两类人:一类是做设备点检和状态维护的工程师,另一类是刚开始接触声学故障诊断、想找完整代码路线图的学生或开发者。

1. 项目背景与整体思路拆解

1.1 带式输送机托辊故障为什么难发现

托辊从外观看就是一个圆柱筒,内部结构却不简单:筒体、轴、轴承、密封座、防水迷宫,任何一环出问题,初期都不容易发现。轴承疲劳剥落会产生周期性的微小冲击;密封失效会把沙石灰尘带进轴承腔,润滑脂干涸之后滚动体开始干磨;托辊卡死则更危险,筒皮与输送带持续摩擦,温度一路上升,严重时能引燃输送带和积煤。这类事故在行业里并不少见,说到底就是托辊数量太多、巡检周期太长,等发现的时候已经从“微故障”发展成“事故级故障”了。

还有一个客观难点是托辊转速普遍很低。以一条带速2m/s、托辊直径133mm的输送机为例,托辊转速大约只有4.8Hz,远低于普通电机轴承。低速滚动轴承的早期缺陷,用振动加速度计测量,信号幅度非常小,很容易被输送带拍打和电机噪声淹没。而声音信号受低频振动干扰的影响相对小,麦克风可以近距离靠近筒皮,捕捉轴承缺陷激发的高频声学共振,往往比振动信号更早察觉异常。

1.2 为什么最终选声音而不是振动或温度

技术选型时,我认真对比过三种方案,各有利弊,但综合下来声音方案最适合托辊这种“海量测点”场景。

振动检测的精度确实高,但每个托辊都要安装加速度计,上千个托辊意味着上千个测点,布线和维护成本基本不可行。托辊多数卡在输送带下方,传感器安装空间也很受限,换辊时还容易碰坏传感器,现场根本不接受这种方案。

温度检测用热电阻或红外测温都有滞后性。卡死托辊初期温升并不明显,输送带本身会带走大量热量,等温度报警时往往已经烧灼发红,有效预警时间太短。

声音检测是非接触方式,安装灵活,一个麦克风可以覆盖一组托辊,用声学成像设备甚至能直接“看”到声音来源。缺点是现场环境信噪比差,但这个短板可以用滤波、特征提取和分类模型补回来。最后方案定在“采集端用工业拾音器,分析端用Matlab离线建模、在线判别”的组合上。

1.3 系统的完整检测流程与架构

整个系统分四段:声音采集、信号预处理、特征提取与降维、故障判别与输出。

环节输入输出关键工具
声音采集托辊辐射声波数字音频序列工业拾音器、采集卡、录音笔
信号预处理原始音频序列干净信号、分帧数据带通滤波、小波去噪、加窗分帧
特征提取分帧数据特征向量峭度、峰值因子、FFT、包络谱、MFCC
故障判别特征向量正常/异常/故障类型阈值规则、SVM分类器

采集端负责把声波变成高保真数字信号,预处理负责滤除环境干扰,特征提取从时域、频域、倒谱、小波能量四个角度刻画声音,最后用规则阈值或SVM模型输出结论,按托辊编号形成报表,也可以联动现场报警灯。这四段里面最核心的其实不是某个算法,而是“特征能不能稳定区分正常和异常”。后面几章我会把每一段的参数选择理由和代码细节都摊开讲。

2. 核心信号处理与特征提取

2.1 采样率与带通滤波设计

托辊轴承缺陷的特征频率其实很低,几赫兹到几十赫兹,但缺陷激发的共振频率通常在几千赫兹。为了保留高频共振信息,采样率取48kHz比较稳妥,既能覆盖普通拾音器的频响范围,计算量也适中。如果现场条件受限用44.1kHz也可以,但低于40kHz会损失一部分高频成分,离线分析不建议再降。

滤波是预处理里最基础也最关键的一步。我在项目里用带通[200, 10000]Hz:

  • 高通200Hz:把电机工频干扰、减速机低频冲击、现场脚步声等滤掉;
  • 低通10kHz:保留轴承共振的主要能量带,减少高频气动噪声和电磁干扰。

滤波器选用四阶Butterworth,带通纹波小,相位失真在包络分析里影响也不大。实际调试中遇到过一个问题:高通截止频率设得太低,现场低频噪声根本压不住;设得太高,又会把有用的故障冲击削掉。200Hz这个值我是在多条输送线上试出来的平衡点,如果你的现场低频噪声特别重,可以先看频谱再微调到300Hz左右。

2.2 时域特征:峭度、峰值因子与短时能量

故障托辊的声学共性之一是强冲击性。时域特征虽然简单,却是判别冲击类故障最直接的工具。

RMS反映信号总体能量水平,但单独使用价值有限,因为增益和距离都会影响绝对值。峰值因子是峰值与RMS的比值,正常声音波形接近高斯分布,峰值因子一般在3到6;出现疲劳剥落、卡阻刮擦时,超大尖峰让峰值因子跳到10以上。

峭度是四阶统计量,公式为K=1/N乘上所有样本偏离均值四次方之和再除以标准差的四次方。正常信号峭度接近3,故障信号因为多出周期性冲击成分,峭度往往明显大于3,这个特征对孤立冲击非常敏感。我在测试中还发现,卡死托辊的摩擦声峭度不一定高,但RMS和高频能量会持续偏高,所以要配着其他特征一起用。

短时能量则用于观察能量随时间的变化:剥落类故障是周期性能量脉冲,卡死是平稳但高频的能量增强。具体实现时,我会把5秒样本切成若干帧,统计每帧特征的均值和标准差,再合成一段样本的整体特征。直接对整段信号算峭度会丢掉时域变化信息,分类效果差不少。

2.3 频域核心:FFT谱、包络谱与特征频率

直接对原始信号做FFT,能看到基频和若干谐波,但对“周期性冲击调制”的直观程度不够。滚动轴承故障的声学信号,本质是高频共振被低频故障频率调制,这时候需要包络解调。

包络谱实现分三步:

  1. 对信号做Hilbert变换,构造解析信号;
  2. 取解析信号的模,得到包络;
  3. 对包络再做FFT,得到包络谱。

包络谱上会突出故障特征频率及其倍频,比直接看原始频谱清晰得多。如果知道轴承参数,还能用经典公式算出理论特征频率对照验证:

  • 外圈故障频率BPFO = (N/2)×fr×(1-d/D×cosβ)
  • 内圈故障频率BPFI = (N/2)×fr×(1+d/D×cosβ)
  • 滚动体故障频率BSF = (D/(2d))×fr×(1-(d/D×cosβ)^2)

其中N是滚动体数量,d是滚动体直径,D是节圆直径,β是接触角。现场往往拿不到准确轴承参数,所以更实用的做法是观察包络谱里是否存在稳定的低频峰簇,以及峰簇间隔是否有规律,这比硬套理论值可靠。

2.4 MFCC与小波包能量:对抗现场噪声的关键

带式输送机现场的噪声不只是白噪声,还有带速变化引起的空气噪声、落料声、雷雨环境声。只靠时域和FFT特征,分类器容易把噪声也当成有效特征学进去。梅尔频率倒谱系数MFCC是语音识别常用的特征,引入工业声音分类也很有效。

MFCC按人耳非线性频率感知划分滤波器组,能够压缩与故障无关的音乐性信息,突出声音的纹理变化。我一般取前12到13阶系数,再高的阶数多半是噪声细节,反而干扰分类。Matlab里Audio Toolbox有现成的mfcc函数,或者按“分帧、FFT、梅尔滤波、取对数、DCT”的流程自己实现。

小波包能量是另一个重要补充。用db4小波对信号做三层分解,会得到8个子带的能量占比,相比固定频段的FFT,小波包能更精细地捕捉瞬态特征。把MFCC、时域特征、包络谱峰值、小波包能量拼成一个特征向量,分类效果会明显改善,这一点在我的测试里非常明显。

3. Matlab代码实现与关键环节拆解

3.1 声音采集:采样率与窗口时长的确定

先写采集程序。MATLAB里用audiorecorder采集,简单直接,代码量少,适合原型验证。

%% 声音采集 Fs = 48000; % 采样率48kHz nBits = 16; % 位深16bit nCh = 1; % 单声道 recObj = audiorecorder(Fs, nBits, nCh); disp('开始采集,请保持环境稳定 5 秒'); recordblocking(recObj, 5); % 阻塞式采集5秒 x = getaudiodata(recObj); % 获取采集数据 %% 保存文件 audiowrite('normal_001.wav', x, Fs); disp('保存完成');

采集窗口选5秒,是因为托辊转速一般在1到7Hz,5秒可以覆盖多个完整旋转周期,时域统计特征会更稳定。如果输送带速度很低,比如低于1m/s,建议把采样时长加长到10秒以上。命名规范里至少要包含托辊编号、故障类型代号和采集日期,比如“normal_roll035_date.wav”这样的格式,后面整理数据集时能省很多力气。

3.2 预处理代码:滤波、去噪与分帧

回到原始信号x,预处理分两步:先带通滤波,再做小波去噪。

%% 带通滤波 f_low = 200; % 高通截止 f_high = 10000; % 低通截止 [b, a] = butter(4, [f_low, f_high] / (Fs / 2), 'bandpass'); xf = filter(b, a, x); %% 小波软阈值去噪 xc = wdenoise(xf, 3, 'Wavelet', 'sym8', ... 'DenoisingMethod', 'SURE', ... 'ThresholdRule', 'Soft');

wdenoise是较新版本MATLAB的函数,旧版本可以用wden替代。小波去噪的目的是压制随机噪声而保留冲击成分,但去噪强度不能太大,否则故障冲击的幅值会被削平。实际调试中建议把去噪前后信号画在同一张图上对比,确保冲击没有明显变形。

分帧参数我固定为帧长4096点、帧移2048点,加Hann窗。5秒数据会产生大约117帧,每帧提取一组特征,最后统计均值和方差。这样既能保留时变信息,又能减少单帧异常波动。

%% 分帧参数 frameLen = 4096; hop = 2048; nFrames = floor((length(xc) - frameLen) / hop) + 1; win = hann(frameLen); frames = zeros(nFrames, frameLen); for k = 1:nFrames idx = (k-1)*hop + 1 : (k-1)*hop + frameLen; frames(k, :) = xc(idx) .* win'; end

3.3 特征提取代码与包络谱分析

下面这段代码计算每个样本的核心特征:RMS、峰值因子、峭度、偏度,以及包络谱主峰位置。

%% 特征提取函数 function feat = extractFeatures(xc, Fs) rms_val = rms(xc); peak_val = max(abs(xc)); crest = peak_val / rms_val; % 峰值因子 kurt = kurtosis(xc); % 峭度 skew = skewness(xc); % 偏度 %% 包络谱 x_h = hilbert(xc); % 解析信号 env = abs(x_h); % 包络 L = length(env); f_axis = (0:L/2-1) * Fs / L; Y = abs(fft(env)); halfY = Y(1:floor(L/2)); [~, idx] = max(halfY); % 主峰位置 envPeakFreq = f_axis(idx); % 包络主峰频率 %% 高频能量占比(>2000Hz) freqs = (0:L/2-1) * Fs / L; mask = freqs > 2000 & freqs < 10000; highEngRatio = sum(halfY(mask)) / (sum(halfY) + eps); feat = [rms_val, crest, kurt, skew, envPeakFreq, highEngRatio]; end

包络谱主峰频率是个很有用的数字。正常托辊包络谱没有突出的低频峰簇,主峰位置不稳定;故障托辊的包络谱会出现稳定的峰簇,主峰位置往往集中在某个低频带。配合高频能量占比,可以进一步区分“冲击型故障”和“摩擦型故障”。

3.4 故障判别:阈值规则与SVM分类

最简单的判别方式是规则阈值。我用历史正常样本的特征分布做区间估计,比如正常托辊峰值因子上限设为8,峭度上限设为6,超过就判异常。阈值规则适合快速验证,但不同输送线、不同带速的噪声底数差异很大,现场用起来需要频繁调整。

更可靠的方案是训练SVM分类器。我把每段信号的特征向量按行拼成特征矩阵X,标签Y分为四类:正常、轴承剥落、卡死、筒皮磨损。

%% 特征矩阵与标签 % X: NxM 矩阵,N为样本数,M为特征数 % Y: Nx1 类别标签 rng(42); cvp = cvpartition(Y, 'Holdout', 0.3); % 留出30%做测试 trIdx = training(cvp); teIdx = test(cvp); tpl = templateSVM('KernelFunction', 'rbf', 'KernelScale', 'auto'); mdl = fitcecoc(X(trIdx, :), Y(trIdx), 'Learners', tpl); % 多分类SVM Ypred = predict(mdl, X(teIdx, :)); acc = sum(Ypred == Y(teIdx)) / numel(Y(teIdx)); disp(['测试准确率: ', num2str(acc)]); %% 混淆矩阵可视化 figure; confusionchart(Y(teIdx), Ypred);

fitcecoc把二分类SVM扩展成多分类,用一对多的策略实现四类区分。训练前一定要对特征做标准化,否则量纲大的特征会主导距离计算。实际测试中MFCC和小波能量加入后,准确率从82%左右升到了94%以上,所以特征选择的收益远比调参大。

3.5 可视化与结果输出

调试时我一共画四张图:原始时域波形、滤波后时域波形、FFT幅值谱、包络谱。一张图里用tiledlayout平铺,看异常时对照着观察,很快能判断是哪类故障。

%% 可视化对比 figure; tiledlayout(4, 1); nexttile; plot(x); title('原始声音信号'); xlabel('采样点'); ylabel('幅值'); nexttile; plot(xc); title('滤波小波去噪后信号'); xlabel('采样点'); ylabel('幅值'); nexttile; freqAxis = (0:length(xc)/2-1) * Fs / length(xc); Xfft = abs(fft(xc)); plot(freqAxis, Xfft(1:length(freqAxis))); title('FFT幅值谱'); xlim([0 10000]); xlabel('频率(Hz)'); ylabel('幅值'); nexttile; Yenv = abs(fft(abs(hilbert(xc)))); lenEnv = length(Yenv); envAxis = (0:lenEnv/2-1) * Fs / lenEnv; plot(envAxis, Yenv(1:length(envAxis))); title('包络谱'); xlim([0 500]); xlabel('频率(Hz)'); ylabel('幅值');

对包络谱观察低频区,通常在200Hz以下。看到稳定的峰簇,就可以怀疑轴承类故障;如果高频能量占比异常高,优先怀疑密封磨损或卡死摩擦。

4. 现场实操要点与样本采集经验

4.1 采集位置与干扰控制

麦克风距离托辊筒皮0.2到0.5米比较合适。太近容易被筒皮风噪和机械撞击声淹没,太远又会混入相邻托辊的声音,定位意义就不强了。麦克风指向最好与筒皮切平面成45度左右的角度,不要正对输送带面,否则带面拍打声会成为绝对主导。

现场风噪大的时候,给拾音器加一个防风罩或者海绵套,能明显降低低频湍流噪声。采集时人不要站在麦克风和托辊之间,说话声和衣物摩擦声都会被录进去。我在项目中有一条硬规则:每次采集都先在日志里记下环境噪声等级,比如“安静车间”“大风天”“旁边有大车经过”,后处理时方便按工况分组建模。

4.2 样本标注与数据集建库

声音故障检测的瓶颈从来不是算法,而是样本质量。每个样本至少录5秒,标注至少包含四要素:托辊编号、故障类型、运行时带速、采集环境备注。故障类型标签分得越细,后面的分类模型就越有用。我通常分为正常、轴承剥落、卡死、筒皮磨损、偏心五类,必要时再加“未知异常”作为垃圾类,避免模型把没见过的声音强行归到已知类里。

数据集不平衡是常见的坑。现场正常运行时间远长于故障时间,实际能采到的异常样本往往很少。如果正常样本500段、故障样本只有80段,模型会倾向于把所有样本都判成正常,准确率看起来很高但毫无价值。解决办法是少数类做重采样或者训练时给异常类更高的权重,让模型“看得见”异常。

4.3 硬件选型与常见的坑

硬件不要用普通聊天麦克风,频响和可靠性都不够。工业拾音器或者声学传感器优先,最好防尘防水、工作温度范围宽,毕竟输送线现场粉尘和温度变化都很大。

增益设置要留至少20dB余量,防止突发噪声导致削波。削波信号波形顶部是平的,频谱会产生大量虚假谐波,包络谱分析基本就废了。我在代码调试时习惯先看原始波形,发现平顶立即降低增益重新采集。

麦克风损坏时,采集信号往往表现为全零、全直流或者高频底噪异常。写采集程序时可以加一个底噪检测函数,每次采集前先录0.5秒环境底噪,计算RMS,低于正常范围就直接提示检查硬件,能省很多现场排障时间。

5. 常见问题与排查技巧实录

5.1 典型问题速查表

下面这张表是我在项目中踩过的坑整理出来的速查表,按“现象、原因、解决办法”三列整理,调试时可以直接对着查:

现象可能原因解决办法
环境噪声彻底淹没故障特征高通截止太低、防风不足提高到300Hz、加防风、更近距离采集
特征曲线不稳定、误报频繁负载或带速变化影响能量按带速工况分组建模,特征标准化
包络谱看不出稳定峰簇滤波过度或共振频率被滤掉放宽带通范围到15kHz,改用小波包能量
相似故障类型分不开特征维度不足、样本太少增加MFCC和小波能量,扩充故障样本
信号顶部平顶削波增益过大降低增益到峰值不超过满量程80%
不同批次文件采样率不一致采集参数被改动统一重采样到48kHz再处理
正常样本也被判成异常阈值过紧查看特征分布,把阈值设到3倍标准差之外

5.2 三次现场排查实战记录

第一次是在某条长皮带上,正常托辊样本的峰值因子普遍在8左右,我把阈值设成10之后还是疯狂误报。后来把滤波完的波形拉出来一看,发现是滚筒附近的气流啸叫带来的高频周期性尖峰,高通从200Hz提到300Hz之后误报率降了下去。这个经历说明阈值设定不能只看平均值,要结合现场频谱图一起判断。

第二次是采集到了很明显的故障声音,但包络谱主峰和理论计算的轴承特征频率对不上。排查后发现,输送带在运行中有起伏,托辊实际转速并不等于用带速除以周长的理论值,转速波动让特征频率漂移。后来我不再执着于理论频率,而是看包络谱中峰簇的间隔是否规律,规律性比具体频率值更重要。

第三次故障出在便携录音笔上。某批数据的底噪明显高于其他批次,特征分布也整体偏移。查到最后发现是录音笔的自动增益功能开着,背景噪声大时它自动拉高增益,把幅值特征都破坏了。从那之后采集设备一律固定手动增益,并把自动增益功能关闭,这个细节非常容易被忽略,但对分类可靠性影响极大。

5.3 几点个人体会

做这个项目最大的体会是:声音故障检测的技术栈并不复杂,难的是一以贯之的数据规范。每个样本的托辊编号、带速、故障状态、采集环境都要记录清楚,否则再漂亮的SVM模型也只是在拟合噪声。算法迭代到后期,多数时间都花在数据清洗和特征调试上,真正写分类代码的时间反而很少。

如果后续想继续扩展,可以考虑两条路线:一条是把训练好的模型转换到嵌入式设备上做边缘实时推理,麦克风阵列加在线判别,直接替代人工巡检;另一条是用双麦克风或声学成像做声源定位,先在长皮带区间里粗略锁定问题托辊,再自动聚焦采集精细数据。基础做好了,这两条路的想象空间都很大。最后再补一句,第一次调试包络谱时如果觉得看不到峰簇,别急着调参,先关了滤波看看原始FFT里高频共振在不在,共振都没采到,后面再怎么算都是无源之水。

相关新闻

NeRF神经辐射场论文精读:从体渲染原理到三维重建复现实战

NeRF神经辐射场论文精读:从体渲染原理到三维重建复现实战

1. 为什么NeRF值得每一个做三维视觉的人花时间啃第一次接触NeRF&#xff08;Neural Radiance Fields&#xff0c;神经辐射场&#xff09;是在一个三维重建的课题里&#xff0c;当时手头有一组多视角拍摄的照片&#xff0c;传统SfM加MVS的流程跑出来的点云在纹理稀疏区域和反光表…

2026/10/20 17:22:56 阅读更多 →
Selenium Web自动化测试实战:原理、定位与框架落地指南

Selenium Web自动化测试实战:原理、定位与框架落地指南

提起Web自动化测试&#xff0c;Selenium这三个字几乎是必绕不开的话题。做了这么多年测试开发和自动化框架建设&#xff0c;我见过太多人从Selenium入门&#xff0c;又中途放弃&#xff0c;最后回来继续用它。要说为什么它能被叫作“王者”&#xff0c;核心原因就一句话&#x…

2026/10/20 17:22:56 阅读更多 →
Robot Framework 7.0升级必看:Listener v3迁移与实战

Robot Framework 7.0升级必看:Listener v3迁移与实战

Robot Framework 升级到 7.0 之后&#xff0c;最影响测试平台维护者的一个变化&#xff0c;就是 Listener v2 被正式清退了。很多团队手里还握着一堆start_suite(name, attrs)风格的监听器&#xff0c;一跑起来直接不回调&#xff0c;或者报接口版本不支持。于是就有个很现实的…

2026/10/20 17:21:55 阅读更多 →

最新新闻

Apktool 安装与配置完整指南:APK 逆向工具从源码快速上手

Apktool 安装与配置完整指南:APK 逆向工具从源码快速上手

Apktool 安装与配置完整指南&#xff1a;APK 逆向工具从源码快速上手 【免费下载链接】Apktool A tool for reverse engineering Android apk files 项目地址: https://gitcode.com/GitHub_Trending/ap/Apktool 拿到一个闭源 APK&#xff0c;想改个字符串、挪个布局、动…

2026/10/21 1:23:59 阅读更多 →
Citra 3DS模拟器:3 步在电脑上跑通 3DS 游戏

Citra 3DS模拟器:3 步在电脑上跑通 3DS 游戏

Citra 3DS模拟器&#xff1a;3 步在电脑上跑通 3DS 游戏 【免费下载链接】citra A Nintendo 3DS Emulator 项目地址: https://gitcode.com/GitHub_Trending/ci/citra &#x1f3ae; 没有掌机也能玩 3DS 游戏 手边只有电脑&#xff0c;抽屉里却有一堆 3DS 卡带。Citra 3…

2026/10/21 1:23:59 阅读更多 →
万有递归元:用递归思维重构三观的元理论指南

万有递归元:用递归思维重构三观的元理论指南

递归这个词这两年被各路文章讲得快包浆了&#xff0c;但你真想把递归当成一种审视自己三观的工具时&#xff0c;会发现市面上大多数讨论都停在"函数调用自己"这个层面&#xff0c;再往深走就没人愿意趟了。我第一次接触"万有递归元"这个概念时&#xff0c;…

2026/10/21 1:23:59 阅读更多 →
终极隐私保护指南:如何通过awesome-shizuku守护你的Android数据安全

终极隐私保护指南:如何通过awesome-shizuku守护你的Android数据安全

终极隐私保护指南&#xff1a;如何通过awesome-shizuku守护你的Android数据安全 在Android设备使用过程中&#xff0c;隐私泄露和数据安全问题日益突出。awesome-shizuku作为精选的Android应用列表&#xff0c;汇集了众多利用Shizuku技术的优质应用&#xff0c;为用户提供了强…

2026/10/21 1:23:59 阅读更多 →
用Playwright打造新闻热搜自动采集爬虫:从环境搭建到定时运行

用Playwright打造新闻热搜自动采集爬虫:从环境搭建到定时运行

我平时有收集新闻热搜做数据分析的习惯&#xff0c;早先靠手一个个复制粘贴&#xff0c;点一次页面就得停下整理一次&#xff0c;后来实在受不了这个重复劳动&#xff0c;就写了这个基于 Playwright 的自动化爬虫脚本。如果你也在做内容监测、竞品动态跟踪&#xff0c;或者单纯…

2026/10/21 1:23:59 阅读更多 →
8-120V宽压Buck芯片XZ1823选型与48V转12V实战

8-120V宽压Buck芯片XZ1823选型与48V转12V实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 1:22:58 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事&#xff1a;AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里&#xff0c;按宣传口径&#xff0c;本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”&#xff0c;而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起&#xff1a;用户到底在追求什么“封号重开”这四个字&#xff0c;放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流&#xff0c;背后是大量的时间和精力成本。正常情况下&#xff0c;没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”&#xff0c;而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时&#xff0c;就意识到&#xff1a;单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →