CN116958028A - 产品的异常检测方法、装置、电子设备、存储介质及产品 - Google Patents
产品的异常检测方法、装置、电子设备、存储介质及产品 Download PDFInfo
- Publication number
- CN116958028A CN116958028A CN202310209612.0A CN202310209612A CN116958028A CN 116958028 A CN116958028 A CN 116958028A CN 202310209612 A CN202310209612 A CN 202310209612A CN 116958028 A CN116958028 A CN 116958028A
- Authority
- CN
- China
- Prior art keywords
- image
- product
- complementary
- areas
- reconstructed
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 151
- 230000005856 abnormality Effects 0.000 title claims abstract description 96
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000000295 complement effect Effects 0.000 claims abstract description 185
- 238000000034 method Methods 0.000 claims abstract description 138
- 230000002159 abnormal effect Effects 0.000 claims abstract description 35
- 238000004590 computer program Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 88
- 230000004927 fusion Effects 0.000 claims description 54
- 238000012549 training Methods 0.000 claims description 50
- 230000015654 memory Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 19
- 238000012935 Averaging Methods 0.000 claims description 4
- 238000009792 diffusion process Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 11
- 230000000873 masking effect Effects 0.000 description 10
- 230000007547 defect Effects 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 5
- 238000012952 Resampling Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000002950 deficient Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06T7/001—Industrial image inspection using an image reference approach
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本申请提供了一种产品的异常检测方法、装置、电子设备、计算机可读存储介质及计算机程序产品,包括:获取目标产品对应的产品图像,产品图像包括至少两个图像区域,至少两个图像区域的图像内容拼接形成产品图像;以产品图像为参考,分别确定与各图像区域具有互补关系的互补图像区域;针对各图像区域,基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容;将各图像区域对应的重建图像内容进行组合,得到组合图像;获取组合图像与产品图像之间的差异,并基于差异确定目标产品对应的异常检测结果。如此,能够提高产品的异常检测效率以及精确度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种产品的异常检测方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
相关技术中,对于工业产品的异常检测过程,大多是基于图像重建的方法,通过对输入图像或输入特征进行重建,计算原始输入和重建结果的差异进行异常检测;或者是基于预训练特征及度量学习的方法,通过一个固定的网络进行特征提取之后,对特征层面上进行距离度量来进行异常检测。然而,对于基于图像重建的方法,模型需要逐步上采样得到最终重建结果,因此重建结果较为模糊,导致异常检测精度受限,而对于基于预训练特征及度量学习的方法,需要每种类别的工业产品单独训练一个模型,同时需要保存较多的特征,因此推理时需要占用较多的内存空间,导致异常检测效率较低。基于此,相关技术中的工业产品的异常检测方法会导致产品的异常检测效率以及精确度较低。
发明内容
本申请实施例提供一种产品的异常检测方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够提高产品的异常检测效率以及精确度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种产品的异常检测方法,所述方法包括:
获取目标产品对应的产品图像,所述产品图像包括至少两个图像区域,所述至少两个图像区域的图像内容拼接形成所述产品图像;
以所述产品图像为参考,分别确定与各所述图像区域具有互补关系的互补图像区域;
针对各所述图像区域,基于相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容;
将各所述图像区域对应的重建图像内容进行组合,得到组合图像;
获取所述组合图像与所述产品图像之间的差异,并基于所述差异确定所述目标产品对应的异常检测结果。
本申请实施例提供一种产品的异常检测装置,所述装置包括:
获取模块,用于获取目标产品对应的产品图像,所述产品图像包括至少两个图像区域,所述至少两个图像区域的图像内容拼接形成所述产品图像;
第一确定模块,用于以所述产品图像为参考,分别确定与各所述图像区域具有互补关系的互补图像区域;
重建模块,用于针对各所述图像区域,基于相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容;
组合模块,用于将各所述图像区域对应的重建图像内容进行组合,得到组合图像;
第二确定模块,用于获取所述组合图像与所述产品图像之间的差异,并基于所述差异确定所述目标产品对应的异常检测结果。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的产品的异常检测方法。
本申请实施例提供一种计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的产品的异常检测方法。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例提供的产品的异常检测方法。
本申请实施例具有以下有益效果:
首先基于目标产品对应的产品图像的包括的至少两个图像区域,确定与各图像区域具有互补关系的互补图像区域,然后基于互补图像区域的图像内容,重建相应图像区域的图像内容,再对各图像区域的重建图像内容进行组合,得到组合图像,从而基于组合图像以及产品图像之间的差异,确定目标产品对应的异常检测结果。如此,相较于相关技术中直接基于产品图像的整体特征进行图像重建的过程,依据产品图像中互补图像区域的图像内容,预测产品图像中图像区域的图像内容,降低了在重建过程中重建出异常位置的可能性,提高了产品的异常检测精确度;同时,依据产品图像互补图像区域的图像内容,预测对应产品图像的规范图像即组合图像,从而基于规范图像与产品图像间的差异,确定目标产品对应的异常检测结果,无需为每种类别的产品单独训练一个模型以及保存较多的特征,大大降低了产品的异常检测过程的成本,提高了产品的异常检测效率。
附图说明
图1是本申请实施例提供的产品的异常检测系统100的架构示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的产品的异常检测方法的流程示意图;
图4是本申请实施例提供的摄像头采集到的目标产品对应的产品图像的示意图;
图5是本申请实施例提供的包括至少两个图像区域的产品图像的示意图;
图6是本申请实施例提供的遮罩图像的示意图;
图7是本申请实施例提供的分割图像的示意图;
图8是本申请实施例提供的图像重建模型的训练过程的流程图;
图9是本申请实施例提供的重建图像的示意图;
图10是本申请实施例提供的目标拼接图像的示意图;
图11是本申请实施例提供的组合图像、产品图像以及相应差异图的示意图;
图12是本申请实施例提供的产品图像、产品图像的掩码以及互补掩码的示意图;
图13是本申请实施例提供的图像重建模型的结构示意图;
图14是本申请实施例提供的通过重采样的方式得到最后的重建图像的示意图;
图15是本申请实施例提供的基于扩散模型图像修复的工业异常检测方法的技术架构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)客户端(Client),又称用户端,是指与服务器相对应的为用户提供本地服务的程序,除了一些只能在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务器相互配合运行,即需要网络中有相应的服务器和服务程序来提供相应的服务,这样在客户端和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行。
2)扩散模型(Diffusion Model),一种图像生成模型,用来学习由于噪声引起的信息衰减,然后使用学习到的模式来生成图像。该概念也适用于潜在变量,因为它试图学习噪声分布而不是数据分布。噪声分布使用马尔可夫链的概念建模,这使它成为一个概率模型。扩散模型包含两个阶段,从原图逐步到噪声的正向过程/扩散过程(forward/diffusionprocess)和从噪声逐步到原图的逆向过程(reverse process)。
3)用户界面(UI,User Interface),是系统和用户之间进行交互和信息交换的媒介,用于实现信息的内部形式与人类可以接受形式之间的转换。
4)图像修复(Inpainting),图像修复指重建图像和影片中丢失或损坏的部分的过程。例如在博物馆中,这项工作常由经验丰富的博物馆管理员或者艺术品修复师来进行。数码世界中,图像修复又称图像插值或影片插值,指利用复杂的算法来替换已丢失、损坏的图像数据,主要替换一些小区域和瑕疵。
5)KL散度(Kullback-Leibler Divergence),用于度量两个概率分布函数之间的距离。
6)马尔科夫过程,具有马尔科夫性的随机过程。马尔科夫性是指过程(或系统)在时刻t0所处的状态为已知的条件下,过程在时刻t>t0所处的状态的条件分布,与过程时刻t0所处的状态无关的特征,即在马尔可夫过程的条件概率仅仅与系统的当前状态相关,而与它的过去历史或未来状态,都是独立、不相关的。
参见图1,图1是本申请实施例提供的产品的异常检测系统100的架构示意图,为实现产品的异常检测的应用场景(例如,产品的异常检测的应用场景可以是在对工业产品进行缺陷检测时,获取待检测工业产品对应的包括至少两个图像区域的产品图像,然后确定与各图像区域具有互补关系的互补图像区域,再基于相应的互补图像区域的图像内容,预测该待检测工业产品对应的规范产品图像,从而基于规范产品图像与产品图像间的差异,确定用于指示工业产品是否存在缺陷以及工业产品的缺陷位置的缺陷检测结果),终端(示例性示出了终端400)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,终端400用于供用户使用客户端401,在显示界面(示例性示出了显示界面401-1)显示,终端400和服务器200通过有线或者无线网络相互连接。
其中,服务器200用于,获取目标产品对应的产品图像,产品图像包括至少两个图像区域,至少两个图像区域的图像内容拼接形成产品图像;以产品图像为参考,分别获取确定与各图像区域具有互补关系的互补图像区域;针对各图像区域,基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容;将各图像区域对应的重建图像内容进行组合,得到组合图像;获取组合图像与产品图像之间的差异,并基于差异确定目标产品对应的异常检测结果;将目标产品对应的异常检测结果发送至终端400;
终端400,还用于基于显示界面,显示目标产品对应的异常检测结果。
一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDeliver Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、机顶盒、智能语音交互设备、智能家电、车载终端、飞行器、以及移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备,智能音箱及智能手表)等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2,图2是本申请实施例提供的电子设备的结构示意图,在实际应用中,电子设备可以为图1示出的服务器200或终端400,以电子设备为图1中所示的终端为例,图2所示的电子设备包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450的产品的异常检测装置455,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块4551、第一确定模块4552、重建模块4553、组合模块4554以及第二确定模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的产品的异常检测装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的产品的异常检测方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的产品的异常检测方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如即时通信APP、网页浏览器APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
基于上述对本申请实施例提供的产品的异常检测系统及电子设备的说明,下面说明本申请实施例提供的产品的异常检测方法。在实际实施时,本申请实施例提供的产品的异常检测方法可以由终端或服务器单独实现,或者由终端及服务器协同实现,以由图1中的服务器200单独执行本申请实施例提供的产品的异常检测方法为例进行说明。参见图3,图3是本申请实施例提供的产品的异常检测方法的流程示意图,下面,将结合图3对示出的步骤进行说明。
步骤101,服务器获取目标产品对应的产品图像,产品图像包括至少两个图像区域,至少两个图像区域的图像内容拼接形成产品图像。
在实际实施时,包括目标产品对应的产品图像可以是预先存储于本地的,也可以是从外界(如互联网)中获取得到的,还可以是将通过图像采集装置对目标产品进行图像采集所得到的图像,作为产品图像。
作为一个示例,目标产品可以是工业产品如钉子、锤子等,而图像采集装置可以是摄像头。摄像头可以是单目摄像头、双目摄像头、深度摄像头、三维(3D,3Dimensions)摄像头等。在实际实施时,调用摄像头开启扫描模式,实时扫描摄像头视野中的目标产品,并按照指定帧率生成图像,如图4所示,图4是本申请实施例提供的摄像头采集到的目标产品对应的产品图像的示意图,基于图4,这里的目标产品为图4中所示的螺丝钉。
作为另一个示例,图像采集装置也可以是激光雷达、毫米波雷达等雷达设备。激光雷达是通过发射激光束探测目标产品的位置、速度、姿态、形状等特征数据的雷达设备。毫米波雷达是在毫米波波段探测的雷达设备。雷达设备实时向目标产品发射探测信号,接收目标产品反射回来的回波信号,基于探测信号与回波信号之间的差异,确定目标产品的特征数据。雷达设备采用多个发射器和接收器,由此获取的图像为三维点云图像。
需要说明的是,图像采集装置可以位于移动端,从而基于移动端设备进行图像采集,并对采集到的目标产品对应的产品图像进行异常检测,如此,移动端设备的灵活性及低成本能够大大提高对目标产品进行异常检测的可用性和便利性。
在实际实施时,针对获取的目标产品对应的产品图像所包括的图像区域,这里的图像区域用于指示产品图像自身的部分区域,各图像区域分别为产品图像中的不同部分区域,各图像区域的图像内容拼接形成该产品图像。示例性地,参加图5,图5是本申请实施例提供的包括至少两个图像区域的产品图像的示意图,基于图5,当产品图像包括4个图像区域时,这4个图像区域分别为A、B、C和D,这4个图像区域的图像内容拼接形成该产品图像;当产品图像包括2个图像区域时,这两个图像区域可以是分别为A、B形成的区域以及C、D形成的区域,也可以是A、C形成的区域以及B、D形成的区域,还可以是A、D形成的区域以及B、C形成的区域。
步骤102,以产品图像为参考,分别获取确定与各图像区域具有互补关系的互补图像区域。
需要说明的是,互补关系用于指示可以拼接形成产品图像的组合关系,也即对于存在互补关系的图像区域与互补图像区域,该图像区域的图像内容与该互补图像区域的图像内容拼接形成相对应的产品图像。
示例性地,继续参见图5,当产品图像包括4个图像区域时,针对图像区域A,存在互补关系的互补图像区域为B、C、D形成的区域,针对图像区域B,存在互补关系的互补图像区域为A、C、D形成的区域,针对图像区域C,存在互补关系的互补图像区域为A、B、D形成的区域,针对图像区域D,存在互补关系的互补图像区域为A、B、C形成的区域;当产品图像包括2个图像区域、且2个图像区域分别为A、B形成的区域以及C、D形成的区域时,针对A、B形成的图像区域,存在互补关系的互补图像区域为C、D形成的区域,针对C、D形成的图像区域,存在互补关系的互补图像区域为A、B形成的区域;当产品图像包括2个图像区域、且2个图像区域分别为A、C形成的区域以及B、D形成的区域时,针对A、C形成的图像区域,存在互补关系的互补图像区域为B、D形成的区域,针对B、D形成的图像区域,存在互补关系的互补图像区域为A、C形成的区域;当产品图像包括2个图像区域、且2个图像区域分别为A、D形成的区域以及B、C形成的区域时,针对A、D形成的图像区域,存在互补关系的互补图像区域为B、C形成的区域,针对B、C形成的图像区域,存在互补关系的互补图像区域为A、D形成的区域。
步骤103,针对各图像区域,基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容。
在实际实施时,在分别确定与各图像区域具有互补关系的互补图像区域之后,对于针对各图像区域,基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程,这里,确定相应互补图像区域的图像内容的方式存在多种,如通过对产品图像进行遮罩的方式,得到相应互补图像区域的图像内容,或者是通过对产品图像进行分割的方式,得到相应互补图像区域的图像内容等,因此,针对各图像区域,基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程也存在不同。接下来,以其中两种确定相应互补图像区域的图像内容的方式为例,对基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程进行说明。
在一些实施例中,在分别确定与各图像区域具有互补关系的互补图像区域之后,还可以对产品图像进行复制,得到与图像区域的数量相同的产品图像;对各产品图像分别进行遮罩处理,得到遮罩图像;其中,遮罩图像中的遮罩区域与图像区域相对应,不同的遮罩图像对应不同的图像区域;从而,基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程,可以是,基于遮罩图像,重建遮罩区域的图像内容,得到图像区域对应的重建图像内容。
需要说明的是,这里的遮罩处理可以是对各产品图像中的相应图像区域进行遮掩、打码等,同时,针对不同产品图像所进行遮罩处理的区域也即遮掩、打码的区域不同。示例性地,参见图6,图6是本申请实施例提供的遮罩图像的示意图,首先对产品图像进行复制,得到与图像区域的数量相同的产品图像,如图6所示,这里的产品图像包括4个图像区域,因此,对产品图像进行复制后得到4个产品图像,针对包括图像区域A以及由B、C、D形成的互补图像区域的产品图像,对该产品图像进行遮罩处理,得到如图601所示的遮罩图像,这里遮罩图像中的遮罩区域与图像区域A相对应;针对包括图像区域B以及由A、C、D形成的互补图像区域的产品图像,对该产品图像进行遮罩处理,得到如图602所示的遮罩图像,这里遮罩图像中的遮罩区域与图像区域B相对应;针对包括图像区域C以及由A、B、D形成的互补图像区域的产品图像,对该产品图像进行遮罩处理,得到如图603所示的遮罩图像,这里遮罩图像中的遮罩区域与图像区域C相对应;针对包括图像区域D以及由A、B、C形成的互补图像区域的产品图像,对该产品图像进行遮罩处理,得到如图604所示的遮罩图像,这里遮罩图像中的遮罩区域与图像区域D相对应。
在实际实施时,对于基于遮罩图像,重建遮罩区域的图像内容,得到图像区域对应的重建图像内容的过程,具体包括,获取图像重建模型;其中,图像重建模型的数量与图像区域的数量相同,图像重建模型与图像区域存在一一对应关系;通过图像重建模型,重建遮罩区域的图像内容,得到图像区域对应的重建图像内容。示例性地,继续参见图6,如图6所示,这里的产品图像包括4个图像区域,因此,获取的图像重建模型也可以是4个,从而通过4个图像重建模型,分别重建不同遮罩区域的图像内容,得到图像区域A、B、C、D的对应的重建图像内容。
在另一些实施例中,在分别确定与各图像区域具有互补关系的互补图像区域之后,对产品图像进行复制,得到与图像区域的数量相同的产品图像;针对各产品图像,对产品图像进行分割,得到与产品图像的互补图像区域相对应的分割图像;其中,不同的分割图像对应不同的图像区域;从而,基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程,可以是,基于分割图像,重建分割图像对应的图像区域的图像内容,得到图像区域对应的重建图像内容。
需要说明的是,针对不同产品图像所进行分割而得到分割图像不同。示例性地,参见图7,图7是本申请实施例提供的分割图像的示意图,首先对产品图像进行复制,得到与图像区域的数量相同的产品图像,如图7所示,这里的产品图像包括4个图像区域,因此,对产品图像进行复制后得到4个产品图像,针对包括图像区域A以及由B、C、D形成的互补图像区域的产品图像,对该产品图像进行分割处理,得到如图701所示的与产品图像的、由B、C、D形成的互补图像区域相对应的分割图像,这里分割图像所对应的图像区域为A;针对包括图像区域B以及由A、C、D形成的互补图像区域的产品图像,对该产品图像进行分割处理,得到如图702所示的、由A、C、D形成的互补图像区域相对应的分割图像,这里分割图像所对应的图像区域为B;针对包括图像区域C以及由A、B、D形成的互补图像区域的产品图像,对该产品图像进行分割处理,得到如图703所示的、由A、B、D形成的互补图像区域相对应的分割图像,这里分割图像所对应的图像区域为C;针对包括图像区域D以及由A、B、C形成的互补图像区域的产品图像,对该产品图像进行分割处理,得到如图704所示的、由A、B、C形成的互补图像区域相对应的遮罩图像,这里分割图像所对应的图像区域为D。
在实际实施时,对于基于遮罩图像,重建遮罩区域的图像内容,得到图像区域对应的重建图像内容的过程,具体包括,获取图像重建模型;其中,图像重建模型的数量与图像区域的数量相同,图像重建模型与图像区域存在一一对应关系;通过图像重建模型,重建分割图像对应的图像区域的图像内容,得到图像区域对应的重建图像内容。示例性地,继续参见图7,如图7所示,这里的产品图像包括4个图像区域,因此,获取的图像重建模型也可以是4个,从而通过4个图像重建模型,分别重建不同分割图像对应的图像区域的图像内容,得到图像区域A、B、C、D的对应的重建图像内容。
在一些实施例中,在获取图像重建模型之前,还可以对图像重建模型进行训练,参见图8,图8是本申请实施例提供的图像重建模型的训练过程的流程图,基于图8,在步骤101之前,还可以执行以下步骤。
步骤201,获取初始图像重建模型、以及正常产品对应的产品图像样本,产品图像样本包括至少两个训练图像区域,至少两个训练图像区域的图像内容拼接形成产品图像训练样本。
需要说明的是,这里的正常产品用于指示无缺陷、无异常的产品,如无缺陷、无异常的电阻、螺钉等。
步骤202,以产品图像训练样本为参考,分别确定与各训练图像区域具有互补关系的互补训练图像区域。
步骤203,通过初始图像重建模型,针对各训练图像区域,基于相应的互补训练图像区域的图像内容,重建训练图像区域的图像内容,得到训练图像区域对应的重建图像内容。
步骤204,获取重建图像内容、与相应训练图像区域的图像内容的差异,并基于差异,对初始图像重建模型的模型参数进行更新,得到图像重建模型。
需要说明的是,这里的图像重建模型可以是U-Net模型,也可以是任意一个输入和输出一致的模型,例如自动编码器,Transformer模型等。
在一些实施例中,对各产品图像分别进行遮罩处理,得到遮罩图像的过程,还可以是基于虚拟遮罩如掩码,各产品图像分别进行遮罩处理,得到遮罩图像,具体地,基于产品图像的各图像区域以及相应的互补图像区域,生成对应图像区域的虚拟遮罩;基于各虚拟遮罩,对产品图像进行遮罩处理,得到遮罩图像。
在实际实施时,对于生成对应图像区域的虚拟遮罩的过程,还可以是,确定对应产品图像的第一目标数量的初始虚拟遮罩,然后对各初始虚拟遮罩进行划分,得到第二目标数量的矩形区域,然后针对各初始虚拟遮罩,对第二目标数量的矩形区域中第三目标数量的矩形区域进行遮掩,得到至少一个虚拟遮罩;其中,不同虚拟遮罩中被遮掩的第三目标数量的矩形区域间不存在重合。
需要说明的是,第一目标数量为大于1的自然数,第二目标数量可以是产品图像的高与宽的乘积、和矩形区域的高与宽的乘积间的比值,第三目标数量可以是第二目标数量与第一目标数量的比值。这里,矩形区域的高与宽以及产品图像的第一目标数量都是可以预先设置的,第一目标数量与图像重建模型的数量对应,同时,各图像重建模型都是统一的模型参数。此外,虚拟遮罩还可以替换为其他形状的遮罩,例如可以根据已知缺陷和物件的形状设计,设计更高效的虚拟遮罩,或者可以生成三个或更多互补的虚拟遮罩等,对此,本申请实施例不做限定。
在实际实施时,对于基于各虚拟遮罩,对产品图像进行遮罩处理,得到遮罩图像的过程,可以是,针对各虚拟遮罩,将虚拟遮罩与产品图像进行图像融合,得到遮罩图像。示例性地,对于虚拟遮罩,遮罩部分也即不可见部分的像素值为0值,未遮罩部分也即可见部分的像素值为1值,从而产品图像会与虚拟遮罩进行融合如像素点相乘,这样,产品图像中未遮罩部分也即可见部分的像素值仍为原有的RGB值,而遮罩部分也即被遮掩部分的RGB像素值为[0,0,0],即信息被丢弃。
步骤104,将各图像区域对应的重建图像内容进行组合,得到组合图像。
在实际实施时,对于基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程,这里,对于基于相应的互补图像区域的图像内容,重建的是互补图像区域所对应的产品图像的重建图像,从而从重建图像中确定图像区域对应的重建图像内容,也即每一个重建图像内容对应一个重建图像,从而将各图像区域对应的重建图像内容进行组合,得到组合图像的过程,具体包括,基于各重建图像中重建图像内容的位置,从各重建图像中裁剪出重建图像内容,得到裁剪图像;对各裁剪图像进行图像拼接,得到目标拼接图像;将目标拼接图像确定为组合图像。这里的组合图像也即基于该目标产品的产品图像,预测得到的对应该目标产品的正常产品的产品图像,也即该目标产品无异常时的产品图像。
示例性地,参见图9,图9是本申请实施例提供的重建图像的示意图,基于图9,当图像区域为A、相应的互补图像区域为B、C、D形成的区域时,在基于互补图像区域B、C、D的图像内容,重建得到图像区域A的重建图像内容时,此时,对应图像区域A的重建图像内容的重建图像如901所示,然后基于901所示的重建图像中图像区域A的重建图像内容的位置,从该重建图像中裁剪出图像区域A的重建图像内容,得到对应图像区域A的裁剪图像;当图像区域为B、相应的互补图像区域为A、C、D形成的区域时,在基于互补图像区域A、C、D的图像内容,重建得到图像区域B的重建图像内容时,此时,对应图像区域B的重建图像内容的重建图像如902所示,然后基于902所示的重建图像中图像区域B的重建图像内容的位置,从该重建图像中裁剪出图像区域B的重建图像内容,得到对应图像区域B的裁剪图像;当图像区域为C、相应的互补图像区域为A、B、D形成的区域时,在基于互补图像区域A、B、D的图像内容,重建得到图像区域C的重建图像内容时,此时,对应图像区域C的重建图像内容的重建图像如903所示,然后基于903所示的重建图像中图像区域C的重建图像内容的位置,从该重建图像中裁剪出图像区域C的重建图像内容,得到对应图像区域C的裁剪图像;当图像区域为D、相应的互补图像区域为A、B、C形成的区域时,在基于互补图像区域A、B、C的图像内容,重建得到图像区域D的重建图像内容时,此时,对应图像区域D的重建图像内容的重建图像如904所示,然后基于904所示的重建图像中图像区域D的重建图像内容的位置,从该重建图像中裁剪出图像区域D的重建图像内容,得到对应图像区域D的裁剪图像。
在实际实施时,对于对各裁剪图像进行图像拼接,得到目标拼接图像;将目标拼接图像确定为组合图像的过程,在得到各裁剪图像后,针对各裁剪图像,基于裁剪图像在重建图像中的位置,对多个裁剪图像进行图像拼接,得到目标拼接图像,从而将目标拼接图像确定为组合图像。示例性地,继续参见图9,同时,参见图10,图10是本申请实施例提供的目标拼接图像的示意图,基于图9,在分别得到对应图像区域A、B、C、D的裁剪图像后,基于各裁剪图像在相应重建图像中的位置,对多个裁剪图像进行图像拼接,得到如图10所示的目标拼接图像。
步骤105,获取组合图像与产品图像之间的差异,并基于差异确定目标产品对应的异常检测结果。
在实际实施时,对于获取组合图像与产品图像之间的差异的过程,具体包括,获取组合图像中各第一像素点、与产品图像中相同位置的第二像素点之间的像素点差值;基于各像素点差值,确定组合图像与产品图像的差异图;将差异图作为组合图像与产品图像之间的差异。
需要说明的是,这里获取组合图像中各第一像素点、与产品图像中相同位置的第二像素点之间的像素点差值的过程,可以是,获取各第一像素点在红-绿-蓝三个通道下的第一颜色值、以及各第二像素点在红-绿-蓝三个通道下的第二颜色值;针对红-绿-蓝三个通道下的各通道,将第一颜色值与第二颜色值进行作差,得到对应单红通道的第一颜色值差值、对应单绿通道的第二颜色值差值、以及对应单蓝通道的第三颜色值差值;然后基于各第一像素点与相应第二像素点在红-绿-蓝三个通道下的第一颜色值差值、第二颜色值差值以及第三颜色值差值,确定组合图像中各第一像素点、与产品图像中相同位置的第二像素点之间的像素点差值。从而,基于各像素点差值,确定组合图像与产品图像的差异图的过程,可以是,基于各像素点差值进行正则化,得到组合图像与产品图像的差异图,具体地,针对各像素点差值,获取相应像素点的第一颜色值差值、第二颜色值差值以及第三颜色值差值的平方之和,然后再对平方之和进行开方,得到各像素点的像素值如灰度值,从而基于各像素点的像素值,确定组合图像与产品图像的差异图,即
其中,S为组合图像与产品图像的差异图,X为产品图像,为产品图像对应的组合图像。
示例性地,参见图11,图11是本申请实施例提供的组合图像、产品图像以及相应差异图的示意图,基于图11,1101所指示的图像为产品图像,1102所指示的图像为对应该产品图像的组合图像,1103所指示的图像为该产品图像以及组合图像的差异图,从而将差异图作为组合图像与产品图像之间的差异。
在实际实施时,对于基于差异确定目标产品对应的异常检测结果的过程,具体包括,当差异为组合图像与产品图像的差异图时,基于差异图,确定目标产品对应的异常检测结果;其中,异常检测结果包括第一异常检测结果以及第二异常检测结果中至少之一,第一异常检测结果用于指示目标产品是否存在异常,第二异常检测结果为用于指示目标产品上异常的位置。
需要说明的是,用于指示目标产品是否存在异常的第一异常检测结果是针对图像的图像级检测结果,也即用来指示一个图像中是否包含异常区域,而用于指示目标产品上异常的位置的第二异常检测结果是针对图像中各像素点的像素级检测结果,也即用来定位异常像素点;由于第一异常检测结果以及第二异常检测结果所指示结果的不同,基于差异图,确定目标产品对应的第一异常检测结果以及第二异常检测结果的过程也存在不同。接下来,基于异常检测结果包括的第一异常检测结果以及第二异常检测结果的差异,对基于差异图,确定目标产品对应的异常检测结果的过程进行说明。
在一些实施例中,异常检测结果包括第一异常检测结果,基于差异图,确定目标产品对应的异常检测结果的过程,可以是,对差异图进行区域划分,得到至少两个子图像区域;针对各子图像区域,对子图像区域中的多个像素点的像素值取平均值,得到针对子图像区域的平均像素值;基于平均像素值的大小,从多个子图像区域的平均像素值中选取最大平均像素值;基于最大平均像素值,确定第一异常检测结果。
在实际实施时,针对各子图像区域,对子图像区域中的多个像素点的像素值取平均值,得到针对子图像区域的平均像素值的过程,可以是,针对各子图像区域,获取子图像区域中的多个像素点的像素值之和也即灰度值之和,然后确定子图像区域中的多个像素点的像素点数量,并获取像素值之和以及像素点数量的比值,将该比值确定为针对该子图像区域的平均像素值;从而基于最大平均像素值,确定第一异常检测结果的过程,可以是,将最大平均像素值与针对像素区域的像素值阈值进行比对,得到比对结果;当比对结果表征最大平均像素值大于针对像素区域的像素值阈值时,确定用于指示目标产品存在异常的第一异常检测结果;当比对结果表征最大平均像素值不大于针对像素区域的像素值阈值时,确定用于指示目标产品不存在异常的第一异常检测结果。
在另一些实施例中,异常检测结果包括第二异常检测结果,基于差异图,确定目标产品对应的异常检测结果的过程,可以是,基于差异图,获取差异图中各像素点的像素值;基于各像素值的大小,从差异图的多个像素点中选取至少一个目标像素点;基于目标像素点的位置,确定第二异常检测结果。
在实际实施时,基于各所述像素值的大小,从所述差异图的多个所述像素点中选取至少一个目标像素点的过程,具体包括,针对差异图中的各像素点,执行以下处理:将像素点的像素值与像素值阈值进行比对,得到比对结果;当比对结果表征像素点的像素值大于像素值阈值时,将像素点确定为目标像素点;从而基于目标像素点的位置,确定第二异常检测结果的过程,可以是,将目标像素点的位置确定为目标产品上异常的位置,从而基于该位置,确定用于指示目标产品上异常的位置的第二异常检测结果。
在一些实施例中,当图像重建模型为扩散模型如U-Net模型时,对于基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程,还可以是,基于各图像区域、以及相应的互补图像区域,确定对应产品图像的掩码,并以产品图像为参考,获取与掩码具有互补关系的互补掩码;其中,掩码用于遮盖产品图像中的图像区域的图像内容,互补掩码用于遮盖产品图像中的互补图像区域的图像内容;从而,基于相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程,可以是,结合掩码、互补掩码、以及相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容。
需要说明的是,这里的掩码可以是指对应相应产品图像的遮罩图像,也即基于各图像区域、以及相应的互补图像区域,确定对相应产品图像的掩码的过程,也即对相应产品图像进行遮罩处理,得到遮罩图像的过程;从而对于结合掩码、互补掩码、以及相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程,这里相应的互补图像区域的图像内容用于指示未遮盖区域的图像内容。示例性地,参见图12,图12是本申请实施例提供的产品图像、产品图像的掩码以及互补掩码的示意图,基于图12,1201所指示的图像为产品图像,1202所指示的图像为对应该产品图像的掩码,1203所指示的图像为与对应该产品图像的掩码具有互补关系的互补掩码;从而,结合如1202所示的掩码、如1203所示的互补掩码、以及相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容。这里,相应的互补图像区域的图像内容1202所示的掩码中未涂黑区域。
在实际实施时,对于结合掩码、互补掩码、以及相应的互补图像区域的图像内容,重建图像区域的图像内容,得到图像区域对应的重建图像内容的过程,具体包括,对产品图像添加至少一次噪声,得到第一噪声图像,并获取对应产品图像的第二噪声图像,第二噪声图像为,对产品图像执行最后一次添加噪声处理前的待处理图像;对第一噪声图像进行去噪处理,得到去噪图像;将第二噪声图像与掩码进行图像融合,得到第一融合图像,并将去噪图像与互补掩码进行图像融合,得到第二融合图像;对第一融合图像与第二融合图像进行图像拼接,得到重建图像;基于重建图像、以及相应的互补图像区域的图像内容,确定图像区域对应的重建图像内容。
需要说明的是,对于对第一融合图像与第二融合图像进行图像拼接,得到重建图像的过程,具体地,对第一融合图像与第二融合图像进行图像拼接,得到第一拼接图像;对第一拼接图像进行去噪,得到第二去噪图像,然后获取对应产品图像的第三噪声图像,第三噪声图像为,对产品图像执行倒数第二次添加噪声处理前的待处理图像;将第三噪声图像与掩码进行图像融合,得到第三融合图像,并将第二去噪图像与互补掩码进行图像融合,得到第四融合图像;对第三融合图像与第四融合图像进行图像拼接,得到第二拼接图像;从而再对第二拼接图像进行去噪,得到第三去噪图像,然后获取对应产品图像的第四噪声图像,第四噪声图像为,对产品图像执行倒数第三次添加噪声处理前的待处理图像;将第四噪声图像与掩码进行图像融合,得到第五融合图像,并将第三去噪图像与互补掩码进行图像融合,得到第六融合图像;对第五融合图像与第六融合图像进行图像拼接,得到第三拼接图像,再重复上述过程,直至去噪次数与添加噪声的次数相同,从而将最后一次的拼接图像作为重建图像。
示例性地,参见图13,图13是本申请实施例提供的图像重建模型的结构示意图,基于图13,这里添加噪声的次数为4次,从而对产品图像添加第一次噪声时,得到第四噪声图像,然后对第四噪声图像添加第二次噪声,得到第三噪声图像,再对第三噪声图像添加第三次噪声,得到第二噪声图像,接着对第二噪声图像添加第四次噪声,得到第一噪声图像;对第一噪声图像进行第一次去噪,得到去噪图像,并将去噪图像与互补掩码进行图像融合,得到第二融合图像;同时,将第二噪声图像与掩码进行图像融合,得到第一融合图像,从而将第一融合图像与第二融合图像进行图像拼接,得到第一拼接图像;对第一拼接图像进行第二次去噪,得到第二去噪图像,并将第二去噪图像与互补掩码进行图像融合,得到第四融合图像;同时,将第三噪声图像与掩码进行图像融合,得到第三融合图像,从而对第三融合图像与第四融合图像进行图像拼接,得到第二拼接图像;然后,再对第二拼接图像进行第三次去噪,得到第三去噪图像,并将第三去噪图像与互补掩码进行图像融合,得到第六融合图像;同时,将第四噪声图像与掩码进行图像融合,得到第五融合图像,从而对第五融合图像与第六融合图像进行图像拼接,得到第三拼接图像;最后,对第三拼接图像进行第四次去噪,得到最后的去噪图像,并将该最后的去噪图像与互补掩码进行图像融合,得到第八融合图像;同时,将产品图像与掩码进行图像融合,得到第七融合图像,从而对第七融合图像和第八融合图像进行图像拼接,得到最后的拼接图像,此时,因为去噪的次数与添加噪声的次数相同,因此该最后的拼接图像也即重建图像。
在实际实施时,基于重建图像、以及相应的互补图像区域的图像内容,确定图像区域对应的重建图像内容的过程,可以是,基于重建图像中互补图像区域的位置,确定图像区域的位置,从而基于图像区域的位置,在重建图像中确定图像区域对应的重建图像内容。
在一些实施例中,还可以通过重采样的方式,得到最后的重建图像,具体地,在进行去噪的过程中,并不会沿着单调递减序列进行去噪,也即连续去噪,而是每J次去噪后,会将进行J/2次的扩散过程,也即在经过J次去噪后,会再添加J/2次噪声,如此,这可以使重建后的图片中未遮盖区域和遮盖区域更好的融合。示例性地,参见图14,图14是本申请实施例提供的通过重采样的方式得到最后的重建图像的示意图,基于图14,对产品图像添加噪声的次数为5次,J为20次,则在经过了20次上述去噪、图像融合以及图像拼接过程,得到相应的拼接图像后,不会依据上述过程,进行第21次去噪,而是对该相应的拼接图像再添加10次噪声,得到第一目标噪声图像,然后基于该第一目标噪声图像再进行20次上述去噪、图像融合以及图像拼接过程,得到相应的拼接图像,接着,对该相应的拼接图像再添加10次噪声,得到第二目标噪声图像,从而基于该第二目标噪声图像再进行20次上述去噪、图像融合以及图像拼接过程,如此,直至去噪的次数与添加噪声的次数相同,将最后的拼接图像作为重建图像。
应用本申请上述实施例,首先基于目标产品对应的产品图像的包括的至少两个图像区域,确定与各图像区域具有互补关系的互补图像区域,然后基于互补图像区域的图像内容,重建相应图像区域的图像内容,再对各图像区域的重建图像内容进行组合,得到组合图像,从而基于组合图像以及产品图像之间的差异,确定目标产品对应的异常检测结果。如此,相较于相关技术中直接基于产品图像的整体特征进行图像重建的过程,依据产品图像中互补图像区域的图像内容,预测产品图像中图像区域的图像内容,降低了在重建过程中重建出异常位置的可能性,提高了产品的异常检测精确度;同时,依据产品图像互补图像区域的图像内容,预测对应产品图像的规范图像即组合图像,从而基于规范图像与产品图像间的差异,确定目标产品对应的异常检测结果,无需为每种类别的产品单独训练一个模型以及保存较多的特征,大大降低了产品的异常检测过程的成本,提高了产品的异常检测效率。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
发明人发现,在工业制造场景中,常用人工智能和深度学习等新兴技术对产品的外观部分进行工件质检工作,保证产品的一致性、良品率、安全性,实现产线质检的全自动化。由于成熟产线良品率高,缺陷产品不易大量获得,同时缺陷种类多变,人工标注成本高。因此,难以获得大量可用的缺陷样品,正负样品的不平衡导致有监督分类方法性能受限。基于此,对于工业产品的异常检测过程,大多是基于图像重建的方法,通过对输入图像或输入特征进行重建,计算原始输入和重建结果的差异进行异常检测;或者是基于预训练特征及度量学习的方法,通过一个固定的网络进行特征提取之后,对特征层面上进行距离度量来进行异常检测。然而,对于基于图像重建的方法,由于普遍采用自动编码器或者对抗生成网络的方法,模型需要逐步上采样得到最终重建结果,重建结果较为模糊,导致异常检测精度受限;此外,由于深度网络参数多,拟合能力强,很多时候模型能够重建出异常输入,导致输入和输出的差异不及预期,这也极大程度影响最终异常检测的性能。而对于基于预训练特征及度量学习的方法,由于需要保存较多的特征,因此推理时需要占用较多的内存空间;此外,还需要每种产品单独训练一个模型,难以处理多种类别联合判断的情况;而且由于一种特征在一个类别中可能是正常的特征,在另一个类别中可能是异常的特征,因此多语义类别的场景中该方法往往会导致性能低下。
基于此,本申请实施例提供的一种基于扩散模型图像修复的工业异常检测方法,相较于相关技术中直接基于产品图像的整体特征进行图像重建的过程,本申请仅需要正常样品的训练,能够自适应地检测各种不同种类的异常样品,同时能够定位异常区域,因此,由于训练的模型中不包含异常图像,只包含正常样品,因此只能重建出同语义类别的正常样品,降低了在重建过程中重建出异常位置的可能性,提高了产品的异常检测精确度;同时在训练中加入所有不同语义类别的正常工件,训练一个统一的模型,以使得模型能够得到不同预测类别的生成结果,因此,可以无需显式的进行样品分类或者训练多个不同的异常检测模型,大大降低了模型部署的成本,提升了效率。
在实际实施时,通过生成两个互补的屏蔽遮罩(虚拟遮罩),分别基于两个屏蔽遮罩对目标产品对应的产品图像进行遮罩,从而利用已有的未屏蔽的信息(互补图像区域的图像内容)使用扩散模型生成预测的屏蔽区域图像(图像区域对应的重建图像内容),然后将两个预测的屏蔽区域拼接之后,得到完整的预测图像(组合图像)。由于扩散模型是在全正常的训练集中训练的。因此最终预测的图像也是正常的图像,此时取输入图像(产品图像)和预测图像的各相同位置的像素点的差值的平方之和(相应像素点的第一颜色值差值、第二颜色值差值以及第三颜色值差值的平方之和)的开方,即可得到输入和预测的改变量,这些改变量的图像就是异常分割图(差异图),从而基于异常分割图,确定异常检测结果。
接下来,从产品侧对本申请的技术方案进行说明。基于扩散模型图像修复的工业异常检测方法主要用于工业零件质量检测领域,这里,当对模型进行训练时只需要正常的样品(正常产品对应的产品图像样本),不区分种类,可以同时输入不同产品(例如金属器件、玻璃器件)的正常样品进行训练;从而推理时可以根据当前样品的大致图像,自适应地重建最接近该图像的正常样品图像(组合图像),从而精确地给出当前输入样品和正常样品的差异,并将差异大的像素位置确定为异常区域。
接下来,从技术侧对本申请的技术方案进行说明。参见图15,图15是本申请实施例提供的基于扩散模型图像修复的工业异常检测方法的技术架构示意图,这里基于扩散模型图像修复的工业异常检测方法可以基于异常检测模型所实现,异常检测模型包括遮罩生成模块、扩散模块、重建模块以及输出模块,基于图15,遮罩生成模块会生成两张互补的遮罩图(虚拟遮罩),即其中一张遮掩的部分,正好是另一张可见的部分,这里,遮罩的部分的像素值为0值,可见的部分的像素值为1值,然后输入图片会与遮罩图相乘,这样,输入图片中可见的部分像素值仍为原有的RGB值,而被遮掩的部分RGB像素值为[0,0,0],即信息被丢弃;接着,对于扩散模块也即扩散模型,已训练的扩散模型会根据已有的RGB值,利用数学方法和U-Net模型逐步从一个高斯噪声逆扩散为“原始图像”(重建图像),这一“原始图像”即为预测的值。由于最终“原始图像”中可见的部分是直接从输入复制的,不会进行处理,只有“原始图像”中遮罩的部分才是模型根据已有信息生成的。因此通过重建模块,将两个不同遮罩的预测部分结合起来,就得到了最终的重建图片(基于各重建图像中重建图像内容的位置,从各重建图像中裁剪出重建图像内容,得到裁剪图像;对各裁剪图像进行图像拼接,得到目标拼接图像;将目标拼接图像确定为组合图像);最后,将这一重建图片(组合图像)和输入图片(产品图像)进行对比,从而得到了最终的异常分割图。
接下来,对扩散模型进行说明。首先,对于一张图片,如果每次都在每个像素上加一点噪声,经过足够多的轮次之后,整张图片看起来几乎丢失掉了所有的信息。如果想从最后得到的噪声图直接还原到原图片,这个过程是非常困难的。但如果每次只还原一点,也就是尝试还原出一次迭代前的结果。这里,扩散模型有两个过程,分别为扩散过程和逆扩散过程。
对于扩散过程,也即对图片逐渐加噪声的过程,当添加噪声的次数为t次时,扩散过程也即对输入图像X0添加t次噪声,得到Xt的过程,同时,Xt是在对Xt-1加噪声得到的,且只受Xt-1的影响,因此,扩散过程是一个马尔科夫过程。且每一步扩散的步长t受到变量的影响。X0表示从真实数据集中采样得到的一张图片,对X0添加T次噪声,图片逐渐变得模糊,当t足够大时,Xt为标准正态分布。在训练过程中,每次添加的噪声是已知的,即q(Xt|Xt-1)是已知的,根据马尔科夫过程的性质,可以递归得到q(Xt|X0),即q(Xt|X0)是已知的。
而对于确定q(Xt|X0)和q(Xt|Xt-1)的过程,在给定Xt-1的条件下,Xt服从均值方差为βtI的正态分布,因此,q(Xt|Xt-1)可以写成其中,重参数化技巧表示Xt,令αt=1-β,令Zt~N(0,I),t≥0,则
其中,令则
设随机变量为
则的期望E和方差D为
因此
基于此,根据q(Xt|Xt-1)和q(Xt|X0),可以利用原始图像(X0),直接计算出第t步的扩散状态(Xt),也可以利用t-1步的图像(Xt-1),计算出第t步的扩散状态(Xt)。
对于逆扩散过程,也即对图片逐渐去噪的过程,用于表示从噪声中逐渐复原出图片。当添加噪声的次数为t次时,如果能够在给定Xt条件下知道Xt-1的分布,即如果可以知道q(Xt-1|Xt),那我们就能够从任意一张噪声图片中经过一次次的采样得到一张图片而达成图片生成的目的。显然很难知道q(Xt-1|Xt),因此这里用pθ(Xt-1|Xt)来近似q(Xt-1|Xt),也即pθ(Xt-1|Xt)就是需要要训练的网络,例如可以是U-Net模型。此外,虽然不知道q(Xt-1|Xt),但是q(Xt-1|XtX0)是可以用q(Xt|X0)和q(Xt|Xt-1)表示的,即q(Xt-1|XtX0)是可知的,因此可以基于q(Xt-1|XtX0)来进行pθ(Xt-1|Xt)的训练过程。这里q(Xt-1|XtX0)也即
由于扩散过程是马尔科夫过程,只与前一时刻有关,也即
q(Xt|Xt-1X0)=q(Xt|Xt-1)……公式(10);
所以
由于
其中,exp指示以自然常数e为底的指数函数,所以
也即
其中,C(Xt,X0)是不涉及Xt-1的函数。按照标准的高斯密度函数,均值和方差可以被参数化如下:
所以
因为
所以
基于此,确定了q(Xt-1|XtX0)。
需要说明的是,扩散模型中对网络模型的唯一要求是输入和输出的数据维度需要相同(都是一幅图像的维度),因此,如图13所示,扩散模型的整体结构类似于一个编码器-解码器的形式,网络的前半部分(编码器)提取特征,同时保存提取结果,然后将提取出的特征拼接到网络的后半部分,辅助进行对逐像素噪声的预测(逆扩散过程中使用)。
在实际实施时,对于基于扩散模型确定重建图像也即修复图像的过程,这里,假设基于确定图像中的已知部分(未遮罩部分),基于确定图像中的未知部分(遮罩部分)。对于已知的部分,可以直接确定该图像(产品图像)在从0步经过扩散过程到t-1步时的加噪后的图像,即对于未知的部分,我们可以通过U-Net网络模型,从高斯噪声中逐步往回采样,从第t步经过逆扩散过程到t-1步时的减噪后的图像,即然后将两者拼接起来得到t-1步时的图像预测,即
其中,如图12所示,m为基于各图像区域、以及相应的互补图像区域,确定的对应产品图像的掩码,也即1202所指示的图像,而1-m用于指示以产品图像为参考,所获取的掩码具有互补关系的互补掩码,也即1203所指示的图像。
然后,逐步从t步采样(去噪)回0步,即可得到最终的图像预测结果也即重建图像。
在一些实施例中,为了顺利进行图像修复,还引入了重采样的机制。具体而言,从第t步逐步采样回0步时,并不会沿着单调递减序列进行采样。而是每J步会将进行J/2步的扩散过程,如此,可以使重建后的图片中已知的区域和未知的区域更好的融合,示例性地,当t=50,J=20,进行如图14所示的扩散过程以及逆扩散过程。
接下来,对遮罩生成模块的处理过程进行说明。这里,首先对输入图片进行复制,得到n(第一目标数量)张输入图片,将各输入图片处理成K×K的N个小矩形块(第二目标数量的矩形区域),遮掩掉N/n(第三目标数量)个小矩形块,重复n次得到n张遮掩后的“残缺图”(遮罩图像),其中,这n张“残缺图”中被遮掩掉的小矩形块交集为空,即保证每个小矩形块都能被遮掩,再在后续处理中被重建。这里,输入图片的高和宽分别为H,W,N为H/K×W/K,n为超参数如2,用于指示想要生成的残缺图数。
需要说明的是,对于异常检测模型的训练过程,这里只需要扩散模型进行训练,其余模块的处理过程均是确定的,不包含可学习的参数。具体而言,首先获取所有待检测各种类的正常产品样品,将其随机输入到网络中。由于训练的扩散模型是“无条件的”,因此无需标注其语义种类,即无需区分电阻、螺钉等不同产品,然后使用Lt损失函数进行网络的监督。这里,对于确定损失函数的过程,由于很难对噪声空间进行积分,直接优化损失函数是很困难的,因此将转而优化损失函数的变分上界LVLB,即
整理得
LVLB=LT+LT-1+…+L0……公式(33);
其中
LT=DKL(q(XT|X0)||pθ(XT))……公式(34);
Lt=DKL(q(Xt-1|XtX0)||pθ(Xt-1|Xt))for 1≤t≤T-1……公式(35);
L0=-logpθ(X0|X1)……公式(36);
基于此,由Lt可以确定,对pθ(Xt-1|Xt)的训练过程也即最小化pθ(Xt-1|Xt)和q(Xt-1|XtX0)的KL散度。
接下来,对输出模块的处理过程进行说明。这里,输出的为图片级异常结果(第一异常检测结果)和像素级异常结果(第二异常检测结果)。对于像素级异常结果,其为输出图像中每个像素分配一个异常值(像素值),具体地,如公式(1)所示,基于异常分割图,确定像素级异常结果。对于图片级异常结果,其用于指示所检测的图像中的目标产品是否包含异常区域,具体地,通过对异常分割图进行平均池化,然后确定平均池化后的最大值,从而基于该最大值,确定图片级异常结果。
如此,异常检测模型的网络结构明晰,各个模块均有较好的泛化能力,能够一次训练多种不同语义类别的工件,推理时自适应地进行图像修复;而且在模型训练和推理过程中均不需要显式的语义类别信息的参与,降低了产品的异常检测过程的成本,提高了产品的异常检测效率;不仅能够直接输出图片级的异常检测结果,还能够生成精确的像素级的异常检测结果;此外,各阶段可解释性强,结果清晰,方便算法异常时进行排错。
应用本申请上述实施例,首先基于目标产品对应的产品图像的包括的至少两个图像区域,确定与各图像区域具有互补关系的互补图像区域,然后基于互补图像区域的图像内容,重建相应图像区域的图像内容,再对各图像区域的重建图像内容进行组合,得到组合图像,从而基于组合图像以及产品图像之间的差异,确定目标产品对应的异常检测结果。如此,相较于相关技术中直接基于产品图像的整体特征进行图像重建的过程,依据产品图像中互补图像区域的图像内容,预测产品图像中图像区域的图像内容,降低了在重建过程中重建出异常位置的可能性,提高了产品的异常检测精确度;同时,依据产品图像互补图像区域的图像内容,预测对应产品图像的规范图像即组合图像,从而基于规范图像与产品图像间的差异,确定目标产品对应的异常检测结果,无需为每种类别的产品单独训练一个模型以及保存较多的特征,大大降低了产品的异常检测过程的成本,提高了产品的异常检测效率。
下面继续说明本申请实施例提供的产品的异常检测装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的产品的异常检测装置455中的软件模块可以包括:
获取模块4551,用于获取目标产品对应的产品图像,所述产品图像包括至少两个图像区域,所述至少两个图像区域的图像内容拼接形成所述产品图像;
第一确定模块4552,用于以所述产品图像为参考,分别确定与各所述图像区域具有互补关系的互补图像区域;
重建模块4553,用于针对各所述图像区域,基于相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容;
组合模块4554,用于将各所述图像区域对应的重建图像内容进行组合,得到组合图像;
第二确定模块4555,用于获取所述组合图像与所述产品图像之间的差异,并基于所述差异确定所述目标产品对应的异常检测结果。
在一些实施例中,所述装置还包括遮罩模块,所述遮罩模块,用于对所述产品图像进行复制,得到与所述图像区域的数量相同的产品图像;对各所述产品图像分别进行遮罩处理,得到遮罩图像;其中,所述遮罩图像中的遮罩区域与所述图像区域相对应,不同的所述遮罩图像对应不同的所述图像区域;所述重建模块4553,还用于基于所述遮罩图像,重建所述遮罩区域的图像内容,得到所述图像区域对应的重建图像内容。
在一些实施例中,所述重建模块4553,还用于获取图像重建模型;其中,所述图像重建模型的数量与所述图像区域的数量相同,所述图像重建模型与所述图像区域存在一一对应关系;通过图像重建模型,重建所述遮罩区域的图像内容,得到所述图像区域对应的重建图像内容。
在一些实施例中,所述装置还包括训练模块,所述训练模块,用于获取初始图像重建模型、以及正常产品对应的产品图像样本,所述产品图像样本包括至少两个训练图像区域,所述至少两个训练图像区域的图像内容拼接形成所述产品图像训练样本;以所述产品图像训练样本为参考,分别确定与各所述训练图像区域具有互补关系的互补训练图像区域;通过所述初始图像重建模型,针对各所述训练图像区域,基于相应的所述互补训练图像区域的图像内容,重建所述训练图像区域的图像内容,得到所述训练图像区域对应的重建图像内容;获取所述重建图像内容、与相应所述训练图像区域的图像内容的差异,并基于所述差异,对所述初始图像重建模型的模型参数进行更新,得到图像重建模型。
在一些实施例中,所述装置还包括分割模块,所述分割模块,用于对所述产品图像进行复制,得到与所述图像区域的数量相同的产品图像;针对各所述产品图像,对所述产品图像进行分割,得到与所述产品图像的所述互补图像区域相对应的分割图像;其中,不同的所述分割图像对应不同的所述图像区域;所述重建模块4553,还用于基于所述分割图像,重建所述分割图像对应的所述图像区域的图像内容,得到所述图像区域对应的重建图像内容。
在一些实施例中,每一个所述重建图像内容对应一个重建图像,所述组合模块4554,还用于基于各所述重建图像中所述重建图像内容的位置,从各所述重建图像中裁剪出所述重建图像内容,得到裁剪图像;对各所述裁剪图像进行图像拼接,得到目标拼接图像;将所述目标拼接图像确定为所述组合图像。
在一些实施例中,所述装置还包括第三确定模块,所述第三确定模块,用于基于各所述图像区域、以及相应的所述互补图像区域,确定对应所述产品图像的掩码,并以所述产品图像为参考,获取与所述掩码具有互补关系的互补掩码;其中,所述掩码用于遮盖所述产品图像中的所述图像区域的图像内容,所述互补掩码用于遮盖所述产品图像中的所述互补图像区域的图像内容;所述重建模块4553,还用于结合所述掩码、互补掩码、以及相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容。
在一些实施例中,所述重建模块4553,还用于对所述产品图像添加至少一次噪声,得到第一噪声图像,并获取对应所述产品图像的第二噪声图像,所述第二噪声图像为,对所述产品图像执行最后一次添加噪声处理前的待处理图像;对所述第一噪声图像进行去噪处理,得到去噪图像;将所述第二噪声图像与所述掩码进行图像融合,得到第一融合图像,并将所述去噪图像与所述互补掩码进行图像融合,得到第二融合图像;对所述第一融合图像与所述第二融合图像进行图像拼接,得到所述重建图像;基于所述重建图像、以及相应的所述互补图像区域的图像内容,确定所述图像区域对应的重建图像内容。
在一些实施例中,所述第二确定模块4555,还用于获取所述组合图像中各第一像素点、与所述产品图像中相同位置的第二像素点之间的像素点差值;基于各所述像素点差值,确定所述组合图像与所述产品图像的差异图;将所述差异图作为所述组合图像与所述产品图像之间的差异。
在一些实施例中,所述第二确定模块4555,还用于当所述差异为所述组合图像与所述产品图像的差异图时,基于所述差异图,确定所述目标产品对应的异常检测结果;其中,所述异常检测结果包括第一异常检测结果以及第二异常检测结果中至少之一,所述第一异常检测结果用于指示所述目标产品是否存在异常,所述第二异常检测结果为用于指示所述目标产品上异常的位置。
在一些实施例中,所述异常检测结果包括第一异常检测结果,所述第二确定模块4555,还用于对所述差异图进行区域划分,得到至少两个子图像区域;针对各所述子图像区域,对所述子图像区域中的多个像素点的像素值取平均值,得到针对所述子图像区域的平均像素值;基于所述平均像素值的大小,从所述多个子图像区域的平均像素值中选取最大平均像素值;基于所述最大平均像素值,确定所述第一异常检测结果。
在一些实施例中,所述异常检测结果包括第二异常检测结果,所述第二确定模块4555,还用于基于所述差异图,获取所述差异图中各像素点的像素值;基于各所述像素值的大小,从所述差异图的多个所述像素点中选取至少一个目标像素点;基于所述目标像素点的位置,确定所述第二异常检测结果。
在一些实施例中,所述第二确定模块4555,还用于针对所述差异图中的各像素点,执行以下处理:将所述像素点的像素值与像素值阈值进行比对,得到比对结果;当所述比对结果表征所述像素点的像素值大于所述像素值阈值时,将所述像素点确定为目标像素点。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的产品的异常检测方法,例如,如图3示出的产品的异常检测方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的产品的异常检测方法,例如,如图3示出的产品的异常检测方法。
在一些实施例中,计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随即存储器(Random Access Memory,RAM)、可擦写可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上所述,通过本申请实施例具有以下有益效果:
(1)相较于相关技术中直接基于产品图像的整体特征进行图像重建的过程,依据产品图像中互补图像区域的图像内容,预测产品图像中图像区域的图像内容,降低了在重建过程中重建出异常位置的可能性,提高了产品的异常检测精确度;同时,依据产品图像互补图像区域的图像内容,预测对应产品图像的规范图像即组合图像,从而基于规范图像与产品图像间的差异,确定目标产品对应的异常检测结果,无需为每种类别的产品单独训练一个模型以及保存较多的特征,大大降低了产品的异常检测过程的成本,提高了产品的异常检测效率。
(2)通过将图像采集装置设置为移动端,从而基于移动端设备进行图像采集,并对采集到的目标产品对应的产品图像进行异常检测,如此,移动端设备的灵活性及低成本能够大大提高对目标产品进行异常检测的可用性和便利性。
需要说明的是,在本申请实施例中,涉及到产品图像等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获取相应的许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (17)
1.一种产品的异常检测方法,其特征在于,所述方法包括:
获取目标产品对应的产品图像,所述产品图像包括至少两个图像区域,所述至少两个图像区域的图像内容拼接形成所述产品图像;
以所述产品图像为参考,分别确定与各所述图像区域具有互补关系的互补图像区域;
针对各所述图像区域,基于相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容;
将各所述图像区域对应的重建图像内容进行组合,得到组合图像;
获取所述组合图像与所述产品图像之间的差异,并基于所述差异确定所述目标产品对应的异常检测结果。
2.如权利要求1所述的方法,其特征在于,所述以所述产品图像为参考,分别确定与各所述图像区域具有互补关系的互补图像区域之后,所述方法还包括:
对所述产品图像进行复制,得到与所述图像区域的数量相同的产品图像;
对各所述产品图像分别进行遮罩处理,得到遮罩图像;
其中,所述遮罩图像中的遮罩区域与所述图像区域相对应,不同的所述遮罩图像对应不同的所述图像区域;
所述基于相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容,包括:
基于所述遮罩图像,重建所述遮罩区域的图像内容,得到所述图像区域对应的重建图像内容。
3.如权利要求2所述的方法,其特征在于,所述基于所述遮罩图像,重建所述遮罩区域的图像内容,得到所述图像区域对应的重建图像内容,包括:
获取图像重建模型;其中,所述图像重建模型的数量与所述图像区域的数量相同,所述图像重建模型与所述图像区域存在一一对应关系;
通过图像重建模型,重建所述遮罩区域的图像内容,得到所述图像区域对应的重建图像内容。
4.如权利要求3所述的方法,其特征在于,所述获取目标产品对应的产品图像之前,所述方法还包括:
获取初始图像重建模型、以及正常产品对应的产品图像样本,所述产品图像样本包括至少两个训练图像区域,所述至少两个训练图像区域的图像内容拼接形成所述产品图像训练样本;
以所述产品图像训练样本为参考,分别确定与各所述训练图像区域具有互补关系的互补训练图像区域;
通过所述初始图像重建模型,针对各所述训练图像区域,基于相应的所述互补训练图像区域的图像内容,重建所述训练图像区域的图像内容,得到所述训练图像区域对应的重建图像内容;
获取所述重建图像内容、与相应所述训练图像区域的图像内容的差异,并基于所述差异,对所述初始图像重建模型的模型参数进行更新,得到图像重建模型。
5.如权利要求1所述的方法,其特征在于,所述以所述产品图像为参考,分别确定与各所述图像区域具有互补关系的互补图像区域之后,所述方法还包括:
对所述产品图像进行复制,得到与所述图像区域的数量相同的产品图像;
针对各所述产品图像,对所述产品图像进行分割,得到与所述产品图像的所述互补图像区域相对应的分割图像;
其中,不同的所述分割图像对应不同的所述图像区域;
所述基于相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容,包括:
基于所述分割图像,重建所述分割图像对应的所述图像区域的图像内容,得到所述图像区域对应的重建图像内容。
6.如权利要求1所述的方法,其特征在于,每一个所述重建图像内容对应一个重建图像,所述将各所述图像区域对应的重建图像内容进行组合,得到组合图像,包括:
基于各所述重建图像中所述重建图像内容的位置,从各所述重建图像中裁剪出所述重建图像内容,得到裁剪图像;
对各所述裁剪图像进行图像拼接,得到目标拼接图像;
将所述目标拼接图像确定为所述组合图像。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
基于各所述图像区域、以及相应的所述互补图像区域,确定对应所述产品图像的掩码,并以所述产品图像为参考,获取与所述掩码具有互补关系的互补掩码;
其中,所述掩码用于遮盖所述产品图像中的所述图像区域的图像内容,所述互补掩码用于遮盖所述产品图像中的所述互补图像区域的图像内容;
所述基于相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容,包括:
结合所述掩码、互补掩码、以及相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容。
8.如权利要求7所述的方法,其特征在于,所述结合所述掩码、互补掩码、以及相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容,包括:
对所述产品图像添加至少一次噪声,得到第一噪声图像,并获取对应所述产品图像的第二噪声图像,所述第二噪声图像为,对所述产品图像执行最后一次添加噪声处理前的待处理图像;
对所述第一噪声图像进行去噪处理,得到去噪图像;
将所述第二噪声图像与所述掩码进行图像融合,得到第一融合图像,并将所述去噪图像与所述互补掩码进行图像融合,得到第二融合图像;
对所述第一融合图像与所述第二融合图像进行图像拼接,得到所述重建图像;
基于所述重建图像、以及相应的所述互补图像区域的图像内容,确定所述图像区域对应的重建图像内容。
9.如权利要求1所述的方法,其特征在于,所述获取所述组合图像与所述产品图像之间的差异,包括:
获取所述组合图像中各第一像素点、与所述产品图像中相同位置的第二像素点之间的像素点差值;
基于各所述像素点差值,确定所述组合图像与所述产品图像的差异图;
将所述差异图作为所述组合图像与所述产品图像之间的差异。
10.如权利要求1所述的方法,其特征在于,所述基于所述差异确定所述目标产品对应的异常检测结果,包括:
当所述差异为所述组合图像与所述产品图像的差异图时,基于所述差异图,确定所述目标产品对应的异常检测结果;
其中,所述异常检测结果包括第一异常检测结果以及第二异常检测结果中至少之一,所述第一异常检测结果用于指示所述目标产品是否存在异常,所述第二异常检测结果为用于指示所述目标产品上异常的位置。
11.如权利要求10所述的方法,其特征在于,所述异常检测结果包括第一异常检测结果,所述基于所述差异图,确定所述目标产品对应的异常检测结果,包括:
对所述差异图进行区域划分,得到至少两个子图像区域;
针对各所述子图像区域,对所述子图像区域中的多个像素点的像素值取平均值,得到针对所述子图像区域的平均像素值;
基于所述平均像素值的大小,从所述多个子图像区域的平均像素值中选取最大平均像素值;
基于所述最大平均像素值,确定所述第一异常检测结果。
12.如权利要求10所述的方法,其特征在于,所述异常检测结果包括第二异常检测结果,所述基于所述差异图,确定所述目标产品对应的异常检测结果,包括:
基于所述差异图,获取所述差异图中各像素点的像素值;
基于各所述像素值的大小,从所述差异图的多个所述像素点中选取至少一个目标像素点;
基于所述目标像素点的位置,确定所述第二异常检测结果。
13.如权利要求12所述的方法,其特征在于,所述基于各所述像素值的大小,从所述差异图的多个所述像素点中选取至少一个目标像素点,包括:
针对所述差异图中的各像素点,执行以下处理:
将所述像素点的像素值与像素值阈值进行比对,得到比对结果;
当所述比对结果表征所述像素点的像素值大于所述像素值阈值时,将所述像素点确定为目标像素点。
14.一种产品的异常检测装置,其特征在于,所述装置包括:
获取模块,用于获取目标产品对应的产品图像,所述产品图像包括至少两个图像区域,所述至少两个图像区域的图像内容拼接形成所述产品图像;
第一确定模块,用于以所述产品图像为参考,分别确定与各所述图像区域具有互补关系的互补图像区域;
重建模块,用于针对各所述图像区域,基于相应的所述互补图像区域的图像内容,重建所述图像区域的图像内容,得到所述图像区域对应的重建图像内容;
组合模块,用于将各所述图像区域对应的重建图像内容进行组合,得到组合图像;
第二确定模块,用于获取所述组合图像与所述产品图像之间的差异,并基于所述差异确定所述目标产品对应的异常检测结果。
15.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至13任一项所述的产品的异常检测方法。
16.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至13任一项所述的产品的异常检测方法。
17.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时,实现权利要求1至13任一项所述的产品的异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209612.0A CN116958028A (zh) | 2023-02-24 | 2023-02-24 | 产品的异常检测方法、装置、电子设备、存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209612.0A CN116958028A (zh) | 2023-02-24 | 2023-02-24 | 产品的异常检测方法、装置、电子设备、存储介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116958028A true CN116958028A (zh) | 2023-10-27 |
Family
ID=88445043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310209612.0A Pending CN116958028A (zh) | 2023-02-24 | 2023-02-24 | 产品的异常检测方法、装置、电子设备、存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116958028A (zh) |
-
2023
- 2023-02-24 CN CN202310209612.0A patent/CN116958028A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guo et al. | An efficient fusion-based defogging | |
US20200167161A1 (en) | Synthetic depth image generation from cad data using generative adversarial neural networks for enhancement | |
CN110991560B (zh) | 一种结合上下文信息的目标检测方法及系统 | |
CN113688947B (zh) | 一种配电设备红外图像故障识别方法及系统 | |
WO2021261168A1 (ja) | 検査装置、ユニット選択装置、検査方法、及び検査プログラム | |
US11810310B2 (en) | Satellite image processing method, network training method, related devices and electronic device | |
CN111914654B (zh) | 一种文本版面分析方法、装置、设备和介质 | |
CN116958131B (zh) | 一种图像处理方法、装置、设备及存储介质 | |
CN106611056B (zh) | 三维仿真地图的切图方法及装置 | |
US10726535B2 (en) | Automatically generating image datasets for use in image recognition and detection | |
CN114863020A (zh) | 三维模型构建方法、装置、电子设备及存储介质 | |
CN115375617A (zh) | 一种缺陷检测、训练方法、装置、存储介质及设备 | |
CN117274605B (zh) | 一种从无人机拍摄的照片中提取水域轮廓的方法及装置 | |
CN116958028A (zh) | 产品的异常检测方法、装置、电子设备、存储介质及产品 | |
CN109785312B (zh) | 一种图像模糊检测方法、系统及电子设备 | |
CN116612210A (zh) | 一种基于深度学习的电绣材质贴图生成方法、装置以及介质 | |
CN116977195A (zh) | 复原模型的调整方法、装置、设备及存储介质 | |
CN112052863B (zh) | 一种图像检测方法及装置、计算机存储介质、电子设备 | |
CA2997335C (en) | Automatically generating image datasets for use in image recognition and detection | |
CN118135613B (zh) | 一种基于混合深度神经网络的舌象图像分割方法及系统 | |
CN117314909B (zh) | 基于人工智能的电路板缺陷检测方法、装置、设备及介质 | |
US20230055204A1 (en) | Generating colorized digital images utilizing a re-colorization neural network with local hints | |
CN116563674B (zh) | 样本图像增强方法、系统、电子设备及可读存储介质 | |
CN110545373A (zh) | 空间环境的感知方法及装置 | |
CN117333740B (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 |