图像处理方法、装置、电子设备及计算机可读存储介质与流程

未命名 07-22 阅读:117 评论:0


1.本技术涉及图像处理技术领域,具体而言,本技术涉及一种图像处理方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.demosaic(去马赛克)是isp(image signal processing,图像信号处理)中最重要的一环,主要功能是将感光传感器(sensor)输出的raw(未经处理的)数据,转换成人眼可以看到的全彩色rgb数据,以便在显示设备上输出。
3.近年来,基于深度学习的图像处理方法取得了令人瞩目的发展。然而,现有基于深度学习的去马赛克方法所采用的模型无法有效利用像素点上的真实数据,导致产生伪纹理等问题,影响成像质量。


技术实现要素:

4.本技术实施例的目的旨在能解决去马赛克过程中出现的伪纹理问题。
5.根据本技术实施例的一个方面,提供了一种图像处理方法,该方法包括:
6.确定待处理图像中像素点分别对应的颜色值和纹理值;
7.对特征图进行插值,得到处理后的图像,特征图是基于像素点分别对应的颜色值和纹理值得到的。
8.根据本技术实施例的一个方面,提供了另一种图像处理方法,该方法包括:
9.通过预设的至少两种插值方式,分别对待处理特征图进行插值,得到至少两种插值方式分别对应的插值结果;
10.基于两种插值方式分别对应的插值结果,得到最终插值结果。
11.根据本技术实施例的一个方面,提供了一种图像处理装置,该装置包括:
12.确定模块,用于确定待处理图像中像素点分别对应的颜色值和纹理值;
13.第一插值模块,用于对特征图进行插值,得到处理后的图像,特征图是基于像素点分别对应的颜色值和纹理值得到的。
14.根据本技术实施例的一个方面,提供了另一种图像处理装置,该装置包括:
15.第二插值模块,用于通过预设的至少两种插值方式,分别对待处理特征图进行插值,得到至少两种插值方式分别对应的插值结果;
16.融合模块,用于基于两种插值方式分别对应的插值结果,得到最终插值结果。
17.根据本技术实施例的又一个方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现本技术实施例提供的图像处理方法的步骤。
18.根据本技术实施例的再一个方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现本技术实施例提供的图像处理方法的步骤。
19.根据本技术实施例的还一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序被处理器执行时实现本技术实施例提供的图像处理方法的步骤。
20.本技术实施例提供的图像处理方法、装置、电子设备及计算机可读存储介质,通过解耦每个像素点的颜色信息与纹理信息,能够有效使用解耦后的颜色信息与纹理信息来处理图像,避免了其它颜色通道的颜色信息的干扰,从而能够更加准确地预测出处理后的图像的真实纹理,提升成像质量。
附图说明
21.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
22.图1为本技术实施例提供的isp处理流程的示意图;
23.图2为本技术实施例提供的cfa滤光及去马赛克原理的示意图;
24.图3为本技术实施例提供的bayer和bayer-like传感器的示意图;
25.图4为本技术实施例提供的当前基于bayer-like传感器的去马赛克算法的示意图;
26.图5为本技术实施例提供的伪纹理问题的示意图;
27.图6为本技术实施例提供的伪颜色问题的示意图;
28.图7为本技术实施例提供的一种图像处理方法的流程示意图;
29.图8为本技术实施例提供的颜色值和纹理值的示意图;
30.图9为本技术实施例提供的区分颜色信息与纹理信息的示意图;
31.图10为本技术实施例提供的使用不同颜色通道的颜色信息与纹理信息的示意图;
32.图11为本技术实施例提供的去马赛克过程的示意图;
33.图12为本技术实施例提供的计算颜色值的示意图一;
34.图13为本技术实施例提供的计算颜色值的示意图二;
35.图14为本技术实施例提供的颜色滤波器库的示意图;
36.图15为本技术实施例提供的像素元组内颜色区域划分的示例图;
37.图16为本技术实施例提供的确定最佳颜色值的示意图;
38.图17为本技术实施例提供的确定每个像素点颜色值的示意图;
39.图18为本技术实施例提供的aism模型处理流程的示意图;
40.图19为本技术实施例提供的实验结果的示意图;
41.图20为本技术实施例提供的插值结果中的颜色错误的示意图;
42.图21为本技术实施例提供的传统插值方案插值的示例图一;
43.图22为本技术实施例提供的本插值方案插值的示例图一;
44.图23为本技术实施例提供的传统插值方案插值的示例图二;
45.图24为本技术实施例提供的本插值方案插值的示例图二;
46.图25为本技术实施例提供的不同插值方式插值结果的示意图;
47.图26为本技术实施例提供的通过卷积进行插值的示例图;
48.图27为本技术实施例提供的caum模型的处理流程的示意图;
49.图28为本技术实施例提供的caum模型具体细节的示意图;
50.图29为本技术实施例提供的caum模型的物理意义的示意图;
51.图30为本技术实施例提供的s-caum模型的示意图;
52.图31为本技术实施例提供的aism模型和caum模型的示意图;
53.图32为本技术实施例提供的aism模型s-caum模型的示意图;
54.图33a为本技术实施例提供的视觉效果比较的示意图一;
55.图33b为本技术实施例提供的视觉效果比较的示意图二;
56.图34为本技术实施例提供的另一种图像处理方法的流程示意图;
57.图35为本技术实施例提供的一种图像处理装置的结构示意图;
58.图36为本技术实施例提供的另一种图像处理装置的结构示意图;
59.图37为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
60.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
61.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”可以实现为“a”,或者实现为“b”,或者实现为“a和b”。
62.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
63.isp中,去马赛克的作用是将raw数据转换为全彩色rgb数据,紧跟着它的环节包括降噪(去燥/锐化)、颜色(空间)转换以及色调映射(重现),还包括jpeg(joint photographic experts group,联合图像专家组)压缩,以及存储等,去马赛克之前的环节还包括将传感器输出的数据进行增益控制、模数转换调色以及白平衡等,如图1所示。
64.当前能够进行图像处理的设备(例如手机等)上广泛使用的传感器为cmos(complementary metal-oxide-semiconductor,互补金属氧化物半导体)传感器。如图2所示,传感器阵列的每个像素点表面会覆盖一层颜色滤波阵列(color filter array,cfa),该阵列在每个像素点的位置仅采样一种颜色,即每个像素点只有一个颜色分量。也就是说,传感器上输出的数据为单通道二维数据,对其去马赛克的过程可以理解为对数据进行处理以恢复出每个像素点缺失的两个颜色分量。实际应用中,这种数据格式被称为bayer(拜耳)数据格式。
65.bayer排列的滤光片格式在摄像头上广泛使用。最近几年,除了bayer排列格式,新
的排列格式逐渐流行起来,如tetra(四元)排列格式、nona(九元)排列格式等,如图3所示。这些新的格式统称为bayer-like(类拜耳)格式。相较于bayer格式的传感器(或称为感光元件),bayer-like格式的传感器能够显著提升图像的分辨率与纹理细节。由于用户偏向于使用具有更好拍照体验的摄像头,且摄像头的成像质量对于使用体验有着极大的影响,因而能够提高成像质量的bayer-like格式的去马赛克算法会变得越来越重要。然而,传统的bayer去马赛克算法在bayer-like传感器上直接使用,可能会导致tetra、nona等传感器出现问题。因此,针对bayer-like格式的新传感器需要全新的去马赛克算法。
66.当前基于bayer-like传感器的去马赛克算法主要分为两类,如图4所示,第一类是binning+bayer demosaic算法,简称为bbd算法;第二类为bayer-like demosaic算法,简称为bld算法。相较于bbd算法,使用bld算法得出的图像有更高的分辨率与更丰富的纹理细节。在基于tetra排列与nona排列的去马赛克算法的实际应用中,基于ai(artificial intelligence,人工智能)的去马赛克算法比基于硬件的去马赛克算法有着更好的效果,但是还没有针对nona的基于ai的去马赛克算法。
67.作为示例地,针对tetra排列的传感器的基于ai的去马赛克算法dpn(duplex pyramid network,双金字塔网络),使用深度级联网络结构与残差网络来实现去马赛克功能,且特征图尺寸随着深度变化线性变化,这种特性使得感受野扩大从而增强了纹理细节并且减少了伪影。
68.dpn网络是为基于tetra格式排列的传感器设计的去马赛克算法,若直接在基于nona排列的图像上使用dpn算法会引起明显的伪纹理与伪颜色问题。
69.本技术的发明人发现,出现这两种问题的原因是,模型无法有效利用像素点上的真实数据。
70.具体而言,伪纹理出现的原因是直接将dpn等算法应用在nona格式数据的去马赛克任务上,如图5所示,右侧两张图是左侧两张图的方形框中内容的局部放大图,可以看到,与下方的真实图像内容相比,上方的dpn算法处理后的图像内容中出现了gt(ground truth,基本事实)中本来不存在纹理,这种现象就被称为伪纹理问题。
71.产生伪颜色问题的主要原因是生成了错误的颜色信息,而且这种现象普遍出现在需要插值的像素周围,像素颜色发生急剧变化的位置,比如如图6所示的边缘位置,非常容易出现伪颜色问题。并且相较于tetra传感器,在nona传感器上直接使用dpn去马赛克算法,伪颜色问题更加明显。
72.基于此,本技术实施例提供了一种图像处理方法、装置、电子设备及计算机可读存储介质,主要解决现有基于深度学习方法在nona格式的数据上进行去马赛克处理出现的伪纹理与伪颜色问题。
73.需要说明的是,本技术实施例提供的图像处理方法、装置、电子设备及计算机可读存储介质,除了能够应用于nona格式数据的去马赛克,也可以应用于其他格式数据的去马赛克,同样能够达到提升成像质量的效果。在nona格式数据上的使用仅为范例,而不能理解为对本技术的限定。
74.下面通过对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复
描述。
75.本技术实施例中提供了一种图像处理方法,如图7所示,该方法包括:
76.步骤s101:确定待处理图像中像素点分别对应的颜色值和纹理值。
77.其中,待处理图像可以是raw图像或cfa图像等原始图像,即传感器输出的待进行去马赛克处理的图像,例如nona传感器输出的nona排列格式的图像,但不限于此。
78.本技术实施例中,将每个像素点的像素值视为颜色值加上纹理值,如图8所示,即每个像素点均包含颜色信息与纹理信息。
79.本技术实施例中,可以是对待处理图像中各个像素点均进行处理,或者也可以是对待处理图像中的部分像素点进行处理。
80.一种可行的实现方式中,该步骤可以包括:确定待处理图像中各个像素点分别对应的颜色值;针对待处理图像中的每个像素点,基于像素点的像素值以及颜色值,得到该像素点的纹理值。
81.或者,该步骤也可以包括:确定待处理图像中至少一个像素点对应的颜色值;针对该至少一个像素中的每个像素点,基于像素点的像素值以及颜色值,得到该像素点的纹理值。
82.本技术的发明人认为,导致上述伪纹理问题主要有两个原因,一个就是每个像素点的颜色信息与纹理信息混在一起,模型不能有效区分两种信息并分别利用,这种混淆会导致模型输出错误的纹理结果。
83.如图9所示,以nona原始数据为例,nona类型的原始数据会将每3*3的9个像素点作为一个颜色块(cell,下文中或称为元组或像素元组),每个颜色块仅包含一个颜色分量。本技术实施例中,会对原始数据求颜色值(例如对9个像素点求均值,但不限于此),并对颜色值进行上采样,得到一个元组的颜色值。由于像素值等于颜色值加上纹理值,那么想得到纹理值,用像素值减去纹理值即可,即原始数据和颜色信息的残差就是纹理信息,这样便可得到一个元组的纹理值。本技术实施例通过有效区分两种信息并分别利用,避免输出错误的纹理结果。
84.除了颜色信息与纹理信息混在一起之外,还有一个原因是,当利用某些像素的一种颜色推断其他像素点该颜色通道的值时,也会引发伪纹理问题。如图10所示,可以将最左侧的原始数据分为红色通道、绿色通道和蓝色通道3个通道。以红色通道的值为例,当预测其他像素点缺失的红色通道的值时,绿色通道与蓝色通道的值会对预测产生干扰,从而引发伪纹理问题。其中,相较于tetra(2*2,4个像素点),nona(3*3,9个像素点)传感器每个颜色块包含更多的像素值,而dpn无法利用这些信息,会产生更严重的伪纹理问题。本技术实施例通过对每个像素点的像素值有效区分纹理信息和颜色信息并分别利用,避免红色通道直接使用其它颜色通道的混合信息引起严重的伪纹理问题。即对于红色通道的去马赛克,可以仅采用红色通道的纹理值和颜色值,以及绿色通道的纹理值、蓝色通道的纹理值等有用的信息,略去绿色通道的颜色值、蓝色通道的颜色值等无用的干扰信息,从而有效避免伪纹理问题。
85.步骤s102:对特征图进行插值,得到处理后的图像,特征图是基于像素点分别对应的颜色值和纹理值得到的。
86.由上文的介绍可知,去马赛克就是对图像的缺失值进行插值。本技术实施例中,用
于插值的特征图是基于像素点分别对应的颜色值和纹理值得到的,如图11所示,那么插值过程便可分别利用像素点的纹理信息和颜色信息,得到图11右侧处理后的图像,有效避免伪纹理问题。
87.本技术实施例中,对基于像素点分别对应的颜色值和纹理值得到特征图的方式不做具体限定,例如将仅包含颜色信息的特征图和仅包含颜色信息的特征图相摞或堆叠等。
88.本技术实施例提供的图像处理方法,通过解耦每个像素点的颜色信息与纹理信息,能够有效使用解耦后的颜色信息与纹理信息来去马赛克,避免了其它颜色通道的颜色信息的干扰,从而能够更加准确地预测出处理后的真实纹理,提升成像质量。
89.本技术实施例中,为步骤s101中确定待处理图像中像素点分别对应的颜色值的过程,提供了一种可行的实施方式,具体地,针对待处理图像中的每个像素元组,对该像素元组中各个像素点的像素值计算平均值,作为该像素元组中各个像素点分别对应的颜色值。
90.其中,每个像素元组包括预定数量的像素点,以nona类型的原始图像为例,图像中每3*3的9个像素点为一个像素元组,每个像素元组仅包含一个颜色分量。
91.则以nona类型的原始图像为例,在计算每个像素点分别对应的颜色值时,可以直接计算其所在的3*3cell内的每个像素点的像素值的平均值。如图12所示,包含数据的3*3区域代表红色通道的一个cell,可以计算红色区域的平均值为:1/9*19+1/9*57+

+1/9*99≈47,并将计算出的平均值47作为该cell内每个像素点的颜色值。
92.本技术实施例中,考虑到会存在每个像素元组中不同像素点的像素值差距较大的情况,对于这样的情况,理想的结果是分区域计算每个像素元组中各个像素点的颜色值,例如可以把图12中该红色通道的cell分成三个区域,并对每个区域分别计算像素平均值作为各自区域中各个像素点的颜色值。即如图13所示,将该红色通道的3*3cell分为三个区域,一个区域包括4个像素点,计算对应4个像素值的平均值为:1/4*19+1/4*21+1/4*17+1/4*23≈20,并将计算出的平均值20作为该4个像素点的颜色值;另一个区域包括3个像素点,计算对应3个像素值的平均值为:1/3*57+1/3*49+1/3*44≈50,并将计算出的平均值50作为该3个像素点的颜色值,还有一个区域包括2个像素点,计算对应2个像素值的平均值为:1/2*95+1/2*99≈97,并将计算出的平均值97作为该2个像素点的颜色值。可以理解,相较于将像素值的平均值作为颜色值,分颜色区域来计算颜色值能够避免像素元组内像素值相差很远的情况,像素值相差很远即表示该像素元组的方差很大。一个区域的巨大方差意味着该区域中存在形状纹理,通过分颜色区域来计算颜色值可以更加准确地预测出图像的真实纹理。
93.为了达到该理想的结果,需要解决的问题是,如何在没有先验知识的情况下,确定一个像素元组中哪些像素点具有相近颜色。
94.为此,本技术实施例中,为步骤s101中确定待处理图像中像素点分别对应的颜色值的过程,提供了另一种可行的实施方式,具体地,可以包括步骤:
95.步骤s1011:针对待处理图像中的每个像素元组,通过颜色滤波器库(color filter library,cfl)中的每个滤波器的卷积操作,得到每个滤波器对应的第一候选颜色值。
96.步骤s1012:根据每个像素元组中各个像素点的像素值,以及每个滤波器对应的第一候选颜色值,确定每个像素元组中各个像素点分别对应的颜色值。
97.本技术实施例中,步骤s1011也可以是对待处理图像中的目标像素元组(即非所有
像素元组)中的每个像素元组进行处理。
98.其中,每个像素元组包括预定数量的像素点,以nona类型的原始图像为例,图像中每3*3的9个像素点为一个像素元组,即预定数量为9,每个像素元组仅包含一个颜色分量。
99.本技术实施例中,滤波器也可称为颜色滤波器,具体可以是与像素元组相对应的卷积核。每个滤波器包括不大于预定数量的至少一个像素点的非零权重。以nona类型的原始图像为例,每个滤波器包括不大于3*3范围的至少一个像素点的非零权重。
100.具体而言,考虑到计算每个像素元组里面9个像素点颜色值的过程可以看做是与一个3*3的卷积核进行卷积,且卷积核中权重的和为1。因此,本技术实施例构建了一个包含所有可能出现的卷积核的库(即颜色滤波器库),图14中以3*3的像素元组为例,示出了对应的颜色滤波器库中的若干滤波器,例如包含3个非零值(即非零权重)的滤波器、包含4个非零值的滤波器和包含5个非零值的滤波器等。本技术实施例中,每个滤波器的各个非零权重的和为1。例如图14中,每个滤波器的灰色区域对应的是该滤波器内非零权重的区域,非零区域的权值和为1。事实上,由于每个滤波器非零区域外的其他区域的权重为0,因此每个滤波器的权值和为1。
101.本技术实施例中,若任一滤波器的非零权重为至少两个,则该至少两个非零权重在该滤波器中的位置是相连的。即每个滤波器的约束条件是,每个非零区域内的元素是相连的,其中,相连包括但不限于:横向相连、竖向相连、斜向相连等。
102.一个示例中,如图15所示,左侧的3*3cell可以被分为三个颜色区域,那么,用于计算这三个颜色区域的颜色值的最佳权重值如图15中下方的3*3卷积核所示,每个颜色区域对应的权重和为1,其中,第一个cell的四个权重均为0.25,第二个cell的三个权重均为0.33,第三个cell的两个权重均为0.25。这些卷积核均包含在构建的颜色滤波器库中,通过每个颜色区域对应的卷积核的卷积,相当于对每个颜色区域的像素值求均值。
103.本技术实施例中,基于构建的颜色滤波器库,便可执行步骤s1011和步骤s1012,主要任务在于为每个像素点选择最佳的颜色值。
104.具体而言,由于每个像素元组内颜色区域的划分是未知的,因此需要计算出所有滤波器的卷积结果,即每个滤波器对应每个像素元组的候选颜色值,再从候选颜色值中为每个像素点选择最佳颜色。
105.作为示例地,如图16所示,将左侧的3*3cell与颜色滤波器库中的所有滤波器(包括滤波器1、滤波器2、滤波器3
……
)进行卷积,其中每个滤波器对应一种颜色区域,卷积会得到每个滤波器分别对应的候选颜色值。将每个候选颜色值进行上采样,得到每个滤波器分别对应的颜色结果(颜色1、颜色2、颜色3
……
),根据3*3cell中各个像素点的像素值,从每个滤波器分别对应的颜色结果中,为每个像素点选择最佳颜色值,即可得到图16中右侧所示的3*3cell的最佳颜色值。
106.本技术实施例中,以nona类型的数据为例,潜在的滤波器的数量少于500个。并且,由于这些卷积核可以并行计算,卷积计算的步长可以为3,这将减少2倍的计算,因此对所有滤波器的计算是很有效率的。
107.本技术实施例中,对于步骤s1012,针对每个像素元组,根据像素元组中各个像素点的像素值,以及每个滤波器对应的第一候选颜色值,确定该像素元组中各个像素点分别对应的颜色值的过程,可以包括步骤:
108.步骤sa:根据该像素元组中各个像素点的像素值与每个第一候选颜色值的第一差值,在每个第一候选颜色值中,确定该像素元组中各个像素点对应的第二候选颜色值。
109.步骤sb:根据该像素元组中各个像素点对应的第二候选颜色值,以及每个滤波器的非零权重的数量,确定该像素元组中各个像素点分别对应的颜色值。
110.为了确保为每个像素点选择最佳的颜色值,本技术实施例设计了两条准则。第一个准则是颜色值与像素值越接近,选择出来的颜色值越精确。但第一个准则最佳的满足条件是每个像素值为单一的区域最精确。第二个准则是相同颜色区域越大越好,这使得算法更加鲁棒,这两个准则保证了选择到最佳的颜色值。
111.为了平衡上述两个设计准则,本技术实施例中,通过以下公式来计算最佳颜色值:
[0112][0113]
其中,x是以位置k为基准的像素元组(例如以nona类型的数据为例,x是位置k周围3*3的cell,k为cell的中心点),xk是位置k对应的像素元组中各个像素点的像素值,fi是颜色滤波器库内的第i个颜色滤波器,x*fi是由滤波器fi计算出的候选颜色值,|x
k-x*fi|是候选颜色值与像素值得差别,这一项可以评估两者的距离,ω是所有满足|x
k-x*fi|≤δ公式的候选颜色值所对应的滤波器集合索引,δ是超参数,d是滤波器非零权重的数量。
[0114]
基于此,对于步骤sa,具体可以包括:针对每个第一候选颜色值,确定该像素元组中像素值与该第一候选颜色值的第一差值小于预定阈值的目标像素点,将该第一候选颜色值,确定为对应的目标像素点的第二候选颜色值。
[0115]
即针对每个像素元组中每个像素点,根据上述第一个准则,选择与像素值相似的候选颜色值。
[0116]
结合上述公式,针对每个第一候选颜色值x*fi,每个像素元组中各个像素值与该第一候选颜色值的第一差值即为|x
k-x*fi|,预定阈值即为超参数δ,本领域技术人员可以根据实际情况与超参数δ的值进行设置,本技术实施例在此不做限定。目标像素点的像素值与该第一候选颜色值的第一差值小于预定阈值即第一候选颜色值为目标像素点满足|x
k-x*fi|≤δ公式的候选颜色值。
[0117]
对于步骤sb,具体可以包括:针对该像素元组中每个像素点,将该像素点对应的第二候选颜色值中,对应的滤波器的非零权重的数量最大的第二候选颜色值,确定为该像素点对应的颜色值。
[0118]
即针对每个像素元组中每个像素点,根据上述第二个准则,在候选颜色值中,选择对应的滤波器的非零面积最大的。
[0119]
结合上述公式,基于所有满足|x
k-x*fi|≤δ公式的候选颜色值(即各个第二候选颜色值),针对像素元组中每个像素点进行处理。对应的滤波器的非零权重的数量最大的第二候选颜色值即为
[0120]
进一步地,本技术实施例提供的图像处理方法还包括以下至少一项:
[0121]
若所述数量最大的第二候选颜色值有多个,则分别确定该多个第二候选颜色值与该像素点的像素值的第二差值,将该多个第二候选颜色值中,对应第二差值最小的第二候选颜色值确定为该像素点对应的颜色值;
[0122]
若任一像素点未确定出对应的颜色值,则将该像素点的像素值确定为该像素点对
应的颜色值。
[0123]
即针对每个像素元组中每个像素点,根据上述第一个准则,选择与像素值最接近的颜色值。
[0124]
结合上述公式,对应第二差值最小的第二候选颜色值或该像素点的像素值即为
[0125]
作为示例地,如图17所示,将左侧包含各个像素点的像素值的3*3cell,与颜色滤波器库的所有滤波器(包括滤波器1、滤波器2、滤波器3、滤波器4
……
)进行卷积,得到每个滤波器分别对应的候选颜色值(即得到各个第一候选颜色值)。将各个第一候选颜色值进行上采样,得到3*3的各个第一候选颜色值(颜色1、颜色2、颜色3、颜色4
……
)。将各个3*3的第一候选颜色值与左侧包含各个像素点的像素值的3*3cell进行比较,根据上述第一个准则,选择与像素值相似的第一候选颜色值,即得到各个第二候选颜色值(即图17的步骤1)。在各个第二候选颜色值中,根据上述第二个准则,选择对应的滤波器的非零面积最大的第二候选颜色值(即图17的步骤2)。例如图17中,针对左上角的像素点,步骤1计算出各个第二候选颜色值后,候选颜色1对应的第1个卷积核与候选颜色4对应的第4个卷积核区域存在冲突,但是第1个卷积核的非零区域大于第4个卷积核,因此选择第1个卷积核对应的候选颜色值,舍弃第4个卷积核对应的候选颜色值。另外,对于非零面积最大的滤波器有多个的情况,或者对于任一像素点未确定出对应的颜色值的情况,根据上述第一个准则,选择与像素值最接近的颜色值(可以是候选颜色值,也可以是原像素值)。将各个像素点选择的最佳颜色值进行叠加,得到图17中右侧所示的3*3cell的最终结果。
[0126]
本技术实施例中,基于上述准则和公式,提出了aism(adaptively information splitter module,信息自适应解耦模块)模型。aism模型的主要功能是,根据构建的颜色滤波器库为待处理图像的每个像素点选择最佳颜色,颜色滤波器库中包含若干个卷积核,每个卷积核对应一种颜色区域,基于颜色滤波器库选择最佳的颜色值并保持区域颜色的稳定,进而根据确定出的最佳颜色值,确定纹理值。以nona类型的raw数据为例,通过aism模型能够在nona类型的raw数据的3*3元组内自适应地解耦颜色信息与纹理信息,用于解决伪纹理问题。
[0127]
如图18所示,aism模型的处理流程如下:
[0128]
(1)将最左侧的待处理图像与颜色滤波器库的所有滤波器(包括f1,f2,

,fn)进行卷积,得到各个像素点对应各个滤波器的候选颜色值(即得到各个第一候选颜色值)。将各个第一候选颜色值进行上采样(例如可以采用最近邻插值,但不限于此),得到上采样后的各个第一候选颜色值。这部分处理即对应利用滤波器计算颜色,即使用cfl中的滤波器(卷积核)计算x*fi。
[0129]
(2)将各个上采样后的第一候选颜色值与待处理图像中各个像素点的像素值相减,并通过abs(绝对值函数)对相减的结果计算绝对值。该部分处理即对应计算颜色值与像素值的差(即第一差值)|x
k-x*fi|。
[0130]
(3)将超参数δ与(2)中计算得到的绝对值相减,并通过relu(rectified linear unit,线性整流)函数判断相减结果是否大于等于零,即判断是否|x
k-x*fi|≤δ,保留判断为是的相减结果。通过bool(布尔)函数对相减结果是否保留取bool值,并将bool值与(1)中输出的上采样后的各个第一候选颜色值相乘,即可得到保留的各个第一候选颜色值,即得到
各个第二候选颜色值。该部分处理即对应根据上述第一个准则,选择与像素值相似的第一候选颜色值|x
k-x*fi|≤δ。
[0131]
(4)通过sign(符号函数)将每个滤波器中的非零值(非零权重)取值为1,再通过sum(求和函数)将每个滤波器中的数值1相加,即可得到每个滤波器中非零值的个数(d1,d2,

,dn)。同时,通过sign函数将(3)中间保留的相减结果进行处理,即保留的相减结果取值为1(与各个第二候选颜色值的位置是一一对应的,也可理解为各个第二候选颜色值的位置取值为1),并将其与每个滤波器中非零值的个数相乘(d1,d2,

,dn),即可得到每个像素点对应的第二候选颜色值的最大非零面积d
max
。针对每个像素点,将像素点对应的各个第二候选颜色值的非零面积减去像素点对应的第二候选颜色值的最大非零面积,则最大非零面积得到数值0,其他非零面积得到负值,再通过sign函数进行处理后加1,便可保留每个像素点最大非零面积的第二候选颜色值(此时每个像素点最大非零面积的第二候选颜色值取值为1)。进而将该结果与(3)输出的各个第二候选颜色值相乘,便可得到各个非零面积最大的滤波器的第二候选颜色值。该部分处理即对应根据上述第二个准则,选择对应滤波器的非零面积最大的第二候选颜色值
[0132]
(5)对于非零面积最大的滤波器有多个的情况,还可以将(4)输出的结果与最左侧的待处理图像相减,通过abs函数对相减结果计算绝对值。并确定最小绝对值,(4)输出的结果中确定最小绝对值对应的第二候选颜色值,作为对应像素点的颜色值。或者对于任一像素点未确定出对应的颜色值的情况,也可以将(4)输出的结果与待处理图像相减,通过abs函数对相减结果计算绝对值,并将该绝对值作为对应像素点的颜色值。该部分处理即对应根据上述第一个准则,选择与像素值最接近的颜色值
[0133]
其中,上述(2)~(5)部分处理即对应选择最佳颜色的过程。
[0134]
(6)这样便可获取待处理图像中的各个像素点对应的颜色值,再将待处理图像中的各个像素点对应的像素值减去颜色值,便可得到待处理图像中的各个像素点对应的纹理。该部分处理即对应获取最佳颜色和纹理的过程。
[0135]
本技术实施例提供的图像处理方法,为了避免dpn网络导致的严重伪纹理问题,由于dpn网络是基于传统的卷积网络,难以单独利用颜色信息和纹理信息进行预测。本技术实施例通过aism模型,解耦每个像素点的纹理信息与颜色信息,在解耦后的纹理信息基础上,由于没有其它颜色通道的颜色信息的干扰,模型能够更加准确地预测出真实的纹理信息。
[0136]
本技术的发明人经过大量的实验证明,aism模型能够很好地解决伪纹理问题,例如如图19所示,在通过aism模型对输入的待处理图像进行处理后,实验结果较为准确地预测出了真实纹理。
[0137]
本技术实施例中,为步骤s102提供了一种可行的实施方式,具体的,可以包括步骤:
[0138]
步骤s1021:通过预设的至少两种插值方式,分别对特征图进行插值,得到至少两种插值方式分别对应的插值结果。
[0139]
步骤s1022:基于两种插值方式分别对应的插值结果,得到最终插值结果。
[0140]
其中,插值也可称为上采样或图像放大。
[0141]
本技术的发明人认为,预测出错误的颜色信息(即上述伪颜色问题)主要有两个原
因,第一个原因是不恰当的插值算法,错误的插值算法计算出错误的颜色信息。第二个原因是针对同一张图像的不同区域(所有像素)使用相同的插值算法,而同一种插值算法无法应对不同类型的边缘情况。例如以双线性插值为例:在插值过程中,应用双线性方法在平坦区域可以生成比较好的结果,而在纹理边缘处会插值出错误的颜色信息。如图20所示,在边缘处插值时,应该使用最近邻算法计算中间值,使用了双线性插值时,会生成原图像不存在的中间结果。例如,不应生成介于20和100之间的中间值。因此这种情况下最好使用最近邻插值而不是双线性插值。但是,在其他情况下,最近邻插值不是最好的方法,例如双线性在不锋利的边缘中表现更加良好。
[0142]
考虑到单一的插值方法不能满足所有的边缘纹理情况,本技术实施例中,构建了一系列的上采样方案(即插值方式),包含但不限于双线性插值(bilinear interpolation)、最近邻插值(nearest-neighbor interpolation)、高斯插值(gaussian interpolation)和lanczos插值等,不同的插值方式可以处理图像/特征图中的不同边缘,最终的插值结果是所有插值方式结果的融合。
[0143]
在一种可行的实施方式中,步骤s1022具体可以包括:确定至少两种插值方式分别对应的权重;基于两种插值方式分别对应的插值结果和权重,得到最终插值结果。
[0144]
也就是说,最终的插值结果是所有插值方式结果的加权和,因此需要计算每种插值方式所对应的权重(也可称为权值或权重值)。
[0145]
作为示例地,图21和图22分别示出了传统插值方案和本技术实施例的插值方案对两种差异很大的颜色进行插值的例子。
[0146]
如图21所示,在纹理的边缘区域,对两种差异很大的颜色进行双线性插值时,会生成伪颜色问题,而采用最近邻插值方法时则不会出现这种问题。但是,对于其他情况来说,最近邻插值方法并不是最好的。也就是说,传统的插值方法无法满足一张图像中的各种边缘。
[0147]
如图22所示,本技术实施例的插值方案主要包括两个步骤:
[0148]
步骤1:在纹理的边缘区域,对两种差异很大的颜色采用一系列的插值方式进行插值,图22中示例性的给出了双线性插值、最近邻插值和lanczos3插值等插值方式的插值结果。
[0149]
步骤2:预测插值方式分别对应的权重,计算这些插值方案的加权总和。
[0150]
通过本技术实施例提供的插值方案,能够自适应地为每个像素点选择最佳的插值方案。
[0151]
进一步地,传统插值方案和本技术实施例的插值方案之间的差异可以参见如下公式:
[0152]
传统的上采样层可以看作是上池化(up-pooling)与卷积(conv)相结合的层,如公式y
i,j
=k*x
i,j
,其中x
i,j
是像素点(i,j)的特征值,y
i,j
是像素点(i,j)的输出,k是权重向量,也代表插值方法。以双线性插值为例,k向量里面的权重是[0.25,0.5,0.25,0.5,1,0.5,0.25,0.25,0.5,0.25]。则用k对归一化并上池化后的特征值进行卷积,如图23所示,会插值出伪颜色(对应图23中圈出来的值),与其上下的值(即颜色)差异都较大。
[0153]
本技术实施例的插值方案与传统方案不同在于,最终插值结果是多种插值方式的加权和,如公式公式中k1,...,kn都是权重向
量,代表n种不同的插值方式,是位像素点(i,j)处的内容自适应权重。以n等于2为例,假设两种插值方法分别是双线性插值和最近邻插值,双线性插值所对应的k1是卷积核[0.25,0.5,0.25,0.5,1,0.5,0.25,0.5,0.25],最近领插值所对应的k2是卷积核[1.0,1.0,0,1.0,1.0,0,0,0,0]。则用k1和k2对上池化后的特征值进行卷积,如图24所示,当双线性插值方案对应的权重为0时,而最近领插值的权重为1时,就可以避免生成错误的插值颜色。
[0154]
本技术实施例中,可以对不同的插值方式k1,...,kn构建一个插值方案库(library of interpolation schemes,lis)。则步骤s1021可以包括:通过插值方案库中的各种插值方式,分别对特征图进行插值,得到各种插值方式分别对应的插值结果。
[0155]
由于不同的插值方式可以应对不同的边缘纹理情况,因此构建插值方案库可以很好地应对边缘纹理种类复杂的图像,库中可以包括但不限于常见的插值方式,如双线性插值、最近邻插值、高斯插值、lanczos插值等等,图25中示出这些插值方式在低分辨率特征图中使用的插值结果。
[0156]
本技术实施例中,所有的插值方式都可以视为卷积过程,即每种插值方式都可以提取相应的卷积核。一些插值方式也可以通过反卷积的方式学习到。图26中,以双线性插值为例,示出了通过卷积进行插值的过程。其中,将像素点a上池化的过程,等效于对像素点a使用图26中的卷积核k做卷积,其他像素点以此类推。
[0157]
本技术实施例中,通过构建的插值方案库,可以利用不同插值方式的优点,以更好地处理图像/特征图中的不同边缘。
[0158]
当构建完插值方案库后,为每种插值方案预测出合适的权重就显得尤为重要。本技术实施例中,为了实现自动预测每种插值方案的权重,提出了caum(content-adaptive up-sampling module,内容自适应上采样模块)模型。结合上文中的介绍,可以将caum模型的处理过程分成两个部分,一个部分是基于构建的插值方案库计算每种插值方式的插值结果,另外一个部分是为每种插值方式预测最佳的权重。其中,预测每种插值方式的权重是caum模型非常重要的功能。
[0159]
本技术实施例中,确定至少两种插值方式分别对应的权重的过程,具体可以包括:基于像素点分别对应的颜色值和纹理值,提取至少两个尺度的特征图;基于至少两个尺度的特征图,获取边缘信息和/或边缘类型信息;基于边缘信息和/或边缘类型信息,确定至少两种插值方式分别对应的权重。
[0160]
本技术实施例中,利用不同尺度的特征图是考虑到编码器输出的高层特征包含纹理边缘信息,可以帮助模型感知边缘类型,而浅层特征包含插值的先验信息。
[0161]
其中,图像边缘是指图像的中梯度发生变化的地方。边缘信息是指图像边缘处像素点的信息,例如像素点的像素值和/或颜色值和/或纹理值,像素点的位置等,但不限于此。边缘类型信息可以是指梯度变化程度的信息,也可以是其他分类信息,本领域技术人员可以根据实际情况对边缘类型进行划分。本技术实施例中,边缘类型可以包括但不限于:没有颜色变化的锐利边缘(例如两种差距较大的颜色区域的交界处)、有颜色变化的非锐利边缘(例如颜色渐变的区域)、有颜色变化的锐利边缘、无边缘区域等。
[0162]
具体而言,基于至少两个尺度的特征图,获取边缘信息和/或边缘类型信息的过
程,可以包括:将至少两个尺度的特征图对齐到相同尺寸,得到尺寸对齐的至少两个特征图;基于尺寸对齐的至少两个特征图,获取边缘信息和/或边缘类型信息。
[0163]
结合上述内容,如图27所示,caum模型的处理流程主要包括如下步骤:
[0164]
第一步是上池化(unpool)过程,也就是填零操作,即对需要上采样的h/2
×
w/2
×
c2特征通过填零完成上池化。
[0165]
第二步是用插值方案库中的各个插值方式,计算每种插值方式的插值结果。
[0166]
第三步是尺度对齐(resize),将不同尺度的特征图(需要上采样的h/2
×
w/2
×
c2特征、编码器输出的h/4
×
w/4
×
c1高层特征、以及编码器输出的h
×w×
c3浅层特征等)对齐到相同尺寸。
[0167]
第四步是通过网络预测出每种插值方案的权重,具体可以是利用边缘与边缘类型感知计算权重,其中,编码器输出的高层特征包括边缘的上下文信息,帮助感知边缘类型。编码器输出的浅层特征包括插值的先验信息。
[0168]
第五步是根据第四步预测的权值,计算第二步的所有的插值结果的加权和。
[0169]
第六步是用1*1卷积调整通道数量,输出h
×w×
c3的最终结果。
[0170]
进一步地,caum模型更为具体的细节如图28所示。caum主要分为两部分。第一部分:上池化代表将编码器输出的特征图进行填零操作,宽和高变为原来的2倍,通道数不变。用插值方案库中的n个卷积核在上池化后的特征图上进行卷积,得到h
×w×
(c2×
n)的插值结果。该部分可以用来表示插值操作。第二部分:将不同尺度的特征图对齐为h
×w×
c,进而模型通过多次卷积感知边缘与边缘类型,再融合边缘信息与边缘类型信息从而预测权重。边缘类型包括但不限于:没有颜色变化的锐利边缘、有颜色变化的非锐利边缘、无边缘区域等,经过激活函数sigmoid(例如)后,输出权重预测结果。该部分即表示插利用不同尺度的特征图预测每种插值方式的权重,最终两部分通过加权求和相加联系起来,输出h
×w×
c的最终插值结果。
[0171]
本技术实施例中,图29以特征图[[0.87,0.87],[1.00,1.00]]为例,对caum模型的物理意义进行解释。图29中以两种插值方案为例,第一种是最近邻算法,第二种是双线性插值算法。对特征图填零后分别与这两种卷积核进行卷积操作,整张图的下部分解释了如何计算权重,计算权重考虑了两个尺度的特征图,更小尺寸的特征图只有一个值即[[0.5]],该特征图即来自高层特征图的语义信息,越锐利的边缘,值越大。在这个例子中,如果值小于0.35,最终结果与双线性插值结果相似。将两个尺度的特征图进行特征图尺度对齐,即缩放到同样大小,都变为4*4。通过神经网络感知边缘和感知边缘类型,再融合边缘信息和边缘类型信息来计算得出两种插值方案分别对应的权重。根据预测的权值,计算这两种插值方式的加权和,得到最终插值结果。需要说明的是,图29中所示的特征图中的数值仅为示意,具体的数值以实际实施为准,图29中的数值示例不应理解为对本技术的限定。
[0172]
本技术实施例提供的图像处理方法,为了避免dpn网络带来伪颜色问题,由于dpn网络在插值过程中没有使用内容自适应层做上采样,因此每个像素点都使用相同的插值方案,单一的插值方法不能满足所有的边缘纹理情况。本技术实施例通过caum模型,能够自适应的为每个像素点选择最佳的插值方案。
[0173]
本技术实施例提供的caum模型,能根据内容自适应的上采样生成出缺失的像素
值,基于构建的插值方案库计算各种插值方式的插值结果,其中,插值方案库中每一项都是不同的插值方式,也就是不同的卷积核向量。再根据多种尺度特征图中边缘纹理计算出每种插值所对应的权重,最后加权融合不同插值方式得出最终插值图像。
[0174]
本技术实施例中,为步骤s1021提供了另一种可行的实施方式,具体的,可以包括步骤:通过训练得到的至少两种插值方式的卷积核,分别对特征图进行插值;其中,卷积核包含插值信息和权重信息。
[0175]
除了按照上文的介绍显式地构建插值方案库,本技术实施例中,也可以更为隐式地构建插值方案库,并提出了s-caum(simple caum,更为简单的caum)模型,如图30所示。s-caum模型可以理解一种特殊的的caum模型,在s-caum模型的处理流程中,将插值方案库设置为一系列的3*3卷积核,分别对应图30中的一系列分支结构,通过学习的方式自动构建插值方案库(即基于卷积核学习到每种插值方式的插值信息和权重信息)。具体地,对特征图调整大小后,分别使用各个3*3卷积核进行卷积,每个3*3卷积的分支都是一种插值方式。此时,加权求和可以视作是已加权的特征求和。与caum模型相比,s-caum模型更加简洁有效,caum模型具有更强大的容量。
[0176]
本技术实施例中提供的aism模型、caum模型和s-caum模型均可以单独使用于去马赛克的部分流程。每个模型的处理过程可以参见上文中的介绍,在此不再赘述。
[0177]
或者,上述aism模型和caum模型可以组合使用于去马赛克的流程,如图31所示。其中aism模型用来解耦颜色信息与纹理信息来解决伪纹理问题,caum模型根据内容自适应地计算图像插值结果从而解决伪颜色问题。aism模型和caum模型的联合使用能够有效解决nona样式数据去马赛克问题,即现有基于深度学习的去马赛克算法直接应用在nona样式的数据上引发的伪纹理与伪颜色问题。具体地,将待处理图像通过aism模型,利用滤波器计算候选颜色值,并在候选颜色值中为像素点选择最佳颜色值,得到的最终颜色值可以用于计算纹理值,实现自适应地解耦颜色值和纹理值,并基于解耦颜色值和纹理值得到多个尺度的特征图。通过caum模型根据构建的插值方案库中的各种插值方案,基于多个尺度的特征图确定各种插值结果和每种插值方式的权重,计算这些插值方案的结果的加权总和,以获得每个像素的最终插值结果,即可得到处理后的图像。每个模型的处理过程可以参见上文中的介绍,在此不再赘述。
[0178]
或者,上述aism模型可以和s-caum模型组合使用于去马赛克的流程,如图32所示。具体地,将待处理图像通过aism模型自适应地解耦颜色值和纹理值,并基于解耦颜色值和纹理值得到的特征图。通过s-caum模型对特征图使用学习好的各种卷积核进行卷积,并将卷积结果相加,获得每个像素的最终插值结果,即可得到处理后的图像。每个模型的处理过程可以参见上文中的介绍,在此不再赘述。
[0179]
本技术实施例提供的aism模型,主要步骤有三个,第一个是基于构建的颜色滤波器库中的各种滤波器计算每个颜色区域相对应的候选颜色值,第二个是在保证区域颜色连续性的前提下从颜色滤波器库中选择最佳的颜色滤波器,第三个计算最终的颜色,通过这三个步骤,aism模型把纹理与颜色进行解耦,帮助提升数据尤其是bayer-like raw类型的数据,更尤其是nona类型数据的伪纹理问题。
[0180]
本技术实施例提供的caum模型,主要包含六个步骤,第一步是通过填零操作将特征图进行上采样,第二步是根据设计的插值方案库计算不同插值方式对应的插值结果,第
三步是对齐不同层级的特征图,第四步是根据特征图中边缘的纹理为不同的插值方式生成对应的权值,第五步是计算不同插值方案的加权和,第六步是调整通道数,根据以上六步,caum模块能够极大的缓解伪颜色问题。
[0181]
本技术实施例提供的图像处理方法,帮助采用了nona类型传感器的设备(例如手机等)取得更好的拍照效果。如表1所示,psnr(peak signal to noise ratio,峰值信噪比)指标(用于评估预测结果与gt之间的差异,psnr越高,越相似)比dpn方法高了1.74db,如图33a所示,与dpn方法比较,本技术实施例的图像处理结果没有伪纹理问题,如图33b所示,与dpn方法比较,本技术实施例的图像处理结果在边缘处没有伪颜色问题。
[0182]
方法psnrdpn25.06db(aism+s-caum)26.80db
[0183]
表1性能指标
[0184]
本技术实施例中还提供了一种图像处理方法,如图34所示,该方法包括:
[0185]
步骤s201:通过预设的至少两种插值方式,分别对待处理特征图进行插值,得到至少两种插值方式分别对应的插值结果;
[0186]
步骤s202:基于两种插值方式分别对应的插值结果,得到最终插值结果。
[0187]
本技术实施例提供的图像处理方法,可以用于去马赛克处理中的插值过程,用于解决上述伪颜色问题。
[0188]
考虑到单一的插值方法不能满足所有的边缘纹理情况,本技术实施例中,构建了一系列的上采样方案(即插值方式),包含但不限于双线性插值、最近邻插值、高斯插值和lanczos插值等,不同的插值方式可以处理图像/特征图中的不同边缘,最终的插值结果是所有插值方式结果的融合。
[0189]
在一种可行的实施方式中,步骤s202具体可以包括:确定至少两种插值方式分别对应的权重;基于两种插值方式分别对应的插值结果和权重,得到最终插值结果。
[0190]
也就是说,最终的插值结果是所有插值方式结果的加权和,因此需要计算每种插值方式所对应的权重
[0191]
本技术实施例中,确定至少两种插值方式分别对应的权重的过程,具体可以包括:对待处理特征图提取至少两个尺度的特征图,基于至少两个尺度的特征图,获取边缘信息和/或边缘类型信息;基于边缘信息和/或边缘类型信息,确定至少两种插值方式分别对应的权重。
[0192]
本技术实施例中,利用不同尺度的特征图是考虑到编码器输出的高层特征包含纹理边缘信息,可以帮助模型感知边缘类型,而浅层特征包含插值的先验信息。
[0193]
其中,图像边缘是指图像的中梯度发生变化的地方。边缘信息是指图像边缘处像素点的信息,例如像素点的像素值和/或颜色值和/或纹理值,像素点的位置等,但不限于此。边缘类型信息可以是指梯度变化程度的信息,也可以是其他分类信息,本领域技术人员可以根据实际情况对边缘类型进行划分。本技术实施例中,边缘类型可以包括但不限于:没有颜色变化的锐利边缘(例如两种差距较大的颜色区域的交界处)、有颜色变化的非锐利边缘(例如颜色渐变的区域)、有颜色变化的锐利边缘、无边缘区域等。
[0194]
具体而言,基于至少两个尺度的特征图,获取边缘信息和/或边缘类型信息的过
程,可以包括:将至少两个尺度的特征图对齐到相同尺寸,得到尺寸对齐的至少两个特征图;基于尺寸对齐的至少两个特征图,获取边缘信息和/或边缘类型信息。
[0195]
本技术实施例中,为步骤s201提供了另一种可行的实施方式,具体的,可以包括步骤:通过训练得到的至少两种插值方式的卷积核,分别对待处理特征图进行插值;其中,卷积核包含插值信息和权重信息。
[0196]
对于本技术实施例的图像处理方法,各步骤的详细功能描述以及产生的有益效果具体可以参见前文中相应的描述,此处不再赘述。
[0197]
本技术实施例提供了一种图像处理装置,如图35所示,该图像处理装置50可以包括:确定模块501以及第一插值模块502,其中,
[0198]
确定模块501用于确定待处理图像中像素点分别对应的颜色值和纹理值;
[0199]
第一插值模块502用于对特征图进行插值,得到处理后的图像,特征图是基于像素点分别对应的颜色值和纹理值得到的。
[0200]
在一种可选的实施方式中,确定模块501在用于确定待处理图像中像素点分别对应的颜色值时,具体用于:
[0201]
针对待处理图像中的每个像素元组,通过颜色滤波器库中的每个滤波器的卷积操作,得到每个滤波器对应的第一候选颜色值;
[0202]
根据每个像素元组中各个像素点的像素值,以及每个滤波器对应的第一候选颜色值,确定每个像素元组中各个像素点分别对应的颜色值;
[0203]
其中,每个像素元组包括预定数量的像素点,每个滤波器包括不大于预定数量的至少一个像素点的非零权重,每个滤波器的各个非零权重的和为1,若任一滤波器的非零权重为至少两个,则该至少两个非零权重在该滤波器中的位置是相连的。
[0204]
在一种可选的实施方式中,确定模块501在用于针对每个像素元组,根据像素元组中各个像素点的像素值,以及每个滤波器对应的第一候选颜色值,确定该像素元组中各个像素点分别对应的颜色值时,具体用于:
[0205]
根据该像素元组中各个像素点的像素值与每个第一候选颜色值的第一差值,在每个第一候选颜色值中,确定该像素元组中各个像素点对应的第二候选颜色值;
[0206]
根据该像素元组中各个像素点对应的第二候选颜色值,以及每个滤波器的非零权重的数量,确定该像素元组中各个像素点分别对应的颜色值。
[0207]
在一种可选的实施方式中,确定模块501在用于根据该像素元组中各个像素点的像素值与每个第一候选颜色值的第一差值,在每个第一候选颜色值中,确定该像素元组中各个像素点对应的第二候选颜色值时,具体用于:
[0208]
针对每个第一候选颜色值,确定该像素元组中像素值与该第一候选颜色值的第一差值小于预定阈值的目标像素点,将该第一候选颜色值,确定为对应的目标像素点的第二候选颜色值。
[0209]
在一种可选的实施方式中,确定模块501在用于根据该像素元组中各个像素点对应的第二候选颜色值,以及每个滤波器的非零权重的数量,确定该像素元组中各个像素点分别对应的颜色值时,具体用于:
[0210]
针对该像素元组中每个像素点,将该像素点对应的第二候选颜色值中,对应的滤波器的非零权重的数量最大的第二候选颜色值,确定为该像素点对应的颜色值。
[0211]
在一种可选的实施方式中,则确定模块501还用于以下至少一项:
[0212]
若数量最大的第二候选颜色值有多个,则分别确定该多个第二候选颜色值与该像素点的像素值的第二差值,将该多个第二候选颜色值中,对应第二差值最小的第二候选颜色值确定为该像素点对应的颜色值;
[0213]
若任一像素点未确定出对应的颜色值,则将该像素点的像素值确定为该像素点对应的颜色值。
[0214]
在一种可选的实施方式中,确定模块501在用于确定待处理图像中像素点分别对应的颜色值和纹理值时,具体用于:
[0215]
确定待处理图像中各个像素点分别对应的颜色值;
[0216]
针对待处理图像中的每个像素点,基于像素点的像素值以及颜色值,得到该像素点的纹理值。
[0217]
在一种可选的实施方式中,第一插值模块502在用于对特征图进行插值,得到处理后的图像时,具体用于:
[0218]
通过预设的至少两种插值方式,分别对特征图进行插值,得到至少两种插值方式分别对应的插值结果;
[0219]
基于两种插值方式分别对应的插值结果,得到最终插值结果。
[0220]
在一种可选的实施方式中,第一插值模块502在用于基于两种插值方式分别对应的插值结果,得到最终插值结果时,具体用于:
[0221]
确定至少两种插值方式分别对应的权重;
[0222]
基于两种插值方式分别对应的插值结果和权重,得到最终插值结果。
[0223]
在一种可选的实施方式中,第一插值模块502在用于确定至少两种插值方式分别对应的权重时,具体用于:
[0224]
基于像素点分别对应的颜色值和纹理值,提取至少两个尺度的特征图;
[0225]
基于至少两个尺度的特征图,获取边缘信息和/或边缘类型信息;
[0226]
基于边缘信息和/或边缘类型信息,确定至少两种插值方式分别对应的权重。
[0227]
在一种可选的实施方式中,第一插值模块502在用于基于至少两个尺度的特征图,获取边缘信息和/或边缘类型信息时,具体用于:
[0228]
将至少两个尺度的特征图对齐到相同尺寸,得到尺寸对齐的至少两个特征图;
[0229]
基于尺寸对齐的至少两个特征图,获取边缘信息和/或边缘类型信息。
[0230]
在一种可选的实施方式中,第一插值模块502在用于通过预设的至少两种插值方式,分别对特征图进行插值时,具体用于:
[0231]
通过训练得到的至少两种插值方式的卷积核,分别对特征图进行插值;
[0232]
其中,卷积核包含插值信息和权重信息。
[0233]
本技术实施例的装置可执行本技术实施例所提供的方法,其实现原理相类似,本技术各实施例的装置中的各模块所执行的动作是与本技术各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述及产生的有益效果具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
[0234]
本技术实施例还提供了一种图像处理装置,如图36所示,该图像处理装置60可以包括:第二插值模块601以及融合模块602,其中,
[0235]
第二插值模块601用于通过预设的至少两种插值方式,分别对待处理特征图进行插值,得到至少两种插值方式分别对应的插值结果;
[0236]
融合模块602用于基于两种插值方式分别对应的插值结果,得到最终插值结果。
[0237]
在一种可选的实施方式中,融合模块602在用于基于两种插值方式分别对应的插值结果,得到最终插值结果时,具体用于:
[0238]
确定至少两种插值方式分别对应的权重;
[0239]
基于两种插值方式分别对应的插值结果和权重,得到最终插值结果。
[0240]
在一种可选的实施方式中,融合模块602在用于述确定至少两种插值方式分别对应的权重时,具体用于:
[0241]
基于像素点分别对应的颜色值和纹理值,提取至少两个尺度的特征图;
[0242]
基于至少两个尺度的特征图,获取边缘信息和/或边缘类型信息;
[0243]
基于边缘信息和/或边缘类型信息,确定至少两种插值方式分别对应的权重。
[0244]
在一种可选的实施方式中,融合模块602在用于基于至少两个尺度的特征图,获取边缘信息和/或边缘类型信息时,具体用于:
[0245]
将至少两个尺度的特征图对齐到相同尺寸,得到尺寸对齐的至少两个特征图;
[0246]
基于尺寸对齐的至少两个特征图,获取边缘信息和/或边缘类型信息。
[0247]
在一种可选的实施方式中,第二插值模块601在用于通过预设的至少两种插值方式,分别对特征图进行插值时,具体用于:
[0248]
通过训练得到的至少两种插值方式的卷积核,分别对特征图进行插值;
[0249]
其中,卷积核包含插值信息和权重信息。
[0250]
本技术实施例的装置可执行本技术实施例所提供的方法,其实现原理相类似,本技术各实施例的装置中的各模块所执行的动作是与本技术各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述及产生的有益效果具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
[0251]
本技术实施例中所提供的装置,可以通过ai模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与ai相关联的功能。
[0252]
该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,例如中央处理单元(cpu)、应用处理器(ap)等、或者是纯图形处理单元,例如,图形处理单元(gpu)、视觉处理单元(vpu)、和/或ai专用处理器,例如神经处理单元(npu)。
[0253]
该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(ai)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。
[0254]
这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的ai模型。该学习可以在其中执行根据实施例的ai的装置本身中执行,和/或可以通过单独的服务器/系统来实现。
[0255]
该ai模型可以包含多个神经网络层。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(cnn)、深度神经网络(dnn)、循环神经网络(rnn)、受限玻尔兹曼机(rbm)、深度信念网络(dbn)、双向循环深度神经网络(brdnn)、生成对抗网络(gan)、以及深度q网络。
[0256]
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
[0257]
本技术实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现前述各方法实施例的步骤。
[0258]
在一个可选实施例中提供了一种电子设备,如图37所示,图37所示的电子设备700包括:处理器701和存储器703。其中,处理器701和存储器703相连,如通过总线702相连。可选地,电子设备700还可以包括收发器704,收发器704可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器704不限于一个,该电子设备700的结构并不构成对本技术实施例的限定。
[0259]
处理器701可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器701也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0260]
总线702可包括一通路,在上述组件之间传送信息。总线702可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线702可以分为地址总线、数据总线、控制总线等。为便于表示,图37中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0261]
存储器703可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
[0262]
存储器703用于存储执行本技术实施例的计算机程序,并由处理器701来控制执行。处理器701用于执行存储器703中存储的计算机程序,以实现前述方法实施例所示的步骤。
[0263]
其中,电子设备包括但不限于:固定终端和/或移动终端等终端设备,例如:手机、平板电脑、笔记本电脑、可穿戴设备、游戏机、台式机、一体机、车载终端、机器人等等。电子设备中可以包括图像处理模块,用于进行图像处理。或者,电子设备也可以是服务器,用于对上传的图像进行图像处理。
[0264]
本技术实施例中,在电子设备中执行的图像处理方法中,用于推理或预测图像颜色、选择最佳颜色、预测插值结果、预测权重等方法均可以使用人工智能模型来推荐/执行。电子设备的处理器可以对数据执行预处理操作,以转换成适合用作人工智能模型输入的形
式。人工智能模型可以通过训练获得。这里,“通过训练获得”意味着通过训练算法用多条训练数据训练基本人工智能模型来获得被配置成执行期望特征(或目的)的预定义操作规则或人工智能模型。人工智能模型可以包括多个神经网络层。多个神经网络层中的每一层包括多个权重值,并且通过在前一层的计算结果和多个权重值之间的计算来执行神经网络计算。
[0265]
推理预测是通过确定信息进行逻辑推理和预测的技术,包括例如基于知识的推理、优化预测、基于偏好的规划或推荐。
[0266]
本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
[0267]
本技术实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
[0268]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“1”、“2”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
[0269]
应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
[0270]
以上仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。

技术特征:
1.一种图像处理方法,其特征在于,包括:确定待处理图像中像素点分别对应的颜色值和纹理值;对特征图进行插值,得到处理后的图像,所述特征图是基于所述像素点分别对应的颜色值和纹理值得到的。2.根据权利要求1所述图像处理方法,其特征在于,所述确定待处理图像中像素点分别对应的颜色值,包括:针对所述待处理图像中的每个像素元组,通过颜色滤波器库中的每个滤波器的卷积操作,得到所述每个滤波器对应的第一候选颜色值;根据所述每个像素元组中各个像素点的像素值,以及所述每个滤波器对应的第一候选颜色值,确定所述每个像素元组中各个像素点分别对应的颜色值;其中,每个像素元组包括预定数量的像素点。3.根据权利要求2所述图像处理方法,其特征在于,所述每个滤波器包括不大于所述预定数量的至少一个像素点的非零权重,所述每个滤波器的各个非零权重的和为1,若任一滤波器的非零权重为至少两个,则该至少两个非零权重在该滤波器中的位置是相连的。4.根据权利要求3所述图像处理方法,其特征在于,针对所述每个像素元组,根据像素元组中各个像素点的像素值,以及所述每个滤波器对应的第一候选颜色值,确定该像素元组中各个像素点分别对应的颜色值,包括:根据该像素元组中各个像素点的像素值与所述每个第一候选颜色值的第一差值,在所述每个第一候选颜色值中,确定该像素元组中各个像素点对应的第二候选颜色值;根据该像素元组中各个像素点对应的第二候选颜色值,以及所述每个滤波器的非零权重的数量,确定该像素元组中各个像素点分别对应的颜色值。5.根据权利要求4所述图像处理方法,其特征在于,所述根据该像素元组中各个像素点的像素值与所述每个第一候选颜色值的第一差值,在所述每个第一候选颜色值中,确定该像素元组中各个像素点对应的第二候选颜色值,包括:针对所述每个第一候选颜色值,确定该像素元组中像素值与该第一候选颜色值的第一差值小于预定阈值的目标像素点,将该第一候选颜色值确定为对应的所述目标像素点的第二候选颜色值。6.根据权利要求4所述图像处理方法,其特征在于,所述根据该像素元组中各个像素点对应的第二候选颜色值,以及所述每个滤波器的非零权重的数量,确定该像素元组中各个像素点分别对应的颜色值,包括:针对该像素元组中每个像素点,将该像素点对应的第二候选颜色值中,对应的滤波器的非零权重的数量最大的第二候选颜色值,确定为该像素点对应的颜色值。7.根据权利要求6所述图像处理方法,其特征在于,该方法还包括以下至少一项:若所述数量最大的第二候选颜色值有多个,则分别确定该多个第二候选颜色值与该像素点的像素值的第二差值,将该多个第二候选颜色值中,对应第二差值最小的第二候选颜色值确定为该像素点对应的颜色值;若任一像素点未确定出对应的颜色值,则将该像素点的像素值确定为该像素点对应的颜色值。8.根据权利要求1-7任一项所述图像处理方法,其特征在于,所述确定待处理图像中像
素点分别对应的颜色值和纹理值,包括:确定所述待处理图像中各个像素点分别对应的颜色值;针对所述待处理图像中的每个像素点,基于像素点的像素值以及颜色值,得到该像素点的纹理值。9.根据权利要求1-8任一项所述图像处理方法,其特征在于,对特征图进行插值,得到处理后的图像,包括:通过预设的至少两种插值方式,分别对所述特征图进行插值,得到所述至少两种插值方式分别对应的插值结果;基于所述至少两种插值方式分别对应的插值结果,得到最终插值结果。10.根据权利要求9所述图像处理方法,其特征在于,所述基于所述至少两种插值方式分别对应的插值结果,得到最终插值结果,包括:确定所述至少两种插值方式分别对应的权重;基于所述两种插值方式分别对应的插值结果和权重,得到最终插值结果。11.根据权利要求10所述图像处理方法,其特征在于,所述确定所述至少两种插值方式分别对应的权重,包括:基于所述像素点分别对应的颜色值和纹理值,提取至少两个尺度的特征图;基于所述至少两个尺度的特征图,获取边缘信息和/或边缘类型信息;基于所述边缘信息和/或所述边缘类型信息,确定所述至少两种插值方式分别对应的权重。12.根据权利要求11所述图像处理方法,其特征在于,所述基于所述至少两个尺度的特征图,获取边缘信息和/或边缘类型信息,包括:将至少两个尺度的特征图对齐到相同尺寸,得到尺寸对齐的至少两个特征图;基于所述尺寸对齐的至少两个特征图,获取边缘信息和/或边缘类型信息。13.根据权利要求9所述图像处理方法,其特征在于,通过预设的至少两种插值方式,分别对所述特征图进行插值,包括:通过训练得到的所述至少两种插值方式的卷积核,分别对所述特征图进行插值;其中,所述卷积核包含插值信息和权重信息。14.一种图像处理方法,其特征在于,包括:通过预设的至少两种插值方式,分别对待处理特征图进行插值,得到所述至少两种插值方式分别对应的插值结果;基于所述两种插值方式分别对应的插值结果,得到最终插值结果。15.一种图像处理装置,其特征在于,包括:确定模块,用于确定待处理图像中像素点分别对应的颜色值和纹理值;第一插值模块,用于对特征图进行插值,得到处理后的图像,所述特征图是基于所述像素点分别对应的颜色值和纹理值得到的。16.一种图像处理装置,其特征在于,包括:第二插值模块,用于通过预设的至少两种插值方式,分别对待处理特征图进行插值,得到所述至少两种插值方式分别对应的插值结果;融合模块,用于基于所述两种插值方式分别对应的插值结果,得到最终插值结果。
17.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-14任一项所述方法的步骤。18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-14任一项所述方法的步骤。

技术总结
本申请实施例提供了一种图像处理方法、装置、电子设备及计算机可读存储介质。该方法包括:确定待处理图像中像素点分别对应的颜色值和纹理值;对特征图进行插值,得到处理后的图像,特征图是基于像素点分别对应的颜色值和纹理值得到的。本申请实施例通过解耦像素点的颜色信息与纹理信息,能够有效使用解耦后的颜色信息与纹理信息来处理图像,避免了其它颜色通道的颜色信息的干扰,从而能够更加准确地预测出处理后的图像的真实纹理,提升成像质量。同时,由电子设备执行的上述图像处理方法可以使用人工智能模型来执行。用人工智能模型来执行。用人工智能模型来执行。


技术研发人员:谢征 刘子坤 张建兴 孔祥宇 文伟 崔锺凡
受保护的技术使用者:三星电子株式会社
技术研发日:2022.01.10
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐