卡尔曼滤波:从噪声数据中提取最优估计的核心算法

news2026/5/19 15:18:14
1. 项目概述从“猜”到“算”的智慧如果你曾经尝试过用手机导航或者玩过需要控制无人机、机器人的游戏甚至只是好奇自动驾驶汽车是如何“看清”这个世界的那么你很可能已经间接接触过卡尔曼滤波。这个名字听起来有点高深像是数学家和工程师的专属领域但它的核心思想其实非常直观如何在充满噪声和不确定性的世界里做出最好的“猜测”。想象一下你蒙着眼睛被要求在一个嘈杂的房间里找到一枚硬币。你只能通过两种方式获取信息一是靠耳朵听硬币落地的声音但这个声音可能被其他噪音干扰不准确二是靠你大脑里对房间布局和硬币可能掉落位置的记忆但这个记忆也不完全精确。卡尔曼滤波要解决的就是如何把你听到的“不准确”声音和你“不精确”的记忆结合起来得出一个比单独使用任何一种信息都更靠谱的硬币位置估计。在工程世界里“耳朵听”就是传感器测量值如GPS坐标、摄像头图像、陀螺仪读数而“大脑记忆”就是根据物理规律运动模型对系统状态的预测。所以简单回答标题的问题卡尔曼滤波是一种最优估计算法。它的作用就是在系统存在随机干扰噪声和测量存在误差的情况下通过融合“基于模型的预测”和“来自传感器的观测”这两类信息实时地、递归地估计出系统内部无法直接测量的状态比如位置、速度、温度等并且这个估计在统计意义上是“最优”的——即误差的方差最小。它让机器拥有了在混乱中保持清醒、在模糊中看清本质的能力是连接物理世界与数字世界的核心桥梁之一。2. 核心思想拆解预测与更新的优雅舞蹈要理解卡尔曼滤波不能只记公式必须吃透它背后一以贯之的哲学。整个过程可以看作两个步骤的循环预测和更新。我更喜欢称之为“先猜后验”的智慧。2.1 预测基于已知规律的“向前看”系统不会凭空变化。一个运动的物体其下一时刻的位置和速度与当前时刻的状态和所受的力控制输入有关。这就是我们建立的状态空间模型。状态方程X(k) A * X(k-1) B * U(k) W(k)X(k)我们想要估计的系统状态向量例如[位置 速度]。A状态转移矩阵。它描述了系统如何从上一时刻的状态X(k-1)自然地演化到当前时刻。比如匀速运动下新位置 旧位置 速度 × 时间间隔。B和U(k)控制矩阵和控制输入。如果你对系统施加了力如踩了油门B*U(k)就描述了这部分影响。W(k)过程噪声。它承认我们的模型不完美存在未知的扰动如风阻、路面不平。我们假设它服从均值为0的高斯分布其协方差矩阵为Q。预测步骤不仅预测状态还预测我们对这个预测的“信心”有多大这个信心用状态估计误差的协方差矩阵P来表示。P矩阵对角线上的值就是各个状态变量估计误差的方差值越小表示我们越确信。预测步骤的公式预测状态X(k|k-1) A * X(k-1|k-1) B * U(k)预测协方差P(k|k-1) A * P(k-1|k-1) * A^T Q这里的(k|k-1)表示基于k-1时刻及之前的所有信息对k时刻做出的预测。注意Q过程噪声协方差的选择非常关键且常常是调参的难点。Q设得太大意味着你认为模型非常不可靠滤波器会更快地相信传感器Q设得太小滤波器会过于相信自己的预测模型对传感器的异常值不敏感。通常需要根据对系统扰动大小的理解来经验性设置。2.2 更新用测量结果来“修正猜测”预测之后我们拿到了传感器的新数据Z(k)。但传感器也有误差我们用一个观测模型来描述观测方程Z(k) H * X(k) V(k)H观测矩阵。它描述了如何从系统状态X(k)得到我们理论上能观测到的值。例如我们可能只能直接测量位置而不能直接测量速度那么H就是[1, 0]。V(k)观测噪声。传感器的不精确性。同样假设为均值为0的高斯噪声协方差矩阵为R。现在我们手上有两样东西一个是纯粹靠模型推演出来的预测状态X(k|k-1)另一个是带有噪声的实测值Z(k)。卡尔曼滤波的精华就在于如何最优地融合二者。它先计算一个叫做卡尔曼增益K的量。K是一个权衡因子决定了在本次更新中我们应该更相信预测还是更相信测量。更新步骤的公式计算卡尔曼增益K(k) P(k|k-1) * H^T * (H * P(k|k-1) * H^T R)^(-1)更新状态估计X(k|k) X(k|k-1) K(k) * (Z(k) - H * X(k|k-1))更新估计协方差P(k|k) (I - K(k) * H) * P(k|k-1)关键解读(Z(k) - H * X(k|k-1))被称为新息或残差。它是实际测量值与预测的观测值之间的差异。如果差异很大说明要么预测不准要么测量出现了异常。卡尔曼增益K是核心中的核心。公式虽然复杂但直觉上可以这样理解如果我们的传感器非常精确R很小趋近于0那么K会趋近于H^(-1)更新公式就变成了X(k|k) ≈ H^(-1) * Z(k)即我们几乎完全相信测量值。反之如果传感器噪声很大R很大或者我们的预测非常自信P(k|k-1)很小那么K会很小我们就会更多地保留预测值只做微调。最后更新协方差P(k|k)反映了融合新信息后我们估计的不确定性降低了。这个更新后的状态X(k|k)和协方差P(k|k)将作为下一轮预测的起点如此循环往复。这个“预测-更新”的循环就是卡尔曼滤波的完整流程。它像一位冷静的指挥官不断根据物理规律模型向前推演又时刻倾听前线传感器发回的战报并智慧地权衡两者给出最靠谱的战场态势图。3. 深入原理为什么它是最优的卡尔曼滤波被称为“最优”这个“最优”有严格的数学定义在线性系统和高斯噪声的假设下它提供了系统状态的最小均方误差估计。通俗讲它得出的估计值与真实值之间的平均平方误差是最小的。3.1 贝叶斯推断的视角从概率角度看卡尔曼滤波是贝叶斯定理在动态系统估计中的完美实现。贝叶斯定理告诉我们如何用新的证据观测数据来更新某个假设系统状态的概率。预测步骤对应的是先验概率分布的传播。我们基于上一时刻的后验分布和系统模型推导出当前时刻的先验分布p(X(k) | Z(1:k-1))。更新步骤对应的是结合似然函数p(Z(k) | X(k))由观测模型和噪声决定来计算后验概率分布p(X(k) | Z(1:k))。在高斯分布的假设下这个复杂的概率分布传播和更新过程被优雅地简化为对均值状态估计X和协方差不确定性P的线性运算。这就是卡尔曼滤波数学形式的美妙之处——它将一个完整的概率分布信息用两个参数就完全表征并传递了下去。3.2 线性与高斯的假设这是经典卡尔曼滤波的“阿喀琉斯之踵”也是其应用时必须首先检查的前提。线性系统的状态方程F和观测方程H都必须是线性的。现实世界中很多系统本质是非线性的比如飞行器的姿态角运动。高斯过程噪声W和观测噪声V必须服从高斯正态分布。虽然中心极限定理让许多噪声近似高斯但并非总是如此。当这两个假设不成立时经典卡尔曼滤波的性能会严重下降甚至发散。这也催生了其两大著名扩展扩展卡尔曼滤波通过在工作点附近对非线性函数进行一阶泰勒展开将其线性化然后应用标准卡尔曼滤波公式。这是工程中最常用的处理非线性问题的方法但只适用于弱非线性情况且计算雅可比矩阵有时很繁琐。无迹卡尔曼滤波采用一种称为“无迹变换”的确定性采样方法来近似非线性传播后的状态分布。它比EKF能更好地处理强非线性问题且无需计算复杂的雅可比矩阵精度通常更高已成为当前的主流选择之一。4. 实战应用场景与案例解析理论再美终需落地。卡尔曼滤波几乎渗透了所有需要动态估计的工程领域。4.1 案例一手机/车载导航与定位这是最经典的应用。GPS模块提供的位置和速度信息存在噪声且更新频率有限通常1Hz。单纯使用GPS轨迹会像毛刺一样跳动。同时车辆内置的惯性传感器IMU加速度计、陀螺仪可以提供高频的加速度和角速度但积分会产生严重的漂移误差。如何用卡尔曼滤波解决状态变量X [经度 纬度 速度东向 速度北向 加速度东向偏置 加速度北向偏置]。后两个是为了估计IMU的零偏。预测利用IMU数据作为控制输入U和车辆运动模型A和B矩阵高频地预测车辆的位置和速度。这个过程噪声Q主要考虑模型误差和IMU噪声。更新当GPS新数据到来时Z [GPS经度 GPS纬度 GPS速度]将其与预测的位置/速度进行比较。观测矩阵H会从状态向量中提取出对应的位置和速度分量。观测噪声R由GPS的精度指标决定。效果滤波器输出一条平滑、连续且延迟极低的轨迹。即使在GPS短暂丢失如进入隧道的几秒内它也能依靠IMU进行相对可靠的航位推算直到GPS信号恢复。实操心得在车载应用中Q和R的调参需要结合实测数据。一个技巧是记录一段包含各种路况直路、弯道、静止的GPS/IMU原始数据然后离线调整参数使滤波后的轨迹既平滑又不失真例如过弯时不能过于平滑而切掉了弯道。4.2 案例二机器人状态估计与SLAM对于自动驾驶汽车或移动机器人仅仅知道自己的全局位置GPS是不够的它还需要知道周围环境的地图以及自己在地图中的精确位姿位置和姿态这就是同步定位与建图。卡尔曼滤波在SLAM中的角色以经典的EKF-SLAM为例状态变量扩展状态向量X不仅包含机器人自身的位姿[x, y, θ]还会动态地追加观测到的路标点如柱子、墙角的位置[mx_i, my_i]。因此状态向量会随着探索不断扩大。预测只更新机器人位姿部分的状态和协方差依据机器人的运动模型如轮式里程计。更新当机器人通过激光雷达或摄像头观测到一个路标时它会计算该路标的预测观测值根据机器人预测位姿和路标预测位置。如果这是一个新路标就将其初始化并加入状态向量如果是一个已见过的路标就用观测到的距离和角度与预测值做差形成新息来更新整个状态向量包括机器人位姿和所有路标位置。核心挑战与技巧状态维度的增长会导致计算量平方级增长。因此实际中会采用稀疏性技巧或更先进的优化方法如基于图优化的SLAM。但EKF-SLAM清晰地展示了卡尔曼滤波如何统一地估计自身状态和外部环境。4.3 案例三金融时间序列分析卡尔曼滤波在金融领域也有用武之地例如估计资产的隐含波动率或漂移率这些无法直接观测的状态。以估计股票价格趋势为例状态变量X [真实价格水平 价格趋势漂移率]。我们假设真实价格被市场噪声掩盖。预测建立一个简单的动态模型比如趋势项具有持续性但会随机游走趋势(k) 趋势(k-1) 噪声价格水平(k) 价格水平(k-1) 趋势(k-1) 噪声。更新观测值Z就是市场的每日收盘价。观测噪声R代表了市场的微观噪声。输出滤波器会输出一个“去噪”后的价格序列和一个估计的瞬时趋势。这个趋势线可以用来辅助判断市场的动量比简单的移动平均线更具理论依据因为它同时考虑了数据的生成过程。5. 算法实现与参数调优实战理解了原理我们来看看如何把它变成代码以及如何让它在实际系统中跑起来。5.1 一个简化的一维卡尔曼滤波Python示例假设我们要估计一个匀速运动小车的位移我们只能得到带有噪声的位置观测。import numpy as np import matplotlib.pyplot as plt # 系统参数 dt 1.0 # 时间步长 A np.array([[1, dt], [0, 1]]) # 状态转移矩阵 (位置, 速度) H np.array([[1, 0]]) # 观测矩阵 (只能观测到位置) Q np.array([[1e-2, 0], [0, 1e-1]]) # 过程噪声协方差 (调参重点) R np.array([[0.5]]) # 观测噪声协方差 (调参重点) # 初始化 x_est np.array([[0], [0]]) # 初始状态估计 [位置; 速度] P_est np.eye(2) # 初始估计协方差 # 生成模拟数据 true_pos 0.5 # 真实速度 true_positions [] measurements [] for t in range(50): true_pos true_vel * dt np.random.randn() * 0.05 # 真实运动 过程噪声 true_positions.append(true_pos) z true_pos np.random.randn() * np.sqrt(R[0,0]) # 带噪声的观测 measurements.append(z) # 卡尔曼滤波主循环 estimates [] for z in measurements: # 1. 预测 x_pred A x_est P_pred A P_est A.T Q # 2. 更新 K P_pred H.T np.linalg.inv(H P_pred H.T R) # 卡尔曼增益 y z - H x_pred # 新息 x_est x_pred K * y P_est (np.eye(2) - K H) P_pred estimates.append(x_est[0, 0]) # 绘图 plt.figure(figsize(10, 6)) plt.plot(true_positions, g-, label真实位置, linewidth2) plt.plot(measurements, r, label带噪声观测, markersize8) plt.plot(estimates, b-, label卡尔曼滤波估计, linewidth2) plt.legend() plt.xlabel(时间步) plt.ylabel(位置) plt.title(一维卡尔曼滤波演示从噪声数据中估计真实轨迹) plt.grid(True) plt.show()这段代码清晰地展示了预测和更新两个步骤的循环。你可以通过调整Q和R的值直观地看到滤波器行为的变化。5.2 参数调优Q与R的艺术Q过程噪声协方差和R观测噪声协方差是卡尔曼滤波的“旋钮”调参是工程应用中的必修课。R的确定相对容易。通常可以从传感器数据手册中获得其精度指标如GPS的CEP圆概率误差或者通过让系统静止并采集一段数据计算其方差来近似。Q的确定更困难因为它代表了模型的不确定度。没有传感器可以直接测量。常用方法有经验法根据对系统扰动大小的理解手动设置。例如对于汽车模型Q中与速度相关的项可以设得大一些因为速度容易受风阻、坡度等未知因素影响。离线调试法录制包含真实轨迹可通过高精度设备获得或人工标注和传感器数据的数据集。在离线环境中以真实轨迹为基准调整Q和R使滤波器的估计误差如均方根误差RMSE最小。可以使用网格搜索或优化算法。自适应卡尔曼滤波更高级的方法让算法在线估计Q和/或R。例如基于新息序列Z(k) - H * X(k|k-1)的统计特性如果新息的协方差与理论值(H * P(k|k-1) * H^T R)不匹配则动态调整Q。但这增加了复杂性和不稳定性风险。重要提示初始状态X(0)和初始协方差P(0)的选择。如果对初始状态一无所知可以将P(0)设为一个很大的对角矩阵表示非常不确定滤波器会通过几次迭代快速收敛。如果初始状态已知较准确则P(0)应设小。5.3 数值稳定性问题与解决方案在实现中特别是嵌入式系统上直接使用上面给出的公式可能会遇到数值计算问题导致协方差矩阵P失去正定性或对称性理论上它应该既是正定又是对称的从而引发滤波器发散。解决方案使用平方根滤波算法思想不对协方差矩阵P本身进行运算而是对其平方根因子如Cholesky分解P S * S^T进行运算。这样可以保证P始终是非负定的。常见变种Joseph形式更新、UD分解滤波、卡尔曼滤波等。许多成熟的数学库如Eigen, NumPy的scipy.linalg在求解时已经考虑了数值稳定性但在自己实现或对可靠性要求极高的场合需要考虑这点。6. 常见问题、陷阱与进阶思考即使理解了原理在实际应用中依然会踩坑。下面是一些常见问题和我积累的排查经验。6.1 滤波器发散为什么我的估计飞了发散是卡尔曼滤波最令人头疼的问题表现为估计误差无界增长。原因通常有问题现象可能原因排查与解决思路估计值逐渐偏离真实值且协方差P很小模型误差过大过程噪声Q设得太小滤波器过于自信自己的预测模型而模型本身有缺陷例如用匀速模型去描述一个加速运动的物体。1. 检查系统模型A和B是否准确反映了物理规律。2.增大Q让滤波器更信任传感器。3. 考虑使用更复杂的模型如匀加速模型。估计值剧烈震荡甚至溢出数值不稳定特别是更新步骤中矩阵求逆(H * P * H^T R)^(-1)出现问题可能因为R太小或P病态。1. 确保R矩阵是正定的对角线上有正值。2. 使用平方根滤波等数值稳定的实现。3. 在求逆前给(H * P * H^T R)加上一个很小的正则化项εI。对新数据反应迟钝跟踪滞后R过大或Q过小卡尔曼增益K太小滤波器过于保守不相信新的测量。1. 检查传感器数据是否正常确认R的设置是否远大于传感器实际噪声水平。2.适当减小R或增大Q。滤波器初期收敛很慢初始协方差P(0)设置不当如果初始不确定性P(0)设得太小而初始状态估计X(0)又偏离真实值很远滤波器需要很长时间才能“纠正”过来。如果对初始状态不确定将P(0)设大。一个大的P(0)会让初始的卡尔曼增益很大从而快速吸收前几次观测来修正状态。6.2 非线性挑战何时该用EKF或UKF如果你的系统方程或观测方程是非线性的经典KF会失效。判断和选择标准如下判断是否非线性检查你的f(x, u)状态转移函数和h(x)观测函数是否是状态x的线性函数。如果不是就需要非线性滤波。EKF vs UKF选择扩展卡尔曼滤波适用于弱非线性系统。它的优势是计算量相对较小公式与KF类似易于理解和实现。劣势是线性化计算雅可比矩阵可能很麻烦且对于强非线性系统一阶近似会引入较大误差可能导致滤波器性能下降甚至发散。无迹卡尔曼滤波适用于中度到强非线性系统。它无需计算雅可比矩阵通常比EKF有更高的精度和更好的收敛性。劣势是计算量比EKF稍大需要传播多个Sigma点但对于现代处理器来说多数应用场景下这点开销可以接受。个人经验在现代应用中除非有极强的实时性约束且系统非线性度极低否则我倾向于直接使用UKF。UKF的实现库已经非常成熟如Python的FilterPy其避免求导的特性减少了实现错误的风险鲁棒性更好。EKF更像是一个历史产物在UKF概念普及前是唯一实用的选择。6.3 扩展与变种卡尔曼滤波的家族卡尔曼滤波是一个庞大的家族针对不同问题有各种变体信息滤波在信息空间协方差逆矩阵中操作在多传感器融合或某些特定场景下计算更高效。误差状态卡尔曼滤波不直接估计完整状态而是估计状态的误差。在惯性导航中非常常用可以很好地处理姿态四元数等存在于流形上的状态。粒子滤波彻底抛弃了线性高斯的假设使用大量随机样本粒子来近似后验概率分布。适用于强非线性、非高斯系统但计算成本极高。移动窗口/渐消记忆卡尔曼滤波通过给旧数据施加指数衰减的权重让滤波器更关注新数据适用于系统特性缓慢变化的情况。对于绝大多数工程问题标准KF、EKF、UKF这三者已经覆盖了90%的应用场景。选择哪一个取决于你的系统是否是线性、高斯。卡尔曼滤波的魅力在于它将一个深刻的概率论思想封装成一套简洁、递归、计算高效的算法。它不需要存储历史数据每次迭代只依赖上一时刻的状态和当前测量这使得它天生适合在资源有限的嵌入式系统中实时运行。从阿波罗登月飞船的导航计算机到你我口袋里的智能手机再到飞驰在路上的自动驾驶汽车卡尔曼滤波作为“最优估计”的基石默默地发挥着不可替代的作用。掌握它就等于拥有了一把将嘈杂现实转化为清晰洞察的钥匙。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2625355.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…