一种基于自注意力机制的事件相机光流估计方法及装置

文档序号:32943380发布日期:2023-01-14 09:48阅读:29来源:国知局
一种基于自注意力机制的事件相机光流估计方法及装置

1.本技术涉及计算机视觉技术领域,尤其涉及一种基于自注意力机制的事件相机光流估 计方法及装置。


背景技术:

2.光流估计是图像处理与计算机视觉研究中一个重要的研究方向,它允许我们可视化场 景中的运动场,并为动作识别、运动分割和目标跟踪等更复杂的任务奠定基础。在过去的 几年中,光流估计在很大程度上由基于帧相机的传统计算机视觉算法所主导,但是由于传 统帧相机自身较低的时间分辨率、较高的延迟和数据量,在高速运动等挑战性场景下难以 捕捉到物体的快速变化,输出图像帧会存在运动模糊,重复曝光等问题,导致光流估计算 法的性能急剧下降。
3.事件相机(event camera)是受生物视觉系统启发的一类新型神经形态视觉传感器, 它独立检测每个像素点上的亮度变化,生成异步的事件流数据(x,y,t,p),该数据包括 时间戳t、像素地址(x,y)和亮度变化的极性p,因此能克服传统帧相机的局限性并且具 有独特的优势,比如高时间分辨率(微秒级)、低延迟(微秒数量级)、低功耗 (10mw)、高动态范围(120-143db),可以获取瞬时的运动数据,有利于进行连续的光 流估计。
4.第三代神经网络——脉冲神经网络(spiking neural networks,snn)以更具生物可 解释性的脉冲神经元模型为基本单元,提供了事件驱动的计算形式并利用了脉冲事件固有 的稀疏性,以低功耗和几乎无延迟的方式响应事件,所以脉冲神经网络与事件相机结合具 有天然的优势。然而,因为尖峰消失现象以及缺乏合适的训练技术,脉冲神经网络的性能 问题成为其应用于各大任务的最大障碍。针对这个问题,一些研究人员提出了集成脉冲神 经网络和模拟神经网络的深度混合神经网络(snn-ann)体系结构,高效估计稀疏事件相 机输出的光流。


技术实现要素:

5.针对上述问题,提出了一种基于自注意力机制的事件相机光流估计方法及装置。
6.本技术第一方面提出了一种基于自注意力机制的事件相机光流估计方法,包括:
7.获取原始数据流并将所述原始数据流转换为离散化的事件帧,将所述事件帧输入到脉 冲神经网络;
8.根据所述脉冲神经网络中的编码层处理所述事件帧,得到所述编码层对应的脉冲输 出,其中,所述编码层根据十字交叉注意力模块与时间注意力模块对所述事件帧进行处 理;
9.根据残差块和解码层处理所述脉冲输出,确定预测光流,其中,所述解码层使用转置 卷积执行上采样;
10.根据训练后的混合神经网络,确定所述预测光流的总损失。
11.可选的,所述获取原始数据流并将所述原始数据流转换为离散化的事件帧,包括:
12.通过事件相机跟踪所述原始数据流;
13.根据预设设置的预设阈值将所述原始数据流在时间维度上离散化为两组事件帧,其 中,每组事件帧包含通过从前一帧的时间戳到当前时间戳累积的事件而获得的n个事件 帧,每个事件帧由两个通道组成。
14.可选的,所述根据所述脉冲神经网络中的编码层处理所述事件帧,得到所述编码层对 应的脉冲输出,其中,所述编码层根据十字交叉注意力模块与时间注意力模块对所述事件 帧进行处理,包括:
15.所述编码层对所述事件帧进行卷积,获取当前膜电位;
16.将所述当前膜电位与前一个编码层累积之后的膜电位汇合,确定汇合膜电位;
17.通过所述十字交叉注意力模块处理所述汇合膜电位,确定注意力图;
18.通过所述时间注意力模块处理所述注意力图,确定所述脉冲输出。
19.可选的,所述通过所述十字交叉注意力模块处理所述汇合膜电位,确定注意力图,包 括:
20.对于给定的所述汇合膜电位所述十字交叉注意力模块在h上应用两个 1
×
1滤波的所述编码层,分别生成两个特征图q和k,其中,c'是小 于c的通道数;
21.通过聚类操作所述特征图q和k获取注意力图对于特征图q的空 间维度中的每个位置u,确定向量同时,在位置u相同的行或列中从特征图k 中提取特征向量得到集合其中,是ωu的第i个元素, i∈[1,...,|ωu|],所述聚类操作定义表达式为:
[0022][0023]
其中,d
i,u
为特征qu和ω
i,u
之间的相关度,d
i,u
∈d,
[0024]
可选的,所述确定所述脉冲输出,包括:
[0025]
计算统计向量,公式化为:
[0026][0027]
其中x
t,n-1
∈rh×w×c是第n层在第t个时间步长的空间输入张量,c是通道数。
[0028][0029]
根据所述统计向量,计算训练阶段和推理阶段的注意力值,公式化为:
[0030][0031]
其中是可训练的参数矩阵,d
th
是设定的注意力阈值,δ是 relu激活函数,σ是sigmoid激活函数,f(
·
)是heaviside阶跃函数。
[0032]
可选的,在所述确定所述预测光流的总损失之前,包括:
[0033]
根据自监督学习方法训练所述混合神经网络。
[0034]
可选的,所述确定预测光流的总损失,包括:
[0035]
获取光度一致性损失,公式化如下:
[0036][0037]
其中,i
t
为第一灰度图像的像素强度,i
t+dt
为第二灰度图像的像素强度,ρ是 charbonnier损失函数,且ρ(x)=(x2+η2)
γ
,r和η是训练时设置的恒定值;
[0038]
获取平滑损失,公式化如下:
[0039][0040]
其中,h和w分别是预测光流的高度和宽度;
[0041]
根据所述光度一致性损失与所述平滑损失获取所述预测光流的总损失,公式化如下:
[0042][0043]
其中,α表示权重因子。
[0044]
本技术第二方面提出了一种基于自注意力机制的事件相机光流估计装置,包括:
[0045]
输入模块,用于获取原始数据流并将所述原始数据流转换为离散化的事件帧,将所述 事件帧输入到脉冲神经网络;
[0046]
编码模块,用于根据所述脉冲神经网络中的编码层处理所述事件帧,得到所述编码层 对应的脉冲输出,其中,所述编码层根据十字交叉注意力模块与时间注意力模块对所述事 件帧进行处理;
[0047]
解码模块,用于根据残差块和解码层处理所述脉冲输出,确定预测光流,其中,所述 解码层使用转置卷积执行上采样;
[0048]
损失获取模块,用于根据训练后的混合神经网络,确定所述预测光流的总损失。
[0049]
本技术第三方面,提出一种事件相机,所述事件相机为神经形态视觉传感器,在通过 像素点独立检测光照强度变化并异步输出原始事件流信号时,实现如上述第一方面中任一 所述的方法。
[0050]
本公开的实施例提供的技术方案至少带来以下有益效果:
[0051]
第一方面引入十字交叉形注意力模块捕获完整的图像依赖关系,弥补稀疏事件流的缺 陷,生成密集以及像素级的场景信息,降低算法时空复杂度;第二方面引入时间注意力模 块有选择性地聚焦信息,自动过滤与最终结果无关的帧,从事件流中有效提取时间和空间 特征,在保留snn的事件触发特性的同时,能够比纯snn结构更有效地处理事件流,提高 了光流预测能力,改善计算效率。
[0052]
本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明 显,或通过本技术的实践了解到。
附图说明
[0053]
本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得
明显 和容易理解,其中:
[0054]
图1是根据本技术示例性实施例示出的一种基于自注意力机制的事件相机光流估计方 法的流程图;
[0055]
图2是根据本技术示例性实施例示出的另一种基于自注意力机制的事件相机光流估计 方法的流程图;
[0056]
图3是根据本技术示例性实施例示出的一种基于自注意力机制的事件相机光流估计方 法的网络结构图;
[0057]
图4是本技术实施例中十字交叉注意力机制的可视化图;
[0058]
图5是本技术示例性实施例示出的一种基于自注意力机制的事件相机光流估计装置的 框图;
[0059]
图6是本技术实施例中事件相机硬件的原理图。
具体实施方式
[0060]
下面详细描述本技术的实施例,实施例的示例在附图中示出,其中自始至终相同或类 似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的 实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
[0061]
图1是根据本技术示例性实施例示出的基于自注意力机制的事件相机光流估计方法, 如图1所示,包括:
[0062]
步骤101,获取原始数据流并将原始数据流转换为离散化的事件帧,将事件帧输入到 脉冲神经网络。
[0063]
事件相机像素点上的亮度变化要由目标对象或传感器运动引起,当多个像素点同时请 求事件输出时,这些事件将以亚微秒级时延异步输出并构成事件流。事件流数据表示为: e=(x,y,t,p)
t
,包括事件的像素坐标(x和y位置)、触发时间(t)和亮度变化的极性(p)。 这里,每个on/off极性分别对应于像素强度的增加或减少。事件相机跟踪每个像素阵列 元素处的对数强度i的变化,只要对数强度变化超过设定的阈值θ,就会产生如下离散事 件:
[0064]
||log(i
t+1
)-log(i
t
)||≥θ。
[0065]
在步骤101中,采用一种离散化的输入编码方案,为snn保留了事件的空间和时间信 息,即将一个时间窗口内的时间维度离散化为两组,每组包含通过从前一帧的时间戳到当 前时间戳累积的事件而获得的n个事件帧。这些事件帧中的每一个也由两个通道组成,用 于事件的on/off极性,该输入表示如图3中(a)所示。因此,这四个通道的事件帧序列 顺序通过整个网络的脉冲神经网络部分。
[0066]
步骤102,根据脉冲神经网络中的编码层处理事件帧,得到编码层对应的脉冲输出, 其中,编码层根据十字交叉注意力模块与时间注意力模块对事件帧进行处理。
[0067]
如图2所示,步骤102还包括:
[0068]
步骤201,编码层对事件帧进行卷积,获取当前膜电位。
[0069]
首先,编码层对输入的事件帧进行卷积,确定当前的膜电位。
[0070]
步骤202,将当前膜电位与前一个编码层累积之后的膜电位汇合,确定汇合膜电位。
事件。当膜电位超过设定的激活阈值v
th
时,神经元发出脉冲信号,并将膜电位重置为0。
[0087]
步骤204,通过时间注意力模块处理注意力图,确定脉冲输出。
[0088]
如图3中(c)所示,对于本发明中提出的时间注意力模块,将注意力的概念扩展到 时态输入,以此获取事件在不同时刻的统计特征,生成注意力分数,然后根据分数对事件 进行加权。该注意力分数不仅应该基于当前时间步长的输入统计特征,而且还应该考虑来 自相邻帧的信息。具体地说,对于空间输入的每一步,在不管批大小的情况下通过压缩操 作计算统计向量s:
[0089][0090]
其中x
t,n-1
∈rh×w×c是第n层在第t个时间步长的空间输入张量,c是通道数, [0091]
根据统计向量s,计算训练阶段和推理阶段的注意力值d,如下所示:
[0092][0093]
其中是可训练的参数矩阵,d
th
是设定的注意力阈值,δand σ分别是relu和sigmoid激活函数,f(
·
)是heaviside阶跃函数,满足:当x》0, f(x)=x,否则f(x)=0,将计算出的d值乘以空间输入,以获得新的空间输入
[0094]
由此,对十字交叉注意力模块-if神经元模型层中膜电位的输出脉冲处理完成,并传 递到后续的模拟神经网络层。
[0095]
其中,编码层的脉冲输出分别通过十字交叉注意力和时间注意力机制处理后被收集在 其对应的输出累加器中,直到所有连续的事件图像通过。
[0096]
步骤103,根据残差块和解码层处理脉冲输出,确定预测光流,其中,解码层使用转 置卷积执行上采样。
[0097]
本技术实施例中,来自最后一个编码层的脉冲输出通过两个残差块,而前三个编码层 的脉冲输出作为相应解码层的输入。然后每个解码层使用转置卷积执行上采样,以产生中 间流预测,而中间流预测、转置卷积输出和编码层的相应激活输出都连接在一起,以构建 下一个解码层的输入,最后一个解码层产生具有与输入帧相同维度的全尺度光流预测。
[0098]
步骤104,根据训练后的混合神经网络,确定预测光流的总损失。
[0099]
本技术实施例中,采用自监督学习方法训练本发明提出的混合神经网络。
[0100]
预测光流的总损失包括光度一致性损失与平滑损失,计算公式化为:
[0101][0102]
其中,α表示权重因子。
[0103]
光度一致性损失能够通过跟踪图像之间的像素强度来实现物体运动,该像素强度通过 一对灰度图像(i
t
(x,y),i
t+dt
(x,y))(起点和终点)以及预测的光流计算。空间变换器使用当 前水平和垂直方向上的光流估计(u,v),反向扭曲第二灰度图像(i
t+dt
(x,y))以获
得第一灰度 图像i
t+dt
(x+u(x,y),y+v(x,y))。光度一致性损失最小化了第一帧图像和第二帧图像之间的 差异。由以下等式计算:
[0104][0105]
其中,i
t
为第一灰度图像的像素强度,i
t+dt
为第二灰度图像的像素强度,ρ是 charbonnier损失函数,且ρ(x)=(x2+η2)
γ
,r和η是训练时设置的恒定值。
[0106]
平滑损失可以增强相邻光流的空间共线性,通过向预测光流添加正则化使得相邻像素 之间的偏差最小化,计算如下:
[0107][0108]
其中,h和w分别是预测光流的高度和宽度。
[0109]
另外,选择平均端点误差(average end-point error,aee)指标进行预测光流的评 估确定,平均端点误差描述了所有像素的标准光流场(y
gt
)和预测光流(y
pred
)之间的 欧几里德距离的平均值。计算公式为:
[0110][0111]
本技术第一方面引入十字交叉形注意力模块捕获完整的图像依赖关系,弥补稀疏事件 流的缺陷,生成密集以及像素级的场景信息,降低算法时空复杂度;第二方面引入时间注 意力模块有选择性地聚焦信息,自动过滤与最终结果无关的帧,从事件流中有效提取时间 和空间特征,在保留snn的事件触发特性的同时,能够比纯snn结构更有效地处理事件 流,提高了光流预测能力,改善计算效率。
[0112]
图5是根据本技术示例性实施例示出的一种基于自注意力机制的事件相机光流估计装 置500,包括:输入模块510、编码模块520、解码模块530和损失获取模块540。
[0113]
输入模块510,用于获取原始数据流并将所述原始数据流转换为离散化的事件帧,将 所述事件帧输入到脉冲神经网络;
[0114]
编码模块520,用于根据脉冲神经网络中的编码层处理事件帧,得到编码层对应的脉 冲输出,其中,编码层根据十字交叉注意力模块与时间注意力模块对事件帧进行处理;
[0115]
解码模块530,用于根据残差块和解码层处理脉冲输出,确定预测光流,其中,解码 层使用转置卷积执行上采样;
[0116]
损失获取模块540,用于根据训练后的混合神经网络,确定预测光流的总损失。
[0117]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实 施例中进行了详细描述,此处将不做详细阐述说明。
[0118]
图6示出了可以用来实施本公开的实施例的示例事件相机dvs的硬件原理图。事件相 机是一种新型的动态视觉传感器,对光变化敏感,可以有效获取运动信息,构成了对获取 场景静止信息的传统相机的有效补充,也可以独立使用完成运动信息高效的输出;并且具 有低延迟、数据量小、高动态范围、极低功耗等特性,广泛应用于目标检测、图像分割等 计算机视觉领域。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例, 并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0119]
如图6所示,dvs是一种基于时间的异步动态视觉传感器,以异步时空脉冲信号表
示 场景光强变化,对有光强变化的部分做出响应,而对无光强变化的部分则不会做出响应。 dvs将这些运动变化信息转化为空间稀疏、时间密集的事件流。它的单个像素结构和工作 原理简化图如图6所示。dvs像素由快速对数光感受器(photoreceptor)、差分电路 (differencing)和两个比较器(comparators)组成,感光电路主要由一个光电二极管、一 个串联的晶体管和一个负反馈回路构成,能感知光线强度变化并及时给出响应。差分电路 可以将感光电路的输出进行放大,并减少晶体管因工艺制作带来的误差。阈值比较电路主 要是通过比较器比较电压的变化实现on/off事件脉冲的输出。若光线变亮,电压变化量 大于on事件的阈值,则会输出一个脉冲表示on事件;若光线变暗,电压变化量小于off 事件的阈值,则会输出一个脉冲表示off事件。如果电压达到饱和值,复位信号会将电压
[0120]
两类主流事件相机atis(asynchronous time-based image sensor)和davis(dynamic and active pixel vision sensor),它们都是在dvs的基础上进行改进 的,其中atis加入了脉冲宽度调剂环节,可以在输出光线强度变化信息的同时输出对应 点的光线强度信息;与atis相同,davis也可以输出50帧每秒左右速率的灰度图像,从 而辅助图像-事件的标定,并采用并联传感器,减小生成灰度图像对产生事件的延时。
[0121]
另外,基于脉冲神经网络结构设计的芯片被称为类脑芯片,脉冲发生的时刻携带着重 要信息,脉冲神经网络天然具备对时序信息处理的能力,这与事件相机基于时间戳的事件 流输出十分吻合。
[0122]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例 如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行, 只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0123]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的 是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开 的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1