骨干网络的生成方法、装置、设备以及存储介质与流程

文档序号:31127958发布日期:2022-08-13 04:20阅读:141来源:国知局
骨干网络的生成方法、装置、设备以及存储介质与流程

1.本公开涉及人工智能技术领域,具体为深度学习和计算机视觉技术领域,尤其涉及骨干网络的生成方法、装置、设备、存储介质以及计算机程序产品。


背景技术:

2.在基于深度学习的计算机视觉领域,几乎所有的任务都需要骨干网络来完成特征的提取。但是目前的骨干网络对视觉处理器gpu(graphics processing unit)设备的利用率不够高,推理速度与精度难以兼顾。


技术实现要素:

3.本公开提供了一种骨干网络的生成方法、装置、设备、存储介质以及计算机程序产品,可以提高骨干网络的推理速度,同时兼顾网络精度,节约gpu硬件资源。
4.根据本公开的第一方面,提供了一种骨干网络的生成方法,骨干网络用于视觉处理器,包括:
5.获取多个不同尺寸的卷积核的计算密度;
6.确定计算密度最大的卷积核为第一卷积核;
7.基于第一卷积核,生成目标骨干网络。
8.根据本公开的第二方面,提供了一种图像处理方法,包括:
9.利用第一方面提供的骨干网络,生成用于计算机视觉领域的图像处理模型;
10.将待处理的计算机视觉图像输入图像处理模型,得到图像处理结果。
11.根据本公开的第三方面,提供了一种骨干网络的生成装置,骨干网络应用于视觉处理器,包括:
12.获取模块,被配置为获取多个不同尺寸的卷积核的计算密度;
13.确定模块,被配置为确定计算密度最大的卷积核为第一卷积核;
14.第一生成模块,被配置为基于第一卷积核,生成目标骨干网络。
15.根据本公开的第四方面,提供了一种图像处理装置,包括:
16.第二生成模块,被配置为利用如第一方面或第二方面提供的骨干网络,生成用于计算机视觉领域的图像处理模型;
17.得到模块,被配置为将待处理的计算机视觉图像输入图像处理模型,得到图像处理结果。
18.根据本公开的第五方面,提供了一种电子设备,包括:
19.至少一个处理器;以及
20.与至少一个处理器通信连接的存储器;其中,
21.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面或第二方面提供的方法。
22.根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储
介质,计算机指令用于使计算机执行如第一方面或第二方面提供的方法。
23.根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据第一方面或第二方面提供的方法。
24.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
25.附图用于更好地理解本方案,不构成对本公开的限定。其中:
26.图1示出了可以应用本公开的骨干网络的生成方法的示例性系统架构;
27.图2示出了根据本公开的骨干网络的生成方法的第一实施例的流程图;
28.图3示出了根据本公开的骨干网络的生成方法的第二实施例的流程图;
29.图4示出了本公开实施例中生成的卷积网络的一种示例性示意图;
30.图5示出了根据本公开的骨干网络的生成方法的第三实施例的流程图;
31.图6示出了根据本公开的骨干网络的生成方法的第四实施例的流程图;
32.图7示出了根据本公开的图像处理方法的一种实施例的流程图;
33.图8示出了根据本公开的骨干网络的生成装置的一种实施例的结构示意图;
34.图9示出了根据本公开的图像处理装置的一种实施例的结构示意图;
35.图10示出了用来实现本公开实施例的骨干网络的生成方法或图像处理方法的电子设备的框图。
具体实施方式
36.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
37.需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
38.骨干网络发展至今,在学术界大放异彩,但是由于其实际运行速度与学术界常用的flops(floating point operations,浮点运算数,也叫计算量)等指标不成正比,所以在工业界只有为数不多的骨干网络被采用。
39.而被工业应用的骨干网络中,部分由于采用了大量1
×
1卷积,导致骨干网络的推理速度被拖慢;还有一部分由于采用大量的dw(depthwise,深度)卷积,导致骨干网络底层优化困难,精度低。
40.本公开提供了一种骨干网络的生成方法,该骨干网络可应用于视觉处理器gpu,可以在提高骨干网络的推理速度的同时,兼顾网络精度,节约gpu硬件资源,节约成本。
41.图1示出了可以应用本公开的骨干网络的生成方法或骨干网络的生成装置的实施例的示例性系统架构100。
42.如图1所示,系统架构100可以包括终端设备101、网络102和服务器103。其中,网络102用以在终端设备101和服务器103之间提供通信链路,可以包括各种连接类型,例如,有
线通信链路、无线通信链路或者光纤电缆等等。
43.用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送信息等。终端设备101上可以安装有各种客户端应用。
44.终端设备101可以是硬件,也可以是软件。当终端设备101为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101为软件时,可以安装在上述电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
45.服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
46.本公开实施例所提供的骨干网络的生成方法一般由服务器103执行,相应地,骨干网络的生成装置一般设置于服务器103中。
47.需要说明的是,图1中的终端设备101、网络102和服务器103的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备101、网络102和服务器103。
48.图2示出了根据本公开的骨干网络的生成方法的一种实施例的流程200,该骨干网络的生成方法包括以下步骤:
49.步骤201,获取多个不同尺寸的卷积核的计算密度。
50.在本实施例中,骨干网络的生成方法的执行主体,例如图1所示的服务器103,获取多个不同尺寸的卷积核的计算密度。
51.其中,卷积核的计算密度可以用于指导所生成的骨干网络的计算密度,卷积核的计算密度越大,骨干网络的计算密度越大,在相同推理速度下有更多的浮点运算数,可以有更好的数据拟合能力。
52.示例性地,骨干网络的生成方法的执行主体获取多个常用的卷积核的计算密度,例如,conv(convolution,卷积)5
×
5、conv3
×
3、conv1
×
1、dw3
×
3、dw5
×
5等卷积核的计算密度。
53.步骤202,确定计算密度最大的卷积核为第一卷积核。
54.在本实施例中,根据步骤201的获取结果,上述执行主体确定多个不同尺寸的卷积核中计算密度最大的卷积核为第一卷积核。也就是说,将多个不同尺寸的卷积核的计算密度进行对比,将计算密度最大的卷积核确定为第一卷积核。
55.示例性地,上述执行主体获取到的conv5
×
5卷积核的计算密度为546、conv3
×
3卷积核的计算密度为598、conv1
×
1卷积核的计算密度为373、dw3
×
3卷积核的计算密度为26、dw5
×
5卷积核的计算密度为58,据此,可确定conv
×
3卷积核为第一卷积核。
56.步骤203,基于第一卷积核,生成目标骨干网络。
57.在本实施例中,上述执行主体根据步骤202中确定的第一卷积核,生成目标骨干网络。
58.本公开实施例基于多个不同尺寸的卷积核中计算密度最大的卷积核,生成目标骨干网络,大大提升骨干网络的计算密度,使得的骨干网络在相同推理速度下有更多的浮点运算数,可以有更好的数据拟合能力。
59.本公开实施例提供的骨干网络的生成方法,先获取多个不同尺寸的卷积核的计算密度;然后确定其中计算密度最大的卷积核作为第一卷积核;再基于第一卷积核生成目标骨干网络。本公开的骨干网络的生产方法,基于计算密度最大的卷积核生成目标骨干网络,所生成的目标骨干网络具有更大的计算密度和相同推理速度下更多的浮点运算数,大大提升目标骨干网络的数据拟合能力。
60.图3示出了本公开的骨干网络的生成方法的第二实施例的流程210。参照图3所示,该骨干网络的生成方法包括以下步骤:
61.步骤211、获取多个不同尺寸的卷积核的计算密度。
62.在本实施例中,骨干网络的生成方法的执行主体,例如图1所示的服务器103,获取多个不同尺寸的卷积核的计算密度。
63.步骤211与前述实施例的步骤201基本一致,具体实现方式可以参考前述对步骤201的描述,此处不再赘述。
64.步骤212,确定计算密度最大的卷积核为第一卷积核。
65.在本实施例中,根据步骤211的获取结果,上述执行主体确定多个不同尺寸的卷积核中计算密度最大的卷积核为第一卷积核。
66.步骤212与前述实施例的步骤202基本一致,具体实现方式可以参考前述对步骤202的描述,此处不再赘述。
67.步骤213,基于第一卷积核,生成卷积层。
68.在本实施例中,上述执行主体基于步骤212中确定的第一卷积核生成卷积层。其中,卷积层在骨干网络中用于提取输入的不同特征进行卷积运算。因此,提升卷积层的计算密度、推理速度和数据拟合能力,即可提升骨干网络的计算密度、推理速度和数据拟合能力。
69.示例性地,一个卷积层中可以包括一个第一卷积核。
70.在本实施例中,上述执行主体基于计算密度最大的第一卷积核生成卷积层,可大幅提升卷积层的计算密度、相同推理速度下更多的浮点运算数,从而提升卷积层的推理速度和数据拟合能力,进而提升骨干网络的推理速度和数据拟合能力。
71.在一些示例性实施例中,基于第一卷积核,生成卷积层的过程可以包括:将多个第一卷积核进行堆叠与融合,生成包括多个卷积层的卷积网络。
72.在本实施例中,多个第一卷积核堆叠与融合之后生成的卷积网络可以用于在骨干网络中扩大感受野,使得骨干网络能够捕获更大的感受野。
73.在相关技术中,由于骨干网络中卷积层的卷积核较小,不能捕获图片的全部感受野。
74.而在本公开实施例中,使用多个计算密度最大的第一卷积核进行堆叠,可以捕获更大的感受野。同时,在堆叠的第一卷积核中,分别引出相应的特征做特征的拼接和融合,不仅可以获得更大的感受野,而且实现了不同感受野的信息整合,大大提升网络的数据拟合能力,也为目标检测(例如图像处理)等需要不同感受野的任务提供了更好的特征整合能力。
75.在一些示例性实施例中,第一卷积核可以为标准卷积核,例如,第一卷积核可以为conv3
×
3卷积核。
76.图4示出了本公开实施例中第一卷积核生成的卷积网络300的示意图,参照图4所示,在本实施例中,第一卷积核301为conv3
×
3卷积核,采用四个conv3
×
3卷积核进行堆叠和融合(contact)。如图4所示,四个卷积conv3
×
3卷积核进行堆叠卷积,同时融合3
×
3、5
×
5、7
×
7、9
×
9的感受野,形成包括多个卷积层的卷积网络。
77.示例性地,若conv3
×
3卷积核的通道数为32,则四个conv3
×
3卷积核堆叠并融合之后的通道数为128,再通过一个conv1
×
1卷积核降维至32,在提升捕获感受野的同时,不会增加参数量和计算量,既提升了卷积网络的数据拟合能力,又保证了推理速度。
78.步骤214,构建下采样层,下采样层包括第二卷积核,第二卷积核的类型与第一卷积核的类型不同。
79.在骨干网络中,下采样层可以有效减少计算量。在相关技术中,应用于视觉处理器的骨干网络中,下采样层要么使用二维池化pool2d操作,要么使用标准卷积。其中,pool2d操作中没有可以学习的参数,导致下采样部分降低了数据拟合能力;而标准卷积虽然会增强数据拟合能力,但是会带来大量的参数量和计算量,不利于推理部署。
80.本公开实施例中,下采样层的第二卷积核采用深度卷积核(dw卷积核),一方面可以有可学习的参数,增加下采样层的数据拟合能力,另一方面不会增加参数量和计算量,可以提升骨干网络的推理速度。
81.示例性地,第二卷积核为步长stride为2的dw卷积核。
82.在本实施例中,由于dw卷积核参数量较少,因此,在下采样层中可以不添加激活函数,以避免降低骨干网络的数据拟合能力。
83.步骤215,基于卷积层和下采样层,生成目标骨干网络。
84.在本实施例中,上述执行主体基于步骤213中生成的卷积层和步骤214中构建的下采样层,生成目标骨干网络。
85.在本公开实施例的一些可选的实现方式中,卷积网络包括多个阶段stage。在本实施例中,步骤215,基于卷积网络和下采样层,生成目标骨干网络,可以包括:在卷积网络中每相邻的两个阶段之间设置下采样层,得到目标骨干网络。
86.其中,卷积网络的阶段stage可以根据网络功能、卷积核的尺寸、感受野的大小等因素进行划分。
87.本实施例提供的骨干网络的生成方法,采用计算密度最大的第一卷积核生成卷积层,可以捕获更大的感受野,实现不同感受野的信息整合;采用步长stride为2的dw卷积核构建下采样层,提高数据拟合能力和推理速度。本公开实施例所生成的目标骨干网络,不仅能够捕获更大的感受野,而且具有更佳的数据拟合能力和推理速度。
88.图5示出了本公开的骨干网络的生成方法的第三实施例的流程220。参照图5所示,该骨干网络的生成方法包括以下步骤:
89.步骤221,获取基础网络模型的卷积网络中多个不同尺寸的卷积核的浮点运算数和延时。
90.在本实施例中,上述执行主体获取基础网络模型,以该基础网络模型及其信息作为信息基础;然后获取该基础网络模型中的多个不同尺寸的卷积核,并获取该多个不同尺寸的卷积核的浮点运算数和延时。
91.其中,基础网络模型可以为当前在应用的cnn(convolutional neural network,
卷积神经网络)网络模型。上述执行主体获取的基础网络模型可以为一个,也可以为多个。
92.多个不同尺寸的卷积核可以为该一个或多个基础网络模型的卷积网络中最常用多个不同尺寸的卷积核。例如,该多个不同尺寸的卷积核可以包括conv5
×
5、conv3
×
3、conv1
×
1、dw3
×
3、dw5
×
5等卷积核。上述执行主体获取的上述各卷积核的浮点运算数flops和延时latency如表1所示。需要说明的是,表1中的数据是每个卷积核自身多层组合后的结果。
93.表1多个不同尺寸的卷积核的浮点运算数和延时
94.卷积核浮点预算数(m)延时(ms)计算密度conv5
×
5161061294.73546conv3
×
35798297.03598conv1
×
1644217.29373dw3
×
31134.3626dw5
×
53145.4358
95.在本公开实施例中,获取多个不同尺寸的卷积核的浮点运算数flops和延时,用以作为计算各卷积核的计算密度的依据。
96.步骤222,根据浮点运算数和延时,确定多个不同尺寸的卷积核的计算密度。
97.在本实施例中,上述执行主体根据步骤221中获取的卷积核的浮点运算数和延时,确定各卷积核的计算密度。示例性地,上述执行主体通过计算每个对应卷积核的浮点运算数与延时的比值,将该比值作为对应卷积核的计算密度。
98.如上表1所示,在该实施例中,上述执行主体根据该计算方式,计算得到conv5
×
5卷积核的计算密度为546、conv3
×
3卷积核的计算密度为598、conv1
×
1卷积核的计算密度为373、dw3
×
3卷积核的计算密度为26、dw5
×
5卷积核的计算密度为58。
99.步骤223,确定计算密度最大的卷积核为第一卷积核。
100.在本实施例中,上述执行主体根据步骤222的确定结果,确定多个不同尺寸的卷积核中计算密度最大的卷积核为第一卷积核。例如,表1所示实施例中,确定conv3
×
3卷积核为第一卷积核。
101.步骤223与前述实施例的步骤202基本一致,具体实现方式可以参考前述对步骤202的描述,此处不再赘述。
102.步骤224,基于第一卷积核,生成卷积网络。
103.在本实施例中,上述执行主体基于步骤223中确定的第一卷积核生成卷积层。步骤224与前述实施例的步骤213基本一致,具体实现方式可以参考前述对步骤213的描述,此处不再赘述。
104.需要指出的是,在本公开实施例中,卷积网络中卷积核的平均通道数小于基础网络模型中卷积网络的每一个阶段最后的输出通道数,以减少卷积网络的参数量和计算量,从而减少所生成的骨干网络的参数量和计算量,提高推理速度。
105.步骤225,构建下采样层,下采样层包括第二卷积核,第二卷积核的类型与第一卷积核的类型不同。
106.在本实施例中,上述执行主体通过第二卷积核构建下采样层,以进一步减少计算量,同时提高数据拟合能力。
107.步骤225与前述实施例的步骤214基本一致,具体实现方式可以参考前述对步骤214的描述,此处不再赘述。
108.步骤226,基于卷积网络和下采样层,生成目标骨干网络。
109.在本实施例中,上述执行主体基于步骤224中生成的卷积层和步骤225中构建的下采样层,生成目标骨干网络。
110.步骤226与前述实施例的步骤215基本一致,具体实现方式可以参考前述对步骤215的描述,此处不再赘述。
111.在本公开实施例提供的骨干网络的生成方法中,基于当前的基础网络模型,获取多个不同尺寸的卷积核的浮点运算数和延时,并据以确定多个不同尺寸的卷积核的计算密度;并根据确定结果确定计算密度最大的卷积核作为第一卷积核,以生成卷积层,扩大卷积层捕获的感受野,提升数据拟合能力;再利用与第一卷积核不同类型的第二卷积核构建下采样层,增加下采样层的数据拟合能力,提升骨干网络的推理速度。
112.图6示出了本公开的骨干网络的生成方法的第四实施例的流程230。参照图6所示,该骨干网络的生成方法包括以下步骤:
113.步骤231,获取多个不同尺寸的卷积核的计算密度。
114.在本实施例中,骨干网络的生成方法的执行主体,例如图1所示的服务器103,获取多个不同尺寸的卷积核的计算密度。
115.步骤231与前述实施例的步骤201或步骤221-222基本一致,具体实现方式可以参考前述对步骤201或步骤221-222的描述,此处不再赘述。
116.步骤232,确定计算密度最大的卷积核为第一卷积核。
117.在本实施例中,根据步骤231的获取结果,上述执行主体确定多个不同尺寸的卷积核中计算密度最大的卷积核为第一卷积核。
118.步骤232与前述实施例的步骤202或步骤223基本一致,具体实现方式可以参考前述对步骤202或步骤223的描述,此处不再赘述。
119.步骤233,基于第一卷积核,生成卷积网络。
120.在本实施例中,上述执行主体基于步骤232中确定的第一卷积核生成卷积网络。步骤233与前述实施例的步骤213或步骤224基本一致,具体实现方式可以参考前述对步骤213或步骤224的描述,此处不再赘述。
121.步骤234,构建下采样层,下采样层包括第二卷积核,第二卷积核的类型与第一卷积核的类型不同。
122.在本实施例中,上述执行主体通过第二卷积核构建下采样层,以进一步减少计算量,同时提高数据拟合能力。
123.步骤234与前述实施例的步骤214基本一致,具体实现方式可以参考前述对步骤214的描述,此处不再赘述。
124.步骤235,在卷积网络之后依次构建全局池化层、全连接层和分类层。
125.在本实施例中,上述执行主体在构建卷积网络之后,依次构建gap(global average pooling)全局池化层、fc(full connection)全连接层和分类层。
126.其中,全局池化层用于将卷积网络的特征数据进行整体的均值池化,进一步减少参数量。全连接层用于将前面经过多次卷积后高度抽象化的特征进行整合,然后可以进行
归一化,对各种分类情况都输出一个概率,便于之后的分类层可以根据全连接层得到的概率进行分类。
127.在相关技术中,全局池化层与分类层直接连接。而在本公开实施例中,在全局池化层与分类层之间增加全连接层,能够带来的flops非常少,不会影响推理速度,但是可以大幅度提升骨干网络最终的精度。
128.步骤236,基于卷积网络、下采样层、全局池化层、全连接层和分类层,生成目标骨干网络。
129.在本实施例中,上述执行主体基于步骤233-235中依次生成和构建的卷积层、下采样层、全局池化层、全连接层和分类层,生成最终的目标骨干网络。例如,下采样层分布与卷积层的相邻两个阶段之间,包括多个卷积层的卷积网络的输出作为全局池化层的输入,全局池化层的输出作为全连接层的输入,全连接层的输出作为分类层的输入,分类层的输出作为骨干网络的输出。
130.本公开实施例提供的骨干网络的生成方法中,基于当前的基础网络模型,获取多个不同尺寸的卷积核的浮点运算数和延时,并据以确定多个不同尺寸的卷积核的计算密度;并根据确定结果确定计算密度最大的卷积核作为第一卷积核,以生成卷积层,扩大卷积网络捕获的感受野,提升数据拟合能力;然后在卷积网络的相邻两个阶段之间,利用与第一卷积核不同类型的第二卷积核构建下采样层,增加下采样层的数据拟合能力,提升推理速度;然后通过在全局池化层与分类层之间构建全连接层,大幅度提升骨干网络最终的精度。
131.需要指出的是,图2-图6所示任一实施例以及在本公开中未能示出但可以据本公开的骨干网络的生成方法进行实施的实施例中,所生成的骨干网络可用于构建计算机视觉领域的机器学习模型。例如,用于构建目标检测领域的机器学习模型。
132.图7示出了根据本公开的图像处理方法的一个实施例的流程400,参照图7所示,该图像处理方法包括以下步骤:
133.步骤401,利用骨干网络,生成用于计算机视觉领域的图像处理模型。
134.在本实施例中,图像处理方法的执行主体(例如图1所示的服务器103)可以利用骨干网络,生成用于计算机视觉领域的图像处理模型。
135.其中,上述执行主体所利用的骨干网络,可以是根据本公开前述骨干网络的生成方法所生成的骨干网络。例如,该骨干网络可以包括计算密度最大的第一卷积核生成的卷积层、基于与第一卷积核类型不同的第二卷积核构建的下采样层、全局池化层、全连接层以及分类层,其中,多个卷积层生成卷积网络,下采样层设置于卷积网络的相邻两个阶段之间。
136.步骤402,将待处理的计算机视觉图像输入图像处理模型,得到图像处理结果。
137.在本实施例中,上述执行主体将待处理的计算机视觉图像直接输入图像处理模型,图像处理模型基于骨干网络提取图像特征,并进行处理、输出,即可得到图像处理结果。
138.其中,待处理的计算机视觉图像可以为用户从现有的图像中选取并上传的,也可以为用户通过终端设备的摄像头拍摄的,并且该待处理的计算机视觉图像中可以包含任何人物或事物的图像,本实施例中对此不作具体限定。
139.骨干网络作为目标检测任务的基本特征提取器,目标检测的主要任务是将图像作为输入并输出相应输入图像的特征图。待处理的计算机视觉图像输入图像处理模型后,骨
干网络对输入的计算机视觉图像进行图像分割,得到一些原始区域,然后对原始区域内的图像特征进行提取,然后对提取到的特征进行分类等处理,最终得到检测出的目标对象。
140.本公开实施例提供的图像处理方法,基于本公开提供的骨干网络的生成方法所生成的骨干网络,生成用于计算机视觉领域的图像处理模型;然后将待处理的计算机视觉图像输入该图像处理模型,即可得到图像处理结果。本实施例的图像处理方法采用前述方法生成的骨干网络对图像的特征进行提取、处理,提升了提取和处理图像特征的速度和精度,进而提升图像处理效率和处理效果。
141.作为对上述各图所示方法的实现,图8示出了根据本公开的骨干网络的生成装置的一种实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
142.参照图8所示,该骨干网络的生成装置500包括:获取模块501、确定模块502和第一生成模块503。其中,获取模块501被配置为,获取多个不同尺寸的卷积核的计算密度;确定模块502被配置为,确定计算密度最大的卷积核为第一卷积核;第一生成模块503被配置为,基于第一卷积核,生成目标骨干网络。
143.在本实施例中,骨干网络的生成装置500中,获取模块501、确定模块502和第一生成模块503的具体处理及其所带来的技术效果,可分别参考图2对应实施例中的步骤201-203的相关说明,在此不再赘述。
144.在本公开实施例的一些可选的实现方式中,第一生成模块包括:第一生成子模块、第一构建子模块和第二生成子模块。其中,第一生成子模块被配置为,基于第一卷积核,生成卷积层;第一构建子模块被配置为,构建下采样层,下采样层包括第二卷积核,第二卷积核的类型与第一卷积核的类型不同;第二生成子模块被配置为,根据卷积层和下采样层,生成目标骨干网络。
145.在本实施例中,第一生成子模块、第一构建子模块和第二生成子模块的具体处理及其所带来的技术效果,可分别参考图3对应实施例中的步骤213-215的相关说明,在此不再赘述。
146.在本公开实施例的一些可选的实现方式中,第一卷积核为3
×
3标准卷积核,第二卷积核为步长为2的深度卷积核。
147.在本公开实施例的一些可选的实现方式中,第一生成子模块被配置为,将多个第一卷积核进行堆叠与融合,生成包括多个卷积层的卷积网络。
148.在本公开实施例的一些可选的实现方式中,卷积网络包括多个阶段,第二生成子模块被配置为,在卷积网络中每相邻的两个阶段之间设置下采样层,得到目标骨干网络。
149.在本公开实施例的一些可选的实现方式中,获取模块包括:获取子模块和第一确定子模块。其中,获取子模块被配置为,获取基础网络模型的卷积网络中多个不同尺寸的卷积核的浮点运算数和延时;第一确定子模块被配置为,根据浮点运算数和延时,确定多个不同尺寸的卷积核的计算密度。
150.在本实施例中,获取子模块和第一确定子模块的具体处理及其所带来的技术效果,可分别参考图5对应实施例中的步骤221-222的相关说明,在此不再赘述。
151.在本公开实施例的一些可选的实现方式中,卷积网络中卷积核的平均通道数小于基础网络模型中卷积网络的最后一个阶段最后的输出通道数。
152.在本公开实施例的一些可选的实现方式中,第一生成模块还包括第二构建子模块。其中,第二构建子模块被配置为,在卷积网络之后依次构建全局池化层、全连接层和分类层。
153.在本实施例中,第二构建子模块的具体处理及其所带来的技术效果,可分别参考图6对应实施例中的步骤235的相关说明,在此不再赘述。
154.在本公开实施例提供的骨干网络的生成装置中,骨干网络用于构建计算机视觉领域的机器学习模型。
155.作为对上述各图所示方法的实现,图9示出了根据本公开提供的一种图像处理装置的一个实施例,该装置实施例与图7所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
156.参照图9所示,该图像处理装置600包括:第二生成模块601和得到模块602。其中,第二生成模块601被配置为,利用如第一方面或第二方面提供的骨干网络,生成用于计算机视觉领域的图像处理模型;得到模块602被配置为,将待处理的计算机视觉图像输入图像处理模型,得到图像处理结果。
157.在本实施例中,图像处理装置600中,第二生成模块601和得到模块602的具体处理及其所带来的技术效果可分别参考图7对应实施例中的步骤401-402的相关说明,在此不再赘述。
158.根据本公开的实施例,本公开还提供了一种电子设备、一种存储有计算机指令的非瞬时计算机可读存储介质和一种计算机程序产品。
159.其中,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述骨干网络的生成方法。
160.在一些实施例中,一种存储有计算机指令的非瞬时计算机可读存储介质中,计算机指令用于使计算机执行上述骨干网络的生成方法。
161.在一些实施例中,一种计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现上述骨干网络的生成方法。
162.图10示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
163.如图10所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
164.设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通
信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
165.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如骨干网络的生成方法或图像处理方法。例如,在一些实施例中,骨干网络的生成方法或图像处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的骨干网络的生成方法或图像处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行骨干网络的生成方法或图像处理方法。
166.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
167.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
168.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
169.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
170.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
171.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
172.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
173.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1