图像分割方法、装置、终端设备及计算机可读存储介质与流程

文档序号:31692194发布日期:2022-09-30 23:49阅读:44来源:国知局
图像分割方法、装置、终端设备及计算机可读存储介质与流程

1.本技术属于图像处理技术领域,尤其涉及一种图像分割方法、装置、终端设备及计算机可读存储介质。


背景技术:

2.在深度学习还没流行起来的时候,研究者经常采用梯度算法来检测图像中天空区域边界,用图像暗通道算法来分辨天空区域和非天空区域;但是这些算法的分割精度不高,因为物体边缘界线和一些细小物体和孔洞很难被分割出来。而最近两年,更多的研究者会采用神经网络来分割物体,但由于模型一般是由小图训练(比如将图像的大小改成256x256或者512x512等),所以当分割高清大图的时候,效果不理想。


技术实现要素:

3.本技术的实施例提供一种图像分割方法、装置、终端设备及计算机可读存储介质,能对高清大图进行精细分割。
4.第一方面,本技术的实施例提供一种图像分割方法,包括:
5.获取第一图像,以及对第一图像进行尺寸缩放,得到第二图像;
6.将第二图像输入第一分割网络模型进行处理,输出第一分割图像;
7.将第一图像、第二图像和第一分割图像输入第二分割网络模型进行处理,输出图像分割精度高于第一分割图像的第二分割图像。
8.第二方面,本技术的实施例提供一种图像分割装置,包括:
9.图像获取单元,用于获取第一图像,以及对第一图像进行尺寸缩放,得到第二图像;
10.第一分割网络模型,用于将第二图像输入第一分割网络模型进行处理,输出第一分割图像;
11.第二分割网络模型,用于将第一图像、第二图像和第一分割图像输入第二分割网络模型进行处理,输出图像分割精度高于第一分割图像的第二分割图像。
12.第三方面,本技术的实施例提供一种终端设备,终端设备包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面中任一项的方法。
13.第四方面,本技术的实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现第一方面中任一项的方法。
14.第五方面,本技术的实施例提供一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行第一方面中任一项的方法。
15.可以理解的是,第二方面至第五方面的有益效果可以参见第一方面中的相关描述,在此不再赘述。
16.本技术的实施例与现有技术相比存在的有益效果是:
17.将对第一图像进行尺寸缩放得到的第二图像输入第一分割网络模型,生成第一分割图像;将第一图像、第二图像和第一分割图像输入至第二分割网络模型进行处理,输出图像分割精度高于第一分割图像的第二分割图像;通过两次精度不同的分割,能提高分割结果的精细程度,从而能对高清大图进行精细分割。
18.本技术的实施例的一些可能的实现方式具有如下有益效果:
19.第一分割网络模型采用frn归一化,输入数据为一张尺寸大小改变之后的图片(第二图像)和一张原图(第一图像),批次数为1的时候,网络能快速收敛,再结合采用frn归一化进行归一化的第二分割网络模型来进行分割,能使分割结果更加精细,能进一步提高对高清大图的精细分割程度;
20.获取背景模板的图像参数,根据图像参数对第一图像调色,生成色调改变的调色图像;根据第二分割图像、调色图像和背景模板生成第三图像;如此,使得图片在融合之后,整体色彩看起来更加自然;
21.损失函数为均方误差,所得到分割图值域在0到1之间,可以直接将用来无缝融合背景模板。
附图说明
22.为了更清楚地说明本技术的实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是本技术一实施例提供的图像分割方法的流程示意图;
24.图2是本技术一实施例提供的第一分割网络模型的结构示意图;
25.图3是本技术一实施例提供的卷积块下结构的结构示意图;
26.图4是本技术一实施例提供的第一特征网络的结构示意图;
27.图5是本技术一实施例提供的上运算块的结构示意图;
28.图6是本技术一实施例提供的末端特征网络的结构示意图;
29.图7是本技术一实施例提供的卷积块上结构的结构示意图;
30.图8是本技术一实施例提供的第二分割网络模型的结构示意图;
31.图9是本技术一实施例提供的换背景方法的流程示意图;
32.图10是本技术一实施例提供的图像处理装置的结构示意图;
33.图11是本技术一实施例提供的第一分割网络模型的另一结构示意图;
34.图12是本技术一实施例提供的终端设备的另一结构示意图;
35.图13是本技术一实施例提供的第一图像的一个示例图;
36.图14是本技术一实施例提供的第二图像的一个示例图;
37.图15是本技术一实施例提供的第一分割图像的一个示例图;
38.图16是本技术一实施例提供的第二分割图像的一个示例图;
39.图17是本技术一实施例提供的天空模板的一个示例图;
40.图18是本技术一实施例提供的第三图像的一个示例图;
41.图19(a)是本技术一实施例提供的第一图像的另一个示例图;
42.图19(b)是与图19(a)对应的第二分割图像的示例图;
43.图20(a)是本技术一实施例提供的第三图像的另一个示例图;
44.图20(b)是与图20(a)对应的第一分割图像的示例图;
45.图21(a)是本技术一实施例提供的第一图像的第三个示例图;
46.图21(b)是与图21(a)对应的第二分割图像的示例图;
47.图22(a)是本技术一实施例提供的第三图像的第三个示例图;
48.图22(b)是与图22(a)对应的第一分割图像的示例图。
具体实施方式
49.为了使本技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图1至22及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
50.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术的实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
51.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
52.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
53.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0054]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0055]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0056]
本实施例提供一种图像处理方法,具体为基于可学习导向滤波的图像处理方法,其一种应用形式为图像分割方法,另一种应用形式为换背景方法。本实施例的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等终端设备上,本实施例对终端设备的具体类型不作任何限制。
[0057]
在本实施例中,背景为天空。在其他一些实施例中,背景是水面或墙,优选为内容较单一的背景,只要进行针对性的训练即可。
[0058]
图1示出本实施例提供的图像处理方法的示意性流程图,作为示例而非限定,该方法可以应用于上述终端设备中。本实施例的图像处理方法包括步骤s1至步骤s3,为一种图像分割方法,具体为基于可学习导向滤波的图像分割方法。
[0059]
步骤s1,获取第一图像,以及对第一图像进行尺寸缩放,得到第二图像。
[0060]
第一图像为带有背景的图像,可称为第一带背景图像。第二图像也为带有背景的图像,可称为第二带背景图像。第二图像是通过改变第一图像的尺寸大小得到的,具体是通过对第一图像进行尺寸缩放得到的。
[0061]
在本实施例中,参考图13,第一图像为带天空图片ih,为原图;第二图像是由带天空图片ih(第一图像)改变尺寸大小(resize)得到的,比如将带天空图片ih的大小缩放成512x512,得到第二图像i
l
(或称为图片i
l
);当然,根据实际情况,第二图像i
l
也可以设置成其他大小。
[0062]
得到第二图像i
l
的具体方式包括:第二图像可以是预先处理好的,在需要使用的时候直接从终端设备的存储部件读取;或者,第二图像是实时对输入的第一图像ih进行处理得到的。
[0063]
步骤s2,将第二图像输入第一分割网络模型进行处理,输出第一分割图像。
[0064]
第一分割网络模型为粗分割网络模型。第一分割网络模型用于对第二图像进行粗分割。
[0065]
第二图像i
l
作为第一分割网络模型(也即粗分割网络模型)的输入数据,第一分割网络模型对第二图像i
l
进行处理后输出第一分割图像o
l
(也可称为粗分割图o
l
)。其中,在获取第一分割图像o
l
的过程中,第一分割网络模型执行归一化运算。
[0066]
在一些实施例中,第一分割网络模型为采用frn归一化层和均方误差为损失函数的分割网络模型;换句话说,第一分割网络模型采用frn(filter response normalization)归一化以及采用均方误差(mean-square error,简称mse)损失函数计算损失;其中,第一分割网络模型在执行各种卷积运算之后执行frn归一化;上述步骤s2(将第二图像输入第一分割网络模型进行处理,输出第一分割图像)包括步骤s21至步骤s23。
[0067]
步骤s21,将第二图像输入第一分割网络模型中进行卷积运算、frn归一化运算、激活函数运算和分离卷积运算,得到图像特征。
[0068]
在一些实施例中,将第二图像输入第一分割网络模型的卷积块下结构。卷积块下结构能执行卷积运算、frn归一化运算、激活函数运算和分离卷积运算。
[0069]
在本实施例中,参考图2,卷积块下结构的数量为五个,分别为卷积块下结构convblockdown1至卷积块下结构convblockdown5。
[0070]
每个卷积块下结构的结构是相同的,对输入数据的处理也是相同的。本实施例的卷积块下结构的具体构造请参考图3:conv1x1表示卷积核大小为1的卷积运算;frn为归一化运算;relu6为激活函数,限制最大输出值为6;depthwiseconv 3x3/2为卷积核大小为3的分离卷积运算且步长为2,当步长为2的时候,特征图经过此卷积运算之后,宽高各变为原来大小的一半。
[0071]
值得说明的是,卷积块下结构的数量、卷积运算的卷积核大小、分离卷积运算的卷
积核大小以及步长,都是可以根据实际应用场景通过训练确定的。
[0072]
参考图3,第一分割网络模型的卷积块下结构对输入数据的处理过程具体如下:
[0073]
对输入的数据比如第二图像i
l
依次进行卷积核大小为1
×
1的卷积运算、frn归一化运算和relu6激活函数运算,输出第一归一化结果;
[0074]
对前述第一归一化结果依次进行分离卷积运算、frn归一化运算和relu6激活函数运算,输出第二归一化结果;
[0075]
对前述第二归一化结果进行卷积核大小为1
×
1的卷积运算和frn归一化运算,得到图像特征。
[0076]
参考图2,对于五个卷积块下结构,第二图像i
l
输入至卷积块下结构convblockdown1,生成第一图像特征x1;第一图像特征x1输入至卷积块下结构convblockdown2,以及输入至特征网络;卷积块下结构convblockdown2基于第一图像特征x1生成第二图像特征x2;第二图像特征x2输入至卷积块下结构convblockdown3,以及输入至特征网络;卷积块下结构convblockdown3基于第二图像特征x2生成第三图像特征x3;第三图像特征x3输入至卷积块下结构convblockdown4,以及输入至特征网络;卷积块下结构convblockdown4基于第三图像特征x3生成第四图像特征x4;第四图像特征x4输入至卷积块下结构convblockdown5,以及输入至特征网络;卷积块下结构convblockdown5基于第四图像特征x4生成第五图像特征x5;第五图像特征x5输入至特征网络。对于卷积块下结构的数量两个、三个、四个、六个、七个以及八个以上的情况也是类似。
[0077]
如此,第二图像i
l
经由卷积块下结构,输出图像特征x1~x5。图像特征x1~x5均为特征图。
[0078]
步骤s22,对图像特征进行上采样、卷积运算、frn归一化运算、特征图相加和激活函数运算,得到特征网络结果。
[0079]
将步骤s21得到的图像特征x1~x5,输入至特征网络生成特征网络结果。特征网络能执行上采样、卷积运算、frn归一化运算、特征图相加和激活函数运算。
[0080]
在一些实施例中,参考图2,特征网络包括第一特征网络和末端特征网络;其中,第一特征网络的数量为两个,末端特征网络的数量为一个。在其他一些实施例中,第一特征网络的数量为一个、三个、四个、五个或者六个以上,具体根据实际应用场景通过训练确定。
[0081]
图像特征x1~x5经由第一特征网络bifpn1、第一特征网络bifpn2和末端特征网络bifpnlast,输出特征网络结果。
[0082]
各个第一特征网络的结构是相同的,对输入数据的处理也是相同的。一些实施例的第一特征网络的具体结构请参考图4:add为特征图相加,relu6为激活函数,下运算块blockdown1~blockdown4的结构与图3的卷积块下结构的结构是一样的,上运算块blockup1~blockup4的具体结构请参考图5。
[0083]
在图5中,上采样为线性上采样两倍(bilinear upsample),特征图经过此运算之后,宽高各变为原来大小的两倍;conv3x3表示卷积核大小为3的卷积运算;frn为归一化运算。其中,上采样的具体类型可以根据实际情况来确定。
[0084]
参考图5,每个上运算块blockup对输入数据的处理也是相同的,具体如下:对输入数据进行线性上采样两倍运算,输出上采样结果,然后对上采样结果进行卷积核大小为3的卷积运算,然后进行frn归一化运算,输出归一化运算结果。
[0085]
特征图运算块add+relu6是对输入的数据进行特征图相加运算和relu6激活函数运算。
[0086]
基于前述内容可知,第一特征网络能执行上采样、卷积运算、frn归一化运算、特征图相加、relu6激活函数运算和分离卷积运算。第一特征网络对图像特征x1~x5进行上采样、卷积运算、frn归一化运算、特征图相加、relu6激活函数运算和分离卷积运算,得到初步特征网络结果。
[0087]
对第一特征网络处理输入数据的过程进行说明。参考图4,图像特征x5输入至上运算块blockup4以及右侧第一个特征图运算块add+relu6(在图4中从上至下数起);上运算块blockup4的输出结果输入至左侧第一个特征图运算块add+relu6(在图4中从上至下数起);图像特征x4输入至左侧第一个特征图运算块add+relu6和右侧第二个特征图运算块add+relu6;左侧第一个特征图运算块add+relu6的输出结果输入至上运算块blockup3以及右侧第二个特征图运算块add+relu6;上运算块blockup3的输出结果输入至左侧第二个特征图运算块add+relu6;图像特征x3输入至左侧第二个特征图运算块add+relu6和右侧第三个特征图运算块add+relu6;左侧第二个特征图运算块add+relu6的输出结果输入至上运算块blockup2以及右侧第三个特征图运算块add+relu6;上运算块blockup2的输出结果输入至左侧第三个特征图运算块add+relu6;图像特征x2输入至左侧第三个特征图运算块add+relu6和右侧第四个特征图运算块add+relu6;左侧第三个特征图运算块add+relu6的输出结果输入至上运算块blockup1以及右侧第四个特征图运算块add+relu6;上运算块blockup1的输出结果输入至左侧第四个特征图运算块add+relu6;图像特征x1输入至左侧第四个特征图运算块add+relu6;左侧第四个特征图运算块add+relu6的输出结果h1输入至下运算块blockdown1并向外输出;下运算块blockdown1的输出结果输入至右侧第四个特征图运算块add+relu6;右侧第四个特征图运算块add+relu6的输出结果h2输入至下运算块blockdown2并向外输出;下运算块blockdown2的输出结果输入至右侧第三个特征图运算块add+relu6;右侧第三个特征图运算块add+relu6的输出结果h3输入至下运算块blockdown3并向外输出;下运算块blockdown3的输出结果输入至右侧第二个特征图运算块add+relu6;右侧第二个特征图运算块add+relu6的输出结果h4输入至下运算块blockdown4并向外输出;下运算块blockdown4的输出结果输入至右侧第一个特征图运算块add+relu6;右侧第一个特征图运算块add+relu6的输出结果h5向外输出。
[0088]
参考图2,图像特征x1~x5输入至第一特征网络bifpn1,生成第一输出结果h1至h5。输出结果h1至h5输入至第一特征网络bifpn2,生成初步特征网络结果f1至f5。
[0089]
初步特征网络结果f1至f5输入至末端特征网络bifpnlast,生成特征网络结果。
[0090]
末端特征网络bifpnlast的具体结构请参考图6:在本实施例中,末端特征网络bifpnlast也包含上运算块blockup1至blockup4,以及包含四个特征图运算块add+relu6。可见,末端特征网络包含上采样、卷积运算、frn归一化运算、特征图相加和relu6激活函数运算。如此,初步特征网络结果f1至f5是输入至能执行上采样、卷积运算、frn归一化运算、特征图相加和relu6激活函数运算的末端特征网络。
[0091]
对末端特征网络处理输入数据的过程进行说明。参考图6,初步特征网络结果f5输入至上运算块blockup4;上运算块blockup4的输出结果输入至第一个特征图运算块add+relu6(在图6中从上至下数起);初步特征网络结果f4输入至第一个特征图运算块add+
relu6;第一个特征图运算块add+relu6的输出结果输入至上运算块blockup3;上运算块blockup3的输出结果输入至第二个特征图运算块add+relu6;初步特征网络结果f3输入至第二个特征图运算块add+relu6;第二个特征图运算块add+relu6的输出结果输入至上运算块blockup2;上运算块blockup2的输出结果输入至第三个特征图运算块add+relu6;初步特征网络结果f2输入至第三个特征图运算块add+relu6;第三个特征图运算块add+relu6的输出结果输入至上运算块blockup1;上运算块blockup1的输出结果输入至第四个特征图运算块add+relu6;初步特征网络结果f1输入至第四个特征图运算块add+relu6;第四个特征图运算块add+relu6生成并输出特征网络结果。
[0092]
步骤s23,对特征网络结果进行上采样、卷积运算、frn归一化运算和损失函数运算,输出第一分割图像。
[0093]
将特征网络结果输入至第一分割网络模型的卷积块上结构,由卷积块上结构输出第一分割图像。卷积块上结构能执行上采样、卷积运算、frn归一化运算和均方误差损失函数。
[0094]
卷积块上结构convblockup的具体结构请参考图7:卷积块上结构convblockup包含线性上采样两倍、卷积核大小为3的卷积运算、frn归一化运算、卷积核大小为3的卷积运算、以及sigmoid激活函数。
[0095]
参考图7,来自特征网络的特征网络结果输入至卷积块上结构convblockup,生成第一分割图像o
l
(也可称为粗分割图o
l
);第一分割图像o
l
的一个示例请参考图15。具体的,参考图7,对输入的特征网络结果进行上采样,具体为线性上采样两倍,输出上采样结果;对上采样结果进行卷积核大小为3的卷积运算和frn归一化运算,得到卷积归一化结果;对卷积归一化结果进行卷积核大小为3的卷积运算,得到卷积结果;对卷积结果进行分类运算,其中采用sigmoid作为激活函数,对卷积结果进行sigmoid函数运算,输出第一分割图像o
l

[0096]
步骤s3,将第一图像、第二图像和第一分割图像输入第二分割网络模型进行处理,输出图像分割精度高于第一分割图像的第二分割图像。
[0097]
第二分割网络模型为采用frn归一化层和导向滤波的分割网络模型。在一些实施例中,第二分割网络模型为导向滤波精细分割模型。第二分割网络模型用于对图像进行精细分割。参考图8,将带天空图片ih(第一图像)、第二图像i
l
和第一分割图像o
l
送入第二分割网络模型,能得到对天空图片ih的第二分割图像oh。第二分割图像oh为精细分割结果,其分割精度高于第一分割图像。第二分割图像oh的一个示例请参考图16。
[0098]
参考图8,在一些实施例中,前述第二分割网络模型为可学习导向滤波精细分割模型。可学习导向滤波精细分割模型能执行指定卷积运算(表示一系列卷积运算)、空洞卷积运算(dilated conv)、逐点卷积运算(pointwise convolution block)、上采样、以及线性运算(linear layer);其中,空洞卷积运算为3x3大小的空洞卷积运算,逐点卷积运算为1x1的卷积运算。可学习导向滤波精细分割模型采用frn归一化,具体是在执行各种卷积运算(比如前述空洞卷积运算和逐点卷积运算)之后执行frn归一化。上述步骤s3(将第一图像、第二图像和第一分割图像输入第二分割网络模型进行处理,输出图像分割精度高于第一分割图像的第二分割图像)包括步骤s31至步骤s39。
[0099]
步骤s31,将第一图像ih输入第二分割网络模型中进行卷积运算f(i),得到尺寸大小与第一图像ih的尺寸大小相同的第一特征图gh。
[0100]
f(i)为一系列卷积运算,用于提取特征图。f(i)的运算只要使得提取的特征图gh的尺寸大小与ih相同即可。
[0101]
步骤s32,对第二图像i
l
进行卷积运算f(i),得到尺寸大小与第二图像i
l
的尺寸大小相同的第二特征图g
l

[0102]
f(i)为一系列卷积运算,用于提取特征图。f(i)的运算只要使得提取的特征图g
l
的尺寸大小与第二图像i
l
的相同即可。
[0103]
步骤s33,对第一分割图像o
l
进行空洞卷积运算,得到第一空洞卷积结果
[0104]
步骤s34,对第二特征图g
l
进行空洞卷积运算,得到第二空洞卷积结果
[0105]
对第一分割图像o
l
和第二特征图g
l
进行空洞卷积运算,是为了使得两者的通道数相同。
[0106]
步骤s35,对第一空洞卷积结果进行逐点卷积运算,得到第一引导滤波关键参数a
l

[0107]
步骤s36,对第二空洞卷积结果进行逐点卷积运算,得到第二引导滤波关键参数b
l

[0108]
第一引导滤波关键参数a
l
和第二引导滤波关键参数b
l
均为小图维度的引导滤波关键参数。其中,小图是第二图像i
l

[0109]
步骤s37,对第一引导滤波关键参数a
l
进行上采样,具体是线性上采样两倍,得到第三引导滤波关键参数ah。
[0110]
步骤s38,对第二引导滤波关键参数b
l
进行上采样,具体是线性上采样两倍,得到第四引导滤波关键参数bh。
[0111]
第三引导滤波关键参数ah和第四引导滤波关键参数bh为大图维度的引导滤波关键参数。其中,大图是第一图像ih。
[0112]
步骤s39,根据第一特征图gh、第三引导滤波关键参数ah和第四引导滤波关键参数bh,确定图像分割精度高于第一分割图像o
l
的第二分割图像oh。
[0113]
第二分割图像oh为精细分割结果oh。
[0114]
步骤s39具体是通过线性运算来得到第二分割图像oh;线性运算的公式如下式(1)。
[0115]
oh=ah*gh+bhꢀꢀ
(1)
[0116]
如此,便能得到对天空图片ih的精细分割结果oh。
[0117]
参考图9,本实施例的基于可学习导向滤波的图像处理方法还包括步骤s4至步骤s6。这样,本实施例的方法为一种基于可学习导向滤波分割图像换背景方法,具体为一种基于可学习导向滤波的精细分割图像换背景方法。
[0118]
步骤s4,获取背景模板和背景模板的图像参数。
[0119]
在一些实施例中,背景模板为天空模板skytemplate。天空模板skytemplate的一个示例请参考图17。
[0120]
图像参数是背景模板的图像搭配参数。获取背景模板的图像参数例如可以这样实现:通过图像处理软件,比如photoshop,获取天空模板skytemplate(背景模板)所搭配的亮度和色彩平衡参数。其中,前述图像参数包括亮度和色彩平衡参数。
[0121]
步骤s5,根据图像参数对第一图像进行图像调色,得到指定图像。
[0122]
根据前述图像参数可以对输入图片(也即第一图像)进行调色,得到色调改变之后的图片imgcolorchange;图片imgcolorchange为调色图像。调色图像为指定图像,是待融合图像。
[0123]
步骤s6,根据第二分割图像、背景模板和指定图像确定第三图像。
[0124]
在一些实施例中,步骤s6为:获取图像融合公式,利用图像融合公式,对第二分割图像、背景模板和指定图像进行图像融合,得到第三图像。示例的,根据下面的公式(2),将第二分割图像oh(oh图)、指定图像imgcolorchange(也即前述调色图像)和天空模板skytemplate(也即背景模板)进行融合形成新的带天空图片newimge
ij
(也即第三图像)。
[0125]
newimg
ij
=imgcolorchange*(255-oh)/255+skytemplate*oh/255
ꢀꢀ
(2)
[0126]
值得说明的是,如果天空模板skytemplate是一系列动态图片,那么就可以合成一个动态的换天效果。
[0127]
根据上述可知,首先,获取背景模板和背景模板的图像参数,根据图像参数对第一图像进行图像调色,得到指定图像;然后,根据第二分割图像oh将指定图像进行分割,以及将背景模板进行分割;将两个分割结果融合在一起形成第三图像,使得第三图像中的背景与背景模板中的背景相同。这样的好处是可以使得图片在融合之后,整体色彩看起来更加自然。第三图像的一个示例请参考图18。
[0128]
对于图像融合,一般有泊松融合和image matting;泊松融合会直接改变天空模板的颜色,不符合需求;image matting过程则比较复杂,先要求三分图,然后再通过matting算法(可选择用sharedmatting和globalmatting等)求得alpha图进行融合。相比之下,在上述实施例中,损失函数为均方误差,所得到分割图值域在0到1之间,可以直接将用来无缝融合天空模板(也即背景模板)。
[0129]
本实施例的基于可学习导向滤波的图像处理方法的还包括模型的训练过程。
[0130]
训练过程包括:
[0131]
用均方误差损失函数计算标签和第二分割图像oh(也即精细分割结果oh)的损失,生成损失结果;其中,标签为训练过程使用的训练样本对应的标签;
[0132]
根据损失结果更新整个网络参数,包括更新第一分割网络模型和/或第二分割网络模型的参数,比如更新卷积块下结构、特征网络、卷积块上结构和第二分割网络模型中的至少一者的参数。
[0133]
常用的分割网络有fcn(fully convolutional networks,全卷积神经网络)、unet、segnet等;这些分割网络在训练过程中,同一批次的输入数据会被resize成统一大小且批次数大于1,网络结构中会用到bn(batch normalization)归一化来加速网络收敛,其损失函数一般选择为交叉熵。有些网络为了使得分割结果更好,会结合一些精细分割模型,比如deeplab结合crf(conditional random field,条件随机场)算法;但由于crf不能和分割网络进行联合训练,于是有学者提出crfasrnn模型与分割模型进行联合训练以此得到更好结果,其中,rnn(recurrent neural network)为循环神经网络。对于目前的这些图像分割技术,由于高清大图分布与训练集小图的不一样,会直接导致分割效果不好。如果将高清大图的大小改成(resize)训练集图片的大小,再让模型进行分割,其效果也不好,主要原因是:其一,resize过程会遗失掉高清大图的一些细节;其二,图片resize回大图之后,会产生
模糊现象。
[0134]
在上述实施例中,将通过改变第一图像(原图)的尺寸大小得到的第二图像输入至采用frn归一化且采用均方误差损失函数计算损失的第一分割网络模型(粗分割网络),生成第一分割图像(粗分割结果);将第一图像、第二图像和第一分割图像输入至采用frn归一化的第二分割网络模型(可学习导向滤波精细分割模型),生成图像分割精度高于第一分割图像的第二分割图像(精细分割结果);第二分割网络模型采用frn归一化且采用均方误差损失函数,输入数据为一张尺寸大小改变之后的图片(第二图像)和一张原图(第一图像),批次数为1的时候,网络能快速收敛;损失函数选择为均方误差,图片分割问题就可以被看成一个回归问题,能将图片中的小细节分割出来;结合采用frn归一化进行归一化的第二分割网络模型来进行联合训练;如此,能使分割结果更加精细,从而能对高清大图进行更精细的分割。
[0135]
本实施例能减少计算量,能避免产生方块现象,能提高运算速度。
[0136]
本实施例能用于制作有趣应用,能增加产品的卖点,能增加对图像的分割精度。
[0137]
对于上述实施例,实际应用包括步骤s1至步骤s6;分割网络(或者说模型)测试则包括步骤s1至步骤s3;分割网络的训练,则在步骤s1至步骤s3的基础上,用mse损失函数来计算标签和精细分割结果oh的损失来更新整个网络参数。
[0138]
对应于上文实施例所述方法,图10示出了本技术的实施例提供的基于导向滤波的图像处理装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0139]
参考图10,基于导向滤波的图像处理装置具体为基于导向滤波的图像分割装置,该装置包括图像获取单元1、第一分割网络模型2、第二分割网络模型3、背景模板处理单元4、调色单元5、图像融合单元6以及训练单元7。其中,背景模板处理单元4、调色单元5和图像融合单元6共同作为图像融合模型。
[0140]
图像获取单元1用于实现前述步骤s1;第一分割网络模型2用于实现前述步骤s2;第二分割网络模型3用于实现前述步骤s3;背景模板处理单元4用于实现前述步骤s4;调色单元5用于实现前述步骤s5;图像融合单元6用于实现前述步骤s6;训练单元7用于实现前述训练过程。
[0141]
参考图11,第一分割网络模型2包括卷积块下结构21、特征网络22和卷积块上结构23。卷积块下结构21用于实现前述步骤s21;特征网络22用于实现前述步骤s22;卷积块上结构23用于实现前述步骤s23。
[0142]
第二分割网络模型3为可学习导向滤波精细分割模型,能执行卷积运算、空洞卷积运算、逐点卷积运算、上采样和线性运算。
[0143]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0144]
图12为本技术一实施例提供的计算设备的结构示意图。参考图12所示,该实施例的终端设备12包括:至少一个处理器120(图12中仅示出一个)处理器、存储器121以及存储在存储器121中并可在至少一个处理器120上运行的计算机程序122;处理器120执行计算机程序122时实现上述任意各个基于可学习导向滤波的图像处理方法实施例中的步骤。
[0145]
终端设备12可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计
算设备可包括,但不仅限于,处理器120和存储器121。本领域技术人员可以理解,图12仅仅是终端设备12的举例,并不构成对终端设备12的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备、总线等。
[0146]
处理器120可以是中央处理单元(central processing unit,cpu),该处理器120还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0147]
存储器121在一些实施例中可以是终端设备12的内部存储单元,例如终端设备12的硬盘或内存。存储器121在另一些实施例中也可以是终端设备12的外部存储设备,例如终端设备12上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器121还可以既包括终端设备12的内部存储单元也包括外部存储设备。存储器121用于存储操作系统、应用程序、引导装载程序(boot loader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器121还可以用于暂时地存储已经输出或者将要输出的数据。
[0148]
示例性的,计算机程序122可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器121中,并由处理器120执行,以完成本实施例。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序122在终端设备12中的执行过程。
[0149]
对上述实施例进行检测和实验验证。其中,所用的计算设备(机器测试平台)的配置为:i5-8250u处理器、16g内存、gtx1050 4g显卡以及windows10系统。
[0150]
图19(a)是第一图像(原图)的另一个示例图;图19(b)则是与图19(a)对应的第二分割图像(精细分割结果)的示例图;图20(a)是图19(a)对应的第三图像(换天空后的图片)的另一个示例图;图20(b)是与图20(a)对应的第一分割图像(粗分割结果)的示例图。
[0151]
图21(a)是第一图像(原图)的第三个示例图;图21(b)是与图21(a)对应的第二分割图像的示例图;图22(a)是图21(a)对应的第三图像(换天空后的图片)的第三个示例图;图22(b)是与图22(a)对应的第一分割图像的示例图。
[0152]
基于上述图片的效果可知,上述实施例的整体效果优秀,具有优异的分割精度。
[0153]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0154]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模
块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0155]
前述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于计算机可读存储介质中;该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0156]
本技术的实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0157]
本技术的实施例提供一种计算机程序产品,当计算机程序产品在终端设备比如移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
[0158]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0159]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0160]
在本技术所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0161]
前述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0162]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1