一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

生成三分图的方法及用于生成三分图的神经网络构建方法与流程

2022-04-09 08:35:30 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,尤其涉及一种生成三分图的方法和用于生成三分图的神经网络构建方法。


背景技术:

2.三分图(trimap)是对给定图像的一种粗略划分。如图1所示,将图1中的给定图像a划分为前景13、背景11和待求未知区域12,如图1中b图所示。
3.在一些方案中,trimap是由用户手动生成的,需要对给定图像进行人工标注,对用户十分不友好,实用性较差。在其他一些方案中,通常使用opencv软件库中的腐蚀操作和膨胀操作来生成给定图像的trimap,这些腐蚀操作和膨胀操作在中央处理单元(central processing unit,cpu)上进行,速度非常慢,因而限制了trimap及其相关技术的推广。
4.以上背景技术内容的公开仅用于辅助理解本技术的发明构思及技术方案,其并不必然属于本技术的现有技术,在没有明确的证据表明上述内容在本技术的申请日前已经公开的情况下,上述背景技术不应当用于评价本技术的新颖性和创造性。


技术实现要素:

5.有鉴于此,本技术实施例提供了一种生成三分图的方法和用于生成三分图的神经网络构建方法,可以解决相关技术中的至少一个技术问题。
6.第一方面,本技术一实施例提供了一种生成三分图的方法,包括:
7.获取待处理图像;
8.将所述待处理图像输入预设神经网络生成三分图;所述预设神经网络包括主干网络和连接所述主干网络的输出层,所述主干网络包括并联的第一卷积子网络和第二卷积子网络,所述第一卷积子网络和所述第二卷积子网络分别对所述待处理图像进行腐蚀和膨胀,所述输出层用于根据经腐蚀的所述待处理图像和经膨胀的所述待处理图像生成所述三分图。
9.本实施例通过神经网络对待处理图像进行腐蚀和膨胀,再基于腐蚀和膨胀后的图像生成三分图,神经网络可以在图形处理器(graphics processing unit, gpu)或网络处理器(neural-network processing units,npu)上推理,大大提升生成三分图的速度。
10.作为第一方面的一实现方式,所述将所述待处理图像输入预设神经网络生成三分图,包括:
11.将所述待处理图像输入所述第一卷积子网络得到腐蚀图像;将所述待处理图像输入所述第二卷积子网络得到膨胀图像;
12.将所述腐蚀图像和所述膨胀图像相加,得到相加图像;
13.利用预设区域限定函数处理所述相加图像得到三分图,所述区域限定函数具备三个子区域。
14.作为第一方面的一实现方式,所述第一卷积子网络和所述第二卷积子网络均包括
第一卷积层、第二卷积层和取整层,所述第一卷积层采用卷积核对所述待处理图像进行滤波,所述第二卷积层对所述第一卷积层的输出结果加偏置,所述偏置根据所述卷积核的元素计算得到;所述取整层对所述第二卷积层的输出结果向下取整。
15.作为第一方面的一实现方式,所述卷积核基于opencv的getstructuringelement函数生成,计算公式为:
[0016][0017]
其中,ti为所述卷积核的第i个元素,ti为利用所述getstructuringelement函数生成的初始生成核的第i个元素,i的取值为1至j的整数,j为所述初始核的元素总数量。
[0018]
作为第一方面的一实现方式,针对所述第一卷积子网络而言,所述偏置bias_ero根据如下公式计算得到:
[0019]
bias_ero=-(a-thresh*b) a,
[0020]
其中,a、b为常数,thresh=max{t1,t2,

,ti}。
[0021]
作为第一方面的一实现方式,针对所述第二卷积子网络而言,所述偏置bias_dil根据如下公式计算得到:
[0022]
bias_dil=-(thresh*b) a,
[0023]
其中,a、b为常数,thresh=max{t1,t2,

,ti}。
[0024]
作为第一方面的一实现方式,所述预设神经网络还包括输入层,所述输入层对所述待处理图像进行归一化得到归一化图像,所述第一卷积子网络和所述第二卷积子网络分别对所述归一化图像进行腐蚀和膨胀,所述输出层用于根据经腐蚀的所述归一化图像和经膨胀的所述归一化图像生成所述三分图。
[0025]
作为第一方面的一实现方式,所述对所述待处理图像进行归一化,包括:
[0026]
确定待处理图像中各像素的最大值和最小值;
[0027]
通过最大值和最小值,将待处理图像中各像素归一化到目标数值区间,得到归一化图像。
[0028]
作为第一方面的一实现方式,所述输入层将所述待处理图像归一化至目标数值区间[0,1]。
[0029]
作为第一方面的一实现方式,在所述将所述待处理图像输入预设神经网络生成三分图之前,还包括:
[0030]
确定第一卷积核和第二卷积核的尺寸和形状;
[0031]
基于opencv的getstructuringelement函数生成所述第一卷积核和所述第二卷积核,根据所述第一卷积核确定第一偏置,根据所述第二卷积核确定第二偏置;
[0032]
将所述第一卷积核和所述第一偏置赋值给初始神经网络中第一卷积子网络的初始卷积核和初始偏置,将所述第二卷积核和所述第二偏置赋值给所述初始神经网络中第二卷积子网络的初始卷积核和初始偏置,得到预设神经网络。
[0033]
作为第一方面的一实现方式,所述第一卷积子网络和所述第二卷积子网络可以共用所述第一卷积层。
[0034]
作为第一方面的一实现方式,所述预设神经网络包括多个串联的所述第一卷积子
网络,和/或,所述预设神经网络包括多个串联的所述第二卷积子网络。
[0035]
第二方面,本技术一实施例提供一种用于生成三分图的神经网络构建方法,包括:
[0036]
构建用于生成三分图的初始神经网络;
[0037]
确定所述初始神经网络的卷积核的尺寸和形状;
[0038]
基于opencv的getstructuringelement函数生成所述卷积核的元素,并根据所述卷积核确定偏置;
[0039]
将所述卷积核的元素及偏置赋值给所述初始神经网络,得到预设神经网络;
[0040]
其中,所述初始神经网络与所述预设神经网络架构相同,所述预设神经网络用于生成待处理图像的三分图,所述预设神经网络包括主干网络和连接所述主干网络的输出层,所述主干网络包括并联的所述第一卷积子网络和所述第二卷积子网络,所述第一卷积子网络和所述第二卷积子网络分别对所述待处理图像进行腐蚀和膨胀,所述输出层用于根据经腐蚀的所述待处理图像和经膨胀的所述待处理图像生成所述三分图。
[0041]
本实施例基于getstructuringelement函数生成初始神经网络的卷积核,再根据卷积核确定偏置,从而对初始神经网络中进行赋值更新得到预设神经网络,可以大大提升神经网络的构建效率,大大降低成本。
[0042]
第三方面,本技术一实施例提供一种生成三分图的装置,包括:
[0043]
获取模块,用于获取待处理图像;
[0044]
生成模块,用于将所述待处理图像输入预设神经网络生成三分图;所述预设神经网络包括主干网络和连接所述主干网络的输出层,所述主干网络包括并联的第一卷积子网络和第二卷积子网络,所述第一卷积子网络和所述第二卷积子网络分别对所述待处理图像进行腐蚀和膨胀,所述输出层用于根据经腐蚀的所述待处理图像和经膨胀的所述待处理图像生成所述三分图。
[0045]
第四方面,本技术一实施例提供一种用于生成三分图的神经网络构建装置,包括:
[0046]
构建模块,用于构建用于生成三分图的初始神经网络;
[0047]
第一确定模块,用于确定所述初始神经网络的卷积核的尺寸和形状;
[0048]
第二确定模块,用于基于opencv的getstructuringelement函数生成所述卷积核的元素,并根据所述卷积核确定偏置;
[0049]
赋值模块,用于将所述卷积核的元素及偏置赋值给所述初始神经网络,得到预设神经网络;
[0050]
其中,所述初始神经网络与所述预设神经网络架构相同,所述预设神经网络用于生成待处理图像的三分图,所述预设神经网络包括主干网络和连接所述主干网络的输出层,所述主干网络包括并联的所述第一卷积子网络和所述第二卷积子网络,所述第一卷积子网络和所述第二卷积子网络分别对所述待处理图像进行腐蚀和膨胀,所述输出层用于根据经腐蚀的所述待处理图像和经膨胀的所述待处理图像生成所述三分图。
[0051]
第五方面,本技术一实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面任一实现方式所述的生成三分图的方法,或实现如第二方面所述的用于生成三分图的神经网络构建方法。
[0052]
作为第五方面的一实现方式,所述处理器包括gpu或npu。
[0053]
第六方面,本技术一实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一实现方式所述的生成三分图的方法。
[0054]
作为第六方面的一实现方式,所述处理器包括gpu或npu。
[0055]
第七方面,本技术一实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面或第一方面任一实现方式所述的生成三分图的方法,或执行如第二方面所述的用于生成三分图的神经网络构建方法。
[0056]
应理解,第三方面至第七方面的有益效果可以参见第一方面或第二方面的相关描述,此处不再赘述。
附图说明
[0057]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0058]
图1是相关技术中给定图像及其三分图的示例;
[0059]
图2是本技术一实施例提供的一种生成三分图的方法的实现流程示意图;
[0060]
图3是本技术一实施例提供的一种神经模型的结构示意图;
[0061]
图4是本技术一实施例提供的一种生成三分图的方法的步骤s120的实现流程示意图;
[0062]
图5是本技术一实施例提供的一种第一卷积子网络的结构示意图;
[0063]
图6是本技术一实施例提供的一种第二卷积子网络的结构示意图;
[0064]
图7是本技术一实施例提供的另一种神经模型的结构示意图;
[0065]
图8是本技术一实施例提供的一种对待处理图像进行归一化的实现流程示意图;
[0066]
图9本技术一实施例提供的一种用于生成三分图的神经网络构建方法的实现流程示意图;
[0067]
图10是本技术一实施例提供的一种生成三分图的装置的结构示意图;
[0068]
图11是本技术一实施例提供的一种用于生成三分图的神经网络构建装置的结构示意图;
[0069]
图12是本技术一实施例提供的一种电子设备的结构示意图。
具体实施方式
[0070]
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
[0071]
在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0072]
在本技术说明书中描述的“一个实施例”或“一些实施例”等意味着在本技术的一
个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0073]
此外,在本技术的描述中,“多个”的含义是两个或两个以上。术语“第一”和“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0074]
为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
[0075]
图2是本技术一实施例提供的一种生成三分图的方法的实现流程示意图。本实施例中的生成三分图的方法可由电子设备执行。电子设备包括但不限于计算机、平板电脑、服务器、手机、相机或可穿戴设备等。其中,服务器包括但不限于独立服务器或云服务器等。如图2所示,生成三分图的方法可以包括步骤s110至步骤s120。
[0076]
s110,获取待处理图像。
[0077]
其中,待处理图像可以是图像或者视频序列中的图像帧。待处理图像可以包括单通道的灰度图或二值化图等。需要说明的是,若待处理图像为彩色图像时,需要先对彩色图像进行人像分割处理,将人像和背景进行分割,得到二值化图像。
[0078]
在一些实施例中,可以通过采集装置获取某一场景下的待处理图像。采集装置采集某一场景下的图像,电子设备获取该图像,进而生成该图像的三分图。作为一实现方式,采集装置包括深度相机、灰度相机、彩色相机或黑白相机等相机中的一种或多种组合,此处不作限制。
[0079]
在一些实施例中,采集装置可以独立于电子设备。在其他一些实施例中,采集装置也可以集成于电子设备。本技术对此不予限制。
[0080]
s120,将待处理图像输入预设神经网络生成三分图。
[0081]
在一些实施例中,可以提前将预设神经网络部署在电子设备,可以将其存储在电子设备的存储器中,使用时调用即可。在这些实施例中,构建预设神经网络的过程可以由独立于电子设备的其他设备执行,其他设备构建预设神经网络后,将其部署到电子设备,以供电子设备使用。需要说明的是,构建预设神经网络的过程可参见后续图9所示实施例的神经网络构建方法,此处不再赘述。
[0082]
在其他一些实施例中,可以提前将初始神经网络部署在电子设备中,在使用预设神经网络之前,基于初始神经网络构建预设神经网络,进而使用预设神经网络生成待处理图像的三分图。具体地,在这些实施例中,构建预设神经网络的过程可以由电子设备执行,在电子设备执行步骤s110或s120之前,还包括执行构建预设神经网络的步骤。需要说明的是,预设神经网络的构建过程可参见后续图9所示实施例的神经网络构建方法,此处不再赘述。
[0083]
在一些实施例中,如图3所示,预设神经网络包括主干网络31和连接主干网络的输出层32,主干网络31包括并联的第一卷积子网络311和第二卷积子网络312。第一卷积子网络311和第二卷积子网络312分别对待处理图像进行腐蚀和膨胀。输出层32用于根据经腐蚀的待处理图像和经膨胀的待处理图像生成三分图。具体地,输出层32包括串联的和函数和预设区域限定函数。其中,和函数将经腐蚀的图像和经膨胀的图像相加得到相加图像,预设
区域限定函数对相加图像进行三区域划分以生成三分图。
[0084]
作为一非限制性示例,如图4所示,步骤s120,将待处理图像输入预设神经网络生成三分图,可以包括步骤s121至步骤s123。
[0085]
s121,将待处理图像输入第一卷积子网络得到腐蚀图像;将待处理图像输入第二卷积子网络得到膨胀图像。
[0086]
s122,将腐蚀图像和膨胀图像相加,得到相加图像。
[0087]
s123,利用预设区域限定函数处理相加图像得到三分图,区域限定函数具备三个子区域。
[0088]
作为一实现方式,可通过简单的网络结构实现对图像的腐蚀,如图5所示,第一卷积子网络311包括第一卷积层51、第二卷积层52和第一取整层53。第一卷积层51采用第一卷积核对待处理图像进行滤波;第二卷积层52对第一卷积层51的输出结果加第一偏置,第一偏置根据第一卷积核的元素计算得到;第一取整层53对第二卷积层52的输出结果向下取整。
[0089]
当待处理图像的通道数量为1时,第一卷积核的通道数也可以为1;当待处理图像的通道数量为3时,第一卷积核的通道数也可以为3。应理解,示例性描述不能解释为对本技术的限制。
[0090]
可选地,在构建预设神经网络的过程中,第一卷积核可以基于opencv的getstructuringelement函数生成,具体计算公式为:
[0091][0092]
其中,ki为第一卷积核的第i个元素,为利用getstructuringelement函数生成第一卷积核对应的初始生成核,i的取值为1至n的整数,n为初始核的元素总数量。
[0093]
需要理解的是,用户或开发者可以给定第一卷积核的尺寸和形状,通过getstructuringelement函数可以生成指定形状和尺寸的第一卷积核。又如,电子设备或开发系统可以给定第一卷积核的尺寸和形状,通过getstructuringelement函数可以生成指定形状和尺寸的第一卷积核,此外,可以根据第一卷积核计算第一偏置。通过getstructuringelement函数,可以快速生成第一卷积核,同时模型不需要学习就可以获得较优的参数,提升模型的构建效率,降低了成本。在生成第一卷积核和计算出第一偏置后,可以将两者的值赋给初始神经网络,即将生成的第一卷积核赋值给初始的第一卷积核,将计算出第一偏置赋值给初始的第一偏置。
[0094]
可选地,第二卷积层52的第一偏置bias_ero可以根据如下公式计算得到:
[0095]
bias_ero=-(a-thresh1*b) a,
[0096]
其中,a、b为常数,thresh1=max{k1,k2,

,ki}。。
[0097]
可选地,第一取整层53可以包括floor函数。
[0098]
作为一实现方式,可通过简单的网络结构实现对图像的膨胀,如图6所示,第二卷积子网络312包括第三卷积层61、第四卷积层62和第二取整层63,第三卷积层61采用第二卷积核对待处理图像进行滤波;第四卷积层62对第三卷积层61的输出结果加第二偏置,第二偏置根据第二卷积核的元素计算得到;第二取整层63对第四卷积层62的输出结果向下取
整。
[0099]
当待处理图像的通道数量为1时,第二卷积核的通道数也可以为1;当待处理图像的通道数量为3时,第二卷积核的通道数也可以为3。应理解,示例性描述不能解释为对本技术的限制。
[0100]
可选地,在构建预设神经网络的过程中,第二卷积核基于opencv的 getstructuringelement函数生成。
[0101]
例如,用户或开发者可以给定第二卷积核的尺寸和形状,通过 getstructuringelement函数可以生成指定形状和尺寸的第二卷积核。具体计算公式为:
[0102][0103]
其中,其中,pi为第二卷积核的第i个元素,为利用getstructuringelement 函数生成第二卷积核对应的初始生成核,i的取值为1至m的整数,m为初始核的元素总数量。
[0104]
需要说明的是,电子设备或开发系统可以给定第二卷积核的尺寸和形状,通过getstructuringelement函数可以生成指定形状和尺寸的第二卷积核,此外,还可以根据第二卷积核计算第二偏置。通过getstructuringelement函数,可以快速生成第二卷积核,同时模型不需要学习就可以获得较优的参数,提升模型的构建效率,降低了成本。在生成第二卷积核和计算出第二偏置后,可以将两者的值赋给初始神经网络,即将生成的第二卷积核赋值给初始的第二卷积核,将计算出的第二偏置赋值给初始的第二偏置。
[0105]
需要说明的是,在一些实施例中,第一卷积核和第二卷积核的尺寸和形状可以相同,可以通过getstructuringelement函数一次生成指定形状和尺寸的第一卷积核和第二卷积核。此时,第一卷积子网络311包括的第一卷积层51以及第二卷积子网络312包括的第三卷积层61结构和参数可以相同。可选地,第一卷积子网络311和第二卷积子网络312可以共用第一个卷积层,这样可以加速对图像的处理,进一步提高处理效率,节省算力。
[0106]
可选地,第四卷积层62的第二偏置bias_dil根据如下公式计算得到:
[0107]
bias_dil=-(thresh2*b) a,
[0108]
其中,a、b为常数,thresh2=max{p1,p2,

,pi}。。
[0109]
可选地,第二取整层63可以包括floor函数。
[0110]
作为一实现方式,输出层32包括的预设区域限定函数为clamp函数。区域限定函数具备三个子区域。作为一非限制性示例,用clamp函数把相加图像中大于2的像素赋值为2,把小于0的像素值赋值为0,把大于0且小于2的像素赋值为1,最后得到0,1,或2的三分图(trimap)。相加图像中等于0的像素可以赋值为0或1,相加图像中等于2的像素可以赋值为1或2,本技术对此不予限制。需要说明的是,此处对三个子区域的示例性划分不能解释为对本技术的具体限制。
[0111]
在其他一些实施例中,在图3所示实施例的基础上,预设神经网络还包括输入层。如图7所示,预设神经网络包括输入层30、主干网络31和连接主干网络的输出层32。输入层30对待处理图像进行预处理,例如对待处理图像进行归一化,得到归一化图像。主干网络31对归一化图像分别进行腐蚀和膨胀,具体地,第一卷积子网络311对归一化图像进行腐蚀,第二卷积子网络312对归一化图像进行膨胀。应理解,图7与图3所示实施例相同之处,此处
不再赘述,请参见前述。
[0112]
需要说明的是,对待处理图像进行归一化不仅可以使图像符合神经网络的输入标准,且可将图像变成近似均匀分布,从而增强图像的对比度以便提升三分图的准确性。
[0113]
作为一非限制性示例,如图8所示,对待处理图像进行归一化,得到归一化图像,包括步骤s810和s820。
[0114]
s810,确定待处理图像中各像素的最大值和最小值。
[0115]
其中,对于待处理图像,各像素中的最大值可以记为max_value,各像素中的最小值可以记为min_value。
[0116]
s820,通过最大值和最小值,将待处理图像中各像素归一化到目标数值区间,得到归一化图像。
[0117]
具体地,将待处理图像中各像素归一化至目标数值区间[0,1]。例如,待处理图像中各像素的范围为0至255范围,通过归一化操作,将这些像素归一化至0至1范围。
[0118]
例如,若待处理图像中各像素的最大值为max_value,各像素中的最小值为min_value,该待处理图像中某一像素点j的像素为zj,则将该像素点j的像素zj归一化至目标数值范围[0,1]为:
[0119]
norj=zj/(max_value-min_value)。
[0120]
其中,norj表示像素点j归一化后的值。
[0121]
需要说明的是,目标数值区间可以根据实际情况进行设置,本技术不予具体限制。
[0122]
在其他一些实施例中,在图3或图7所示实施例的基础上,预设神经网络可以包括多个串联的第一卷积子网络311和/或多个串联的第二卷积子网络312,也就是说,主干网络31中的第一卷积子网络311可以设置为多个,和/或,第二卷积子网络312可以设置为多个。例如,主干网络31包括3个串联的如图5 所示的第一卷积子网络311,主干网络31还包括3个串联的如图6所示的第二卷积子网络312,经过三次膨胀后的图像和经过三次腐蚀后的图像相加后,再由区域限定函数进行三区域划分以生成三分图。在这些实施例中,实施多次腐蚀和/或膨胀,以此来增大腐蚀和/或膨胀的程度,从而提升三分图边缘的稳定性。
[0123]
本技术实施例通过神经网络对待处理图像进行腐蚀和膨胀,再基于腐蚀和膨胀后的图像生成三分图,神经网络可以在图形处理器(graphics processing unit, gpu)或网络处理器(neural-network processing units,npu)上推理,大大提升生成三分图的速度。
[0124]
本技术另一实施例提供一种用于生成三分图的神经网络构建方法,本实施例未详细描述之处,请参见前述实施例,此处不再赘述。如图9所示,用于生成三分图的神经网络构建方法,可以包括步骤s910至s940。
[0125]
s910,构建用于生成三分图的初始神经网络。
[0126]
在一个实施例中,初始神经网络包括主干网络和连接主干网络的输出层,主干网络包括并联的第一卷积子网络和第二卷积子网络,第一卷积子网络和第二卷积子网络分别对待处理图像进行腐蚀和膨胀,输出层用于根据经腐蚀的待处理图像和经膨胀的待处理图像生成三分图。
[0127]
s920,确定卷积核的尺寸和形状。
[0128]
在一些实施例中,可以根据用户或开发者的输入数据,确定第一卷积子网络第一卷积核和第二卷积子网络第二卷积核的尺寸和形状。在其他一些实施例中,可以根据系统
的设置参数,确定第一卷积核和第二卷积核的尺寸和形状。
[0129]
第一卷积核和第二卷积核的形状可以包括十字形、椭圆或矩形等,尺寸可以采用3*3、5*5、或7*7等,本技术对形状和尺寸不予具体限制。
[0130]
s930,基于opencv的getstructuringelement函数生成卷积核的元素,并根据卷积核确定偏置。
[0131]
具体地,基于opencv的getstructuringelement函数分别生成第一卷积核和第二卷积核的元素;根据第一卷积核确定第一偏置,根据第二卷积核确定第二偏置。
[0132]
s940,将卷积核的元素及偏置赋值给初始神经网络,得到预设神经网络。
[0133]
具体地,将第一卷积核和第一偏置分别赋值给初始神经网络中第一卷积子网络的初始卷积核和初始偏置,将第二卷积核和第二偏置分别赋值给初始神经网络中第二卷积子网络的初始卷积核和初始偏置,得到预设神经网络。
[0134]
其中,预设神经网络用于生成待处理图像的三分图,预设神经网络包括主干网络和连接主干网络的输出层,主干网络包括并联的第一卷积子网络和第二卷积子网络,第一卷积子网络和第二卷积子网络分别对待处理图像进行腐蚀和膨胀,输出层用于根据经腐蚀的待处理图像和经膨胀的待处理图像生成三分图。
[0135]
应理解,初始神经网络与预设神经网络的结构相同,预设神经网络为对初始神经网络的部分参数进行赋值更新后的网络。具体地,预设神经网络对初始神经网络中第一卷积核、第二卷积核、第一偏置和第二偏置这四个参数进行了赋值更新。
[0136]
本技术实施例基于getstructuringelement函数生成第一卷积核和第二卷积核,并根据第一卷积核确定第一偏置,根据第二卷积核确定第二偏置,进而对初始神经网络中第一卷积核、第二卷积核、第一偏置和第二偏置这四个参数进行赋值更新,可以大大提升神经网络的构建效率,大大降低成本。
[0137]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0138]
本技术实施例还提供一种生成三分图的装置。该生成三分图的装置中未详细描述之处请详见前述生成三分图的方法实施例中的相关描述。
[0139]
参见图10,图10是本技术一实施例提供的一种生成三分图的装置的示意框图。生成三分图的装置可以包括:获取模块1010和生成模块1020。
[0140]
其中,获取模块1010,用于获取待处理图像;
[0141]
生成模块1020,用于将待处理图像输入预设神经网络生成三分图。
[0142]
本技术实施例还提供一种用于生成三分图的神经网络构建装置。该用于生成三分图的神经网络构建装置中未详细描述之处请详见前述用于生成三分图的神经网络构建方法实施例中的相关描述。
[0143]
参见图11,图11是本技术一实施例提供的一种用于生成三分图的神经网络构建装置的示意框图。用于生成三分图的神经网络构建装置可以包括:构建模块1100、第一确定模块1110、第二确定模块1120和赋值模块1130。
[0144]
构建模块1100,用于构建用于生成三分图的初始神经网络;
[0145]
第一确定模块1110,用于确定初始神经网络的卷积核的尺寸和形状;
[0146]
第二确定模块1120,用于基于opencv的getstructuringelement函数生成所述卷积核的元素,并根据所述卷积核确定偏置;
[0147]
赋值模块1130,用于将卷积核的元素及偏置赋值给所述初始神经网络,得到预设神经网络。
[0148]
其中,初始神经网络与预设神经网络架构相同,预设神经网络用于生成待处理图像的三分图,预设神经网络包括主干网络和连接所述主干网络的输出层,主干网络包括并联的第一卷积子网络和第二卷积子网络,第一卷积子网络和第二卷积子网络分别对待处理图像进行腐蚀和膨胀,输出层用于根据经腐蚀的待处理图像和经膨胀的待处理图像生成所述三分图。
[0149]
本技术实施例还提供了一种电子设备,如图12所示,电子设备可以包括一个或多个处理器1200(图12中仅示出一个),存储器1210以及存储在存储器 1210中并可在一个或多个处理器1200上运行的计算机程序1220,例如,生成三分图和/或构建神经网络的程序。一个或多个处理器1200执行计算机程序 1220时可以实现生成三分图的方法和/或神经网络构建方法实施例中的各个步骤。或者,一个或多个处理器1200执行计算机程序1220时可以实现生成三分图的装置和/神经网络构建装置实施例中各模块/单元的功能,此处不作限制。
[0150]
示例性的,计算机程序1220可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器1210中,并由处理器1200执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序1220在处理单元中的执行过程。
[0151]
例如,计算机程序1220可以被分割成如下几个模块。各模块具体功能如下:
[0152]
获取模块,用于获取待处理图像;
[0153]
生成模块,用于将待处理图像输入预设神经网络生成三分图。
[0154]
又如,计算机程序1220可以被分割成如下几个模块。各模块具体功能如下:
[0155]
构建模块,用于构建用于生成三分图的初始神经网络;
[0156]
第一确定模块,用于确定初始神经网络的卷积核的尺寸和形状;
[0157]
第二确定模块,用于基于opencv的getstructuringelement函数生成卷积核的元素,并根据卷积核确定偏置;
[0158]
赋值模块,用于将卷积核的元素及偏置赋值给初始神经网络,得到预设神经网络。
[0159]
本领域技术人员可以理解,图12仅仅是电子设备的示例,并不构成对电子设备的限定。电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备还可以包括输入输出设备、网络接入设备、总线等。
[0160]
在一个实施例中,所称处理器1200可以是cpu、gpu或npu,还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列 (field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0161]
在一个实施例中,存储器1210可以是电子设备的内部存储单元,例如电子设备的硬盘或内存。存储器1210也可以是电子设备的外部存储设备,例如电子设备上配备的插接
式硬盘,智能存储卡(smart media card,smc),安全数字 (secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器1210还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器1210用于存储计算机程序以及电子设备所需的其他程序和数据。存储器1210还可以用于暂时地存储已经输出或者将要输出的数据。
[0162]
本技术一实施例还提供了电子设备的另一种优选的实施例,在本实施例中,电子设备包括一个或多个处理器。一个或多个处理器用于执行存储在存储器的以下程序模块:
[0163]
获取模块,用于获取待处理图像;
[0164]
生成模块,用于将待处理图像输入预设神经网络生成三分图。
[0165]
和/或,
[0166]
构建模块,用于构建用于生成三分图的初始神经网络;
[0167]
第一确定模块,用于确定初始神经网络的卷积核的尺寸和形状;
[0168]
第二确定模块,用于基于opencv的getstructuringelement函数生成卷积核的元素,并根据卷积核确定偏置;
[0169]
赋值模块,用于将卷积核的元素及偏置赋值给初始神经网络,得到预设神经网络。
[0170]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0171]
本技术一实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现生成三分图的方法和/ 或神经网络构建方法实施例中的各个步骤。
[0172]
本技术一实施例还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备可实现生成三分图的方法和/或神经网络构建方法实施例中的各个步骤。
[0173]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0174]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0175]
在本技术所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一
点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0176]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0177]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0178]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random accessmemory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0179]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献