CN114998402A - 针对脉冲相机的单目深度估计方法及装置 - Google Patents
针对脉冲相机的单目深度估计方法及装置 Download PDFInfo
- Publication number
- CN114998402A CN114998402A CN202210635312.4A CN202210635312A CN114998402A CN 114998402 A CN114998402 A CN 114998402A CN 202210635312 A CN202210635312 A CN 202210635312A CN 114998402 A CN114998402 A CN 114998402A
- Authority
- CN
- China
- Prior art keywords
- pulse
- depth estimation
- camera
- monocular depth
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种针对脉冲相机的单目深度估计方法及装置,方法包括:获取脉冲相机输出的非结构化的连续脉冲流;将所述连续脉冲流输入预设的单目深度估计模型,以使得该单目深度估计模型从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果。本申请能够同时从脉冲相机输出的连续脉冲流中挖掘空间和时间特征,能够有效提高对脉冲相机进行单目深度估计预测过程的可靠性,并能够提高深度估计结果的准确性及有效性,进而能够进一步提高脉冲相机的应用可靠智能化程度。
Description
技术领域
本申请涉及计算机视觉技术领域,尤其涉及针对脉冲相机的单目深度估计方法及装置。
背景技术
传统的基于帧的相机以固定速率工作,通过快照提供频闪同步的图像序列。基于帧的相机中曝光时间窗口的概念限制了它们在一些具有挑战性的场景中的使用,例如高速场景和高动态范围环境,导致运动模糊或曝光过度/不足。与传统相机相比,脉冲相机是一种仿生视觉传感器,具有完全不同的传感方式。脉冲相机传感器上的每个像素独立且持续地捕捉传入的光子,而不是通过快照在曝光间隔中捕捉视觉信号,并且仅在累积的光子达到一定阈值时触发脉冲。因此,脉冲相机可以以非常高的时间分辨率产生连续的脉冲流。被记录下来的时空脉冲流可用于在任何给定时刻重建动态场景。与仅记录每个像素的相对亮度变化的事件相机(也称为动态视觉传感器)不同,脉冲相机记录绝对光强度,提供静态和动态场景信息。得益于全时成像和自由动态范围等优越性能,脉冲相机在自动驾驶、无人机和机器人等领域具有巨大潜力。
深度估计是计算机视觉中的一项基本任务。最先进的深度估计工作更多地集中在基于标准帧的相机。最近,基于事件相机的深度估计取得了重大进展。然而,暂没有关于脉冲相机单目深度估计的研究。由于不同的采样机制,仅记录静止场景的传统图像的现有深度估计模型,无法同时从连续脉冲流中挖掘空间和时间特征,因此并不适用于脉冲相机产生的脉冲流。
发明内容
鉴于此,本申请实施例提供了针对脉冲相机的单目深度估计方法、装置、电子设备及计算机可读存储介质,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的第一个方面提供了一种针对脉冲相机的单目深度估计方法,包括:
获取脉冲相机输出的非结构化的连续脉冲流;
将所述连续脉冲流输入预设的单目深度估计模型,以使得该单目深度估计模型从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果。
在本申请的一些实施例中,还包括:
采用训练数据集对预设的时空Transformer网络模型进行训练,以得到用于从所述训练数据集中的连续脉冲流中挖掘空间和时间特征并输出连续脉冲流对应的深度估计结果的单目深度估计模型。
在本申请的一些实施例中,所述训练数据集为一包含脉冲流和相应真实深度数据的合成脉冲数据集。
在本申请的一些实施例中,还包括:
获取预先采用所述脉冲相机收集的包含有各类场景的真实脉冲序列以形成对应的真实数据集;
采用所述真实数据集对训练得到的所述单目深度估计模型进行泛化性验证。
在本申请的一些实施例中,所述单目深度估计模型包括:脉冲嵌入模块和Transformer网络模型;
所述脉冲嵌入模块用于提取脉冲流的时间及空间特征以得到对应的多个脉冲特征嵌入;
所述Transformer网络模型用于获得各个所述脉冲嵌入的时空特征并对各个所述时空特征进行特征融合,以预测得到所述脉冲流的深度估计结果数据。
在本申请的一些实施例中,所述Transformer网络模型包括:时空Transformer编码器和卷积解码器;
所述时空Transformer编码器用于对各个脉冲嵌入通过多层自注意力机制进行时空特征提取,以得到各个所述脉冲嵌入的时空特征;
所述卷积解码器用于对各个不同尺度的时空特征进行特征融合及上采样,以预测得到所述脉冲流的深度估计结果数据。
在本申请的一些实施例中,所述脉冲嵌入模块包括:时间分区、特征提取层、空间分区及特征合并层,其中,所述时间分区设有多尺度时间窗口;
相对应的,所述多尺度时间窗口用于将输入所述脉冲嵌入模块的脉冲流划分为多个不重叠的块;
所述特征提取层用于提取各个不重叠块的特征数据,该特征数据包括:局部特征和全局特征;
所述空间分区用于将所述特征数据在空间域中进行拆分,得到时空特征数据;
所述特征合并层用于将时空特征数据中的全局特征和局部特征进行合并以得到所述脉冲流对应的多个时空块,并将各个所述时空块确定为待输入所述Transformer网络模型的脉冲嵌入。
在本申请的一些实施例中,所述时空Transformer编码器包括多个阶段,且每个阶段中均包含有多个时空Transformer块,每两个相邻阶段之间设有一个残差连接层;
其中,所述时空Transformer块包括:配备3D移位窗口的多头自注意MSA模块,以及,由多个MLP层组成的前馈神经网络FFN;
每个所述MSA模块和FFN之间均设有一个GELU层,每个所述MSA模块和FFN之前设有一个归一化层LN。
在本申请的一些实施例中,所述卷积解码器包括:多个残差块、多个特征融合层和一个预测头。
本申请第二方面还提供一种针对脉冲相机的单目深度估计装置,包括:
数据获取模块,用于获取脉冲相机输出的非结构化的连续脉冲流;
深度估计模块,用于将所述连续脉冲流输入预设的单目深度估计模型,以使得该单目深度估计模型从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的目标深度估计结果。
本申请第三方面还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的针对脉冲相机的单目深度估计方法。
本申请第三方面还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的针对脉冲相机的单目深度估计方法。
本申请提供的针对脉冲相机的单目深度估计方法,获取脉冲相机输出的非结构化的连续脉冲流;将所述连续脉冲流输入预设的单目深度估计模型,以使得该单目深度估计模型从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果数据;通过设计一种用于从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果的单目深度估计模型,能够有效解决当前没有标准网络可以同时从连续脉冲流中挖掘空间和时间特征的问题,能够有效提高对脉冲相机进行单目深度估计预测过程的可靠性,并能够提高深度估计结果的准确性及有效性,进而能够进一步提高脉冲相机的应用可靠智能化程度。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1是本申请提供的针对脉冲相机的单目深度估计方法的流程示意图。
图2是本申请提供的单目深度估计模型训练的流程示意图。
图3是本申请提供的单目深度估计模型的结构示意图。
图4是本申请提供的单目深度估计模型的具体模型框架示意图。
图5是本申请提供的针对脉冲相机的单目深度估计装置的结构程示意图。
图6是本申请提供的时空变换SST编码器的框架示意图。
图7-1是本申请提供的不同距离范围下的绝对相对误差(Abs Rel.Difference)的比较结果;其中,自下而上的三条的曲线分别代表本申请应用实例的Spike-T、E2Depth和U-Net。
图7-2是本申请提供的不同剪辑距离下的平均深度误差(Mean Depth Error)的比较结果;其中,自下而上的三条的曲线分别代表本申请应用实例的Spike-T、E2Depth和U-Net。
图8是本申请提供的合成数据集“DENSE-spike”的可视化结果。
图9是本申请提供的真实数据集的可视化结果(来自“Outdoor-spike”);其中。(a)预测时间戳处的脉冲帧。(b)重建图像。(c-e)使用U-Net、E2Depth和本申请应用实例的Spike-T预测深度图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
由于当前针对脉冲相机的深度估计存在缺乏统一的脉冲数据架构的问题,即:在二进制和不规则数据结构中,连续脉冲流以非常高的时间分辨率捕获动态场景,当前没有标准网络可以同时从连续脉冲流中挖掘空间和时间特征。因此,本申请提供一种针对脉冲相机的单目深度估计方法的实施例,通过设计一种用于从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果数据的单目深度估计模型,能够有效解决当前没有标准网络可以同时从连续脉冲流中挖掘空间和时间特征的问题,能够有效提高对脉冲相机进行单目深度估计预测过程的可靠性,并能够提高深度估计结果的准确性及有效性,进而能够进一步提高脉冲相机的应用可靠智能化程度。
在本申请的一个或多个实施例中,脉冲相机(spike camera)是一种仿生视觉传感器,在以40,000Hz的采样率捕捉高速动态场景方面显示出巨大潜力。与传统数码相机不同,脉冲相机连续捕捉光子并输出编码时间、位置和光强度的异步二进制脉冲。由于不同的采样机制,现成的基于图像的数码相机算法不适用于脉冲相机产生的脉冲流。因此,为常见的计算机视觉任务开发新颖的脉冲感知算法尤其重要。在本申请中,我们专注于深度估计任务,由于脉冲流的自然属性,例如不规则性、连续性和时空相关性,该任务具有挑战性,并且尚未针对脉冲相机进行探索。
可以理解的是,脉冲摄像头也称为Vidar摄像头,是一种仿生视觉传感器,可模仿灵长类动物视网膜中央凹的采样机制,速度比传统的基于帧的同类产品快1000倍。由于其独特的工作原理,加标相机理论上可以连续记录场景的纹理。鉴于其在交通监控和嫌疑人识别等许多应用中的巨大潜力,已有针对基于脉冲的视觉任务的研究。已有研究人员通过计算脉冲的时间间隔提出了一种高效的脉冲摄像头编码方法;另一些学者构建了一个三层脉冲神经网络SNN来重建自然场景的高质量视觉图像;还有学者通过利用光流来对齐不同时刻的场景,提高了重建图像的平滑度;另有研究人员通过大脑的短期可塑性STP机制引入了图像重建模型。部分研究人员还构建了一个分层CNN架构来重建动态场景,逐步利用脉冲流的时间相关性。目前,还有人提出了一种深度学习管道来估计来自连续脉冲流的光流,其中预测的光流能够减轻运动模糊。先前的工作在开发脉冲相机方面取得了重大进展。然而,基本的视觉任务之一,深度估计还没有被充分研究。因此,本申请的改进重点是如何从连续的脉冲流中有效估计场景的深度。
另外,基于图像和基于事件的单目深度估计的具体说明如下:
基于图像的单目深度估计旨在从单视图图像中生成包含3D结构信息的密集深度图。早期基于图像的深度估计工作主要基于与图像深度线索相关的手工特征,例如纹理密度和对象大小。近年来,基于深度学习的深度估计模型获得了关注。他们通常利用带有跳跃连接的编码器-解码器架构直接从训练数据中学习与深度相关的先验,与手工制作的对应物相比,实现了令人印象深刻的深度估计性能。
最近,基于事件的单目深度估计由于其独特的特性而引起了越来越多的关注,特别是对于低延迟避障和快速路径规划至关重要。已有研究人员开发了一个统一的对比度最大化框架来解决几个基于事件的视觉问题,例如深度估计和光流估计,能够通过在图像平面上找到与基于事件的数据最佳对齐的点轨迹。还有人以离散体积的形式提出了适当的事件表示,并利用编码器-解码器机制来整合来自事件流的多个线索。在现有方式中还可以利用循环卷积神经网络通过利用事件流中呈现的时间一致性来学习单眼深度。还有学者提出了一种递归异步多模态网络,通过结合事件和帧来估计单目深度,该网络推广了传统的RNN,以从多个传感器学习基于异步事件的数据。在本申请中,与更加关注运动边缘的基于事件的相机不同,脉冲相机可以捕捉静止和移动的物体。因此,本申请需要以与基于事件的对应物不同的方式研究基于脉冲的视觉问题。
具体通过下述实施例分别进行详细说明。
(一)针对脉冲相机的单目深度估计方法的实施例
本申请实施例提供一种针对脉冲相机的单目深度估计方法,参见图1,所述针对脉冲相机的单目深度估计方法具体包含有如下内容:
步骤100:获取脉冲相机输出的非结构化的连续脉冲流。
可以理解的是,受灵长类动物视网膜中央凹采样机制的启发,脉冲相机记录具有时空特征的强度信息。它以脉冲格式输出二进制流,仅用0或1表示数据。脉冲相机主要由三个部件组成,感光器、蓄电池和比较器。具体而言,感光像素阵列在空间上排列在脉冲相机的感光器上,连续捕获光子。其次,蓄电池持续将光信号转换为电信号,以提高每个单元的电压。比较器检测累积电压是否达到调度电压阈值θ。当达到阈值时,触发脉冲,电压将重置为预设值。为了描述脉冲生成机制,一个像素上的过程可以表述为公式(1):
其中I(t)描述了光强度,ti和ti-1分别表示第i个和第(i-1)个脉冲的触发时间。α为光电转换率。由于电路技术的限制,输出电路中的单元在固定间隔Δt=25us内周期性地将脉冲读出为离散时间信号s(x,y,n)。如果空间坐标(x,y)处的像素在时间t触发脉冲,则将读出脉冲s(x,y,n)=1(n=1,2,...),其中(n-1)Δt<t≤nΔt。否则读取s(x,y,n)=0。传感器使用高速轮询在每个离散时间戳n处生成大小为H×W的脉冲帧。在固定的时间间隔Δt·T内,相机会产生一个二进制脉冲流大小为H×W×T。
步骤200:将所述连续脉冲流输入预设的单目深度估计模型,以使得该单目深度估计模型从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果。
在步骤200中,预设的单目深度估计模型可以为在步骤100之前训练或更新得到的单目深度估计模型,也可以为执行步骤100和步骤200的装置自其他服务器或数据库等直接调取的单目深度估计模型,例如,在线模型应用过程和离线模型训练过程在不同的服务器中进行,具体可以根据实际应用情形进行设置。
可以理解的是,步骤200中提及的单目深度估计模型可以泛指能够从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的机器学习模型,优选基于Transformer网络改进而得的模型。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计方法,通过设计一种用于从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果数据的单目深度估计模型,能够有效解决当前没有标准网络可以同时从连续脉冲流中挖掘空间和时间特征的问题,能够有效提高对脉冲相机进行单目深度估计预测过程的可靠性,并能够提高深度估计结果的准确性及有效性,进而能够进一步提高脉冲相机的应用可靠智能化程度。
为了进一步从所述连续脉冲流中挖掘空间和时间特征,在本申请实施例提供的一种针对脉冲相机的单目深度估计方法中,参见图2,所述针对脉冲相机的单目深度估计方法中的步骤100之前还具体包含有如下内容:
步骤010:采用训练数据集对预设的时空Transformer网络模型进行训练,以得到用于从所述训练数据集中的连续脉冲流中挖掘空间和时间特征并输出连续脉冲流对应的深度估计结果的单目深度估计模型。
具体来说,基于自注意力的模型最近已成为自然语言处理(NLP)中的主导骨干架构。它还具有显着的优势,包括大规模并行计算、长距离特性和最小的归纳偏差。对于密集预测任务,Transformer在每个阶段都有一个全局感受野,可以在恒定且相对较高的分辨率下工作。这些有吸引力的特性可以自然地导致细粒度和全局连贯的密集预测。基于Transformer的网络已被深入研究以进行密集预测。已有人应用ViT作为编码器主干来估计单目深度。与CNN主干相比,它表明由于Transformer的全局感受野,可以学习到更连贯的预测。还有人在解码器中额外使用了ResNet投影层和注意门来诱导CNN的空间局部性以进行单目深度估计。另有学者利用自注意力块来探索一般上下文信息,并应用离散视差来规范训练过程。还有学者使用视觉转换器研究了自我监督的单目深度估计。结果表明,与基于CNN的架构相比,Transformer实现了可比的性能,同时更加健壮和通用。NLP和图像任务都证明了Transformer的结构优越性。以前的密集预测工作也证明了Transformer的深度估计能力。本申请则是设计了一个时空Transformer网络,用于从连续和非结构化脉冲流中进行单目深度估计。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计方法,与基于CNN的架构相比,Transformer实现了可比的性能,同时更加健壮和通用。NLP和图像任务都证明了Transformer的结构优越性。以前的密集预测工作也证明了Transformer的深度估计能力。本申请则是设计了一个时空Transformer网络,用于从连续和非结构化脉冲流中进行单目深度估计;通过采用预先涉及的时空Transformer网络模型,能够保证训练得到的单目深度估计模型的深度估计能力,进而能够进一步提高应用单目深度估计模型进行针对脉冲相机的单目深度估计的可靠性及有效性。
考虑到现有技术中还存在缺乏脉冲深度数据集的问题,即:由于校准成像窗口并同步脉冲和深度相机之间的时间戳均相当复杂,因此当前没有包含脉冲流和相应地面实况深度的注释良好的数据集;本申请考虑收集并生成一个合成数据集,具体说明如下。
为了进一步单目深度估计模型的训练可靠性及应用有效性,在本申请实施例提供的一种针对脉冲相机的单目深度估计方法中,所述针对脉冲相机的单目深度估计方法中的所述训练数据集为一包含脉冲流和相应真实深度数据的合成脉冲数据集。
以有监督的方式训练单目深度估计模型,这需要一个以脉冲流形式的大规模训练数据集和相应的同步深度图。然而,构建一个由脉冲蒸汽、灰度图像和相应的深度图组成的真实数据集是很复杂的。此外,校准成像窗口并在脉冲相机、基于帧的相机和深度相机之间同步时间戳是相当复杂的。出于这个原因,我们构建了一个合成脉冲数据集。
具体来说,为了释放脉冲相机在高速深度估计中的潜力,本申请首先收集并生成一个合成数据集,可以表示为“DENSE-spike”,其中包括脉冲流和相应的地面实况深度图。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计方法,能够有效解决由于校准成像窗口并同步脉冲和深度相机之间的时间戳均相当复杂,因此当前没有包含脉冲流和相应地面实况深度的注释良好的数据集的问题,进而能够有效提高单目深度估计模型的训练可靠性及应用有效性。
为了有效验证训练得到的所述单目深度估计模型的泛化性,在本申请实施例提供的一种针对脉冲相机的单目深度估计方法中,参见图2,所述针对脉冲相机的单目深度估计方法中的步骤010和步骤100直接还具体包含有如下内容:
步骤020:获取预先采用所述脉冲相机收集的包含有各类场景的真实脉冲序列以形成对应的真实数据集;
步骤030:采用所述真实数据集对训练得到的所述单目深度估计模型进行泛化性验证。
具体来说,为了验证所提出模型的泛化性,我们使用脉冲相机进一步拍摄了一些真实脉冲序列。脉冲相机的空间分辨率为400×250,时间分辨率比标准的基于帧的相机高1000倍左右。真实捕获的脉冲流记录了城市街道和道路场景。我们将此真实数据集命名为“Outdoor-Spike”,由于缺乏相应的真实深度数据,因此仅用于推理测试。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计方法,通过采用脉冲相机拍摄的包含有各类场景的真实脉冲序列形成对应的真实数据集,能够有效验证训练得到的所述单目深度估计模型的泛化性,进而能够进一步验证所述单目深度估计模型的应用可靠性及有效性。
为了进一步有效实现同时从连续脉冲流中提取脉冲流的时间及空间特征,在本申请实施例提供的一种针对脉冲相机的单目深度估计方法中,参见图3,所述单目深度估计模型包括:脉冲嵌入模块和Transformer网络模型;
所述脉冲嵌入模块用于提取脉冲流的时间及空间特征以得到对应的多个脉冲嵌入;
所述Transformer网络模型用于获得各个所述脉冲嵌入的时空特征并对各个所述时空特征进行特征融合,以预测得到所述脉冲流的深度估计结果数据。
可以理解的是,所述单目深度估计模型和所述时空Transformer网络模型的网络架构相同,二者为针对同一网络架构进行模型训练前后的两种形态,且可以写为:Spike-T。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计方法,通过采用脉冲嵌入模块,能够有效实现同时从连续脉冲流中提取脉冲流的时间及空间特征,进而能够进一步提高对脉冲相机进行单目深度估计预测过程的可靠性,并能够提高深度估计结果的准确性及有效性。
为了进一步提高学习脉冲嵌入的时空特征以及将来自编码器的分层特征逐渐融合以进行最终深度估计的可靠性及有效性,在本申请实施例提供的一种针对脉冲相机的单目深度估计方法中,参见图3,所述Transformer网络模型包括:时空Transformer(变换)编码器和卷积解码器;
所述时空Transformer编码器用于对各个脉冲嵌入通过多层自注意力机制进行时空特征提取,以得到各个所述脉冲嵌入的时空特征;
可以理解的是,本申请的一个或多个实施例中提及的脉冲嵌入(spikeembedding)是指脉冲数据在高维空间的投影。
所述卷积解码器用于对各个不同尺度的时空特征进行特征融合及上采样,以预测得到所述脉冲流的深度估计结果数据。
具体来说,首先将输入脉冲流输入脉冲嵌入模块,获得若干脉冲嵌入特征,这些脉冲嵌入特征保留了输入Transformer所需的时空(时间和空间)特征。随后,我们使用了若干STT块来学习脉冲嵌入的时空特征,使用自注意力机制,使得来自编码器的分层特征逐渐融合以进行最终深度估计。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计方法,通过采用时空Transformer(STT)编码器及基于卷积CNN的解码器,能够在有效维护具有分层结构的整体编码器-解码器架构的基础上,进一步提高学习脉冲嵌入的时空特征以及将来自编码器的分层特征逐层融合以进行最终深度估计的可靠性及有效性,进而能够进一步提高对脉冲相机进行单目深度估计预测过程的可靠性,并能够提高深度估计结果的准确性及有效性。
为了有效维护更多的时间信息,并进一步实现同时从连续脉冲流中提取脉冲流的时间及空间特征的可靠性及有效性,在本申请实施例提供的一种针对脉冲相机的单目深度估计方法中,所述脉冲嵌入模块包括:时间分区、特征提取层、空间分区及特征合并层,其中,所述时间分区设有多尺度时间窗口;
相对应的,所述多尺度时间窗口用于将输入所述脉冲嵌入模块的脉冲流划分为多个不重叠的块;
所述特征提取层用于提取各个不重叠块的特征数据,该特征数据包括:局部特征和全局特征;
所述空间分区用于将所述特征数据在空间域中进行拆分,得到时空特征数据;
所述特征合并层用于将时空特征数据中的全局特征和局部特征进行合并以得到所述脉冲流对应的多个时空块,并将各个所述时空块确定为待输入所述Transformer网络模型的脉冲嵌入。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计方法,通过设置时间分区、特征提取层、空间分区及特征合并层,并在时间分区设有多尺度时间窗口,能够有效利用更多的时间信息,并进一步实现同时从连续脉冲流中提取脉冲流的时间及空间特征的可靠性及有效性。
为了保证单目深度估计模型的核心性能,在本申请实施例提供的一种针对脉冲相机的单目深度估计方法中,所述时空Transformer编码器包括多个阶段,且每个阶段中均包含有多个时空Transformer块,每两个相邻阶段之间设有一个残差连接层;
其中,所述时空Transformer块(STT块)包括:配备3D移位窗口的多头自注意MSA模块,以及由多个MLP层组成的前馈神经网络FFN;
每个所述MSA模块和FFN之间均设有一个GELU层,每个所述MSA模块和FFN之前设有一个归一化层LN。
可以理解的是,STT块是Spike-T的关键组件。每个STT块由配备3D移位窗口的多头自注意MSA模块组成,然后是由2层MLP组成的前馈网络FFN。在每个MSA模块和FFN之间,使用一个GELU层,并且在每个MSA和FFN之前使用一个归一化层LN。每个模块都应用一个残差连接。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计方法,通过设计一种以时空Transformer块为主的时空Transformer编码器,能够有效保证单目深度估计模型的核心性能,进而能够进一步保证对脉冲相机进行单目深度估计预测过程的可靠性,并能够提高深度估计结果的准确性及有效性。
为了进一步保证对脉冲相机进行单目深度估计预测过程的可靠性,在本申请实施例提供的一种针对脉冲相机的单目深度估计方法中,所述卷积解码器包括:多个残差块、多个特征融合层和一个预测头。
具体来说,解码器可以由两个残差块、三个特征融合层和一个预测头组成。来自每个编码器阶段的输出特征图大小为Hi×Wi×T×Ci,沿时间轴连接,将大小重塑为Hi×Wi×TCi。之后,使用卷积层将重构后的特征投影回Hi×Wi×Ci。最后一个特征图,大小为首先通过两个卷积核大小为3、步长为1的残差块。随后,前一层的特征通过双线性插值操作进行上采样,并通过特征融合层与本层编码后的特征融合。由一个卷积层组成的预测头最终用于生成H×W×1深度图。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计方法,通过设计一种基于卷积层的解码器,能够进一步保证对脉冲相机进行单目深度估计预测过程的可靠性,并能够提高深度估计结果的准确性及有效性。
(二)单目深度估计模型训练方法的实施例
本申请实施例提供一种单目深度估计模型训练方法,参见图2,所述单目深度估计模型训练方法如前述步骤010所示,或者如步骤010至030所示,本申请实施例提供的针对脉冲相机的单目深度估计方法,通过训练一个时空Transformer网络,用于从连续和非结构化脉冲流中进行单目深度估计;能够保证训练得到的单目深度估计模型的深度估计能力,进而能够进一步提高应用单目深度估计模型进行针对脉冲相机的单目深度估计的可靠性及有效性。
本申请提供的单目深度估计模型训练方法的实施例具体可以参见上述针对脉冲相机的单目深度估计方法的实施例中的除步骤100和步骤200之外的处理流程,其功能在此不再赘述,可以参照上述针对脉冲相机的单目深度估计方法的实施例中的除步骤100和步骤200之外的详细描述。
(三)单目深度估计模型的实施例
本申请实施例提供一种单目深度估计模型,参见图3和图4,该单目深度估计模型基于上述单目深度估计模型训练方法训练得到,可以参见上述针对脉冲相机的单目深度估计方法的实施例中的除步骤100和步骤200之外的处理流程,其功能在此不再赘述,可以参照上述针对脉冲相机的单目深度估计方法的实施例中的除步骤100和步骤200之外的详细描述。
(四)针对脉冲相机的单目深度估计装置的实施例
从软件层面来说,本申请还提供一种用于执行所述针对脉冲相机的单目深度估计方法中全部或部分内的针对脉冲相机的单目深度估计装置,参见图5,所述针对脉冲相机的单目深度估计装置具体包含有如下内容:
数据获取模块10,用于获取脉冲相机输出的非结构化的连续脉冲流;
深度估计模块20,用于将所述连续脉冲流输入预设的单目深度估计模型,以使得该单目深度估计模型从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果。
本申请提供的针对脉冲相机的单目深度估计装置的实施例具体可以用于执行上述实施例中的针对脉冲相机的单目深度估计方法的实施例的处理流程,其功能在此不再赘述,可以参照上述针对脉冲相机的单目深度估计方法实施例的详细描述。
从上述描述可知,本申请实施例提供的针对脉冲相机的单目深度估计装置,通过设计一种用于从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果数据的单目深度估计模型,能够有效解决当前没有标准网络可以同时从连续脉冲流中挖掘空间和时间特征的问题,能够有效提高对脉冲相机进行单目深度估计预测过程的可靠性,并能够提高深度估计结果的准确性及有效性,进而能够进一步提高脉冲相机的应用可靠智能化程度。
所述针对脉冲相机的单目深度估计装置进行针对脉冲相机的单目深度估计的部分可以在服务器中执行,而在另一种实际应用情形中,也可以所有的操作都在客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于针对脉冲相机的单目深度估计的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备端之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
(五)电子设备的实施例
本申请实施例还提供了一种计算机设备(也即电子设备),该计算机设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的针对脉冲相机的单目深度估计方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。所述计算机设备与针对脉冲相机的单目深度估计装置之间通信连接,以自所述无线多媒体传感器网络中的传感器接收实时运动数据,并自所述视频采集装置接收原始视频序列。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的针对脉冲相机的单目深度估计对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的针对脉冲相机的单目深度估计。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的针对脉冲相机的单目深度估计方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
(六)计算机可读存储介质的实施例
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述针对脉冲相机的单目深度估计方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
(七)应用实例
为了进一步说明本方案,本申请还提供一种针对脉冲相机的单目深度估计方法的具体应用实例,本申请应用实例提出了Spike Transformer(Spike-T),这是一种用于学习脉冲数据和从连续脉冲流估计单目深度的新范式。为了将脉冲数据拟合到Transformer,本申请应用实例提出了一个输入脉冲嵌入模块,该模块配备了一个时空分区模块,以保持来自空间和时间域的脉冲特征。此外,本申请应用实例构建了两个基于脉冲的深度数据集。一个是仿真合成的,另一个是由真正的脉冲相机捕获的。实验结果表明,所提出的Spike-T可以有利地预测场景的深度并始终优于其直接竞争对手。更重要的是,Spike-T学习到的表征可以很好地迁移到从未见过的真实脉冲数据上,表明Spike-T可以推广到现实世界的场景。据本申请应用实例所知,这是第一次直接从脉冲流进行深度估计成为可能。
受到利用Transformer对视频的时空相关性进行建模的在先研究的启发,首先尝试探索Transformer从不规则脉冲数据中学习时空特征的可能性。尽管Transformer已成功应用于NLP、图像和点云等处理,但在针对二进制脉冲数据时,当前采用的方法是将脉冲流转换为由连续强度帧组成的视频,以便可以使用成熟的基于图像的算法来学习脉冲流,然而,随着时间分辨率的增加,这种从脉冲到帧的转换会增加计算成本,并且也可能丢失脉冲流的部分时间属性。
基于此,这项工作的重点是从原始脉冲流中进行密集的单目深度估计(MDE)。主要存在两个关键点:
1)如何从二进制、不规则和连续的脉冲流中挖掘时空特征;
2)如何在非结构化脉冲数据上充分利用Transformer。
基于此,本申请应用实例提出了一种名为Spike Transformer(Spike-T)的新方案来挖掘脉冲的空间和时间特征,并从连续脉冲流中估计深度。实现仅使用脉冲流来进行深度估计。为了释放脉冲相机在运动场景深度估计中的潜力,本申请应用实例首先收集并生成一个合成数据集,可以表示为“DENSE-spike”,其中包括脉冲流和相应的真实深度图。并使用脉冲相机进一步收集一个可以名为“Outdoor-spike”的真实数据集,其中包括交通道路和城市街道的各种场景。
实验结果表明,所提出的Spike-T在本申请应用实例的合成数据集上表现良好,并且可以可靠地预测真实数据上的深度图。总之,本申请应用实例主要贡献包括:
–首次致力于从连续脉冲流中进行单目深度估计。首先开发了一个合成的和一个真实捕获的基于脉冲的深度数据集。
–提出了Spike Transformer(Spike-T),它采用时空Transformer架构来学习非结构化的脉冲数据,挖掘脉冲流的时空特征。
–为了将脉冲数据拟合到Transformer,本申请应用实例提出了一个输入脉冲嵌入,该嵌入配备了时空分区模块,以保持来自空间和时间域的特征。
-对合成数据集的定性和定量评估表明,本申请应用实例所提出的Spike-T可靠地预测了场景的深度,并且Spike-T学习的表征很好地转移到了看不见的真实数据上,表明了所提出的模型对真实场景的泛化。
参见图4,本申请应用实例提出的Spike-T模型可以是一个U形网络,由三个组件组成:
(a)脉冲嵌入模块;
(b)时空变换器(STT)编码器(Spatial-Temporal Transformer Block);
(c)卷积解码器。
本申请应用实例首先通过多尺度时间窗口将输入脉冲流划分为几个不重叠的块。然后,使用空间分区层和局部/全局特征提取器(Feature Extractor,FE)来获得一系列脉冲嵌入。本申请应用实例的编码器由几个STT块构建,它实现了沿时间、高度和宽度轴的注意力机制。解码器包括多个特征融合层,其中分层特征逐渐融合,最后用于估计深度图。具体说明如下:
1、用于单目深度估计的Spike-T
脉冲相机在每个像素上独立且异步的输出脉冲。为简单起见,本申请应用实例使用S∈{0,1}H×W×T表示一个脉冲流,并使用D∈RH×W表示一次轮询的深度图。脉冲相机的单目深度估计的目的是从连续的二进制脉冲流S中预测原始深度图D。为此,本申请应用实例提出了用于单目深度估计的Spike Transformer(Spike-T)。整个框架包括三个组件:(a)脉冲嵌入模块,(b)时空变换器(STT)编码器,和(c)基于CNN的解码器。该框架如图4所示,它维护了具有分层结构的整体编码器-解码器架构。具体来说,首先将脉冲流输入脉冲嵌入模块,获得若干脉冲嵌入特征块,这些脉冲嵌入特征块保留了Transformer输入的时空(时间和空间)特征。随后,本申请应用实例使用了若干STT块利用自适应注意力机制来学习脉冲嵌入的时空特征,最后使用基于CNN的解码器使来自编码器的分层特征逐渐融合以进行最终深度估计。
(1)脉冲嵌入
具体来说,对于每个原始输入S,本申请应用实例首先使用长度为Tn的滑动窗口将其沿时间轴划分为n个不重叠的脉冲块。每个形状为的脉冲块在间隔T中携带不同的局部时间特征。然后使用由四个残差块组成的轻量级特征提取器FE将每个块投影到大小为H×W×C的特征图上。理论上,时间窗的长度可以设置为不超过T的任意正整数。不同的时间尺度窗口携带不同尺度的时间信息。因此,本申请应用实例可以利用多个时间尺度窗口,例如来捕获多级时间特征。
本申请应用实例将n设置为4。来自时间窗口的特征可以被认为是的局部特征。随后,本申请应用实例将n设置为1,来自时间窗口的特征可以看作是全局特征。类似地,可以使用其他时间窗口。在本申请应用实例的设置中,仅考虑局部和全局特征。在这种情况下,4个脉冲块分别通过共享的局部FE模块,而全长脉冲流被馈送到全局FE模块。之后,本申请应用实例将FE模块中的每个特征图在空间域中拆分为块(块大小为2×2)。通过合并局部和全局FE特征,本申请应用实例可以获得H2×W2×4时间鲁棒特征图。因此,可以将形状为H×W×T的输入脉冲流划分为个时空(ST)块。本申请应用实例将每个大小为的ST块视为一个令牌。遵循Transformer在NLP和基于图像的任务中的实践,本申请应用实例将这些标记的特征称为脉冲嵌入,因此可以作为Transformer网络的输入。
(2)时空Transformer编码器(可以称之为时空Transformer编码器或STT编码器)
时空Transformer编码器的整体架构如图6所示,它改编自SwinTransformer架构。脉冲嵌入模块的特征被输入到基于Transformer的编码器中,该编码器包括三个阶段。每个阶段分别由2个、2个和6个STT块组成。在两个相邻阶段之间增加了一个残差连接层。
空间分区合并:为了保留更多的局部时间特征,在之前的工作之后,本申请应用实例只在空间域中实现下采样操作,保持时间域中的Token数量。更具体地说,来自每个2×2空间相邻块的特征首先沿C通道连接,形成具有4C维度的合并特征图。然后使用线性层将这样的4C维特征图投影到2C维特征图。因此,在每个阶段之后,沿C通道的特征尺寸将加倍。
STT块:Spike-T的关键组件是STT块。每个STT块由配备3D移位窗口的多头自注意MSA模块组成,然后是由2层MLP组成的前馈网络FFN。在每个MSA模块和FFN之间,使用一个GELU层,并且在每个MSA和FFN之前使用一个归一化层LN。每个模块都应用一个残差连接。
特别是,对于一个Transformer编码器阶段的两个连续STT块,前一个块中的MSA模块作用于Tx×Hx×Wx时空令牌。然后使用大小为Wt×Wh×Ww的3D窗口将这些令牌均匀地划分为非重叠窗口。在本申请应用实例的实现中,Tx设置为与时间分区数(n=4)相同。Hx和Wx是当前空间令牌大小。3D窗口大小设置为2×7×7。对于后一个SST块中的MSA模块,本申请应用实例将窗口沿时间、高度和宽度轴从前一个STT块移动(1,3,3)个标记,然后执行窗口之间的注意。本申请应用实例将第一个基于窗口的MSA称为3DW-MSA,它使用常规的窗口分区配置。第二个基于窗口的MSA表示为3DSW-MSA,它应用了移位的窗口分区机制。上述两个连续的SST块可以形式化为A。
其中和zm分别表示3D(S)W-MSA模块和FFN模块在一个阶段中块m的输出特征。对于每个阶段的STT块,本申请应用实例分别使用3、6和12个注意力头。这样,来自每个Transformer编码器阶段的特征可以形成一个元组,其大小分别为 和因此可以用于下游基于脉冲的视觉任务。
(3)深度估计解码器
本申请应用实例的解码器由两个残差块、三个特征融合层和一个预测头组成。来自每个编码器阶段的输出特征图大小为Hi×Wi×T×Ci,沿时间轴连接,将大小重塑为Hi×Wi×TCi。之后,使用卷积层将重构后的特征投影回Hi×Wi×Ci。最后一个特征图,大小为首先通过两个卷积核大小为3、步长为1的残差块。随后,前一层的特征通过双线性插值操作进行上采样,并通过特征融合层与本层编码后的特征融合。由一个卷积层组成的预测头最终用于生成H×W×1深度图。
(4)损失函数
2、实验
(1)数据集
合成数据集:本申请应用实例以有监督的方式训练本申请应用实例的Spike-T,这需要一个以脉冲流形式的大规模训练数据集和相应的同步深度图。然而,构建一个由脉冲数据、灰度图像和相应的深度图组成的真实数据集是很复杂的。此外,校准成像窗口并在脉冲相机、基于帧的相机和深度相机之间同步时间戳是相当复杂的。出于这个原因,本申请应用实例构建了一个合成脉冲数据集。具体来说,本申请应用实例首先选择中提出的名为DENSE的数据集作为本申请应用实例的数据库。DENSE数据集由CARLA模拟器生成,包括在各种天气和光照条件下30FPS的清晰深度图和强度帧。为了获得具有非常高时间分辨率的连续脉冲流,本申请应用实例采用视频插值方法在相邻的30-FPS帧之间生成中间RGB帧。借助RGB帧之间的绝对强度信息,每个传感器像素可以通过第3节中介绍的脉冲生成机制连续累积光强度,产生具有高时间分辨率(128×30=3840FPS)的脉冲流,是视频帧时间分辨率的128倍。DENSE数据集的“spike”版本(即DENSE-spike)包含七个序列,五个用于训练,两个用于验证,一个用于测试。每个序列由999个样本组成,每个样本是一个RGB图像、一个深度图和一个脉冲流的元组。每个脉冲流在两个连续图像之间进行模拟,生成一个包含128个脉冲帧(大小为346×260)的二进制序列,描述动态场景的连续过程。
真实数据集:为了验证所提出模型的泛化性,本申请应用实例使用脉冲相机进一步收集了一些自然脉冲序列。脉冲相机的空间分辨率为400×250,时间分辨率比标准的基于帧的相机快1000倍左右。真实捕获的脉冲流记录了城市街道和道路的场景。本申请应用实例将此真实数据集表示为“Outdoor-Spike”,由于缺乏相应的真实实况深度,因此仅用于测试。在本申请应用实例的“Outdoor-Spike”数据集中,从第一视角在驾驶汽车中捕获了33个户外场景序列。每个序列包含20000个脉冲帧。
(2)实施细节
深度表示:本申请应用实例将原始深度Dk,abs转换为对数深度图Dk,可以计算为:
其中,Dmax是数据集中的最大深度,β是根据经验设置的超参数,以使最小深度接近0。对于本申请应用实例的合成数据集“DENSE-spike”,本申请应用实例设置β=5.7,Dmax=1000m。
训练设置:本申请应用实例在PyTorch中实现了网络。在训练中,本申请应用实例采用ADAM优化器来优化网络,并将初始学习率λ设置为0.0003。在训练期间,本申请应用实例的模型在2个NVIDIAA100-SXM4-80GB的GPU上训练了200轮,批量大小为16。此外,本申请应用实例使用指数学习率调度程序在第100轮后调整学习率,γ设置为0.5。
度量衡:为了对所提出的模型进行全面评估,本申请应用实例引入了几个重要的指标,包括绝对相对误差(Abs Rel.)、平方相对误差(Sq Rel.)、平均绝对深度误差(MAE)、均方根对数误差(RMSE log)和准确度指标(Acc.δ)。
(3)实验结果
本申请应用实例评估了本申请应用实例的方法在合成数据集和真实捕获的数据集上的性能,并将本申请应用实例的Spike-T与两种模型架构U-Net和E2Depth进行了比较。三个模型都在合成的“DENSE-spike”数据集上进行了训练。为了验证本申请应用实例的Spike-T的泛化性和可迁移性,本申请应用实例进一步利用真实数据集“Outdoor-Spike”进行测试,并给出定性的可视化结果。最后,介绍了Spike-T的消融研究实验。
A.定性和定量比较。本申请应用实例首先将本申请应用实例的Spike-T与两个密集的预测网络进行比较,即U-Net和E2Depth。他们和本申请应用实例的Spike-T都遵循多尺度融合方式的编码器-解码器架构,但使用不同的编码机制。特别是,U-Net使用2D卷积层作为其编码器,并专注于空间特征提取,而E2Depth应用结合CNN和LSTM的ConvLSTM层来捕获空间和时间特征。相比之下,本申请应用实例的Spike-T采用基于转换器的块来同时学习时空特征。因此,U-Net和E2Depth都可以被视为本申请应用实例的直接竞争对手。
表1报告了对“Dense-spike”数据集的定量比较。在验证集和测试集上,所提出的Spike-T在所有指标上始终优于其他两种方法。此外,本申请应用实例的方法在Abs Rel.的指标上取得了显着的改进,这是深度估计任务中最有说服力的指标。这三种方法的主要区别在于编码器架构。这些实验结果表明,本申请应用实例的带有基于Transformer的编码器的Spike-T在从不规则的连续脉冲流中捕获时空特征方面更有效。
表1为DENSE-spike数据集与U-Net和E2Depth的定量比较。本申请应用实例展示了验证集和测试集的结果。“↓”表示越低越好,“↑”表示越高越好。
表1
本申请应用实例还在10米,20米,30米,80米,250米,500米的深度评估本申请应用实例的方法。图7-1和图7-2示出了绝对的相对误差和平均深度误差如何相对于验证序列的深度改变。结果表明,本申请应用实例的方法在所有距离处执行更精确的深度估计,尤其是在较大的距离处。
定性比较如图8所示。有关清晰的比较,本申请应用实例将一些青色盒标记在细粒度的物体上。正如本申请应用实例所看到的更多细节,包括微小的结构,锐利的边缘和轮廓,可以通过本申请应用实例的脉冲-T估算。定量和定性结果表明,本申请应用实例的方法更适合于由脉冲相机产生的连续脉冲流,并且可以从空间和时间域中学习有效和鲁棒特征。
B.对真实世界数据集的评估。本申请应用实例通过在合成数据集上训练网络并在真实数据集“Outdoor-Spike”上进行测试来评估本申请应用实例的方法。这是一个更具挑战性的数据集,它是从具有来自现实世界的各种运动和噪音的户外场景中捕获的。图9显示了与基线U-Net和E2Depth相比具有真实脉冲、灰度图像和预测深度的一些示例。可视化结果验证了在现实场景中实现了可接受的深度估计结果。
从图9的(c)可以看出,U-Net和E2Depth预测的深度图包括模糊伪影并丢失一些细节,导致前景和背景之间的模糊。相比之下,Spike-T预测的深度图更好,具有更多的轮廓细节,可以提供更精确的深度变化。总体而言,尽管合成数据和真实数据之间存在领域差距,但本申请应用实例的Spike-T可以合理地预测真实场景的深度,表明模型对真实世界场景的可迁移性。
(4)消融研究
A.多尺度时间窗口的影响。本申请应用实例在脉冲嵌入阶段引入了一个多尺度时间窗口,以保留更多时间信息。为了验证其有效性,本申请应用实例实施了三个消融研究,分别称为“全局时间”、“局部时间”和“多尺度时间”。具体来说,“全局时间”是指仅具有全局特征(时间分区数n=1)的特征嵌入,它更关注空间特征。“Local Temporal”表示仅使用局部特征(n=4)的特征嵌入,而“Multi-scale Temporal”表示来自局部(n=4)和全局(n=1)特征的特征嵌入。比较结果如表2所示的不同时间窗机制的消融研究。在最关键的度量AbsRel.上,仅使用“Local Temporal”的脉冲嵌入优于仅使用“Global Temporal”的嵌入,这表明局部特征中涉及的时空相关性比全局部分中包含的时空相关性更能提供信息。此外,结合局部和全局特征的多尺度时间窗口优于上述两种设置。它表明,通过多尺度时间窗口机制,可以从非结构化和连续的脉冲流中学习更多的时空特征。
表2
B.S-T补丁分区的效果。标准Video Swin Transformer中的块划分嵌入操作是通过3D卷积层实现的。它将原始输入分成几个3D块。本申请应用实例对块划分嵌入方式进行了消融研究,通过将脉冲嵌入模块替换为Conv3D层,将本申请应用实例的S-T分区与标准的基于Conv3D的分区进行比较。定量结果列于表3所示的不同块划分嵌入方式的消融结果中。本申请应用实例的S-T块划分嵌入方法在所有指标上都表现更好,这表明S-T分区更适合从脉冲流中提取特征。
表3
综上所述,本申请应用实例提出了Spike Transformer用于脉冲相机的单目深度估计。为了更好地将Transformer应用于脉冲数据,首先提出了一种有效的脉冲表示,称为脉冲嵌入。然后采用修改后的Swin Transformer架构来学习时空脉冲特征。
此外,构建了两个基于脉冲的深度数据集。在合成数据集和真实数据集上的实验表明,本申请应用实例的Spike-T可以可靠地预测深度图并表现出优于其直接竞争对手的优势。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种针对脉冲相机的单目深度估计方法,其特征在于,包括:
获取脉冲相机输出的非结构化的连续脉冲流;
将所述连续脉冲流输入预设的单目深度估计模型,以使得该单目深度估计模型从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的深度估计结果。
2.根据权利要求1所述的针对脉冲相机的单目深度估计方法,其特征在于,还包括:
采用训练数据集对预设的时空Transformer网络模型进行训练,以得到用于从所述训练数据集中的连续脉冲流中挖掘空间和时间特征并输出连续脉冲流对应的深度估计结果的单目深度估计模型。
3.根据权利要求2所述的针对脉冲相机的单目深度估计方法,其特征在于,所述训练数据集为一包含脉冲流和相应真实深度数据的合成脉冲数据集。
4.根据权利要求2所述的针对脉冲相机的单目深度估计方法,其特征在于,还包括:
获取预先采用所述脉冲相机收集的包含有各类场景的真实脉冲序列以形成对应的真实数据集;
采用所述真实数据集对训练得到的所述单目深度估计模型进行泛化性验证。
5.根据权利要求1所述的针对脉冲相机的单目深度估计方法,其特征在于,所述单目深度估计模型包括:脉冲嵌入模块和Transformer网络模型;
所述脉冲嵌入模块用于提取脉冲流的时间及空间特征以得到对应的多个脉冲特征嵌入;
所述Transformer网络模型用于获得各个脉冲嵌入的时空特征并对各个所述时空特征进行特征融合,以预测得到所述脉冲流的深度估计结果数据。
6.根据权利要求5所述的针对脉冲相机的单目深度估计方法,其特征在于,所述Transformer网络模型包括:时空Transformer编码器和卷积解码器;
所述时空Transformer编码器用于对各个所述脉冲嵌入通过多层自注意力机制进行时空特征提取,以得到各个所述脉冲嵌入的时空特征;
所述卷积解码器用于对各个不同尺度的时空特征进行特征融合及上采样,以预测得到所述脉冲流的深度估计结果数据。
7.根据权利要求5所述的针对脉冲相机的单目深度估计方法,其特征在于,所述脉冲嵌入模块包括:时间分区、特征提取层、空间分区及特征合并层,其中,所述时间分区设有多尺度时间窗口;
相对应的,所述多尺度时间窗口用于将输入所述脉冲嵌入模块的脉冲流划分为多个不重叠的块;
所述特征提取层用于提取各个不重叠块的特征数据,该特征数据包括:局部特征和全局特征;
所述空间分区用于将所述特征数据在空间域中进行拆分,得到时空特征数据;
所述特征合并层用于将时空特征数据中的全局特征和局部特征进行合并以得到所述脉冲流对应的多个时空块,并将各个所述时空块确定为待输入所述Transformer网络模型的脉冲嵌入。
8.根据权利要求6所述的针对脉冲相机的单目深度估计方法,其特征在于,所述时空Transformer编码器包括多个阶段,且每个阶段中均包含有多个时空Transformer块,每两个相邻阶段之间设有一个残差连接层;
其中,所述时空Transformer块包括:配备3D移位窗口的多头自注意MSA模块,以及,由多个MLP层组成的前馈神经网络FFN;
每个所述MSA模块和FFN之间均设有一个GELU层,每个所述MSA模块和FFN之前设有一个归一化层LN。
9.根据权利要求6所述的针对脉冲相机的单目深度估计方法,其特征在于,所述卷积解码器包括:多个残差块、多个特征融合层和一个预测头。
10.一种针对脉冲相机的单目深度估计装置,其特征在于,包括:
数据获取模块,用于获取脉冲相机输出的非结构化的连续脉冲流;
深度估计模块,用于将所述连续脉冲流输入预设的单目深度估计模型,以使得该单目深度估计模型从所述连续脉冲流中挖掘空间和时间特征,并输出所述连续脉冲流对应的目标深度估计结果。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述的针对脉冲相机的单目深度估计方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至9任一项所述的针对脉冲相机的单目深度估计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210635312.4A CN114998402A (zh) | 2022-06-07 | 2022-06-07 | 针对脉冲相机的单目深度估计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210635312.4A CN114998402A (zh) | 2022-06-07 | 2022-06-07 | 针对脉冲相机的单目深度估计方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114998402A true CN114998402A (zh) | 2022-09-02 |
Family
ID=83033003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210635312.4A Pending CN114998402A (zh) | 2022-06-07 | 2022-06-07 | 针对脉冲相机的单目深度估计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114998402A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116503461A (zh) * | 2023-06-28 | 2023-07-28 | 中国科学院空天信息创新研究院 | 单目图像深度估计方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-07 CN CN202210635312.4A patent/CN114998402A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116503461A (zh) * | 2023-06-28 | 2023-07-28 | 中国科学院空天信息创新研究院 | 单目图像深度估计方法、装置、电子设备及存储介质 |
CN116503461B (zh) * | 2023-06-28 | 2023-10-31 | 中国科学院空天信息创新研究院 | 单目图像深度估计方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gehrig et al. | Combining events and frames using recurrent asynchronous multimodal networks for monocular depth prediction | |
US10593021B1 (en) | Motion deblurring using neural network architectures | |
CN111047548B (zh) | 姿态变换数据处理方法、装置、计算机设备和存储介质 | |
Krajewski et al. | Data-driven maneuver modeling using generative adversarial networks and variational autoencoders for safety validation of highly automated vehicles | |
Mostafavi et al. | Learning to reconstruct hdr images from events, with applications to depth and flow prediction | |
Han et al. | Collaborative perception in autonomous driving: Methods, datasets, and challenges | |
Zhang et al. | Spike transformer: Monocular depth estimation for spiking camera | |
US11074438B2 (en) | Disentangling human dynamics for pedestrian locomotion forecasting with noisy supervision | |
CN108491763B (zh) | 三维场景识别网络的无监督训练方法、装置及存储介质 | |
CN113711276A (zh) | 尺度感知单目定位和地图构建 | |
Xiong et al. | Contextual Sa-attention convolutional LSTM for precipitation nowcasting: A spatiotemporal sequence forecasting view | |
CN114998402A (zh) | 针对脉冲相机的单目深度估计方法及装置 | |
CN116468769A (zh) | 一种基于图像的深度信息估计方法 | |
Lin et al. | EAGAN: Event‐based attention generative adversarial networks for optical flow and depth estimation | |
CN117132952A (zh) | 一种基于多摄像头的鸟瞰视角车辆感知系统 | |
Schachner et al. | Extracting Quantitative Descriptions of Pedestrian Pre-crash Postures from Real-World AccidentVideos | |
CN116402874A (zh) | 基于时序光学图像与激光雷达数据的航天器深度补全方法 | |
Mao et al. | Stealing stable diffusion prior for robust monocular depth estimation | |
EP4224860A1 (en) | Processing a time-varying signal using an artificial neural network for latency compensation | |
CN115359550A (zh) | 基于Transformer的步态情绪识别方法、装置、电子设备及存储介质 | |
CN112949424B (zh) | 一种神经形态视觉采样方法及装置 | |
Saleh et al. | Real-time 3D Perception of Scene with Monocular Camera | |
He et al. | Neural Radiance Field in Autonomous Driving: A Survey | |
Verma et al. | Intensifying security with smart video surveillance | |
Munir et al. | Multi-modal fusion for sensorimotor coordination in steering angle prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |