资讯详情

Learning to Super Resolve Intensity Images from Events

Learning to Super Resolve Intensity Images from Events

从事件中学习超分辨强度图像

点击此处或项目代码 https://github.com/gistvision/e2sri

这篇文章和E2SRI:Learning to Super Resolve Intensity Images from Events感觉是同一个意思,但是一个投票IEEE一个投的CVPR,E2SRI这篇文章要详细一点~~

先看老规矩: 事件相机检测每个像素的强度差,并产生。事件相机作为权衡,空间分辨率低。我们提出了一个。我们评估了我们的算法在模拟和现实世界序列中,验证了它捕捉场景的细节,并将最先进的事件与图像算法与最先进的超分辨率方案相结合,大大改进了许多定量措施。我们使用主动传感器像素 (APS) 帧或迭代重建图像以进一步扩展我们的方法。

1.Introduction

事件相机,又称神经形态相机,成本低,动态感应范围高,延迟低,功耗低。。这种类似于流的表示,取决于场景和相机的移动,可以通过准确的时间戳 (t) 实现 μs 等级延迟,并以 (x, y, t, σ) 表示每个触发事件。

通过将 APS 帧被视为输入或迭代学习网络,以添加细节到初始图像来重建更多细节。

2.Related Work

从事件到强度图像。 在生成的强度图像中,以前的方法将错误传播为阴影状伪影。

图像超分辨率 (SR)。

3.Approach

提出了一篇论文,它以。最后,论文通过混合多次戳的中间输出来构建超分辨强度图像。

3.1 Event Stacking Method(事件堆叠法)

事件的流动性在空间域很稀疏,需要准备捕捉场景细节,以重建卷积神经网络。虽然最近在堆叠方法方面取得了进展,但我们的网络使用了简单的堆叠方法(例如基于事件数量) (SBN) 堆叠)性能好。高级堆叠方法可以直接用于修改我们网络的输入块。

(在这里插入图片描述),。因此,每个堆栈都包括总共 事件,具有 h × w × c 维度,其中 h 和 w 分别是 APS 图像的宽度和高度。 c 通道堆栈作为输入被馈送到网络中。 APS 帧在堆栈中最后一个事件的时间戳处采样,以获得基本事实 (GT)。所有像素值最初设置在每个通道中 128。。由于新事件可以覆盖旧事件,因此需要仔细选择 M 更好地保留时空视觉信息。帧速率可以由 Ne 随时确定每个堆栈之间的重叠事件数。

我们选择每个堆栈 。该数字可以修改为具有较大分辨率事件输入的实验,以确保堆栈中的平均事件数显示具有精细细节的视觉合理输出。然而,由于网络是在不同场景中训练的,包括不同数量的本地事件,

从端到端事件到超分辨率强度图像框架的概述。输入堆栈 SBNn m 和中央堆栈 SBNn 被提供给 FNet 以创建光流 (Fn m)。流与堆栈相连,并提供供给 EFR 纠正事件特征。其输出 REn m 以前的状态 (Staten) 一起提供给 SRNet,创建中间强度输出 In m 下一种状态 (Staten m)。连接并提供所有中间强度输出 (Mix) 该网络创建最终输出 (On)。最后,使用相似性损失(Sim)输出和训练groundtruth(GT)比较,包括Learned Perceptual Image Patch Similarity(LPIPS)项和l一是计算误差(Err)。

3.2 网络架构

我们按照三个原则设计网络架构。(第 3.2.1 节)。其次,我们是超分辨率网络(SRNet)足够大,解决场景中各种复杂程度的运动(第) 3.2.4 节日)。最后,我们提出了一个新颖的,它可以在远离模糊和伪影的同时添加结构细节(第一 3.2.6 节)。我们描述了网络每个组件的细节。

3.2.1 综述

我们考虑为我们的网络输入堆叠事件流。特别是三堆栈(3S)堆栈包含第n个输入序列APS时间戳(SBNn)堆栈,它以前的堆栈SBNn-m后面的堆栈(SBNn m)。

每个堆栈有 M (例如,3, 000)事件的结束位置 m 将根据触发 M 在事件的时间线上改变事件所需的时间量。 SBNn 是三个序列中的中央堆栈。它在 SBNn-m 然后被馈送到网络,预测的强度输出对应于堆栈。如果堆之间没有重叠(L = 0)(图 3 中间的非重叠输入), SBNn m 和 SBNn-m 中央堆栈的开头或结尾分别有堆栈 M 个事件。我们也可以使用重叠堆栈来创建更高的帧率;下一个堆栈的结尾将是中心减去重叠量 (M -L) 之后的 M 个事件(图 3 中重叠输入)。补充提供了更多关于重叠堆叠的详细信息。

SBNn m 和 SBNn-m 估计网络和中央堆栈分别送到光流 (F Ne t) 预测堆栈之间的光流 (Fn m 或 Fn-m)。堆栈和这些事件 F Net 获得的光流连接,然后通过事件特征校正网络 (EF R) 进行校正。然后堆栈校正后的事件(REn m)为超分辨率网络提供服务(SRNet)。 SRNet 修正后的事件堆栈 (REn m) 获取前一种状态 (Staten),并创建顺序模型的下一个状态 (Staten m) 和超分辨强度,如输出 (In m)。

由于堆栈将连续事件流量化为单独输入,每个堆栈可能不包含重建图像所需的所有细节。因此,混合器网络输出了所有堆栈的中间强度 (Mi x) 混合重建具有丰富细节的强度图像 On。对于初始堆栈,仅将第一个堆栈馈送到 EF R 创建初始子网络 Staten。 Mi x 提供给相似网络的输出 (Sim),以根据误差 (Err) 优化参数。

3.2.2 Flow Network (FNet)(流网络)

堆叠事件流的一个不希望的缺点是,堆栈之间的时间关系已经失去。由于光流报告场景中关系可以通过使用堆栈序列和每对堆栈之间的光流来部分恢复,因为如何移动光流报告场景中的触发事件以及变化发生在哪里。 SBN 堆叠包含足够的边缘信息,可作为基于学习的光流估计算法的图像输入。因此,我们使用预训练而不是微调FNet 用于计算效率1。我们使用 [9] 作为我们的流量估计网络,它被称为 FNet。

建议方法中的详细数据流。本例基于第三堆栈 (SBNn m),因此,以前的输入、光流和中间强度输出都被稀释了。 APS 帧调整为输出大小 (On) 以进行比较

3.2.3 Event Feature Rectification Network (EFR)(事件特征校正网络)

另一个缺点是在快速触发位置覆盖以前的事件信息。。为了防止覆盖事件,我们。通过 EFR,我们逐渐将事件流上的堆栈融为一体留每个事件的详细信息。

当两个堆栈在仅一个堆栈可见的位置具有光流无法关联的事件时,EFR 有助于重建图像,因为我们使用 EF 、R 的所有三个输入,所以这些事件更有可能被保留用于强度重建。注意中央堆栈在没有估计流量的情况下提供给该网络,因为它没有流量。

3.2.4 Super Resolution Network (SRNet)(超分辨率网络)

纠正后的事件现在由我们称为SRNet的主网络超级解决。我们对SRNet使用递归神经网络,因为我们堆叠的事件流的每个部分捕获输出图像的细节,并且它们最初是连续的,但是通过堆叠方法被量化。为了缓解这种不连续性,我们。具体来说,单个事件堆栈可能会部分遗漏先前触发的事件的重要细节,这些事件不在其堆栈范围内,但已被先前的堆栈捕获。

已经表明,叠加事件能够通过深度神经网络如 U-net 合成强度图像。在架构上,我们进一步扩展了ResNet的想法,,具有更多过滤器和更大的内核大小。特别是,按照 MISR 中设计良好的网络,我们利用剩余学习的力量来实现超分辨强度。我们使用受 SISR 网络启发的大视野,(RN et-C)。其主要任务是

SRNet被设计成在增加强度信息的同时放大输入RE。SRNet的整体结构如图4所示。我们使用。这些网络比 RNet-C 更浅,因为它们编码来自先前状态的类似特征的表示,而不是直接来自校正的事件。从RN et-C的输出中减去作为上采样编码器的RN et-A的输出,以产生内部误差(en ),该误差测量当前整流事件堆栈REn+m与先前状态Staten相比贡献了多少 该误差作为RN et-B的输入,RN et-B用作通用编码器。我们通过RN et-B的输出与RN et-C相加来定义下一个状态(Staten+m ),因此当前输入(REn+m)被强调为 状态n+m被提供给最终解码器(RN et-D ),以使中间强度输出(In+m)为 一般而言,RN et-C通过添加前一堆栈遗漏的场景的细节,将来自当前堆栈的新信息添加到前一状态。即使在当前堆栈捕获的一些区域中没有事件,但是有场景细节在由先前堆栈捕获的区域中,先前状态(Staten)通过RN et-A保存该信息作为其隐藏状态,以重建相当缺失的区域中的场景细节。我们在附录中详述了其他设计参数,如层类型、过滤器数量。

图4。所提出的超解析网络(SRNet)的详细架构(图2中的绿块)。四个主要残差网络被设计成作为大型编码器-解码器方案来执行。RNet-A用于更新隐藏状态,而RNet-B和RNet-D分别充当编码器和解码器,以将隐藏状态映射为超分辨率强度输出(In+m)。

3.2.5 Mixer Network (Mix)(混频器网络)

混频器网络旨在增强不同时间位置(I = { n m,n,n+m})的SRNet输出(Ii ),以在中央堆栈的时间戳(n)处重建细节丰富的强度图像(On)。该网络采用卷积层来重建具有精细细节的强度图像。

3.2.6 Similarity Loss (Sim)(相似性损失)

给定重建图像(O)和它的GT (G ),我们用两项定义损失函数。首先,我们使用非结构化损失,如l1范数来重建整体更清晰的图像。1(O,G) =||O G||1而不是 l2 这导致输出图像中具有低频纹理的平滑边缘。作为。1可能丢失场景的结构信息,我们进一步利用能够通过学习的感知图像块相似性(LPIPS)或感知相似性[26]作为我们的目标函数的第二项来补偿结构缺乏的标准。具体地,给定由预训练网络(例如,AlexNet [11])编码的一对图像(O,G),提取第1层的近端特征(Glhw),同时通过通道维度(Hl,Wl)对其激活进行归一化。然后,每个通道通过向量wl [26]进行缩放。2计算距离。最后,通过所有层(l)在图像轴(h,w)上计算LPIPS损失的空间平均值,如下 最终的目标函数Lsim是这两项的组合,平衡参数 λ 为 我们最小化它来学习参数。

4.Experiments and Analyses(实验和分析)

为了进行实证验证,我们使用 生成的序列和四个具有挑战性和多样性的真实世界公共数据集。[1, 15, 22, 27].我们在附录中描述了数据集的细节。对于定量分析,我们使用dB(对数标度)中的PSNR、作为零(不太相似)到一(完全相似)之间的分数的结构相似性[25] (SSIM)、均方误差(MSE)和感知相似性(LPIPS)作为度量来评估两幅图像中的高级特征的相似性(值越低,相似性越大)。对于每个实验,我们在8个Titan-Xp GPU的集群上训练我们的网络。批量大小为8,初始学习率为0.01,在给定最大历元数(例如,在我们的实验中为50)的剩余历元的每一半,初始学习率衰减10倍。我们在所有实验中使用λ = 0.01,另有说明。

/原来看了这么久,它是用的事件摄像机的模拟器得到的……不是直接用事件摄像机拍摄得到的……

4.1 Comparison with State of the Arts(与最先进水平的比较)

我们首先提出了从事件直接重建SR强度图像的任务,因此没有可直接比较的方法。因此,我们首先,以评估我们的重建质量。然后,我们将我们的方法与结合了最先进的超分辨率(SR)方法的最先进的强度重建方法进行比较。

我们在来自事件摄像机数据集的七个具有挑战性的真实世界序列上,将我们的方法的下采样输出与最先进的事件强度图像方法进行比较[。为了符号简洁,我们将**高通滤波方法简写为 HF ,将流形正则化简写为 MR ,将事件到视频生成简写为 EV ,将条件GANs的事件到强度简写为 EG **。遵循许多真实世界事件数据集中的评估协议,。我们遵循[17]的序列分割,并使用报道的HF、MR和EV的性能测量。例如,我们使用作者的重建图像来评估性能。

如表1所示,我们提出的方法优于LPIPS中的所有其他方法。这意味着重建的强度图像在感觉上比以前的方法更好。我们的方法在多个序列上也表现出较高的SSIM分数和与EG相当的MSE误差。与EV类似,我们仅用合成序列训练模型,并应用于真实世界的序列。在这种不需要微调的具有挑战性的零发射数据传输设置中,我们的方法在真实世界事件上优于其他方法。注意,LPIPS中的两个亚军方法(EV和EG)也使用基于学习的框架。

表1。与真实世界序列上最先进的强度合成方法进行比较[15]。我们的方法在LPIPS的所有序列中,以及在SSIM的平均序列中,都优于以前的方法。亚军方法带有下划线。我们使用了文献[17]中报道的HF [22]、MR [18]和EV [17]的数字,同时评估了作者重建的EG [24]的图像。 表二。与SISR [4]和MISR[7]方法相结合,从事件直接(我们的)到事件到强度图像合成(EV)的超分辨强度图像的定量比较。 超分辨率图像重建。我们现在将最先进的事件到强度重建算法与最先进的SR方法相结合,并将我们的方法与它们进行比较。对于最先进的事件强度算法,我们使用EV2,因为它是亚军方法,在大多数序列和平均上优于SSIM中的EG和LPIPS(表1)。对于超分辨率算法,我们使用两个最近的超分辨率算法;一个是SISR [4],另一个是MISR [7]。如表2所示,我们的方法在所有指标上都远远优于结合了最先进的SR算法的最先进的强度重建算法。我们使用来自ESIM生成的数据集的30个序列。

对于定性分析,我们在 图5 和 图1 中的真实世界和模拟序列上展示了通过EV、EV+MISR的组合和我们的方法的强度重建。请注意,我们的方法从事件中重建精细的细节。在图1中,EG并不总是从事件中重建场景细节,有时会产生幻觉抖动伪像。虽然EV从事件中重建场景细节比EG相对更好,但它会产生类似阴影的伪像,并使场景的某些区域变暗。此外,在数据中存在热像素的情况下,EV不过滤它们;白点或黑点出现在EV的结果中,而我们的方法主要是在没有显式操作的情况下过滤掉它们。我们在补充材料中提供了更多的结果。

我们进一步对来自另一个流行数据集[1]的序列进行实验,并在图6中定性地将我们的方法与EG和EV进行比较。我们的方法可以揭示细节这在构建相同大小的图像(如指尖或纹理)时是不可见的。

图5。直接合成SR强度图像(ours)和作为强度图像估计下游应用的超分辨(EV+MISR)之间的定性比较。突出显示的框被放大,以便更好地进行比较。

4.2 Analysis on Loss Terms (Lsim)(损失条款分析)

我们烧蚀损失函数来定量地研究图像重建中各项的影响, 表3 和 图7 定性地显示了这一点。所有分析和消融研究均采用模拟数据进行,以便利用高质量燃气轮机进行可靠的定量分析。只用Ll1第一项,我们在PSNR观察到更好的性能,但导致视觉上不太清晰的图像,从而在所有其他指标中表现不佳。仅使用LLPIPS的术语,我们观察到图像看起来在视觉上是可接受的,但是下PSNR的缺点是在事件较少的区域和边缘上有点状伪像。最终提出的损失函数Lsim在SSIM和MSE中表现最好,在PSNR和LPIPS中略有下降,但在视觉上创建了最可信的图像。 图6。在[1]的序列上,我们的缩减输出与EV和EG的定性比较(没有APS)。我们的方法能够从小到128×128像素的输入中重建结构细节。补充材料中提供了更多结果。 图7。损失函数对重建质量的影响。l1 规范平滑边缘,感知相似性(LPIPS)增加了结构细节,但也产生了伪像的结合l1+LPIPS (Lsim)在增加结构细节的同时显示较少的伪像。

4.3 Analysis on Super Resolution Parameters(超分辨率参数分析)

我们评估了两个随机共振参数的影响;输出质量上的放大因子(2×,4×)和堆栈序列(3S,7S)的大小。我们将结果总结在表8中。比较3S和7S,我们发现7S在所有指标上都有更好的表现。这意味着序列上较长的递归可以产生更可靠的隐藏状态并导致更高质量的输出。此外,当使用更长的序列时,更有可能捕获只发生很短时间的事件,因为在更大的递归上展开有助于保留短事件的信息。将事件超分辨为更大的图像更具挑战性,因为对于一种算法来说,处理不存在事件的大空间位置并不容易。虽然与2倍相比,MSE有所下降,但这是因为分母中的数字由于图像的大小而变大,并且与输出质量没有太大关系。

图9。极端HDR情况下的图像重建比较[15,22]。与EV和APS相比,我们的方法合成了更多的细节,同时产生了更少的伪影。请放大并比较建议的红框。

4.4 Qualitative Analysis on HDR Sequences(HDR序列的定性分析)

使用事件摄像机的一个具有挑战性的场景是捕捉极端动态范围下的事件。我们对这种极端条件下的输出进行定性分析,并与图9中的EV进行比较。包括APS框架的普通相机具有低得多的动态范围,并且或者产生黑色区域(当相机未能感测到其感测范围下的强度细节时,如顶行所示)或者产生白色区域(当光线涌入相机并且相机不能感测高于其感测范围时,如底行所示)。我们观察到,我们的方法可以解决更高的范围,并揭示更多的结构细节,EV和APS框架无法捕捉。

4.5 Analysis on the Failure Modes(失效模式分析)

失败案例大多与在长轨迹上丢失背景细节有关动作迅速。在这样的序列中,我们的方法仅恢复与我们的中心堆栈的时间距离有限的场景部分。我们在补充材料中展示并进一步分析了一些故障模式。 表4。时间稳定性误差评估(方程式。6).加号表示盲后处理[13]。我们的方法(3S,7S)不直接考虑时间一致性,但是更长的堆栈序列(7S)更一致。EV[17]使用多达L=40个输入堆栈,最初更加一致。然而,在后处理之后,我们甚至在最小的序列上得到更低的误差。

5.Extensions(扩展)

视频重建。我们的目标是。因此,。为了将我们的方法扩展到视频重建,我们利用盲后处理方法[12]来编码强度图像之间的时间一致性,并在补充视频中展示定性结果。为了定量评估时间一致性,我们遵循来自[13]的时间稳定性度量,其基于两个连续合成帧(Ft,Ft+1)之间的流扭曲误差: 其中,Ft+1是Ft+1的扭曲帧,Mt ∈ {0,1}是基于[20]的非遮挡遮罩,以确保计算仅应用于非遮挡区域。我们计算用于扭曲帧的光流和基于APS帧的非遮挡图,用于评估所有比较的方法和APS的扭曲误差,因为它们是GT。我们在表4中总结了与EV相比不同大小的序列(3S和7S)的结果。虽然我们的方法(3S和7S)由于缺乏时间一致性而比EV差,但简单的后处理(3S+和7S+)显著提高了性能,远远超过EV [17]及其后处理版本(EV +)。

互补和双通。为了在具有挑战性的设置中评估我们的方法,我们不使用APS帧来超分辨图像。使用APS框架,我们可以进一步提高输出质量。我们通过使用APS帧作为补充[22]或Comp来命名扩展。我们用低分辨率(LR) APS帧来训练网络的初始状态中心堆栈(秒。3.2.1)并提供事件作为其附近的堆栈。我们观察到网络学习从LR输入添加更高分辨率的细节。

然而,互补方法对中心叠加的质量很敏感,特别是如果中心叠加模糊或有噪声,其伪影会传播到最终重建。为了避免这种缺点,我们提出了另一种扩展,它不使用APS帧,而是仅使用两次迭代或从事件传递,称为Duo-Pass。在第一步中,我们使用主方案仅从事件创建强度图像。在第二遍中,我们使用来自第一遍的合成强度图像作为中心堆栈,类似于我们在互补方法中使用APS帧。通过二次传递,我们能够进一步恢复第一次传递遗漏的HR细节,而无需APS帧的帮助。我们定性地比较了我们的方法(main)、Duo-Pass和Comp的结果。在图10中。我们在补充材料中提供了更多的结果。

图10。扩展。Duo-Pass迭代SR两次,互补(Comp。)使用带有APS帧的事件。

6. Conclusion(结论)

我们建议通过端到端的神经网络从事件中直接重建更高分辨率的强度图像。我们证明,我们的方法重建高质量的图像,与现有技术相比,在相同大小的图像重建和超分辨率。我们进一步将我们的方法扩展到DuoPass,该duo pass执行额外的传递以添加缺失的细节,并且除了事件之外还利用APS帧进行补充。我们还通过简单的后处理来重建视频,以确保时间一致性。

———————————————————————————————————————————

总的来说,就是: 事件摄像机通过检测每像素强度差异,产生具有低延迟、高动态范围和低功耗的异步事件流,它将像素位置(x,y)的强度变化异步表示为加号或减号(σ),通过精确的时间戳(t)实现微秒级的延迟,并以(x,y,t,σ)的形式表示每个触发的事件。方法是用预定义的阈值检查强度变化量。

我们提出了一个全卷积网络,它将感兴趣的时间戳附近的事件堆栈序列作为输入,将它们与通过F-Ne-t获得的它们的光流成对地关联,并通过EF-R校正成对堆栈和流的组合,然后将它们馈送到基于递归神经网络的超分辨率网络(SRNet ),该网络输出每个堆栈的隐藏状态和中间强度输出。最后,我们通过mix混合来自多个时间戳的中间输出,以构建超分辨率强度图像。

运行项目

配置好ROS以及事件相机模拟器后,开始下述步骤:

python -m venv ./e2sri
source e2sri/bin/activate

cd e2sri 
#我解压的github项目包名字为e2sri-master,所以为cd e2sri-master
pip install -r requirements.txt

cd src
unzip pyflow.zip
cd pyflow
python3 setup.py build_ext -i

下载数据集,链接在github里面有给~~ 下完数据集之后,数据集的压缩包名字是datasets,因为后续代码中是dataset,建议更改

python test.py --data_dir ../dataset/slider_depth --checkpoint_path ../save_dir/2x_7s.pth --save_dir ../save_dir

我在这里遇到的问题是: 1、错误提示说有文件找不到,我把解压后的数据集文件夹名字都改成了dataset,因为解压zip后,有一个dataset文件夹,还有一个__MACOSX文件夹,该文件夹中的子文件夹名字应该也为dataset 2、RuntimeError: no valid convolution algorithms available in CuDNN 解决了,是pytorch版本不对,pytorch、cuda、cudnn、驱动这些版本必须对应

python3 train.py --config_path ./configs/2x_3.yaml --data_dir ../dataset/Gray_5K_7s_tiny --save_dir ../save_dir

报错: 参考:此处

find . -name "*.DS_Store" -type f -delete

删除所有的.DS_Store文件

正常运行~ 搞定,后面就是用自己的数据集搞了~~

标签: hf520变送器wl1260单点式传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台