我有一个样本可以产生一些嘈杂的输出。该样本是来自相机的一些图像处理的结果,它指示特定颜色的 Blob 的标题。它是从大约 -45° 到 +45° 的角度,或 NaN
,这意味着该 blob 实际上不在 View 中。
为了对抗嘈杂的数据,我觉得exponential smoothing会成功的。但是,我不确定如何处理 NaN
值。
一方面,让他们参与数学计算会导致 NaN
平均值,这将阻止任何有意义的结果。另一方面,完全忽略 NaN
值将意味着永远不会报告“未检测到”的情况。使事情复杂化的是,数据也有噪声,因为它可能会得到错误的 NaN
值,理想情况下会以某种方式对其进行平滑处理以防止随机噪声。
关于如何实现这种指数平滑器有什么想法吗?
最佳答案
保留两个分布怎么样?第一个可以像往常一样是平滑的 blob 标题,除非你得到一个 NaN,你只需输入最后看到的非 NaN 值(或其他一些默认值);另一个是“NaN 分布”,它为每个非 NaN 值简单地获取 0,为每个 NaN(或类似的东西)获取 1。
这样,即使它变得模糊,您的主要分布将继续根据“最后已知的航向”进行预测,而不会获得垃圾数据或弄乱平滑,但您也会在 NaN 分布上同时出现尖峰让你知道出事了。
关于java - 对 NaN 值使用指数平滑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791737/