BIT-Vision / SpikeNeRF

Codes for CVPR 2024 paper "SpikeNeRF: Learning Neural Radiance Fields from Continuous Spike Stream"
18 stars 0 forks source link

为什么数据集里面没有Spike data #4

Open 520jz opened 4 months ago

520jz commented 4 months ago

您好,非常感谢您出色的工作。我想问一下为什么提供的数据集里面没有论文中所展示的脉冲相机的数据呢? image 数据集里面的训练集都只是含有噪点的图片,这应该不是脉冲相机的数据吧? image 我看代码里面训练的时候也是直接用的这种还有噪点的图片进行监督的,不是应该用脉冲流作为监督吗?

同时,为什么真实数据集的监督也是清晰的图片,并不是脉冲流呢? image image image image

chenkang455 commented 4 months ago

@520jz 你可以把这篇文章理解为TFP(其他重构算法)+NeRF的级联。作者在论文中提到监督时是用仿真脉冲流和真实脉冲流之间做loss,但实际上做了一点简单替换(公式8),变成了直接用TFP作监督(也许是等价的?)。所以你能看到这里直接用的带噪图做监督信号(短TFP)。

整体的训练过程可以理解为:NeRF根据pose重构出清晰图,接着清晰静态图(这里我也不是很理解,为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价)通过仿真器得到仿真spike流,用这个spike流的tfp结果和真实spike流的tfp结果之间做loss。所以这里本质上是训练了一个SNN来模拟清晰图上加噪的过程,这样就可以从带噪图中得到清晰图。

520jz commented 4 months ago

@520jz 你可以把这篇文章理解为TFP(其他重构算法)+NeRF的级联。作者在论文中提到监督时是用仿真脉冲流和真实脉冲流之间做loss,但实际上做了一点简单替换(公式8),变成了直接用TFP作监督(也许是等价的?)。所以你能看到这里直接用的带噪图做的监督信号(短TFP)。

哦哦哦,原来如此,谢谢大佬,我后面也发现了作者在论文的补充材料里面提到了用了一个Spk2img的工具,那他应该就是用这个工具把脉冲流转成了含噪的图片。感觉如果是纯脉冲流的话可能效果还会差一些。 image

520jz commented 4 months ago

@520jz 你可以把这篇文章理解为TFP(其他重构算法)+NeRF的级联。作者在论文中提到监督时是用仿真脉冲流和真实脉冲流之间做loss,但实际上做了一点简单替换(公式8),变成了直接用TFP作监督(也许是等价的?)。所以你能看到这里直接用的带噪图做监督信号(短TFP)。

整体的训练过程可以理解为:NeRF根据pose重构出清晰图,接着清晰静态图(这里我也不是很理解,为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价)通过仿真器得到仿真spike流,用这个spike流的tfp结果和真实spike流的tfp结果之间做loss。所以这里本质上是训练了一个SNN来模拟清晰图上加噪的过程,这样就可以从带噪图中得到清晰图。

确实(为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价),我觉得应该是像事件相机那样,渲染出两个时刻的脉冲做差,然后将这一段区间的差与真实的spike流做loss才对,应该是按照区间做loss,他直接是静态的时刻

chenkang455 commented 4 months ago

@520jz 你可以把这篇文章理解为TFP(其他重构算法)+NeRF的级联。作者在论文中提到监督时是用仿真脉冲流和真实脉冲流之间做loss,但实际上做了一点简单替换(公式8),变成了直接用TFP作监督(也许是等价的?)。所以你能看到这里直接用的带噪图做监督信号(短TFP)。 整体的训练过程可以理解为:NeRF根据pose重构出清晰图,接着清晰静态图(这里我也不是很理解,为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价)通过仿真器得到仿真spike流,用这个spike流的tfp结果和真实spike流的tfp结果之间做loss。所以这里本质上是训练了一个SNN来模拟清晰图上加噪的过程,这样就可以从带噪图中得到清晰图。

确实(为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价),我觉得应该是像事件相机那样,渲染出两个时刻的脉冲做差,然后将这一段区间的差与真实的spike流做loss才对,应该是按照区间做loss,他直接是静态的时刻

理论上确实应该像事件相机那样,但脉冲的动态仿真过程好像是不可微的,而且显存量会很大,所以这样直接用估计不太行。

520jz commented 4 months ago

@520jz 你可以把这篇文章理解为TFP(其他重构算法)+NeRF的级联。作者在论文中提到监督时是用仿真脉冲流和真实脉冲流之间做loss,但实际上做了一点简单替换(公式8),变成了直接用TFP作监督(也许是等价的?)。所以你能看到这里直接用的带噪图做监督信号(短TFP)。 整体的训练过程可以理解为:NeRF根据pose重构出清晰图,接着清晰静态图(这里我也不是很理解,为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价)通过仿真器得到仿真spike流,用这个spike流的tfp结果和真实spike流的tfp结果之间做loss。所以这里本质上是训练了一个SNN来模拟清晰图上加噪的过程,这样就可以从带噪图中得到清晰图。

确实(为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价),我觉得应该是像事件相机那样,渲染出两个时刻的脉冲做差,然后将这一段区间的差与真实的spike流做loss才对,应该是按照区间做loss,他直接是静态的时刻

理论上确实应该像事件相机那样,但脉冲的动态仿真过程好像是不可微的,而且显存量会很大,所以这样直接用估计不太行。

那他数据集里面的那一帧帧静态的图片是怎么转出来的?难道Spk2img的原理是选择的某一区间的脉冲流合成的那一帧静态的图片?我对脉冲流其实刚刚接触,之前是在弄事件相机

chenkang455 commented 4 months ago

@520jz 你可以把这篇文章理解为TFP(其他重构算法)+NeRF的级联。作者在论文中提到监督时是用仿真脉冲流和真实脉冲流之间做loss,但实际上做了一点简单替换(公式8),变成了直接用TFP作监督(也许是等价的?)。所以你能看到这里直接用的带噪图做监督信号(短TFP)。 整体的训练过程可以理解为:NeRF根据pose重构出清晰图,接着清晰静态图(这里我也不是很理解,为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价)通过仿真器得到仿真spike流,用这个spike流的tfp结果和真实spike流的tfp结果之间做loss。所以这里本质上是训练了一个SNN来模拟清晰图上加噪的过程,这样就可以从带噪图中得到清晰图。

确实(为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价),我觉得应该是像事件相机那样,渲染出两个时刻的脉冲做差,然后将这一段区间的差与真实的spike流做loss才对,应该是按照区间做loss,他直接是静态的时刻

理论上确实应该像事件相机那样,但脉冲的动态仿真过程好像是不可微的,而且显存量会很大,所以这样直接用估计不太行。

那他数据集里面的那一帧帧静态的图片是怎么转出来的?难道Spk2img的原理是选择的某一区间的脉冲流合成的那一帧静态的图片?我对脉冲流其实刚刚接触,之前是在弄事件相机

是的,他那里面一帧帧静态图本质上是对脉冲流做了一个取平均的处理,类似事件流里的单帧voxel,spk2img是一个监督学习算法, 可以直接从spike流得到清晰图。

520jz commented 3 months ago

@520jz 你可以把这篇文章理解为TFP(其他重构算法)+NeRF的级联。作者在论文中提到监督时是用仿真脉冲流和真实脉冲流之间做loss,但实际上做了一点简单替换(公式8),变成了直接用TFP作监督(也许是等价的?)。所以你能看到这里直接用的带噪图做监督信号(短TFP)。 整体的训练过程可以理解为:NeRF根据pose重构出清晰图,接着清晰静态图(这里我也不是很理解,为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价)通过仿真器得到仿真spike流,用这个spike流的tfp结果和真实spike流的tfp结果之间做loss。所以这里本质上是训练了一个SNN来模拟清晰图上加噪的过程,这样就可以从带噪图中得到清晰图。

确实(为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价),我觉得应该是像事件相机那样,渲染出两个时刻的脉冲做差,然后将这一段区间的差与真实的spike流做loss才对,应该是按照区间做loss,他直接是静态的时刻

理论上确实应该像事件相机那样,但脉冲的动态仿真过程好像是不可微的,而且显存量会很大,所以这样直接用估计不太行。

那他数据集里面的那一帧帧静态的图片是怎么转出来的?难道Spk2img的原理是选择的某一区间的脉冲流合成的那一帧静态的图片?我对脉冲流其实刚刚接触,之前是在弄事件相机

是的,他那里面一帧帧静态图本质上是对脉冲流做了一个取平均的处理,类似事件流里的单帧voxel,spk2img是一个监督学习算法, 可以直接从spike流得到清晰图。

大佬,大佬,急救,您知道怎么获取这些可视化的脉冲数据集吗?就各个pose下的,这个作者没有提供可视化的脉冲数据集 image

chenkang455 commented 3 months ago

@520jz 你可以把这篇文章理解为TFP(其他重构算法)+NeRF的级联。作者在论文中提到监督时是用仿真脉冲流和真实脉冲流之间做loss,但实际上做了一点简单替换(公式8),变成了直接用TFP作监督(也许是等价的?)。所以你能看到这里直接用的带噪图做监督信号(短TFP)。

整体的训练过程可以理解为:NeRF根据pose重构出清晰图,接着清晰静态图(这里我也不是很理解,为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价)通过仿真器得到仿真spike流,用这个spike流的tfp结果和真实spike流的tfp结果之间做loss。所以这里本质上是训练了一个SNN来模拟清晰图上加噪的过程,这样就可以从带噪图中得到清晰图。

确实(为什么是静态的,理论上仿真时应该是动态的才可以和输入spike做等价),我觉得应该是像事件相机那样,渲染出两个时刻的脉冲做差,然后将这一段区间的差与真实的spike流做loss才对,应该是按照区间做loss,他直接是静态的时刻

理论上确实应该像事件相机那样,但脉冲的动态仿真过程好像是不可微的,而且显存量会很大,所以这样直接用估计不太行。

那他数据集里面的那一帧帧静态的图片是怎么转出来的?难道Spk2img的原理是选择的某一区间的脉冲流合成的那一帧静态的图片?我对脉冲流其实刚刚接触,之前是在弄事件相机

是的,他那里面一帧帧静态图本质上是对脉冲流做了一个取平均的处理,类似事件流里的单帧voxel,spk2img是一个监督学习算法, 可以直接从spike流得到清晰图。

大佬,大佬,急救,您知道怎么获取这些可视化的脉冲数据集吗?就各个pose下的,这个作者没有提供可视化的脉冲数据集

image

作者没提供也没办法了😂