确定神经网络的编码器架构的方法与流程

未命名 09-13 阅读:62 评论:0


1.本发明总体上涉及卷积神经网络领域。更具体地说,本发明涉及确定卷积神经网络的共享编码器架构的一种方法,所述卷积神经网络配置用于处理多项不同的图像处理任务。


背景技术:

2.卷积神经网络在解决基于模式的识别任务方面(例如行人检测、车道检测、标志识别等)功能非常强劲。取代为每项任务实施单独的网络,使用共享网络,尤其为多项任务使用共享编码器,这会在性能、计算和/或内存方面提供多项优点。
3.然而,要确定有效处理多项任务的共享编码器架构并非易事。


技术实现要素:

4.本发明实施方式的一个目的是提供一种确定卷积神经网络的编码器架构或结构的方法,所述卷积神经网络配置用于处理多项不同的图像处理任务,其中,编码器结构的计算工作量减少,此外,编码器架构资源效率高并具有高计算效率。
5.该任务通过独立权利要求的特征解决。优选实施方式在从属权利要求中给出。如果没有其他的明确指出,本发明实施方式可彼此自由组合。
6.根据一方面,本发明涉及确定卷积神经网络的编码器架构,尤其是共享编码器架构的一种方法,其中,神经网络配置用于处理多项不同的图像处理任务。更具体地说,神经网络可以是人工神经网络,它包括共享编码器,其中,编码器架构是为处理多项图像处理任务定制的。确定编码器架构后,对神经网络进行训练,以使神经网络能处理图像处理任务。所述方法可以是至少部分由计算机实现的方法。所述方法包括以下步骤:
7.首先,针对每项图像处理任务,计算基于训练数据的特征尺度分布。特征尺度分布指示要提供给特定任务解码器的图像部分大小,以便使特定任务解码器能提供特定任务的信息。
8.此外,还生成多个候选编码器架构。候选编码器架构的每个编码器架构(也被称为编码器结构)包括至少一个共享编码器层,它为多项图像处理任务提供计算操作。此外,每个编码器架构包括跨越一个或多个编码器层的多个分支。每个分支都与特定图像处理任务相关联,并为所述图像处理任务提供至少部分特定任务的计算操作。更具体地说,提供适合于相应图像处理任务的特定计算的任务专用解码器接收与相应图像处理任务相关联的分支的一个或多个编码器层的特征图。
9.此外,还计算多个编码器架构的编码器层的感受野大小。与特定编码器层相关的感受野大小对影响编码器层输出的图像部分具有指示性。感受野大小可通过调查输入图像的图像部分大小进行计算,所述图像部分对特征图的特征有影响,因此对特定编码器层的输出有影响。编码器层的感受野大小例如可基于卷积特性,例如基于内核大小和步幅因子进行计算。
10.随后,计算多个评估度量。评估度量可以是候选编码器架构与特定图像处理任务匹配质量的一项指标。更具体地说,评估度量可表明候选编码器架构的编码器层的感受野大小与特定图像处理任务的特征尺度分布的匹配情况。每个评估度量涉及多个编码器架构中的特定编码器架构和特定图像处理任务的组合。每个评估度量包括关于与评估度量相关的图像处理任务的特征尺度分布与和评估度量相关的编码器架构的编码器层的感受野大小的匹配质量的信息。换句话说,评估度量提供的信息是,与图像处理任务相关的分支编码器层的感受野大小与图像处理任务所确定的特征尺度分布的匹配程度如何。
11.作为一示例,与编码器架构和图像处理任务的组合相关的评估度量可通过对编码器层的感受野大小和特定任务解码器所要求的特征尺度分布的百分位之差的平方求和来进行计算。
12.确定评估度量后,比较计算出的评估度量,并建立比较结果。具体而言,比较结果导致编码器架构,其编码器层的感受野大小与特定图像处理任务的特征尺度分布最佳匹配。
13.最后,基于比较结果选择编码器架构。
14.所述方法是非常有益的,因为可研发共享编码器,它尤其在有限的硬件环境中,减少计算工作量并提高资源效率,为多项图像处理任务提供编码操作。
15.通过考虑基于特定任务属性的最佳感受野,在此公布的本专利申请可为给定的一组图像处理任务分别提出经改进的多任务神经架构以及特定任务的解码器。在其他架构搜索方法方法中,必须将所有可能的架构保存在内存中并进行并行训练,或所有架构都必须在一定程度上进行训练,与这些架构搜索方法相比,本专利申请所提出的方法提供了一种基于静态属性的架构,所述架构可在无需神经网络训练的情况下进行计算。由于可能的架构数量随多任务网络必须解决的任务数量呈指数增长,所提出的架构搜索方法节省了大量时间,使嵌入式硬件的原则架构设计变得可行。
16.所提出的方法可优选用于确定编码器架构,该编码器架构用于由汽车前置摄像装置提供的图像的图像处理任务。在汽车应用领域中,必须同时解决多项任务。因此,在此公布的本专利申请可涉及二维(2d)卷积神经网络。
17.除了诸如对象检测、车道检测和语义分割等最常见的深度学习任务外,所提出方法还可扩展到其他二维(2d)图像处理任务,例如基于单目摄像装置的深度估计、表面法线估计、用于例如人类姿势估计的关键点检测等。
18.除了进一步的二维(2d)图像处理任务外,本发明还可扩展到一维(1d)、三维(3d)甚至更高维数的卷积神经网络:
[0019]-三维(3d)卷积网络的应用范围包括雷达或激光雷达点云处理领域,或可应用于摄像装置的视频馈送;
[0020]-一维(1d)卷积网络在时间序列的处理中很有用,例如用于处理如温度、加速度等其他传感器测量;
[0021]-四维(4d)卷积网络可应用于处理源于雷达或激光雷达传感器的点云序列。
[0022]
根据一示例性实施方式,图像处理任务包括以下任务清单中的一项或多项:对象检测、车道检测、语义分割。
[0023]
根据一示例性实施方式,卷积神经网络,尤其是编码器配置用于和/或专门定制用
于,可在嵌入式硬件,尤其是包括在车辆中的嵌入式计算机模块或片上系统(soc)上处理。这类嵌入式硬件通常包括有限的计算资源。因此,卷积神经网络,尤其是编码器必须针对这类有限的计算资源进行设计,以便在给定的运行时间限制下提供分别为实时或准实时的图像处理结果。运行时间限制可在10毫秒到50毫秒范围内,尤其是10毫秒、15毫秒、20毫秒、25毫秒、30毫秒、35毫秒、40毫秒、45毫秒或50毫秒。
[0024]
根据一实施方式,针对每项图像处理任务,确定一个或多个百分位,其中,所述一个或多个百分位的数值取决于特定任务解码器的接口。特定任务解码器的接口例如可包括一个或多个输入连接。根据特定任务解码器的接口,选择一个或多个百分位的数值,使解码器能接收特定任务解码操作所需的信息(例如,特定图像部分的大小信息)。
[0025]
根据一实施方式,所确定的百分位的数量是根据特定任务解码器所需的输入连接的数量加以选择的。例如,如果特定任务解码器只有一个输入连接,可选择一最大的百分位数值,例如99%的百分位。如果特定任务解码器有多个输入连接(例如2个、3个或更多个),则可选择多个不同的百分位数值(如2个、3个或更多个),以便向解码器提供不同的图像部分大小信息。
[0026]
根据一实施方式,百分位数值分布在一个由最小百分位数值和最大百分位数值限定的百分位范围内。最大百分位数值例如可以是99%的百分位,最小百分位数值例如可以是50%或更低的百分位。如果解码器只提供两个输入连接,可选择最小百分位数值(例如50%)和最大百分位数值(例如99%)。如果解码器提供三个输入连接,可选择最小百分位数值(例如50%),中间百分位数值(例如75%)和最大百分位数值(例如99%)。如果解码器提供四个输入连接,可选择最小百分位数值(例如50%),两个中间百分位数值(例如66%和82%)以及最大百分位数值(例如99%)。由此,可根据解码器输入接口向特定任务解码器提供不同的图像部分大小。
[0027]
根据一实施方式,所述百分位的数值在由最小百分位数值和最大百分位数值限定的百分位范围内平均分布。由此,可向特定任务解码器提供不同图像部分大小的交错信息。
[0028]
根据一实施方式,编码器的特定任务分支的至少一些编码器层包括具有分辨率的特征图,该分辨率与特定任务解码器的输入连接的特征分辨率匹配。由此,可将特定编码器层提供的输出耦合到特定任务解码器的适当分辨率的输入连接。
[0029]
根据一实施方式,确定多个候选编码器架构的步骤包括:从一组构建模块集中选择特定构建模块,特定构建模块适用于神经网络的编码器,并连接选定的构建模块,以获得编码器架构。一组构建模块可根据神经网络应在其上运行的特定计算硬件预先加以定义。更具体地说,可通过考虑嵌入式计算硬件所提供的计算资源预先定义构建模块组。对某些嵌入式硬件而言,这些构建模块非常简单,只包含简单的卷积层、池化操作和激活。对其他嵌入式硬件而言,这些构建模块可以是残差网络(resnet)或黑暗网络(darknet)构建模块,甚至是类似于可微分神经网络结构搜索(darts)等架构搜索方法的单元。通过堆叠这些构建模块,可构建更深的编码器,而且每个构建模块都有可用以调整网络宽度的特定宽度(或通道号)。
[0030]
根据一实施方式,候选编码器架构的编码器架构通过定义运行时间限制(例如以自动或半自动方式)生成,并构建编码器架构,使得在给定硬件条件下,编码器架构在所述运行时间限制的90%至100%的运行时间范围内提供计算结果。例如可根据编码器层(即卷
积层)数量,选择层的宽度(即通道数),以便利用给定的运行时间限制。
[0031]
根据一实施方式,计算多个评估度量的步骤包括:将与特定任务解码器的分辨率相匹配的编码器层的感受野大小与所确定的百分位数值进行比较,并确定感受范围大小与百分位数值之间的距离。因此,如果感受野大小的数值为x,百分位数值为y,则评估度量的计算包括计算x和y之间的差异。
[0032]
根据一实施方式,尤其是如果特定任务解码器包括多个输入连接,计算多个评估度量的步骤包括:将与特定任务解码器的分辨率相匹配的编码器层的多个感受野大小与多个所确定百分位数值加以比较,并且确定感受野大小与百分位数值之间的距离之和。在此,可考虑多个感受野大小/百分位数值对之间的总体距离,用于评估编码器架构。
[0033]
根据一实施方式,计算多个评估度量的步骤使用具有最小绝对偏差距离度量的损失函数,即,l1距离度量或余弦距离度量。
[0034]
根据一实施方式,计算多个评估度量的步骤使用具有惩罚因子的损失函数,其中,惩罚因子适用于随着编码器架构的多项图像处理任务之间的共享层的数量的减少而增加评估度量。因此,具有较多共享层数的编码器架构比具有较少共享层数的编码器架构更有优势,因为较多的共享层数提高了计算效率。
[0035]
根据一实施方式,对计算得出的评估度量进行比较并建立比较结果的步骤包括:为每项图像处理任务确定具有最低评估度量的编码器架构。由此,可基于图像处理任务属性和神经网络架构的编码器/解码器属性确定用于处理多项图像处理任务的改进型编码器架构,这些属性无需训练相关神经网络架构即可获取。由此,可在减少计算工作量的情况下找到改进的编码器架构。
[0036]
根据一实施方式,基于比较结果选择编码器架构的步骤包括:针对每项图像处理任务选择具有最低评估度量的编码器架构。例如,通过以下方式组合所选择的编码器架构:共享具有相同属性(例如,编码器层宽度)的编码器层,并且如果编码器层具有不同的编码器层属性,则将编码器分支到不同的编码器分支中。
[0037]
根据另一方面,本发明涉及一种用于确定编码器架构的计算机程序产品。所述计算机程序产品包括含有程序指令的计算机可读存储介质,其中,该程序指令可由处理器执行,以使处理器执行根据上述权利要求中任一权利要求所述的方法。
[0038]
在本发明中使用的术语“车辆”可指汽车、卡车、巴士、有轨车辆或任意其他交通工具。
[0039]
在此公布的本专利申请中使用的术语“特征尺度”可指为了识别图像中特定任务的细节,由特定任务解码器接收的像素或图像部分的数量。因此,“特征尺度”在很大程度上取决于特定的图像处理任务。
[0040]
在此公布的本专利申请中使用的术语“感受野”可指提供给编码器的输入的图像像素集,其中,所述像素集影响到所述编码器层的特征图中的特定神经元(也称为特征)。换句话说,感受野是指对特征图的特征有影响的图像部分,并且由此影响特定编码器层的输出。
[0041]
在此公布的本专利申请中使用的术语“感受野大小”可指特定编码器层所接收的多个像素或图像部分的大小。感受野可以是矩形,其中,矩形的长度和高度是感受野大小。由于编码器层的级联,第一编码器层的感受野大小小于隐藏编码器层的感受野大小。
[0042]
在此公布的本专利申请中使用的术语“特定任务解码器”可指配置用于为单一图像处理任务提供解码操作的解码器,即每项图像处理任务包括其自身的特定任务解码器。
[0043]
在此公布的专利申请中使用的术语“特征图”可指由特定编码器层提供的一组特征,这些特征可被传输到特定任务的解码器。所述特征图可包括特定分辨率。特征图的分辨率必须与特定任务解码器所要求的分辨率相匹配,以使特定任务解码器能处理特征图。
[0044]
在此公布的专利申请中使用的术语“百分位”可指一个数,在其频率分布中,给定百分比的数落在该数处或低于该数。
[0045]
术语“图像处理任务”可指应用于由摄像装置提供的图像或视频的任何任务。此外,术语“图像处理任务”也可指应用于由例如雷达、激光雷达等其他传感器提供的信息的任务。
[0046]
本发明中使用的术语“基本上”或“大约”是指与精确值偏差+/-10%,优选+/-5%和/或对功能和/或对交通规则不重要的变化形式的偏差。
附图说明
[0047]
从以下详细描述和附图中更容易理解本发明的不同观点,包括其特定特征和优点,其中:
[0048]
图1示出了由共享编码器和多个特定任务解码器构成的神经网络示意图;
[0049]
图2示意性示出了共享编码器的结构示例,所述共享编码器包括共享层和用于执行特定任务计算操作的多个分支;
[0050]
图3示意性示出了第一任务和第二任务的以及它们第50百分位或第99百分位的特征尺度分布;
[0051]
图4示意性示出了第一任务和第三任务的以及它们第50百分位或第90百分位的特征尺度分布;
[0052]
图5示出了第一任务和第二任务的特征尺度分布的第50百分位、第60百分位、第80百分位以及第99百分位的数值表。
[0053]
图6示出了具有不同长度、编码层宽度和编码层感受野的多个编码器架构;
[0054]
图7示出了评估度量的计算,该评估度量指示根据图6的架构a与根据图5的图像处理任务t1的匹配质量;
[0055]
图8示出了评估度量的计算,该评估度量指示根据图6的架构a与根据图5的图像处理任务t2的匹配质量;
[0056]
图9示出了评估度量的计算,该评估度量指示根据图6的架构c与根据图5的图像处理任务t1的匹配质量;
[0057]
图10示出了评估度量的计算,该评估度量指示根据图6的架构c与根据图5的图像处理任务t2的匹配质量;
[0058]
图11示出了根据图5至图10的示例的结果编码器结构;以及
[0059]
图12示出了确定卷积神经网络的共享编码器架构的方法的步骤示意框图。
具体实施方式
[0060]
现参照展示示例性实施方式的附图对本发明进行更详细的描述。附图中的实施方
式涉及优选实施方式,同时,结合实施方式描述的所有要素和特征可尽可能与本文讨论的任何其他实施方式和特征结合使用,尤其是与上面进一步讨论的任何其他实施方式相关联。然而,本发明不应被解释为只限于这里所述的实施方式。在后面所有描述中,如果适用的话,相似的参考号表示相似的要素、部分、项目或特征。
[0061]
在说明、权利要求、实施例和/或附图中公布的本发明特征既可单独,也可任意组合成各种形式用于实现本发明。
[0062]
图1展示神经网络1的示意框图。神经网络1包括编码器2。编码器2配置用于处理多项图像处理任务,在所示实施方式中,处理的是图像处理任务t1、t2、t3。编码器2向多个特定任务解码器3.1、3.2、3.3提供信息。每个特定任务解码器3.1、3.2、3.3提供与一特定图像处理任务t1、t2、t3相关的输出信息。
[0063]
图2展示编码器2的编码器架构示例的示意框图。编码器2包括l1到l5多个层。在所示实施方式中,层l1是一共享层,它为所有图像处理任务t1、t2、t3提供计算操作。从共享层l1开始,编码器2包括b1、b2、b3多个分支。每个分支b1、b2、b3都与一特定图像处理任务t1、t2、t3相关联。更具体地说,编码器架构在每个分支中提供专为各相应图像处理任务t1、t2、t3配置的功能模块。因此,进一步的层l2至l5至少部分为图像处理任务t1、t2、t3提供不同的计算操作,以提供特定任务的计算结果。
[0064]
如图2所示,任务的子集可以共享一个层的功能模块。例如,l2层中的分支b1和b2使用相同的功能模块,而分支b3则使用层2中的另一功能模块。
[0065]
此外,各分支可包括不同长度,即各分支可跨越不同层数。
[0066]
下文中,提供确定编码器架构方法的示例性实施方式,所述方法包括经优化的分支,为处理多项图像处理任务t1、t2、t3提供经改进的计算资源。
[0067]
图3展示两项不同任务t1、t2的特征尺度分布。特征尺度分布说明在特定图像处理任务t1、t2中要检测对象的尺寸分布。因此,即使在考虑到相同输入图像信息情况下,任务特征尺度分布也会有很大区别。
[0068]
任务t1、t2的特征尺度分布包括明显的重叠,即图像处理任务t1、t2所要求的对象尺寸是相似的并且因此特定任务解码器所需对象尺寸是相似的,即,任务t1、t2的编码器可共享多层。
[0069]
与此相反,图4中所示任务t1、t3的特征尺度分布包括较低的重叠度,即图像处理任务t1、t3所要求的对象尺寸具有相当大的区别并且因此特定任务解码器所需对象尺寸具有相当大的区别。因此,与图3的示例相比,任务t1、t3的编码器可共享的层数较少,即需要更早进行分支。
[0070]
为确定经改进的编码器架构,每项图像处理任务都要单独分析,以确定每项图像处理任务的特征尺度分布。
[0071]
下文中将描述确定一些驾驶辅助系统中常见图像处理任务的特征尺度分布的不同算法:
[0072]
第一图像处理任务可以是对象检测。对象检测是一项深度学习任务,它对紧急制动辅助(交通参与者检测)、标志识别和交通信号识别等辅助功能至关重要。对象检测解码器通常接收多个不同编码器层的输入。所述不同编码器层具有不断增加的感受野大小。
[0073]
为确定特定对象检测任务的特征尺度分布,要确定覆盖各相应对象的训练数据的
框尺寸分布。编码器感受野优选应与框尺寸分布相匹配,以使感受野大小覆盖特征尺度分布的中值以及合理的最大尺寸,如特征尺度分布的第99百分位。对象检测的训练数据可选择为:用不同尺寸和/或从不同角度包括与对象检测相关的项目,以达到模拟真实汽车检测场景的目的。
[0074]
值得一提的是,不同驾驶功能的框尺寸分布有很大区别。例如,对一特定摄像装置,车辆和行人的框尺寸一般大于交通标志或交通信号的框尺寸,所以它们分布的中位和第99百分位有明显区别。
[0075]
第二图像处理任务可以是车道检测。车道和道路边缘检测对车道偏离警告和车道保持辅助系统至关重要。配置用于处理车道检测任务的特定任务解码器分为两大类,它们分别是基于点的解决方案和基于线/锚框的解决方案。这两类解决方案的特征尺度分布有很大区别。
[0076]
对基于点的方法而言,特征尺度可由两个关键点之间的距离决定:该距离分布可基于训练数据集计算。对基于线或锚框的解决方案而言,特征尺度应基于车道的全长确定:在此情况下,也可基于训练数据集确定分布。对只连接到一个编码器层的特定任务解码器而言,感受野大小应与特征尺度分布的第99个百分位相匹配。对连接到多个编码器层的特定任务解码器而言,编码器层的感受野大小应与特征尺度分布的中值以及如特征尺度分布的第99百分位的合理的最大尺寸相匹配。
[0077]
车道检测的训练数据的选择方法可以是,以不同尺寸和/或从不同角度包括车道边界和/或道路边界(车道标记、路缘石、道路边缘等),从而达到模拟真实汽车检测场景的目的。
[0078]
第三图像处理任务可是语义分割任务。语义分割例如用于自由空间估计和例如泊车辅助功能的低速机动操控功能。在语义分割中,图像的每个像素都被归类为道路、车辆、行人、植被,等等。为确定语义分割的特征尺度,可根据训练数据确定对象掩模大小或背景掩模大小的分布。由于语义分割包含诸如“道路”、“建筑”和“天空”这样的大类,最大感受野尺寸可覆盖整个图像。
[0079]
语义分割训练数据的选择方法可以是,以不同尺寸和/或从不同角度包括上述与语义分割有关的项目,从而达到模拟真实汽车检测场景的目的。
[0080]
确定图像处理任务的特征尺度分布后,必须基于特定任务解码器3.1、3.2、3.3的接口确定相关百分位。例如,如果特定任务解码器在一层连接到具有特定特征图分辨率的编码器2,则应考虑例如第99个百分位的最大对象尺寸。如果特定任务解码器接收来自两层、三层或四层的输入,则相关百分位例如可在中位(第50个百分位)和第99个百分位之间选择。例如,如果特定任务解码器在两个不同的层连接到编码器2,则可选择第50个百分位和第99个百分位。如果特定任务解码器在三个不同层连接到编码器2,则可选择第50个、第75个和第99个百分位。如果特定任务解码器在四个不同层连接到编码器2,则可选择第50个、第66个、第82个和第99个百分位,等等。
[0081]
如果定义了四个以上的输入层,或需要检测较小的对象,也可对小于第50个百分位的百分位加以考虑。
[0082]
计算了所有任务的特征尺度分布和相关百分位后,下一步骤是确定可能的编码器架构和相应编码器层的感受野大小。
[0083]
具体而言,在汽车应用中,计算资源非常有限。因此,技术上可行的编码器架构在很大程度上取决于具体的计算硬件及其限制。
[0084]
最常见的限制是,任何可行的编码器架构必须符合特定运行时间预算,也就是说,有一极为严格的运行时间上限。通常情况下,如果一神经网络的复杂性和/或运行时间减少,其性能也会下降。因此,在确定可能的编码器架构集时,目标是找到多个或所有可行的编码器架构,这些架构用90%到100%的预定运行时间加以限制。换句话说,可行的候选编码器架构应尽可能耗尽预定运行时间限制,以实现神经网络的高性能。
[0085]
在考虑预定运行时间限制的情况下,使用多个构建模块自动或半自动地构建可行的候选编码器架构。对计算硬件,尤其是嵌入式硬件,另一限制是特定神经网络层的可用性。许多soc(soc:片上系统)只支持多个层中的一小部分,并且可用层的列表因具体硬件的不同而有很大区别。因此,根据具体硬件,预先定义一组编码器的构建模块。根据硬件不同,这些构建模块可以是极其简单的(例如只包含简单的卷积层、池化操作和激活),或这些构建模块可更复杂,例如残差网络(resnet)或黑暗网络(darknet)构建模块,甚至例如微分神经网络结构搜索(darts)的架构搜索方法单元。
[0086]
确定了取决于给定硬件的构建模块后,这些构建模块可被堆叠,以构建更深的编码器。每个模块都有一特定的模块宽度(也被称为通道号)。基于模块宽度,可对网络宽度加以调整。每个构建模块的运行时间取决于其宽度和输入大小。以此方式可计算出目标硬件上特定模块的运行时间。因此,定义了编码器构建模块后,可自动或半自动地确定一组架构,使其符合可接受运行时间限制的狭窄范围。
[0087]
值得一提的是,可对保持分辨率的卷积层数量加以调整,以微调感受野大小。由于编码器被设计为在有限的计算硬件,尤其是嵌入式硬件上运行,当卷积层数量增加时,应减少通道数量(也被称为编码器层的宽度),以满足上述运行时间预算。此外,多任务编码器分支的选择方式是,两个任务的分支点应设置为最新层,因为最节省资源的编码器方案是共享尽可能多的层。
[0088]
确定各相应编码器层中具有特定感受野或各相应编码器层中具有特定分支感受野的多个可行编码器架构后,评估各相应编码器架构的编码器层感受野相对于所确定的相应的特定任务解码器的百分位的匹配质量。
[0089]
特征尺度分布和可能的感受野的匹配评估可通过搜索编码器架构完成,该架构在所确定的特定任务特征尺度分布的百分位和编码器层的感受野大小之间的偏差最小。具有最小偏差的编码器架构可通过搜索包含最小损失函数值的编码器架构加以确定。这类损失函数的一示例是由任务特定特征尺度分布所定义的相关百分位和每个候选架构感受野大小之间的简单平均平方误差。
[0090]
损失函数可用不同的距离度量实现。例如,可用l1(最小绝对偏差)或余弦距离作为距离度量。
[0091]
作为选项,损失函数可包含一惩罚因子,如果一编码器架构的共享层数量减少,则损失值增加。以此方式,损失函数通过在多项图像处理任务之间共享编码器层来实现资源节约。
[0092]
下文中,基于参考图5至图11的示例,描述了用于确定卷积神经网络的编码器架构的所公布的方法。
[0093]
图5示出了与两个不同图像处理任务,即任务t1和任务t2相关的多个特征尺度值。上述任务具有不同的特征尺度分布。因此,与各相应特征尺度分布的第50个、第60个、第80个和第99个百分位相关的像素尺寸对任务t1、t2是不同的。
[0094]
配置用于分别处理任务t1、任务t2的特定任务解码器可能需要四个输入连接,即每个特定任务解码器与编码器的四个不同的编码器层相连接。每个特定任务解码器的所述四个输入连接具有不同的分辨率。所述分辨率由不同单元格阴影表示,分别为表格的列。因此,每个特定任务解码器必须连接到提供所需分辨率的编码器层。
[0095]
图6展示编码器架构搜索的结果示例。如上所述,架构搜索是基于每个可行的候选编码器架构满足运行时间限制要求这一关键因素执行的,例如满足给定硬件的运行时间上限的90%或更多,目的是达到神经网络的高性能。
[0096]
每个编码器架构的每个圈表示一编码器层,其中,最左边的第一圈可表示一层或多层。但是,当比较图5表中单元格阴影和图6中的圈时,不需要最左边的第一个编码器层,因为编码器层的分辨率与特定任务解码器所需分辨率不匹配。
[0097]
圈内表示编码器层的数字给出编码器层的宽度。值得一提的是,随着编码器长度的增加(即编码器层数的增加),编码器层的宽度必须减少,以满足运行时间限制的要求。
[0098]
每个编码器层都包括一特定感受野。每个编码器层的感受野由表示各相应编码器层的圈下面的数字给出。编码器层的感受野随编码器的深度增加,即设置在更大深度的编码器层与设置在较小深度的编码器层相比,包括更大的感受野。
[0099]
基于图7至图10的表格描述计算评估度量的方法步骤,以对编码器架构的匹配质量加以评估,以处理一特定任务。更具体地说,检查图6所示编码器架构a或c是否更适合于图5的任务t1或任务t2。针对每项任务都进行特征尺度分布的比较,尤其是特征尺度分布的确定的百分位和与所需解码器分辨率匹配的编码器层的感受野数值的比较。
[0100]
图5中,特定任务解码器的第一输入连接例如包括特征尺度的像素尺寸110。与特定任务解码器的第一输入连接的分辨率相匹配的编码器层感受野的像素尺寸包括数值122。因此,差值为12。
[0101]
为确定编码器架构a与图像处理任务t1的匹配情况,在本实施方式中,计算特定任务解码器的各相应输入连接的特征尺度的像素尺寸与匹配的编码器层的感受野的像素尺寸之间的平均平方误差。
[0102]
如图7所示,任务特定解码器的各相应输入连接的特征尺度像素大小与匹配的编码器层的感受野像素大小的差值之和为182。该值表示一种评估度量(在本实施方式中称为损失总和),可用于评估哪种编码器架构最适合各相应任务,因此至少应作为编码器中的特定任务分支。
[0103]
图9展示根据图6所述的编码器架构c与根据图5所述图像处理任务t1的匹配评估。当比较评估度量或损失总和时,可确定,编码器架构a与图像处理任务t1的匹配度比编码器架构c更好,因为评估度量或损失总和更小。
[0104]
图8和图10示出了图6的编码器架构a和c与根据图5的图像处理任务t2的匹配情况的类似评估。当比较评估度量或损失总和时,可确定,编码器架构c与图像处理任务t2的匹配度比编码器架构a更好,因为评估度量或损失总和更小。
[0105]
如图9和图10所示,如果存在多个提供相同分辨率的编码器层,而所述分辨率是特
定任务的解码器所要求的,则可通过比较每个编码器层的感受野与各相应任务的特征尺度的所确定的百分位来确定哪个编码器层应连接到特定任务的解码器,并选择提供最接近所确定的百分位的感受野的编码器层。
[0106]
图11示出了所产生的共享编码器的架构,所述编码器配置用于,根据匹配评估的结果和共享编码器与特定任务解码器的耦合来处理图像处理任务t1和t2。编码器包括一个或多个共享编码器层,共享编码器层为图像处理任务t1、t2以及两个分支提供计算操作,其中,每个分支为一特定任务提供特定任务的计算操作。图11中,左分支与任务t1相关,即所述左分支的一个或多个编码器层向特定任务解码器提供信息,该解码器配置用于图像处理任务t1。与此类似,右分支与任务t2相关联,即所述右分支的一个或多个编码器层向特定任务解码器提供信息,该解码器配置用于图像处理任务t2。
[0107]
图12示出了一流程图,它说明确定卷积神经网络的编码器架构的方法步骤。
[0108]
首先,针对每个图像处理任务,基于训练数据计算特征尺度分布(s10)。
[0109]
此外,确定多个候选编码器架构(s11)。所述多个候选编码器架构的每个编码器架构包括至少一共享编码器层,该共享编码器层为多项图像处理任务提供计算操作,以及跨越一个或多个编码器层的多个分支。所述分支为所述图像处理任务提供至少部分不同的计算操作。每个分支都与一特定图像处理任务相关联。
[0110]
确定可行的候选编码器架构后,计算编码器架构的编码器层的感受野大小(s12)。
[0111]
此外,还计算多个评估度量(s13)。每个评估度量涉及所述多个编码器架构中的一特定编码器架构和一特定图像处理任务的组合。每个评估度量包括关于与评估度量相关的图像处理任务的特征尺度分布和与评估度量相关的编码器架构的编码器层的感受野大小的匹配质量信息。
[0112]
下一步骤,对计算出的评估度量进行比较,并确定比较结果(s14)。
[0113]
最后,基于比较结果选择编码器架构(s15)。
[0114]
应注意的是,描述和附图仅说明所提出本发明的原理。本领域的技术人员能实施在此没有明确描述或展示,但体现本发明原理的各种设置。
[0115]
附图标记列表
[0116]
1神经网络
[0117]
2编码器
[0118]
3.1、3.2、3.3特定任务解码器
[0119]
b1、b2、b3分支
[0120]
l1至l5编码器层
[0121]
t1、t2、t3图像处理任务
[0122]
sl共享编码器层

技术特征:
1.确定卷积神经网络(1)的编码器(2)架构的方法,其中,神经网络(1)配置用于处理多项不同的图像处理任务(t1、t2、t3),所述方法包括以下步骤:-针对每个图像处理任务(t1、t2、t3),基于训练数据计算特征尺度分布,其中,所述特征尺度分布指示由各图像处理任务检测的对象的尺寸分布(s10);-生成多个候选编码器架构,其中,多个候选编码器架构中的每个编码器架构包括为多项图像处理任务提供计算操作的至少一个共享编码器层(sl)以及为所述多项图像处理任务提供至少部分不同的计算操作的跨越一个或多个编码器层的多个分支(b1、b2、b3),其中,每个分支(b1、b2、b3)与特定图像处理任务(t1、t2、t3)相关联(s11);-计算多个编码器架构的编码器层的感受野大小(s12);-计算多个评估度量,其中,每个评估度量涉及多个编码器架构中的特定编码器架构和特定图像处理任务(t1、t2、t3)的组合,其中,每个评估度量包括关于与评估度量相关联的图像处理任务(t1、t2、t3)的特征尺度分布和与评估度量相关联的编码器架构的编码器层的感受野大小的匹配质量的信息(s13);-比较计算得出的评估度量,并建立比较结果(s14);以及-基于比较结果选择编码器结构(s15)。2.根据权利要求1所述的方法,其中,针对每个图像处理任务(t1、t2、t3)的特征尺度分布,确定一个或多个百分位,其中,所述一个或多个百分位的数值取决于特定任务解码器的接口(3.1、3.2、3.3)。3.根据权利要求2所述的方法,其中,根据特定任务解码器(3.1、3.2、3.3)所需的输入连接的数量来选择所确定的百分位的数量。4.根据权利要求2或3所述的方法,其中,所述百分位的数值分布在由最小百分位数值和最大百分位数值限定的百分位范围内。5.根据权利要求4所述的方法,其中,所述百分位的数值在所述百分位范围内平均分布。6.根据上述权利要求中任一权利要求所述的方法,其中,编码器(2)的特定任务分支(b1、b2、b3)的至少一些编码器层包括特征图,所述特征图的分辨率与特定任务解码器(3.1、3.2、3.3)的输入连接的特征分辨率匹配。7.根据上述权利要求中任一权利要求所述的方法,其中,生成多个候选编码器架构的步骤包括:从一组构建模块中选择适用于的神经网络(1)的编码器(2)的构建模块,并连接选定的构建模块以获得编码器架构。8.根据上述权利要求中任一权利要求所述的方法,其中,通过定义运行时间限制来确定所述候选编码器架构的编码器架构,并且构建编码器架构以便在给定硬件情况下,编码器架构在所述运行时间限制的90%至100%的运行时间范围内提供计算结果。9.根据上述权利要求中任一权利要求所述的方法,其中,计算多个评估度量的步骤包括:将与特定任务解码器(3.1、3.2、3.3)的分辨率相匹配的编码器层的感受野大小与所确定的百分位数值进行比较,并确定所述感受野大小与所述百分位数值之间的距离。10.根据权利要求1到8中任一权利要求所述的方法,其中,计算多个评估度量的步骤包括:将与特定任务解码器(3.1、3.2、3.3)的分辨率相匹配的编码器层的多个感受野大小与多个所确定的百分位数值进行比较,并确定感受野大小与百分位数值之间的距离之和。
11.根据上述权利要求中任一权利要求所述的方法,其中,计算多个评估度量的步骤利用具有最小绝对偏差距离度量的损失函数,即,l1距离度量或余弦距离度量。12.根据上述权利要求中任一权利要求所述的方法,其中,计算多个评估度量的步骤利用具有惩罚因子的损失函数,其中,所述惩罚因子适用于随编码器架构的多个图像处理任务(t1、t2、t3)之间的共享层数的减少而增加评估度量。13.根据上述权利要求中任一权利要求所述的方法,其中,比较计算的评估度量并建立比较结果的步骤包括:为每项图像处理任务(t1、t2、t3)确定具有最低评估度量的编码器架构。14.根据上述权利要求中任一权利要求所述的方法,其中,基于比较结果选择编码器架构的步骤包括:为每项图像处理任务(t1、t2、t3)选择具有最低评估度量的编码器架构。15.用于确定卷积神经网络的编码器架构的计算机程序产品,其中,所述计算机程序产品包括含有程序指令的计算机可读存储介质,其中,所述程序指令可由处理器执行,以使所述处理器执行根据上述权利要求中任一权利要求所述的方法。

技术总结
本发明涉及确定卷积神经网络(1)的编码器(2)架构的一种方法,其中,神经网络(1)配置用于处理多项不同的图像处理任务(t1、t2、t3),其中,所述方法包括以下步骤:-针对每项图像处理任务(t1、t2、t3)),基于训练数据计算特征尺度分布(S10);-生成多个候选编码器架构,其中,多个候选编码器架构的每个编码器架构包括为多项图像处理任务提供计算操作的至少一个共享编码器层(SL),每个编码器架构还包括跨越一个或多个编码器层的多个分支(b1、b2、b3),它为所述图像处理任务提供至少部分不同的计算操作,其中,每个分支(b1、b2、b3)与特定图像处理任务(t1、t2、t3)相关联(S11);-计算多个编码器架构的编码器层的感受野大小(S12);-计算多个评估度量,其中,每个评估度量涉及所述多个编码器架构中的特定编码器架构和特定图像处理任务(t1、t2、t3)的组合,其中,每个评估度量包括关于与评估度量相关联的图像处理任务(t1、t2、t3)的特征尺度分布和与评估度量相关联的编码器架构的编码器层的感受野大小的匹配质量信息(S13);-比较计算得出的评估措施,并建立比较结果(S14);以及,-基于比较结果选择编码器结构(S15)。结构(S15)。结构(S15)。


技术研发人员:D
受保护的技术使用者:大陆智行德国有限公司
技术研发日:2022.01.24
技术公布日:2023/9/9
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐