技术领域
[0001] 本申请涉及图像处理技术领域,尤其涉及一种修复方法及修复装置。
相关背景技术
[0002] 图像修复(Inpainting)一直是人们所关心的问题。图像修复指对图像或视频中丢失或损坏的部分进行重建的过程。该技术运用广泛,例如利用图像修复打击违法犯罪或利用图像修复修复文物等。在数码世界中,图像修复又称图像插值或视频插值,指利用合适的算法替换已丢失、损坏的图像数据,主要替换待修复图像中的小区域和瑕疵,以使待修复图像达到最理想的艺术效果。现阶段的图像修复技术大多采用深度学习的修复方法,其修复过程一般利用图像像素对待修复图像进行修复,但该修复方法的修复效果还不够理想。
具体实施方式
[0047] 在实施本申请技术方案的过程中,发明人发现如下问题:现有的图像修复技术中,由于采集图像的图像采集设备、硬件设备(例如摄像头)的设置参数不同,最终都会对采集到的图像的成像质量造成不同的影响。例如,快门速度(Shutter Speed)对于图像动态模糊(Motion Blur)有影响;光圈大小对于图像亮度有影响;感光度大小对于图像噪声有影响等。目前图像修复方法在进行图像修复时,仅利用图像像素进行修复,并未考虑硬件设备的设置参数的影响,导致修复后的图像效果不够理想。
[0048] 为了解决上述问题,提出本申请实施例。为了更清楚地阐述本申请实施例的目的、技术方案及优点,以下将结合附图对本申请实施例的实施例进行详细的说明。应当理解,下文对于实施例的描述旨在对本申请实施例的总体构思进行解释和说明,而不应当理解为是对本申请实施例的限制。在说明书和附图中,相同或相似的附图标记指代相同或相似的部件或构件。为了清晰起见,附图不一定按比例绘制,并且附图中可能省略了一些公知部件和结构。
[0049] 下面结合附图详细的说明本申请的技术方案。
[0050] 参见图1,图1是本申请实施例提供的修复方法的一个可选流程示意图。将结合图1示出的步骤进行说明。
[0051] 步骤101:获取待修复图像的参数信息和像素信息,所述参数信息用于表征所述待修复图像的属性。
[0052] 需要说明的是,本申请实施例所述的待修复图像可以是单张照片,也可以是视频文件的单帧图片。对于单张照片,可通过本申请实施例提出的修复方法直接进行修复处理;对于视频文件,需要将视频文件分帧后获得每一帧的待修复图像,然后通过本申请实施例提出的修复方法对每一帧的待修复图像进行修复处理。
[0053] 需要说明的是,所述参数信息可以包括曝光时长(ExposureTime)、光圈值(Fnumber)、感光度(ISO Speed Ratings)、压缩程度(Compressed Bits Per Pixel)、快门速度(Shutter Speed)、亮度(Brightness Value)、曝光补偿(Exposure Bias Value)、制造厂商、型号、拍摄日期和时间等。所述参数信息可以是图像拍摄过程中,图像采集设备的配置文件记录,例如可交换图像文件(EXIF,Exchangeable Image File Format)中记载的信息。在另一些实施例中,所述参数信息还可以是其他文件中记载的能够表征待修复图像的属性的信息。
[0054] 对于视频文件,参数信息除了上述与图像采集设备拍摄参数相关的信息之外,还可以包括:视频流的码率、帧率、分辨率等。
[0055] 需要说明的是,像素是组成数字图像的最基本的单位,可简单理解为图像中的一个含有颜色信息的小方格。本申请实施例中,所述像素信息表征待修复图像的每个小方格颜色信息对应的数值。
[0056] 本申请实施例可应用的修复工作可以包括:去模糊(Deblurring)、去噪声(Denoising)、超分(Super Resolution)、去雨滴(Deraining)等。应该理解,具有不同参数信息的图像采集设备采集到的待修复图像具有唯一的属性,也即:图像采集设备的参数信息设置不同,采集到的待修复图像的属性不同。
[0057] 步骤102:根据所述参数信息和所述像素信息对所述待修复图像进行修复处理,得到修复后图像。
[0058] 本申请提供的修复方法,利用待修复图像的参数信息和像素信息对待修复图像进行修复,得到修复后图像。如此,在修复过程中,同时利用了待修复图像的像素信息和参数信息,能够使得到的修复后图像具有更好的修复效果。
[0059] 本申请的另一实施例提供了实现步骤102的具体过程,下面参见图2,图2是本申请实施例提供的修复方法的一个可选流程示意图,将结合图2示出的步骤进行说明。
[0060] 步骤1021:根据所述像素信息提取像素特征向量;
[0061] 步骤1022:根据所述参数信息提取参数特征向量;
[0062] 步骤1023:将所述参数特征向量与所述像素特征向量融合后通过神经网络模型处理,获得所述修复后图像。
[0063] 本申请实施例将像素特征向量和参数特征向量融合后输入到预先训练的神经网络模型中进行修复处理,得到修复后图像。基于神经网络模型的修复能够减少数据运算,简化修复过程;根据像素特征向量和参数特征向量的修复能够提高图像修复效果。
[0064] 对应于步骤1021和1022,所述根据所述像素信息提取像素特征向量;根据所述参数信息提取参数特征向量,可以包括:对所述像素信息和所述参数信息进行归一化处理,分别得到归一化像素信息和归一化参数信息;根据所述归一化像素信息得到所述像素特征向量;根据所述归一化参数信息得到所述参数特征向量。
[0065] 需要说明的是,归一化指的是把需要处理的数据经过处理后(通过某种算法)限制在需要的一定范围内,例如(0,1)之间或(‑1,1)之间。本申请实施例中将归一化处理范围确定为(0,1)之间。
[0066] 本申请实施例将像素信息和参数信息进行归一化处理,能够将像素信息和参数信息的数值控制在一定的范围内,减小数据量,使得数据处理更加方便,简化计算过程,提高计算效率。
[0067] 在一些实施例中,可以利用线性归一化方法对像素信息以及参数信息进行归一化处理,线性归一化方法具体参见公式(1)。
[0068]
[0069] 对于像素信息而言,其中,xnew为归一化后的像素数值;xmax、xmin分别为业界内规定的像素最大值和像素最小值(一般像素最大值规定为255,像素最小值规定为0);x为待修复图像的一个像素的实际像素值。以实际像素值为128为例,其归一化后的值就是(128‑0)/(255‑0)=0.5。
[0070] 对于参数信息中一个参数对象而言,其中,xnew为归一化后的参数数值;xmax、xmin分别为业界内规定的该参数对象的参数最大值和参数最小值。例如以曝光时长为例,一般图像采集设备,例如摄像机的曝光时长有效范围是1/250~1秒,因此可以将曝光时长的最大值确定为1,最小值确定为1/250;x为待修复图像的一个参数的实际参数值。
[0071] 在其他实施例中,还可以采用其他方法进行上述归一化,例如零‑均值归一化方法和小数定标规范化等。其中,零‑均值归一化方法也被称为标准差标准化,是现阶段比较常用的归一化方法,经过该归一化方法处理的数据的均值为0,标准差为1;小数定标规范化通过移动实际数值的小数数位,将实际数值映射到(‑1,1)之间。在实际操作中,可根据实际需求自行选择合适的归一化方法,本申请实施例对此不做限制。
[0072] 为便于理解像素信息归一化处理的过程及参数信息归一化处理的过程,下面参见图3及图4。图3是本申请一实施例提供的像素信息归一化处理示意图,图4是本申请一实施例提供的参数信息归一化处理示意图。
[0073] 从图3中可以看出,将待修复图像的每一个像素的像素值归一化后,例如采用公式(1)计算后,得到归一化后图像。在一些实施例中,将归一化后图像经过预先训练好的用于图像修复的神经网络模型进行推理,例如卷积神经网络模型(CNN,Convolutional Neural Networks),即可得到初步修复图像,基于初步修复图像即可得到像素信息对应的像素特征向量。得到像素特征向量的过程将在下文作出详细说明。
[0074] 从图4中可以看出,将待处理图像的参数信息包含的每一个参数分别归一化计算后,得到每一个参数归一化后的数值,也就得到归一化后的参数信息。在一些实施例中,将每一个参数归一化处理后的数值组成一维向量,并将此向量经神经网络模型推理,例如多层感知器模型(MLP,Multilayer Perceptron),即可得到参数信息对应的一维参数特征向量。
[0075] 为便于理解得到参数特征向量的过程,下面参见图5,图5是本申请实施例提供的一个参数特征向量提取示意图。将每一个参数归一化处理后的数值写入一个向量中,并以此作为神经网络模型的输入,图5示出的神经网络模型为多层感知器模型。向多层感知器模型输入一个1*M大小的归一化一维向量,其中M表示参数个数,经过多层感知器模型推理后得到一个一维1*P大小的参数特征向量,其中P表示参数特征数量。
[0076] 在一些实施例中,对应于步骤1021中,所述根据所述像素信息提取像素特征向量,可以包括:
[0077] 基于所述待修复图像的像素信息对所述待修复图像进行第一修复处理,得到第一修复图像数据;
[0078] 按照空间位置将所述第一修复图像数据划分为同等大小的多个第一图像块;
[0079] 提取每一个所述第一图像块的像素特征向量。
[0080] 需要说明的是,本申请实施例在进行分块时,可以根据实际需求对第一修复图像数据进行划分,例如可以根据第一修复图像数据的行列数量将第一修复图像数据划分为同等大小的多个第一图像块,也可以根据其他设定规则将第一修复图像数据划分为便于计算的非同等大小的多个第一图像块。
[0081] 通过对第一修复图像数据进行划分,然后分别提取每一个第一图像块的像素特征向量,在后续修复过程中,基于每一个第一图像块的像素特征向量进行修复,能够确保修复的完整性,提高整体修复效果;且分块修复,可以降低每一块修复时的计算量,降低硬件的计算负荷。
[0082] 在其他实施例中,也可以不进行分块,例如图片尺寸较小的时候,直接对整个第一修复图像数据提取像素特征向量。
[0083] 下面参见图6,图6是本申请实施例提供的第一修复处理示意图。下面基于图6进行说明。
[0084] 上述第一修复处理过程可理解为,将待修复图像的像素信息进行如前所述的归一化处理后,得到归一化后图像,由于仅对像素值进行归一化处理,并不改变各像素值之间的相对关系,因此归一化后图像依旧为待修复的劣化图像。将劣化的图像输入到神经网络模型进行推理,图6示出的神经网络模型为卷积神经网络模型,模型推理后可得到第一修复图像数据,然后对第一修复图像数据进行分块,例如可以按照待修复图像的空间位置将第一修复图像数据划分为同等大小的多个第一图像块,并提取每一个第一图像块的像素特征向量。
[0085] 为便于理解分块的过程,下面参见图7,图7是本申请实施例提供的第一修复图像数据的分块示意图。
[0086] 在一些实施例中,假设输入到神经网络模型的劣化图像的分辨率为720p,也就是分辨率为1280*720,劣化图像具有三个通道,分别是红、绿、蓝三色通道。在进行模型推理时,设定一次训练所选取的样本数为1,也就是Batch Size为1。此时,神经网络模型(比如,CNN)的输入为一个四维张量,其大小为1*3*720*1280,神经网络模型的输出,也就是第一修复图像数据也是一个四维张量,其大小也为1*3*720*1280。对于该尺寸的第一修复图像数据,为便于后续的修复操作,可对第一修复图像数据进行分块,然后提取每一个第一图像块的像素特征向量实现图像修复。在具体实施过程中,分块方法可以是根据第一修复图像数据的长、宽,按照空间位置进行均分,例如图7所示,将第一修复图像数据划分为16个同等大小的第一图像块(patch1~patch16);分块方法还可以是根据实际需求,按照设定规则将第一修复图像数据划分为任意大小的多个第一图像块,为便于区分每个块,还可以按顺序给每个第一图像块编号,例如图7所示标上序号1~16。
[0087] 需要说明的是,分块得到的第一图像块对应的像素特征向量是多维的,多维的像素特征向量可简单理解为第一图像块包含的像素组成的N行M列的矩阵。在一些实施例中,提取每一个第一图像块的像素特征向量的过程可以是,获得所述第一图像块对应的特征像素组成的N行M列的矩阵。在一些实施例中,针对步骤1023,所述将所述参数特征向量与所述像素特征向量融合后通过神经网络模型处理,获得所述修复后图像,可以包括:
[0088] 将所述每一个第一图像块对应的像素特征向量分别与所述参数特征向量进行融合,得到每一个第一图像块对应的融合特征向量;
[0089] 将每一个所述融合特征向量通过神经网络模型处理得到与多个第一图像块对应的多个第二图像块;
[0090] 基于所述多个第二图像块得到所述修复后图像。
[0091] 本申请实施例将每一个第一图像块对应的像素特征向量分别与参数特征向量进行融合,得到每一个第一图像块对应的融合特征向量,然后通过神经网络模型基于融合特征向量对每一个第一图像块进行修复。通过神经网络模型修复能够提高修复效率,分块修复能够对待修复图像的每一个部分都进行修复,确保修复的全面性,修复时充分考虑了像素信息和参数信息,进而能够提高修复效果。
[0092] 需要说明的是,向量融合也就是将至少两个向量融合为一个向量的过程,融合时两个向量的维度应该相同。向量融合的过程可以有多种形式,例如可以包括以下方式中的一种或几种:两个向量的连接、一个向量插入到另一个向量中、两向量相乘或相加等。其中,向量连接的过程可理解为,假设两个一维的向量分别为[1,2,3,4]及[5,6],向量连接能够产生[1,2,3,4,5,6]这样一个1*6大小的一维融合向量。向量相加的过程可以是按点逐位相加的方法,进行该方法的前提是两个向量的维度相同,然后按位相加。应该理解,融合方法越复杂,运算速度越慢,但修复效果越好。因此在实际操作时,需要同时考虑运算速度与修复效果,从而选择最合适的融合方法。
[0093] 在一些实施例中,每一个第一图像块对应的像素特征向量可以为多维向量,例如二维或者三维;在所述将所述每一个第一图像块对应的像素特征向量分别与所述参数特征向量进行融合之前,所述方法还包括:对每一个所述像素特征向量进行重排处理,得到所述每一个第一图像块的与所述参数特征向量维度相同的一维向量。
[0094] 上述过程也就是,在将像素特征向量和参数特征向量进行融合之前,需要将两向量的维度统一,由于参数特征向量本身是一维特征向量,因此需要对第一图像块对应的多维向量进行重排,得到一维向量。具体重排的过程可以是,将第一图像块包含的像素组成的N行M列的矩阵重排成一行或一列的矩阵,得到一维向量。
[0095] 为便于理解重排的过程,下面进行举例说明。例如参见矩阵(1)和矩阵(2),矩阵(1)是一个二行二列的矩阵,矩阵(2)是矩阵(1)重排后得到的大小为1*4的一行4列的矩阵。
[0096]
[0097] [x1 x2 x3 x4](2)
[0098] 为便于理解上述特征向量融合的过程,下面参见图8,图8是本申请实施例提供的一个图像修复过程示意图。如图8所示,本申请实施例在进行图像修复时,一方面基于前述方法,将像素信息归一化处理后输入到第一神经网络模型,图8示出的第一神经网络模型可以为CNN网络模型,CNN网络模型输出第一修复图像数据后分块能够得到多个第一图像块,图8示出了块1至块N。对每一个第一图像块进行处理,得到每一个第一图像块对应的像素特征向量。需要说明的是,本申请实施例中,得到每一个第一图像块对应的像素特征向量的过程可以是如前文所述的获得方式。
[0099] 另一方面,基于前述方法,将参数信息归一化处理后输入到第二神经网络模型,图8示出的第二神经网络模型为MLP网络模型。MLP网络模型输出为参数信息对应的参数特征向量。特征融合时,将每一个第一图像块对应的像素特征向量分别和参数特征向量进行融合,得到每一个第一图像块对应的融合特征向量,然后将每一个融合特征向量通过图8所示的第三神经网络模型处理得到与多个第一图像块对应的多个第二图像块,图8示出了块1至块N修复后对应的块1'至块N',基于多个第二图像块形成修复后图像。其中,所述第三神经网络模型可以为N层的MLP网络模型,其中,N根据实际处理确定。为便于理解上述步骤1023的修复过程,下面参见图9,图9是本申请实施例提供的一个第一图像块的修复过程示意图。
[0100] 图9示出了某一个第一图像块的修复过程。图9中首先将维度为N*M的第一图像块转换为大小为1*(NM)的一维向量,该一维向量也就是第一图像块对应的多维像素特征向量平摊之后得到的像素特征向量,然后将平摊之后的像素特征向量和大小为1*P的参数特征向量进行融合,此处以向量连接的融合方式作为示例,得到大小为1*(P+NM)的融合特征向量。将融合特征向量输入到神经网络模型进行推理(图9中示出了MLP网络模型),即可得到修复后图像。需要说明的是,此处所说的平摊也就是前文所述的将第一图像块包含的像素组成的N行M列的矩阵重排成一行或一列的矩阵的过程。
[0101] 在一些实施例中,对融合特征向量进行处理的神经网络模型可以是感知器模型,所述将每一个所述融合特征向量通过神经网络模型处理得到与多个第一图像块对应的多个第二图像块,可以包括:
[0102] 通过所述感知器模型对每一个所述融合特征向量进行处理,得到多个第二修复后的像素特征向量;将每一个所述第二修复后的像素特征向量重新排列得到所述多个第二图像块,其中,所述重新排列的过程与所述重排处理的过程互为逆处理过程。
[0103] 需要说明的是,例如图9中所示,感知器模型(MLP)的输出是一个一维的像素特征向量,为了得到第二图像块,还需要将第二修复后的像素特征向量重新排列,该过程可简单理解为将一个一行或一列的矩阵转换为多行多列的矩阵,也就是前述矩阵重排过程的逆处理过程。例如图9中MLP网络模型的输出为一个大小为1*(MN)的一维的像素特征向量,为了得到第二图像块,需要将一维的像素特征向量转换成多维的像素特征向量,该过程也可简单理解为将前述的矩阵(2)转换为矩阵(1)的过程。
[0104] 在一些实施例中,所述基于所述多个第二图像块得到所述修复后图像,包括:根据所述空间位置,对所述多个第二图像块进行排序处理,获得与所述待修复图像对应的修复后图像。应该理解,由于在进行第二修复时是对每一个图像块分别进行修复,因此修复得到的每一个第二图像块都是修复后图像的一部分,为了得到如图8所示的完整的修复后图像,还需要对多个第二图像块进行排列才能得到与待修复图像对应的修复后图像。本申请实施例中,可采用与第一修复图像数据进行分块的方法相对应的方法对多个第二图像块进行排列。例如,若按照空间位置对第一修复图像数据进行分块,排列时,则同样按照所述空间位置对多个第二图像块进行排列;若按照行列数量对第一修复图像数据进行分块,排列时,则同样按照所述行列数量对多个第二图像块进行排列。
[0105] 在一些实施例中,所述根据所述参数信息和像素信息对所述待修复图像进行修复处理,得到修复后图像,还可以包括:
[0106] 基于待修复图像的像素信息对所述待修复图像进行第一修复处理,得到第一修复图像数据;
[0107] 基于所述待修复图像的参数信息对所述第一修复图像数据进行第二修复处理,得到与所述待修复图像对应的修复后图像。
[0108] 上述过程也就是,本申请实施例的待修复图像的修复过程包括先后两个方面的修复,具体包括基于像素信息的第一修复以及基于参数信息的第二修复。应该理解,对于待修复图像而言,在基于像素信息进行第一修复后得到的第一修复图像数据修复效果还不够理想,因此需要基于参数信息进一步对第一修复图像数据进行第二修复,使得到的修复后图像具有更好的修复效果。需要说明的是,本申请实施例中,进行第一修复的过程可以如前述基于像素特征向量的方式实现,进行第二修复的过程可以如前述基于参数特征向量的方式实现,当然,第一修复和第二修复的过程还可以采用除前述处理方式以外的其他方式,本申请实施例对此不做限制。
[0109] 本申请实施例提供的修复方法,利用待修复图像的参数信息和像素信息对待修复图像进行修复,得到修复后图像。如此,在修复过程中,同时利用到了待修复图像的像素信息和参数信息,能够使修复得到的修复后图像具有更好的修复效果。
[0110] 本申请实施例所述的待修复图像还可以是视频文件的单帧图像。也就是说,本申请的方法还能应用于对视频文件的修复。视频文件的修复可以包括对视频文件的每一帧图像进行的修复。下面结合图10对视频文件的修复处理过程进行说明。
[0111] 如图10所示,对于利用某硬件设备采集到的视频文件,该视频文件的参数信息如前述所言,可以是硬件设备的配置文件记录,例如可交换图像文件中记载的信息;参数信息还可以是其他文件中记载的能够表征视频文件的属性的信息,图10中以可交换图像文件中记载的信息作为示例。在实际修复过程中,基于图10,可以从可交换图像文件中获取参数信息,然后根据前述所述的方法,对参数信息进行归一化处理得到归一化后的参数信息,将归一化后的参数信息经参数特征提取网络(例如图5中所示的MLP神经网络)的推理可得到视频文件对应的参数特征向量。对于视频文件的修复过程,首先将视频文件分帧后得到多个单帧图像,例如图10中示出的第一帧图像~第N帧图像,然后分别对每一帧图像进行修复,即可得到修复后视频文件。需要说明的是,所述第一帧图像~第N帧图像的修复处理过程均相同。下面以第N帧图像为例说明第一帧图像~第N帧图像的修复处理过程。
[0112] 对于第N帧图像,按照前述像素信息的处理方法,先将第N帧图像的像素信息归一化后输入到图像修复网络中进行第一修复处理,该过程也就是图6所示的处理过程,得到第一修复图像数据,然后对第一修复图像数据进行分块得到多个第一图像块,提取每一个第一图像块的像素特征向量,然后将每一个第一图像块的像素特征向量和视频文件对应的参数特征向量进行融合,得到多个融合特征向量,通过神经网络模型(例如MLP网络模型)对多个融合特征向量的推理,可得到修复后的第N帧图像。对其他帧图像例如第一帧图像~第N‑1帧图像进行与第N帧图像相同的修复方法。如此,可得到修复后视频文件。
[0113] 应该理解,对于一段视频而言,由于采集该视频的硬件设备是固定的,因此本申请实施例中,对于一段视频只需要提取一次参数特征向量,后续特征融合过程所使用的参数特征向量均相同;由于每一帧图像的像素信息会有所不同,因此需要提取出每一帧图像的像素特征向量,然后根据参数特征向量和每一帧图像的像素特征向量分别对每一帧图像进行修复。需要说明的是,本申请实施例所采用的神经网络模型均为预先训练好的模型。下面参见图8,基于图8对本申请实施例所采用的神经网络模型的训练过程进行说明。
[0114] 如图8所示,本申请实施例所需的神经网络模型结构包括第一至第三神经网络模型。本申请实施例中第一神经网络模型可以是CNN网络模型、第二和第三神经网络模型可以是MLP网络模型。本申请实施例的神经网络模型结构搭建好后在进行模型训练时,可根据预先搜集的图像数据对第一至第三神经网络模型同时进行训练,也就是对神经网络模型结构整体进行训练,在第一至第三神经网络模型的输出均达到期望效果后,得到本申请实施例所需的神经网络模型结构;在另一些实施例中,模型训练的过程还可以是先训练第一神经网络模型(也就是CNN网络模型),所述第一神经网络模型用于仅根据像素信息对图像进行预修复处理,在第一神经网络模型的输出达到期望效果后,然后将训练好的第一神经网络模型和第二神经网络及第三神经网络模型组合在一起进行训练,如此可减少训练时间,还可以使本申请实施例所需的神经网络模型结构具有更好的修复效果。需要说明的是,前述图像修复方法包括的特征融合、分块等操作所采用的配置和训练好的神经网络模型结构所采用的配置保持一致。
[0115] 在一些实施例中,根据不同使用场景的实际需求,本申请实施例提供的如图8所示的神经网络模型结构可以只用于修复单张照片,也可以只用于修复视频文件,还可以同时用于修复单张照片和视频文件。具体地,若只用于修复单张照片,模型训练时则仅以图像数据进行训练;若只用于修复视频文件,模型训练时则仅以视频数据进行训练;若同时用于修复单张照片和视频文件,模型训练时则以图像数据和视频进行训练。如此可使用户针对不同的使用场景,选择合适的模型训练方式,从而提高模型训练效率,节省模型训练时间。需要说明的是,对于能够同时修复单张照片和视频文件的神经网络模型,在实际应用过程中,该神经网络模型首先需要对输入的对象进行识别,然后根据对象类型切换该神经网络模型对应的修复参数。具体地,若神经网络模型识别出输入的对象为单张照片,则该神经网络模型会将修复参数切换为修复照片对应的参数;若神经网络模型识别出输入的对象为视频文件,则该神经网络模型会将修复参数切换为修复视频文件对应的参数。
[0116] 基于相同的发明构思,本申请实施例还提供一种修复装置,参考图11,图11是本申请实施例提供的一种修复装置的结构示意图。所述装置110包括:获取模块1101、修复模块1102。
[0117] 其中,所述获取模块1101,用于获取待修复图像的参数信息和像素信息,所述参数信息用于表征所述待修复图像的属性。
[0118] 所述修复模块1102,用于根据所述参数信息和像素信息对所述待修复图像进行修复处理,得到修复后图像。
[0119] 在一些实施例中,所述修复模块1102还用于根据所述像素信息提取像素特征向量;根据所述参数信息提取参数特征向量;将所述参数特征向量与所述像素特征向量融合后通过神经网络模型处理,获得所述修复后图像。
[0120] 在一些实施例中,所述修复模块1102还用于对所述像素信息和所述参数信息进行归一化处理,分别得到归一化像素信息和归一化参数信息;根据所述归一化像素信息得到所述像素特征向量;根据所述归一化参数信息得到所述参数特征向量。
[0121] 在一些实施例中,所述修复模块1102还用于基于所述待修复图像的像素信息对所述待修复图像进行第一修复处理,得到第一修复图像数据;按照空间位置将所述第一修复图像数据划分为同等大小的多个第一图像块;提取每一个所述第一图像块的像素特征向量。
[0122] 在一些实施例中,所述修复模块1102还用于将所述每一个第一图像块对应的像素特征向量分别与所述参数特征向量进行融合,得到每一个第一图像块对应的融合特征向量;将每一个所述融合特征向量通过神经网络模型处理得到与多个第一图像块对应的多个第二图像块;基于所述多个第二图像块得到所述修复后图像。
[0123] 在一些实施例中,所述每一个第一图像块对应的像素特征向量为多维向量;在所述将所述每一个第一图像块对应的像素特征向量分别与所述参数特征向量进行融合之前,所述修复模块1102还用于对每一个所述像素特征向量进行重排处理,得到所述每一个第一图像块的与所述参数特征向量维度相同的一维向量。
[0124] 在一些实施例中,所述神经网络模型为感知器模型;所述修复模块1102还用于通过所述感知器模型对每一个所述融合特征向量进行处理,得到多个第二修复后的像素特征向量;将每一个所述第二修复后的像素特征向量重新排列得到所述多个第二图像块,其中,所述重新排列的过程与所述重排处理的过程互为逆处理过程。
[0125] 在一些实施例中,所述修复模块1102还用于根据所述空间位置,对所述多个第二图像块进行排序处理,获得与所述待修复图像对应的修复后图像。
[0126] 在一些实施例中,所述修复模块1102还用于基于待修复图像的像素信息对所述待修复图像进行第一修复处理,得到第一修复图像数据;基于所述待修复图像的参数信息对所述第一修复图像数据进行第二修复处理,得到与所述待修复图像对应的修复后图像。
[0127] 需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
[0128] 需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的修复方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
[0129] 本申请实施例还提供一种电子设备,所述电子设备至少包括:处理器和配置为存储可执行指令的计算机可读存储介质,其中处理器通常控制所述电子设备的总体操作。计算机可读存储介质配置为存储由处理器可执行的指令和应用,还可以缓存待处理器和电子设备中各模块待处理或已处理的数据,可以通过闪存或随机访问存储器(RAM,Random Access Memory)实现。本申请实施例中,所述处理器可以是神经网络处理器(NPU,Neural network Processing Unit)、图形处理器(GPU,Graphic Processing Unit)等用于进行神经网络计算的处理器。
[0130] 本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的修复方法。
[0131] 在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD‑ROM,Compact Disk‑Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0132] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0133] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0134] 需要说明的是,本申请实施例各实施例所记载的技术方案中各技术特征之间,在不冲突的情况下,可以任意组合。
[0135] 应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0136] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0137] 以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。