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

相机成像方法、装置、介质及设备

文献发布时间:2023-06-19 13:45:04


相机成像方法、装置、介质及设备

技术领域

本文涉及图像复原领域,尤其涉及一种相机成像方法、装置、介质及设备。

背景技术

随着智能手机的普及,越来越多的人开始使用手机来创作摄影作品。相关技术中,由于手机的传感器使用拜耳阵列来采集数据,图像传感器的每个像素点基于拜耳阵列,只获取R、G、B通道中某一通道的像素值,得到RAW域数据。要输出完整的sRGB域图像,需要补全每个像素点的三通道像素值,还要经过手机内置的ISP流程(包含黑电平校正、镜头阴影校正、坏点校正、插值、白平衡、颜色校正、伽马校正和色调映射等子模块,此外还有自动曝光、降噪和锐化等模块)对RAW域数据进行一系列的处理。智能手机最终获得的图像质量,相比专业的摄像设备还有很大差距,手机摄影的质量仍需提高。而且,对多个模块进行独立调节是一项繁琐的工作,需要消耗大量的人力和时间,还会造成信息的损失累积、细节丢失、高噪声等问题。

发明内容

为克服相关技术中存在的问题,本文提供一种相机成像方法、装置、介质及设备。

根据本文的第一方面,提供一种相机成像方法,包括:

使用目标设备获取多个Raw域的图像数据,使用参照设备获取与多个Raw域的图像数据相对应的多个sRGB域的图像;

对多个Raw域的图像数据对进行归一化处理;

使用归一化处理后的多个Raw域的图像数据和对应的多个sRGB域的图像训练神经网络;

将训练后的神经网络应用于目标设备,以使目标设备根据拍摄的Raw域的图像数据生成sRGB域的图像。

基于前述方案,归一化处理包括:

对Raw域的图像数据进行黑电平校正处理,或者将Raw域的图像数据中每一像素点的值除以预设值。

基于前述方案,使用预处理后的多个Raw域的图像数据和多个sRGB域的图像训练神经网络包括:

将预处理后的Raw域的图像数据作为神经网络的输入数据,将与Raw域的图像数据对应的sRGB域的图像作为神经网络的输出图像,训练神经网络以获取Raw域图像数据和sRGB域图像之间的映射关系。

基于前述方案,神经网络为N层结构,第二层至第N层中,每层包括多个卷积堆叠模块,将预处理后的Raw域的图像数据作为神经网络的输入数据包括:

将所述Raw域的图像数据按B、Gb、R、Gr的通道顺序转换为4通道数据后,输入神经网络的第二层;将第二层中经一个卷积堆叠模块处理并池化后的数据作为第三层的输入数据,依次类推,直至第N层;

将与Raw域的图像数据对应的sRGB域的图像作为神经网络的输出图像包括:

将sRGB域的图像作为神经网络的第一层的输出,将sRGB域的图像经N-1次下采样后的图像作为第N层的输出图像,其中N为大于等于3的整数。

基于前述方案,神经网络的第二层至第N-1层,还包括合并模块,用于将每一层的输入数据与下一层的输出数据的上采样结果进行合并。

基于前述方案,训练神经网络包括:

按从第N层到第一层的顺序,逐层对神经网络进行训练。

根据本文的另一方面,提供一种相机成像装置,包括:

图像获取模块,用于使用目标设备获取多个Raw域的图像数据,使用参照设备获取与所述多个Raw域的图像数据相对应的多个sRGB域的图像;

归一化处理模块,用于对所述多个Raw域的图像数据对进行归一化处理;

训练模块,用于使用预处理后的多个Raw域的图像数据和多个sRGB域的图像训练神经网络;

应用模块,用于将训练后的神经网络应用于所述目标设备,以使所述目标设备根据拍摄的Raw域的图像数据生成sRGB域的图像。

基于前述方案,训练模块使用预处理后的多个Raw域的图像数据和多个sRGB域的图像训练神经网络包括:

将预处理后的Raw域的图像数据作为神经网络的输入数据,将与Raw域的图像数据对应的sRGB域的图像作为神经网络的输出图像,训练神经网络以获取Raw域图像数据和sRGB域图像之间的映射关系。

根据本文的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现相机成像方法的步骤。

根据本文的另一方面,提供一种一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,所述处理器执行所述计算机程序时实现相机成像方法的步骤。

本文通过使用目标设备获取多个Raw域的图像数据,并使用参照设备获取与Raw域的图像数据对应的sRGB域的图像,使用一一对应的Raw域的图像数据和sRGB域的图像,训练神经网络,将训练好的神经网络应用于目标设备,可以实现目标设备在拍摄时,能够由神经网络根据Raw域的图像数据生成sRGB域的图像,sRGB域的图像效果接近专业拍摄设备的效果,提高拍摄质量。且不需要目标设备内置ISP流程,避免对ISP流程中各个模块的独立调节,节省时间,提高产品开发进度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本文。

附图说明

构成本文的一部分的附图用来提供对本文的进一步理解,本文的示意性实施例及其说明用于解释本文,并不构成对本文的不当限定。在附图中:

图1是根据一示例性实施例示出的相机成像方法的流程图。

图2是根据一示例性实施例示出的神经网络结构示意图。

图3是根据一示例性实施例示出的相机成像装置的框图。

图4是根据一示例性实施例示出的一种相机成像设备的框图。

具体实施方式

为使本文实施例的目的、技术方案和优点更加清楚,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。

随着智能手机的普及,越来越多的人开始使用手机来创作摄影作品。相关技术中,由于手机的传感器使用拜耳阵列来采集数据,图像传感器的每个像素点基于拜耳阵列,只获取R、G、B通道中某一通道的像素值,得到RAW域数据。要输出完整的sRGB域图像,需要补全每个像素点的三通道像素值,还要经过手机内置的ISP流程(包含黑电平校正、镜头阴影校正、坏点校正、插值、白平衡、颜色校正、伽马校正和色调映射等子模块,此外还有自动曝光、降噪和锐化等模块)对RAW域数据进行一系列的处理。智能手机最终获得的图像质量,相比专业的摄像设备还有很大差距,手机摄影的质量仍需提高。而且,对多个模块进行独立调节是一项繁琐的工作,需要消耗大量的人力和时间,还会造成信息的损失累积、细节丢失、高噪声等问题。

本文提供一种相机成像方法,可以应用于智能手机,平板电脑等电子设备,也可应用于具有相机功能的其他电子设备,例如照相机、智能家居设备。

图1是根据一示例性实施例示出的相机成像方法的流程图。参考图1,相机成像方法至少包括步骤S11至步骤S14,详细介绍如下:

步骤S11,使用目标设备获取多个Raw域的图像数据,使用参照设备获取与所述多个Raw域的图像数据相对应的多个sRGB域的图像。

在本申请中,目标设备是指其上设置的相机待进行调节的设备,参照设备是指具有理想拍摄效果的相机设备。例如,目标设备可以是开发中的智能手机,需要对智能手机中的相机功能进行各种调试,调试好的目标设备才能正常上市出售;参照设备可以是专业的相机设备,例如单反相机。当然,目标设备还可以是其他具备相机功能的电子设备,参照设备也可以是其他具有理想拍摄效果的相机设备。

使用目标设备拍摄多个Raw域的图像数据,RAW图像数据就是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据。使用参照设备获取与多个Raw域的图像数据相对应的多个sRGB域的图像,sRGB(standard Red Green Blue)通用色彩标准,是数码相机、数码摄像机、扫描仪、显示器等普遍采用的色彩标准。

所采集的多个Raw域的图像数据和多个sRGB域的图像一一对应,以便于训练神经网络。本领域技术人员应该明白,获取的一一对应的Raw域的图像数据和sRGB域的图像的像素尺寸相同,图像内容一致。例如,使用智能手机作为目标设备,使用专业单反相机作为参考设备,同时拍摄同一场景的图像对,从获取的图像对中裁剪出像素尺寸相同图像内容一致的一一对应的Raw域的图像数据和sRGB域的图像,通过多次拍摄不同场景,并经裁剪处理,可以获取多个Raw域的图像数据和多个sRGB域的图像,作为训练集,用于训练神经网络。还可以获取多个不同于训练集的Raw域的图像数据和多个sRGB域的图像,作为测试集。

步骤S12,对多个Raw域的图像数据对进行归一化处理。由于图像感应器中的每个像素点只能感光一种颜色,根据感光度强度不同,转换成不同的数字,也就是Raw域的图像数据中的像素值。不同图像感应器中这一数字是不同的,例如,8bit的图像感应器中一个像素点感光从最暗到最亮分为256个层次,对应图像数据中的像素值的范围为0-255;而10bit的图像感应器中一个像素点感光从最暗到最亮分为1024个层次,对应图像数据中的像素值的范围为0-1023。因此有必要对Raw域的图像数据进行归一化处理,将处理后的Raw域的图像数据的像素值的范围转换为0-1,以便于神经网络进行特征提取。

在一实例性实施例中,归一化处理包括:

对Raw域的图像数据进行黑电平校正处理,或者将Raw域的图像数据中每一像素点的值除以预设值。

例如,如果目标设备获取的Raw域的图像数据为原始图像数据,可以通过黑电平校正来实现归一化处理,黑电平校正可以表示为:

y=(x-bl)/(wl-bl)

其中,x和y分别表示处理前后的数据,bl表示black level(黑电平),wl表示whitelevel(白电平)。

如果目标设备获取的Raw域的图像数据已经进行了初步处理,仅保留每个像素点的像素值,其中black level(黑电平)数据,white level(白电平)数据已经缺失,无法通过上述黑电平校正来实现归一化处理,此时可以通过将Raw域的图像数据中每一像素点的值除以预设值的方法实现归一化处理,例如,对于8bit的图像感应器,该预设值可以为255,对于10bit的图像感应器,该预设值可以为4×255。通过归一化处理,将Raw域的图像数据中每一像素点的像素值变化为0-1之间,便于输入神经网络,对神经网络进行训练。

步骤S13,使用归一化处理后的多个Raw域的图像数据和对应的多个sRGB域的图像训练神经网络。

获取到足够数量的Raw域的图像数据和对应的sRGB域的图像后,并对Raw域的图像数据完成归一化处理,即可使用Raw域的图像数据和对应的sRGB域的图像对神经网络进行训练。

在一示例性实施例中,使用预处理后的多个Raw域的图像数据和多个sRGB域的图像训练神经网络包括:

将预处理后的Raw域的图像数据作为神经网络的输入数据,将与Raw域的图像数据对应的sRGB域的图像作为所述神经网络的输出图像,训练神经网络以获取Raw域图像数据和sRGB域图像之间的映射关系。

将一一对应的Raw域的图像数据和sRGB域的图像分别作为神经网络的输入和输出,对神经网络进行训练,使得神经网络能够学习到Raw域图像数据和sRGB域图像之间的映射关系。

步骤S14,将训练后的神经网络应用于目标设备,以使目标设备根据拍摄的Raw域的图像数据生成sRGB域的图像。

将训练好的神经网络应用于目标设备后,神经网络可以根据目标设备拍摄的Raw域的图像数据和映射关系,得到sRGB域图像,从而不再需要开发人员建立ISP流程,避免了对多个ISP流程中的模块进行独立调节所消耗的大量人力和时间。另外,由于训练神经网络使用参照设备的sRGB域图像作为输出,从而使得目标设备拍摄的Raw域的图像数据经过神经网络处理后,最终得到的图像效果会接近参照设备的sRGB域图像的效果。例如,使用智能手机作为目标设备,使用专业单反相机作为参考设备,在将训练好的神经网络应用于智能手机后,可以实现智能手机拍摄的图像具有专业单反相机拍摄的图像效果,从而提高目标设备的成像质量。

在一示例性实施例中,神经网络为N层结构,每层中包括多个卷积堆叠模块(ConvMultiBlock),将预处理后的Raw域的图像数据作为所述神经网络的输入数据包括:

将Raw域的图像数据按B、Gb、R、Gr的通道顺序转换为4通道数据后,输入神经网络的第二层;将第二层中经一个卷积堆叠模块处理并池化(Maxpooling)后的数据作为第三层的输入数据,依次类推,直至第N层,其中N为大于等于3的整数。

将与所述Raw域的图像数据对应的sRGB域的图像作为所述神经网络的输出图像包括:

将所述sRGB域的图像作为所述神经网络的第一层的输出,将所述sRGB域的图像经N-1次下采样后的图像作为第N层的输出图像。

在本实施例中,神经网络为多层结构,其层数为N,N为大于等于3的整数。

图2是根据一示例性实施例示出的神经网络结构示意图。参考图2,在神经网络中,每层包括多个卷积堆叠模块(ConvMultiBlock),每个卷积堆叠模块包括2个卷积层(Conv),每个卷积层后都接有实例标准化层IN(Instance Normalization)和非线性激活层LReLU(Leakey ReLU)。

以训练数据为长宽448像素的图像数据为例,将归一化处理后的数据输入神经网络前,由于Raw域的图像数据以拜尔阵列的形式存储,R、Gr、B和Gb四通道像素值以某种规律排列成一个单层向量。数据在进入卷积神经网络前,还需要将代表四个通道的像素值单独分开,并以B、Gb、R、Gr的通道顺序排列。Raw域数据是1×448×448大小的数组,应将其转换为4×224×224大小的数组输入神经网络的第二层,将1×448×448大小的sRGB域的图像作为神经网络的第一层的输出。同时将第二层中经一个所述卷积堆叠模块处理并池化后的数据作为第三层的输入数据,依次类推,直至第N层。将sRGB域的图像经N-1次下采样后的图像作为第N层的输出图像。

采用多层结构的神经网络,可以逐层对神经网络的学习结果进行监督,提高训练效果。

在一示例性实施例中,神经网络的第二层至第N-1层,还包括合并层(Concat),用于将每一层的输入数据与下一层的输出数据的上采样结果进行合并。

如图2所示,图中共有5层,其中第二层到第4层中还包括合并模块(Concat),用于将每一层的输入数据与下一层的输出数据的上采样结果进行合并。

在对多层结构的神经网络进行训练时,保持上下层数据之间的联系,提高训练效果。

在一示例性实施例中,训练神经网络包括:

按从第N层到第一层的顺序,逐层对神经网络进行训练。

从最下层开始训练神经网络,训练完成下一层后,再累加上一层进行训练,逐层累积并完成整个神经网络的训练,提高训练效果。

下面以图2为例,对本文中的神经网络进行详细说明。如图2建立5层结构的神经网络,将长宽448像素的Raw域的图像数据转换为4通道数据后,每个通道的数据大小为224×224,将4个通道的数据作为输入数据(Input),输入神经网络的第2层(level1)。输入数据经第二层(level1)的第一个卷积堆叠模块和池化处理后,传入第二层,以此类推,输入数据(Input)经过3个卷积堆叠模块(ConvMultiBlock),和3次池化(Maxpooling)后,进入最低层(level4),即第5层。在第5层中,包括4个卷积堆叠模块(ConvMultiBlock)、3个残差模块(Tensor Summation)、1×1的卷积层和S型生长曲线(Sigmoid)函数的组合模块(Conv+Sigmiod),其中第三个残差块的输出经上采样(Upsampling)后向上传递到第4层(level3),同时,第三个残差块的输出进入1×1的卷积层和S型生长曲线(Sigmoid)函数的组合模块,输出是第5层(level4)的输出,第5层的输出数据为448×448大小的sRGB域的图像进行4次下采样后的图像,大小为28×28。在第4层中依次包括卷积堆叠模块、合并模块、卷积堆叠模块、1×1的卷积层和S型生长曲线(Sigmoid)函数的组合模块,输入数据(Input)经过2个卷积堆叠模块(ConvMultiBlock),和2次池化(Maxpooling)后,进入第4层(level3),经第一个卷积堆叠模块处理后的数据和第5层中第三个残差块的输出经上采样(Upsampling)后向上传递的数据同时进入合并模块,合并模块(Concat)将第一个卷积堆叠模块(ConvMultiBlock)的输出和来自level4的特征图拼接在一起,第二个卷积堆叠模块(ConvMultiBlock)处理后的数据,一方面经上采样进入第三层,一方面经1×1的卷积层和S型生长曲线(Sigmoid)函数的组合模块后作为第4层的输出数据,第4层的输出数据为448×448大小的sRGB域的图像进行3次下采样后的图像,大小为56×56。第3层和第2层的结构与第4层的结构相同,数据处理过程也相同,不再累述。第1层中只包括1×1的卷积层和S型生长曲线(Sigmoid)函数的组合模块,其输入为第二层中第二个卷积堆叠模块的输出经上采样的数据,输出为448×448大小的sRGB域的图像。

训练过程中,先对第5层(level4)进行训练,参考标准(Ground Truth)即第5层的输出,为448×448大小的sRGB域的图像经四次下采样后的sRGB域数据,大小为大小为28×28。第5层的输入数据是4×224×224大小的数组经3次池化后的数据,大小为28×28。对第5层训练后,获取到28×28大小的Raw域的图像数据和同样大小的sRGB域数据的映射关系,并将训练结果向上传递到第4层,接着对第4层进行训练,直到第一层。最终获得Raw域图像数据和sRGB域图像之间的映射关系。

使用测试集中的图像对神经网络进行测试,评估训练效果,如训练效果符合预期,即可结束训练,将训练后的神经网络应用于目标设备中,在目标设备获取Raw域的图像数据后,可以由神经网络完成Raw域的图像数据的处理,并使目标设备的最终成像效果接近参考设备的成像效果,同时简化图像处理过程,减少调试相机的人力投入和时间成本。

图3是根据一示例性实施例示出的相机成像装置框图。参考图3,成像装置包括:图像获取模块301,归一化处理模块302,训练模块303,应用模块304。

该图像获取模块301被配置为用于使用目标设备获取多个Raw域的图像数据,使用参照设备获取与所述多个Raw域的图像数据相对应的多个sRGB域的图像。

该归一化处理模块302被配置为用于对多个Raw域的图像数据对进行归一化处理。

该训练模块303被配置为用于使用预处理后的多个Raw域的图像数据和多个sRGB域的图像训练神经网络。

该应用模块304被配置为用于将训练后的神经网络应用于目标设备,以使目标设备根据拍摄的Raw域的图像数据生成sRGB域的图像。

在一示例性实施例中,该归一化处理模块302对多个Raw域的图像数据对进行归一化处理包括:

对Raw域的图像数据进行黑电平校正处理,或者将Raw域的图像数据中每一像素点的值除以预设值。

在一示例性实施例中,训练模块使用预处理后的多个Raw域的图像数据和多个sRGB域的图像训练神经网络包括:

将预处理后的Raw域的图像数据作为所述神经网络的输入数据,将与Raw域的图像数据对应的sRGB域的图像作为神经网络的输出图像,训练神经网络以获取Raw域图像数据和sRGB域图像之间的映射关系。

图4是根据一示例性实施例示出的一种用于相机成像设备400的框图。参照图4,设备400包括处理器401,处理器的个数可以根据需要设置为一个或者多个。设备400还包括存储器402,用于存储可由处理器401的执行的指令,例如应用程序。存储器的个数可以根据需要设置一个或者多个。其存储的应用程序可以为一个或者多个。处理器401被配置为执行指令,以执行上述相机成像方法。

本领域技术人员应明白,本文的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本文可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本文可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

尽管已描述了本文的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本文范围的所有变更和修改。

显然,本领域的技术人员可以对本文进行各种改动和变型而不脱离本文的精神和范围。这样,倘若本文的这些修改和变型属于本文权利要求及其等同技术的范围之内,则本文的意图也包含这些改动和变型在内。

技术分类

06120113791112