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

用于实例分割的方法、装置、设备和存储介质与流程

2022-09-04 09:04:03 来源:中国专利 TAG:


1.本公开的示例实施例总体涉及计算机视觉领域,特别地涉及用于实例分割的方法、装置、设备和计算机可读存储介质。


背景技术:

2.在计算机视觉处理任务中,图像的实例分割指的是将在图像中检测到的对象实例进行像素级别分离。实例分割可以在对象检测基础上执行,即,在检测出图像中的对象实例后,还将对象实例的像素标识出来。图像的实例分割在视频监控、自动驾驶、图像创作、工业质检等诸多场景下均有应用。


技术实现要素:

3.在本公开的第一方面,提供了一种实例分割的方法。该方法包括:利用基于偏移窗口的自注意力机制,从目标图像提取特征图;基于特征图确定针对目标图像的多个候选掩码,候选掩码用于从目标图像分割出候选对象实例;基于特征图和多个候选掩码确定多个候选掩码对应的多个掩码置信度得分;以及至少基于多个掩码置信度得分确定针对目标图像的至少一个目标掩码,目标掩码用于从目标图像分割出目标对象实例。
4.在本公开的第二方面,提供了一种用于实例分割的装置。该装置包括:特征提取模块,被配置为利用基于偏移窗口的自注意力机制,从目标图像提取特征图;候选掩码确定模块,被配置为基于特征图确定针对目标图像的多个候选掩码,候选掩码用于从目标图像分割出候选对象实例;掩码置信度确定模块,被配置为基于特征图和多个候选掩码确定多个候选掩码对应的多个掩码置信度得分;以及目标掩码确定模块,被配置为至少基于多个掩码置信度得分确定针对目标图像的至少一个目标掩码,目标掩码用于从目标图像分割出目标对象实例。
5.在本公开的第三方面,提供了一种电子设备。该设备包括:至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行第一方面的方法。
6.在本公开的第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面的方法。
7.应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
8.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
9.图1示出了能够在其中实现本公开的实施例的示例环境的示意图;
10.图2示出了根据本公开的一些实施例的实例分割模型的示例结构的框图;
11.图3示出了根据本公开的一些实施例的骨干网络的部分网络层处的自注意力机制的示意图;
12.图4示出了根据本公开的一些实施例的针对目标图像的示例候选边界框;
13.图5示出了根据本公开的一些实施例的基于模型组合的示例架构的框图;
14.图6示出了根据本公开的一些实施例的模型训练和应用架构的框图;
15.图7示出了根据本公开的一些实施例的实例分割的过程的流程图;
16.图8示出了根据本公开的一些实施例的用于实例分割的装置的框图;以及
17.图9示出了其中可以实施本公开的一个或多个实施例的电子设备的框图。
具体实施方式
18.下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
19.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。
20.可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获得或使用)应当遵循相应法律法规及相关规定的要求。
21.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
22.例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获得和使用到用户的个人信息,从而使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
23.作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
24.可以理解的是,上述通知和获得用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
25.如本文中所使用的,术语“模型”可以从训练数据中学习到相应的输入与输出之间的关联关系,从而在训练完成后可以针对给定的输入,生成对应的输出。模型的生成可以基于机器学习技术。深度学习是一种机器学习算法,通过使用多层处理单元来处理输入和提供相应输出。神经网络模型是基于深度学习的模型的一个示例。在本文中,“模型”也可以被称为“机器学习模型”、“学习模型”、“机器学习网络”或“学习网络”,这些术语在本文中可互
换地使用。
[0026]“神经网络”是一种基于深度学习的机器学习网络。神经网络能够处理输入并且提供相应输出,其通常包括输入层和输出层以及在输入层与输出层之间的一个或多个隐藏层。在深度学习应用中使用的神经网络通常包括许多隐藏层,从而增加网络的深度。神经网络的各个层按顺序相连,从而前一层的输出被提供作为后一层的输入,其中输入层接收神经网络的输入,而输出层的输出作为神经网络的最终输出。神经网络的每个层包括一个或多个节点(也称为处理节点或神经元),每个节点处理来自上一层的输入。
[0027]
通常,机器学习大致可以包括三个阶段,即训练阶段、测试阶段和应用阶段(也称为推理阶段)。在训练阶段,给定的模型可以使用大量的训练数据进行训练,不断迭代更新参数值,直到模型能够从训练数据中获得一致的满足预期目标的推理。通过训练,模型可以被认为能够从训练数据中学习从输入到输出之间的关联(也称为输入到输出的映射)。训练后的模型的参数值被确定。在测试阶段,将测试输入应用到训练后的模型,测试模型是否能够提供正确的输出,从而确定模型的性能。在应用阶段,模型可以被用于基于训练得到的参数值,对实际的输入进行处理,确定对应的输出。
[0028]
图1示出了能够在其中实现本公开的实施例的示例环境100的示意图。在环境100中,实例分割系统110被配置为实现对输入的目标图像105执行实例分割。实例分割指的是将在图像中检测到的对象实例进行像素级别分离。例如,针对目标图像105中检测到的任一对象实例,生成对应的掩码(mask),其指示目标图像105中的哪些像素属于该对象实例,哪些像素不属于该对象实例。在一些示例中,可以生成二值化掩码,其可以将目标图像105中属于特定对象实例的像素标注为1、并将不属于特定对象实例的像素标注为0,或者反之。
[0029]
如图1所示,实例分割系统110可以生成实例分割后的图像125,其中不同类别的人的像素分别被标注。
[0030]
在一些实施例中,实例分割过程还可以涉及对象检测,或者还可以涉及对象分类。对象检测是从目标图像105中检测出感兴趣的对象实例。对象分类指的是将检测到的对象实例进行分类。例如,图1中实例分割后的图像125还标识有所分割的每个对象实例的类别,即“正常行人”、“带拐杖的人”和“坐轮椅的人”。注意,这里的类别仅是示例,在一些实施例中,对象实例还可以按更细的类别划分,例如划分为“人”、“轮椅”和“拐杖”等。在一些情况下,目标图像105中可能具有属于同一类别的多个对象实例,并且实例分割的过程要将每个对象实例进行分离。
[0031]
在一些实施例中,实例分割系统110可以利用实例分割模型120来执行对目标图像105的实例分割。实例分割模型120例如可以是基于机器学习或深度学习技术配置和训练得到的模型。
[0032]
已经提出了一些基于机器学习的模型用于自动的图像实例分割。这些模型大多数依赖于在图像处理任务中比较常见的卷积神经网络(cnn)架构来实现。然而,这些模型在实例分割方面的性能,包括分割的准确度等方面仍有待提高。
[0033]
在一些实例分割场景中,可能会涉及到针对某些特殊对象的实例分割,这些对象在不同的图像捕获情况下可能会在图像中给出诸多分割难点,从而导致实例分割结果不够准确。例如,有些图像中可能会包含残障人士,而残障人士通常会携带辅助工具,例如视力损伤人士会携带拐杖,行动障碍人士会乘坐轮椅,等等。这类人士的准确检测和分割在很多
应用中是非常有意义的。例如,在自动驾驶应用中,如果在交通场景中发现残障人士,可能需要基于此来执行特殊的策略。然而,残障人士的实例分割面临的一些问题在于,需要准确检测出人与辅助设施的交互,但辅助设施却又比较容易被遮挡,从而造成不准确的分割或对象分类等。除了涉及残障人士的图像实例分割之外,在其他场景中可能也存在类似的问题,特别是在存在较小的对象、或者对象遮挡较严重的情况。
[0034]
因此,期望能够提供改进的实例分割方案,能够在各种场景下,包括在遮挡严重或对象尺寸较小时,均获得准确的实例分割结果。
[0035]
在本公开的示例实施例中,提供了一种改进的实例分割方案。根据该方案,利用基于偏移窗口的自注意力机制,从目标图像提取特征图。基于所提取的特征图,确定针对目标图像的多个候选掩码。基于所提取的特征图和多个候选掩码确定多个候选掩码对应的多个掩码置信度得分。至少基于多个掩码置信度得分确定针对目标图像的至少一个目标掩码,以用于从目标图像分割出目标对象实例。根据本公开的实施例,通过利用基于偏移窗口的自注意力机制,使得可以提取到目标图像中关于不同尺寸的对象的特征信息。此外,通过衡量候选掩码的置信度得分,可以获得更准确的掩码来实现实例分割。由此,可以提高在各种场景下实例分割的准确度。
[0036]
以下将继续参考附图描述本公开的一些示例实施例。
[0037]
图2示出了根据本公开的一些实施例的实例分割模型120的示例结构的框图。该实例分割模型120可以被应用在图1的环境100中,用于对输入的目标图像105执行实例分割,以确定实例分割后的图像125。如图2所述,实例分割模型120包括骨干网络210、分类网络220、掩码网络230和输出层240。
[0038]
骨干网络210被配置为执行针对目标图像105的特征提取,以提取目标图像105的特征图(feature map)。特征图能够描述目标图像105中的有用特征信息,特别是有助于实现实例分割的特征信息。在本公开的实施例中,骨干网络210被配置为利用基于偏移窗口的自注意力机制来执行针对目标图像105的特征提取。
[0039]
自注意力机制是机器学习技术中常用的处理机制。在图像处理应用中,自注意力机制可以有助于关注图像中对于目标任务更有用的特征信息。在很多常规实例分割模型中,骨干网络通常采用基于cnn的网络结构。虽然在cnn的网络结构中可能也会引入自注意力机制,但这些机制通常具有固定窗口大小。在本公开的实施例中,基于偏移窗口的自注意力机制将通过在不同网络层之间偏移用于自注意力机制的窗口,达到利用变化的窗口大小来遍历图像。在一些实施例中,骨干网络210可以基于转换器(transformer),特别是基于swin转换器(swin transformer)来实现基于偏移窗口的自注意力机制。
[0040]
图3示出了根据本公开的一些实施例的骨干网络210中的第l网络层和第(l 1)网络层处的自注意力机制的示意图。这两个网络层可以是骨干网络210的swin转换器块的一部分。特征图310是第l网络层的输入,该输入例如可以是第l网络层之前的网络层对目标图像105处理后得到的中间特征图或者是模型的输入(在第l网络层是第一网络层的情况下);并且特征图320是第l网络层输出的中间特征图。
[0041]
特征图310和320可以被划分为固定大小的多个分块302。在第l网络处,对特征图310,按自注意力窗口304的大小来划分特征图310,以应用自注意力机制,即计算每个窗口内的特征信息的重要程度,并基于重要程度来进行特征信息的聚合。在第(l 1)网络层处,
自注意力窗口304在多个方向(例如,上、下、左、右)上偏移,从而获得新的自注意力窗口。这些新的自注意力窗口具有不同尺寸。针对特征图320,在新的自注意力窗口内应用自注意力机制。
[0042]
在一些实施例中,骨干网络310可以基于复合骨干网络v2(cbnetv2),其包括级联的多个swin转换器块。在一些实施例中,多个swin转换器块可以具有相同或不同的结构。在一些实施例中,骨干网络310可以基于dual-swin-t的结构,其包括swin-t类型的两个级联的swin转换器块。在一些实施例中,骨干网络310可以基于dual-swin-s的结构,其包括swin-s类型的两个级联的swin转换器块。
[0043]
在许多情况下,骨干网络对于实例分割的结果具有重要作用。骨干网络能够提取出更具有代表性的特征图,将意味着后续的实例分割结果会更好。以下表1给出了根据本公开的一些实施例的骨干网络的不同结构的性能比较。在表1中,以平均精确度(average precision,ap)作为性能度量指标,其中ap、aps、apm和ap
l
指的是在相同数据集上针对不同类型的检测目标所确定的平均精确度(ap针对数据集中的所有目标,aps针对数据集中的小尺寸目标,apm针对数据集中的中等尺寸目标,ap
l
针对数据集中的大尺寸目标)。
[0044]
表1骨干网络的不同结构的性能
[0045]
骨干网络的结构训练轮数apapsapmap
l
基于swin-t1257.2844.4465.4170.97基于dual-swin-t1259.2747.1167.4572.62基于dual-swin-t2060.7849.0269.0372.92基于dual-swin-s2061.0548.969.6573.65
[0046]
从表1可以看出,基于swin-t的骨干网络已能够获得较高精确度,而在相同训练轮数(epoch)下基于dual-swin-t的骨干网络还能够获得进一步的精度提升。此外,在相同网络结构下(基于dual-swin-t),执行更多训练轮数也能获得一定的性能提升。
[0047]
在骨干网络210提取的特征图基础上,掩码网络230被配置为基于特征图来确定用于从目标图像105分割候选对象实例的多个候选掩码(mask)。在本文中,掩码可以指示目标图像105中的属于对应对象实例的像素。例如,掩码可以包括二值化掩码,其中以1值指示对应的像素属于对象实例,0值指示对应的像素不属于对象实例;或者反之。
[0048]
在一些实施例中,可以基于特征图确定目标图像105中的多个候选边界框(bounding box),并确定针对多个候选边界框的多个候选掩码。每个候选边界框用于界定目标图像105中可能存在对象实例的图像区域,也称为感兴趣区域(roi)。每个候选掩码用于对对应的候选边界框分割出候选对象实例。
[0049]
在一些实施例中,分类网络220被配置为基于骨干网络210提取的特征图来确定目标图像105中的多个候选边界框(bounding box),如图4所示,可以生成多个候选边界框,以用于框定不同的图像区域。在一些实施例中,分类网络220可以被配置为确定预定数目的候选边界框,并确定预定数目的候选边界框对应的分类置信度得分。分类置信度得分指示候选边界框内的对象实例可以被分类到预定类别的置信度。例如,可以设置多个预定类别,并确定每个候选边界框所框定的图像区域中是否存在某个预定类别的对象实例。如果该候选边界框的位置选取比较准确,例如框定了属于对象实例的大部分图像区域,那么分类置信度得分较高;否则,分类置信度得分较低。
[0050]
在一些实施例中,分类网络220可以被配置为从预定数目(例如,n个)的候选边界框中选择分类置信度得分较高的多个候选边界框(例如,前k个候选边界框),其中n和k可以根据具体应用进行设置。以此方式,可以基于分类置信度得分筛选掉一部分不太可靠的候选边界框。分类网络220可以输出所选择的多个候选边界框的分类置信度得分,以及这些候选边界框在目标图像105中的坐标信息。
[0051]
分类网络220可以基于各种网络结构来构建。在一些实施例中,分类网络220可以被配置为基于区域卷积神经网络(r-cnn),其包括一个或多个卷积层、一个或多个全连接(fc)层等。在该示例中,分类网络220有时也称为r-cnn头(r-cnn head)。在其他实施例中,分类网络220还可以基于其他网络结构,只要能够实现对象实例的分类以及边界框的选择即可。
[0052]
在一些实施例中,掩码网络230可以针对由分类网络220选择的多个候选边界框,基于对应的特征图来执行候选掩码的确定。例如,掩码网络230可以确定k个候选边界框的候选掩码。在针对这些掩码确定候选掩码时,可能无法确定这些候选掩码是否准确。特别地,如果基于分类网络220推荐的候选边界框来确定候选掩码,那么这些候选掩码的置信度通常会有分类网络220所确定的分类置信度得分来衡量。然而,分类置信度得分通常是从对图像中的对象实例的分类准确度角度来衡量的。在一些情况下可能会出现候选边界框界定不准确,从而导致分类置信度得分较高,而所确定的掩码却无法精确分割对象实例的情况(例如,候选边界框界定出对象实例以及无关的图像部分,或者候选边界框仅界定出对象实例中有助于图像分类的特征部分)。
[0053]
在本公开的实施例中,提出了对候选掩码的置信度进行独立衡量。具体地,掩码网络230包括掩码预测子网络232和掩码置信度度量子网络234。掩码预测子网络232被配置为基于目标图像105的特征图来确定针对目标网络的多个候选掩码,例如基于分类网络220确定的候选边界框来确定对应的多个候选掩码。掩码预测子网络232可以基于各种网络结构来构建。在一些实施例中,掩码预测子网络232被构建为包括一个或多个卷积层、一个或多个全连(fc)层等。在一些示例中,掩码预测子网络232有时也称为掩码头(mask head)。
[0054]
掩码置信度度量子网络234被配置为基于目标图像105的特征图和多个候选掩码,确定多个候选掩码对应的多个掩码置信度得分。掩码置信度得分用于衡量对应的掩码的质量,即是否能够准确分割出对应的候选对象实例。
[0055]
在一些实施例中,掩码置信度度量子网络234可以被配置为预测候选掩码与实际的真值掩码之间的交并比(intersection of union,iou),即描述两个掩码之间的重合度。iou越高,意味着候选掩码的掩码置信度得分越高;反之,iou越低,意味着候选掩码的掩码置信度得分较低。掩码置信度度量子网络234可以基于各种网络结构来构建。在一些实施例中,掩码置信度度量子网络234被构建为包括一个或多个卷积层、一个或多个全连接(fc)层等。在一些示例中,掩码置信度度量子网络234有时也称为掩码iou头(maskiou head)。
[0056]
通过衡量多个候选掩码的掩码置信度得分,可以确定出置信度更高的候选掩码。在一些实施例中,掩码预测子网络232和掩码置信度度量子网络234将各自的输出提供给输出层240。输出层240被配置为至少基于多个掩码置信度得分确定针对目标图像105的至少一个目标掩码。目标掩码用于从目标图像105(例如,从对应候选边界框分割出目标对象实例)分割出目标对象实例,即获得实例分割后的图像125。
[0057]
在一些实施例中,分类网络220也将其输出(即,多个候选边界框的分类置信度得分)提供给输出层240。输出层240被配置为基于与多个候选边界框(例如,k个候选边界框)对应的分类置信度得分和掩码置信度得分,确定针对目标图像105的至少一个目标掩码。在一些实施例中,可以通过组合分类置信度得分和掩码置信度得分,来确定与多个候选边界框对应的多个候选掩码的最终置信度得分,并基于最终置信度得分来选择一个或多个目标掩码。例如,可以基于最终置信度得分与阈值置信度得分的比较,来选择超过阈值置信度得分的候选掩码作为目标掩码。由此,可以选择出更准确的掩码用于从目标图像105分割出准确的对象实例。
[0058]
在一些实施例中,在候选边界框的选定时,还可以利用多个实例分割模型来筛选候选边界框,以便融合得到边界框的更好的预测结果。图5示出了根据本公开的一些实施例的基于模型组合的示例架构的框图。实例分割系统110可以这样的模型组合来执行针对目标图像105的实例分割。
[0059]
在图5的实施例中,实例分割系统110利用实例分割模型120-1、
……
、实例分割模型120-m(其中m是大于等于2的整数)来生成目标图像105的多个候选边界框。多个实例分割模型120-1、
……
、120-m可以统称为或单独称为实例分割模型120。
[0060]
每个实例分割模型120-i(i=1、
……
、m)可以包括如图2所示的类似结构。不同的实例分割模型120-i可以具有不同的模型配置(例如,网络层类型、数目等不同)和/或经过不同的训练过程训练得到。例如,实例分割模型120-1中的骨干网络可以基于dual-swin-t的结构,而实例分割模型120-m中的骨干网络可以基于dual-swin-s的结构。
[0061]
每个实例分割模型120-i可以分别从目标图像105提取特征图,并基于特征图来确定一组候选边界框,例如确定k个候选边界框。实例分割系统110包括边界框融合模型510,其被配置为通过融合来自多个实例分割模型120-i的多组候选边界框,来确定针对目标图像105的多个候选边界框。在一些实施例中,每个实例分割模型120-i中的分类网络可以基于特征图来确定具有较高置信度的一组候选边界框。在一些实施例中,边界框融合模型510可以被配置为利用加权边界框融合(weighted boxes fusion,wbf)机制来组合来自多个实例分割模型120-i的多组候选边界框,例如对多组候选边界框中对应的候选边界框进行加权融合,以获得最终的多个候选边界框。所得到的多个候选边界框可以更准确定位出目标图105中的对象实例。通过利用多个实例分割模型的骨干网络和分类网络进行候选边界框的选择,并融合候选边界框,可以进一步提高实例分割的准确度。
[0062]
边界框融合模型510可以将所确定的多个候选边界框输入到多个实例分割模型中的目标实例分割模型(假设是实例分割模型120-t)中的掩码网络230-k。掩码网络230-k被配置为从多个候选边界框中确定用于对象实例分割的多个候选掩码,多个候选掩码的掩码置信度得分,并进而可以选择出目标掩码用于从目标图像105中分割出目标对象实例。
[0063]
在一些实施例中,目标实例分割模型120-t可以是多个实例分割模型中具有较高性能的模型。例如,目标实例分割模型120-t的性能指标度量可以超过其他实例分割模型的性能指标度量。用于衡量模型性能的性能指标例如可以是模型的平均精确度(ap)、平均准确度(accuracy)等。例如,可以利用验证数据集来确定各个实例分割模型的性能,并选择性能较好的目标实例分割模型用于确定掩码。
[0064]
以上讨论了实例分割模型120在实例分割任务中的具体操作。作为基于机器学习
或深度学习的模型,在投入模型应用前,实例分割模型120还需要经过模型训练阶段,以确定模型中各项处理所利用的参数值。在图5的基于模型组合的实施例中,针对每个实例分割模型120-i,均可以经过类似的模型训练过程来获得经训练的模型。
[0065]
图6示出了根据本公开的一些实施例的模型训练和应用环境100的示意图。在图6的环境600中,期望训练和使用实例分割模型120,用于实现实例分割任务。
[0066]
如图6所示,环境600包括模型训练系统610和模型应用系统620。在图1的示例实施例,模型训练系统610被配置利用训练数据来训练实例分割模型120。训练数据可以包括多个样本图像612-1、612-2、
……
612-t以及对应的标注信息,即各个样本图像对应的真值实例分割614-1、614-2、
……
614-t,其中t为大于等于1的整数。为便于讨论,样本图像统称为或单独称为样本图像612,真值实例分割统称为或单独称为真值实例分割614。样本图像612与对应真值实例分割614可以组成样本对,其中真值实例分割614可以指示样本图像612中目标对象实例的分类结果以及属于目标对象实例的图像区域。
[0067]
在训练前,实例分割模型120的参数值集合可以是被初始化的,或者是可以通过预训练过程而获得经预训练的参数值。经过训练过程,实例分割模型120的参数值被更新和调整。模型训练系统610可以利用各种模型训练技术,例如随机梯度下降、交叉熵损失、反向传播等,来实现对实例分割模型120的训练。通过训练,使实例分割模型120能够从训练数据中学习到如何对输入的图像执行实例分割,对象分类等。
[0068]
在训练完成后,实例分割模型120具有训练后的参数值集合。基于这样的参数值,实例分割模型120能够实现实例分割。在图1中,经训练的实例分割模型120可以被提供给模型应用系统620。模型应用系统620例如可以是图1的实例分割系统110。模型应用系统610可以接收输入的待分类的目标图像105。模型应用系统620可以被配置为利用训练后的实例分割模型120来执行对目标图像105的实例分割,以获得实例分割后的图像125。
[0069]
在图6中,模型训练系统610和模型应用系统620可以是任何具有计算能力的系统,例如各种计算设备/系统、终端设备、服务器等。终端设备可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。服务器包括但不限于大型机、边缘计算节点、云环境中的计算设备,等等。
[0070]
应当理解,图6示出的环境中的部件和布置仅是示例,适于用于实现本公开所描述的示例实施例的计算系统可以包括一个或多个不同的部件、其他部件和/或不同的布置方式。例如,虽然被示出为是分离的,但模型训练系统610和模型应用系统620可以集成在相同系统或设备。本公开的实施例在此方面不受限制。
[0071]
应当理解,仅出于示例性的目的描述环境600中各个元素的结构和功能,而不暗示对于本公开的范围的任何限制。
[0072]
损失函数在模型训练过程中很重要。由于其设计空间大的问题,设计一个好的损失函数通常是具有挑战性的,并且设计一个适用于不同任务和数据集的损失函数则更具挑战性。在一些实施例中,在实例分割模型的训练中,通常基于交叉熵损失(cross-entropy loss)来设计损失函数用于模型训练。在本公开的一些实施例中,为了进一步提高实例分割模型的性能,提出了基于多项式损失(polyloss)函数来训练实例分割模型120,例如图5的
实施例中的一个或多个实例分割模型。多项式损失函数将模型训练的损失函数看作是多项式函数的线性组合。在一些实施例中,可以基于poly-1loss来训练实例分割模型120,利用用于替换实例分割模型120中针对分类网络220的损失函数。poly-1loss函数例如可以被表示为如下:
[0073]
l
poly-1
=-logp
t
∈1(1-p
t
)(1)
[0074]
其中l
poly-1
表示poly-1loss,pt表示正在训练的实例分割模型120针对输入图像预测该图像属于目标类别的概率;∈1可以是预设值,例如∈1可以被设置为-1。
[0075]
应当理解,除多项式损失函数外,在训练实例分割模型120时还可以针对掩码网络的损失函数。在训练过程中,可以基于多个损失函数来执行针对实例分割模型120的端到端训练。实例分割模型120的训练目标可以被设置为使得多个损失函数的值最小化或者降低到较小值(例如,小于预设阈值)。可以利用各种训练技术,基于损失函数来训练实例分割模型120。
[0076]
在一些实施例中,在训练实例分割模型120时,为更好的模型性能,还可以基于随机权重平均(stochasticweightsaveraging,swa)来训练实例分割模型120。具体地,在将实例分割模型120训练已达到预定的训练目标(例如,损失函数最小化或者降低到预设阈值)后,对实例分割模型120继续执行额外的多个训练周期(例如,多个训练轮次)的训练。例如,可以利用循环学习,在训练数据基础上继续训练实例分割模型120。在每个训练周期中,记录实例分割模型120的更新参数值集合。通过组合多个训练后期的多个更新参数值集合(例如,将对应参数的多个值求平均,得到该参数的平均值),得到实例分割模型120的目标参数值集合。目标参数值集合可以提供更高的模型性能。基于swa的模型训练过程仅增加一定的训练时间,但并不会增加实例分割模型120在应用阶段的时间消耗,同时还能够提供更高的模型性能。
[0077]
以下表2示出了根据本公开的不同实施例构建的实例分割模型的性能比较。在表2中,ap、ap
50
、ap
75
、aps、apm和ap
l
指的是在相同数据集上针对不同类型的检测目标所确定的平均精确度,常规基准模型指的是利于常规cnn骨干网络的模型;本公开的基准模型指的是基于swintransformer-t骨干网络的模型;在本公开的基准模型基础上还测试了在多种改进模型的性能。
[0078]
表2骨干网络的不同结构的性能
[0079][0080]
从表2可以看出,在一些示例实施例中提出的基准模型可以相较常规基准模型带来较大的性能提升。此外,不同实施例中提出的新网络结构或训练方法还能够进一步提升模型性能。例如,基于polyloss损失函数训练的实例分割模型与基于swin-s的模型相比,能够带来0.83ap的性能提升。
[0081]
图7示出了根据本公开的一些实施例的实例分割的过程700的流程图。过程700例如可以被实现在图1的实例分割系统110或图6的模型应用系统620处。
[0082]
在框710,实例分割系统110利用基于偏移窗口的自注意力机制,从目标图像提取特征图。
[0083]
在框720,实例分割系统110基于特征图确定针对目标图像的多个候选掩码,候选掩码用于从目标图像分割出候选对象实例。
[0084]
在框730,实例分割系统110基于特征图和多个候选掩码确定多个候选掩码对应的多个掩码置信度得分。
[0085]
在框740,实例分割系统110至少基于多个掩码置信度得分确定针对目标图像的至少一个目标掩码,目标掩码用于从目标图像分割出目标对象实例。
[0086]
在一些实施例中,确定多个候选掩码包括:基于特征图确定目标图像中的多个候选边界框;以及确定针对多个候选边界框的多个候选掩码,候选掩码用于从对应的候选边界框分割出候选对象实例。
[0087]
在一些实施例中,确定针对目标图像的至少一个目标掩码包括:确定多个候选边界框对应的多个分类置信度得分,分类置信度得分指示候选边界框内的对象实例被分类到预定类别的置信度;以及基于多个分类置信度得分和多个掩码置信度得分,从多个候选掩码确定针对目标图像的至少一个目标掩码,目标掩码用于从对应候选边界框分割出目标对象实例。
[0088]
在一些实施例中,从目标对象提取特征图包括:利用经训练的多个实例分割模型分别从目标图像提取多个特征图。在一些实施例中,确定多个候选边界框包括:利用多个实例分割模型分别基于各自提取的特征图确定多组候选边界框,以及通过融合多组候选边界框来确定多个候选边界框。
[0089]
在一些实施例中,确定多个候选掩码包括:利用多个实例分割模型中的目标实例分割模型来确定多个候选掩码。
[0090]
在一些实施例中,目标实例分割模型的性能指标度量超过多个实例分割模型中的其他实例分割模型的性能指标度量。
[0091]
在一些实施例中,过程700通过利用经训练的实例分割模型(例如,实例分割模型120)来执行,实例分割模型基于多项式损失函数来训练。
[0092]
在一些实施例中,过程700通过利用经训练的实例分割模型来执行,在实例分割模型的训练过程中执行以下:在达到预定的训练目标后,对实例分割模型执行多个训练周期的训练,得到多个更新参数值集合;以及通过组合多个更新参数值集合来确定实例分割模型的目标参数值集合。
[0093]
图8示出了根据本公开的一些实施例的用于实例分割的装置800的示意性结构框图。装置800可以被实现为或者被包括在实例分割系统110或图6的模型应用系统620中。装置800中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
[0094]
如图所示,装置800包括特征提取模块810,被配置为利用基于偏移窗口的自注意力机制,从目标图像提取特征图,装置800还包括候选掩码确定模块820,被配置为基于特征图确定针对目标图像的多个候选掩码,候选掩码用于从目标图像分割出候选对象实例。装置800还包括掩码置信度确定模块830,被配置为基于特征图和多个候选掩码确定多个候选掩码对应的多个掩码置信度得分;以及目标掩码确定模块840,被配置为至少基于多个掩码置信度得分确定针对目标图像的至少一个目标掩码,目标掩码用于从目标图像分割出目标对象实例。
[0095]
在一些实施例中,掩码置信度确定模块820包括:候选边界框确定模块,被配置为基于特征图确定目标图像中的多个候选边界框;以及基于边界框的掩码确定模块,被配置为确定针对多个候选边界框的多个候选掩码,候选掩码用于从对应的候选边界框分割出候选对象实例。
[0096]
在一些实施例中,目标掩码确定模块包括:分类置信度确定模块,被配置为确定多个候选边界框对应的多个分类置信度得分,分类置信度得分指示候选边界框内的对象实例被分类到预定类别的置信度;以及基于多得分的目标掩码确定模块,被配置为基于多个分类置信度得分和多个掩码置信度得分,从多个候选掩码确定针对目标图像的至少一个目标掩码,目标掩码用于从对应候选边界框分割出目标对象实例。
[0097]
在一些实施例中,特征图提取模块810被包括:基于多模型的特征图提取模块,被配置为利用经训练的多个实例分割模型分别从目标图像提取多个特征图。在一些实施例中,候选边界框确定模块包括:基于多模型的候选边界框确定模块,被配置为利用多个实例分割模型分别基于各自提取的特征图确定多组候选边界框;以及边界框融合模块,被配置为通过融合多组候选边界框来确定多个候选边界框。
[0098]
在一些实施例中,候选掩码确定模块820包括:基于目标模型的候选掩码确定模
块,被配置为利用多个实例分割模型中的目标实例分割模型来确定多个候选掩码。
[0099]
在一些实施例中,目标实例分割模型的性能指标度量超过多个实例分割模型中的其他实例分割模型的性能指标度量。
[0100]
在一些实施例中,利用经训练的实例分割模型(例如,实例分割模型120)来实现特征提取模块810、候选掩码确定模块820、掩码置信度确定模块830和目标掩码确定模块840,实例分割模型基于多项式损失函数来训练。
[0101]
在一些实施例中,利用经训练的实例分割模型来实现特征提取模块810、候选掩码确定模块820、掩码置信度确定模块830和目标掩码确定模块840。在实例分割模型的训练过程中执行以下:在达到预定的训练目标后,对实例分割模型执行多个训练周期的训练,得到多个更新参数值集合;以及通过组合多个更新参数值集合来确定实例分割模型的目标参数值集合。
[0102]
图9示出了其中可以实施本公开的一个或多个实施例的电子设备900的框图。应当理解,图9所示出的电子设备900仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图9所示出的电子设备900可以用于图1的实例分割系统、和/或图6的模型应用系统620和/或模型训练系统610。
[0103]
如图9所示,电子设备900是通用计算设备的形式。电子设备900的组件可以包括但不限于一个或多个处理器或处理单元910、存储器920、存储设备960、一个或多个通信单元940、一个或多个输入设备950以及一个或多个输出设备990。处理单元910可以是实际或虚拟处理器并且能够根据存储器920中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备900的并行处理能力。
[0104]
电子设备900通常包括多个计算机存储介质。这样的介质可以是电子设备900可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器920可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备960可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在电子设备900内被访问。
[0105]
电子设备900可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图9中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器920可以包括计算机程序产品925,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
[0106]
通信单元940实现通过通信介质与其他电子设备进行通信。附加地,电子设备900的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备900可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
[0107]
输入设备950可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备990可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备900还可以根据
需要通过通信单元940与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备900交互的设备进行通信,或者与使得电子设备900与一个或多个其他电子设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
[0108]
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
[0109]
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0110]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0111]
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0112]
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0113]
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
再多了解一些

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

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

相关文献