特征图的处理方法和相关设备与流程

文档序号:32784324发布日期:2023-01-03 17:07阅读:89来源:国知局
特征图的处理方法和相关设备与流程

1.本技术实施例涉及人工智能(ai)技术领域,尤其涉及一种特征图的处理方法和相关设备。


背景技术:

2.现有机器任务的神经网络是以图像作为输入的视觉任务神经网络(简称为图像域任务网络),也即图像域任务网络的输入为图像,图像域任务网络对输入的图像进行处理后,输出处理结果。图像域任务网络结合视频或图像编解码应用时,需要解码端(例如基于人工神经网络的图像解码器)首先解析码流产生重建特征图,再将重建特征图输入图像重建网络产生重建图像,以重建图像作为图像域任务网络的输入。因此,图像域任务网络结合视频或图像编解码应用时需要较大的算力。


技术实现要素:

3.本技术提供一种特征图的处理方法和相关设备,能够降低算力。
4.上述和其它目标通过独立权利要求的主体实现。其它实现方式在从属权利要求、具体实施方式和附图中显而易见。
5.具体实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。
6.根据第一方面,本技术涉及一种特征图的处理方法。所述方法由电子设备执行,所述方法通过调用神经网络模型实现,所述神经网络模型包括多个输入适配分支和后处理部分,所述多个输入适配分支的输出为所述后处理部分的输入,所述多个输入适配分支用于对特征图进行下采样,所述多个输入适配分支中的每个输入适配分支对特征图的下采样倍率不同;所述方法包括:将第一特征图输入所述多个输入适配分支中的其中一个输入适配分支,以得到第二特征图,所述其中一个输入适配分支是根据所述第一特征图的尺寸和预设尺寸阈值确定的,所述预设尺寸阈值为所述后处理部分的输入特征图的上限尺寸,所述第二特征图的尺寸不大于所述预设尺寸阈值;将所述第二特征图输入所述后处理部分进行后处理,以得到所述第一特征图的处理结果。
7.在本技术实施例中,用于机器任务处理的视觉任务神经网络为以特征图为输入的特征域任务网络,例如本技术设计的神经网络模型的输入可以为解码器解析码流重建得到的特征图,输出为该特征图对应的任务处理结果,如此,相比图像域任务网络,跳过根据重建的特征图得到重建的图像的过程,从而降低了算力;并且,相比于图像,神经网络模型对特征图进行处理的算力也较小。进一步地,本技术设计的该神经网络模型包括多个输入适配分支和后处理部分,多个输入适配分支的输出为后处理部分的输入,多个输入适配分支中的每个输入适配分支可以对特征图进行不同倍率的下采样。对于输入该神经网络模型的不同尺寸(分辨率)的第一特征图,均可以根据该第一特征图的尺寸和后处理部分的输入特征图的上限尺寸从多个输入适配分支中选择其中一个输入适配分支,采用该其中一个输入适配分支对该第一特征图进行下采样处理,生成尺寸不大于后处理部分的输入特征图的上
限尺寸的第二特征图,如此,第二特征图满足后处理部分对输入特征图的尺寸要求,将第二特征图输入后处理部分进行后处理,即可得到第一特征图的处理结果;因此,本技术可以在神经网络模型的输入特征图为不同分辨率的情况下,以相近的算力保持高的分析精度。此外,相比于为每种分辨率的输入特征图分别训练一个独立的神经网络模型(每个网络的算力相近),然后通过针对不同分辨率训练的神经网络模型对不同分辨率的特征图进行处理,本技术设计的神经网络模型通过多个输入适配分支即可实现相同的功能,且多个输入适配分支为神经网络模型的主干网络前部,神经网络模型中只有一套后处理部分(主干网络核心部分和头部网络),这样可以显著节省网络参数,在推理时也不需要切换网络模型,减少模型布署的难度。
8.在一种可能的设计中,所述多个输入适配分支中对特征图的下采样倍率为整数倍的任一第一输入适配分支包括至少一个第一卷积层,所述至少一个第一卷积层用于对特征图进行下采样,所述至少一个第一卷积层的步长是根据所述任一第一输入适配分支对特征图的下采样倍率确定的。
9.在本设计中,对于对特征图的下采样倍率为整数倍的任一第一输入适配分支,其可以通过至少一个第一卷积层对输入的特征图进行下采样,而通过卷积层对特征图进行下采样的倍率与卷积层的步长有关,在根据该任一第一输入适配分支对特征图的下采样倍率确定该至少一个第一卷积层的步长后,即可实现对输入该任一第一输入适配分支的特征图进行整数倍倍率的下采样;例如,该任一第一输入适配分支对特征图的下采样倍率为2,该至少一个第一卷积层的步长为2,从而该至少一个第一卷积层可以将输入该任一第一输入适配分支的特征图的尺寸缩小2倍。
10.在一种可能的设计中,所述多个输入适配分支中对特征图的下采样倍率为非整数倍的任一第二输入适配分支包括至少一个上采样模块和至少一个第二卷积层,所述至少一个上采样模块用于对特征图进行上采样,所述至少一个第二卷积层用于对所述上采样得到的特征图进行下采样,所述至少一个上采样模块对特征图的上采样倍率以及所述至少一个第二卷积层的步长是根据所述任一第二输入适配分支对特征图的下采样倍率确定的。
11.在本设计中,对于对特征图的下采样倍率为非整数倍的任一第二输入适配分支,其可以通过至少一个上采样模块先对输入的特征图进行上采样,再通过至少一个第二卷积层对上采样得到的特征图进行下采样,而通过卷积层对特征图进行下采样的倍率与卷积层的步长有关,在根据该任一第二输入适配分支对特征图的下采样倍率确定该至少一个上采样模块对特征图的上采样倍率以及该至少一个第二卷积层的步长后,即可实现对输入该任一第二输入适配分支的特征图进行非整数倍倍率的下采样;例如,任一第二输入适配分支对特征图的下采样倍率为1.5,该至少一个上采样模块对特征图的上采样倍率为2,该至少一个第二卷积层的步长为3,如此该任一第二输入适配分支可以先将输入的特征图的尺寸先放大2倍,接着再缩小3倍输出,从而实现特征图的尺寸从输入到输出整体缩小1.5倍。
12.在一种可能的设计中,所述多个输入适配分支中对特征图的下采样倍率大于1的任一第三输入适配分支包括至少一个残差块结构(resblock),所述至少一个残差块结构用于对特征图进行下采样,所述至少一个残差块结构包括多个第三卷积层,所述多个第三卷积层中的任一第三卷积层的步长是根据所述任一第三输入适配分支对特征图的下采样倍率确定的。
13.在本设计中,对于对特征图的下采样倍率大于1的任一第三输入适配分支,其可以通过至少一个残差块结构对输入的特征图进行下采样,由于该至少一个残差块结构包括多个第三卷积层,而通过卷积层对特征图进行下采样的倍率与卷积层的步长有关,在根据该任一第三输入适配分支对特征图的下采样倍率确定该多个第三卷积层中的任一第三卷积层的步长后,即可实现对输入该任一第三输入适配分支的特征图进行大于1的倍率的下采样;此外,可以理解的是,残差块结构除了包括用于下采样的多个第三卷积层之外,虽然还包括其他层,但是其他层并不会改变输入特征图的尺寸,会改变输入特征图的尺寸的是卷积层。
14.在一种可能的设计中,所述其中一个输入适配分支是根据第一比值和第二比值中的最大值确定的,所述第一比值为所述第一特征图的宽和所述预设尺寸阈值的宽之间的比值,所述第二比值为所述第一特征图的高和所述预设尺寸阈值的高之间的比值。
15.在本设计中,计算第一特征图的宽和后处理部分的输入特征图的上限尺寸的宽之间的比值,以及第一特征图的高和后处理部分的输入特征图的上限尺寸的高之间的比值,然后根据两个比值中的最大值来从多个输入适配分支中选择其中一个输入适配分支,对第一特征图进行下采样,如此,可以确保对第一特征图进行下采样得到的特征图的宽和高分别不会大于后处理部分的输入特征图的上限尺寸的宽和高。
16.在一种可能的设计中,若所述第二特征图的尺寸大于所述预设尺寸阈值,所述方法还包括:从所述第二特征图中截取得到第三特征图,所述第三特征图的尺寸不大于所述预设尺寸阈值;将所述第三特征图输入所述后处理部分进行后处理,以得到所述第一特征图的处理结果。
17.在本设计中,可能存在输入的第一特征图的尺寸太大,经过其中一个输入适配分支下采样后,例如经过下采样倍率最大的输入适配分支下采样后,得到的第二特征图可能还是大于后处理部分的输入特征图的上限尺寸,此时,从该第二特征图中截取得到尺寸不大于后处理部分的输入特征图的上限尺寸的第三特征图,将该第三特征图输入后处理部分进行后处理,得到第一特征图的处理结果;如此,可以确保输入神经网络模型的第一特征图处理后,均能得到该第一特征图的处理结果。
18.在一种可能的设计中,所述第一特征图为解码码流得到的特征图。
19.在本设计中,由于神经网络模型的输入的第一特征图为解码码流得到的特征图,例如第一特征图为使用端到端图像解码器的熵解码模块对特征图码流进行解码得到的特征图;如此,对于视频或图像编解码来说,无需将解码码流得到的特征图再进行图像重建,以得到重建的图像输入神经网络模型处理,也即可以省略图像重建的过程,而直接将解码码流得到的特征图输入神经网络模型分析,从而降低算力。
20.在一种可能的设计中,所述方法还包括:根据训练样本集对所述神经网络模型进行n轮训练,以得到n个第一损失值,所述训练样本集包括至少n种尺寸的样本特征图,所述n不小于所述多个输入适配分支的数量,所述n为整数;根据所述n个第一损失值得到第二损失值;根据所述第二损失值更新所述神经网络模型的参数。
21.在本设计中,用于训练本技术设计的神经网络模型的训练样本集包括至少n种尺寸的样本特征图,且n的取值不小于多个输入适配分支的数量,如此,采用该训练样本集对该神经网络模型进行训练,可以使得该多个输入适配分支中的每个输入适配分支均能得到
训练,从而对该神经网络模型进行n轮训练得到的n个第一损失值包括了多个输入适配分支中任一多个输入适配分支对应的第一损失值;根据n个第一损失值得到第二损失值,再根据该第二损失值更新该神经网络模型的参数,这样也更新了多个输入适配分支中任一多个输入适配分支中的参数。
22.根据第二方面,本技术涉及一种特征图的处理装置,有益效果可以参见第一方面的描述,此处不再赘述。所述特征图的处理装置具有实现上述第一方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述特征图的处理装置通过调用神经网络模型实现,所述神经网络模型包括多个输入适配分支和后处理部分,所述多个输入适配分支的输出为所述后处理部分的输入,所述多个输入适配分支用于对特征图进行下采样,所述多个输入适配分支中的每个输入适配分支对特征图的下采样倍率不同;所述装置包括处理单元,用于:将第一特征图输入所述多个输入适配分支中的其中一个输入适配分支,以得到第二特征图,所述其中一个输入适配分支是根据所述第一特征图的尺寸和预设尺寸阈值确定的,所述预设尺寸阈值为所述后处理部分的输入特征图的上限尺寸,所述第二特征图的尺寸不大于所述预设尺寸阈值;将所述第二特征图输入所述后处理部分进行后处理,以得到所述第一特征图的处理结果。
23.在一个可能的设计中,所述多个输入适配分支中对特征图的下采样倍率为整数倍的任一第一输入适配分支包括至少一个第一卷积层,所述至少一个第一卷积层用于对特征图进行下采样,所述至少一个第一卷积层的步长是根据所述任一第一输入适配分支对特征图的下采样倍率确定的。
24.在一个可能的设计中,所述多个输入适配分支中对特征图的下采样倍率为非整数倍的任一第二输入适配分支包括至少一个上采样模块和至少一个第二卷积层,所述至少一个上采样模块用于对特征图进行上采样,所述至少一个第二卷积层用于对所述上采样得到的特征图进行下采样,所述至少一个上采样模块对特征图的上采样倍率以及所述至少一个第二卷积层的步长是根据所述任一第二输入适配分支对特征图的下采样倍率确定的。
25.在一个可能的设计中,所述多个输入适配分支中对特征图的下采样倍率大于1的任一第三输入适配分支包括至少一个残差块结构(resblock),所述至少一个残差块结构用于对特征图进行下采样,所述至少一个残差块结构包括多个第三卷积层,所述多个第三卷积层中的任一第三卷积层的步长是根据所述任一第三输入适配分支对特征图的下采样倍率确定的。
26.在一个可能的设计中,所述其中一个输入适配分支是根据第一比值和第二比值中的最大值确定的,所述第一比值为所述第一特征图的宽和所述预设尺寸阈值的宽之间的比值,所述第二比值为所述第一特征图的高和所述预设尺寸阈值的高之间的比值。
27.在一个可能的设计中,若所述第二特征图的尺寸大于所述预设尺寸阈值,所述处理单元还用于:从所述第二特征图中截取得到第三特征图,所述第三特征图的尺寸不大于所述预设尺寸阈值;将所述第三特征图输入所述后处理部分进行后处理,以得到所述第一特征图的处理结果。
28.在一种可能的设计中,所述第一特征图为解码码流得到的特征图。
29.在一个可能的设计中,所述处理单元还用于:根据训练样本集对所述神经网络模
型进行n轮训练,以得到n个第一损失值,所述训练样本集包括至少n种尺寸的样本特征图,所述n不小于所述多个输入适配分支的数量,所述n为整数;根据所述n个第一损失值得到第二损失值;根据所述第二损失值更新所述神经网络模型的参数。
30.根据第三方面,本技术涉及一种电子设备,包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器并存储由所述处理器执行的程序,其中所述程序在由所述处理器执行时,使得所述电子设备执行第一方面任意一种可能的实施例中的方法。
31.根据第四方面,本技术涉及一种非瞬时性计算机可读存储介质,包括程序代码,当其由计算机设备执行时,用于执行第一方面任意一种可能的实施例中的方法。
32.根据第五方面,本技术涉及包括程序代码的计算机程序产品,所述程序代码在运行时执行第一方面任意一种可能的实施例中的方法。
33.根据第六方面,本技术涉及了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有上述芯片的设备执行如上述第一方面中任一项上述的方法。
34.附图及以下说明中将详细描述一个或多个实施例。其它特征、目的和优点在说明、附图以及权利要求中是显而易见的。
附图说明
35.下面对本技术实施例用到的附图进行介绍。
36.图1为基于人工神经网络的图像编解码器的示意图;
37.图2为本技术实施例提供的一种神经网络模型的架构示意图;
38.图3为本技术实施例提供的一种特征图的处理方法的流程示意图;
39.图4为本技术实施例提供的一种特征图的处理装置的结构示意图;
40.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
41.首先,对本技术实施例中的一些技术知识进行介绍,以便于本领域技术人员理解本技术。
42.(1)卷积神经网络(convolutional neural network,cnn)
43.卷积神经网络是图像处理、分析领域中的典型方法。卷积神经网络至少包含卷积层,还可能包含激活层、池化层(pooling layer)、批量归一化层(batch normalization layer,简称bn层)、全连接层(fully connected layer,简称fc层)等其它功能模块,其中,激活层可以为线性整流单元(rectified linear unit,relu)、参数化线性整流单元(parametric rectified linear unit,prelu)等。典型的卷积神经网络如lenet、alexnet、vggnet、resnet、yolo、faster rcnn、mask rcnn、aslfeat等。基本的卷积神经网络可由主干网络(backbone network)和头部网络(head network)构成,如物体识别(object recognition)中的alexnet;而一些复杂的cnn,如目标检测领域的带有特征金字塔结构的faster rcnn网络由主干网络、脖子网络(neck network)和头部网络几个部分网络构成。
44.主干网络是卷积神经网络的第一部分,其功能为对输入图像提取多个尺度的特征图,通常由卷积层、池化层、激活层等构成,不含有全连接层。通常,主干网络中较靠近输入图像的层输出的特征图分辨率(宽、高)较大,但通道数较少。典型的主干网络有vgg-16、
resnet-50、resnext-101等。主干网络可以细分成主干网络前部和主干网络核心部分两个部分。主干网络前部,即主干网络靠近输入的若干层,也被称为茎(stem),它通常包括少量的卷积层,也可能包括池化层等其它形态的层;它将输入信号初步处理,完成空间分辨率的减少和通道数的提升,例如resnet-50中输入侧是由7
×
7卷积核的卷积层和最大化池化层(max pool)构成的结构。除了主干网络前部之外的其它部分是主干网络核心部分,主干网络核心部分通常包含较多数量的卷积层和一些串联在一起的具有相同或相似结构的网络子模块,例如resnet中的残差块结构(resblock)。
45.脖子网络是卷积神经网络的中间部分,其功能为对主干网络产生的特征图进一步整合处理,得到新的特征图。常见的脖子网络如特征金字塔网络(feature pyramid networks,fpn)。
46.头部网络是卷积神经网络的最后部分,其功能为处理特征图得到神经网络输出的预测结果。常见的头部网络包含全连接层、归一化指数函数(softmax)模块等。
47.瓶颈结构(bottleneck structure)是一种多层网络结构,网络的输入数据先经过1层或多层神经网络层,得到中间数据,中间数据再经过1层或多层神经网络层得到输出数据,其中中间数据的数据量(即宽、高和通道数的乘积)低于输入数据量和输出数据量。
48.特征图是卷积神经网络中卷积层、激活层、池化层、批量归一化层等层输出的三维数据,其三个维度分别称为宽(width)、高(height)、通道(channel)。
49.神经网络需要通过训练确定神经网络各层的参数。训练的过程中,使用前向损失计算加反向梯度传播的方式,更新神经网络中的可训练参数。通过多次参数更新,最终使得神经网络各层的参数收敛到较优的分析精度。当训练完毕后,通常固定网络各层的参数,将输入信号通过神经网络得到结果,这个实际使用神经网络的过程称为“推理”。
50.(2)基于人工神经网络的图像编解码器
51.自2017年以来,基于人工神经网络的图像编解码器发展迅速,从早期的基于自编码器(autoencoder)结构和基于循环神经网络(recurrent neural network,rnn)结构发展成为更高性的变分自编码器(variation autoencoder,vae)结构,其压缩性能可与h.266/vcc(versatile video coding,多用途视频编码)编码相当,其中经典的一种网络模型如图1所示。
52.在编码端,原始图像x输入特征提取模块,也即输入编码(encoding,enc)模块,输出原始特征图y;一方面,该原始特征图y经超先验编码(hyper-enc)模块进行特征提取,输出先验信息该先验信息经过量化后得到量化后的将量化后的输入概率估计模块,输出每个特征元素的概率分布模型参数,从而得到每个特征元素的概率分布;熵编码或算术编码(ae)模块根据概率分布对每个特征元素进行算术编码得到超先验码流;熵解码或算术解码(ad)模块对超先验码流进行熵解码,得到特征元素的值,超先验解码(hyper-dec)模块进行图像重建输出特征图y的重建图(也即重建特征图y)。另一方面,该原始特征图y输入量化模块,得到量化后的特征图熵编码模块根据超先验解码模块得到的概率分布模型参数得到每个特征元素的概率分布,根据所述概率分布对量化后的特征图中的每个特征元素进行熵编码,得到编码码流。
53.在解码端,解码端解析码流,根据超先验解码模块传输的概率分布模型参数,输出
待编码符号的概率分布,熵解码模块根据每个特征元素的概率分布对量化后的特征图中的每个特征元素进行算术解码,得到特征元素的值;将特征图输入图像重建模块输出重建图。
54.此外,有些变分自动编码器(variational auto encoder,vae)的概率估计模块中还利用到当前特征元素周围已解码的特征元素,以更准确地估计当前特征元素的概率分布。
55.(3)特征域任务网络
56.现有机器任务的神经网络是以图像作为输入的视觉任务神经网络(简称为图像域任务网络),也即图像域任务网络的输入为图像,图像域任务网络对输入的图像进行处理后,输出处理结果。图像域任务网络如resnet、faster-rcnn、mask-rcnn、yolo等。图像域任务网络结合视频或图像编解码应用时,需要解码器(例如基于人工神经网络的图像解码器)首先解析码流产生重建特征图,再将重建特征图输入图像重建网络产生重建图像,以重建图像作为图像域任务网络的输入。
57.本技术提出以特征图(基于人工神经网络编解码器得到的特征图)作为输入的特征图域视觉任务神经网络(简称为特征域任务网络),其优点为跳过图像解码网络,以解析码流产生的重建特征图为输入,直接进行视觉任务,以期可以显著降低算力。
58.特征域任务网络相比于图像域任务网络有一个明显的缺点。图像域任务网络运行在低算力设备上时,可以将待分析图像(image)a(例如解码重建的图像)下采样成更小分辨率的图像b,然后将图像b输入图像域任务网络,从而降低神经网络推理时需要的算力,这是因为神经网络推理时的算力随着输入图像分辨率的提升而增加。常用的下采样处理包括双线性插值(bilinear interpolation)、最近邻插值(nearest interpolation)、双三次插值(bicubic bnterpolation)下采样,例如pytorch中的torch.nn.functional.interpolate函数。图像经下采样处理后不会显著降低图像域任务网络的分析精度,也就是说,将高分辨率图像a输入图像域任务网络得到的分析精度略高于将低分辨率图像b输入到图像域任务网络的分析精度,两者分析精度的差别不大;例如,对于resnet-50网络在imagenet验证集上的性能而言,下降幅度约1%。这种特性使得图像域任务网络能够通过对输入图像进行下采样轻松实现算力调节。
59.然而,对于特征域任务网络,通过双线性插值等传统下采样方法对网络输入的特征图进行缩放会显著降低分析精度,这是因为特征图相比于图像更加非线性,对特征图使用如双线性、最近邻插值等方法进行下采样会显著破坏特征图中的信息。例如,对于cresnet-39网络在imagenet验证集上的性能而言,使用最近邻插值方法对输入特征图进行2倍下采样,会造成分析精度下降超过10%。
60.下面结合具体实施方式对本技术提供的技术方案进行详细的介绍。
61.请参阅图2,图2是本技术实施例提供的一种神经网络模型的架构示意图。如图2所示,该神经网络模型的架构为特征域任务网络结构,例如可以为一种面向人工神经网络编解码器特征图的特征域任务网络的结构;此外,该神经网络模型的架构还为一种面向特征图输入的多输入适配分支网络(multi-stem networks)。该神经网络模型包括主干网络和头部网络,主干网络包括主干网络前部和主干网络核心部分(包含了主干网络的大部分
层),主干网络前部包括多个输入适配分支(multiple stems,也称为多茎分支)和分支选择模块,多个输入适配分支中的每个输入适配分支具有不同的特征图尺寸调节能力;分支选择模块包括第一分支选择模块,第一分支选择模块可以根据该神经网络模型的输入特征图的尺寸和主干网络核心部分的输入特征图的尺寸上限从多个输入适配分支中选择其中一个输入适配分支;在选择了其中一个输入适配分支,将该神经网络模型的输入特征图输入该其中一个输入适配分支进行下采样处理,下采样处理后得到尺寸不大于主干网络核心部分的输入特征图的尺寸上限的特征图,该下采样处理后得到的特征图为主干网络核心部分的输入。
62.其中,主干网络核心部分为机器视觉领域的常用技术,例如可以为由多个卷积层取成的vgg网络结构,或者由多个resblock组成的resnet结构,或者inception结构等。
63.其中,头部网络可以为包含全连接层的分类头部网络,或者预测物体检测框处置的检测框头部网络等。
64.其中,该神经网络模型输出的处理结果可以为图像分类任务中的分类概率矢量,它描述了每一种分类的概率值;该神经网络模型输出的处理结果还可以是图像分割图、人脸识别结果、物体检测框等,本技术对此不做具体限定。
65.需要说明的是,该神经网络模型的主干网络和头部网络之间还可以设置脖子网络(图2中未示出),脖子网络对主干网络产生的多尺度的特征图进行融合处理,处理后的结果再送入头部网络,典型的脖子网络是带有特征金字塔结构(feature pyramid networks,fpn)的faster rcnn,以及yolov4网络。
66.如前所述,该神经网络模型根据输入特征图f_a的尺寸和主干网络核心部分的输入特征图的尺寸上限,选择一个输入适配分支,对f_a进行处理,输出特征图f_b的尺寸属于一个预设尺寸阈值范围内,例如特征图f_b的尺寸不大于主干网络核心部分的输入特征图的尺寸上限;然后将特征图f_b继续输入主干网络核心部分;之后,经过主干网络核心部分、脖子网络(图2中未示出)或/和头部网络的处理,由头部网络输出处理结果。由于特征图f_b的尺寸在预设尺寸阈值范围之内,所以主干网络核心部分、脖子网络或/和头部网络的算力就可以限制在一定范围之内。如此,本技术可以应用于以多种分辨率特征图为输入的特征域任务网络,使得对多种分辨率的输入特征图,特征域任务网络的算力保持在相似的水平,使得在同一算力较有限的设备上可以通过一个模型支持对多种分辨率的输入特征图的分析。
67.如前描述,该神经网络模型的各个输入适配分支完成不同比例的特征图下采样,下面举例示意性说明。
68.作为一个示例,如图2所示,该神经网络模型包含4个输入适配分支,分别为输入适配分支1(完成1倍下采样)、输入适配分支2(完成1.5倍下采样)、输入适配分支3(完成2倍下采样)以及输入适配分支4(完成3倍下采样),具体如下所示。
69.输入适配分支1:其输出的特征图f_a_1的宽和高分别与输入特征图f_a的宽和高相同,即输入适配分支1完成1倍下采样。输入适配分支1包含至少一个卷积层,且这至少一个卷积层的步长(stride)均为1。可选的,输入适配分支1中还可以包含批归一化(batch normalization)层和激活层(例如relu层),这些层都是卷积神经网络中常规使用的层。通常卷积层的填充(padding)参数设置为(k-1)//2,其中“//2”表示除2后取整,k为卷积核
(kernel size)的尺寸。
70.输入适配分支2:其输出的特征图f_a_2的宽和高分别为输入特征图f_a的宽和高的2/3,即输入适配分支2完成1.5倍下采样。在输入适配分支2中,首先通过上采样(如最近邻上采样)将特征图f_a上采样2倍,得到特征图f_a’,再将特征图f_a’经过一个步长为3的卷积层,完成3倍下采样,从而整体上达到1.5倍下采样的效果。可选的,输入适配分支2中也可以进一步包含其它步长为1的卷积层,以及bn层、relu层等,本技术对此不作具体限定。
71.输入适配分支3:其输出的特征图f_a_3的宽和高分别为输入特征图f_a的宽和高的1/2,即输入适配分支3完成2倍下采样。在输入适配分支3中,将特征图f_a经过一个步长为2的卷积层,完成2倍下采样。可选的,输入适配分支3中也可以进一步包含其它步长为1的卷积层,以及bn层、relu层等,本技术对此不作具体限定。
72.输入适配分支4:其输出的特征图f_a_4的宽和高分别与输入特征图f_a的宽和高的1/3,即输入适配分支4完成3倍下采样。在输入适配分支4中,将特征图f_a经过一个步长为3的卷积层,完成3倍下采样。可选的,输入适配分支4中也可以进一步包含其它步长为1的卷积层,以及bn层、relu层等,本技术对此不作具体限定。
73.作为一个示例,除了上述通过一个或多个卷积层串联完成下采样之外,下采样倍率大于1的输入适配分支还可以使用残差块结构(resblock)等更复杂的结构。例如对实现2倍下采样的输入适配分支3而言,输入特征图f_a通过1
×
1卷积核、步长为2的卷积层得到中间结果f_a;此外,输入特征图f_a也通过3
×
3卷积核、步长为2的卷积层和relu层产生中间结果f_b,f_b再通过一个卷积层产生f_c;将f_c与f_a相加得到f_d,输入适配分支3的输出为f_d或者f_d经过relu层的结果。
74.作为一种实现方式,第一分支选择模块根据主干网络核心部分输入特征图的上限尺寸(th_w,th_h)和该神经网络模型的输入特征图的尺寸(in_w,in_h)选择具体的输入适配分支,使得输入特征图经过选择的输入适配分支后输出的特征图尺寸不超过(th_w,th_h),其中,th_w为主干网络核心部分的输入特征图的上限尺寸的宽,th_h为主干网络核心部分的输入特征图的上限尺寸的高,in_w为神经网络模型的输入特征图的宽,in_h为神经网络模型的输入特征图的高。以前述输入适配分支1、输入适配分支2、输入适配分支3以及输入适配分支4为例,一种示例的输入适配分支选择方式为:
75.记rw=in_w/th_w,rh=in_h/th_h;
76.如果max(rw,rh)≤1,则使用输入适配分支1;
77.否则,如果max(rw,rh)≤1.5,则使用输入适配分支2;
78.否则,如果max(rw,rh)≤2,则使用输入适配分支3;
79.否则,使用输入适配分支4;
80.其中,函数max(a,b)表示取a和b中的最大值。
81.举例来说,如图2所示,当th_w和th_h设置为16时,对于宽和高为24的输入特征图f_a,经过分支选择模块的判断,将该输入特征图f_a输入到输入适配分支2,完成1.5倍下采样,输出宽和高为16的特征图f_b。相似的,对于宽和高为32的输入特征图f_a,则将选用输入适配分支3,完成2倍下采样,输出宽和高为16的特征图f_b。同理,对于宽和高为48的输入特征图f_a,则将选用输入适配分支4,完成3倍下采样,输出宽和高为16的特征图f_b;对于宽和高为42的输入特征图f_a,也将选用输入适配分支4,完成3倍下采样,输出宽和高为14
的特征图f_b。
82.作为一个示例,主干网络前部也可以只包含输入适配分支1和输入适配分支3。此时,分支选择模块的处理例如:如果max(rw,rh)≤1,则使用输入适配分支1;否则,使用输入适配分支1。
83.作为一个示例,主干网络前部也可以包含输入适配分支1、输入适配分支2和输入适配分支4。分支选择模块的处理与前所述类似,此处不再赘述。
84.作为一个示例,对于输入特征图f_a的分辨率范围较大的情况,主干网络前部还可以包含其它更高下采样倍率的输入适配分支,如倍率为4倍下采样的输入适配分支,可以通过将输入特征图f_a输入包含2个步长为2的卷积层来实现4倍下采样,这些通过多个步长大于1的卷积层实现下采样的方法可以为任意一种方式,此处不做具体限定,也不再赘述。
85.作为一种实现方式,分支选择模块还可以包括第二分支选择模块,第二分支选择模块可以用于选择输入适配分支实际执行分支的输出特征图,将此输出特征图输入到主干网络核心部分。在基于软件实现的方式中,可以不需要第二分支选择模块。此种实现方式下,程序根据第一分支选择模块的决策结果,调用对应的分支产生输出特征图,将输出特征图存储在公共变量p(即无论调用哪个分支,输出特征图都存在变量p中),主干网络核心部分读入公共变量p,因此处理过程中不显式的出现第二分支选择模块。在基于硬件实现的方式中,通常将各个适配分支电路化;此时,需要第一分支选择模块(完成输入特征图流入输入适配分支网络的选择)和第二分支选择模块(完成输出特征图流出输入适配分支网络的选择)。
86.作为一种实现方式,主干网络前部还包括多个卷积层,该多个卷积层也即在多个输入适配分支中的任一个输入适配分支与第二分支选择模块之间的卷积层,该多个卷积层中的任一个卷积层的输入为多个输入适配分支中的任一个输入适配分支的输出,多个卷积层中的任一个卷积层的输出为第二分支选择模块的输入,该多个卷积层中的任一个卷积层可以用于提升输入适配分支的拟合能力,使得由各输入适配分支输出的特征图能够具有相近的分布。
87.需要说明的是,本技术对神经网络模型中输入适配分支数量以及各个输入适配分支对特征图的下采样的具体实现方式不作具体限定,上述仅为示例性的描述。
88.请参阅图3,图3是示出根据本技术一种实施例的特征图的处理方法的过程300的流程图。过程300描述为一系列的步骤或操作,应当理解的是,过程300可以以各种顺序执行和/或同时发生,不限于图3所示的执行顺序。过程300可由电子设备执行,具体地,过程300可由电子设备通过调用神经网络模型实现执行,所述神经网络模型包括多个输入适配分支和后处理部分,所述多个输入适配分支的输出为所述后处理部分的输入,所述多个输入适配分支用于对特征图进行下采样,所述多个输入适配分支中的每个输入适配分支对特征图的下采样倍率不同。所述神经网络模型可以为图2所示的神经网络模型,所述后处理部分为图2所示的神经网络模型中除主干网络前部的其它部分,例如所述后处理部分包括图2所示的神经网络模型中主干网络核心部分和头部网络,可选地还包括脖子网络。过程300包括但不限于如下步骤或操作:
89.301、将第一特征图输入所述多个输入适配分支中的其中一个输入适配分支,以得到第二特征图,所述其中一个输入适配分支是根据所述第一特征图的尺寸和预设尺寸阈值
确定的,所述预设尺寸阈值为所述后处理部分的输入特征图的上限尺寸,所述第二特征图的尺寸不大于所述预设尺寸阈值。
90.其中,本技术对输入神经网络模型的特征图的来源不作具体限定,可以是任意一种来源。
91.在一种可能的设计中,所述第一特征图为解码码流得到的特征图。
92.例如上述输入神经网络模型的第一特征图可以是解码码流得到的特征图,也即使用端到端图像解码器的熵解码模块(如图1所示)对特征图码流进行解码得到的特征图,熵解码模块解码得到的特征图的尺寸(分辨率)一般较大,而特征图的尺寸越大需要的算力就越大,在给定神经网络模型的算力的情况下,需要对尺寸太大的特征图下采样后再进行处理。
93.举例来说,第一特征图可以为图2中的输入特征图f_a,第二特征图可以为图2中的特征图f_b,预设尺寸阈值为图2中的主干网络核心部分的输入特征图的上限尺寸;根据输入特征图f_a的尺寸和主干网络核心部分的输入特征图的上限尺寸,选择多个输入适配分支中的其中一个输入适配分支对f_a进行处理,得到特征图f_b。其中,各个输入适配分支完成不同倍率的特征图下采样,各个输入适配分支输出的特征图的通道数相同。
94.在本设计中,由于神经网络模型的输入的第一特征图为解码码流得到的特征图,例如第一特征图为使用端到端图像解码器的熵解码模块对特征图码流进行解码得到的特征图;如此,对于视频或图像编解码来说,无需将解码码流得到的特征图再进行图像重建,以得到重建的图像输入神经网络模型处理,也即可以省略图像重建的过程,而直接将解码码流得到的特征图输入神经网络模型分析,从而降低算力。
95.在一种可能的设计中,所述多个输入适配分支中对特征图的下采样倍率为整数倍的任一第一输入适配分支包括至少一个第一卷积层,所述至少一个第一卷积层用于对特征图进行下采样,所述至少一个第一卷积层的步长是根据所述任一第一输入适配分支对特征图的下采样倍率确定的。
96.示例性的,图2所示的输入适配分支1、输入适配分支3以及输入适配分支4的下采样倍率为整数倍,第一输入适配分支可以为输入适配分支1、输入适配分支3以及输入适配分支4中的任意一个,第一卷积层可以为输入适配分支1、输入适配分支3以及输入适配分支4中的任意一个中的卷积层,输入适配分支1、输入适配分支3以及输入适配分支4中的任意一个中的卷积层的步长分别根据对应的下采样倍率确定。例如,输入适配分支1的下采样倍率为1,输入适配分支1的中的卷积层的步长为1;输入适配分支3的下采样倍率为2,输入适配分支3的中的卷积层的步长为2;输入适配分支4的下采样倍率为3,输入适配分支4的中的卷积层的步长为3。
97.在本设计中,对于对特征图的下采样倍率为整数倍的任一第一输入适配分支,其可以通过至少一个第一卷积层对输入的特征图进行下采样,而通过卷积层对特征图进行下采样的倍率与卷积层的步长有关,在根据该任一第一输入适配分支对特征图的下采样倍率确定该至少一个第一卷积层的步长后,即可实现对输入该任一第一输入适配分支的特征图进行整数倍倍率的下采样;例如,该任一第一输入适配分支对特征图的下采样倍率为2,该至少一个第一卷积层的步长为2,从而该至少一个第一卷积层可以将输入该任一第一输入适配分支的特征图的尺寸缩小2倍。
98.在一种可能的设计中,所述多个输入适配分支中对特征图的下采样倍率为非整数倍的任一第二输入适配分支包括至少一个上采样模块和至少一个第二卷积层,所述至少一个上采样模块用于对特征图进行上采样,所述至少一个第二卷积层用于对所述上采样得到的特征图进行下采样,所述至少一个上采样模块对特征图的上采样倍率以及所述至少一个第二卷积层的步长是根据所述任一第二输入适配分支对特征图的下采样倍率确定的。
99.示例性的,图2所示的输入适配分支2的下采样倍率为非整数倍,第二输入适配分支可以为输入适配分支2,至少一个上采样模块可以为输入适配分支2中的上采样模块,第二卷积层可以为输入适配分支2中的卷积层,输入适配分支2中的上采样模块的上采样倍率根据输入适配分支2的下采样倍率确定,输入适配分支2中的卷积层的步长根据输入适配分支2的下采样倍率确定。例如,输入适配分支2的下采样倍率为1.5,输入适配分支2中的上采样模块的上采样倍率为2,输入适配分支2的中的卷积层的步长为3;如此,输入适配分支2先对输入的特征图上采样放大2倍,再对上采样后的特征图下采样缩小3倍输出,从而使得输入适配分支2输出的特征图相比其输入的特征图缩小1.5倍。
100.需要说明的是,本技术中对上采样模块的上采样的具体实现方式不作具体限定,可以为任意一种上采样方式。
101.在本设计中,对于对特征图的下采样倍率为非整数倍的任一第二输入适配分支,其可以通过至少一个上采样模块先对输入的特征图进行上采样,再通过至少一个第二卷积层对上采样得到的特征图进行下采样,而通过卷积层对特征图进行下采样的倍率与卷积层的步长有关,在根据该任一第二输入适配分支对特征图的下采样倍率确定该至少一个上采样模块对特征图的上采样倍率以及该至少一个第二卷积层的步长后,即可实现对输入该任一第二输入适配分支的特征图进行非整数倍倍率的下采样;例如,任一第二输入适配分支对特征图的下采样倍率为1.5,该至少一个上采样模块对特征图的上采样倍率为2,该至少一个第二卷积层的步长为3,如此该任一第二输入适配分支可以先将输入的特征图的尺寸先放大2倍,接着再缩小3倍输出,从而实现特征图的尺寸从输入到输出整体缩小1.5倍。
102.在一种可能的设计中,所述多个输入适配分支中对特征图的下采样倍率大于1的任一第三输入适配分支包括至少一个残差块结构(resblock),所述至少一个残差块结构用于对特征图进行下采样,所述至少一个残差块结构包括多个第三卷积层,所述多个第三卷积层中的任一第三卷积层的步长是根据所述任一第三输入适配分支对特征图的下采样倍率确定的。
103.示例性的,图2所示的输入适配分支2、输入适配分支3以及输入适配分支4的下采样倍率大于1,第三输入适配分支可以为输入适配分支2、输入适配分支3以及输入适配分支4中的任意一个;输入适配分支2、输入适配分支3以及输入适配分支4中的任意一个可以通过至少一个残差块结构实现对输入的特征图的下采样,至少一个残差块结构通过多个第三卷积层来对输入的特征图进行下采样处理;输入适配分支2、输入适配分支3以及输入适配分支4中的至少一个残差块结构中的多个第三卷积层中的任一第三卷积层的步长,可以分别根据输入适配分支2、输入适配分支3以及输入适配分支4对特征图的下采样倍率确定。例如,以输入适配分支3为例,输入适配分支3的下采样为2,输入适配分支3中的残差块结构包括一个1
×
1卷积核的卷积层以及一个3
×
3卷积核的卷积层,该1
×
1卷积核的卷积层以及一个3
×
3卷积核的卷积层的步长都为2。
104.在本设计中,对于对特征图的下采样倍率大于1的任一第三输入适配分支,其可以通过至少一个残差块结构对输入的特征图进行下采样,由于该至少一个残差块结构包括多个第三卷积层,而通过卷积层对特征图进行下采样的倍率与卷积层的步长有关,在根据该任一第三输入适配分支对特征图的下采样倍率确定该多个第三卷积层中的任一第三卷积层的步长后,即可实现对输入该任一第三输入适配分支的特征图进行大于1的倍率的下采样;此外,可以理解的是,残差块结构除了包括用于下采样的多个第三卷积层之外,虽然还包括其他层,但是其他层并不会改变输入特征图的尺寸,会改变输入特征图的尺寸的是卷积层。
105.在一种可能的设计中,所述其中一个输入适配分支是根据第一比值和第二比值中的最大值确定的,所述第一比值为所述第一特征图的宽和所述预设尺寸阈值的宽之间的比值,所述第二比值为所述第一特征图的高和所述预设尺寸阈值的高之间的比值。
106.示例性的,以图2中的输入适配分支1、输入适配分支2、输入适配分支3以及输入适配分支4为例:第一比值为前述rw=in_w/th_w,第一比值为前述rh=in_h/th_h;其中,th_w为主干网络核心部分的输入特征图的上限尺寸的宽,也即后处理部分的输入特征图的上限尺寸的宽;th_h为主干网络核心部分的输入特征图的上限尺寸的高,也即后处理部分的输入特征图的上限尺寸的高;in_w为神经网络模型的输入特征图的宽,也即第一特征图的宽;in_h为神经网络模型的输入特征图的高,也即第一特征图的高;先判断max(rw,rh)与1的关系,如果max(rw,rh)≤1,则使用输入适配分支1;如果max(rw,rh)>1,接着判断max(rw,rh)与1.5的关系,如果max(rw,rh)≤1.5,则使用输入适配分支2;如果max(rw,rh)>1.5,接着判断max(rw,rh)与2的关系,如果max(rw,rh)≤2,则使用输入适配分支3;否则,使用输入适配分支4。
107.在本设计中,计算第一特征图的宽和后处理部分的输入特征图的上限尺寸的宽之间的比值,以及第一特征图的高和后处理部分的输入特征图的上限尺寸的高之间的比值,然后根据两个比值中的最大值来从多个输入适配分支中选择其中一个输入适配分支,对第一特征图进行下采样,如此,可以确保对第一特征图进行下采样得到的特征图的宽和高分别不会大于后处理部分的输入特征图的上限尺寸的宽和高。
108.302、将所述第二特征图输入所述后处理部分进行后处理,以得到所述第一特征图的处理结果。
109.示例性的,后处理部分包括主干网络核心部分和头部网络,第二特征图为图2所示的特征图f_b;将特征图f_b输入主干网络核心部分,得到特征图f_c;再将特征图f_c输入头部网络,得到处理结果。
110.另一示例性的,后处理部分包括主干网络核心部分、脖子网络和头部网络,第二特征图为图2所示的特征图f_b;将特征图f_b输入主干网络核心部分,得到特征图f_c;然后将特征图f_c输入脖子网络,得到特征图f_d;再将特征图f_d输入头部网络,得到处理结果。
111.在一种可能的设计中,若所述第二特征图的尺寸大于所述预设尺寸阈值,所述方法还包括:从所述第二特征图中截取得到第三特征图,所述第三特征图的尺寸不大于所述预设尺寸阈值;将所述第三特征图输入所述后处理部分进行后处理,以得到所述第一特征图的处理结果。
112.需要说明的是,当输入特征图分辨率越大时,经过最高下采样倍率的输入适配分
支后,输出的特征图仍可能存在宽大于th_w或者高大于th_h的情况,此时可以截取输入适配分支输出的特征图中的一个子区域,使得这个子区域的面积不超过th_w乘以th_h,或者使得这个子区域的宽和高分别不超过th_w和th_h。优选的,上述子区域通常可以选用靠近输入适配分支输出的特征图的中心的子区域(也即center crop)。
113.例如,第一特征图为特征图f_a,第二特征图为特征图f_b’,第三特征图为特征图f_b;对于图2所示的输入适配分支,当输入特征图f_a的宽和高为60时,则将选用输入适配分支4,完成3倍下采样,输出宽和高为20的特征图f_b’,但这仍然超过了th_w和th_h,此时可以截取以特征图f_b’的中心为中心、宽为th_w、高为th_h的特征图区域,得到特征图f_b,特征图f_b作为主干网络核心部分的输入。
114.在本设计中,可能存在输入的第一特征图的尺寸太大,经过其中一个输入适配分支下采样后,例如经过下采样倍率最大的输入适配分支下采样后,得到的第二特征图可能还是大于后处理部分的输入特征图的上限尺寸,此时,从该第二特征图中截取得到尺寸不大于后处理部分的输入特征图的上限尺寸的第三特征图,将该第三特征图输入后处理部分进行后处理,得到第一特征图的处理结果;如此,可以确保输入神经网络模型的第一特征图处理后,均能得到该第一特征图的处理结果。
115.在本技术实施例中,用于机器任务处理的视觉任务神经网络为以特征图为输入的特征域任务网络,例如本技术设计的神经网络模型的输入可以为解码器解析码流重建得到的特征图,输出为该特征图对应的任务处理结果,如此,相比图像域任务网络,跳过根据重建的特征图得到重建的图像的过程,从而降低了算力;并且,相比于图像,神经网络模型对特征图进行处理的算力也较小。进一步地,本技术设计的该神经网络模型包括多个输入适配分支和后处理部分,多个输入适配分支的输出为后处理部分的输入,多个输入适配分支中的每个输入适配分支可以对特征图进行不同倍率的下采样。对于输入该神经网络模型的不同尺寸(分辨率)的第一特征图,均可以根据该第一特征图的尺寸和后处理部分的输入特征图的上限尺寸从多个输入适配分支中选择其中一个输入适配分支,采用该其中一个输入适配分支对该第一特征图进行下采样处理,生成尺寸不大于后处理部分的输入特征图的上限尺寸的第二特征图,如此,第二特征图满足后处理部分对输入特征图的尺寸要求,将第二特征图输入后处理部分进行后处理,即可得到第一特征图的处理结果;因此,本技术可以在神经网络模型的输入特征图为不同分辨率的情况下,以相近的算力保持高的分析精度。此外,相比于为每种分辨率的输入特征图分别训练一个独立的神经网络模型(每个网络的算力相近),然后通过针对不同分辨率训练的神经网络模型对不同分辨率的特征图进行处理,本技术设计的神经网络模型通过多个输入适配分支即可实现相同的功能,且多个输入适配分支为神经网络模型的主干网络前部,神经网络模型中只有一套后处理部分(主干网络核心部分和头部网络),这样可以显著节省网络参数,在推理时也不需要切换网络模型,减少模型布署的难度。
116.在一种可能的设计中,所述方法还包括:根据训练样本集对所述神经网络模型进行n轮训练,以得到n个第一损失值,所述训练样本集包括至少n种尺寸的样本特征图,所述n不小于所述多个输入适配分支的数量,所述n为整数;根据所述n个第一损失值得到第二损失值;根据所述第二损失值更新所述神经网络模型的参数。
117.示例性的,本技术的训练样本集包括至少n种尺寸的样本特征图,例如训练中每个
批(batch)包含多幅图像的n种不同分辨率的特征图;其中,可以将多幅图像缩放到n个分辨率,然后运行端到端图像编码器,得到每个分辨率下这批图像对应的特征图,从而得到多幅图像的n种不同分辨率的特征图。如此,通过对多个批采用下面4个步骤,迭代地更新网络参数,从而训练得到多输入适配分支的网络参数,前述多个批中的每个批均包含多幅图像的n种不同分辨率的特征图:
118.(1)将每个批分成n轮,每一轮将一种分辨率的特征图输入神经网络模型,执行推理处理,得到这一轮的损失值(loss)。其中,n不小于多个输入适配分支的数量,例如n可以等于多个输入适配分支的数量,n种不同分辨率的特征图中的各个分辨率的特征图被各个不同的输入适配分支处理,以保证各个分支得到较均衡的训练。
119.(2)将上述n轮的损失值求取加权平均,得到总损失值。例如,加权平均时可以对每个输入适配分支对应的损失值使用相同的权重。又例如,可以分析实际应用中特征图尺寸的分布情况,根据特征图尺寸的分布情况设定每个输入适配分支对应的损失值的权重;其中,分布概率越大的输入适配分支,其对应的损失值的权重越大。
120.(3)根据上述总损失值,通过反向传播(backward propagation),计算网络参数的梯度。
121.(4)根据梯度,更新网络参数。
122.在本设计中,用于训练本技术设计的神经网络模型的训练样本集包括至少n种尺寸的样本特征图,且n的取值不小于多个输入适配分支的数量,如此,采用该训练样本集对该神经网络模型进行训练,可以使得该多个输入适配分支中的每个输入适配分支均能得到训练,从而对该神经网络模型进行n轮训练得到的n个第一损失值包括了多个输入适配分支中任一多个输入适配分支对应的第一损失值;根据n个第一损失值得到第二损失值,再根据该第二损失值更新该神经网络模型的参数,这样也更新了多个输入适配分支中任一多个输入适配分支中的参数。
123.图4为本技术实施例提供的一种特征图的处理装置的结构示意图;该特征图的处理装置400应用于电子设备,该特征图的处理装置400包括处理单元401和通信单元402,其中,该处理单元401,用于执行如图3所示的方法实施例中的任一步骤,且在执行诸如获取等数据传输时,可选择的调用该通信单元402来完成相应操作。下面进行详细说明。
124.在一个可能的设计中,所述特征图的处理装置400通过调用神经网络模型实现,所述神经网络模型包括多个输入适配分支和后处理部分,所述多个输入适配分支的输出为所述后处理部分的输入,所述多个输入适配分支用于对特征图进行下采样,所述多个输入适配分支中的每个输入适配分支对特征图的下采样倍率不同;所述处理单元401,用于:将第一特征图输入所述多个输入适配分支中的其中一个输入适配分支,以得到第二特征图,所述其中一个输入适配分支是根据所述第一特征图的尺寸和预设尺寸阈值确定的,所述预设尺寸阈值为所述后处理部分的输入特征图的上限尺寸,所述第二特征图的尺寸不大于所述预设尺寸阈值;将所述第二特征图输入所述后处理部分进行后处理,以得到所述第一特征图的处理结果。
125.在一个可能的设计中,所述多个输入适配分支中对特征图的下采样倍率为整数倍的任一第一输入适配分支包括至少一个第一卷积层,所述至少一个第一卷积层用于对特征图进行下采样,所述至少一个第一卷积层的步长是根据所述任一第一输入适配分支对特征
图的下采样倍率确定的。
126.在一个可能的设计中,所述多个输入适配分支中对特征图的下采样倍率为非整数倍的任一第二输入适配分支包括至少一个上采样模块和至少一个第二卷积层,所述至少一个上采样模块用于对特征图进行上采样,所述至少一个第二卷积层用于对所述上采样得到的特征图进行下采样,所述至少一个上采样模块对特征图的上采样倍率以及所述至少一个第二卷积层的步长是根据所述任一第二输入适配分支对特征图的下采样倍率确定的。
127.在一个可能的设计中,所述多个输入适配分支中对特征图的下采样倍率大于1的任一第三输入适配分支包括至少一个残差块结构(resblock),所述至少一个残差块结构用于对特征图进行下采样,所述至少一个残差块结构包括多个第三卷积层,所述多个第三卷积层中的任一第三卷积层的步长是根据所述任一第三输入适配分支对特征图的下采样倍率确定的。
128.在一个可能的设计中,所述其中一个输入适配分支是根据第一比值和第二比值中的最大值确定的,所述第一比值为所述第一特征图的宽和所述预设尺寸阈值的宽之间的比值,所述第二比值为所述第一特征图的高和所述预设尺寸阈值的高之间的比值。
129.在一个可能的设计中,若所述第二特征图的尺寸大于所述预设尺寸阈值,所述处理单元401还用于:从所述第二特征图中截取得到第三特征图,所述第三特征图的尺寸不大于所述预设尺寸阈值;将所述第三特征图输入所述后处理部分进行后处理,以得到所述第一特征图的处理结果。
130.在一种可能的设计中,所述第一特征图为解码码流得到的特征图。
131.在一个可能的设计中,所述处理单元401还用于:根据训练样本集对所述神经网络模型进行n轮训练,以得到n个第一损失值,所述训练样本集包括至少n种尺寸的样本特征图,所述n不小于所述多个输入适配分支的数量,所述n为整数;根据所述n个第一损失值得到第二损失值;根据所述第二损失值更新所述神经网络模型的参数。
132.其中,该特征图的处理装置400还可以包括存储单元403,用于存储电子设备的程序代码和数据。该处理单元401可以是处理器,该通信单元402可以收发器,该存储单元403可以是存储器。
133.需要说明的是,各个单元的实现还可以对应参照图3所示的方法实施例的相应描述。
134.在图4所描述的特征图的处理装置400中,用于机器任务处理的视觉任务神经网络为以特征图为输入的特征域任务网络,例如本技术设计的神经网络模型的输入可以为解码器解析码流重建得到的特征图,输出为该特征图对应的任务处理结果,如此,相比图像域任务网络,跳过根据重建的特征图得到重建的图像的过程,从而降低了算力;并且,相比于图像,神经网络模型对特征图进行处理的算力也较小。进一步地,本技术设计的该神经网络模型包括多个输入适配分支和后处理部分,多个输入适配分支的输出为后处理部分的输入,多个输入适配分支中的每个输入适配分支可以对特征图进行不同倍率的下采样。对于输入该神经网络模型的不同尺寸(分辨率)的第一特征图,均可以根据该第一特征图的尺寸和后处理部分的输入特征图的上限尺寸从多个输入适配分支中选择其中一个输入适配分支,采用该其中一个输入适配分支对该第一特征图进行下采样处理,生成尺寸不大于后处理部分的输入特征图的上限尺寸的第二特征图,如此,第二特征图满足后处理部分对输入特征图
的尺寸要求,将第二特征图输入后处理部分进行后处理,即可得到第一特征图的处理结果;因此,本技术可以在神经网络模型的输入特征图为不同分辨率的情况下,以相近的算力保持高的分析精度。此外,相比于为每种分辨率的输入特征图分别训练一个独立的神经网络模型(每个网络的算力相近),然后通过针对不同分辨率训练的神经网络模型对不同分辨率的特征图进行处理,本技术设计的神经网络模型通过多个输入适配分支即可实现相同的功能,且多个输入适配分支为神经网络模型的主干网络前部,神经网络模型中只有一套后处理部分(主干网络核心部分和头部网络),这样可以显著节省网络参数,在推理时也不需要切换网络模型,减少模型布署的难度。
135.请参见图5,图5是本技术实施例提供的一种电子设备510的结构示意图,该电子设备510包括处理器511、存储器512和通信接口513,上述处理器511、存储器512和通信接口513通过总线514相互连接。
136.存储器512包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、或便携式只读存储器(compact disc read-only memory,cd-rom),该存储器512用于相关计算机程序及数据。通信接口513用于接收和发送数据。
137.处理器511可以是一个或多个中央处理器(central processing unit,cpu),在处理器511是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。
138.该电子设备510中的处理器511用于读取上述存储器512中存储的计算机程序代码,执行图3所示的方法。
139.需要说明的是,各个操作的实现还可以对应参照图3所示的方法实施例的相应描述。
140.在图5所描述的电子设备510中,用于机器任务处理的视觉任务神经网络为以特征图为输入的特征域任务网络,例如本技术设计的神经网络模型的输入可以为解码器解析码流重建得到的特征图,输出为该特征图对应的任务处理结果,如此,相比图像域任务网络,跳过根据重建的特征图得到重建的图像的过程,从而降低了算力;并且,相比于图像,神经网络模型对特征图进行处理的算力也较小。进一步地,本技术设计的该神经网络模型包括多个输入适配分支和后处理部分,多个输入适配分支的输出为后处理部分的输入,多个输入适配分支中的每个输入适配分支可以对特征图进行不同倍率的下采样。对于输入该神经网络模型的不同尺寸(分辨率)的第一特征图,均可以根据该第一特征图的尺寸和后处理部分的输入特征图的上限尺寸从多个输入适配分支中选择其中一个输入适配分支,采用该其中一个输入适配分支对该第一特征图进行下采样处理,生成尺寸不大于后处理部分的输入特征图的上限尺寸的第二特征图,如此,第二特征图满足后处理部分对输入特征图的尺寸要求,将第二特征图输入后处理部分进行后处理,即可得到第一特征图的处理结果;因此,本技术可以在神经网络模型的输入特征图为不同分辨率的情况下,以相近的算力保持高的分析精度。此外,相比于为每种分辨率的输入特征图分别训练一个独立的神经网络模型(每个网络的算力相近),然后通过针对不同分辨率训练的神经网络模型对不同分辨率的特征图进行处理,本技术设计的神经网络模型通过多个输入适配分支即可实现相同的功能,且多个输入适配分支为神经网络模型的主干网络前部,神经网络模型中只有一套后处理部分(主干网络核心部分和头部网络),这样可以显著节省网络参数,在推理时也不需要切换网
络模型,减少模型布署的难度。
141.本技术实施例还提供一种芯片,上述芯片包括至少一个处理器,存储器和接口电路,上述存储器、上述收发器和上述至少一个处理器通过线路互联,上述至少一个存储器中存储有计算机程序;上述计算机程序被上述处理器执行时,图3所示的方法流程得以实现。
142.本技术实施例还提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,图3所示的方法流程得以实现。
143.本技术实施例还提供一种计算机程序产品,当上述计算机程序产品在计算机上运行时,图3所示的方法流程得以实现。
144.应理解,本技术实施例中提及的处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
145.还应理解,本技术实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
146.需要说明的是,当处理器为通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
147.应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
148.还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本技术的范围。
149.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
150.应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
151.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
152.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
153.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
154.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
155.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
156.上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所示方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
157.本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
158.本技术实施例装置中的模块可以根据实际需要进行合并、划分和删减。
159.以上,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1