图像处理方法、装置及设备与流程

文档序号:31835751发布日期:2022-10-18 21:13阅读:110来源:国知局
图像处理方法、装置及设备与流程

1.本公开涉及人工智能技术领域,尤其涉及一种图像处理方法、装置及设备。


背景技术:

2.在很多场景,需要对图像进行分类,比如,确定图像为人物图像、或风景图像,或者需要对图像中的像素点进行分类,比如,确定图像中各像素点属于天空、草地、或人物等类别(即语义分割)。通常可以采用预先训练的模型对图像进行分类,或者对图像进行语义分割。
3.在对模型进行训练时,可以采用半监督学习的训练方式。半监督学习是一种将有监督学习和无监督学习相结合的方式,在训练过程中利用少量有标签样本与大量无标签样本对模型进行训练,通过利用大量的无标签样本,作为有标签样本的补充,可以提升训练的模型的精度。但是,目前的半监督学习训练方式中,仍然无法对无标签样本进行充分的、最大化的利用,导致可利用的训练样本数量有限,训练得到的模型的精度依然有待提高。


技术实现要素:

4.本公开实施例提供一种图像处理方法、装置及设备。
5.根据本公开实施例的第一方面,提供一种图像处理方法,包括:
6.获取待处理的目标图像;
7.利用预先训练的分类模型确定所述目标图像的分类信息,所述分类信息包括所述目标图像的各像素点所属的类别以及所述目标图像所属的类别中的至少一种,其中,所述分类模型基于以下方式训练得到:
8.对无标签的第一样本图像进行预测,得到包含所述分类信息的预测结果;
9.从所述第一样本图像中确定所述预测结果可靠度低于预设阈值的不可靠样本,并确定所述不可靠样本不属于的目标类别,所述不可靠样本包括像素点或图像;
10.基于负样本对预设的模型进行训练,以得到所述分类模型,其中,所述负样本基于所述不可靠样本以及对应不属于的所述目标类别构建。
11.在一些实施例中,预测结果包括第一样本图像中的像素点属于预设的多个类别中的每个类别的概率,从所述第一样本图像中确定所述预测结果的可靠程度低于预设阈值的不可靠样本,包括:
12.针对第一样本图像的各像素点,基于所预测的各像素点属于所述每个类别的概率,确定所述各像素点的信息熵,所述信息熵用于表征所述各像素点的预测结果可靠度的高低;
13.从所述第一样本图像的像素点中选取若干个目标像素点,所选取的若干个目标像素点的所述信息熵均大于所述第一样本图像中除所述若干个目标像素点以外的其他像素点的所述信息熵;
14.将所述若干个目标像素点作为所述不可靠样本;或
15.所述第一样本图像包括多帧,所述预测结果包括每帧第一样本图像属于预设的多个类别中的每个类别的概率,从所述第一样本图像中确定所述预测结果的可靠程度低于预设阈值的不可靠样本,包括:
16.基于每帧第一样本图像属于所述每个类别的概率,确定每帧第一样本图像的信息熵,所述信息熵用于表征每帧第一样本图像的预测结果可靠度的高低;
17.从多帧第一样本图像中选取若干帧目标图像,所选取的若干帧目标图像的所述信息熵大于所述多帧第一样本图像中除所述若干帧目标图像以外的其他图像的所述信息熵;
18.将所述若干帧目标图像作为所述不可靠样本。
19.在一些实施例中,基于所述负样本对预设的模型进行训练,包括
20.基于所述负样本对预设的模型进行多轮训练;
21.在所述不可靠样本为所述第一样本图像中的像素点的情况下,所述不可靠像样本的数量与所述第一样本图像中像素点的总数量的占比随着训练轮数的增加而减小;和/或
22.在所述不可靠样本为所述第一样本图像的情况下,所述不可靠样本的数量与所述第一样本图像的总数量的占比随着训练轮数的增加而减小。
23.在一些实施例中,所述占比基于当前的训练轮数与训练总轮数的比值确定。
24.在一些实施例中,确定所述不可靠样本不属于的目标类别,包括:
25.针对每个不可靠样本,基于所述每个不可样本属于预设的多个类别中的每个类别的概率的大小对所述多个类别进行排序处理;
26.将所述多个类别中除排在前面的若干个类别之外的类别作为所述不可靠样本不属于的目标类别;或从所述多个类别中选取排在中间的若干个类别作为所述不可靠样本不属于的目标类别。
27.在一些实施例中,基于所述负样本对预设的模型进行训练,以得到所述分类模型,包括:
28.将所述第一样本图像输入至预设的模型中,基于所述模型输出的所述负样本属于所述目标类别的概率确定第一目标损失;
29.利用所述第一目标损失对所述预设的模型进行训练,以得到所述分类模型。
30.在一些实施例中,基于所述负样本对预设的模型进行训练,以得到所述分类模型,包括:
31.针对任一目标类别,确定属于所述目标类别的至少两个正样本,所述正样本为像素点或图像;
32.基于所述至少两个正样本以及所述负样本对预设的模型进行训练,以得到所述分类模型。
33.在一些实施例中,基于所述至少两个正样本以及所述目标类别的负样本对预设的模型进行训练,以得到所述分类模型,包括:
34.分别对所述目标类别的负样本、所述至少两个正样本进行特征提取,得到所述目标类别的负样本的目标特征、以及所述至少两个正样本的目标特征,所述目标特征与样本所属的类别相关;
35.基于所述目标类别的负样本的目标特征与所述至少两个正样本中的任一个的目标特征的相似度、以及所述至少两个正样本的目标特征之间的相似度确定第二目标损失;
36.利用所述第二目标损失对所述预设的模型进行训练,得到所述分类模型。
37.在一些实施例中,所述方法还包括:
38.基于所述预测结果从所述第一样本图像中确定可靠样本,并基于所述预测结果确定所述可靠样本的伪标签,其中,所述可靠样本为所述预测结果的可靠度高于预设阈值的像素点或图像;所述基于所述负样本对预设的模型进行训练,包括:
39.基于所述负样本、所述携带伪标签的可靠样本以及携带真实标签的第二样本图像对所述预设的模型进行训练,其中,所述真实标签为人工标注的用于指示所述第二样本图像的所述分类信息的标签。
40.在一些实施例中,基于所述负样本、所述携带伪标签的可靠样本、以及携带真实标签的第二样本图像对所述预设的模型进行训练,包括:
41.基于所述负样本确定第一损失;
42.基于所述模型输出的第一样本图像中的所述可靠样本的预测结果与所述伪标签的差异确定第二损失;
43.基于所述模型输出的所述第二样本图像的预测结果与所述真实标签的差异确定第三损失;
44.基于所述第一损失、第二损失、第三损失得到第三目标损失,利用所述第三目标损失对所述预设的模型进行训练。
45.在一些实施例中,对无标签的第一样本图像中的所述分类信息进行预测,得到预测结果的步骤,通过老师模型执行,
46.所述基于所述负样本对预设的模型进行训练,以得到所述分类模型,包括:
47.基于所述负样本对学生模型进行训练,基于训练得到的所述学生模型得到所述分类模型,其中,所述老师模型的结构与所述学生模型的结构一致,所述老师模型的参数与所述学生模型的参数至少部分不同。
48.在一些实施例中利用训练后的学生模型的参数更新所述老师模型的参数,以将参数更新后的老师模型确定为所述分类模型,包括:重复执行利用所述老师模型对无标签的第一样本图像的所述分类信息进行预测,得到预测结果,从所述第一样本图像中确定所述预测结果可靠度低于预设阈值的不可靠样本,并确定所述不可靠样本不属于的目标类别,基于所述不可靠样本以及对应不属于的所述目标类别构建负样本,基于所述负样本对预设的模型进行训练,以得到所述分类模型,利用训练后的学生模型的参数更新所述老师模型的参数的步骤,直至符合预设条件,将参数更新后的老师模型作为所述分类模型。
49.在一些实施例中,基于所述不可靠样本以及对应不属于的所述目标类别构建负样本之后,还包括:
50.将所述目标类别与所述负样本的目标特征对应存储。
51.根据本公开实施例的第二方面,提供一种图像处理装置,包括:
52.获取模块:用于获取待处理的目标图像;
53.预测模块:用于利用预先训练的分类模型确定所述目标图像的分类信息,所述分类信息包括所述目标图像的各像素点所属的类别以及所述目标图像所属的类别中的至少一种,其中,所述分类模型基于以下方式训练得到:对无标签的第一样本图像进行预测,得到包含所述分类信息的预测结果;从所述第一样本图像中确定所述预测结果可靠度低于预
设阈值的不可靠样本,并确定所述不可靠样本不属于的目标类别,所述不可靠样本包括像素点或图像;基于负样本对预设的模型进行训练,以得到所述分类模型,其中,所述负样本基于所述不可靠样本以及对应不属于的所述目标类别构建。
54.根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括处理器、存储器、存储在所述存储器可供所述处理器执行的计算机指令,所述处理器执行所述计算机指令时,可实现上述第一方面提及的方法。
55.本公开实施例中,可以对无标签的第一样本图像进行预测,得到包括第一样本图像分类信息的预测结果;基于预测结果从第一样本图像中确定可靠度低于预设阈值的不可靠样本,并确定不可靠样本不属于的目标类别,基于不可靠样本以及不可靠样本不属于的目标类别构建负样本以对预设模型进行训练,得到分类模型;再利用分类模型对待处理的目标图像进行分类。考虑到对于不可靠样本,虽然无法基于预测结果准确确定该样本属于某个类别,但是可以基于预测结果确定该不可靠样本大概率不属于的目标类别,进而可以基于不可靠样本以及不可靠样本不属于的目标类别构建负样本。然后可以将负样本充分利用起来,对模型进行训练,提高了无标签样本的利用率,增加了可用的训练样本的数量,进而也提升了训练得到的模型的精度。然后再利用训练的高精度模型对待处理的目标图像所属的类别,或目标图像中像素点所属的类别进行预测,可以得到更加准确的预测结果,用于后续的应用。
56.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
57.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
58.图1是本公开实施例的一种基于半监督学习对模型进行训练的方法示意图。
59.图2是本公开实施例的一种图像处理方法的流程图。
60.图3是本公开实施例的一种利用负样本对模型进行循环训练的示意图。
61.图4是本公开实施例的一种利用模型提取目标特征示意图。
62.图5是本公开实施例的一种采用老师模型-学生模型的方式对模型进行训练的示意图。
63.图6是本公开实施例的一种图像处理装置的示意图。
64.图7是本公开实施例的一种电子设备的逻辑结构示意图。
具体实施方式
65.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
66.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数
形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
67.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
68.为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
69.在很多场景,需要对图像进行分类,比如,确定图像为人物图像、或风景图像,或者需要对图像中的像素点进行分类(即语义分割),比如,确定图像中各像素点属于天空、草地、或人物等类别,或在道路巡检的场景,确定图像中的像素点属于裂缝、凹坑等类别。通常可以采用预先训练的模型对图像进行分类,或者对图像进行语义分割。
70.在对模型进行训练时,可以采用半监督学习的训练方式。半监督学习是一种将有监督学习和无监督学习相结合的方式,在训练过程中利用少量有标签样本与大量无标签样本对模型进行训练,通过利用大量的无标签样本,作为有标签样本的补充,可以提升训练的模型的精度。其中,有标签样本是人工标注了图像中各像素点所属类别或者人工标注了图像所属类别的样本,例如,人工标注图像中的像素点属于a类别,或人工标注图像属于b类别;无标签样本即为没有上述人工标注标签的样本。
71.为了便于区分,以下将由人工标注的指示图像或图像中的像素点所属类别的标签称为真实标签;将基于预测结果得到的指示图像或图像中的像素点属于或不属于某种类别的标签称为伪标签。
72.相关技术中,在采用半监督学习的方式对模型进行训练的过程中,如图1所示,可以先利用有标签样本对一个初始的模型1进行训练,训练得到对图像或图像中的像素点具有一定分类能力的模型2。然后将无标签样本输入至模型2中,利用模型2对无标签样本进行分类信息的预测,然后可以基于无标签样本预测结果可靠度的高低,将无标签样本分为可靠样本和不可靠样本,其中,如果训练的模型用于对图像分类,则可靠样本和不可靠样本为图像,如果训练的模型用于对图像进行语义分割,则可靠样本和不可靠样本为像素点。
73.其中,可靠样本可以是基于模型2的预测结果已经大概率能准确确定该样本所属的类别的样本,比如,模型2预测某个像素点为a类别的概率为90%,b类别的概率为5%、c类别的概率为5%,那么该像素点大概率属于a类别,因而该像素点可以作为可靠样本。不可靠样本即基于模型2的预测结果还不能准确确定该样本所属的类别的样本。比如,模型2预测某个像素点为a类别的概率为50%,b类别的概率为48%、c类别的概率为2%,那么基于模型2的预测结果无法确定该像素点属于a类别还是b类别,因而该像素点可以作为不可靠样本。
74.目前,在确定可靠样本和不可靠样本后,可以进一步基于预测结果确定可靠样本的伪标签。例如,某可靠样本的预测结果为:为a类别的概率为70%,为b类别的概率为20%,为c类别的概率为10%,为d类别的概率为0,则可以确定该可靠样本的伪标签为a类别,或伪
标签为不属于d类别。
75.然后,可以将携带伪标签的可靠样本输入模型2中,以对模型2进行训练,得到精度更高的模型3。
76.可见,相关技术中,仅是利用无标签样本中的可靠样本训练模型,而对于不可靠样本则直接舍弃,并未对无标签样本进行充分的、最大化的利用,导致可利用的训练样本数量有限,训练得到的模型的精度依然有待提高。
77.并且,目前的技术在对半监督学习进行改进的过程中,整体的改进趋势都是如何利用好无标签样本中的可靠样本,比如,如何为可靠样本确定更加准确的伪标签,并没有考虑去将不可靠样本利用到模型的训练中。
78.基于此,本公开实施例提供了一种图像处理方法,考虑到对于不可靠样本,虽然无法基于预测结果准确确定该样本属于某个类别,但是可以基于预测结果确定该不可靠样本大概率不属于某些目标类别。然后可以基于不可靠样本以及不可靠样本不属于的目标类别构建负样本,利用负样本对模型进行训练,提高了无标签样本的利用率,增加了可用的训练样本的数量,进而也提升了训练得到的模型的精度。然后再利用训练的高精度模型对待处理的目标图像所属的类别,或目标图像中像素点所属的类别进行预测,可以得到更加准确的预测结果,用于后续的应用。
79.本公开实施例提供的图像处理方法可以由部署了预先训练好的分类模型的各种电子设备执行,比如,手机、电脑、云端服务器等,本公开实施例对此不做限制。
80.具体的,本公开实施例的图像处理方法如图2所示,可以包括以下步骤:
81.s210,获取待处理的目标图像;
82.其中,目标图像可以是需要对图像进行分类,确定该图像所属类别的任一图像,也可以是需要对图像进行语义分割,即确定图像中各像素点所属类别的图像;可以是实时采集到的图像,也可以是预先存储的图像。目标图像可以是rgb图像、灰度图像或者红外图像等,本公开实施例不做限制。
83.s220,利用预先训练的分类模型确定所述目标图像的分类信息,所述分类信息包括所述目标图像的各像素点所属的类别以及所述目标图像所属的类别中的至少一种。其中,为了让该分类模型具有更高的精度,该分类模型可以基于以下步骤s221-s223训练得到:
84.s221,对无标签的第一样本图像进行预测,得到包含分类信息的预测结果;
85.在步骤s221中,可以对无标签的第一样本图像的分类信息进行预测,比如,可以针对第一样本图像中各像素点所属类别进行预测,也可以是对第一样本图像所属的类别进行预测。
86.例如,以对第一样本图像中各像素点所属类别进行预测为例,可以预测第一样本图像中每个像素点是否为“人”“动物”“植物”“建筑物”等等;比如,对像素点a所属的类别进行预测,其预测结果可以是:像素点a为“人”的概率为80%,为“动物”的概率为15%,为“植物”的概率为5%,为“建筑物”的概率为0。
87.对第一样本图像所属类别进行预测为例,可以预测第一样本图像是否是“建筑物的图像”“人的图像”等等。以对图像a所属类别进行预测为例,预测结果可以是:图像a为“建筑物的图像”的概率为40%,为“人的图像”的概率为60%。当然,上述分类的类别、数量只是
示例性的,预测的结果也仅为示例性的,并不作为本公开的限定。
88.在一些实施例中,可以利用预先训练的具有一定分类能力的模型对第一样本图像的分类信息进行预测,或者也可以采用其他方式进行预测。上述具有一定分类能力的模型可以是基于携带真实标签的样本训练得到,也可以是基于携带有伪标签的样本训练得到,或者同时基于携带真实标签的样本或携带伪标签的样本训练得到,本公开实施例不做限制。
89.s222,基于上述预测结果从第一样本图像中确定出预测结果可靠度低于预设阈值的不可靠样本,并确定不可靠样本不属于的目标类别,并基于不可靠样本以及不可靠样本不属于的目标类别构建负样本。其中,不可靠样本可以是像素点,也可以是图像。
90.一般来说,若能根据预测结果准确确定样本所属类别,则该样本为可靠样本;若不能根据预测结果准确确定样本所属类别,则该样本为不可靠样本。
91.其中,针对第一样本图像中各像素点所属类别进行预测时,不可靠样本为预测结果的可靠度低于预设阈值的像素点;针对第一样本图像所属的类别进行预测时,不可靠样本即为预测结果的可靠度低于预设阈值的图像。其中,预测结果的可靠度可以采用多种方式进行衡量,在下文中会详细解释。
92.确定不可靠样本后,可以确定不可靠样本不属于的目标类别,以构建负样本。以预测第一样本图像中各像素点的分类信息为例,不可靠像素点b的预测结果为:像素点b为“人”的概率为50%,为“动物”的概率为40%,为“植物”的概率为5%,为“建筑物”的概率为5%。基于该预测结果,虽然无法确定像素点b究竟是“人”还是“动物”,但是,可以确定像素点b大概率不属于目标类别“植物”,也大概率不属于目标类别“建筑物”。因此,可以将不可靠像素点b作为“植物”和“建筑物”这两个类别的负样本。上述实施例只是示例性的,并不作为本公开的限定。
93.当然,例如不可靠像素点c为“人”的概率为25%,为“动物”的概率为25%,为“植物”的概率为25%,为“建筑物”的概率为25%。则根据预测结果,既不能确定不可靠像素点c究竟是什么,也不能确定不可靠像素点c大概率不是什么,则这种情况下并不能确定不可靠像素点c不属于的目标类别,则不会根据不可靠像素点c构建负样本。
94.s223,基于负样本对预设的模型进行训练,以得到分类模型。
95.在步骤s223中,在构建出负样本后,利用负样本对预设的模型进行训练,以得到分类模型。然后可以利用分类模型确定待处理的目标图像的分类信息。
96.其中,在一些实施例中,该预设的模型与用于预测第一样本图像的预测结果的模型可以是同一个模型,比如,可以利用带真实标签的样本图像训练得到模型j,然后利用模型j对无标签的第一样本图像进行预测,得到预测结果,基于预测结果确定不可靠样本以及不可靠样本不属于的目标类别,进而构建负样本,进而继续利用负样本对模型j进行训练,利用训练后的模型j得到分类模型。
97.在一些实施例中,该预设的模型与用于预测第一样本图像的预测结果的模型也可以是不同的模型,比如,可以利用带真实标签的样本图像训练得到模型j,然后利用模型j对无标签的第一样本图像进行预测,得到预测结果,基于预测结果确定不可靠样本以及不可靠样本不属于的目标类别,进而构建负样本。进而继续利用负样本对模型k进行训练,利用训练后的模型k得到分类模型。
98.利用负样本对预设模型进行训练可以是仅利用负样本对预设模型进行训练,也可以是结合负样本、以及携带伪标签的可靠样本和携带真实标签的样本中的至少一种对模型进行训练,具体可以基于实际需求设置。
99.在一些实施例中,在基于预测结果的可靠度确定不可靠样本时,可以对无标签的第一样本图像中各像素点所属的类别进行预测,得到的预测结果包括第一样本图像中的像素点属于预设的多个类别中的每个类别的概率,然后可以基于各像素点属于预设的多个类别中的每个类别的概率确定预测结果的可靠度,进而根据可靠度确定不可靠样本。其中,具体确定不可靠样本的方式很多。
100.比如,在一些实施例中,可以根据第一样本图像或第一样本图像的像素点的预测结果中,可以是利用所属类别概率最高的概率值表征预测结果的可靠度,根据所属类别概率最高的概率值是否超过阈值来确定该第一样本图像或第一样本图像的像素点是否为不可靠样本。
101.以预测第一样本图像中各像素点所属的类别为例,若像素点a的预测结果中所属类别概率最高的概率值超过预设阈值,例如80%,则确定像素点a的预测结果可靠度高于预设阈值,像素点a为可靠样本;反之,则确定像素点a的预测结果可靠度低于预设阈值,像素点a为不可靠样本。以预测第一样本图像所属的类别为例,若图像a的预测结果中所属类别概率最高的概率值超过预设阈值80%,则确定图像a的预测结果可靠度高于预设阈值,像素点a为可靠样本;反之,则确定图像a的预测结果可靠度低于预设阈值,像素点a为不可靠样本。在上述实施例中,以预测结果中所属类别概率最高的概率值的数值表征预测结果的可靠度只是示例性的,预设阈值的数值也只是示例性的,并不作为本公开的限定。
102.在一些实施例,也可以利用预测结果中概率最高的两个类别对应的概率的接近程度表征预测结果的可靠度,以确定不可靠样本,比如,如果概率最高的两个类别对应的概率比较接近,则无法确定样本属于其中的哪个类别,因而,可以确定为不可靠样本,反之,则确定为可靠样本。
103.在一些实施例中,还可以根据预测结果的信息熵确定样本为不可靠样本还是可靠样本。比如,以预测第一样本图像中各像素点的分类信息为例,可以基于第一样本图像中各像素点所属类别的概率,确定各像素点的用于表征预测结果可靠度的信息熵,由于信息熵越大,则表示预测结果越不可靠。因而,在一些实施例中,若信息熵大于预设阈值,则确定为不可靠样本;若信息熵小于预设阈值,则确定为可靠样本。在一些实施中,也可以从第一样本图像中选取若干个目标像素点,所选取的若干个目标像素点的信息熵均大于第一样本图像中除了该若干个目标像素点以外的其他像素点的信息熵,即目标像素点为第一样本图像中信息熵较大的那部分像素点,然后将这若干个目标像素点作为不可靠样本。
104.比如,可以确定各像素点的预测结果的信息熵,将信息熵按照从大到小的顺序排序,将排在最前面的m个像素点确定为不可靠样本,其中,m为正整数。或者,也可以先选取第一样本图像中信息熵最大的像素点作为目标像素点,然后再从剩余的像素点中选取信息熵最大的像素点作为目标像素点,重复执行这个步骤,直到选取的目标像素点数量符合预设条件。
105.同理,不可靠样本为图像时,可以基于每帧第一样本图像属于每个类别的概率,确定每帧第一样本图像的信息熵,该信息熵用于表征每帧第一样本图像的预测结果可靠度的
高低,然后从多帧第一样本图像中选取若干帧目标图像,选取的若干帧目标图像的信息熵均大于该多帧第一样本图像中除该若干帧目标图像以外的其他图像的信息熵。比如,可以确定各图像的预测结果的信息熵,并按照从大到小的顺序排序,然后排在最前面的n帧图像确定为目标图像。其中,n为正整数。或者,也可以先选取多帧第一样本图像中信息熵最大的图像作为目标图像,然后再从剩余的第一样本图像中选取信息熵最大的图像作为目标图像,重复执行这个步骤,直到选取的目标图像的数量符合预设条件。
106.当然,也可以将信息熵大于预设阈值的图像作为目标图像,然后将目标图像作为不可靠样本。
107.在一些实施中,可以通过以下公式(1)计算像素点的信息熵:
[0108][0109]
其中,h(pij)表示信息熵的值,c表示当前类别,c表示预设类别的总数,pij表示图像第i行,第j列的像素点p。
[0110]
根据信息熵确定样本是否为不可靠样本,可以提高确定的不可靠样本的准确度。此外,在选取不可靠样本时,可以选预设数量的不可靠样本,或者按照预设的数量占比从第一样本图像中选取不可靠样本。
[0111]
在一些实施例中,为了提升训练的模型的精度,可以基于负样本对预设的模型进行多轮训练。由于随着训练轮次的增加,所训练的模型的精度和性能将会越来越高,模型对无标签样本的预测结果会越来越准确,因此,不可靠样本相对于总的无标签样本的总数的比例也应该越来越低。
[0112]
因此,为了提高确定的不可靠样本的准确性,在训练过程中,可以动态调整不可靠样本在总的无标签样本中的占比。例如,不可靠样本为像素点时,不可靠像样本的数量与所述第一样本图像中像素点的总数量的占比可以随着训练轮数的增加而减小。例如:在第一轮训练的过程中,将信息熵最大的前m1个像素点确定为不可靠样本;在第十轮训练的过程中,将信息熵最大的前m2个像素点确定为不可靠样本,其中,m1》m2。
[0113]
类似的,不可靠样本为图像时,不可靠样本的数量与所述第一样本图像的总数量的占比随着训练轮数的增加而减小。例如:在第一轮训练的过程中,将信息熵最大的前n1帧第一样本图像确定为不可靠样本;在第十轮训练的过程中,将信息熵最大的前n2帧第一样本图像确定为不可靠样本,其中,n1》n2。
[0114]
通过动态调整不可靠样本的占比,可以以提高确定不可靠样本的准确性,进而利用不可靠样本训练的模型的精度也会提高。
[0115]
在一些实施例中,为了更准确地确定不可靠样本的数量,不可靠样本的数量可以基于当前的训练轮数与训练总轮数的比值确定。
[0116]
例如,假设预先设置需要对预设的模型进行100轮训练,在对无标签的第一样本图像中各像素点所属的类别进行预测时,第一轮训练时不可靠样本的数量可以为第一样本图像中像素点的总数量的十分之一;第十轮训练时不可靠样本的数量可以为第一样本图像中像素点的总数量的百分之一;第100轮训练时不可靠样本的数量可以为第一样本图像中像素点的总数量的千分之一。同理,对无标签的第一样本图像所属的类别进行预测时,不可靠
样本的数量与所述第一样本图像的总数量的占比可以基于当前的训练轮数与训练总轮数的比值确定,本说明书实施例对此不再进行赘述。利用上述方法确定不可靠样本,可以提高用于训练模型的不可靠样本的准确性,进而提高训练出来的模型的精度。当然,上述实施例只是示例性的,并不作为本公开的限定。
[0117]
在一些实时例中,还可以通过以下公式(2)计算所述占比:
[0118][0119]
其中,α0表示不可靠样本数量的初始占比,α
t
表示第t轮训练时不可靠样本的占比,总训练的轮数为total_epoch,当前训练轮数为t。在一些实施例中,为了保证负样本的准确性与实用性,确定负样本的方式可以是针对每个不可靠样本,基于每个不可靠样本属于预设的多个类别中的每个类别的概率的大小对该多个类别进行排序处理,例如按照每个类别的概率从大到小的顺序进行排序,并去除排在前面的的若干个类别,将剩余的类别作为不可靠样本不属于的目标类别,也可以是在对该多个类别进行排序处理之后,选取排在中间的若干个类别作为不可靠样本不属于的目标类别;进而基于不可靠样本不属于的目标类别构建相应的负样本。
[0120]
其中,去除概率最大的若干类别(即上述排在前面的若干个类别)是因为,概率最大的若干个类别,不可靠样本属于这些类别的概率较大,这些类别作为不可靠样本不属于的目标类别的准确性比较低,因而不适合用于构建负样本。例如,不可靠样本x为类别y的概率为60%,那么说明不可靠样本x为类别y的概率较大,此时并不适合将不可靠样本x作为y类别的负样本。
[0121]
其中,选取排在中间的若干个类别作为不可靠样本不属于的目标类别,相当于去除了排在前面的若干个类别和排在后面的若干个类别。去除概率最小的若干个类别(排在后面的若干个类别),是因为对于概率最小的若干个类别,模型已经能够比较准确地预测出不可靠样本不属于这些类别,如果再利用这些不可靠样本作为这些类别的负样本对模型进行训练,则对模型性能提升不大,即这样构建出来的负样本是没有价值的负样本。例如,不可靠样本x为类别y的概率为0,那么预测结果已经能够准确确定不可靠样本x大概率不为类别y,若再将不可靠样本x作为目标类别y的负样本训练模型,对模型精度的提升并没有帮助。
[0122]
以一个具体的例子加以说明,对无标签的第一样本图像中各像素点所属的类别进行预测时,不可靠像素点d的预测结果为:像素点d为“人”的概率为30%,为“树”的概率为30%,为“建筑物”的概率为30%,为“花”的概率为5%,为“草”概率为5%,为“太阳”的概率为0,为“月亮”的概率为0。对上述像素点d属于的多个类别的概率进行排序,像素点d为“人”“树”“建筑物”的概率最大,都为30%,即表示该预测结果无法准确确定像素点d究竟时“人”“树”还是“建筑物”;由于这三种类别的概率最大,像素点d不适合作为“人”、“树”或“建筑物”这几个类别的负样本,因此在确定像素点d的目标类别时可以去除这三种类别。
[0123]
在一些实施例中,像素点d为“太阳”“月亮”的概率都为0,即表示该预测结果能够准确确定像素点d不是“太阳”或“月亮”这两个类别,因此,若将像素点d作为“太阳”或“月亮”的负样本去训练预设的模型的话,对模型的性能提升不大。因此,在确定目标类别时也
可以去除“太阳”和“月亮”这两种类别,不构建像素点d不属于“太阳”或“月亮”的负样本。进而,最终可以确定不可靠像素点d为目标类别“花”和“草”的负样本。即通过上述方式,可以准确确定出不可靠样本不属于的目标类别,进而根据不可靠样本以及不可靠样本不属于的目标类别构建负样本;进一步利用负样本训练模型,以提高所训练的模型的精度。
[0124]
当然,上述实施例只是示例性的,在实际应用过程中,去除排在首尾的若干类别的数量可以根据实际情况而定,例如预设有21个类别,某样本的预测结果中,由于每个类别对应一个概率值;可以将该21个类别按照各自对应的概率值的大小将21个类别从大到小的排序,则目标类别可以确定为排在第3-15位的类别,也可以是确定为排在第4-12位的类别,以选择出最合适的目标类别,本公开对此不作限定。
[0125]
在一些实施例中,构建负样本之后,利用负样本对预设的模型进行训练的方式可以有多种。比如,在一些实施例中,可以将第一样本图像输入至预设的模型中,基于模型输出的负样本属于目标类别的概率与该负样本的实际概率(即0)的差异确定第一目标损失;然后利用第一目标损失对该预设的模型进行训练,以得到分类模型。例如:将第一样本图像输入至预设的模型中,预设模型输出不可靠像素点e所属目标类别“人”的概率为10%,其中,不可靠像素点e为“人”这一类别的负样本(即为“人”的概率为0),因而基于上述“10%”与“0”的差异,可以确定第一目标损失,然后基于第一目标损失不断调整模型的参数,对预设模型进行训练,以得到分类模型。
[0126]
当然,上述实施例也适用于以第一样本图像中每帧图像作为不可靠样本的实施例,本公开实施例在此不再赘述。
[0127]
在另一些实施例中,确定目标类别的负样本之后,也可以利用目标类别的负样本,以及属于目标类别的正样本构建对比学习样本,利用构建的对比学习样本对模型进行训练。其中,正样本可以基于人工标注的标签确定,也可以基于根据预测结果确定的伪标签确定。比如,针对任一目标类别,确定属于目标类别的至少两个正样本,该正样本可以是像素点或图像;利用目标类别的负样本以及该至少两个正样本构建对比学习样本,对预设的模型进行训练,以得到分类模型。
[0128]
举个例子,针对于目标类别“人”,可以确定“属于人”的至少两个目标像素点(正样本),以及“不属于人”的不可靠像素点(负样本),基于上述两个目标像素点以及“不属于人”的不可靠像素点构建对比学习样本,对模型进行训练,以得到分类模型。其中,确定的目标像素点可以是携带真实标签的像素点,也可以是基于预测结果确定了伪标签的像素点。
[0129]
当然,上述实施例同样适用于样本为图像的场景,对此本说明书实施例不再进行赘述。基于上述实施例,可以结合目标类别的正样本和负样本训练预设的模型,以提高模型的精度。
[0130]
在一些实施例中,为了进一步提高所训练的模型的精度,基于目标类别的负样本和至少两个正样本训练预设的模型时,可以分别对负样本和正样本进行特征提取,以得到负样本的目标特征和正样本的目标特征;其中,目标特征与样本所属的类别相关,即目标特征为对样本分类有帮助的特征。例如,目标类别为“人”时,上述正样本为“属于人”的样本,上述负样本即为“不属于人”的样本,所提取的目标特征即为表征该样本所属类别相关的特征,即可以用于辅助判定该样本的类别。
[0131]
由于属于同一类别的两个图像或像素点,其目标特征的相似度必然要大于不属于
同一类别的两个图像或像素点的目标特征的相似度,因而,在提取了目标特征后,可以基于负样本的目标特征与上述至少两个正样本中的任一个的目标特征的相似度、以及上述至少两个正样本的目标特征之间的相似度确定第二目标损失;利用第二目标损失对预设的模型进行训练,以得到分类模型。
[0132]
例如,负样本为“不属于人”的样本;两个正样本为“属于人”的样本。负样本的目标特征与正样本的目标特征的相似度会较低;而两个正样本的目标特征之间的相似度会较高。因而,可以利用上述两个相似度确定出第二目标损失,再利用第二目标损失对预设的模型进行训练,以得到分类模型。
[0133]
在一些实施例中,还可以通过以下公式(3)计算第二目标损失:
[0134][0135]
其中,c表示类别总数,m表示当前的正样本总数。z
ci
表示当前像素点或当前图像的目标特征,z
+ci
表示正样本的目标特征,z-cij
表示负样本目标特征。
[0136]
当然,在利用负样本和至少两个正样本对模型进行训练时,也可以直接将负样本以及两个正样本输入至待训练的模型,根据输出至少两个正样本属于目标类别的概率之间的相似度,或者任一正样本属于目标类别的概率与负样本属于目标类别的概率的相似度构建第二目标损失。
[0137]
在一些实施例中,除了确定第一样本图像中的不可靠样本,还可以基于预测结果从第一样本图像中确定可靠样本,其中,可靠样本为预测结果的可靠度高于预设阈值的像素点或图像。然后可以基于预测结果确定可靠样本的伪标签,例如伪标签可以用于指示可靠样本所属的类别为预测结果中概率最大的类别。在基于负样本对预设的模型进行训练时,为了提升模型的精度,可以同时结合负样本、携带伪标签的可靠样本以及携带真实标签的第二样本图像对预设的模型进行训练,其中,真实标签为人工标注的,用于指示第二样本图像所属的类别,或者第二样本图像中的像素点所属的类别。
[0138]
当然,也可以结合负样本、携带伪标签的可靠样本对预设的模型进行训练,或者可以结合负样本以及携带真实标签的第二样本图像对预设的模型进行训练,具体可以根据实际需求设置。
[0139]
在结合负样本、携带伪标签的可靠样本以及携带真实标签的第二样本图像对预设的模型进行训练时,可以基于负样本确定第一损失;比如,可以将第一样本图像输入至预设的模型中,基于模型输出的负样本属于目标类别的概率与该负样本的实际概率(即0)的差异确定第一损失。或者,也可以针对该负样本不属于的目标类别,确定属于该目标类别的至少两个正样本,利用该至少两个正样本以及该负样本构建对比学习样本,然后利用该对比学习样本构建第一损失,具体的方式可以参照上述实施例中的描述,在此不再赘述。
[0140]
然后可以基于预设的模型输出的第一样本图像的中可靠样本的预测结果与伪标
签的差异确定第二损失;基于预设的模型输出的第二样本图像的预测结果与真实标签的差异确定第三损失。结合上述第一损失、第二损失以及第三损失,得到第三目标损失,进而利用第三目标损失训练预设的模型。
[0141]
结合上述第一损失、第二损失以及第三损失,得到第三目标损失的方式有很多,比如,可以取三者的和,或者三者的加权平均值作为第三目标损失。在一些实施例中,可以通过以下公式(4)确定第三目标损失:
[0142]
l=λsls+λulu+λclc
ꢀꢀ
公式(4)
[0143]
其中,l代表第三目标损失,ls代表第一损失,lu代表第二损失,lc代表第三损失,λs、λu、λc分别为ls、lu、lc的系数,这些系数的取值可以根据实际情况确定。当然,也可以通过其它计算方式,利用第一损失、第二损失和第三损失计算第三目标损失,对此本公开不作限定。
[0144]
基于此,充分利用了有标签样本以及无标签样本中的可靠样本和不可靠样本训练模型,增大了训练样本的数量,进一步提高模型的精度。
[0145]
在本说明书实施例中,对第一样本图像的分类信息进行预测,得到预测结果所用到的模型和基于负样本对模型进行训练中所用到的模型可以是同一个模型。但是,这种实现方式下,所训练出来的结果可能不够准确。通过单个模型自己预测,并根据自己预测的结果确定负样本,以基于负样本进行自我训练,这种方式可能会导致模型在预测错误时,使得后续训练的方向也是错误的,最终导致训练出来的模型精度不高,甚至可能模型分类的结果与实际值相反。
[0146]
因此,在一些实施例中,模型结构可以遵循mean-teacher模式,模型训练过程中可以采用两个模型同时训练的方式,即学生-老师模型的训练方式。通过老师模型对无标签的第一样本图像中的分类信息进行预测,得到预测结果;基于负样本对学生模型进行训练,再基于最终训练得到的学生模型得到分类模型。其中,学生模型和老师模型可以是结构一致,但参数不同的模型。当然,在一些实施例中,学生模型和老师模型的结构和参数也可以均不一致。
[0147]
在一些实施例中,模型训练时可以分别使用结构相同,参数不同的老师模型和学生模型;可以对学生模型采用更激进的方式训练,比如,在调整学生模型的参数时,可以以更大的幅度调整学生模型的参数。老师模型的参数则是基于学生模型的参数得到的,比如,可以综合当前老师模型的参数和学生模型的参数,更新老师模型参数,因此,老师模型的参数相对于学生模型的参数而言,变化幅度更小,进而保证老师模型的参数稳定缓慢地变化。
[0148]
通过利用参数平缓调整的老师模型对无标签的第一样本的分类信息进行预测,使得预测结果更可靠;再利用更可靠的预测结果确定负样本,进而利用负样本去训练学生模型,可以保证训练的学生模型精度更高,使得可以基于学生模型得到精度更高的分类模型。
[0149]
在一些实施例中,由于训练得到的学生模型,具备了分类的能力,因此可以直接将训练得到的学生模型作为分类模型。当然,也可以利用训练后的学生模型的参数更新老师模型的参数,以将更新参数后的老师模型作为分类模型。由于学生模型的参数变化更激进,老师模型的参数变化更平缓,因此,相对来说老师模型的精度会更高,因此将老师模型作为分类模型,可以使分类模型的精度更高。
[0150]
对老师-学生模型的训练可以是利用所有样本数据(比如,可以是负样本、携带伪
标签的可靠样本以及携带真实标签的第二样本图像)进行单轮训练,也可以是多轮训练。为了提升模型的精度,一般会对老师-学生模型进行多轮训练。比如,可以利用老师模型对无标签的第一样本图像的分类信息进行预测,得到预测结果;基于预测结果从第一样本图像中确定不可靠样本,其中,随着训练轮数的变化,不可靠样本的比例也可以逐渐减小;然后基于预测结果确定不可靠样本,并确定不可靠样本不属于的目标类别,基于不可靠样本以及不可靠样本不属于的目标类别构建负样本,基于负样本对学生模型进行训练,基于训练后的学生模型的参数更新老师模型的参数。然后重复执行上述步骤直至满足预设的条件,再将参数更新后的老师模型作为分类模型。
[0151]
其中,满足预设的条件可以是训练轮数达到了预先设置的总轮数p轮,或者是老师模型的参数与学生模型的参数足够接近等等。参见图3,图3为上述循环训练的示意图,先将无标签的第一样本图像输入老师模型,经过老师模型的预测,确定出无标签的第一样本图像中的不可靠样本,并基于不可靠样本以及不可靠样本不属于的目标类别构建负样本,将负样本输入学生模型以训练学生模型;可以再将训练后的学生模型的参数更新老师模型的参数。然后重复上述步骤。可以预先设置重复p轮上述步骤,即当重复的轮数达到p时,停止训练,然后将参数更新后的老师模型作为分类模型。也可以是当老师模型的参数与学生模型的参数足够相近,例如老师模型的参数与学生模型的参数差异小于一定阈值时,停止训练,然后将参数更新后的老师模型作为分类模型。
[0152]
在上述多轮训练的过程中,除了利用负样本训练学生模型外,还可以结合携带有伪标签的可靠样本和/或携带有真实标签的第二样本图像训练学生模型,对此本公开实施例不作限定。
[0153]
通过对老师-学生模型的多轮训练,可以进一步提高最终训练得到的老师-学生模型的精度,进而提高得到的分类模型的精度。
[0154]
其中,学生模型可以是通过有标签样本对初始模型训练而得到的。比如,可以根据携带真实标签的第二样本图像,对初始模型进行训练,训练得到的模型即为学生模型。在得到学生模型后,利用学生模型的参数对初始模型的参数进行更新,得到老师模型。
[0155]
在利用样本图像训练学生模型时,学生模型的参数可以根据反向传播算法(bp)进行更新。然后利用学生模型的参数更新老师模型的参数,在更新老师模型的参数的过程中,可以以ema(exponential moving average,指数移动平均值)的形式,结合老师模型自身的当前参数与学生模型的参数进行更新。
[0156]
具体的,利用学生模型的参数更新老师模型的参数可以是对学生模型的参数和老师模型的参数进行加权平均处理,得到目标参数,利用目标参数替换老师模型当前的参数。
[0157]
在一些实施例中,可以利用以下计算公式(5)进行目标参数的计算:
[0158]
p=αp1+(1-α)p2
ꢀꢀ
(公式5)
[0159]
其中,p1表示当前学生模型的参数,p2表示当前老师模型的参数,α表示预设的系数值,p表示目标参数。
[0160]
采用上述加权平均的方式计算目标参数,可以使得老师模型的参数变化更平稳,使得老师模型的精度更高。进而,基于老师模型得到的分类模型精度更高。在本说明书实施例中,也可以采用其它计算方式计算目标参数,上述系数的取值具体可以根据实际情况而定,对此本公开不作限定。
[0161]
在一些实施例中,老师模型或学生模型的结构可以包括主干网络、第一网络分支和第二网络分支。主干网络用于对输入至老师模型或学生模型的图像进行特征提取。第一网络分支用于基于主干网络提取的特征对图像的分类信息进行预测,得到预测结果。第二网络分支用于基于主干网络提取的特征,得到图像或图像的像素点的目标特征。其中,目标特征为与图像或图像的像素点所属的类别相关的特征。
[0162]
结合图4所示,以图像的像素点为样本为例,主干网络提取像素点1、像素点2、像素点3的特征、像素点4的特征;第一网络分支根据主干网络提取的特征,分别对上述四个像素点的分类信息进行预测,得到上述像素点属于各个类别概率。第二网络分支根据主干网络提取的特征,确定上述像素点的目标特征。
[0163]
当然,学生模型和老师模型的结构也不局限于上述结构,例如,确定图像或像素点的目标特征也可以是另一个模型所执行的操作。也就是说,可以是由非学生模型,也非老师模型的模型x确定图像或像素点的目标特征,而学生模型和老师模型只进行分类信息的预测。但是本公开实施例中采用学生模型或老师模型包含上述主干网络、第一网络分支和第二网络分支的结构,使得学生模型和老师模型既可以对图像的分类信息进行预测,同时,在对图像的分类信息进行预测的过程中,可以提取图像或图像中的像素点的目标特征,然后可以基于构建的对比学习样本的目标特征的相似度来构建损失,对模型进行训练,从而,可以充分利用不可靠样本。
[0164]
在一些实施例中,老师模型或学生模型提取了不属于目标类别的负样本的目标特征后,还可以将负样本的目标特征与该目标类别对应存储。比如,可以存储于memory bank(内存库)中,如图4所示。具体的,以负样本像素点3为例,可以将像素点3不属于的目标类别a与像素点3的目标特征对应存储。当然,针对可靠样本和携带真实标签的样本,同样可以利用老师模型或学生模型提取其目标特征,并存储在memory bank中,然后可以利用memory bank中存储的数据构建对比学习样本,用于训练模型。比如,memory bank中除了可以存放负样本像素点3和负样本像素点4不属于的目标类别(即不属于a类别),以及其目标特征,还可以存放像素点1和像素点2属于的目标类别(即属于a类别),以及其目标特征。当然,像素点1或像素点2可以是携带伪标签的可靠样本,也可以是携带真实标签的第二样本图像。图4中memory bank的存储内容只是示例性的,并不作为本公开实施例的限定。
[0165]
基于上述存储的数据,在训练模型时,即可从memory bank的库中确定一个或多个目标类别的负样本,及负样本的目标特征,和/或一个或多个携带真实标签或携带伪标签的样本,及携带真实标签或携带伪标签的样本的目标特征。基于获取的上述样本即可以构建对比学习样本,进行模型训练。
[0166]
上述实施例是以图像的像素点作为样本为例,当然也可以以图像作为样本,对此本公开实施例不再赘述。当然,除了以像素点和图像作为样本外,还可以是以像素块作为样本等等,对此,本公开实施例不作限定。
[0167]
需要指出的是,在不冲突的情况下,上述各实施例可以自由组合,鉴于篇幅原因,在此不再赘述。
[0168]
为了进一步解释本公开实施例提供的图像处理方法,以下结合一个具体的实施例加以解释,参见图5,图5为本公开一个具体的实施例的流程图。
[0169]
首先,在s501中,利用携带真实标签的第二样本图像对初始模型进行训练,得到学
生模型;其中,真实标签用于指示第二样本图像的分类信息。其中,真实标签可以是人工标注的标签,例如可以是对第二样本图像所属类别进行标注,也可以是对第二样本图像中的各像素点所属类别进行标注,得到的标签。利用携带真实标签的第二样本图像对初始模型进行训练,得到的学生模型具备一定的分类能力。
[0170]
在s502中,利用学生模型的参数对该初始模型的参数进行更新,得到老师模型。更新的方式可以是将学生模型的参数与初始模型的参数进行加权平均处理,具体的系数可以预先设置。
[0171]
在s503中,将无标签的第一样本图像输入上述步骤得到的老师模型中,无标签的第一样本图像可以是没有进行人工标注的第一样本图像。
[0172]
在s504中,然后利用老师模型对无标签的第一样本图像的分类信息进行预测,得到预测结果。老师模型在对第一样本图像进行预测后,能够得到第一样本图像属于各分类的分类信息。例如,可以是得到第一样本图像中各像素点的所属的类别,也可以是得到第一样本图像所属的类别等。根据上述预测结果,将无标签的第一样本图像分为可靠样本和不可靠样本。
[0173]
在确定第一样本图像中样本为可靠样本或不可靠样本时,可以是基于老师模型预测结果中各像素点或各图像所属的每个类别的概率确定各像素点或各图像的信息熵。进而,可以将信息熵最大的前m个像素点作为不可靠像样本或将信息熵最大的前n张图像作为不可靠样本。除了不可靠样本之外,其它样本可以是可靠样本。
[0174]
在s505中,确定可靠样本的伪标签。例如,可靠样本属于类别a的概率为5%,属于类别b的概率为10%,属于类别c的概率为85%。即,可确定该可靠样本大概率属于类别c,则该可靠样本的伪标签用于表征该可靠样本属于类别c。同时,还可以利用模型确定该可靠样本的目标特征,其中,目标特征为与样本所属类别相关的特征。进一步的,还可以将该可靠样本所属的类别c与该可靠样本的目标特征对应存储,例如可以存储于内存库中。
[0175]
在s506中,根据不可靠样本以及不可靠样本不属于的目标类别构建负样本。例如,不可靠样本属于类别a的概率为50%,属于类别b的概率为40%,属于类别c的概率为10%、属于d类别的概率为0%。即,可以将概率按照从大到小排序,并剔除排在首尾的若干个类别,比如,不可靠样本可能属于a、b类别中的一种,因而,确定目标类别时可以剔除a、b类别,此外,由于模型已经可以准确确定不可靠样本不属于d类别,因而,如果将不可靠样本作为d类别的负样本,对模型性能提升不大,所以,确定目标类别时可以剔除d类别。最终,可以将c类别作为不可靠样本不属于的目标类别,将该不可靠样本作为c类别的的负样本。
[0176]
同时,还可以利用模型确定该负样本的目标特征,其中,目标特征即为与类别c相关的特征。进一步的,还可以将该负样本不属于的目标类别与该负样本的目标特征对应存储,例如可以存储于内存库中。
[0177]
在s507中,可以利用携带有伪标签的可靠样本、负样本以及携带有真实标签的第二样本图像对学生模型进行训练。内存库中还可以存储携带有真实标签的样本的所属类别以及携带有真实标签的样本的目标特征。
[0178]
其中,老师模型与学生模型可以是结构相同、参数不同的模型。老师模型或学生模型的结构可以包括主干网络、第一网络分支和第二网络分支。主干网络用于对输入至老师模型或学生模型的图像进行特征提取。第一网络分支用于基于主干网络提取的特征对图像
的分类信息进行预测,得到预测结果。第二网络分支用于基于主干网络提取的特征,得到图像或图像的像素点的目标特征。
[0179]
利用内存库中存储的负样本、携带伪标签的可靠样本、或携带真实标签的第二样本图像以及各样本的目标特征构建对比学习样本。比如,针对任一类别,可以基于内存库中存储的数据确定该类别的至少两个正样本(正样本包括携带伪标签的可靠样本和携带真实标签的样本)和至少一个负样本,然后确定正样本之间的目标特征的相似度1,以及正样本与负样本之间的目标特征的相似度2,然后基于相似度1和相似度2构建第一损失。
[0180]
学生模型输出对携带伪标签的可靠样本的分类信息的预测结果1,根据预测结果1与伪标签的差异确定第二损失;
[0181]
学生模型输出对第二样本图像的分类信息的预测结果2,根据预测结果2与真实标签的差异确定第三损失;
[0182]
结合第一损失、第二损失和第三损失,计算得出总损失,利用总损失反向传播调整学生模型的参数。计算总损失的方式可以是第一损失、第二损失和第三损失分别加权再相加,可以是其它计算方式。
[0183]
在本公开实施例中,可以针对学生模型进行多轮训练,每次训练完后,都对学生模型的参数和老师模型的参数进行加权平均处理,以更新老师模型的参数,然后将最终得到的老师模型作为分类模型。
[0184]
随着训练过程的推进,学生模型和老师模型的精度和性能不断提升,不可靠样本的比例应该是不断减少的。因此,在确定无标签样本中的不可靠样本时,可以是随着训练轮次的增加,不可靠样本的比例逐渐减少。
[0185]
基于上述训练方式得到的分类模型,可以充分利用无标签样本中的不可靠样本,进而提升分类模型的精度。
[0186]
相应的,本公开实施例还提供了一种图像处理装置,参见图6,所述装置包括:
[0187]
获取模块61,用于获取待处理的目标图像;
[0188]
预测模块62,用于利用预先训练的分类模型确定所述目标图像的分类信息,所述分类信息包括所述目标图像的各像素点所属的类别以及所述目标图像所属的类别中的至少一种,其中,所述分类模型基于以下方式训练得到:对无标签的第一样本图像进行预测,得到包含所述分类信息的预测结果;从所述第一样本图像中确定所述预测结果可靠度低于预设阈值的不可靠样本,并确定所述不可靠样本不属于的目标类别,所述不可靠样本包括像素点或图像;基于负样本对预设的模型进行训练,以得到所述分类模型,其中,所述负样本基于所述不可靠样本以及对应不属于的所述目标类别构建。
[0189]
其中,上述装置执行图像处理方法的具体步骤可以参考上述方法实施例中的描述,在此不再赘述。
[0190]
进一步的,本公开实施例还提供一种电子设备,参见图7,所述电子设备70包括处理器71、存储器72、存储于所述存储器可供所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中任一项所述的方法。
[0191]
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。
[0192]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法
或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0193]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
[0194]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0195]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0196]
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1