1. 卡尔曼滤波(Kalman Filter)
算法定义与作用
一种动态系统状态估计算法,通过递归预测和观测修正,实时融合多源数据(如传感器输入),用于导航、机器人定位、金融预测等场景。
核心原理
- 预测阶段:
- 基于系统模型(如运动方程)预测当前状态和协方差矩阵:
(A为状态转移矩阵,Q为过程噪声协方差)
- 更新阶段:
- 计算卡尔曼增益,融合预测值与观测值:
(H为观测矩阵,R为观测噪声协方差)
- 计算卡尔曼增益,融合预测值与观测值:
历史演进与问题驱动
- 问题起源(1960年阿波罗登月):
- 火箭振动导致惯性导航误差累积,传统方法无法实时修正。
- 解决思路:
- 引入协方差矩阵量化不确定性,动态调整传感器权重(高频陀螺仪 vs 低频星体追踪仪)。
- 后续演进:
- 扩展卡尔曼滤波(EKF):解决非线性问题(无人机姿态估计)。
- 无迹卡尔曼滤波(UKF):通过Sigma点逼近非线性分布。
优缺点
| ✅ 实时性强,适合动态系统 | ❌ 依赖精确模型,非线性场景需改进 |
2. 中值滤波(Median Filter)
算法定义与作用
非线性滤波器,通过滑动窗口取中位数消除脉冲噪声(如椒盐噪声),保护图像边缘,广泛应用于工业质检、文档扫描。
核心原理
- 对窗口内像素排序后取中间值:
- 数学本质:中位数对极值不敏感,直接剔除孤立噪点。
历史演进与问题驱动
- 问题起源(1985年汽车生产线):
- 电火花干扰导致摄像头图像出现白点,掩盖零件裂纹。
- 解决思路:
- 用排序取代平均,3×3窗口处理后裂纹检出率从70%提升至95%。
- 后续演进:
- 自适应中值滤波:动态调整窗口大小应对高密度噪声。
- 混合滤波:中值+高斯滤波处理X光金属伪影。
优缺点
| ✅ 彻底消除脉冲噪声 | ❌ 对高斯噪声无效,大窗口模糊细节 |
3. 高斯滤波(Gaussian Filter)
算法定义与作用
线性平滑滤波器,通过高斯核卷积抑制高斯噪声(类似电视雪花),常用于图像预处理、手机夜景模式。
核心原理
- 高斯核生成:
- 可分离卷积优化:将二维卷积分解为水平+垂直一维运算,计算量从
降至
。
历史演进与问题驱动
- 问题起源(2002年诺基亚7650手机):
- 暗光拍摄产生密集噪点,传统中值滤波无效。
- 解决思路:
- 用高斯核加权平滑,5×5核(σ=1.5)使噪点减少50%。
- 后续演进:
- 双边滤波:引入值域权重保护边缘。
- 导向滤波:结合引导图像优化权重(HDR增强)。
优缺点
| ✅ 高效抑制高斯噪声 | ❌ 边缘模糊,丢失纹理细节 |
4. 维纳滤波(Wiener Filter)
算法定义与作用
频域滤波器,基于信号和噪声的统计特性实现最小均方误差(MMSE)估计,用于图像去模糊、语音降噪。
核心原理
- 频域修正公式:
(为信号功率谱,
为噪声功率谱)
历史演进与问题驱动
- 问题起源(1940年雷达信号处理):
- 雷达回波被大气噪声干扰,传统滤波无法恢复目标信号。
- 解决思路:
- 引入功率谱估计,在频域自适应抑制噪声。
- 后续演进:
- 自适应维纳滤波:实时更新噪声统计特性(如监控视频修复)。
优缺点
| ✅ 理论最优(MMSE准则) | ❌ 需已知噪声统计特性 |
5. 粒子滤波(Particle Filter)
算法定义与作用
基于蒙特卡洛采样的非线性/非高斯状态估计方法,用于目标跟踪(如自动驾驶多目标追踪)、金融波动预测。
核心原理
- 粒子采样:生成一组随机样本(粒子)表示状态分布。
- 权重更新:根据观测值调整粒子权重。
- 重采样:淘汰低权重粒子,复制高权重粒子。
历史演进与问题驱动
- 问题起源(1993年机器人SLAM):
- 传统卡尔曼滤波无法处理非高斯噪声(如复杂环境中的定位)。
- 解决思路:
- 用粒子群逼近后验概率分布,实现非线性跟踪。
- 后续演进:
- Rao-Blackwellized粒子滤波:分离线性和非线性状态(如无人机同时定位与建图)。
优缺点
| ✅ 处理非线性/非高斯问题 | ❌ 计算量大,粒子退化问题 |
6. 引导滤波(Guided Filter)
算法定义与作用
基于引导图像的边缘保护滤波器,用于图像去雾、细节增强、联合上采样。
核心原理
- 假设输出图像是引导图像的线性变换:
- 最小化输出与输入图像的均方误差,得到局部线性系数
。
历史演进与问题驱动
- 问题起源(2013年图像去雾):
- 传统方法导致光晕伪影,边缘过渡不自然。
- 解决思路:
- 利用引导图像(如原图)保留结构信息,实现无光晕去雾。
- 后续演进:
- 快速引导滤波:通过下采样加速计算(移动端实时处理)。
优缺点
| ✅ 边缘保护强,计算高效 | ❌ 依赖引导图像质量 |
7. 形态学滤波(Morphological Filter)
算法定义与作用
基于几何结构分析的滤波器,通过腐蚀、膨胀等操作处理二值图像(如指纹增强、细胞分割)。
核心原理
- 腐蚀(Erosion):消除细小物体,平滑边界。
- 膨胀(Dilation):填充孔洞,连接断裂区域。
历史演进与问题驱动
- 问题起源(1970年卫星地图处理):
- 山脉轮廓断裂,河流网络难以提取。
- 解决思路:
- 定义结构元素(如3×3十字形)进行形态学操作。
- 后续演进:
- 开运算(先腐蚀后膨胀):去除小物体。
- 闭运算(先膨胀后腐蚀):填充小孔洞。
优缺点
| ✅ 处理二值图像高效 | ❌ 灰度图像需改进 |
滤波算法演进的核心逻辑
-
噪声类型驱动算法创新:
- 高斯噪声 → 高斯滤波(1960s) → 维纳滤波(1940s) → 小波变换(1990s)
- 脉冲噪声 → 中值滤波(1980s) → 自适应中值滤波(2000s)
- 复杂噪声 → 粒子滤波(1990s) → 非局部均值(2010s) → 深度学习(2020s)
-
硬件进步推动落地:
- 早期中值滤波(8位单片机) → 引导滤波(手机GPU) → 非局部均值(服务器GPU集群)
-
数学工具迭代:
- 线性代数(卡尔曼滤波) → 概率统计(粒子滤波) → 几何拓扑(形态学滤波) → 深度学习(CNN去噪)
总结:滤波算法选择指南
场景 | 推荐算法 | 核心优势 |
---|---|---|
自动驾驶多传感器融合 | 卡尔曼滤波/粒子滤波 | 动态系统建模,处理非线性噪声 |
工业零件裂纹检测 | 中值滤波/形态学滤波 | 消除脉冲噪声,增强几何结构 |
医学影像(CT/MRI) | 非局部均值/引导滤波 | 保护纹理细节,抑制复杂噪声 |
语音信号降噪 | 维纳滤波/小波变换 | 频域局部化处理,保留语音特征 |
手机夜景拍摄 | 高斯滤波/双边滤波 | 平衡速度与效果,边缘自然过渡 |
终极建议:理解噪声特性(类型、分布、相关性)是选择滤波算法的第一原则,硬件资源(算力、内存)和实时性需求则是落地关键。