CN115294007A - 故障图像生成方法与装置 - Google Patents
故障图像生成方法与装置 Download PDFInfo
- Publication number
- CN115294007A CN115294007A CN202110914815.0A CN202110914815A CN115294007A CN 115294007 A CN115294007 A CN 115294007A CN 202110914815 A CN202110914815 A CN 202110914815A CN 115294007 A CN115294007 A CN 115294007A
- Authority
- CN
- China
- Prior art keywords
- image
- fault
- failure
- fault image
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000012549 training Methods 0.000 claims description 135
- 238000012545 processing Methods 0.000 claims description 70
- 230000015654 memory Effects 0.000 claims description 67
- 230000009466 transformation Effects 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 21
- 230000006835 compression Effects 0.000 claims description 9
- 238000007906 compression Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000005012 migration Effects 0.000 claims description 6
- 238000013508 migration Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 description 60
- 238000013527 convolutional neural network Methods 0.000 description 40
- 238000011176 pooling Methods 0.000 description 35
- 238000013519 translation Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 31
- 239000011159 matrix material Substances 0.000 description 28
- 230000006870 function Effects 0.000 description 25
- 238000000605 extraction Methods 0.000 description 21
- 239000013598 vector Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 238000003062 neural network model Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 13
- 238000003672 processing method Methods 0.000 description 12
- 230000001537 neural effect Effects 0.000 description 11
- 230000007547 defect Effects 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 230000002950 deficient Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
一种故障图像生成方法和装置,故障图像生成方法包括:获取非故障图像和第一故障图像,非故障图像中记录了未发生故障的第一物体,第一故障图像中记录了发生故障的第二物体,第一物体和第二物体的类型不同;将第一故障图像中第二物体的故障图案迁移至非故障图像中的第一物体上,获得第二故障图像,第二故障图像展示故障状态下的第一物体。利用记录其他类型物体的故障图案对某种类型物体的部分图像进行替换,以得到该某种类型的物体的第二故障图像,提高故障图案获取的广泛性和灵活性,增加第二故障图像中故障类型的多样性。
Description
技术领域
本申请涉及计算机领域,并且更具体地,涉及一种故障图像生成方法与装置。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
对表面缺陷的检测是工业质检中的重要环节,也是把控产品质量的关键步骤,可以避免有缺陷的产品流入市场,避免在有缺陷的产品使用过程中带来危害。基于计算机视觉的故障检测算法可以利用神经网络模型,实现表面缺陷检测,帮助人们快速排除隐患。神经网络模型的训练过程需要大量的正常数据和故障数据供。在实际应用中故障数据的数量较少,难以满足神经网络模型的训练需求。
可以通过对正常数据进行人工调整,以得到故障数据。但是人工成本高,且效率较低。因此,如何提升故障数据的获得效率成为了亟待解决的问题。
发明内容
本申请提供一种故障图像生成方法,能够降低人工成本,提高处理效率。
第一方面,提供了一种故障图像生成方法,包括:获取非故障图像和第一故障图像,所述非故障图像中记录了未发生故障的第一物体,所述第一故障图像中记录了发生故障的第二物体,所述第一物体和所述第二物体的类型不同;将所述第一故障图像中所述第二物体的故障图案迁移至所述非故障图像中的所述第一物体上,获得第二故障图像,所述第二故障图像展示故障状态下的所述第一物体。
在故障图像的数量较少时,可以利用非故障图像和第一故障图像生成第二故障图像,以使得可以作为训练数据的故障图像包括第一故障图像和生成的第二故障图像,有效地增加了训练样本的数量。其中,非故障图像记录的第一物体和故障图像记录的第二物体不属于同类型的物体。也即,可以利用第一物体之外的其他物体对记录了第一物体的非故障图像进行加工,生成第二故障图像。通过扩充故障图案的来源,更有利于训练样本数量的增加,有效地提升了训练样本生成的效率。
非故障图像和第一故障图像是对不同类型的对象进行采集得到的。根据对于不同类型对象采集的第二故障图像确定的第一故障图像,对非故障图像进行调整,也就是说,可以利用其他类型物体的故障对某个物体的非故障图像中进行调整,提高第一故障图像获取范围的广泛性,增加第一故障图像来源的灵活性。从而在存在故障的、与第一物体具有相同类型的物体的图像数量较少的情况下,可以利用其他类型物体的第一故障图像与该第一物体的非故障图像,生成该第一物体的第二故障图像,提高生成某类型的物体的故障图像的灵活性。
结合第一方面,在一些可能的实现方式中,所述将所述第一故障图像中所述第二物体的故障图案迁移至所述非故障图像中的所述第一物体上,获得第二故障图像之前,所述方法包括:将所述非故障图像输入区域生成模型,确定所述非故障图像中所述故障图案迁移的目标区域。
利用区域生成模型,确定非故障图像的目标区域,能够提高效率,降低人工成本。
结合第一方面,在一些可能的实现方式中,所述将所述非故障图像输入区域生成模型,确定所述非故障图像中所述故障图案迁移的目标区域之前,所述方法包括:获取多张训练图像,所述训练图像中记录有未发生故障的、与第一物体同类型的物体;获取区域指示信息,所述区域指示信息用于指示所述训练图像中能够产生故障的区域;根据所述多张训练图像和所述区域指示信息,训练所述区域生成模型。
利用记录有未发生故障的、与第一物体同类型的物体的训练图像,以及指示训练图像中能够产生故障的区域的区域指示信息,训练区域生成模型,使得区域生成模型对用于第一物体所属类型的图像的处理结果具有更高的准确度。
结合第一方面,在一些可能的实现方式中,所述将所述第一故障图像中所述第二物体的故障图案迁移至所述非故障图像中的所述第一物体上,获得第二故障图像包括:对所述第一故障图像进行外形变换;根据变换后的所述第一故障图像迁移至所述非故障图像中的目标区域上,获得所述第二故障图像。
利用变换后的故障图案对非故障图像进行调整,使得调整更为灵活,可以增加可能得到的第三图像的数量和多样性。
结合第一方面,在一些可能的实现方式中,所述外形变换包括尺寸拉伸、压缩或明暗变化。
第二方面,提供一种故障图像生成方法,所述方法包括:获取非故障图像和第一故障图像,所述非故障图像中记录了未发生故障的第一物体,所述第一故障图像中记录了发生故障的第二物体;将所述非故障图像输入区域生成模型,确定所述非故障图像中所述第一故障图像中所述第二物体的故障图案迁移的目标区域;将所述故障图案迁移至所述非故障图像中的对所述目标区域,得到第二故障图像,所述第二故障图像展示故障状态下的所述第一物体。
利用区域生成模型,确定非故障图像的目标区域,并将第一故障图像迁移在该目标区域,以得到第二故障图像,使得目标区域的确定不再依赖于人工,能够提高效率,降低人工成本。
结合第二方面,在一些可能的实现方式中,所述第一物体和所述第二物体的类型不同。
利用记录与第一物体类型不同的第二故障图像对非故障图像中第一物体所在的区域进行迁移,生成第二故障图像,不再要求第二物体与第一物体的类型相同,降低对第一故障图像中记录的物体类型的限制,提高第一故障图像获取的灵活性,增加第一故障图像来源的广泛性。从而在非故障图像采集的物体类型存在故障的图像数量较少的情况下,可以生成该物体类型存在故障的图像,提高本申请实施例提供的故障图像生成方法的适用性。
结合第二方面,在一些可能的实现方式中,在将所述非故障图像输入区域生成模型,确定所述非故障图像中所述第一故障图像中所述第二物体的故障图案迁移的目标区域之前,所述方法还包括:获取多张训练图像和区域指示信息,所述训练图像中记录有未发生故障的、与第一物体同类型的物体,所述区域指示信息用于指示所述训练图像中能够产生故障的区域;根据所述区域指示信息和所述多张训练图像,训练所述区域生成模型。
根据记录与第一物体相同类型的物体的训练图像以及指示训练图像中能够产生故障区域的区域指示信息,训练区域生成模型,使得区域生成模型更具有针对性,适用于非故障图像中的第一物体的类型,提高区域生成模型确定的目标位置的准确度。
结合第二方面,在一些可能的实现方式中,所述将所述故障图案迁移至所述非故障图像中的所述目标区域上,获得第二故障图像,包括:对所述故障图案进行变换;将变换后的所述故障图案迁移至所述非故障图像的所述目标区域上,以得到所述第二故障图像。
利用变换后的故障图案对非故障图像进行调整,使得生成第二故障图像的方式更为灵活,可以增加可能得到的第三图像的数量和多样性。
结合第二方面,所述外形变换包括尺寸拉伸、压缩或明暗变化。
第三方面,提供一种故障图像生成装置,包括用于执行第一方面或第二方面中的任意一种实现方式中的方法的各个模块。
第四方面,提供一种电子设备,包括存储器和处理器,所述存储器用于存储程序指令;当所述程序指令在所述处理器中执行时,所述处理器用于执行第一方面或第二方面中的任意一种实现方式中的方法。
上述第四方面中的处理器既可以是中央处理器(central processing unit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
第五方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面或第二方面中的任意一种实现方式中的方法。
第六方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第二方面中的任意一种实现方式中的方法。
第七方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或第二方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第二方面中的任意一种实现方式中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
附图说明
图1为本申请实施例提供的一种系统架构的结构示意图。
图2为本申请实施例提供的一种卷积神经网络的结构示意图。
图3为本申请实施例提供的另一种卷积神经网络的结构示意图。
图4为本申请实施例提供的一种芯片的硬件结构示意图。
图5为本申请实施例提供的一种系统架构的示意图。
图6是一种故障图像生成方法的示意性流程图。
图7是本申请实施例提供的一种故障图像生成方法的示意性流程图。
图8是本申请实施例提供的图像处理系统的示意性结构图。
图9是本申请实施例提供的一种数据处理装置的示意性结构图。
图10是本申请实施例提供的一种神经网络训练装置的示意性结构图。
图11是本申请实施例的数据处理装置的示意性结构图。
图12是本申请实施例的神经网络训练装置的示意性结构图;
图13是本申请实施例的一种计算设备集群的示意性结构图;
图14是本申请实施例的另一种计算设备集群的示意性结构图;
图15是本申请实施例的另一种计算设备集群的示意性结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,系数W和偏移向量的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)循环神经网络(recurrent neural networks,RNN)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
(5)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(6)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
(7)生成式对抗网络
生成式对抗网络(generative adversarial networks,GAN)是一种深度学习模型。该模型中至少包括两个模块:一个模块是生成模型(generative model),另一个模块是判别模型(discriminative model),通过这两个模块互相博弈学习,从而产生更好的输出。GAN的基本原理如下:以生成图片的GAN为例,假设有两个网络,G(generator)和D(discriminator),其中G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z);D是一个判别网络,用于判别一张图片是不是“真实的”。在理想的状态下,G可以生成足以“以假乱真”的图片G(z),而D难以判定G生成的图片究竟是不是真实的,即D(G(z))=0.5。这样就得到了一个优异的生成模型G,它可以用来生成图片。
如图1所示,本申请实施例提供了一种系统架构100。在图1中,数据采集设备160用于采集训练数据。针对本申请实施例的数据处理方法来说,训练数据可以包括训练图像、训练音频、训练视频、训练文本等。
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对输入的训练数据进行处理,将输出的训练信息与训练数据对应的标注信息进行对比,直到根据训练设备120输出的训练信息与训练数据对应的标注信息的差值小于一定的阈值,从而完成目标模型/规则101的训练。
上述目标模型/规则101能够用于实现本申请实施例的数据处理方法。本申请实施例中的目标模型/规则101具体可以为神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)AR/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在图1中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的待处理数据。
预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据(如待处理数据)进行预处理,在本申请实施例中,也可以没有预处理模块113和预处理模块114(也可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图1仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是本申请中的神经网络,具体的,本申请实施例使用神经网络可以为CNN,深度卷积神经网络(deep convolutional neural networks,DCNN),循环神经网络(recurrent neural network,RNN)等等。
由于CNN是一种非常常见的神经网络,下面结合图2重点对CNN的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的数据作出响应。下面以输入的数据为图像为例进行说明。
本申请实施例的数据处理方法具体采用的神经网络的结构可以如图2所示。在图2中,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层230。其中,输入层210可以获取待处理数据,并将获取到的待处理数据交由卷积层/池化层220以及后面的神经网络层230进行处理,可以得到数据的处理结果。下面以图像处理为例对图2中的CNN 200中内部的层结构进行详细的介绍。
卷积层/池化层220:
卷积层:
如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在数据处理中的作用相当于一个从输入图像中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的卷积特征图的尺寸也相同,再将提取到的多个尺寸相同的卷积特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成,反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
本申请实施例的数据处理方法具体采用的神经网络的结构可以如图3所示。在图3中,卷积神经网络(CNN)200可以包括输入层110,卷积层/池化层120(其中池化层为可选的),以及神经网络层130。与图2相比,图3中的卷积层/池化层120中的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
需要说明的是,图2和图3所示的卷积神经网络仅作为一种本申请实施例的数据处理方法的两种可能的卷积神经网络的示例,在具体的应用中,本申请实施例的数据处理方法所采用的卷积神经网络还可以以其他网络模型的形式存在。
图4为本申请实施例提供的一种芯片的硬件结构,该芯片包括神经网络处理器50。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图2和图3所示的卷积神经网络中各层的算法均可在如图4所示的芯片中得以实现。
神经网络处理器NPU 50作为协处理器挂载到主中央处理器(central processingunit,CPU)(host CPU)上,由主CPU分配任务。NPU的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,图2和图3所示的卷积神经网络中各层的运算可以由运算电路503或向量计算单元507执行。
上文中介绍的图1中的执行设备110能够执行本申请实施例的数据处理方法的各个步骤,图2和图3所示的CNN模型和图4所示的芯片也可以用于执行本申请实施例的数据处理方法的各个步骤。下面结合附图对本申请实施例的神经网络训练的方法和本申请实施例的数据处理方法进行详细的介绍。
如图5所示,本申请实施例提供了一种系统架构300。该系统架构包括本地设备301、本地设备302以及执行设备210和数据存储系统250,其中,本地设备301和本地设备302通过通信网络与执行设备210连接。
执行设备210可以由一个或多个服务器实现。可选的,执行设备210可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码来实现本申请实施例的数据处理的方法。
具体地,执行设备210可以执行本申请实施例提供的数据处理方法的各个步骤。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备210进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在一种实现方式中,本地设备301、本地设备302从执行设备210获取到目标神经网络的相关参数,将目标神经网络部署在本地设备301、本地设备302上,利用该目标神经网络进行图像分类或者图像处理等等。
在另一种实现中,执行设备210上可以直接部署目标神经网络,执行设备210通过从本地设备301和本地设备302获取待处理数据,并根据目标神经网络对待处理数据进行分类或者其他类型的处理。
上述执行设备210也可以为云端设备,此时,执行设备210可以部署在云端;或者,上述执行设备210也可以为终端设备,此时,执行设备210可以部署在用户终端侧,本申请实施例对此并不限定。
对表面缺陷的检测是工业质检中的重要环节,也是把控产品质量的关键步骤,可以避免有缺陷的产品流入市场,避免在有缺陷的产品使用过程中带来危害。例如,在铁路场景中,列车的零部件随着使用寿命的增加可能会发生破损、故障,零部件的表面出现缺陷,如果没有及时发现零部件的表面出现缺陷,则列车继续运行过程中可能会发生重大事故。对表面缺陷的检测也可以应用在电网、制造等多种领域。
基于计算机视觉的故障检测算法可以利用神经网络模型,实现表面缺陷检测,帮助人们快速排除隐患。神经网络模型的训练过程需要大量的正常数据和故障数据供。
在实际应用中,往往面临小样本问题,也就是说故障图像数量太少,不符合训练神经网络模型的数据量需求。故障图像数量较少,用于训练神经网络模型的故障图像可能不包括一些故障类型对应的图像,或即使包括各个故障类型,但某些故障类型的数据太少,从而使得训练得到的神经网络模型对故障的识别能力有限。
图6示出了一种故障图像处理方法的示意性流程图。
在S601,利用边缘提取模型,提取非故障图像的第一边缘图像。
可以对不存在表面缺陷的设备进行图像采集,以得到非故障图像。也就是说,非故障图像中的物体可以是不存在表面缺陷的。
边缘图像也可以称为边图像。非故障图像的边缘图像的是对非故障图像进行边缘提取后得到的图像。边缘是图像性区域和另一个属性区域的交接处,是区域属性发生突变的地方,是图像信息最集中的地方,图像的边缘包含着丰富的信息。
在S602,人工编辑非故障图像的边缘图像,以得到故障图像的边缘图像。故障图像中,只有局部区域异常,其他区域与非故障图像相同。
在S603,利用图像翻译模型对故障图像的边缘图像进行处理,以形成故障图像。
从而,可以根据S601-S603得到的故障图像,以及非故障图像,训练神经网络模型。训练得到的神经网络模型可以用于进行表面缺陷检测。
方法600中,通过人工对非故障图像进行编辑,自动化程度低,成本较高。
为了解决上述问题,本申请实施例提供的一种故障图像生成方法。
图7是本申请实施例提供的一种故障图像生成方法的示意性流程图。
故障图像生成方法700包括S710至S720。
在S710,获取非故障图像(non-faulty image)和第一故障图像,非故障图像中记录了未发生故障的第一物体,第一故障图像中记录了发生故障的第二物体,第一物体和第二物体的类型不同。
也就是说,非故障图像和第一故障图像是对不同类型的物体进行采集得到的。
类型也可以称为类别,是指具有共同特征的事物所形成的种类。相同类型的对象具有相同的性质或特点,而不同类型的对象某些性质或特点不同。对象的性质可以包括功能、材料、材料类型、颜色等。不同类型的对象具有不同的性质。例如,列车车厢表面与墙体的材料不同,非故障图像可以是对列车车厢表面进行采集得到的,第一故障图像可以是对墙面进行采集得到的。
在S720,将第一故障图像中第二物体的故障图案迁移至非故障图像中的第一物体上(例如:覆盖于非故障图像中的第一物体上,或者图层的叠加),从而获得第二故障图像。第二故障图像展示故障状态下的第一物体。
例如,第一故障图像可以记录墙面裂纹,非故障图像可以记录无故障的车厢表面。可以利用墙面的裂纹对无故障的车厢表面的部分区域进行调整,以得到带有裂纹的车厢表面的图像。
通过S710至S720,可以根据第一故障图像对非故障图像进行处理,得到第二故障图像。从而,在同一类型的故障图像的数量较小而非故障图像的数量较多时,可以利用不同类型的故障图像对非故障图像进行调整,从而生成数量较多的故障图像。
第一故障图像与非故障图像中记录有不同类型的物体,即第一故障图像与非故障图像是对不同的对象进行采集得到的。从而,可以利用不同类型物体的故障对非故障图像中记录的物体的图像进行调整,提高第一故障图像获取的广泛性,增加第一故障图像来源的灵活性。从而在非故障图像记录的物体类型对应的故障图像数量较少的情况下,可以利用其他类型物体的故障图像生成该物体类型的故障图像,生成故障图像的适用性较强,增加了第二故障图像中故障类型的多样性。
故障图案可以是根据第一故障图像得到的。故障图案可以是第一故障图像中的第二物体故障的区域。故障图案也可以是对第一故障图像中的第二物体故障的区域进行边缘提取得到的。
非故障图像可以是自然场景图,也可以是边缘图。
当非故障图像和第一故障图像中的任一个为自然场景图时,可以利用边缘提取模型对自然场景图进行处理,以得到非故障图像对应的边缘图和第一故障图像对应的边缘图。
应当理解,一个图像为自然场景图的情况下,该图像对应的边缘图可以是边缘提取模型对该图像处理得到的边缘图;一个图像为边缘图,该图像对应的边缘图为该图像。
可以利用第一故障图像对应的边缘图中的故障图案替换非故障图像对应的边缘图中第一物体所在的部分区域,并利用图像翻译模型对替换后的边缘图进行处理,以得到自然场景图。第二故障图像可以是替换后的边缘图,或者,第二故障图像可以是图像翻译模型处理得到的自然场景图。
图像翻译模型可以是利用第一训练数据集合训练得到的。第一训练数据集合包括第三图像以及第三图像对应的边缘图,第三图像为自然场景图。第三图像中记录的物体与第一物体是类型可以相同。也就是说,第三图像与非故障图像是对相同类型的对象进行采集得到的。图像翻译模型可以是训练得到的AI模型。第三图像中记录的物体可以有故障,也可以无故障。
可以利用初始图像翻译模型对第三图像对应的边缘图进行处理,以得到翻译图像。调整初始图像翻译模型,以最小化翻译图像与第三图像之间的差异。使用调整后的初始图像翻译模型对其他第三图像对应的边缘图进行处理,直到差异逐渐收敛,以得到图像翻译模型。
第三图像与非故障图像是对相同类型的对象进行采集得到的。利用第三图像与第三图像对应的边缘图训练图像翻译模型,使图像翻译模型具有针对性,提高图像翻译模型的准确度。
在S720,可以对故障图案进行外形变换,并将变换后的第一故障图像覆盖于非故障图像中的第一物体上,得到第二故障图像。
外形变换可以包括形变、明暗变化等样式变换,形变例如可以是拉伸、压缩等。从而使得对非故障图像的调整更为灵活,可以增加可能得到的第二故障图像的数量和多样性。
可以将第一故障图像覆盖非故障图像的目标区域,以得到第二故障图像。
非故障图像的目标区域可第一区域可以是根据用户输入的位置信息确定的,也可以是利用区域生成模型确定的。
可以利用区域生成模型对非故障图像进行处理,以得到目标区域。利用区域生成模型确定非故障图像的目标区域,并将故障图像覆盖非故障图像的目标区域,以得到第二故障图像,能够提高效率,降低人工成本。
根据区域生成模型确定的目标区域,可以对第一故障图像的故障图案进行外形变换,即使得变换后的故障图案的尺寸小于或等于目标区域的尺寸。从而,使得生成的第二故障图像更为准确。
区域生成模型可以是训练得到的AI模型。
可以获取多张训练图像,所述训练图像中记录有未发生故障的、与第一物体同类型的物体。可以获取区域指示信息,所述区域指示信息用于指示所述训练图像中能够产生故障的区域。之后,可以根据所述多张训练图像和所述区域指示信息,训练所述区域生成模型。
图8是本申请实施例提供的一种图像处理系统的示意性结构图。
图像处理系统800包括边缘提取模型810、编辑模型820、图像翻译模型830。图像处理系统800还可以包括区域生成模型840。
其中,边缘提取模型810、图像翻译模型830、区域生成模型840可以是训练得到的神经网络模型。例如,可以是CNN模型。图像翻译模型830可以采用GAN,可以选择pix2pix、pix2pixHD、循环对抗生成网络(cycle-consistent generative adversarial networks,CycleGAN)、无监督图像转换(unsupervised image-to-image translation,UNIT)等成熟算法。
图像处理系统800用于根据故障边缘图像,对输入的图像进行处理,以得到故障图像。输入图像处理系统800的图像可以是非故障图像。
边缘提取模型810可以对非故障图像进行边缘提取,以得到非故障图像的边缘图像。边缘图像以线条的形式反映非故障图像中的对象的轮廓。
边缘提取模型810可以是训练得到的神经网络模型。可以根据公开数据集训练边缘提取模型810。公开数据集包括多个自然场景图像以及每个图像对应的标注边缘图像。
利用初始边缘提取模型对公开数据集中的自然场景图像进行处理,以得到训练边缘图像。根据训练边缘图像与该图像对应的标注边缘图像之间的差异,调整初始边缘提取模型的参数,以最小化该差异。训练边缘图像与该自然场景图像对应的标注边缘图像之间的差异可以表示为损失值。不断调整模型参数,直到该损失值收敛或者迭代次数超过预设值。
编辑模型820可以根据故障边缘图像对边缘图像中目标区域进行编辑和修改,从而得到第二边缘图像。
故障边缘图像集合可以包括多个故障边缘图像。在利用系统800进行数据处理之前,可以进行数据准备,以获取故障边缘图像集合。
可以对存在表面缺陷的设备进行图像采集,以获取故障样本图像。例如,可以在需要应用系统800的项目所使用的设备中,对存在的表面缺陷的设备进行图像采集。也可以在互联网中查询、检索,以获取故障样本图像。可以对故障样本图像进行边缘提取,并将边缘提取结果中发生故障的区域对应的边缘图像作为一个故障边缘图像。或者,可以对故障样本图像中发生故障的区域进行边缘提取,以得到故障边缘图像。
故障样本图像可以是对于非故障图像中相同或不同类型的对象进行采集得到的。也就是说,故障边缘图像集合可以包括对不同对象进行采集得到的故障样本图像进行处理得到的故障边缘图像。
编辑模型820可以在故障边缘图像集合中随机或按照一定顺序选取故障边缘图像,对边缘图像中的目标区域进行编辑和修改。例如,编辑模型820可以根据故障边缘图像集合中的各个故障边缘图像,依次对第一边缘图像中的目标区域进行编辑和修改。
编辑模型820可以对故障边缘图像集合中的故障边缘图像进行形变(如拉伸、压缩等)、明暗变化等样式变换,并根据样式变换后的故障边缘图像,对第一边缘图像中的目标区域进行编辑和修改。
样式变换的方式,可以根据用户输入进行选择。例如,可以向用户展示可选的样式变换的方式,并获取用户输入,从而确定用户输入对应的样式变换的方式。或者,也可以按照默认的方式确定样式变换的方式。
通过对故障边缘图像进行样式变换,可以增加第二边缘图像中故障的样式,增加故障图像的多样性。
图像翻译模型830可以对第二边缘图像进行处理,以得到故障图像。也就是说,图像翻译模型830用于将线条轮廓图转换为自然场景图。自然场景图可以是渲染图(即色彩图)。
编辑模型820可以根据故障边缘图像、第一边缘图像和目标区域,确定第二边缘图像。其中,目标区域可以利用区域生成模型840对非故障图像进行处理得到,目标区域也可以根据用户输入信息确定。
用户输入信息可以用于指示目标区域。用户输入信息指示目标区域的方式可以是默认设置的,也可以由用户进行选择。用户输入信息可以用于指示一个或多个关键点在非故障图像中的位置。
如果用户输入信息仅指示一个关键点在非故障图像中的位置,则可以确定以该关键点为对角线的交点的矩形目标区域,目标区域的长度在长度预设范围内,目标区域的长宽比在长宽比预设范围内,目标区域的长和宽分别与非故障图像相邻的两个边平行。
如果用户输入信息指示两个关键点在非故障图像中的位置,则可以确定以该两个关键点为不相邻顶点的矩形目标区域,目标区域的长和宽分别与非故障图像相邻的两个边平行。
如果用户输入信息指示超过两个关键点在非故障图像中的位置,可以确定包含该多个关键点的面积最小的矩形为目标区域。
应当理解,相比于用户输入信息指示两个关键点的方式,用户输入信息通过仅指示一个关键点以指示目标区域的方式,得到的目标区域的多样性较高,但合理性较低。
编辑模型820可以对故障边缘图像集合中的故障边缘图像进行形变,可以使得形变后的故障边缘图像的尺寸与目标区域的尺寸相同。从而,编辑模型820可以以形变后的故障边缘图像代替非故障图像中的目标区域,形成第二边缘图像。
区域生成模型840可以是根据多个训练图像和每个训练图像中的训练区域信息训练得到的。该多个训练图像可以包括系统800处理的非故障图像,也可以包括其他图像。
在系统800对大量非故障图像进行处理的情况下,可以先根据非故障图像对应的用户输入信息,确定目标区域,编辑模块820将边缘提取模块810对非故障图像处理得到的第一边缘图像中的目标区域替换为故障边缘图像,以形成第二边缘图像。
在非故障图像、第一边缘图像、第二边缘图像中,可以显示目标区域的边框。从而,用户可以判断该目标区域的合理性。对于不合理的目标区域进行调整或删除。
在系统800获取较多的非故障图像以及每个非故障图像对应的用户输入信息之后,可以根据该多个非故障图像以及每个非故障图像对应的用户输入信息,训练区域生成模型840。例如,可以在获取的用户输入信息的数量超过预设数量(如100)的情况下,训练区域生成模型840。
可以将非故障图像输入初始区域生成模型。初始区域生成模型对非故障图像进行处理,得到训练信息。根据训练信息以及该非故障图像对应的标注信息之间的差异,调整初始区域生成模型的参数,以使得差异最小化,从而完成一次迭代。非故障图像对应的标注信息可以是非故障图像对应的用户输入信息,也可以是该用户输入信息指示的目标区域。将调整后的初始区域生成模型作为初始区域生成模型进行下一次迭代,对其他非故障图像进行处理。当非故障图像对应的训练信息和标注信息之间的差异逐渐收敛,或迭代次数达到预设值,调整后的初始区域生成模型可以作为区域生成模型840。
也就是说,可以在系统800根据用户输入信息对非故障图像进行调整以生成故障图像生成的过程中,利用系统800获取的用户输入信息以及该用户输入信息对应的非故障图像,训练区域生成模型840。
在训练得到区域生成模型840之后,可以利用区域生成模型840对其他非故障图像进行处理,以确定每个非故障图像的目标区域。编辑模块820将边缘提取模块810对非故障图像处理得到的第一边缘图像中的目标区域替换为故障边缘图像,以形成第二边缘图像。
如果区域生成模型840确定的目标区域不符合要求,可以利用更多的非故障图像和用户输入信息对区域生成模型840继续进行训练。
系统800利用区域生成模型840确定非故障图像的目标区域,可以自动化的完成对故障图像的生成,提高故障图像的生成效率,降低人工成本。
图像翻译模型830可以是利用多个非故障图像,以及边缘提取模型处理得到的第一边缘图像对初始图像翻译模型进行训练得到的。也就是说,对图像翻译模型830的训练,可以是在生成故障图像的过程中进行的。
可以利用边缘提取模型810对多个非故障图像进行处理,以得到每个非故障图像对应的第一边缘图像,从而得到用于训练图像翻译模型830的数据。训练图像翻译模型830需要进行多次迭代,每次迭代包括:利用边缘提取模型对第一边缘图像进行处理,以得到生成图像;根据生成图像与该第一边缘图像对应的非故障图像之间的差异,调整初始图像翻译模型的参数,以使得差异最小化。之后,可以将调整后的初始图像翻译模型作为初始图像翻译模型进行下一次迭代。在非故障图像与生成图像之间的差异小于预设值或迭代次数达到预设次数,可以停止迭代,并将调整后的初始图像翻译模型作为图像翻译模型830。
利用非故障图像训练图像翻译模型830,使得训练得到的图像翻译模型830能够更好的适应于系统800的应用场景,提高系统800输出的图像的真实性。
在一些实施例中,故障样本图像以及故障样本图像对应的边缘也可以用于训练图像翻译模型830。从而,可以提高图像翻译模型830输出的故障图像的准确度。
图像处理系统800能够将非故障图像的多样性迁移到故障图像中。利用图像处理系统800,利用非故障图像的第一边缘图像和故障边缘图像,形成第二边缘图像,并利用图像翻译技术对第二边缘图像进行处理,得到故障图像。
仅对非故障图像的目标区域,利用故障边缘图像进行调整,提高故障图像的合理性和可控性。
图9是本申请实施例提供的一种故障图像生成方法的示意性流程图。
方法900包括S910至S930。
在S910,获取非故障图像和第一故障图像,所述非故障图像中记录了未发生故障的第一物体,所述第一故障图像中记录了发生故障的第二物体。
在S920,将所述非故障图像输入区域生成模型,确定所述非故障图像中被所述第一故障图像中所述第二物体的故障图案覆盖的目标区域。
在S930,将所述故障图案覆盖于所述非故障图像中的所述目标区域上,获得第二故障图像,所述第二故障图像展示故障状态下的所述第一物体。
通过S910至S930,利用区域生成模型,确定第一图像的目标区域,并利用第一故障图像覆盖非故障图像的目标区域,以得到第二故障图像,使得目标区域的确定不再依赖于人工,能够提高效率,降低人工成本。
第一故障图像可以是根据第四图像得到的。第一故障图像可以是第四图像中的存在故障的区域。故障图像也可以是对第四图像中的存在故障的区域进行边缘提取得到的。根据第四图像得到的第一故障图像,第一故障图像不是针对某个特定的非故障图像而确定的。
第一物体和第二物体的类型可以相同或不同。即非故障图像和第一故障图像可以是对相同或不同类型的对象进行采集得到的。
可以训练区域生成模型。获取多张训练图像,所述训练图像中记录有未发生故障的、与第一物体同类型的物体。获取区域指示信息,所述区域指示信息用于指示所述训练图像中能够产生故障的区域。根据所述多张训练图像和所述区域指示信息,训练所述区域生成模型。
根据记录有未发生故障的、与第一物体同类型的物体的训练图像,以及指示训练图像中能够产生故障的区域,训练区域生成模型,使得区域生成模型更具有针对性,生成的区域生成模型适用于第一物体的类型,提高区域生成模型确定的目标位置的准确度。
为了提高第一故障图像的适用性,提高第二故障图像的多样性,可以对第一故障图像进行变换,并将变换后的所述故障图案覆盖于所述非故障图像的目标区域上,获得第二故障图像。
外形变换包括尺寸放缩或明暗变化等。
上文结合图1至图9的描述了本申请实施例提供的方法实施例,下面结合图10至图12,描述本申请实施例的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见上文的描述。
图10是本申请实施例提供的一种神经网络训练系统的示意性结构图。
神经网络训练系统3000包括获取模块3010、处理模块3020。
获取模块3010用于获取训练图像和区域指示信息。训练图像中记录有未发生故障的物体。区域指示信息用于指示训练图像中能够产生故障的区域。
训练图像中记录的物体的类型可以与第一物体的类型相同。
处理模块3020用于根据所述目标位置和所述第一图像,训练所述区域生成模型。
系统3000可以还包括存储模块,存储模块可以用于存储训练图像。获取模块3010可以在存储模块中读取训练图像,或者,获取模块3010可以接收存储模块所在的设备发送的训练图像。
获取模块3010、处理模块3020部署可以布置在本地,存储模块可以布置在本地或云端。
图11是本申请实施例提供的一种故障图像生成装置的示意性结构图。
故障图像生成装置1100包括获取模块1110、处理模块1120。
在一些实施例中,获取模块1110用于,获取非故障图像和第一故障图像,所述非故障图像中记录了未发生故障的第一物体,所述第一故障图像中记录了发生故障的第二物体,所述第一物体和所述第二物体的类型不同。
处理模块1120用于,将所述第一故障图像中所述第二物体的故障图案覆盖于所述非故障图像中的所述第一物体上,获得第二故障图像,所述第二故障图像展示故障状态下的所述第一物体。
可选地,处理模块1120用于,将所述非故障图像输入区域生成模型,确定所述非故障图像中所述故障图案覆盖的目标区域。
可选地,获取模块1110还用于,获取多张训练图像,所述训练图像中记录有未发生故障的、与第一物体同类型的物体。
获取模块1110还用于,获取区域指示信息,所述区域指示信息用于指示所述训练图像中能够产生故障的区域。
处理模块1120还用于,根据所述多张训练图像和所述区域指示信息,训练所述区域生成模型。
可选地,处理模块1120还用于,对所述故障图案进行外形变换。
处理模块1120还用于,将变换后的所述故障图案覆盖于所述非故障图像中的目标区域上,获得所述第二故障图像。
可选地,所述外形变换包括尺寸拉伸、压缩或明暗变化。
在另一些实施例中,获取模块1110用于,获取非故障图像和第一故障图像,所述非故障图像中记录了未发生故障的第一物体,所述第一故障图像中记录了发生故障的第二物体。
处理模块1120用于,将所述非故障图像输入区域生成模型,确定所述非故障图像中所述第一故障图像中所述第二物体的故障图案覆盖的目标区域。
处理模块1120还用于,将所述故障图案覆盖于所述非故障图像中的所述目标区域上,获得第二故障图像,所述第二故障图像展示故障状态下的所述第一物体。
可选地,所述第一物体和所述第二物体的类型不同。
可选地,获取模块1110还用于,获取多张训练图像,所述训练图像中记录有未发生故障的、与第一物体同类型的物体。
获取模块1110还用于,获取区域指示信息,所述区域指示信息用于指示所述训练图像中能够产生故障的区域。
处理模块1120还用于,根据所述多张训练图像和所述区域指示信息,训练所述区域生成模型。
可选地,处理模块1120还用于,对所述故障图案进行外形变换。
处理模块1120还用于,将变换后的所述故障图案覆盖于所述非故障图像的所述目标区域上,获得所述第二故障图像。
可选地,所述外形变换包括尺寸拉伸、压缩或明暗变化。
故障图像生成装置1100还可以包括存储模块。存储模块可以用于存储第一故障图像,也可以用于存储非故障图像。获取模块3010、处理模块3020部署可以布置在本地,存储模块可以布置在本地或云端。
图12是本申请实施例的计算设备的示意性结构图。
计算设备1200包括:总线1202、处理器1204、存储器1206和通信接口1208。处理器1204、存储器1206和通信接口1208之间通过总线1202通信。计算设备1200可以是服务器或终端设备。应理解,本申请不限定计算设备1200中的处理器、存储器的个数。
总线1202可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线1204可包括在计算设备1200各个部件(例如,存储器1206、处理器1204、通信接口1208)之间传送信息的通路。
处理器1204可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器1206可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器1204还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。存储器1206中存储有可执行的程序代码,处理器1204执行该可执行的程序代码以实现前述故障图像生成方法。具体的,存储器1206上存有用于执行故障图像生成方法的指令。
通信接口1203使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备1200与其他设备或通信网络之间的通信。
应注意,尽管上述装置12000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置12000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置12000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置12000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图12中所示的全部器件。
图13是本申请实施例提供的一种计算设备集群的示意性结构图。
如图13所示,所述计算设备集群包括至少一个计算设备1200。计算设备集群中的一个或多个计算设备1200中的存储器1206中可以存有用于执行故障图像生成方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备1200也可以用于执行故障图像生成方法的部分指令。换言之,一个或多个计算设备1200的组合可以共同执行故障图像生成方法的指令。
需要说明的是,计算设备集群中的不同的计算设备1200中的存储器1206可以存储不同的指令,用于执行故障图像生成方法中的部分步骤。
图14示出了一种可能的实现方式。如图14所示,两个计算设备1200A和1200B通过通信接口1208实现连接。计算设备1200A中的存储器上存有用于执行交互单元1262和处理单元1266的功能的指令。计算设备1200B中的存储器上存有用于执行存储单元1264的功能的指令。换言之,计算设备1200A和1200B的存储器1206共同存储用于执行故障图像生成方法的指令。
图14所示的计算设备集群之间的连接方式可以是考虑到本申请提供的故障图像生成方法需要对雷达或相机采集的大量数据进行存储。因此,考虑将存储功能交由计算设备1200B执行。
应理解,图8中示出的计算设备1200A的功能也可以由多个计算设备1200完成。同样,计算设备1200B的功能也可以由多个计算设备1200完成。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图15示出了一种可能的实现方式。如图15所示,两个计算设备1200C和1200D之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备1200C中的存储器1206中存有执行交互单元1262的指令。同时,计算设备1200D中的存储器1206中存有执行存储单元1264和处理单元1266的指令。
图15所示的计算设备集群之间的连接方式可以是考虑到本申请提供的故障图像生成方法需要对大量第一故障图像进行存储,并执行大量的计算确定第二故障图像,因此考虑将存储单元1264和处理单元1266实现的功能交由计算设备1200D执行。
应理解,图10中示出的计算设备1200C的功能也可以由多个计算设备1200完成。同样,计算设备1200D的功能也可以由多个计算设备1200完成。
本申请实施例提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行前文所述的故障图像生成方法。
本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行前文所述的故障图像生成方法。
本申请实施例提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行前文所述的故障图像生成方法。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (23)
1.一种故障图像生成方法,其特征在于,包括:
获取非故障图像和第一故障图像,所述非故障图像中记录了未发生故障的第一物体,所述第一故障图像中记录了发生故障的第二物体,所述第一物体和所述第二物体的类型不同;
将所述第一故障图像中所述第二物体的故障图案迁移至所述非故障图像中的所述第一物体上,获得第二故障图像,所述第二故障图像展示故障状态下的所述第一物体。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一故障图像中所述第二物体的故障图案迁移至所述非故障图像中的所述第一物体上,获得第二故障图像之前,所述方法包括:
将所述非故障图像输入区域生成模型,确定所述非故障图像中所述故障图案迁移的目标区域。
3.根据权利要求2所述的方法,其特征在于,所述将所述非故障图像输入区域生成模型,确定所述非故障图像中所述故障图案迁移的目标区域之前,所述方法包括:
获取多张训练图像,所述训练图像中记录有未发生故障的、与第一物体同类型的物体;
获取区域指示信息,所述区域指示信息用于指示所述训练图像中能够产生故障的区域;
根据所述多张训练图像和所述区域指示信息,训练所述区域生成模型。
4.根据权利要求1至3所述的方法,其特征在于,所述将所述第一故障图像中所述第二物体的故障图案迁移至所述非故障图像中的所述第一物体上,获得第二故障图像包括:
对所述故障图案进行外形变换;
将变换后的所述故障图案迁移至所述非故障图像中的目标区域上,获得所述第二故障图像。
5.根据权利要求4所述的方法,其特征在于,所述外形变换包括尺寸拉伸、压缩或明暗变化。
6.一种故障图像生成方法,其特征在于,所述方法包括:
获取非故障图像和第一故障图像,所述非故障图像中记录了未发生故障的第一物体,所述第一故障图像中记录了发生故障的第二物体;
将所述非故障图像输入区域生成模型,确定所述非故障图像的目标区域;
将所述故障图案迁移至所述非故障图像中的所述目标区域上,获得第二故障图像,所述第二故障图像展示故障状态下的所述第一物体。
7.根据权利要求6所述的方法,其特征在于,所述第一物体和所述第二物体的类型不同。
8.根据权利要求6或7所述的方法,其特征在于,在所述将所述非故障图像输入区域生成模型,确定所述非故障图像的目标区域之前,所述方法还包括:
获取多张训练图像,所述训练图像中记录有未发生故障的、与第一物体同类型的物体;
获取区域指示信息,所述区域指示信息用于指示所述训练图像中能够产生故障的区域;
根据所述多张训练图像和所述区域指示信息,训练所述区域生成模型。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述将所述故障图案迁移至所述非故障图像中的所述目标区域上,获得第二故障图像包括:
对所述故障图案进行外形变换;
将变换后的所述故障图案迁移至所述非故障图像的所述目标区域上,获得所述第二故障图像。
10.根据权利要求9所述的方法,其特征在于,所述外形变换包括尺寸拉伸、压缩或明暗变化。
11.一种故障图像生成系统,其特征在于,包括获取模块和处理模块;
所述获取模块,用于获取非故障图像和第一故障图像,所述非故障图像中记录了未发生故障的第一物体,所述第一故障图像中记录了发生故障的第二物体,所述第一物体和所述第二物体的类型不同;
所述处理模块,用于将所述第一故障图像中所述第二物体的故障图案迁移至所述非故障图像中的所述第一物体上,获得第二故障图像,所述第二故障图像展示故障状态下的所述第一物体。
12.根据权利要求11所述的系统,其特征在于,所述处理模块,用于将所述非故障图像输入区域生成模型,确定所述非故障图像中所述故障图案迁移的目标区域。
13.根据权利要求12所述的系统,其特征在于,
所述获取模块还用于,获取多张训练图像,所述训练图像中记录有未发生故障的、与第一物体同类型的物体;
所述获取模块还用于,获取区域指示信息,所述区域指示信息用于指示所述训练图像中能够产生故障的区域;
所述处理模块,用于所述多张训练图像和所述区域指示信息,训练所述区域生成模型。
14.根据权利要求11-13中任一项所述的系统,其特征在于,所述处理模块,用于对所述第一故障图像进行外形变换;将变换后的第一故障图像迁移至所述非故障图像中的目标区域上,获得第二故障图像。
15.根据权利要求14所述的系统,其特征在于,所述变换包括拉伸、压缩或明暗变化。
16.一种故障图像生成系统,其特征在于,包括获取模块和处理模块;
所述获取模块用于,获取非故障图像和第一故障图像,所述非故障图像中记录了未发生故障的第一物体,所述第一故障图像中记录了发生故障的第二物体;
所述处理模块,用于将所述非故障图像输入区域生成模型,确定所述非故障图像中的目标区域;将所述第一故障图像迁移至所述非故障图像中的所述目标区域上,获得第二故障图像,所述第二故障图像展示故障状态下的所述第一物体。
17.根据权利要求16所述的系统,其特征在于,所述第一物体和所述第二物体的类型不同。
18.根据权利要求16或17所述的系统,其特征在于,所述获取模块,用于获取多张训练图像和区域指示信息,所述训练图像中记录有未发生故障、与第一物体同类型的物体,所述区域指示信息用于指示所述训练图像中能够产生故障的区域;所述处理模块,用于根据所述多张训练图像和所述区域指示信息,训练所述区域生成模型。
19.根据权利要求16至18中任一项所述的系统,其特征在于,所述处理模块还用于,对所述第一故障图像进行外形变换;将变换后的第一故障图像迁移至所述非故障图像的所述目标区域上,获得所述第二故障图像。
20.根据权利要求16至19中任一项所述的系统,其特征在于,所述外形变换包括拉伸、压缩或明暗变化。
21.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至10中任一所述的方法。
22.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算机设备集群运行时,使得所述计算机设备集群执行如权利要求的1至10中任一所述的方法。
23.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至10中任一所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/139429 WO2022222519A1 (zh) | 2021-04-20 | 2021-12-18 | 故障图像生成方法与装置 |
EP21937741.3A EP4307217A1 (en) | 2021-04-20 | 2021-12-18 | Fault image generation method and apparatus |
US18/482,906 US20240104904A1 (en) | 2021-04-20 | 2023-10-08 | Fault image generation method and apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021104236831 | 2021-04-20 | ||
CN202110423683 | 2021-04-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115294007A true CN115294007A (zh) | 2022-11-04 |
Family
ID=83818740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110914815.0A Pending CN115294007A (zh) | 2021-04-20 | 2021-08-10 | 故障图像生成方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115294007A (zh) |
-
2021
- 2021-08-10 CN CN202110914815.0A patent/CN115294007A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175671B (zh) | 神经网络的构建方法、图像处理方法及装置 | |
CN110378381B (zh) | 物体检测方法、装置和计算机存储介质 | |
US20220092351A1 (en) | Image classification method, neural network training method, and apparatus | |
CN110188795B (zh) | 图像分类方法、数据处理方法和装置 | |
WO2021043168A1 (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
US20220215227A1 (en) | Neural Architecture Search Method, Image Processing Method And Apparatus, And Storage Medium | |
US20210398252A1 (en) | Image denoising method and apparatus | |
CN111291809B (zh) | 一种处理装置、方法及存储介质 | |
US12026938B2 (en) | Neural architecture search method and image processing method and apparatus | |
CN111797983A (zh) | 一种神经网络构建方法以及装置 | |
CN111914997B (zh) | 训练神经网络的方法、图像处理方法及装置 | |
CN111667399A (zh) | 风格迁移模型的训练方法、视频风格迁移的方法以及装置 | |
CN114255361A (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
CN113570029A (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
CN112529146B (zh) | 神经网络模型训练的方法和装置 | |
CN111310604A (zh) | 一种物体检测方法、装置以及存储介质 | |
CN111797881B (zh) | 图像分类方法及装置 | |
US20230281973A1 (en) | Neural network model training method, image processing method, and apparatus | |
WO2022179606A1 (zh) | 一种图像处理方法及相关装置 | |
CN112464930A (zh) | 目标检测网络构建方法、目标检测方法、装置和存储介质 | |
US20220157041A1 (en) | Image classification method and apparatus | |
CN113807183A (zh) | 模型训练方法及相关设备 | |
CN110705564B (zh) | 图像识别的方法和装置 | |
WO2022227024A1 (zh) | 神经网络模型的运算方法、训练方法及装置 | |
CN113139967A (zh) | 点云实例分割方法及相关系统、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |