【事件相机整理】信号处理、噪声与滤波

本文仅用于自己学习整理,不保证内容的完整性和准确性,仅供其他朋友参考。转载请注明出处。

噪声和信号处理是比较低层次的一种处理,但也非常重要。近日学习了一些信号处理与噪声处理的论文,做以下梳理。

1. 灰度数据的信号处理

众所周知,许多事件相机提供多种数据格式,包括传统图像输出,以及事件流。那么在事件相机的信号处理上,也分为:灰度图像上的信号处理,以及事件的噪声处理。一般而言,在对事件数据进行处理的滤波方法较多且较为常用。这一小节对灰度值图像上的处理方法进行简单介绍。

对整幅图像进行处理:一种方法是简单的对完整的整幅图像进行滤波处理,例如进行高斯滤波等。完整图像的方式,可以是相机直接输出的完整图像,也可以是通过重建方式恢复的图像(泊松重建)。但无论哪种方式,都需要一定的时间延迟从而形成完整图像,还是绕回了传统图像处理方法,并没有研究新意。

对事件流数据进行信号处理:对于ATIS传感器而言,每个像素在收到DVS触发后输出亮度的绝对值,那么这样一来是一个异步的、离散的数据点,对这种数据点进行滤波。例如采用离散傅里叶变换(DFT)方法[1],或改进传统的卷积滤波方法,采用不断更新一个内部状态实现在数据流上的直接进行卷积滤波[2]。

以上的研究,主要围绕信号处理,研究的机构和人员大多从事信号处理相关的工作。从事件相机实际应用角度来说还是有一点儿差距,所以主要的滤波等研究还是由为完成某项功能而设计的滤波方法。

2. 噪声的种类、成因与特性

从这里开始,我们不考虑灰度图像, 而只考虑事件中的噪声,即纯“DVS”产生的噪声。目前见到了以下几种噪声:

2.1 背景噪声 (Background Activity Noise)

背景噪声我认为是最明显的一类噪声。当某个像素出产生了一个不是由于事件源而产生的事件,那么这就是背景噪声,也就是说这里不该有事件发生却产生了。一般来说相机出厂商会提供这一性能指标,一般以“平均每个像素在1s内产生的噪声”进行衡量,常见事件相机的噪声值一般在0.03~0.2(25摄氏度)。背景噪声强度与温度有关,温度越高数量越多,但与场景亮度无关。

背景噪声的产生原因,主要是由于电路器件的不稳定,例如:电荷注入效应(Charge injection),热噪声(Thermal noise),开关漏电流(Leakage of the transistor section of the reset switch)等。

背景噪声的主要特性是:不相关性。即每个噪声产生和周围其它的事件没有任何关联。

2.2 阈值波动噪声 (没有名词,自己概括起的)

讨论阈值变化噪声前要清楚一个事件产生的原理:某像素亮度的变化达到某个阈值C。这个C并不是个常量,因为与当前亮度有关,是亮度的恒定百分比。噪声的产生是由于电路比较电流等的电流不稳定。造成并没有达到实际阈值时产生了事件或超过了阈值后仍没有产生事件。

这种噪声人眼看不出来,毕竟是极其细微的变化。但某些应用场景下考虑这个问题进行建模可以提高性能。

2.3 热点噪声 (Hot pixel / White pixel)

和传统相机一样,事件相机也会产生热点噪声。产生的原因可能是像素损坏,或充放电装置存在问题导致产生高频事件。用一个图片解释背景噪声和热点噪声[3]。背景噪声是没有运动物体经过时产生的噪声,而热点噪声是在整个时间轴上一直出现的事件。
在这里插入图片描述
热点噪声的特性,显然是高频出现、周围没有相关事件。

2.4 其他的小众噪声

一些噪声没有太多研究,但有些地方提到,也总结到这里:
时间戳的随机性:事件发生时由于某些原因,时间戳并不是严格意义的时间戳;可能原因个人推测与一些传感器输出策略有关;
空洞holes与false negative:即本应产生事件,但由于种种原因没有发生;暂时没有见到分析这种噪声的成因与建模。个人认为或许与总线数据冲突有关;

2.5 边缘产生数据的不稳定性

当一个边缘发生运动时,会产生一系列的事件输出;最理想情况下,一条边缘应该产生的事件是清晰地,但实际会产生大量的事件聚集。有些论文认为这也属于噪声。边缘强度高、运动速度快,则产生的虚假边缘较多。文章[10]将一个边缘产生的第一个事件称作"Inceptive event",而之后的称作"Trailing events",尾事件的数量在一定程度上反映了边缘的幅值。

但我个人认为这并不能算是噪声,只是数据不理想(可能在一些分类问题上影响比较大)。当然也有滤波方式,将在下一节介绍。

3. 噪声的建模与滤波方法

3.1 阈值噪声

对阈值噪声而言,一般认为实际比较的阈值是在理论阈值C附近的高斯分布,一般出产商也会给出高斯分布的标准差 σ \sigma σ,常见取值在2%~4%左右,影响并不是很大。那么在建模时,就用概率形式的高斯分布好了。

至于为什么要考虑这种噪声?论文[4]中进行的是分类任务,认为考虑这种噪声后,能够体现出来该产生事件而并没有产生、以及不该产生事件而产生了的概率分布,从而进行分类任务会更准确吧。我个人感觉用处不大。

3.2 背景噪声

论文[5]经过试验分析得出,背景噪声的产生符合泊松分布,可以由此进行建模。但实际用的时候我还暂时没有见过使用数学模型进行推导的论文。

背景噪声与真实事件最大的区别在于,背景事件与其他事件并没有相关性,由此滤波方法的核心都是围绕:相关性滤波

简单来说,判断一个事件发生时,一段儿时间之内,在附近范围内,如果有其他事件发生,则认为这个事件不是凭空产生的,而是真实的事件源激发的。一般“附近范围”定义为周围一圈像素,即8个点,“一段儿时间”一般是微秒级。

围绕相关型滤波,产生了一些列类似的方法。例如如果采用同像素尺寸大小的一块内存,记录历史发生的事件,由此判断时空窗是否有关联的事件,就是最基础的滤波方法[8]。但[5]的思想指出,如果我们想把滤波这个功能做到sensor上或者更贴近传感器段,那么对内存的要求必然是越小越好。为此[6]将整个传感器分辨率进行分块处理,每块为s个像素,从而将内存占用复杂度降为了 l o g ( N / s 2 ) log(N/s^2) log(N/s2),但[5]的方法更为精巧,只用两组长宽大小的数组记录事件发生历史,复杂度降为了 l o g ( N ) log(N) log(N)
论文4中极大程度降低了内存开销论文[3]给出了更为细致的数学形式,还定义了事件密度矩阵和事件密度,本质上讲只是将时空窗内有1个事件改进为多个累加并判断阈值,改进的初衷是如果只是判断时空窗有无事件,可能造成同样是噪声但恰巧出现在了噪声附近,造成了错误的关联性。另外这篇论文的分析和实验做的还是很到位的,数学严谨给出了形势也是值得肯定。

3.3 热点噪声滤波

唯一看到的涉及到热点噪声的论文就是[3],所采用的滤波方法是由粗到细分两步:第一步采用较宽松阈值尽可能滤波掉BA噪声,第二步采用严格一些的阈值判断每个点附近(此时不包括本身)是否有足够的关联事件。本质上是只要把这个点的事件排除,看周围是否有关联即可。

3.4 神经网络滤波

既然是仿生物传感器,滤波当然也有用神经网络做的。神经网络滤波主要处理的还是BA噪声。[7]提出Event Probability Mask这一概率形式判断一个事件是噪声的概率,并由此设计降噪神经网络EDnCNN,从而实现降噪。从效果图看,效果还是不错的。
在这里插入图片描述

3.5 其他滤波方法

最近邻滤波 (Nearest neighbor filtering)
最近邻滤波基本思想是,当一个事件发生时,极短时间内这个事件周围不应该发生其他事件。看起来与去背景噪声的相关性思路反,但在边缘运动产生大量数据时或许是一个不错的处理方式;

Refractory Filtering
“倔强性滤波”哈哈。指的是当一个像素发生事件后,一段儿时间之内这个像素不应该再次出现事件,以此来抑制边缘运动过程中产生的大量数据,使边缘更加sharp。

这两种方法出现在了[9]中但我并不认为之前没有其他文章采用过。

4. 滤波评价指标

如何衡量一个滤波方法的好坏?有哪些滤波的benchmark?很遗憾这两个目前都没有统一的标准。

关于衡量滤波的好坏,一般核心观点还是,看本来是噪声的事件,滤波漏掉了多少;以及不是噪声的事件,错误删掉了多少

如果已知真是事件的生成轨迹,那么可以很轻松的比较滤波后我们剩了多少噪声,以及滤掉了多少真实事件。但大多数情况下是没有GT的。所以只能用其他方式去衡量。

论文[3]采用 noise in real 和 real in noise (NIR/RIN) 方式进行评价,类似于FP和TN。判断滤波后是噪声还是事件的方法类似于寻找近邻距离,如果近邻事件的距离都很小,则认为是真实事件。但我个人感觉既然删除噪声时就是这种思路那么评价标准还是这个是不是有点儿奇怪?另外[7]也给出了一种评价标准,没有认真学习只列在这里。

参考文献

[1]. Quentin Sabatier, et al. Asynchronous Event-Based Fourier Analysis. 2017.
[2]. Cedric Scheerlinck, et al. Aysnchronous Spacial Image Convolutions for Event Cameras. 2019.
[3]. Yang Feng, Hengyi Lv, et al. Event Density Based Denoising Method for Dynamic Vision Sensor. 2020.
[4]. Lionel Fillatre. Bayes classification for asynchronous event-based cameras. 2015.
[5]. Alireza Khodamoradi. O(N)-Space Spatiotemporal Filter for Reducing Noise in Neuromorphic Vision Sensors. 2018.
[6]. H. Liu, et al. Design of a Spatiotemporal Correlation Filter for Event-based Sensor. 2015.
[7]. R. Wes Baldwin, et al. Event Probability Mask (EPM) and Event Denoising Convolutional Neural Network (EDnCNN) for Neuromorphic Cameras. 2020.
[8].Sangil Lee, et al. Edge Detection for Event Cameras using Intra-pixel-area Events. 2019.
[9]. Bharath Ramesh, Hong Yang, et al. DART: Distribution Aware Retinal Transform for Event-based Cameras. 2019.
[10]. R. Wes Baldwin, et al. Inceptive event time-surfaces for object classification using neuromorphic cameras. 2019.

  • 12
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值