自编码器训练方法及组件,异常图像检测方法及组件与流程

文档序号:26855749发布日期:2021-10-09 03:51阅读:203来源:国知局
自编码器训练方法及组件,异常图像检测方法及组件与流程

1.本技术涉及计算机技术领域,特别涉及一种自编码器训练方法及组件,一种异常图像检测方法及组件。


背景技术:

2.目前,现有的自编码器存在恒等映射问题和泛化能力过强的问题。
3.恒等映射是指:由于自编码器的目的是使输出的重建图片与原始图片尽可能相似,在约束不充分的情况下,自编码器会倾向于直接将输入复制到输出,因为这样做的评价最优。恒等映射会导致自编码器未进行有意义的学习,对正常样本和异常样本都具有良好的重建能力,无法区分二者。
4.泛化能力过强是指:当正常图像与异常图像较为相似时,训练完成的自编码器难以区分二者,对未见过的异常图像仍具有良好的重建能力。
5.因此,如何提高自编码器对异常图像的检测准确率,是本领域技术人员需要解决的问题。


技术实现要素:

6.有鉴于此,本技术的目的在于提供一种自编码器训练方法及组件,一种异常图像检测方法及组件,以提高自编码器对异常图像的检测准确率。其具体方案如下:第一方面,本技术提供了一种自编码器训练方法,包括:从正常图像集中获取样本图像;随机遮挡所述样本图像中的部分区域,得到训练样本;将所述训练样本输入初始状态的自编码器,以使所述自编码器编码所述训练样本得到目标向量,并基于所述目标向量得到重建图像;计算所述重建图像与所述样本图像之间的第一损失;利用初始状态的向量判别器计算所述目标向量和采样向量之间的第二损失;所述采样向量从预设均匀分布中采样获得,且与所述目标向量具有相同维度;利用初始状态的重建判别器计算重建区域和所述部分区域之间的第三损失;所述重建区域为所述重建图像中与所述部分区域对应的区域;基于所述第一损失、所述第二损失和所述第三损失确定综合损失;若所述综合损失符合预设收敛条件,则将当前自编码器确定为仅对正常图像具有重建能力的自编码器,以利用当前自编码器检测异常图像。
7.优选地,还包括:若所述综合损失不符合预设收敛条件,则基于所述综合损失更新所述自编码器的参数,得到更新后的自编码器;基于所述第二损失更新所述向量判别器的参数,得到更新后的向量判别器;基于所述第三损失更新所述重建判别器的参数,得到更新后的重建判别器;
从所述正常图像集中重新获取样本图像,并执行后续步骤,以对更新后的自编码器、更新后的向量判别器和更新后的重建判别器进行迭代训练,直至所述综合损失符合预设收敛条件。
8.优选地,所述随机遮挡所述样本图像中的部分区域,得到训练样本,包括:利用矩形框随机遮挡所述样本图像中的部分区域,得到所述训练样本。
9.优选地,所述矩形框的长宽比例为1:1,且所述矩形框占所述样本图像的10%。
10.第二方面,本技术提供了一种异常图像检测方法,包括:将待检测图像输入训练完成的自编码器,以使所述自编码器编码所述待检测图像得到待检测向量,并基于所述待检测向量得到目标图像;所述自编码器按照上述训练方法训练得到;若所述目标图像与所述待检测图像的相似度小于预设阈值,则确定所述待检测图像为异常图像;否则,确定所述待检测图像为正常图像。
11.优选地,若所述待检测图像为交通监控图像,则所述异常图像中包括交通违法行为;若所述待检测图像为医学图像,则所述异常图像中包括病变部位。
12.第三方面,本技术提供了一种自编码器训练装置,包括:获取模块,用于从正常图像集中获取样本图像;遮挡模块,用于随机遮挡所述样本图像中的部分区域,得到训练样本;处理模块,用于将所述训练样本输入初始状态的自编码器,以使所述自编码器编码所述训练样本得到目标向量,并基于所述目标向量得到重建图像;第一计算模块,用于计算所述重建图像与所述样本图像之间的第一损失;利用初始状态的向量判别器计算所述目标向量和采样向量之间的第二损失;所述采样向量从预设均匀分布中采样获得,且与所述目标向量具有相同维度;第二计算模块,用于利用初始状态的重建判别器计算重建区域和所述部分区域之间的第三损失;所述重建区域为所述重建图像中与所述部分区域对应的区域;第三计算模块,用于基于所述第一损失、所述第二损失和所述第三损失确定综合损失;输出模块,用于若所述综合损失符合预设收敛条件,则将当前自编码器确定为仅对正常图像具有重建能力的自编码器,以利用当前自编码器检测异常图像。
13.第四方面,本技术提供了一种异常图像检测装置,包括:检测模块,用于将待检测图像输入训练完成的自编码器,以使所述自编码器编码所述待检测图像得到待检测向量,并基于所述待检测向量得到目标图像;所述自编码器按照上述训练方法训练得到;确定模块,用于若所述目标图像与所述待检测图像的相似度小于预设阈值,则确定所述待检测图像为异常图像;否则,确定所述待检测图像为正常图像。
14.第五方面,本技术提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序,以实现前述公开的任意方法。
15.第六方面,本技术提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的任意方法。
16.通过以上方案可知,本技术提供了一种自编码器训练方法,包括:从正常图像集中获取样本图像;随机遮挡所述样本图像中的部分区域,得到训练样本;将所述训练样本输入初始状态的自编码器,以使所述自编码器编码所述训练样本得到目标向量,并基于所述目标向量得到重建图像;计算所述重建图像与所述样本图像之间的第一损失;利用初始状态的向量判别器计算所述目标向量和采样向量之间的第二损失;所述采样向量从预设均匀分布中采样获得,且与所述目标向量具有相同维度;利用初始状态的重建判别器计算重建区域和所述部分区域之间的第三损失;所述重建区域为所述重建图像中与所述部分区域对应的区域;基于所述第一损失、所述第二损失和所述第三损失确定综合损失;若所述综合损失符合预设收敛条件,则将当前自编码器确定为仅对正常图像具有重建能力的自编码器,以利用当前自编码器检测异常图像。
17.可见,本技术预设了初始状态的自编码器、初始状态的向量判别器、初始状态的重建判别器。在某一次迭代过程中,对样本图像随机遮挡后送入自编码器进行训练,可使训练过程变更为图像修复任务,图像修复任务能够使自编码器学习更深层次的图像特征(如:遮挡区域和未遮挡区域之间的上下文信息),从而降低了恒等映射出现的可能性。同时,向量判别器可约束样本向量接近均匀分布,也即:约束自编码器编码图像所得的向量接近均匀分布,那么自编码器编码异常图像所得的向量也会接近均匀分布,故而自编码器输出的异常图像会接近于正常图像,此时自编码器对异常图像的重建能力就得到了约束,即:自编码器对异常图像无法准确实现重建,仅对正常图像具有良好的重建能力,那么自编码器会更容易检测出异常图像,降低了自编码器的泛化能力。在一次迭代过程中,本技术利用同一个样本图像对自编码器、向量判别器、重建判别器分别训练,可使自编码器提升自身对图像的重建能力,使向量判别器提升自身判别样本向量和采样向量的能力,从而约束样本向量更接近均匀分布,使重建判别器提升自身判别原遮挡区域和重建所得遮挡区域的能力,从而使自编码器借助重建判别器提升图像重建能力,据此对抗训练和学习,降低了恒等映射出现的可能性和自编码器的泛化能力,最终使得自编码器仅对正常图像具有良好的重建能力,从而提升自编码器对异常图像的检测准确率。
18.相应地,本技术提供的一种自编码器训练方法及组件,一种异常图像检测方法及组件,组件包括:装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
20.图1为本技术公开的一种自编码器训练方法流程图;图2为本技术公开的一种异常图像检测方法流程图;图3为本技术公开的一种自编码器训练装置示意图;图4为本技术公开的一种异常图像检测装置示意图;图5为本技术公开的一种电子设备示意图;图6为本技术公开的一种自编码器训练流程示意图。
具体实施方式
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.目前,现有的自编码器存在恒等映射问题和泛化能力过强的问题。为此,本技术提供了一种训练方案,能够提高自编码器对异常图像的检测准确率。
23.参见图1所示,本技术实施例公开了一种自编码器训练方法,包括:s101、从正常图像集中获取样本图像。
24.s102、随机遮挡样本图像中的部分区域,得到训练样本。
25.在一种具体实施方式中,随机遮挡样本图像中的部分区域,得到训练样本,包括:利用矩形框随机遮挡样本图像中的部分区域,得到训练样本。其中,矩形框的长宽比例为1:1,且矩形框占样本图像的10%。当然,矩形框的长宽比例可以为其他,矩形框占样本图像的比例也可以灵活调整。
26.其中,遮挡样本图像中的部分区域的具体手段是:往这部分区域里面添加高斯噪声。
27.s103、将训练样本输入初始状态的自编码器,以使自编码器编码训练样本得到目标向量,并基于目标向量得到重建图像。
28.s104、计算重建图像与样本图像之间的第一损失。
29.其中,重建图像与样本图像之间的第一损失可以采用任意损失函数进行计算,即:逐一对比重建图像的各个像素点和样本图像的各个像素点,基于两个图像中同一位置的像素点之间的差异确定第一损失。
30.s105、利用初始状态的向量判别器计算目标向量和采样向量之间的第二损失;采样向量从预设均匀分布中采样获得,且与目标向量具有相同维度。
31.s106、利用初始状态的重建判别器计算重建区域和部分区域之间的第三损失;重建区域为重建图像中与部分区域对应的区域。
32.在本实施例中,s104、s105、s106可以并行执行,也可以不分先后顺序分别执行。s110、s111、s112可以并行执行,也可以不分先后顺序分别执行。
33.s107、基于第一损失、第二损失和第三损失确定综合损失。
34.s108、判断综合损失是否符合预设收敛条件;若是,则执行s109;若否,则执行s110。
35.s109、将当前自编码器确定为仅对正常图像具有重建能力的自编码器,以利用当前自编码器检测异常图像。
36.s110、基于综合损失更新自编码器的参数,得到更新后的自编码器。
37.s111、基于第二损失更新向量判别器的参数,得到更新后的向量判别器。
38.s112、基于第三损失更新重建判别器的参数,得到更新后的重建判别器,并执行s101,以从正常图像集中重新获取样本图像后,执行后续步骤对更新后的自编码器、更新后的向量判别器和更新后的重建判别器进行迭代训练,直至综合损失符合预设收敛条件。
39.需要说明的是,初始状态的自编码器可以基于卷积神经网络进行搭建,也基于采
用生成式对抗网络中的生成器。初始状态的向量判别器和重建判别器可以采用生成式对抗网络中的判别器。
40.在某一次迭代过程中,对样本图像随机遮挡后送入自编码器进行训练,可使训练过程变更为图像修复任务,图像修复任务能够使自编码器学习更深层次的图像特征(如:遮挡区域和未遮挡区域之间的上下文信息),从而降低了恒等映射出现的可能性。
41.向量判别器可约束样本向量接近均匀分布,也即:约束自编码器编码图像所得的向量接近均匀分布,那么自编码器编码异常图像所得的向量也会接近均匀分布,故而自编码器输出的异常图像会接近于正常图像,此时自编码器对异常图像的重建能力就得到了约束,即:自编码器对异常图像无法准确实现重建,仅对正常图像具有良好的重建能力,那么自编码器会更容易检测出异常图像,降低了自编码器的泛化能力。
42.可见,本实施例预设了初始状态的自编码器、初始状态的向量判别器、初始状态的重建判别器。在一次迭代过程中,利用同一个样本图像对自编码器、向量判别器、重建判别器分别训练,可使自编码器提升自身对图像的重建能力,使向量判别器提升自身判别样本向量和采样向量的能力,从而约束样本向量更接近均匀分布,使重建判别器提升自身判别原遮挡区域和重建所得遮挡区域的能力,从而使自编码器借助重建判别器提升图像重建能力,据此对抗训练和学习,降低了恒等映射出现的可能性和自编码器的泛化能力,最终使得自编码器仅对正常图像具有良好的重建能力,从而提升自编码器对异常图像的检测准确率。
43.参见图2所示,本技术实施例公开了一种异常图像检测方法,包括:s201、将待检测图像输入自编码器,以使自编码器编码待检测图像得到待检测向量,并基于待检测向量得到目标图像;该自编码器按照上述训练方法训练得到;s202、判断目标图像与待检测图像的相似度是否小于预设阈值;若是,则执行s203;若否,则执行s204;s203、确定待检测图像为异常图像;s204、确定待检测图像为正常图像。
44.由上文可知,本技术训练得到的自编码器仅对正常图像具有良好的重建能力,而无法重建异常图像,因此若自编码器输出的图像与输入图像差异较大(即:二者相似度较小),那么说明当前输入图像为异常图像;否则,说明当前输入图像为正常图像。
45.在一种具体实施方式中,若待检测图像为交通监控图像,则异常图像中包括交通违法行为;若待检测图像为医学图像,则异常图像中包括病变部位。可见,该识别图像可以是交通监控图像、商场监控图像、医学图像等。
46.当待检测图像为交通监控图像时,上述实施例s101中的正常图像集则为:未包括违规行为的多个交通出行图像。当待检测图像为医学图像时,上述实施例s101中的正常图像集则为:未包括病变部位的多个医学图像。可见,训练自编码器所用的正常图像集需要与自编码器的使用场景对应。当然,还可以使用自编码器检测图像,以确定是否有偷窃、暴乱等行为。
47.可见,使用本实施例提供的自编码器,可以准确检测出异常图像。
48.下面对本技术实施例提供的一种自编码器训练装置进行介绍,下文描述的一种自编码器训练装置与上文描述的一种自编码器训练方法可以相互参照。
49.参见图3所示,本技术实施例公开了一种自编码器训练装置,包括:获取模块301,用于从正常图像集中获取样本图像;遮挡模块302,用于随机遮挡样本图像中的部分区域,得到训练样本;处理模块303,用于将训练样本输入初始状态的自编码器,以使自编码器编码训练样本得到目标向量,并基于目标向量得到重建图像;第一计算模块304,用于计算重建图像与样本图像之间的第一损失;利用初始状态的向量判别器计算目标向量和采样向量之间的第二损失;采样向量从预设均匀分布中采样获得,且与目标向量具有相同维度;第二计算模块305,用于利用初始状态的重建判别器计算重建区域和部分区域之间的第三损失;重建区域为重建图像中与部分区域对应的区域;第三计算模块306,用于基于第一损失、第二损失和第三损失确定综合损失;输出模块307,用于若综合损失符合预设收敛条件,则将当前自编码器确定为仅对正常图像具有重建能力的自编码器,以利用当前自编码器检测异常图像。
50.在一种具体实施方式中,还包括:第一更新模块,用于若综合损失不符合预设收敛条件,则基于综合损失更新自编码器的参数,得到更新后的自编码器;第二更新模块,用于基于第二损失更新向量判别器的参数,得到更新后的向量判别器;第三更新模块,用于基于第三损失更新重建判别器的参数,得到更新后的重建判别器;迭代模块,用于从正常图像集中重新获取样本图像,并执行后续步骤,以对更新后的自编码器、更新后的向量判别器和更新后的重建判别器进行迭代训练,直至综合损失符合预设收敛条件。
51.在一种具体实施方式中,遮挡模块具体用于:利用矩形框随机遮挡样本图像中的部分区域,得到训练样本。
52.在一种具体实施方式中,矩形框的长宽比例为1:1,且矩形框占样本图像的10%。
53.其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
54.可见,本实施例提供了一种自编码器训练装置,该装置可以降低恒等映射出现的可能性和自编码器的泛化能力,最终使得自编码器仅对正常图像具有良好的重建能力,从而提升自编码器对异常图像的检测准确率。
55.下面对本技术实施例提供的一种异常图像检测装置进行介绍,下文描述的一种异常图像检测装置与上文描述的一种异常图像检测方法可以相互参照。
56.参见图4所示,本技术实施例公开了一种异常图像检测装置,包括:检测模块401,用于将待检测图像输入训练完成的自编码器,以使自编码器编码待检测图像得到待检测向量,并基于待检测向量得到目标图像;所述自编码器按照上述训练方法训练得到;确定模块402,用于若目标图像与待检测图像的相似度小于预设阈值,则确定待检测图像为异常图像;否则,确定待检测图像为正常图像。
57.在一种具体实施方式中,若待检测图像为交通监控图像,则异常图像中包括交通违法行为;若待检测图像为医学图像,则异常图像中包括病变部位。
58.其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
59.可见,本实施例提供了一种异常图像检测装置,可以准确检测出异常图像。
60.下面对本技术实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种任意方法及装置可以相互参照。
61.参见图5所示,本技术实施例公开了一种电子设备,包括:存储器501,用于保存计算机程序;处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
62.下面对本技术实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种任意方法、装置及设备可以相互参照。
63.一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的任意方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
64.为了更清楚地介绍本技术,下述实施例在降噪自编码器的基础上,添加了双重对抗学习模块,即:图像重建对抗学习模块和隐空间约束对抗学习模块,具体请参见图6。
65.其中,降噪自编码器一般执行的是降噪任务,也即:给训练图像(正常图像)添加随机分布的噪点后输入自编码器进行重建。本实施例为了增加图像重建的难度,将降噪任务改为图像修复任务,即:对图像添加矩形遮挡后输入自编码器进行重建。
66.改进后的降噪自编码器用于对添加遮挡的图像进行重建。相比于图像降噪任务,图像修复任务能够使自编码器学习遮挡区域与未遮挡区域的上下文信息,即:促使自编码器学习更深层次的图像特征,降低了恒等映射出现的可能。
67.其中,图像重建对抗学习模块能够提升遮挡区域的图像修复效果。该模块借鉴对抗生成网络的对抗学习思想,自编码器与该模块进行对抗学习。该模块中的判别器逐步提升对比重建所得的矩形遮挡区域和原图像该区域的能力,从而促使自编码器生成更逼真的重建图像,以混淆判别器。当训练完全时,意味着自编码器修复的遮挡区域与原图对应区域几乎没有区别。当然,此时自编码器修复的图像与原图也几乎没有区别。
68.其中,隐空间约束对抗学习模块能够抑制自编码器的泛化能力。该模块中的判别器可以约束输入样本的编码向量符合或接近于均匀分布,即:使样本向量以相同的概率分布在隐空间的任何位置。具体的,在每一次迭代中,将样本向量和随机从均匀分布(即图6中的u)中采样得到的向量送入判别器,以实现对二者的判别,以促使自编码器对输入样本的编码符合或接近于采样得到的向量。当判别器无法区分向量是来自于均匀分布的随机采样还是样本编码时,意味着正常样本在隐空间的分布符合(0,1)均匀分布。此时可认为隐空间已被符合均匀分布的正常样本填充,所以测试时异常样本的编码向量与现有的正常样本编码向量较接近,那么输入给自编码器的异常样本将与自编码器输出的重建图像差别较大,也即:自编码器无法针对异常样本进行良好地重建,从而更利于区分异常样本。
69.基于图6所示的训练过程,在每一次迭代中,自编码器会输出样本向量、重建图像;后续图像重建对抗学习模块从重建图像截取重建的遮盖区域,将其与原图中的遮盖区域进
行对比;隐空间约束对抗学习模块对比样本向量和随机采样向量;可见,一次迭代中可获得3个损失,这3个损失加权综合后可对自编码器进行更新,而图像重建对抗学习模块利用自身输出的损失更新自身中的判别器,隐空间约束对抗学习模块利用自身输出的损失更新自身中的判别器。据此迭代训练,直至3个损失加权综合所得的值不再变化,则认为符合收敛条件,此时输出自编码器,丢弃图像重建对抗学习模块和隐空间约束对抗学习模块。
70.当自编码器及双重对抗学习模块完成训练后,推理阶段时自编码器所有参数均冻结。仅使用自编码器进行推理,使用整体图像的重建相似度作为异常的判别标准,当相似度小于阈值时候,图像被识别为异常。推理时候自编码器可在服务器或者具有一定算力的边缘设备上运行。
71.按照本实施例可训练得到不同场景下需要的自编码器,包括但不限于监控视频分析、医学图像检测、智能交通系统等场景。应用到新的场景时,自编码器、判别器的结构不用做任何改变,只需要使用新场景下的数据集重新训练即可。
72.将本实施例训练所得的自编码器在mnist、cifar10、ucsd

ped2这3个开源数据集上进行实验验证,在以auc(area under the curve,曲线下面积)作为性能评价指标时,该方案在上述三个数据集上分别取得了0.940,0.642,0.941的优异分类性能。其中,auc是分类任务的一种性能评价指标,取值区间0

1,取值越大表示性能越好。
73.其中mnist为0

9的手写体数据集,cifar10为自然图像10分类数据集,ucsd

ped2为监控场景的专用异常检测数据集。
74.可见,本实施例能够促使自编码器学习到更深刻的特征,并且使异常编码向量与正常样本的编码向量较为接近,降低了自编码器的泛化能力,还解决了恒等映射问题,提升了自编码器的异常检测性能。
75.本技术涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
76.需要说明的是,在本技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
77.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
78.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的可读存储介质中。
79.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1