卡尔曼滤波实战指南:状态估计、EKF/UKF与多传感器融合
简介《Kalman Filter from the Ground Up v1.0.2》是一份面向导航、控制、机器人及信号处理等领域的卡尔曼滤波系统教程适合具备线性代数与概率统计基础的工程技术人员、研究生和科研人员尤其对状态估计、多传感器融合和动态建模有实践需求者。全书分四部分推进先通过一维滤波的数值示例建立直观理解再进入多变量矩阵形式的状态空间建模与公式推导第三部分专门讲解扩展卡尔曼滤波EKF与无迹卡尔曼滤波UKF的线性化方法和协方差传播第四部分则覆盖传感器融合、缺失数据处理、异常值应对及完整的滤波器设计流程并配有14个全解数值示例、性能曲线和表格便于读者对照编程实现。压缩包为1个PDF文件大小约10.35MB内容结构清晰完整读者可据此建立卡尔曼直觉并完成从状态建模到滤波器调优的完整工程实现。目前已有110人学习/下载是入门到进阶都值得研读的工程资料。1. 一个没人愿意明说的现实卡尔曼滤波器把有噪声的传感器输出变成可信状态量靠的是一整套状态估计的底层逻辑手机导航定位轨迹为什么不会乱跳无人机在强风里悬停为什么还能稳住机身自动驾驶车辆在 GPS 信号进隧道之后为什么仍能把自己的位置推算到误差可控的范围——这些产品级现象背后的算法都是同一类卡尔曼滤波器。这份 Kalman-Filter-from-the-Ground-Up-v1-0-2.pdf 的价值在于它没有只停在推导公式的层面而是从线性系统的动态模型讲起一路延伸到非线性场景下的 EKF 与 UKF最后落到多传感器融合的工程实践。适合的读者是手里握着 IMU、GPS、里程计或视觉位姿数据但融合出来的状态量仍然不让人信服的从业者——你缺的不是公式是把“为什么选这个模型、Q 和 R 凭什么这么设、数据坏了我先查哪里”这套链路彻底想清楚。2. 线性卡尔曼的五个工程要素动态模型、观测方程与协方差传递的基本功2.1 动态模型怎么建状态向量、转移矩阵与控制输入的物理映射卡尔曼滤波器的世界观是由你写的动态模型决定的。模型写得好滤波器收敛快且残差干净模型写得不贴合真实运动后面所有调参都是在补窟窿。建立模型的第一步是确定状态向量。最常见的做法是用目标的位置、速度作为状态量需要描述转弯或加减速时再把加速度或角速度纳入其中。状态量不是越多越好维度每增加一维协方差矩阵的规模按平方增长而观测信息未必覆盖得了新增的自由度反而容易让估计变得病态。以一个工程里最常见的恒定速度模型CV为例状态向量取 x [位置, 速度]ᵀ离散化的状态转移矩阵长这样这里 dt 是两次滤波周期之间的实际时间差F | 1 dt | | 0 1 |如果你处理的是带明显加减速的轨迹恒定加速度模型CA会再增加一列二阶项F | 1 dt dt²/2 | | 0 1 dt | | 0 0 1 |这里有一个工程习惯dt 不要用固定常数代进去而是在循环里用传感器时间戳实时计算因为 IMU 的采样中断、系统调度延迟都会让实际间隔抖动固定 dt 会给滤波周期埋下系统性偏差。F 矩阵的物理含义是“状态量按模型外推一步”它决定了在没有观测进来时滤波器对下一时刻状态的预期。接下来处理控制输入。如果你的系统里有一个明确已知的外部指令——比如电机转速、油门开度、机器人底盘的速度指令——把它放进 B·u 这一项。很多开发者在建模时容易忽略 B 矩阵把所有未建模的因素都丢给 Q。我的习惯是能用控制输入描述的先写进 B·u剩下的残余不确定度才交给 Q这样 Q 的物理意义更干净调参时的反馈也更直接。控制输入未知或不确定时B·u 可以不填把这部分方差并入 Q 即可。观测方程 H 的选取相对直接GPS 给你位置观测H 就把状态向量里的位置分量挑出来激光测距给你一个距离H 对应到状态的线性组合。H 决定了滤波器“从哪个角度验证预测”它和 F 必须用同一套单位制否则后面协方差矩阵的量纲就会混乱这也是很多调和半天调不好的隐藏原因。2.2 预测-更新循环的数值实现从 P 矩阵传播到 K 的计算顺序卡尔曼滤波器的核心循环只有两条预测和更新但在工程代码里写出来的顺序会影响数值稳定性和排错效率。先看最常用的标准形式我用 Python 风格的伪代码还原这个循环这也是后续 EKF 和 UKF 共用的骨架# 预测按模型外推状态和协方差 x_pred F x # 状态外推 P_pred F P F.T Q # 协方差传播 过程噪声注入 # 更新用观测修正预测 S H P_pred H.T R # 预测观测的协方差 K P_pred H.T inv(S) # 卡尔曼增益 y z - H x_pred # 新息观测与预测之差 x x_pred K y # 状态修正 P (I - K H) P_pred # 协方差修正逻辑上这里有个关键点P 矩阵的传播是滤波器真正在做的事它不是配角而是整个估计置信度的载体。P_pred 的物理意义是“模型外推之后的不确定度”它由两部分组成——上一时刻的不确定度通过 F 传播而来以及这一过程中新增的 Q。K 是预测与测量的权衡系数当 R 相对较小、P_pred 相对较大时K 趋近于让滤波器主要采信测量反过来K 很小时说明你更信任模型推演。理解这一点你就能解释为什么 Q/R 比例才是线性滤波最核心的调参对象。更新步的数值细节值得多说一句。标准形式里的 P (I - K·H)·P_pred 在数值上容易慢慢丢失对称性尤其是单精度浮点或长时间连续运行时。工程上更稳的做法是Joseph形式P (I - K·H) P_pred (I - K·H).T K R K.T。这个形式看起来多算了一步但换来了 P 矩阵在每一步都保持对称正定的概率大幅提升代价只是很少的矩阵乘法属于典型的用计算换稳定性。我的建议是只要你的状态维度在 15 维以下直接用 Joseph 形式不要去优化这种小矩阵乘法。初始协方差 P0 的设置是新手最容易低估的一步。P0 代表你对初始状态估计的不确定度如果系统上电时对姿态和位置一无所知P0 就要给得足够大让滤波器在初期更愿意采信测量快速收敛。我看到过很多工程实现把 P0 设成与 Q 同量级的对角阵结果在静止状态下也花了很久才收敛到真值附近后来把 P0 放大两个数量级收敛速度立刻正常。初值不确定时P0 大一点是给滤波器的“后悔药”它不会让你的稳态精度变差只会让收敛路径更合理。3. 线性假设失效时怎么办EKF 的雅可比线性化与 UKF 的sigma点采样接管强非线性模型3.1 EKF雅可比矩阵在哪里展开、一阶截断误差在哪里放大现实系统几乎没有真正线性的。四元数姿态的旋转更新、纯方位跟踪里的观测方程、地面车辆在转弯时的横摆动力学——这些模型里的 f(x) 和 h(x) 都写不成 F·x 或 H·x 的形式。扩展卡尔曼滤波的思路是在每个时刻把非线性函数在当前状态估计附近做一阶泰勒展开把问题拉回线性框架代价是线性化误差会在每一步被引入。EKF 对线性的依赖不是“多算了一个矩阵”而是“整个滤波器建立在一个可能不准确的切平面上”。雅可比矩阵的展开位置是一个高频翻车点。f 的雅可比要在 x_pred 处展开h 的雅可比要在 x_pred 处展开而且每一轮滤波都要重新计算一次。很多开发者在调试时把雅可比写成常量矩阵只算了一次结果系统在静态场景下表现正常一旦进入动态就发散——因为线性化点早就离开了你偷懒时假定的那个点。正确做法是把雅可比计算放进预测和更新函数内部每次从当前状态实时构造。雅可比的计算分两种流派解析求导和数值微分。解析求导精确但推导时容易漏项数值微分用中间差分公式代码上省事但要注意步长选择。中间差分是比一阶差分更稳的选择∂f/∂x ≈ [ f(x δ) - f(x - δ) ] / (2δ)这里的 δ 我一般取到 1e-6 到 1e-4 的量级具体取决于状态量的尺度。位置量级在米级的系统里取 1e-6 就没问题角度的弧度制下取 1e-4 更稳。步长太大会截断误差占主导太小会淹没在浮点舍入误差里——这一步真的会直接影响发散与否不能用默认值糊弄过去。我的习惯是在状态定义里先写清楚每个变量的物理单位再做数值微分就能规避掉大部分量纲引起的步长问题。EKF 的一个血泪教训来自我经手过的姿态估计某图像处理 Demo 用四元数表达姿态旋转更新方程的雅可比涉及局部扰动与全局角速度之间的转换推导时漏了两项导致滤波输出比原始陀螺仪积分还飘。当时看残差图始终看不出明显模式最后把变量定义表打印出来逐项对才定位到问题。这里的方法论是强烈非线性系统的雅可比推导先写变量表再写偏导表最后才是代码。3.2 UKF确定性采样让概率分布真实穿过非线性函数alpha、beta、kappa 三个参数到底怎么调EKF 在一阶截断误差控不住的场景下会给出一个过度自信的错误估计也就是 P 矩阵收敛得很小但估计值和真值偏离很远。无迹卡尔曼滤波UKF换了一条路我不在你的切平面上近似函数而是用一组 sigma 点去代表当前状态的高斯分布让这些点真实穿过非线性函数再从穿过后的点集里恢复均值和协方差。这样做的直接好处是非线性函数本身的曲率被保留在传播结果里而不只是用一条切线去逼近它。sigma 点的生成逻辑是确定性的不是随机采样。对于 n 维状态生成 2n1 个点第一个点是当前均值其余点在均值两侧的距离由协方差矩阵的分解结果决定。核心参数有三个alpha 控制 sigma 点离均值半径的尺度工程上通常取 1e-3 到 1e-2beta 在高斯分布假设下取 2 最合适kappa 一般取 0 或 3-n。这三个参数直接决定点集的分布形状调起来确实有点玄学的味道但记住原则就好alpha 越小点越贴近均值局部信息越精确但非线性传播的信息越少beta 基本不动固定取 2kappa 在状态维度低时取 0 最简单。用代码生成 sigma 点的方式有很多种我用 Cholesky 分解以保证数值稳定性def sigma_points(x, P, alpha1e-3, beta2, kappa0): n len(x) lam alpha**2 * (n kappa) - n # 尺度参数 lambda P (P P.T) / 2.0 # 强制对称防 Cholesky 失败 L np.linalg.cholesky((n lam) * P) # 分解下三角矩阵 chi np.zeros((2 * n 1, n)) chi[0] x for i in range(n): chi[i 1] x L[i] chi[i 1 n] x - L[i] # 权重第 0 个点与其他点权重不同 Wm np.full(2 * n 1, 1.0 / (2.0 * (n lam))) Wc np.copy(Wm) Wm[0] lam / (n lam) Wc[0] lam / (n lam) (1.0 - alpha**2 beta) return chi, Wm, Wc这段代码里有两个容易被忽略的工程细节。第一P 在送入 Cholesky 之前强制做一次对称化这是为了防止前一轮滤波遗留下细微的非对称累积导致分解直接崩溃。第二Cholesky 分解生成的是下三角矩阵用它去构造点集时是按行取的所以每个点对应的是 P 矩阵的传播方向。权重分配上第 0 个点的过程噪声项的权重里加了 (1 - α² β)这个修正让 β2 时对高斯分布的均值和协方差二阶矩都能精确匹配。生成 sigma 点之后把它们逐一通过非线性函数 f() 和 h() 传播再按权重加权恢复均值和协方差整个预测和更新就完成了。UKF 对非线性的容忍度比 EKF 高不少代价是计算量从“一次雅可比”变成“2n1 次完整函数传播”。状态维度在 10 维以下时这个代价通常可以接受但如果你的状态向量超过 15 维再强行上 UKF 就未必划算此时要么简化模型要么退回 EKF 加更频繁的观测更新。选型建议其实很明确系统模型能用一次线性化充分描述时用 EKF观测方程是强非线性比如纯方位角测量、图像像素观测或者运动模型包含大角度旋转时用 UKF。很多工程团队直接把所有场景都换成 UKF也不是不行但你要确认自己真的需要那份额外的非线性表达能力否则计算量和调试复杂度都白涨了。4. 多传感器融合不是取平均松耦合、紧耦合与融合前的数据质量门4.1 松耦合与紧耦合的取舍精度、计算量与故障隔离的边界多传感器融合最常见的误解是“把两个传感器的输出做一个加权平均”。基于卡尔曼滤波的融合不是平均而是把每个传感器当作一条独立的观测方程按照各自的噪声特性去更新同一个状态估计。融合结构怎么选直接决定系统在城市峡谷、隧道、信号遮挡这些恶劣场景下的表现。松耦合loosely coupled与紧耦合tightly coupled是两条最主流的路线。松耦合的做法是每个传感器先独立解算出位置、速度等导航量再把解算结果当作观测值喂给滤波器。紧耦合则把传感器的原始量测直接放进观测方程对 GNSS 来说就是伪距、伪距率而不是已经解算出来的经纬度和速度。二者的差异用一个表能看得很清楚维度松耦合紧耦合数据层级已解算的位置/速度原始量测伪距、伪距率等精度上限受前级解算损失限制理论上更高信息更完整计算开销低滤波器维度小高需要维护时钟偏差等状态实现复杂度简单接口清晰复杂需要深入传感器底层协议故障隔离能力强某路观测可直接丢弃弱原始量测故障排查更困难典型场景大部分量产车载系统起步方案GNSS 信号受遮挡时想多撑几秒的场景我个人在项目里的惯例是先做松耦合把整个链路跑通确认 Q/R 调参到残差干净之后再评估是否有必要上紧耦合。松耦合的工程优势在于它把传感器前级的黑匣子留在外面滤波器的观测模型非常简单——GPS 给你位置你就观测位置IMU 给你姿态增量你就观测姿态增量。调试时如果出了问题也能相对容易地定位是前级解算坏了还是滤波器参数坏了。紧耦合不是永远更好。它的精度优势只有在标定准确、时钟同步做好的前提下才成立一旦伪距的星历错误或者载波相位周跳没有剔除干净紧耦合会把污染直接带进滤波器核心。而且紧耦合通常需要把接收机的时钟偏差扩展到状态向量里这会增加一个不直接对应物理运动的维度也增加了 P 矩阵维护的复杂度。工程结论是如果松耦合的残差已经能保持在传感器噪声水平附近紧耦合带来的收益往往是边际的。4.2 融合前的数据质量门时间对齐、量纲归一化与新息马氏距离剔除多传感器融合里有一半的坑不在滤波器本身而在滤波器开口之前的数据质量上。第一个必须解决的问题是时间对齐。IMU 通常以 100Hz 到 500Hz 的频率输出GNSS 接收机通常只有 1Hz 到 10Hz而且到达应用层的路径上还叠加了各自的缓冲延迟。如果直接把接收机解算出的位置放到当前滤波周期去更新等于给滤波器喂了一帧“过去”的观测残差会呈现明显的随延迟增长的偏置。常见做法是用观测时间戳做外推补偿在滤波器预测步之后、更新步之前用状态预测值把迟到的观测外推到当前滤波时刻或者在收到新观测时将其时间戳映射到滤波器已推进到的时刻再做更新。代码里的套路是维护一个小的观测队列收到传感器数据先打时间戳滤波循环每走一步都检查队列中是否有“过期但没用过”的观测。没有这一步融合结果的跳变会折磨你很多天。第二个问题是量纲归一化。位置用米、速度用米每秒、姿态角用弧度这三类状态同时进一个 P 矩阵时数值尺度差异可能达到几个数量级。R 矩阵里如果直接填不同量纲的方差数值条件数会变得很差Cholesky 分解这类依赖平方根运算的步骤更容易出现负定。我的办法是在状态定义阶段就把量纲标准化写进接口注释R 矩阵的每个对角线元素对应一个明确的物理单位偏差超过 1e-6 就检查单位写没写错。第三个问题是异常观测剔除。GNSS 在城市峡谷多径环境下会给出突然跳变几个米的位置IMU 在受到冲击时加速度计的读数可能完全不可信。这些异常如果直接进滤波器K 矩阵会让估计被瞬间拉偏。常用做法是基于新息的马氏距离检验新息 y z - h(x_pred)其协方差 S H·P_pred·Hᵀ R构造统计量 d yᵀ·S⁻¹·y。d 在滤波器工作正常的假设下服从自由度等于观测维度的卡方分布工程上直接取其 95% 分位数作为门限超过就丢弃这一帧观测只在日志里打一条标记供事后排查。这个检验的工程价值在于它把“数据是否可信”从拍脑袋变成了可量化的判断。S 本身就包含了对当前状态不确定度的考量状态不确定度大时S 也大马氏距离自然变小异常更容易被容忍状态已经收敛时S 小任何明显偏离预测的观测都会被拦下来。这一个机制同时解决了启动初期和稳态期两种不同场景下的异常观测辨识是在传感器融合项目里投入产出比最高的三行代码。5. 工程避坑手册滤波发散、雅可比翻车、协方差非正定的三类排查现场5.1 滤波发散、残差越滚越大Q/R 比例失衡的排查路径现象滤波输出的轨迹在平滑段表现正常一旦进入机动段就跟不上真值残差序列的均值明显不等于零而且随着时间推移越来越大。同时你去看 P 矩阵的对角线数值反而收敛到很小的量级——这是一个非常典型的过度自信状态。原因Q 被设置得过小滤波器认为自己的模型非常准确任何测量与你预测的偏差都会被看成测量噪声R 被设置得过大让滤波器长期不采信测量。两件事叠加在一起滤波器在机动段只能靠模型瞎推而 P 矩阵因为 Q 小、R 大而迅速收缩形成“我很有信心但我错得很稳定”的假收敛。这个组合是调参里最隐蔽的坑因为单看 P 矩阵的反应会让你误以为系统是健康的。解决先别急着改 Q第一步处理 R。把传感器放在静止或匀速场景下采集一段数据计算测量残差的均值和标准差用实测标准差去更新 R 矩阵对角线。这一步做完之后再根据机动段的残差偏置大小回填 Q如果残差偏置明显先把 Q 中对应方程的对角项放大一到两个数量级观察残差均值是否回到零附近。这个循环反复两三次后Q/R 比例就会收敛到一个合理区间。记住一个判断准则滤波正常时残差的标准差应当与 R 矩阵对应元素的开方同量级如果差了一个量级以上回到这条重新排查。5.2 EKF 在强机动下跟丢目标雅可比的三种典型错误现象EKF 在匀速段表现良好一旦目标开始转弯估计值就出现持续滞后随后滤波发散有时候在直线段也会出现小幅但持续的偏置看起来像系统误差。原因第一雅可比被当成常量只计算了一次没有在每一轮滤波的当前状态处重新构造导致线性化点长时间脱离真实状态第二数值微分步长选得不对位置量级在米级时用 1e-9 的步长浮点舍入误差直接淹没掉差分结果第三状态方程本身的强非线性项被一阶截断误差放大转弯机动下 CV 模型根本不成立线性化也无法弥补模型本身的错误。解决先确认雅可比在预测和更新内部每次都重新构造用中间差分公式代替一阶差分步长按状态量尺度动态设定。然后检查模型结构本身目标在转弯时需要把横摆角速度加入状态向量或者改用匀速转弯模型CTRV让模型描述的运动模态与真实物理过程匹配。如果这些做完了强机动下还是跟丢直接切到 UKF用 2n1 个 sigma 点穿过非线性模型通常能明显改善。这一步是 EKF 在工程上最常遇到的“天花板”不是你的参数错了而是线性化这条路本身到极限了。5.3 协方差非正定与融合结果突变数值稳定性与时间戳陷阱现象滤波运行一段时间后P 矩阵对角线出现负值或者矩阵明显不对称另一种表现是融合输出在 GNSS 更新到达的瞬间出现台阶式跳变跳变幅度远大于传感器本身的噪声水平。原因P 矩阵的问题来自更新步的常规形式在数值上无法保证对称性长时间运行后舍入误差一点点累积最终把正定性破坏掉量纲差异过大的状态变量也会加剧条件数恶化。融合跳变的原因通常是时间戳没有对齐IMU 数据到了就更新迟到的 GPS 观测到了又用当前时刻的状态去更新等于用新旧两个时刻的信息混在一起算跳变不可避免。解决更新步强制换用 Joseph 形式每轮滤波结束后对 P 做一次对称化处理P (P P.T) / 2.0。如果状态维度高或者数值条件特别差可以考虑平方根滤波让 Cholesky 因子而非完整协方差参与传播。时间戳问题则要求你在滤波主循环里维护统一的观测队列任何观测进入更新步之前都必须给出一个与当前状态时刻对齐的时间戳迟到的观测先做时间外推对齐后再参与更新。这两类问题的共同点是它们都不会在仿真数据上暴露因为仿真里所有数据都是理想同步的只有接了真实硬件才会逼你补这两课。6. 离线验证技巧仿真轨迹、残差统计与初值收敛检查让滤波器不再是个黑匣子6.1 用模拟器生成带噪声轨迹从第一天就把滤波器放在可控环境里检验我拿到任何一份滤波相关的代码第一件事不是接传感器而是先写一个极简模拟器。给定一条已知真值的轨迹加上符合真实量级的传感器噪声跑一遍滤波器直接用估计值与真值对比。这个验证方式的最大价值是你手里有标准答案滤波器到底行不行一目了然不需要靠肉眼看轨迹抖不抖来判断。# 离散系统仿真真值轨迹 过程噪声 测量噪声 for i in range(N): w np.random.multivariate_normal(np.zeros(n), Q_sim) # 过程噪声 x_true f(x_true) w # 真值递推 v np.random.multivariate_normal(np.zeros(m), R_sim) # 测量噪声 z h(x_true) v # 模拟观测 # 将 z 送入你自己的滤波器保存估计值 x_est 与残差序列仿真里的 Q_sim 和 R_sim 要与你的滤波器里设置的 Q、R 相匹配。如果不匹配你还能额外观察到一个现象滤波器明明在“最佳”参数下运行RMSE 却下不去这时你先怀疑的是我传给滤波器的那组参数而不是滤波器本身。先让模拟器里的参数一致确认算法核没问题再放参数偏差进去测试鲁棒性。这个顺序能替你真刀真枪地省下大量排查定位的时间。6.2 残差白噪声检验与 P0 初值合理性判断滤波器的残差序列是最诚实的反馈信号。把整段运行数据保存下来统计残差的均值、标准差以及自相关就能判断滤波器是否处于健康状态。均值应当趋近于零标准差应当与 R 矩阵对角线的开方同量级自相关应当快速衰减而不是长期保持正相关。连续几帧残差同向偏离预测说明模型有系统误差或观测时间未对齐需要回到模型层面排查残差标准差远大于 R 开方说明 Q 被低估远小于 R 开方则说明滤波器过度依赖模型动态响应会迟钝。这个检验脚本十分推荐在每次调参前都跑一遍比盯曲线图直观得多。P0 初值合理性的检验有一个笨但有效的办法分别用 P0 和 10 倍 P0 跑同一份数据观察两条轨迹的收敛区间。如果两条曲线分别收敛到相近的状态值和误差协方差说明 P0 对结果影响有限如果最终收敛状态差距很大说明 P0 和 Q/R 之间还有不一致的地方需要回到前面章节的调参步骤重新过一遍。我踩过的最深的一次教训就是在某跨平台系统的位姿融合里认为 P0 只是启动阶段的事后来发现 P0 给小了两个数量级滤波器前几秒的过度自信让后续 30 秒都带着偏置收敛。从那以后我拿到任何新数据源第一件事永远是写一个残差分析脚本把均值和标准差打出来再碰滤波器参数这个习惯让我少走了很多弯路希望也能帮到你。本文还有配套的精品资源点击获取

相关新闻

Java打印PDF全攻略:PDFBox静默打印 + exe4j打包部署

Java打印PDF全攻略:PDFBox静默打印 + exe4j打包部署

刚做完一个跟Java打印PDF有关的交付,正好把整套思路和踩过的坑整理出来。需求不复杂:业务系统里生成了一批PDF报告,要直接从后端送打印机,不弹Windows打印对话框,运维机上还没装Java运行时,程序得打成exe双…

2026/10/18 13:04:45 阅读更多 →
DGX Spark 部署 SD3.5 全流程:从权重到 ComfyUI 实战指南

DGX Spark 部署 SD3.5 全流程:从权重到 ComfyUI 实战指南

把话说在前头:NVIDIA DGX Spark 这台机器和 Stable Diffusion 3.5 的组合,属于那种“听起来就很有搞头、实际上也真有搞头”的本地图像生成方案。但如果你以为插上电源、装个 ComfyUI、下载一个大模型文件就能出图,那大概率会被三个文本编码器…

2026/10/18 13:04:45 阅读更多 →
2026年国内Claude调用平台实测:词元之河合规居首,企业级稳定不中断

2026年国内Claude调用平台实测:词元之河合规居首,企业级稳定不中断

Claude 系列模型在代码生成、长文本分析与智能体编排上的表现,让国内开发者又爱又愁:爱的是能力,愁的是调用通道。本轮横评覆盖国内十五款主流 Claude 聚合平台,围绕稳定可用性、数据安全、延迟性能、合规资质、成本透明五大维度展…

2026/10/18 13:04:45 阅读更多 →

最新新闻

飞凌 OK3576-C 实测:Debian 13 上的八核 CPU、eMMC、GPU 和 NPU,实际表现怎么样?

飞凌 OK3576-C 实测:Debian 13 上的八核 CPU、eMMC、GPU 和 NPU,实际表现怎么样?

拿到一块嵌入式开发板,我一般会先确认系统能否正常启动和使用,再考虑跑分。芯片参数很好查,但装上 Debian 以后,软件包是否齐全、编译是不是够快、eMMC 读写会不会拖后腿,以及 GPU 和 NPU 能否真正运行程序&#xff0c…

2026/10/18 13:46:06 阅读更多 →
机器人会走路之后,行业开始争“大脑“

机器人会走路之后,行业开始争“大脑“

2026年,人形机器人的"身体"差距正在快速缩小。关节电机国产化率超过八成,整机价格两年下降七成,头部厂商的产线已经能以分钟级节拍下线产品。但一个让全行业尴尬的事实始终没有改变:机器人在标定好的工位上成功率可以接…

2026/10/18 13:46:06 阅读更多 →
我给 Gemini 4 和 DeepSeek 搞了套「末位淘汰」,AI 干活会更猛吗?(Day 3)

我给 Gemini 4 和 DeepSeek 搞了套「末位淘汰」,AI 干活会更猛吗?(Day 3)

昨天定下做 Beyond Compare 的免费开源版 OpenCompare 后,评论区又有朋友提了 FTP 远端对比等新需求,我已经让 AI 员工收进需求池交给 Gemini 4 评估。 今天本来该直接让 Gemini 4 和 DeepSeek 开工写核心代码。但动手前,我突然好奇一件事&am…

2026/10/18 13:46:06 阅读更多 →
Spring Cloud Gateway实战:路由、断言、过滤器与跨域配置全解析

Spring Cloud Gateway实战:路由、断言、过滤器与跨域配置全解析

微服务做久了,几乎谁都绕不开这两个词:Spring Boot 和 Spring Cloud。我经常在面试里碰到候选人张口就能背“Spring Boot是基础框架,Spring Cloud是微服务全家桶”,但真让他落地一个服务网关的时候,却连路由怎么写、依…

2026/10/18 13:46:06 阅读更多 →
计算机组成原理|数据与文字的表示方法

计算机组成原理|数据与文字的表示方法

前言 在计算机硬件体系当中,所有信息都不能以我们人类熟悉的十进制数字、汉字、符号直接存在硬件里面。不管是数字计算、文本信息,最后全部要转换成为二进制比特串。第二章作为整本书承上启下的关键章节,一边衔接第一章计算机系统概述的硬件基…

2026/10/18 13:46:06 阅读更多 →
MySQL 定时 DDL 导致 mysqldump 备份失败:场景模拟、排查与优化建议

MySQL 定时 DDL 导致 mysqldump 备份失败:场景模拟、排查与优化建议

1. 问题背景生产环境中,MySQL 数据库每天凌晨 2 点执行定时 DDL 操作(如新增索引、修改表结构),随后触发 mysqldump 逻辑备份任务,但备份经常失败。本文通过模拟该场景,分析失败根因,并给出可落…

2026/10/18 13:45:06 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/18 0:00:55 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →