一欧元滤波器(OneEuroFilter)

news/2024/12/20 0:05:55/

引言

在查阅人脸关键点防抖动相关资料时,留意到一篇2012发布的防止抖动滤波器-----一欧元滤波器

链接

论文:
Casiez, G., Roussel, N., & Vogel, D. (2012). 1€ filter: a simple speed-based low-pass filter for noisy input in interactive systems. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (pp. 2527–2530). ↩︎
http://www.lifl.fr/~casiez/publications/CHI2012-casiez.pdf

在线Demo:
http://www.lifl.fr/~casiez/1euro/InteractiveDemo/

简介:
https://jaantollander.com/post/noise-filtering-using-one-euro-filter/

1. 介绍

本文探讨了 1€ 滤波器,这是一种用于过滤噪声实时信号的简单但功能强大的算法。文章侧重于算法的实际实现,涵盖了算法的数学基础、伪代码实现和简单、纯 Python 实现。要了解过滤器的工作原理和方式,我们建议阅读原始文章 1。

2. 1€ Filter

1€ 滤波器是用于实时过滤噪声信号的低通滤波器。它也是一个只有两个可配置参数的简单过滤器。时间 T i T_i Ti 处的信号表示为 X i X_i Xi,滤波后的信号表示为值 X ^ i \hat{X}_{i} X^i。滤波器使用指数平滑

X ^ 1 = X 1 X ^ i = α X i + ( 1 − α ) X ^ i − 1 , i ≥ 2 \begin{gathered} \hat{X}_{1}=X_{1} \\ \hat{X}_{i}=\alpha X_{i}+(1-\alpha) \hat{X}_{i-1}, \quad i \geq 2 \end{gathered} X^1=X1X^i=αXi+(1α)X^i1,i2

其中平滑因子 α ∈ [ 0 , 1 ] \alpha \in[0,1] α[0,1] 不是一个常数,而是自适应的,即使用有关信号变化率(速度)的信息动态计算。自适应平滑因子旨在平衡抖动与滞后的权衡,因为人们对低速时的抖动敏感,而对高速时的滞后更敏感。平滑因子定义为:

α = 1 1 + τ T e \alpha=\frac{1}{1+\frac{\tau}{T_{e}}} α=1+Teτ1

其中 T e T_{e} Te 是根据样本之间的时间差计算得出的采样周期
T e = T i − T i − 1 T_{e}=T_{i}-T_{i-1} Te=TiTi1

τ \tau τ 是使用截止频率计算的时间常数
τ = 1 2 π f C . \tau=\frac{1}{2 \pi f_{C}} . τ=2πfC1.

截止频率 f C f_{C} fC 随着变化率(即速度)的增加而线性增加
f C = f C min ⁡ + β ∣ X ˙ ^ i ∣ f_{C}=f_{C_{\min }}+\beta\left|\hat{\dot{X}}_{i}\right| fC=fCmin+βX˙^i

其中 f C min ⁡ > 0 f_{C_{\min }}>0 fCmin>0 是最小截止频率, β > 0 \beta>0 β>0 是速度系数, X ^ i \hat{X}_{i} X^i 是过滤后的变化率。我们定义变化率 X ^ i \hat{X}_{i} X^i 作为信号的离散导数
X ˙ 1 = 0 X ˙ i = X i − X ^ i − 1 T e , i ≥ 2 \begin{gathered} \dot{X}_{1}=0 \\ \dot{X}_{i}=\frac{X_{i}-\hat{X}_{i-1}}{T_{e}}, i \geq 2 \end{gathered} X˙1=0X˙i=TeXiX^i1,i2

然后使用具有恒定截止频率 f C d f_{C_{d}} fCd 的指数平滑 (1) 对其进行滤波,默认情况下 f C d = 1 f_{C_{d}}=1 fCd=1

3. 调整过滤器

模型中有两个可配置参数,最小截止频率 f C min ⁡ f_{C_{\min }} fCmin 和速度系数 β \beta β。降低最小截止频率会降低慢速抖动。增加速度系数会减少速度滞后。

参考:

https://jaantollander.com/post/noise-filtering-using-one-euro-filter/


http://www.ppmy.cn/news/530778.html

相关文章

数字滤波器

数字滤波器 前言传统数字滤波器比较专家观点现代数字滤波器推荐书籍功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表…

FARROW 滤波器

采样速率转换(SRC)在通信中非常普遍。一般有两种方法:一种是通过D/A重构信号,再采样,从而实现采样速率的转换;另一种是利用数字滤波器直接进行采样转换。数字滤波器有CIC,多相,FARRO…

数字滤波器--线性滤波(Linear Filter)

目录 一、什么是数字滤波器 二、数字滤波器的几个重要的基础概念 三、数字滤波器的基本单元 differentiator 差分器 Integrator 积分器 FIR滤波器 IIR滤波器(无限冲击响应滤波器) 一、什么是数字滤波器 Analog filter :滤波器从模拟时代产生…

FAIG滤波器

还是搬运者学习记 一切感恩于大佬 单分支网络如何自动学习区分退化?本文提出了一种盲超分网络解释的方法 FAIG,一种基于积分梯度的对 Filter 进行归因的方法。 发现盲超分模型中具有特定退化作用的滤波器 论文名称:Finding Discriminative…

Linux之快速入门和换源

目录 1.Linux的一些基本的语句 2.换源 1.Linux的一些基本的语句 mv 文件或者目录的改名或者移动以及修改文件名 pwd 查看用户当前目录 touch 新建文件 mkdir 新建文件夹 clear 清除屏幕 su 切换用户 mkdir -p 多个文件夹创建 cat 文件查看内容 mkdir -p {} 创建多成相同…

STM32F4 点亮灯泡【顺序点亮、按键点亮】

一、顺序点亮灯泡 ①初始化 在user.c文件中,我们需要对LED进行初始化设置。 在函数LED_GPIO_Config中,可以修改代码如下: /*********************************************************************** LED初始化 备注 LED 接在GPC14引脚上…

索尼爱立信手机摇杆失灵的维修方法

摇杆失灵的维修方法:本方法适用于各种带摇杆的各种手机,先关机,拆开前面板,拿下摇杆按钮,会看到有一个方形的手柄,按下摇杆,用竹签蘸取一点无水酒精,滴在摇杆的侧面,让它…

索尼爱立信第一财季亏损;将裁员2,000人

手机生产商索尼爱立信移动通讯有限公司(Sony Ericsson Mobile Communications Ltd.)周五表示,公司将进一步裁员2,000人。受消费者需求疲软及产品分销商和零售商削减库存等因素影响,该公司第一财政季度出现亏损。 该公司第一财季净亏损2.93亿欧元&#xf…