掌桥专利:专业的专利平台
掌桥专利
首页

图像重建模型的训练方法、图像重建方法及其装置

文献发布时间:2023-06-19 11:44:10


图像重建模型的训练方法、图像重建方法及其装置

技术领域

本申请涉及人工智能中的计算机视觉领域,具体涉及一种图像重建模型的训练方法、 图像重建方法及其装置。

背景技术

运动模糊一般发生在曝光时间内有明显运动的场景,特别是轻量级移动设备在低光环 境下,例如手机和车载相机。虽然运动模糊导致不希望的图像退化,使得视觉内容变得不 易解释,但运动模糊图像还编码关于照相机和观察场景之间相对运动的丰富信息。因此, 从单个运动模糊图像中恢复(重建)清晰帧序列(photo-sequencing),有助于理解场景的动 态,并在图像重建、自动驾驶和视频监控中具有广泛的应用。运动模糊的图像可以看作曝 光时间内高清帧的平均值。由于平均会破坏帧的时间顺序,因此从单个运动模糊图像中恢 复一组清晰的帧序列是非常不恰当的,也就是说待恢复的序列不具有唯一性,可能存在不 同高清帧的序列组成相同的运动模糊图像。

为了解决待恢复序列的不唯一性,引入了事件相机,事件相机可以提供时间序列帧间 变化来引导序列的恢复。事件相机是生物启发、事件驱动、基于时间的神经形态视觉传感 器,它以与传统相机截然不同的原理感知世界,通过异步工作测量亮度变化,一旦变化超 过阈值,就会触发事件。事件相机摒弃了传统强度相机中曝光时间和帧等概念,能够以无 帧模式(微秒时间分辨率)捕捉几乎连续的运动,因此不会遇到像模糊这样的问题。利用 事件摄像机将非常有助于从模糊的图像中恢复清晰的帧。

现有技术中,基于单张运动模糊图像重建视频序列的方法,引入事件相机数据,通过 关联事件数据与清晰图像,对运动模糊生成过程进行建模(即得到图像重建模型)。但由于事件数据有很大噪声且事件触发的阈值不恒定,使得图像恢复过程中容易出现噪声累加,导致图像重建模型性能难以提升,重建出来的高清图像的质量较低,且现有图像重建模型的求取过程计算复杂度高、计算效率低。

因此,如何提高模糊图像的重建质量是亟待解决的技术问题。

发明内容

本申请提供一种图像重建模型的训练方法、图像重建方法及其装置,能够有效提高模 糊图像的重建质量。

第一方面,提供了一种图像重建模型的训练方法,该训练方法包括:获取待训练模糊 图像和待训练事件数据,待训练模糊图像是多帧第一高清图像的平均值,待训练事件数据 包括待训练模糊图像对应的时间段内的事件点;利用待训练模糊图像和待训练事件数据对 图像重建模型进行训练,得到目标图像重建模型,在训练过程中,根据约束条件更新图像 重建模型的参数以得到目标图像重建模型,约束条件包括使得待训练模糊图像与再模糊图 像的差值最小,再模糊图像是对多帧第二高清图像进行处理得到的,上述多帧第二高清图 像则是利用图像重建模型对待训练模糊图像和待训练事件数据进行处理得到的。

在本申请技术方案中,主要使得图像重建模型能够将重建的高清图像(第二高清图像) 进行再模糊处理,之后将模糊处理后得到的图像(再模糊图像)与原始输入的模糊图像(待 训练模糊图像)进行比较,相当于增加了这个约束条件,从而使得利用训练好的图像重建 模型重建得到的高清图像帧序列更加接近原始输入的模糊图像的真实数据,提高重建质量 和重建效果。相当于从事件数据和模糊图像中挖掘出了更多的特征,从而提高了重建质量。 该约束条件可以称之为自一致性约束。

对多帧第二高清图像进行再模糊处理的方法可以有多种,例如可以是直接对多帧第二 高清图像进行处理,又例如可以是结合光流估计结果和第二高清图像来进行处理。

直接对多帧第二高清图像处理可以是对多帧第二高清图像取平均值。结合第一方面, 在第一方面的某些实现方式中,再模糊图像是对多帧第二高清图像取平均值得到的。

结合光流估计结果和第二高清图像来进行处理则是相当于对二者进行处理获得。结合 第一方面,在第一方面的某些实现方式中,再模糊图像是对光流估计结果和多帧第二高清 图像进行处理得到的,光流估计结果是利用光流估计网络对待训练模糊图像和待训练事件 数据进行处理得到的,光流估计结果包括待训练模糊图像的运动信息。

结合第一方面,在第一方面的某些实现方式中,再模糊图像是利用光流估计结果对多 帧第二高清图像的至少两个相邻帧之间插入插帧,再对插帧和多帧第二高清图像进行平均 得到的。

结合第一方面,在第一方面的某些实现方式中,上述约束条件还包括使得多帧光流估 计图像中第i帧光流估计图像与多帧第二高清图像中第i帧第二高清图像的差值最小,多 帧光流估计图像是利用光流估计结果对多帧第二高清图像进行扭曲变换得到的,其中,多 帧光流估计图像中的第i帧光流估计图像是对多帧第二高清图像中的第i+1帧第二高清图 像进行扭曲变换得到的,i为大于或等于0且小于多帧第一高清图像的帧数的整数。这种 方式相当于增加了又一个约束条件,可以称之为亮度一致性约束,即相邻帧之间的亮度应 该是保持一致的。因此可以看作是,进一步从时间维度上使得重建后的图像尽可能保留原 模糊图像的信息,因此,可以进一步提高图像重建的质量和效果。具体而言,运动是连续 的且是有先后顺序的,现有技术中,没有考虑多帧图像在时间先后顺序上去依次保持一致, 所以容易导致重建的高清图像的清晰度依然较低、质量较差,而在本申请实施例的方案中, 该约束条件的引入则可以挖掘出该时间维度的信息,使得图像处理效果更好,图像重建质 量更高。

结合第一方面,在第一方面的某些实现方式中,上述多帧光流估计图像中第i帧光流 估计图像与多帧第二高清图像中第i帧第二高清图像的差值可以满足下面的公式:

其中,L

结合第一方面,在第一方面的某些实现方式中,上述约束条件还包括使得多帧光流估 计图像中的每帧光流估计图像中相邻像素之间的距离最小。这种方式相当于增加了一个约 束条件,可以称之为平滑约束,是考虑单帧图像中,相邻像素之间的距离变化,也就是说, 单帧图像中像素不会骤变,从而提高图像重建的质量。

结合第一方面,在第一方面的某些实现方式中,上述约束条件还包括使得多帧第二高 清图像与多帧第一高清图像的差值最小。这种方式相当于增加了一个约束条件,可以称之 为重建损失约束,重建损失可以理解为重建网络的输出与模糊图像对应的真实值之间的差 值。该真实值可以为上述第一高清图像。

第二方面,提供了一种图像重建方法,该方法包括获取第一模糊图像和第一事件数据, 第一事件数据包括第一模糊图像对应的时间段内的事件点;将第一模糊图像和第一事件数 据输入到目标图像重建模型,得到多帧目标高清图像,目标图像重建模型是利用第一方面 任意一种实现方式的训练方法得到的;输出多帧目标高清图像中的一帧或多帧。

由于第二方面主要是采用第一方面及其任意一种实现方式得到的目标重建模型来重 建图像的,所以上述图像重建方法可以达到提高重建质量的技术效果,第一方面的技术效 果完全适用于第二方面不再重复介绍。

由于目标图像重建模型固定后,能够将单张模糊图像重建出的高清图像的帧数是固定 的,因此可以根据这个帧数对第一事件数据进行分段。例如假设目标图像重建模型得到的 上述多帧目标高清图像的帧数为5,也就是说,该目标图像重建模型可以将一张模糊图像 重建出5帧高清图像。则可以将第一事件数据分为5段,每段对应的时间段长度可以相同。 当然也可以将时间段分为10段等5的整数倍段,然后取每两段相邻时间段的事件点组成 一段,依然可以把第一事件数据分为5段。上述数值只是为了举例和便于理解,不存在限定。

第三方面,提供一种图像重建模型的训练装置,该训练装置包括能够实现第一方面及 其任意一种实现方式的训练方法的单元。例如,训练装置可以包括获取单元和训练单元, 获取单元用于获取待训练模糊图像和待训练事件数据,训练单元,用于利用待训练模糊图 像和待训练事件数据对图像重建模型进行训练,得到目标图像重建模型。

第四方面,提供一种图像重建装置,该装置包括能够实现第二方面及其任意一种实现 方式的方法的单元。例如,该装置可以包括获取单元、处理单元和输出单元,获取单元用 于获取第一模糊图像和第一事件数据;处理单元用于将第一模糊图像和第一事件数据输入 到目标图像重建模型,得到多帧目标高清图像;输出单元,用于输出多帧目标高清图像中 的一帧或多帧。

第五方面,提供一种图像重建模型的训练装置,该训练装置包括处理器和存储器,所 述存储器用于存储程序指令,所述处理器用于调用所述程序指令以实现第一方面及其任意 一种实现方式的训练方法。

第六方面,提供一种图像重建装置,包括处理器和存储器,所述存储器用于存储程序 指令,所述处理器用于调用所述程序指令以实现第二方面及其任意一种实现方式的方法。

第七方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用 于设备执行的程序代码,该程序代码包括用于实现第一方面及其任意一种实现方式的训练 方法或者用于实现第二方面及其任意一种实现方式的方法的指令。

第八方面,提供一种芯片系统,其特征在于,所述芯片系统包括处理器与数据接口, 所述处理器通过所述数据接口读取存储器上存储的指令,以实现第一方面及其任意一种实 现方式的训练方法或者以实现第二方面及其任意一种实现方式的方法。

第九方面,提供一种计算机程序产品,当所述计算机程序在计算机上执行时,使得所 述计算机执行第一方面及其任意一种实现方式的训练方法或者执行第二方面及其任意一 种实现方式的方法。

附图说明

图1是本申请实施例的一种系统架构的结构示意图。

图2是本申请实施例的卷积神经网络的示意图。

图3是本申请实施例的一种芯片硬件结构示意图。

图4是本申请实施例的一种应用场景示意图。

图5是本申请实施例的图像重建模型的训练方法的示意性流程图。

图6是本申请实施例的图像重建模型的训练过程的示意性流程图。

图7是本申请实施例的图像重建模型的训练架构的示意性结构图。

图8是本申请实施例的图像重建方法的示意图。

图9是本申请实施例的图像重建模型的训练过程的示意性流程图。

图10是本申请实施例的图像重建装置的示意图。

图11是本申请实施例的图像重建模型的训练装置的示意图。

图12是本申请实施例的图像重建装置的硬件结构示意图。

图13是本申请实施例的图像重建模型的训练装置的硬件结构示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

本申请实施例提供的图像重建方案能够应用在拍照、录像、智慧城市、人机交互以及 其他需要进行图像恢复(image restoration)或者称之为图像重建的场景。

应理解,本申请实施例中的图像可以为静态图像(或称为静态画面)或动态图像(或 称为动态画面),例如,本申请中的图像可以为视频或动态图片,或者,本申请中的图像也可以为静态图片或照片。为了便于描述,本申请在下述实施例中将静态图像或动态图像统一称为图像。

下面对本申请实施例的图像重建方法可以具体应用到的两种场景进行简单的介绍。

场景一、自动驾驶

随着时代的发展以及人类对于高品质生活的追求,自动驾驶慢慢成为当前汽车发展的 前沿趋势。而实现自动驾驶则需要搭载对场景感知的传感器以便安全行驶,其中视觉传感 器则负责对场景的视觉感知和理解。然而在汽车高速行驶的情况下视觉传感器获取到的图 像数据大多是含有运动模糊的,不利于对场景的理解,甚至于发生交通事故。事件相机由 于其与传统强度相机截然不同的原理感知世界,具备高时间分辨率感知亮度变化的特性, 可以采用本申请实施例的图像重建方案,重建(恢复)出质量较高的高清视频序列,从而 提升自动驾驶场景中控制单元的理解能力。

场景二、安防监控

与场景一类似,在安防监控场景中会大覆盖率存在高速运动带来的图像模糊,比如快 速移动的汽车,奔跑的行人等等,这些图像模糊都不利于人眼对于图像内容的判断,特别 是在案件帧破等场景。因此配合着事件相机信息,采用本申请实施例的图像重建方案,可 以重建出监控场景下的质量较高的高清视频序列,从而提升监控场景的图像质量。

本申请实施例涉及了大量神经网络的相关应用,为了更好地理解本申请实施例的方 案,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。

(1)神经网络

神经网络可以是由神经单元组成的,神经单元可以是指以x

其中,s=1、2、……n,n为大于1的自然数,W

(2)卷积神经网络

卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经 网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可 以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷 积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常 包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面 的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的 方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过 程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神 经网络各层之间的连接,同时又降低了过拟合的风险。

(3)深度神经网络

深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以 分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中 间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定 与第i+1层的任意一个神经元相连。

虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:

综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为

需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更 能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就 越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵 的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量 W形成的权重矩阵)。

(4)损失函数

在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要 预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的 差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的 过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调 整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标 值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标 值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们 是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出 值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的 过程。

(5)反向传播算法

神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始 的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前 向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经 网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运 动,旨在得到最优的神经网络模型的参数,例如权重矩阵。

图1是本申请实施例的一种系统架构的结构示意图。在图1中,数据采集设备160用于采集训练数据。针对本申请实施例的图像重建方法来说,训练数据可以包括模糊图像以及该模糊图像对应的事件数据。

在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设 备120基于数据库130中维护的训练数据训练得到目标模型/规则101。

下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对输入的图像进行处理,直到训练设备120输出的图像的清晰度小于一定的阈值,从而完成目标模型/规则101的训练。

上述目标模型/规则101能够用于实现本申请实施例的图像重建方法,即,将待处理 图像通过相关预处理后输入该目标模型/规则101,即可得到图像重建后的输出图像。本申 请实施例中的目标模型/规则101具体可以为本申请实施例中的图像重建装置。需要说明 的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备 160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云 端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。

根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中, 如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR), 车载终端等,还可以是服务器或者云端设备等。在图1中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140 向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的待 处理图像。

预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据(如待处理图像)进行预处理,在本申请实施例中,也可以没有预处理模块113和预处理模块114 (也可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。

在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计 算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。

最后,I/O接口112将处理结果,如上述得到的图像重建后的输出图像返回给客户设 备140,从而提供给用户。

值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练 数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目 标或完成上述任务,从而为用户提供所需的结果。

在图1所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入 数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户 设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体 的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端, 采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本 数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口 112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为 新的样本数据存入数据库130。

值得注意的是,图1仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、 器件、模块等之间的位置关系不构成任何限制,例如,在图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备 110中。

如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是本申请中的图像重建装置,具体的,本申请实施例提供的图像重建装置可以包括一个或多个神经网络,该一个或多个神经网络可以包括CNN、深度卷积 神经网络(deep convolutional neural networks,DCNN)等等。

由于CNN是一种非常常见的神经网络,下面结合图2重点对CNN的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈 (feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图 像作出响应。

如图2所示,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层230。下面对这些层的相关内容做详细介绍。

卷积层/池化层220:

卷积层:

如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现方 式中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积 层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225 为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另 一个卷积层的输入以继续进行卷积操作。

下面将以卷积层221为例,介绍一层卷积层的内部工作原理。

卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相 当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩 阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输 入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步 长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大 小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输 入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整 个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出, 但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵, 即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度 可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特 征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色, 又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列) 相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个 尺寸相同的特征图合并形成卷积运算的输出。

这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权 重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进 行正确的预测。

当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征, 语义越高的特征越适用于待解决的问题。

池化层/池化层220:

由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层, 在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。

神经网络层230:

在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出 信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需 要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络 层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层 隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如 该任务类型可以包括图像重建等等。

在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输 出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成, 反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的 权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出 的结果和理想结果之间的误差。

需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在 具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。

本申请中,图像重建模型可以包括图2所示的卷积神经网络200,该图像重建模型可 以对待处理图像进行图像重建处理,得到重建后的图像。

图3为本申请实施例的一种芯片硬件结构,该芯片包括神经网络处理器30。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片 也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出 目标模型/规则101。如图2所示的卷积神经网络中各层的算法均可在如图3所示的芯片中 得以实现。

神经网络处理器NPU 30作为协处理器挂载到主CPU(host CPU)上,由主CPU分 配任务。NPU的核心部分为运算电路303,控制器304控制运算电路303提取存储器(权 重存储器或输入存储器)中的数据并进行运算。

在一些实现方式中,运算电路303内部包括多个处理单元(process engine,PE)。在 一些实现方式中,运算电路303是二维脉动阵列。运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现方式中,运算电路303是通用的矩阵处理器。

举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路303从权重存 储器302中取矩阵B相应的数据,并缓存在运算电路303中每一个PE上。运算电路303 从输入存储器301中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最 终结果,保存在累加器(accumulator)308中。

向量计算单元307可以对运算电路303的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元307可以用于神经网络中非卷 积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应 归一化(local response normalization)等。

在一些实现方式中,向量计算单元能307将经处理的输出的向量存储到统一缓存器 306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现方式中,向量计算单元307生成归一化的值、合 并值,或二者均有。在一些实现方式中,处理过的输出的向量能够用作到运算电路303的 激活输入,例如用于在神经网络中的后续层中的使用。

统一存储器306用于存放输入数据以及输出数据。

权重数据直接通过存储单元访问控制器305(direct memory accesscontroller,DMAC) 将外部存储器中的输入数据搬运到输入存储器301和/或统一存储器306、将外部存储器中 的权重数据存入权重存储器302,以及将统一存储器306中的数据存入外部存储器。

总线接口单元(bus interface unit,BIU)310,用于通过总线实现主CPU、DMAC和取指存储器309之间进行交互。

与控制器304连接的取指存储器(instruction fetch buffer)309,用于存储控制器304 使用的指令;

控制器304,用于调用指存储器309中缓存的指令,实现控制该运算加速器的工作过 程。

一般地,统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为 双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他 可读可写的存储器。

其中,图2所示的卷积神经网络中各层的运算可以由运算电路303或向量计算单元307执行。

上文中介绍的图1中的执行设备110能够执行本申请实施例的图像重建方法的各个步 骤,图2所示的CNN模型和图3所示的芯片也可以用于执行本申请实施例的图像重建方法的各个步骤。下面结合附图对本申请实施例的图像重建方法进行详细的介绍。

本申请实施例提供的图像重建方法可以在服务器上被执行,也可以在云端被执行,还 可以在终端设备上被执行。以终端设备为例,如图4所示,本申请实施例的技术方案可以 应用于终端设备,本申请实施例中的图像重建方法可以对输入图像进行图像重建处理,得 到该输入图像经图像重建后的输出图像。如图4所示,输入模糊图像和事件数据后,经过 终端设备的处理可以输出至少一帧目标重建图像(目标高清图像)。该终端设备可以为移 动的或固定的,例如该终端设备可以是具有图像重建功能的手机、平板个人电脑(tablet personal computer,TPC)、媒体播放器、智能电视、笔记本电脑(laptopcomputer,LC)、 个人数字助理(personal digital assistant,PDA)、个人计算机(personal computer,PC)、 照相机、摄像机、智能手表、可穿戴式设备(wearable device,WD)或者自动驾驶的车辆 等,本申请实施例对此不作限定。

在现有技术中,在进行图像重建时,是将事件数据和模糊图像进行结合,根据运动模 糊过程进行建模,目前最常见的为EDI(event-based double integral)模型,现有技术只是 借助了事件数据来把模糊图像重建出多帧高清的图像,如果是曝光时间内存在很多个事件 点就需要恢复出对应事件点数量的帧数的高清图像。这就会带来一个问题,由于时间数据 是有很大噪声的,且事件触发的阈值不恒定,所以使用EDI模型就会出现噪声累加。可以 理解为随着一帧帧图像的重建,一开始相对较小的误差越来越被累加、放大,导致恢复的 高清图像帧序列越来越偏离原始模糊图像的真实数据。此外,EDI模型本身也存在计算复 杂度高和计算效率低的问题。

针对上述问题,本申请实施例提出了一种图像重建方法,将恢复的高清图像进行再模 糊处理,之后将模糊处理后得到的图像与原始输入的模糊图像进行比较,相当于增加了一 个约束条件,从而使得重建得到的高清图像帧序列更加接近原始输入的模糊图像的真实数 据,提高重建质量和重建效果。相当于从事件数据和模糊图像中挖掘出了更多的特征,从 而提高了重建质量。

图5是本申请实施例的图像重建模型的训练方法的示意性流程图,该训练方法可以由 能够进行图像重建模型的训练的装置或设备执行,例如,该方法可以具有较大运算能力的 服务器或云端设备执行。

501、获取待训练模糊图像和待训练事件数据。

待训练模糊图像是多帧第一高清图像的平均值,该待训练事件数据包括待训练模糊图 像对应的时间段内的事件点。

也就是说,待训练模糊图像可以是对已有的连续多帧高清图像进行平均化,从而得到 一帧合成的模糊图像。这样在训练的过程中,就可以通过比较重建的高清图像与真实的高 清图像,来训练图像重建模型了。

上述待训练模糊图像对应的时间段就可以通过上述已有的连续多帧高清图像(第一高 清图像)对应的时间来确定。该时间段模拟的是实际拍摄的时候,相机或摄像头的曝光时 间,也就是说,模拟了曝光时间的时间段内由于被拍摄者的动作导致了模糊,产生了一帧 模糊图像,这帧模糊图像对应于一段高清图像帧序列。举例说明,假设对T0-T1时刻之间 的6帧连续高清图像取平均值得到了模糊图像B1,则模糊图像B1对应的时间段就是 T0-T1,这6帧连续高清图像就是上述多帧第一高清图像。

事件点也可以称之为事件,事件相机的最基本的原理就是当某个像素的亮度变化累计 达到触发条件(变化达到一定程度)后,输出一个事件点。所以一个事件点可以理解为是 一次事件的表达:在什么时间(时间戳),哪个像素点(像素坐标),发生了亮度的增加 或减小(亮度变化)。

502、利用待训练模糊图像和待训练事件数据对图像重建模型进行训练。

该图像重建模型可以理解为重建网络,在对该图像重建模型进行训练的时候,可以直 接利用上述数据对该模型进行训练,也可以引入一些其他参数对其进行训练。

在训练过程中,可以根据约束条件更新图像重建模型的参数以得到目标图像重建模 型,约束条件包括使得待训练模糊图像与再模糊图像的差值最小,再模糊图像可以是对多 帧第二高清图像进行处理得到的,多帧第二高清图像是利用图像重建模型对待训练模糊图 像和待训练事件数据进行处理得到的。

也就是说,主要使得图像重建模型能够将重建的高清图像(第二高清图像)进行再模 糊处理,之后将模糊处理后得到的图像(再模糊图像)与原始输入的模糊图像(待训练模糊图像)进行比较,相当于增加了这个约束条件,从而使得利用训练好的图像重建模型重建得到的高清图像帧序列更加接近原始输入的模糊图像的真实数据,提高重建质量和重建效果。相当于从事件数据和模糊图像中挖掘出了更多的特征,从而提高了重建质量。该约束条件可以称之为自一致性约束。

对多帧第二高清图像进行再模糊处理的方法(即获取再模糊图像的方法)可以有多种, 例如可以是直接对多帧第二高清图像进行处理,又例如可以是结合光流估计结果和第二高 清图像来进行处理。

直接对多帧第二高清图像处理可以是对多帧第二高清图像取平均值,也就是说,上述 再模糊图像是对多帧第二高清图像取平均值得到的。即不考虑光流估计结果,直接对第二 高清图像进行平均,这种方式可以获得再模糊图像,但相对于应用光流估计结果的情况, 得到的再模糊图像的准确性略低。

结合光流估计结果和第二高清图像来进行处理则是相当于对二者进行处理获得,也就 是说,上述再模糊图像是对光流估计结果和多帧第二高清图像进行处理得到的,光流估计 结果是利用光流估计网络对待训练模糊图像和待训练事件数据进行处理得到的,光流估计 结果包括待训练模糊图像的运动信息。例如,上述再模糊图像可以是利用光流估计结果对 多帧第二高清图像的至少两个相邻帧之间插入插帧,再对这些插帧和多帧第二高清图像进 行平均得到的。可以是每相邻两帧之间都插入插帧,也可以只对其中部分相邻帧之间插入 插帧,只是前者得到的再模糊图像的准确性更高。插帧的作用可以理解为能够使得相邻两 帧第二高清图像之间的间隔更加细化。这种实现方式可以使得光流估计结果更准确模拟实 际运动轨迹,从而得到更接近于实际运动轨迹的再模糊图像,但插帧的数量可以按照需要 进行设置。

本申请实施例主要是通过增加约束条件来提高训练出来的模型的重建质量,上述主要 是通过加入了自一致性约束来实现的,为了达到更好的效果,还可以进一步引入其他的约 束条件。

在一些实现方式中可以进一步引入亮度一致性约束等其他约束条件。

可选地,上述约束条件还包括使得多帧光流估计图像与多帧第二高清图像的差值最 小,多帧光流估计图像是利用光流估计结果对多帧第二高清图像进行扭曲变换得到的,其 中,多帧光流估计图像中的第i帧光流估计图像是对多帧第二高清图像中的第i+1帧第二 高清图像进行扭曲变换得到的,i为大于或等于0且小于多帧第一高清图像的帧数的整数。 这种方式相当于增加了又一个约束条件,可以称之为亮度一致性约束,即相邻帧之间的亮 度应该是保持一致的。因此可以看作是,进一步从时间维度上使得重建后的图像尽可能保 留原模糊图像的信息,因此,可以进一步提高图像重建的质量和效果。具体而言,运动是 连续的且是有先后顺序的,现有技术中,没有考虑多帧图像在时间先后顺序上去依次保持 一致,所以容易导致重建的高清图像的清晰度依然较低、质量较差,而在本申请实施例的 方案中,该约束条件的引入则可以挖掘出该时间维度的信息,使得图像处理效果更好,图 像重建质量更高。

需要说明的是,多帧光流估计图像与多帧第二高清图像的差值可以是多帧光流估计图 像中第i帧光流估计图像与多帧第二高清图像中第i帧第二高清图像的差值,也可以是多 帧光流估计图像的平均值与多帧第二高清图像平均值的差值,还可以是多帧光流估计图像 累加值与多帧第二高清图像累加值的差值,本申请实施例主要采用第一种方式,可以使得 对每一帧第二高清图像分别优化,后两种只能是对所有第二高清图像的整体优化。

又例如,还可以引入现有技术中较为常见的约束条件,重建损失约束和平滑约束,重 建损失可以理解为重建网络的输出与模糊图像对应的真实值之间的差值。该真实值可以为 上述第一高清图像。平滑约束则是考虑单帧图像中相邻像素之间的距离变化,也就是说, 单帧图像中像素不会骤变,从而提高图像重建的质量。

图6是本申请实施例的图像重建模型的训练过程的示意性流程图,图6主要是介绍在 一次训练过程中,图像重建模型中各个模块分别执行的动作,可以看作是对图5所示训练 方法的另一角度的描述。

601、获取待训练模糊图像和待训练事件数据,该待训练事件数据包括待训练模糊图 像对应的时间段内的事件点。

在一些实现方式中,待训练模糊图像和待训练事件数据可以都来自于事件相机,事件 相机包括两路输出,一路输出的是高清图像,一路是待训练事件数据,所以可以利用事件 相机采集上述高清图像和待训练事件数据,然后将高清图像合成为待训练模糊图像

在另一些实现方式中,待训练模糊图像和待训练事件数据还可以是下面的获得方式, 也就是利用传统相机或摄像头获取高清图像,再将这些高清图像输入到仿真软件中,得到 其对应的仿真事件数据,这样也可以同时得到上述高清图像和上述待训练事件数据。然后 把这些高清图像取平均值合成为待训练模糊图像。该仿真软件可以理解为虚拟的事件相 机。

此外,上述待训练模糊图像和待训练事件数据,可以是实时采集得到的,也可以是从 存储装置中读取出来的。

602、将待训练模糊图像和待训练事件数据输入到光流估计网络,得到光流估计结果, 光流估计结果包括待训练模糊图像对应的多帧第一高清图像的运动信息。

光流(optical flow)是指图像亮度模式的表观运动(apparent motion)。光流表达了图像的 变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。由光流 的定义可以引申出光流场,它是指图像中所有像素点构成的一种二维瞬时速度场,其中的 二维速度矢量是景物中可见点的三维速度矢量在成像表面的投影。所以光流不仅包含了被 观察物体的运动信息,而且还包含有关景物三维结构的丰富信息。在本申请实施例中,就 是利用光流来挖掘模糊图像的运动信息。结合实际生活看到的模糊图像可以理解,一张模 糊图像中,例如胳膊转动了一定角度,导致胳膊部分的成像是胳膊的几个模糊成像,如果 将其分离成几帧图像之后,就可以分解出胳膊的运动轨迹,而光流就是这几帧图像的每两 帧图像之间随着运动轨迹的变化,胳膊坐标的相对位置变化。

需要说明的是,上述第一高清图像是指待训练模糊图像对应的高清图像的帧序列,所 以可能对应一帧或多帧第一高清图像。如上文所述,待训练模糊图像是曝光时间内的高清 帧的平均值,在此处可以看作是第一高清图像就是上述用来得到待训练模糊图像的高清图 像。

该光流估计网络可以为进行光流估计的神经网络,例如可以采用Ev-FlowNet网络。

603、将待训练模糊图像和待训练事件数据输入到重建网络,得到多帧第二高清图像。

步骤603类似于现有技术中的操作,也就是说,利用待训练事件数据对模糊图像进行 重建,得到多帧高清图像。应理解,步骤603与步骤602可以同时执行也可以不同时执行,且不存在执行先后的限定。

可以利用重建网络来执行步骤603,该重建网络是指可以将模糊图像重建成高清图像 的神经网络。

604、利用多帧第一高清图像的运动信息和多帧第二高清图像,得到再模糊图像。

步骤604和步骤605相当于在现有技术的基础上增加了一个约束条件,也就是说,可 以使得重建后的高清图像最大可能与原模糊图像的信息保持一致。该约束条件对上述运动 信息和重建的第二高清图像都有约束力,也就是说,无论是运动信息存在的误差还是重建 网络存在的误差可以通过步骤604和步骤605使得二者的误差影响最小化。即上文所述自 一致性约束。

可以是对光流估计结果(即上述多帧第一高清图像的运动信息)和多帧第二高清图像 进行处理,从而得到再模糊图像;或者在得到多帧第三高清图像的情况下(即执行了步骤 606和步骤607的情况下),对光流估计结果和多帧第三高清图像进行处理,从而得到再 模糊图像。

605、最小化待训练模糊图像与再模糊图像的差值,得到多帧目标高清图像。

可选地,可以构造待训练模糊图像和再模糊图像的一范数,作为损失函数,最小化该 损失函数就可以得到目标高清图像。

步骤604和步骤605的可以由约束模块(单元)执行。

约束条件可以通过设置损失函数的方式实现。

图6的训练方法,得到的目标图像重建模型能够使得重建后的高清图像最大可能与原 模糊图像的信息保持一致,从而有效提高的图像重建质量和图像重建效果。

如上文所述,步骤604和步骤605相当于增加了一个约束条件,根据类似逻辑,还可以增加其他的约束条件。例如图6的训练方法还可以包括步骤606和步骤607的操作。

606、利用光流估计结果对多帧第二高清图像进行扭曲变换,得到多帧光流估计图像, 多帧光流估计图像的第i帧光流估计图像是对多帧第二高清图像中的第i+1帧第二高清图 像进行扭曲变换得到的,i为大于或等于0且小于多帧第一高清图像帧数的整数。

扭曲变换(warp)还可以称之为仿射变换,或者可以理解为对图像中事物的位置进行 偏移。例如假设有5帧第二高清图像,对第1帧第二高清图像进行warp,就可以看作是 把第1帧的图像加上光流中包含的第1帧第一高清图像与第2帧第一高清图像之间的光流 对应的运动信息,从而得到第1帧第二高清图像的光流warp后的图像,也就是第1帧光 流估计图像。

607、最小化第i帧光流估计图像与第i帧第二高清图像的差值。

步骤606和步骤607相当于增加了一个约束条件,也就是说,相邻帧之间的亮度应该 是保持一致的。因此步骤606和步骤607可以看作是,进一步从时间维度上使得重建后的图像尽可能保留原模糊图像的信息,因此,可以进一步提高图像重建的质量和效果。具体而言,运动是连续的且是有先后顺序的,现有技术中,没有考虑多帧图像在时间先后顺序上去依次保持一致,所以容易导致重建的高清图像的清晰度依然较低、质量较差,而在本申请实施例的方案中,步骤606和步骤607的引入则可以挖掘出该时间维度的信息,使得 图像处理效果更好,图像重建质量更高。即上文所述亮度一致性约束。

步骤606和步骤607可以在步骤604和步骤605的执行期间、执行之前或者执行之后执行,且步骤606和步骤607可以不执行,只是执行步骤606和步骤607的情况下,可以 增加在时间维度上的约束,重建质量会更好。

举例说明,假设步骤606和步骤607在步骤604和步骤605的执行期间执行,则可以是先执行步骤606和步骤607,就可以得到多帧第三高清图像,从而在执行步骤604时, 就可以是根据光流估计结果和多帧第三高清图像,得到上述再模糊图像。

又例如,假设步骤606和步骤607在步骤604和步骤605的执行之后执行,则可以使将步骤606和步骤607的第二高清图像替换为目标高清图像,相当于对得到的目标高清图像进行进一步的处理。

同样可以通过构造上述两帧图像的亮度值的一范数作为损失函数,并使得损失函数最 小化,从而得到目标高清图像。

上述提到的两个约束条件是现有技术中没有考虑到的,增加了上述约束条件可以有效 提高重建质量,但应理解,在实现过程中,还可以加入现有技术中已经存在的其他约束条 件,例如上文所述重建损失约束和平滑约束,不再重复介绍。此外,由于这两种损失函数 是现有的,本领域技术人员可以查阅资料自行使用,所以不再展开描述。

举例说明平滑约束的加入,例如可以是在执行步骤605时,先最小化多帧光流估计图 像的每帧光流估计图像中相邻像素之间的距离,得到多帧处理后的光流估计图像;该步骤 即为平滑约束的对应步骤,也就是说通过平滑约束得到处理后的光流估计图像,则可以最 小化第i帧处理后的光流估计图像与第i帧第二高清图像的差值。

可选地,还可以对上述约束条件进行加权,也就是利用上述多个约束条件的同时,为 每个约束条件设置权重,从而进一步提高图像重建的质量。

图7是本申请实施例的图像重建模型的训练架构的示意性结构图。如图7所示,该训 练架构700包括光流估计网络710、重建网络720和约束模块730。可以将上述待训练模糊图像和待训练事件数据输入到训练架构700,经过训练后,就可以得到训练好的重建网络720’,该训练好的重建网络720’即为上文所述目标图像重建模型。因此图7所示的训练架构可以用于执行图5或图6所示的训练方法,图7所示的训练架构得到的重建网络720 可以用于执行图8所示的图像重建方法。

在将训练好的重建网络720’用于进行图像重建的时候,例如可以将图8所述第一模糊 图像和第一事件数据输入到训练好的重建网络720’,就可以得到多帧目标高清图像。

光流估计网络710为可以对模糊图像进行处理,从而得到其光流估计结果的神经网络 例如可以是上述Ev-FlowNet网络。

重建网络720为可以对模糊图像进行处理,从而得到其重建高清图像的神经网络。可 以看出,重建网络720即为上文所述图像重建模型,也就是说,在图7所示的训练架构的功能就是通过训练,使得重建网络720得到更新,从而得到训练好的重建网络720’(即目 标图像重建模型),目标图像重建模型也可以称之为目标重建网络。

约束模块730则可以理解为是根据约束条件更新图像重建模型的参数,使得重建图像 质量得到保障的一个模块,约束模块730可以利用光流估计网络710的输出和/或重建网 络720的输出来进行参数约束,从而得到更好的训练好的重建网络720’。

上述约束条件可以包括自一致性约束,还可以包括亮度一致性约束,除此之外还可以 包括重建损失约束和平滑约束。

从上文已知,图像重建模型即为重建网络720,而图7中的其他训练架构的组成部分 只是在训练阶段能够用于获得更好的目标图像重建模型的,但在将目标重建模型应用到图 像重建过程(可以理解为推理阶段)中时,光流估计网络710和约束模块730就可以不再 使用了,简而言之,光流估计网络710和约束模块730只参与训练阶段的部分步骤执行,不参与推理阶段的步骤执行。

需要说明的是,图7中只是给出了训练架构700同时包括上述三部分的示例,但应理 解,训练架构700也可以有其他结构形式,例如训练架构700可以只包括重建网络720,也就是说,直接利用待训练模糊图像和待训练事件数据对重建网络720进行训练得到训练好的重建网络720’;又例如训练架构700可以包括重建网络720和约束模块730,约束 模块730用于更新重建网络720的参数;又例如光流估计结果是直接从存储装置中读取的, 在这种情况下不再需要光流估计网络710,但需要一个从存储装置中读取光流估计结果的 模块,等等,在此不再一一介绍。

图8是本申请实施例的图像重建方法的示意性流程图。下面对图8的各个步骤进行介 绍。

801、获取第一模糊图像和第一事件数据,第一事件数据包括第一模糊图像对应的时 间段内的事件点。

第一模糊图像可以理解为待处理的模糊图像,第一模糊图像对应的时间段可以是该模 糊图像与下一帧图像之间的时间段,或者是第一模糊图像的曝光时间。可以理解为,一段 视频中出现了几帧模糊图像,这影响了观看感受,所以在处理的时候可以是以两帧模糊图 像之间的时间段作为上述曝光时间,使得整体视频更流畅。如果只有一帧独立的模糊图像, 相邻帧均为高清图像,则可以去该模糊图像和下一帧高清图像之间的时间段作为上述对应 的时间段。

802、将第一模糊图像和第一事件数据输入到目标图像重建模型,得到多帧目标高清 图像。

该目标图像重建模型是利用本申请实施例中任意一种图像重建模型的训练方法得到 的,该目标图像重建模型的结构可以参照上文的介绍,因此为了简洁不再重复。

803、输出多帧目标高清图像中的一帧或多帧。

也就是说,输出的重建图像可以是从上述多帧目标高清图像中取一帧或多帧来输出, 例如可以输出中间一帧、最后一帧,或者奇数帧、偶数帧等等。

由于目标重建模型在训练好后,能够重建出来的目标高清图像的帧数是固定的,所以 为了使得第一事件数据能够更好地匹配每一帧输出图像,就可以对第一事件数据进行分 段,且使得第一事件数据的段数与多帧目标高清图像的帧数对应。

例如假设目标图像重建模型得到的上述多帧目标高清图像的帧数为5,也就是说,该 目标图像重建模型可以将一张模糊图像重建出5帧高清图像。则可以将第一事件数据分为 5段,每段对应的时间段长度可以相同。当然也可以将时间段分为10段等5的整数倍段,然后取每两段相邻时间段的事件点组成一段,依然可以把第一事件数据分为5段。上述数值只是为了举例和便于理解,不存在限定。

图9是本申请实施例的图像重建模型的训练过程的示意性流程图。图9可以看作是图 5或图6所示训练方法的一个具体示例。下面对图9进行介绍。

如图9所示,原输入图像B可以看作是上述待训练模糊图像的一例,E0-E5可以看作是上述待训练事件数据的一例,E0-E5是用一个个立方体表示的,每个立方体中都包括很多点,这些点可以看作是上述事件点。

图9中的用梯形表示了光流估计网络和重建网络,图9中的用Optical Flow表示的多 个梯形是光流估计网络的一个示例,而图9中的用Reconstruction表示的一个梯形是重建 网络的一个示例。光流估计网络对输入的图像B和事件数据E0-E5进行处理后得到了flow u

图9中的用warp表示的切角矩形是约束模块中的执行扭曲变换的部分的示例。如图9所示,利用flow u

图9中还示出了利用flow u

如图9所示,自一致性约束是对图像B和再模糊图像

首先对于传统相机需要一定的曝光时间来积累场景中的光线来渲染场景中物体的成 像,运动模糊就发生于该曝光时间内物体的快速运动。模糊化的过程可以满足下面的公式 (2),也就是说,模糊图像B(x)为曝光时间内所有高清图像的积分结果。

其中,T表示曝光时间;t

利用运动模糊产生的物理过程,基于重建网络生成的多帧第二高清图像I

在一种实现方式中,再模糊图像是对多帧第二高清图像进行平均,也就是说,不考虑 光流估计结果,直接对第二高清图像进行平均,这种方式可以获得再模糊图像,但相对于 应用光流估计结果的情况,得到的再模糊图像的准确性略低。

在另一种实现方式中,再模糊图像是利用光流估计结果在多帧第二高清图像的每相邻 两帧之间插入插帧,再对这些插帧和多帧第二高清图像进行平均。但应理解,在这种实现 方式中,可以是每相邻两帧之间都插入插帧,也可以只对其中部分相邻帧之间插入插帧, 只是前者得到的再模糊图像的准确性更高。插帧的作用可以理解为能够使得相邻两帧第二 高清图像之间的间隔更加细化。这种实现方式可以使得光流估计结果更准确模拟实际运动 轨迹,从而得到更接近于实际运动轨迹的再模糊图像,但插帧的数量可以按照需要进行设 置。

在这种实现方式中,利用光流估计结果和多帧第二高清图像得到再模糊图像的过程可 以满足下面的公式(3)。

其中,I

也就是说,引入一个参数n,n-1为两帧第二高清图像之间可以插入的帧数,该帧数可以根据实际情况确定,例如可以插入10帧,即j的取值范围可以为1至10的整数,n=11。利用光流估计结果得到10(n-1)个插帧,然后对这些插帧和多帧第二高清图像进行平均,得到该再模糊图像。

在得到再模糊的图像之后,可以计算模糊图像B(x)和

L

为了保证重建的高清图像序列在时间维度上具有次序性,可以先利用光流估计结果对 多帧第二高清图像进行扭曲变换,得到多帧光流估计图像,例如利用上述光流flowu

因此基于亮度一致性假设,即第i帧光流估计图像

L

可选地,可以利用上述约束条件,构造图像重建模型的整体损失函数,该整体损失函 数可以满足下面的公式(8)。

L=αL

其中L

为了验证本申请实施例的方案,选取了常见的GoPro和Adobe240两个测试集,分别利用现有技术中利用EDI模型进行图像重建的方法(简称“现有方法”)和利用本申请实施例提供的图像重建方法(简称“本方法”)进行测试,结果如表1所示。表1中的峰值信 噪比(peak signal to noise ratio,PSNR)和图像结构相似度(structural similarity indexmeasurement,SSIM)是两个常见的比较图像处理结果性能的参数,从表1可以看出在两 个数据集中,无论是对于中间帧的重建结果还是对于整个帧序列的重建结果而言,本方法 比现有方法的性能均更优。

表1现有方法与本方法的图像重建结果比较

图10是本申请实施例的图像重建装置的示意图。如图10所示,该装置1000包括获取单元1001、处理单元1002和输出单元1003,可以用于执行本申请实施例的图像重建方法。

例如,获取单元1001可以执行上述步骤801,处理单元1002可以执行上述步骤802,输出单元1003用于执行步骤803。处理单元1002可以包括上述目标图像重建模型,该目 标图像重建模型用于执行步骤802。

图11是本申请实施例的图像重建模型的训练装置的示意图。如图11所示,该装置2000包括获取单元2001和训练单元2002,可以用于执行本申请实施例的图像重建模型的训练方法。例如,获取单元2001可以执行上述步骤501,训练单元2002可以执行上述步 骤502。又例如,获取单元2001可以执行上述步骤601,训练单元1002可以执行上述步 骤602-605,训练单元还可以用于执行上述步骤606-607。

图12是本申请实施例的图像重建装置的硬件结构示意图。图12所示的图像重建装置 3000包括存储器3001、处理器3002、通信接口3003以及总线3004。其中,存储器3001、 处理器3002、通信接口3003通过总线3004实现彼此之间的通信连接。

存储器3001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器3001可以存储程序, 当存储器3001中存储的程序被处理器3002执行时,处理器3002和通信接口3003用于执 行本申请实施例的图像重建装置的各个步骤。

处理器3002可以采用通用的中央处理器(central processing unit,CPU),微处理器, 应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施 例的图像重建装置中的单元所需执行的功能,或者执行本申请方法实施例的图像重建方 法。

处理器3002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的图像重建方法的各个步骤可以通过处理器3002中的硬件的集成逻辑电路或者软件形式的指令完成。

上述处理器3002还可以是通用处理器、数字信号处理器(digital signalprocessing, DSP)、ASIC、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编 程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。上述通用处理器可以是微处理 器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可 以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行 完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦 写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器3001,处 理器3002读取存储器3001中的信息,结合其硬件完成本申请实施例的图像重建装置中包 括的单元所需执行的功能,或者执行本申请方法实施例的图像重建方法。

通信接口3003使用例如但不限于收发器一类的收发装置,来实现装置3000与其他设 备或通信网络之间的通信。例如,可以通过通信接口3003获取待处理图像。

总线3004可包括在装置3000各个部件(例如,存储器3001、处理器3002、通信接 口3003)之间传送信息的通路。

图13是本申请实施例的图像重建模型的训练装置的硬件结构示意图。与上述装置3000类似,图13所示的训练装置4000包括存储器4001、处理器4002、通信接口4003 以及总线4004。其中,存储器4001、处理器4002、通信接口4003通过总线4004实现彼 此之间的通信连接。

存储器4001可以存储程序,当存储器4001中存储的程序被处理器4002执行时,处理器4002用于执行训练本申请实施例的图像重建模型的训练方法的各个步骤。

处理器4002可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现训练本申请实施例的图像重建模型的训练方法。

处理器4002还可以是一种集成电路芯片,具有信号的处理能力。在实现训练过程中, 本申请实施例的图像重建模型的训练方法的各个步骤可以通过处理器4002中的硬件的集 成逻辑电路或者软件形式的指令完成。

应理解,通过图13所示的训练装置4000对图像重建模型进行训练,训练得到的图像 重建模型后就可以用于执行本申请实施例的图像重建方法了。

具体地,图13所示的装置可以通过通信接口4003从外界获取训练数据以及待训练的 图像重建模型,然后由处理器根据训练数据对待训练的图像重建模型进行训练。

应注意,尽管上述装置3000和装置4000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置3000和装置4000还可以包括实 现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置 3000和装置4000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当 理解,装置3000和装置4000也可仅仅包括实现本申请实施例所必须的器件,而不必包括 图12和图13中所示的全部器件。

应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU), 该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专 用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、 分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器 等。

还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包 括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只 读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM), 其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(randomaccess memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随 机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、 双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强 型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存 储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM, DR RAM)。

上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使 用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机 程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指 令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机 可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可 以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存 储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通 过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质 可以是固态硬盘。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三 种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三 种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象 是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一 项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任 意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的 先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程 构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及 算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以 硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可 以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元 的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或 组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所 显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的 间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储 在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现 有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机 软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计 算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而 前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程 序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟 悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖 在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 图像重建方法及装置、图像重建模型的训练方法及装置
  • 图像重建模型的训练方法、图像重建方法及其装置
技术分类

06120113034060