事件摄像头/Event Camera/Event-Based Camera
近年来,新兴的事件摄像头/Event Camera/Event-Based Camera越来越受到行业的关注。Event Camera是一种生物启发式传感器,是研究人员受人类视网膜原理启发而设计了神经拟态视觉传感器。与传统摄像头不同,神经拟态视觉传感器没有“帧”的概念,并且是采用基于事件驱动的方式来捕捉场景中的动态变化。当现实场景中发生变化时,神经拟态视觉传感器会产生像素级的输出,即Event/事件。一个事件可以包括t,x,y,p。其中, x和y是事件在2D空间的像素坐标,t是事件的时间戳,p是事件的极性。事件的极性代表场景的参数变化(如亮度): 上升(positive)或下降 (negative)。
事件摄像头的像素独立地报告对数强度的变化,而不是像传统摄像头那样以固定帧速率对所有像素进行采样。事件表示为(x,y)位置、极性和时间戳t的元组,每当测得的日志强度变化超过预设阈值时触发。这使得事件数据高效且稀疏,因为只记录场景变化。事件摄像头具有高动态范围(≈ 120 dB),几乎没有运动模糊,比传统摄像头耗电少,并且以亚毫秒的延迟报告事件。
眼动追踪是AR/VR头显中的一项关键任务,例如用户交互,注视点渲染和眼睛相关生物分析等等。另外,诸如变焦显示器等先进应用同样依赖眼动追踪来实时确定合适的焦平面。事件摄像头非常适合AR/VR头显中的眼动追踪传感器,因为它们满足电源和延迟的关键要求。AR/VR头显必须低功耗,以延长移动系统的续航并减少头显产生的热量。另外,眼动追踪需要在高采样率下运行,以允许自适应显示技术无缝运行,并适用于可能需要高达1 kHz采样的用户认证等应用。
实际上,如果你有关注映维网的专利或论文分享,你应该会注意到Meta和索尼等厂商都有探索与事件摄像头相关的应用。在名为《Event-Based Kilohertz Eye Tracking using Coded Differential Lighting》的论文中,Meta又介绍了与所述主题相关的探索。
大多数现代基于视频的眼动追踪系统使用瞳孔中心角膜反射(PCCR)。这种方法的工作原理是将光源(通常是红外光谱)照射在眼睛。这会在角膜表面引起镜面反射,亦即glint闪烁,而摄像头可以将其检测为明亮的峰值,然后用于估计角膜球体的位置。
Meta在论文中提出了一种基于事件摄像头的全新闪烁检测算法。团队指出,相关算法轻量,采样率为1khz,可以有效解决光与闪烁的对应问题。通过高频脉冲照明,事件摄影头可以根据需要在闪烁反射处生成事件。然而,快速变化的照明同样会导致图像的其他部分(皮肤、虹膜、巩膜等)发生事件,并可能会超过摄像头的事件率,消除所述传感器的功率优势。
研究人员提出的事件摄影头照明方案采用编码差分照明,在抑制场景漫反射部分的事件的同时,其可以保留镜面反射的事件。通过使用补偿成对LED刺激,其中一对中的一个灯关闭,另一个打开,从而确保净照明保持大致恒定,而镜面反射略有移动。这会增强闪烁信号,同时抑制非闪烁事件。
尽管增加角膜闪烁的数量可以改善注视向量估计,但它引入了一个具有挑战性的问题:如何找到光源和角膜闪烁之间的对应关系。研究人员的方法是将光源脉冲两个已知周期,每个周期编码1或0位。每个闪烁都是通过脉冲的独特二进制模式来识别。通过对事件流进行频率过滤,不仅可以去除不必要的噪点源(例如背景光变化引起的事件),而且可以明确地将每个闪烁w.r.t.识别为相应的光源。
1. 方法
团队的目标是通过事件摄像头进行闪烁检测,并实现高采样率、低功耗的角膜球定位。相关方法结合了以下构思:用闪光灯(信标)在角膜产生闪光,其排列旨在增强图像的镜面反射成分。信标触发的事件从背景中过滤,并用于以高频更新计算出的闪烁位置。每个信标都闪烁着唯一的二进制脉冲序列。通过将每个计算出的闪烁与一个特定的二进制序列相关联,确定信标与闪烁之间的对应关系,并推断出角膜球体在每个脉冲上的位置。
1. 差分照明
团队希望以高时间速率采样眼睛的位置,理想情况下不依赖场景的运动来生成事件。实现这一点的一个策略是高速闪烁光源。然而,当在整个场景中报告亮度变化时,由闪烁光源照亮的场景通常会使事件传感器饱和。因此,团队没有采用单个照明源,而是切换为成对LED(一个灯关闭另一个灯打开),目的是保持整体照明大致恒定。研究人员利用了这样一个事实:眼睛通常由两种表面组成。像角膜这样的镜面反射表面,它产生光源的镜面反射;像皮肤、虹膜和巩膜这样散射光线的朗伯表面。
实验表明,这允许减少生成的事件数量,并将SNR提高一个数量级(见图2)。反射的闪烁只有几个像素宽,而不是完美的点反射,这是由于LED发射器的非零尺寸和光学模糊等效果。研究人员发现,对于成对的LED而言,最佳的LED内部距离是在两个闪烁光仅接触而不重叠的点处。在较低的LED内部距离下,两个闪烁在交叉处相互抵消,导致净亮度变化为零,并减少闪烁位置的“信号”事件数。因此,低间距的闪烁看起来是空心的。闪烁分离后,信号不再随着进一步分离而改善,但由于LED内部距离引起的亮度差异而产生的噪点量增加。在这个分析中,角膜没有什么独特之处,除了它是一个在其他主要漫射场景中感兴趣的镜面反射对象。
团队期望这种差分照明方案更广泛地应用于事件摄像头的镜面目标成像。
2. 频率滤波
事件流的低价频率滤波是所述方法的关键。给定一组事件e中的事件流e={(x,y),t,s},团队希望在图像平面上定位子集Ef,由周期t=1 2f的信标切换产生。以前的方法通过测量第一个极性事件s与第一个相反极性事件s′之间的时间来检测每个像素dt处的过渡期。由目标频率解释的每个dt的可能性(或权重)w由正态分布建模:
分布σ的标准偏差是一个可调参数,它设置了频率滤波的带宽,并取决于所用事件摄影头的特性。团队发现80 Hz的值效果出色。利用LED和摄像头之间的电子同步,研究人员将dt的公式修改为同步脉冲t0和极性sp的第一个事件之间的周期。这允许进行更精确的滤波,因为消除了LED初始状态变化引起的事件时间戳变化(见图3),并提供一种用于将闪烁从主LED和补偿LED分离的机制(sp=−一次闪烁为1,补偿闪烁为sp=1)。为了增强对噪点的鲁棒性,团队引入了一个阈值,以便至少需要检测到λc=2个极性sp的连续事件,从而将其计为一个转换。结果是频率滤波器(FF)图像,通过将每个像素位置处的过渡权重w相加而形成。
3. 二进制闪烁编码和追踪
编码闪烁标识的一个选项是为每个标识分配一个唯一的频率。但就目前的SotA事件摄像头而言,这限制了在同一时间能够可靠追踪的闪烁数量。这是因为事件摄像头所暗示的实际过渡期分布在数百Hz的范围内,而高于2 kHz的频率超过了传感器的能力。这促使团队引入二进制编码方案,其中每个LED闪烁一个唯一的二进制序列,其中0表示为周期T0的短脉冲,1表示为周期T1的长脉冲。这使得研究人员可以支持任意多个信标,并同时只需要过滤两个频率。这似乎会降低每个信标的采样率,因为N个信标需要log2(N)位;但由于团队随着时间的推移追踪每个信标,一旦信标追踪器初始化,其就可以更新每一位的位置。采样率等于时钟频率,在示例中为1 kHz。使用每个基本时钟周期中的事件,形成1和0频带的两个FF图和一个事件图像。通过使用FF图像屏蔽事件图像(包含密度信息)。
每个闪烁都由它自己的二进制闪烁(Binary Glint;BG)追踪器对象追踪。BG可以处于三种状态之一。完全初始化的BG具有预期的位置x(从上一个时钟跟踪)和预期的下一个符号b∈ {0,1}。当追踪丢失或开始时,BGs未初始化,没有要追踪的先前位置或符号。事件图像中与已追踪BG不对应的亮峰分配给未初始化的闪烁,此时它们变成半初始化。半初始化BG具有追踪峰值的预期位置,并根据0位和1位LED在每个时钟中填充其二进制模式的一位。
4. 角膜球面回归
团队将角膜闪烁建模为完美球面上的理想镜面反射。在所述假设下,只有一条光线从每个光源传递到相应的闪烁,并从每个闪烁传递到图像平面上的相应点。由于摄像头坐标中的光线位置固定,并且通过设备校准已知,因此可以通过优化光线在图像平面上的重投影误差来确定角膜球体的尺寸和位置。
5. 实验
团队在实验中展示了所述方法的性能,以及特定传感器的频率限制,摄像头的功耗要求。结果表明,所述的方法对事件背景源和传感器噪点具有鲁棒性。通过演示SotA每信标一个频率编码的局限性,其进一步说明了二进制编码方案的重要性。
为了测量检测精度与角速度的关系,团队将眼睛模型放置在旋转台,并以不同的角速度旋转。通过将眼睛模型移动到离散的1度间隔,可以找到ground truth闪烁位置[−30°、30°]并记录静态序列,以在每个位置形成眼睛的事件图像。然后使用三次样条插值静态位置的闪烁位置,以填充采样之间的范围。如图7所示,所述方法能够检测到低于0.5 pix误差的角膜闪烁。结果同时表明,原始检测与卡尔曼滤波检测具有竞争性,并且原始检测可用于所有其他实验。
真实眼球运动:检测精度为了证明方法之于真实眼球的能力,团队记录了人类的扫视和平滑追踪运动序列。实验被试坐在设备前面,头部相对于设备保持静止,并进行随机扫视和平稳追踪。通过从事件序列中随机选择事件帧并手动标记每个序列100组闪烁质心(总共1000个标记)。测量眼跳运动的L2闪烁检测平均误差为0.342 pix,平滑追踪的L2闪烁检测平均误差为0.497 pix。
采样率:所述方法的采样率由基本时钟频率决定。因此,通过以更高频率脉冲光,可以轻松实现更高的采样率。然而,高频可能会开始耗尽事件传感器及其特定偏差的能力。在极限情况下,传感器可能会产生很少或根本不产生事件。采样率和闪烁检测精度之间的权衡取决于硬件和偏差,但对于所述摄像头,在1 kHz以上的检测精度会急剧下降。请注意,团结对表示无法找到允许更快采样率的偏差。
摄像头功耗:在近眼注视点追踪的众多应用中,摄像头功耗是一个主要问题。事件摄像头通常比传统摄像头消耗更少的功率,典型的芯片级功耗约为10 mW,部分原型的功耗小于10µW。EVK Gen3.1摄像头的静态功耗为26 mW,动态功耗为3 nW/ev。通过找到不同眼速下的事件率,团队可以使用事件摄像头的功率模型来确定方法的功率使用。在人类眼球运动的极限下(≈ 500°/s),所述方法的传感器功耗为≈ 35mW。处理每个事件的能力取决于所选的处理器硬件。所述的方法的复杂性主要取决于频率滤波组件。相比之下,闪烁检测仅在1 kHz时执行。频率滤波平均每个事件需要大约3次浮点运算。
LED功耗:降低功耗的一种方法是降低信号LED的电流。为了研究这一点,团队降低了LED的电流。图10中的结果表明,要可靠工作,每个LED大约需要5 mW,但团队依然在较低的功率下实现亚像素精度。目前的LED为广角,所以通过将LED聚焦和瞄准眼睛可以获得更好的性能。
背景和噪点抑制:事件传感器的一个限制是,亮度的意外变化可能会产生许多不必要的(虚假)事件,这可能会导致下游任务出错。团队表示,由于过滤掉了相对低频的虚假事件源,所以这个方法不受侵入性光源或面部运动的影响。研究人员通过记录嵌入模型头部的真实眼睛模型的角膜闪烁进行了证明。
明亮的光源以固定的频率照亮场景,导致周围的眼睛和面部区域发生较大的亮度变化。表2中的实验结果表明,即使场景噪点主导信号,所述方法依然保持亚像素精度。所述方法对传感器噪点同样具有鲁棒性。实验显示,>99%的传感器噪点位于0-250 Hz频带内,远远超出了频率滤波器的范围。
6. 结论
在这篇论文中,团队提出了一种使用事件摄像头检测角膜闪烁的新方法。通过在1-2kHz范围内以二进制模式脉冲闪烁刺激,其能够在闪烁更新上实现1ms的采样时间,并在刺激和图像平面上的闪烁位置之间建立明确的对应关系。通过将闪烁刺激放在互补对中,研究人员能够抵消人们在场景中记录闪烁光源时可能期望的事件缓冲区饱和。其结果是低功耗、亚像素精度的角膜闪烁检测器,能够以kHz的频率可靠地提供更新。通过在受控实验和真实用户演示所述方法,Meta希望能够启发事件传感器在实际眼动追踪解决方案中的使用。
相关论文:
Event-Based Kilohertz Eye Tracking using Coded Differential Lighting
https://paper.nweon.com/11831
总的来说,团队的贡献包括:
第一个完全基于事件的闪烁追踪器,对背景干扰具有鲁棒性,仅使用≈ 35mW功率,采样率为1kHz
编码差分照明,一种新颖的双LED设计,增强了事件摄像头对镜面反射的检测,同时抑制了非镜面背景事件
一种用于支持任意多个光源的有源LED标记(ALM)的二进制编码方案。
本公众号高薪签约长期专栏作者,欢迎具备优秀写作能力的科技从业或爱好者,联系传感器小编:YG18511751369(微信号)
期待下一篇10W+出自您的笔下!
免责声明:本文版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容!本文内容为原作者观点,并不代表本公众号赞同其观点和对其真实性负责。
为您发布产品,请点击“阅读原文”