CN117078665B - 产品表面缺陷检测方法、装置、存储介质和电子设备 - Google Patents
产品表面缺陷检测方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN117078665B CN117078665B CN202311322698.4A CN202311322698A CN117078665B CN 117078665 B CN117078665 B CN 117078665B CN 202311322698 A CN202311322698 A CN 202311322698A CN 117078665 B CN117078665 B CN 117078665B
- Authority
- CN
- China
- Prior art keywords
- defect
- area
- identified
- region
- expansion
- 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.)
- Active
Links
- 230000007547 defect Effects 0.000 title claims abstract description 623
- 238000001514 detection method Methods 0.000 title claims abstract description 31
- 238000003860 storage Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000002950 deficient Effects 0.000 claims description 74
- 238000012545 processing Methods 0.000 claims description 29
- 238000001914 filtration Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000009467 reduction Effects 0.000 claims description 5
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 16
- 238000012549 training Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 239000002184 metal Substances 0.000 description 4
- 230000000877 morphologic effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000037303 wrinkles Effects 0.000 description 3
- 235000001275 Bouea macrophylla Nutrition 0.000 description 2
- 240000001160 Bouea macrophylla Species 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 238000012795 verification Methods 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
- G01N2021/8854—Grading and classifying of flaws
- G01N2021/8874—Taking dimensions of defect into account
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
- G01N2021/8887—Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges based on image processing techniques
-
- 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
- G06T2207/30164—Workpiece; Machine component
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Biochemistry (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Geometry (AREA)
- General Health & Medical Sciences (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Image Processing (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种上述的产品表面缺陷检测方法、装置、存储介质和电子设备。该方法包括:获取待测产品表面的高度图像;从所述高度图像中识别出各个疑似缺陷的缺陷区域;从每个缺陷区域中选取一个缺陷区域作为待识别区域,根据所述每个缺陷区域在所述高度图像中所处的位置对所述待识别区域进行膨胀处理,得到缺陷膨胀区域,使得所述缺陷膨胀区域中不与除所述待识别区域外的其他缺陷区域重叠;从所述缺陷膨胀区域中解析出所述待识别区域对应的基准面信息;基于所述基准面信息计算出所述待识别区域的高度信息;根据所述高度信息确定所述待识别区域是否存在产品表面缺陷。本申请可提高产品的表面缺陷检测的准确性。
Description
技术领域
本申请涉及缺陷检测技术领域,尤其涉及一种产品表面缺陷检测方法、装置、存储介质和电子设备。
背景技术
电子设备、汽车零部件、机械制品等产品在出厂前需要进行表面缺陷检测。这些产品的表面缺陷主要包括凹陷、凸起、划痕、气泡、裂纹等缺陷。
目前的产品表面缺陷检测大多数都是采用机器视觉结合人工智能来进行检测。传统的产品表面缺陷检测过程中,在采集到产品表面信息之后,会基于该表面信息对缺陷进行初步定位,识别出产品表面中疑似存在缺陷的区域,从该区域中提取出缺陷的形状、尺寸等特征信息,当该特征信息与产品所规定的缺陷所具备的特征相匹配时,才能确定该区域中确实存在缺陷。
但受限于产品表面的复杂性和几何变化等因素的影响,传统技术难以精确捕捉产品表面的缺陷特征,导致容易造成缺陷检测结果的误判。因此需要研发一种可靠的产品表面缺陷检测方法,以提高产品表面缺陷检测的准确性和稳定性,从而满足现代制造业对产品质量控制的要求。
发明内容
本申请的目的在于提供一种产品表面缺陷检测方法、装置、存储介质和电子设备,以解决上述至少一种问题。
本申请第一方面,提供了一种产品表面缺陷检测方法,所述方法包括:
获取待测产品表面的高度图像;
从所述高度图像中识别出各个疑似缺陷的缺陷区域;
从每个缺陷区域中选取一个缺陷区域作为待识别区域,根据所述每个缺陷区域在所述高度图像中所处的位置对所述待识别区域进行膨胀处理,得到缺陷膨胀区域,使得所述缺陷膨胀区域中不与除所述待识别区域外的其他缺陷区域重叠;
从所述缺陷膨胀区域中解析出所述待识别区域对应的基准面信息;
基于所述基准面信息计算出所述待识别区域的高度信息;
根据所述高度信息确定所述待识别区域是否存在产品表面缺陷。
本申请第二方面,提供了一种产品表面缺陷检测装置,所述装置包括:
图像获取模块,用于获取待测产品表面的高度图像;
缺陷识别模块,用于从所述高度图像中识别出各个疑似缺陷的缺陷区域;
缺陷特征计算模块,用于从每个缺陷区域中选取一个缺陷区域作为待识别区域,根据所述每个缺陷区域在所述高度图像中所处的位置对所述待识别区域进行膨胀处理,得到缺陷膨胀区域,使得所述缺陷膨胀区域中不与除所述待识别区域外的其他缺陷区域重叠;从所述缺陷膨胀区域中解析出所述待识别区域对应的基准面信息;基于所述基准面信息计算出所述待识别区域的高度信息;
缺陷确认模块,用于根据所述高度信息确定所述待识别区域是否存在产品表面缺陷。
本申请第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,所述可执行指令被处理器执行时使所述处理器执行本申请任一项所述的方法。
本申请第四方面,提供了一种电子设备,包括:一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行本申请任一项所述的方法。
上述的产品表面缺陷检测方法、装置、存储介质和电子设备,通过进行缺陷区域识别,再根据产品中各个缺陷区域来对待识别区域进行膨胀处理,得到缺陷膨胀区域,以确保缺陷膨胀区域不与其他缺陷区域重叠,从而确保了缺陷膨胀区域不被其他缺陷区域所影响,进而提高了待识别区域的基准面信息和高度信息计算的准确性,从而最终提高了产品的表面缺陷检测的准确性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请范围的限定。
图1为一个实施例中产品表面缺陷检测方法的流程示意图;
图2A为一个实施例中待测产品的部分表面的高度图像示意图;
图2B为一个实施例中图2A中的缺陷区域的识别结果图像示意图;
图2C为一个实施例中图2A中的第一个缺陷区域进行膨胀处理的示意图;
图2D为一个实施例中图2A中的第二个缺陷区域进行膨胀处理的示意图;
图2E为一个实施例中图2A中的第三个缺陷区域进行膨胀处理的示意图;
图3为另一个实施例中待测产品的部分表面的高度图像示意图;
图4为另一个实施例中产品表面缺陷检测方法的流程示意图;
图5为又一个实施例中待测产品的部分表面的高度图像示意图;
图6为一个实施例中产品表面缺陷检测装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请所使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
比如本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一数量阈值称为第二数量阈值,且类似地,可将第二数量阈值称为第一数量阈值。第一数量阈值和第二数量阈值两者都是数量阈值,但其不是同一个数量阈值。
再比如本申请所使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在一个实施例中,如图1所示,提供了一种产品表面缺陷检测方法,该方法包括:
步骤102:获取待测产品表面的高度图像。
本实施例中,待测产品可为在出厂前需要进行表面缺陷检测的任意产品,该产品可为电子设备、汽车零部件、机械制品、玻璃制品、金属制品、纺织品、食品饮料包装、医疗器械、陶瓷制品、光学器材、钟表等产品。电子设备可为手机、平板电脑、电视、电脑等设备的外壳表面或者电子设备所采用的电池的表面;汽车零部件可为汽车车身、车门、车窗等部件;金属制品可为金属板材、管道、金属零件等;光学器材可为光学镜头、眼镜镜片等。比如待测产品可为电池、光伏面板等。具体的,可为方形电池。表面缺陷主要包括凹陷、凸起、划痕、气泡、裂纹、褶皱等处于产品表面上的各种类型的缺陷。不同类型的缺陷具有不同的认定标准,不同的产品对表面缺陷的认定标准不同。该认定标准通常涉及到缺陷在产品表面上所覆盖的面积、形状、在表面上凸起或凹陷的深度等其中的一种或几种特征。以凹陷缺陷为例,比如某个产品针对凹陷缺陷的定义是要求产品上的凹陷区域的凹陷面积和/或平均凹陷深度和/或最大凹陷深度分别需要达到相应设定的数值才属于凹陷缺陷。优选地,本申请中的缺陷是指需要根据高度(或深度)信息才能判定的缺陷。
电子设备可以通过3D摄像头对待测产品的表面进行拍摄,并对拍摄形成的3D数据进行处理,最终得到待测产品的高度图像。高度图像可为三维点云数据,其可以体现出待测产品各个区域的表面高度(或深度)的信息。比如高度图像中的每个像素值可以表示待测产品对应位置的高度。可选地,该高度图像还可以为基于该三维点云数据处理后的二维图像,该图像中的每个像素点所处的位置对应待测产品的对应位置,该像素点的像素值可以体现出对应位置的高度。比如处于图像中的第m行第n列的像素点可以对应于待测产品的某个局部部位,该像素点的RGB通道值或其它形式的通道值或灰度值等相应的数值可以对应于该局部部位的高度。
其中,该高度可以是待测产品表面距离某个参照物的高度,比如为距离摄像头的高度,或者为某个水平面的高度。
步骤104,从高度图像中识别出各个疑似缺陷的缺陷区域。
本实施例中所识别出来的缺陷区域并非是最终所确定的缺陷区域,而是疑似存在缺陷的区域。其中,从高度图像所体现的表面的高度信息中可以识别出哪些区域存在疑似缺陷,进而将该疑似缺陷的区域作为缺陷区域。缺陷区域由疑似缺陷组成,该缺陷区域的边缘位置即为疑似缺陷的边缘位置。可选地,该缺陷区域所覆盖的面积即为疑似表面缺陷的面积,缺陷区域不包含非疑似缺陷(即正常表面)的区域。
进一步地,在识别出缺陷区域的同时,还会进一步识别出该缺陷区域疑似存在的缺陷所属的缺陷类型。即每个缺陷区域对应一种类型的疑似缺陷。疑似缺陷表示可能是某种类型的表面缺陷,但还需要进一步核实,并非一定就是表面缺陷。也就是说,缺陷区域并非一定存在表面缺陷,还需要做进一步识别才能判定是否属于表面缺陷。
高度图像中所识别出来的待测产品的缺陷区域的数量可以具有N个,表示待测产品的表面可能存在N个缺陷,N可为0、1、2、3……任意非负整数。当N为0时,表示初步识别该待测产品不存在表面缺陷。
在一个实施例中,系统可预先训练出相应的缺陷定位模型,将该高度图像导入该缺陷定位模型中进行识别,可以输出高度图像中所包含的缺陷区域以及该缺陷区域所包含的缺陷所属的缺陷类型。基于该缺陷定位模型可以对疑似缺陷的各个区域实现精准定位。该缺陷定位模型可为基于卷积神经网络模型所训练出来的模型。其中,缺陷类型包括上述的凹陷、凸起、划痕、气泡、裂纹、褶皱等。
举例来说,从某个高度图像中识别出缺陷区域M和缺陷区域N,该整个缺陷区域M所表示的产品的表面位置都是疑似划痕类型的表面缺陷,整个缺陷区域N所表示的产品的表面位置都是疑似气泡类型的表面缺陷。
具体的,可预先建立产品的缺陷识别结果图像,将该结果图像输入至缺陷定位模型中进行迭代训练,并得到训练好的缺陷定位模型。其中,结果图像表示已知存在的缺陷区域和该缺陷区域所表示的缺陷所属的缺陷类型。可选地,输出的结果可为一个二值图像,图像中白色的区域即为对应的疑似缺陷的缺陷区域。
举例来说,图2A为包含某个待测产品的部分高度图像,或者经过去噪降位等处理后的部分高度图像。比如可为某个方形电池的某个面的经过处理后的高度图像。图中的灰色区域即对应待测产品相应的部位,而包围了该灰色区域的外围的黑色区域部分即为相应的背景区域。通过相应的识别模型对其进行缺陷识别,去除其背景区域后,得到如图2B所示的识别结果图像,该识别结果图像为二值图像,图像中的白色区域即为相应的缺陷区域。可以发现,该图像中呈现出来的缺陷区域包含3个,每个白色区域即为一个缺陷区域。进一步地,模型还会输出每个缺陷区域相应的缺陷类型,比如均为气泡缺陷。
步骤106,从每个缺陷区域中选取一个缺陷区域作为待识别区域,根据每个缺陷区域在高度图像中所处的位置对待识别区域进行膨胀处理,得到缺陷膨胀区域,使得缺陷膨胀区域中不与除待识别区域外的其他缺陷区域重叠。
本实施例中,针对识别出来的多个缺陷区域,可以按照预设的选取规则选取一个或多个缺陷区域作为待识别区域,针对待识别区域中是否存在表面缺陷进行进一步的检测。其中,该选取规则可为按照高度图像中的从左至右、从上至下等任意合适的规则。
缺陷区域中所包含的整个缺陷都是被初步判定为属于存在表面缺陷的区域。在后续进一步的检测中,需要计算缺陷的高度信息,而该高度信息需要参考缺陷区域周边的区域。故而需要对缺陷区域进行膨胀处理,从而形成一个包含该待识别区域的缺陷膨胀区域,缺陷膨胀区域可作为计算基准面的参考。缺陷膨胀区域可以看作是对缺陷区域的扩充,用于提供更全面的缺陷信息和更准确的形态特征。
可选的,可根据不同的疑似缺陷的缺陷类型、缺陷区域面积等其中的一种或几种来设置相应的膨胀系数,基于该膨胀系数对待识别区域进行膨胀,形成缺陷膨胀区域。不同的缺陷类型对应的膨胀系数不同,不同的缺陷区域面积对应的膨胀系数也不同。
具体地,可以根据待识别区域的尺寸和形状特征来确定膨胀系数。比如根据待识别区域的直径、形状特征、边界框尺寸构建与膨胀系数之间的映射关系,基于该映射关系来确定相应的膨胀系数。其中,待识别区域尺寸小的,其对应的膨胀系数较小,而尺寸大的待识别区域对应的膨胀系数较大。
在一个实施例中,可以按照膨胀系数n=e^(min(x,y)/z)来确定膨胀系数,其中,x和y分别为缺陷区域的宽度和长度,z为预设的参数。当缺陷区域不为规则的矩形时,该宽度可为最高点至最低点之间的高度差值,长度可为缺陷区域中,位于最左点和最右点之间的长度差值。z的大小可为固定大小,也可以根据缺陷类型、待测产品的特征等所自适应确定的数值,比如z值可为1/375。
电子设备基于所确定的膨胀系数对待识别区域进行膨胀,比如以圆形、椭圆形或矩形等形状对待识别区域的边界进行扩张并增加其面积,形成缺陷膨胀区域。
对于最终得到的缺陷膨胀区域,其不存在除待识别区域外的其他缺陷区域,即缺陷膨胀区域与其他缺陷区域之间不存在重叠。通过使得缺陷膨胀区域与其他缺陷区域不重叠,可以避免其他缺陷区域对待识别区域的高度信息计算的干扰,提高了高度信息计算的准确性。
可选的,针对缺陷膨胀区域的确定,可以结合待识别区域与其他缺陷区域的位置关系,设置相应的膨胀系数,使得基于该膨胀系数得到的缺陷膨胀区域不会包含其他缺陷区域或不与其他缺陷区域重叠。也可以在得到一个缺陷初始膨胀区域之后,检测缺陷初始膨胀区域是否其他缺陷区域存在重叠,若存在,则去除重叠部分,将去除重叠部分之后的缺陷初始膨胀区域作为最终的缺陷膨胀区域。
为避免形成的缺陷膨胀区域与其他缺陷区域重叠,电子设备可以基于其他缺陷区域对待识别区域设置膨胀边界,并在该膨胀边界内进行膨胀,形成缺陷膨胀区域。该膨胀边界与其他缺陷膨胀区域均不重叠。具体地,可以将高度图像中去除了其他缺陷区域的部分所形成的去除后的边界作为膨胀边界。
举例来说,如图3所示,其示出了一个实施例中的待测产品表面的(部分)高度图像示意图。其中,针对该高度图像识别出了缺陷区域A和缺陷区域B,当缺陷区域A作为待识别区域时,对缺陷区域A进行椭圆形膨胀处理得到了椭圆形的缺陷膨胀区域C,使得该缺陷膨胀区域C中不存在缺陷区域B,也不与缺陷区域B存在重叠。其中,该缺陷膨胀区域C是在膨胀边界D所形成的区域范围内对缺陷区域A进行膨胀后所形成的区域,该膨胀边界D所形成的区域与其他缺陷区域之间不存在重叠。
再举例来说,如图2C、图2D和图2E所示,针对如图2B所示的缺陷区域,可以将该映射到图2A中,分别对相应位置处的缺陷区域进行矩形膨胀。比如针对第一个缺陷区域按照左右和上下四个方向进行膨胀,形成了缺陷膨胀区域,该缺陷膨胀区域即为图中的各个矩形区域(区域1-1、1-2、1-3、1-4、1-5)的并集。类似地,针对第二个缺陷区域,同样按照相同方式进行膨胀,可以发现在往左方向膨胀的过程中,边界处避开了第一个缺陷区域,而在往下方膨胀的过程中还覆盖到了第三个缺陷区域,则需要去除掉该覆盖的缺陷区域。也就是说,第二个缺陷区域对应的缺陷膨胀区域即为各个方向膨胀后的区域取并集(区域2-1、2-2、2-3、2-4、2-5),并去掉仅包围了第三个缺陷区域的矩形区域2-6后所形成的区域。针对图2B所示的第三个缺陷区域,其形成的缺陷膨胀区域同样为围绕着缺陷区域的上下左右各个方向所膨胀的各个矩形区域的并集(区域3-1、3-2、3-3、3-4、3-5)。
步骤108,从缺陷膨胀区域中解析出待识别区域对应的基准面信息。
本实施例中,该基准面是用于衡量待识别区域中的疑似缺陷的缺陷高度的表面,用于对缺陷进行分析和定位。
基准面信息包括基准面区域以及基准面参数。基准面参数包括单位法向量和原点到该基准面的距离等其中的一种或多种参数。具体地,将缺陷膨胀区域与缺陷区域作差处理,得到基准面区域。比如可将缺陷膨胀区域和缺陷区域进行区域运算,得到基准面区域。通过将缺陷区域与基准面区域进行对比,可以确定缺陷的凹凸性质以及其相对位置。缺陷区域中的高度相对于基准面的变化可以帮助确定缺陷的形态特征和严重程度。差处理的目的是将缺陷的影响从原始高度图像中剔除,留下基准面的信息。通过对每个像素点进行差处理,得到基准面区域的高度图像。
在一个实施例中,作差处理可以进一步去除缺陷区域周边临近的区域,比如针对上述图2B中的三个区域,可以将第一个缺陷膨胀区域与区域1-3作差处理,得到的基准面为由区域1-1、1-2、1-4、1-5所形成的并集;类似地,第二个缺陷区域对应的基准面区域为由区域2-1、2-2、2-4、2-5所形成的并集后去掉区域2-6所形成的区域;第三个缺陷区域对应的基准面区域为由区域3-1、3-2、3-4、3-5所形成的并集。通过进一步去除缺陷区域周边临近的区域,在可以简化基准面区域的计算过程。
针对基准面区域,可获取基准面区域内所有点坐标进行拟合,得到相应的基准面参数。比如可以根据最小二乘法进行拟合。基准面参数用于计算缺陷区域内每个点相对于基准面的高度信息。
针对高度图像中的基准面区域,采用最小二乘法拟合的方法,得到基准面的数学模型和参数。具体地,可以通过最小化基准面区域内各个点到拟合曲面的距离平方和,来获得最佳的拟合结果。得到的基准面信息将包括基准面的形状、方程或参数等描述,这些信息可以被用来进行后续的缺陷分析和检测。基准面信息的获取对于精确的缺陷定位和尺寸计算具有重要作用,从而提高缺陷检测的准确性和可靠性。
步骤110,基于基准面信息计算出待识别区域的高度信息。
本实施例中,高度指待识别区域中的各个点到基准面的高度。可获取待识别区域内所有点的坐标,计算各个点到基准面的距离,该距离即为高度。具体地,可以使用基准面参数来计算待识别区域内每个点相对于基准面的高度。高度信息可包括识别区域内的点相对于基准面的高度均值、高度极值、高度极差值等其中的一种或多种。高度均值即相应区域内的平均高度,高度极值即区域内的每个点相对于基准面的高度的集合中的极大值和极小值,高度极差值即为极大值、极小值之间的差值。
步骤112,根据高度信息确定待识别区域是否存在产品表面缺陷。
本实施例中,确定结果包括待识别区域存在表面缺陷或不存在表面缺陷等其中的一种结果。电子设备预先设置了各个表面缺陷类型的认定标准信息,该认定标准信息包括相应缺陷的缺陷面积、缺陷高度等其中的一种或多种。在得到了待识别区域的高度信息之后,可将该高度信息与对应类型的缺陷的认定标准信息进行比对。如果比对结果为符合认定标准,则判定待识别区域存在产品表面缺陷。其中,认定标准信息可根据产品的厂家要求来制定,不同的产品通常其认定标准不同,相同的产品,针对不同的厂家而言,其认定标准可能也不一定相同。
举例来说,某个厂家对某个产品(比如某个方形电池)所设定的认定标准信息中的缺陷高度包括平均高度、高度极值、高度极差值等其中的一种或几种。其规定了划痕的平均高度(即平均深度)为0.1mm~0.5mm以上、高度极值为1mm~2mm以上,高度超过0.3mm~0.8mm的区域占比整个缺陷区域面积不小于10%~20%,当均满足这几个条件中的一个或多个时,判定比对结果为符合产品上的划痕的认定标准。
当判定不符合对应的认定标准时,可以再进行下一步检测来进一步判断是否存在表面缺陷,或者可以直接判定不存在表面缺陷。
本申请中的产品表面缺陷检测方法,通过进行缺陷区域识别,再根据产品中各个缺陷区域来对待识别区域进行膨胀处理,得到缺陷膨胀区域,以确保缺陷膨胀区域不与其他缺陷区域重叠,从而确保了缺陷膨胀区域不被其他缺陷区域所影响,进而提高了待识别区域的基准面信息和高度信息计算的准确性,从而最终提高了产品的表面缺陷检测的准确性。
在一个实施例中,在步骤112之后,还包括:根据每个缺陷区域的表面缺陷检测结果确定待测产品是否合格。
本实施例中,在得到每个缺陷区域的表面缺陷检测结果后,可统计产品上存在表面缺陷的种类以及各个种类下的缺陷数量,当该缺陷数量和/或缺陷种类符合预先设定的不合格判定条件时,则判定其属于不合格的产品。
其中,不合格判定条件可以包括表面缺陷数量、表面缺陷的尺寸、缺陷种类等其中的一种或多种,比如可以为当表面缺陷的总量超过预设的第一数量阈值时,则说明产品不合格,后者当某个种类的任意一个表面缺陷的尺寸超过预设的尺寸规格时,则说明产品不合格,或者当某种类型的表面缺陷的数量超过对应的第二数量阈值时,也说明产品不合格。
本实施例中,通过排除临近的缺陷区域对待识别区域造成的影响,从而使得对每个待识别区域的判定更加的准确,从而可以最终更加准确的得到产品是否合格的识别结果。
举例来说,比如存在某个缺陷区域X,在未排除其临近的缺陷区域Y对其造成的影响的情况下,会得到该缺陷区域X存在表面缺陷,并导致最终认定为产品属于不合格产品。而如果排除了缺陷区域Y对其造成的干扰之后,得到的结果是缺陷区域Y不存在表面缺陷,而基于这样的识别结果可能最终得到的结果是产品为合格的产品。
在一个实施例中,根据每个缺陷区域在高度图像中所处的位置对待识别区域进行膨胀处理,得到缺陷膨胀区域,包括:基于高度图像对缺陷区域进行初始膨胀处理,得到缺陷初始膨胀区域;检测缺陷初始膨胀区域中是否与其他缺陷区域重叠,若是,则去除缺陷初始膨胀区域中的重叠区域,形成缺陷膨胀区域。
初始膨胀处理过程中,可包括如下步骤:
步骤a、二值化处理。将经过缺陷识别模型输出的二值图像作为输入。在这个图像中,缺陷区域被标记为1,非缺陷区域标记为0。
步骤b、结构元素选择。选择一个适当的结构元素,比如为一个小的圆形或正方形。
步骤c、膨胀操作。对二值图像进行膨胀操作。将结构元素在图像上滑动,如果结构元素下的任何像素与原图像中的缺陷像素相交,则将膨胀元素的中心位置的像素标记为1。
多次重复步骤 c,每次膨胀操作都会使缺陷区域扩大,直到得到所需要的膨胀结果。
步骤d、结果获取。得到经过膨胀处理后的图像。此图像中,缺陷区域的范围会扩大,缺陷之间的空隙可能被填充。
步骤e、后处理。对膨胀后的图像进行后处理,包括进行连通区域分析,以去除不需要的小区域或孤立的像素点。
通过以上步骤,可以将经过缺陷识别的二值图像进行膨胀处理,从而增大缺陷区域的范围,有助于更好地识别和定位缺陷,特别是那些尺寸较小的缺陷。
其中,膨胀的程度应根据实际需求进行调整,以获得最佳的结果。具体地,可以针对不同的缺陷类型或者缺陷区域的面积设置对应的膨胀系数,针对待识别区域,可首先确定其所属的缺陷类型和/或缺陷面积,并基于该缺陷类型和/或缺陷面积来确定对应的膨胀系数,并基于该膨胀系数来对待识别区域进行初始膨胀处理,将处理膨胀处理后的区域作为缺陷初始膨胀区域。
检测缺陷初始膨胀区域是否与其他缺陷区域重叠,如果存在重叠,则可以对该膨胀系数进行修正,比如可以减小膨胀系数,并根据修正后的膨胀系数重新对待识别区域进行膨胀,以使得最终得到一个与其他缺陷区域不存在重叠区域的缺陷膨胀区域。其中,该膨胀系数可以根据产生的重叠区域的位置和面积来进行修正。
在一个实施例中,当检测到存在重叠后,可直接去除重叠区域,并将去除了重叠区域后的缺陷初始膨胀区域作为缺陷膨胀区域。通过直接去除重叠区域,可以提高缺陷膨胀区域计算的效率。
在一个实施例中,根据每个缺陷区域在高度图像中所处的位置对待识别区域进行膨胀处理,得到缺陷膨胀区域,包括:获取与待识别区域相邻的每个缺陷区域与待识别区域的最小距离;基于最小距离和相邻的每个缺陷区域与待识别区域的位置关系确定对待识别区域的膨胀大小;基于膨胀大小对待识别区域进行膨胀处理,得到缺陷膨胀区域。
本实施例中,可以检测与待识别区域相邻的每个缺陷区域的与待识别区域的最小距离,该最小距离可为相应缺陷区域的边缘点与待识别区域的边缘点之间的最小的距离。
电子设备可进一步结合该最小距离以及缺陷类型、缺陷区域面积等其中的一种或多种来确定上述的膨胀系数,形成缺陷膨胀区域,并使得该缺陷膨胀区域不与其他缺陷区域重叠。
可选地,还可以根据该最小距离以及待识别区域和每个缺陷区域之间的位置关系,确定待识别区域的每处边缘位置可以膨胀的极限,该即使膨胀到该极限也不会与其他缺陷区域重叠,或者该膨胀的极限也不会超过上述的最小距离,基于此可以却行出待识别区域的膨胀大小,并在该膨胀大小的范围内进行膨胀处理,得到缺陷膨胀区域。
本实施例中,通过进一步考虑到其他缺陷区域对待识别区域的位置关系,基于此来进行待识别区域的膨胀,以尽量减小其他缺陷区域对待识别区域的影响,从而可以使得待识别区域膨胀成一个合理的缺陷膨胀区域,从而可以使得基准面信息的计算更加准确。
在一个实施例中,基于基准面信息计算出待识别区域的高度信息,包括:根据基准面信息计算出待识别区域的初始高度;当存在与待识别区域相接的缺陷区域时,根据相接的缺陷区域对初始高度进行矫正,将矫正后的高度作为待识别区域的高度信息。
本实施例中,在计算高度信息的过程中,可首先按照常规的方式计算出待识别区域的高度信息,将该高度信息作为初始高度。再进一步检测该待识别区域和其他区域之间是否存在相接的情况,当检测到待识别区域和某个其他区域A之间的最小距离小于预设的距离阈值时,可判定待识别区域和其他区域A之间处于相接的状态,或者当存在待识别区域的边缘位置与某个其他区域A之间的边缘位置是接触状态时,可判定两者相接。当处于相接时,虽然所形成的缺陷膨胀区域不包括对应的其他区域的部分或不重叠,但该其他区域仍对待识别区域的基准面定位有影响,此时可根据相接的缺陷区域来对初始高度进行矫正。同样的,该初始高度可包括上述的高度均值、高度极值、高度极差值等其中的一种或多种。
具体地,可按照类似的过程计算出相接的缺陷区域的初始高度,基于该相接的缺陷区域的初始高度对待识别区域的初始高度进行矫正,从而得到待识别区域的高度信息。其中,该初始高度可为上述的高度均值,即根据相接的缺陷区域的初始高度均值对待识别区域的初始高度均值进行矫正。
本实施例中,通过进行高度信息矫正,从而可以提高高度信息计算的准确性,为后续对缺陷区域的识别准确性提供了保障。
在一个实施例中,在根据高度信息确定待识别区域是否存在产品表面缺陷之后,包括:当判定待识别区域不存在产品表面缺陷,且存在与待识别区域相接的至少一个缺陷区域时,将待识别区域和至少一个缺陷区域合并成一个缺陷区域,将合并后的区域中所包含的待识别区域进行矫正,对矫正后的缺陷区域进行产品表面缺陷识别。
本实施例中,在完成了待识别区域的缺陷判定之后,如果得到的结果是该表面缺陷区域不存在表面缺陷,则可以进一步检测是否存在与待识别区域相接的至少一个缺陷区域,如果存在,则说明这些相接的缺陷区域可能是一个缺陷区域,而该待识别区域可能是该整个缺陷区域的一部分。
具体的,当存在多个缺陷区域的边缘存在直接接触时,可以判定该多个缺陷区域相接,或者其边缘之间的最小距离小于相应的距离阈值时,同样可以认为相接。其中,该距离阈值可为固定的数值,还可以为根据不同的缺陷类型和/或缺陷尺寸等特征而自适应设定的数值。
举例来说,如果存在3个缺陷区域,分别为缺陷区域A1、缺陷区域A2和缺陷区域A3,如果缺陷区域A1的第一端和缺陷区域A2的第二端直接接触,缺陷区域A2的第一端又与缺陷区域A3的第二端直接接触,则可以认为该缺陷区域A1和缺陷区域A2相接、缺陷区域A2与缺陷区域A3相接。还可以进一步认定缺陷区域A1和缺陷区域A3也相接,或者当缺陷区域A1和缺陷区域A3之间的最小距离小于相应的距离阈值时,才判定缺陷区域A1和缺陷区域A3相接。
此时,可进一步检测多个相接的缺陷区域中,是否有至少两个缺陷区域属于同一种缺陷类型,如果属于同一种缺陷类型,则将属于同一种缺陷类型的多个缺陷区域进行合并,从而形成合并后的缺陷区域,将该合并后的缺陷区域作为新的待识别区域来进行表面缺陷识别。
进一步地,在合并多个缺陷区域时,可进一步检测多个缺陷区域中是否存在其他缺陷区域对其存在干扰,如果存在干扰,则对该多个缺陷区域进行矫正。举例来说,比如存在两个裂纹类型相同,但两个裂纹类型的缺陷区域被一个凹陷类型的缺陷区域割裂成了两个缺陷区域,在将该两个缺陷区域进行合并的时候,可以参考该两个缺陷区域的形状和尺寸等特征,和/或进一步结合凹陷类型的缺陷区域对其进行矫正,从而使得该两个缺陷区域类型被合并后显得更加的完整,基于该矫正后的缺陷区域对其进行产品表面缺陷识别。
在一个实施例中,在判定属于同一个缺陷类型后,还可以进一步根据相同类型的缺陷区域之间的形状和尺寸来判定是否属于一个缺陷区域,若是,则将其进行合并为一个缺陷区域。具体地,可检测待合并的缺陷区域之间的相接部位之间的特征是否具有一致性,若是,则说明属于一个缺陷区域。举例来说,如果存在两个相接的均为划痕类型的缺陷区域,该两个缺陷区域在相接处的划痕的深度、划痕方向等特征的差异度均非常大,则说明不具有一致性,可以判定该两个缺陷类型不属于一个缺陷区域,则认为该待合并的缺陷区域为两个独立的缺陷区域,从而不将其进行合并。如果在相接处的划痕的深度、划痕方向等特征的对应的差异度小于相应的差异度阈值,比如两者的深度差小于预设的深度差阈值,两者的划痕方向角度差也小于预设的角度阈值,则可以判定其存在一致性,可以将其作为一个缺陷区域。
本实施例中,针对存在多个缺陷区域相接的情况,通过将其中的一个或多个缺陷区域合并成一个缺陷区域来进行检测,可以进一步提高针对产品表面缺陷检测的准确性。
举例来说,如果上述的缺陷区域A1和缺陷区域A3被当作单独的缺陷区域进行检测时,由于其仅只是一个完整的缺陷区域的一部分,最终的检测结果可能是该两个缺陷区域均不存在表面缺陷,而这样可能导致对产品的整体是否合格的判定造成影响。但当识别到该两个缺陷区域其实是一个缺陷区域时,将其合并矫正之后判断出其存在表面缺陷时,可以对整个产品是否合格做出更加准确的判定。
在一个实施例中,在从高度图像中识别出各个疑似缺陷的缺陷区域之后,还包括:检测是否存在多个相接的缺陷区域,若存在,则将多个相接的缺陷区域中的至少两个进行合并;从每个缺陷区域中选取一个缺陷区域作为待识别区域,包括:将合并后的缺陷区域作为待识别区域。
本实施例中,可以在识别出缺陷区域之后,即开始检测各个缺陷区域是否相连。类似地,当存在多个缺陷区域的边缘存在直接接触时,可以判定该多个缺陷区域相接,或者其边缘之间的最小距离小于相应的距离阈值时,同样可以认为相接。
若存在相连的缺陷区域,则检测相连缺陷区域之间是否属于同一个缺陷类型,以及相连的缺陷区域之间的相接部位之间的特征是否具有一致性,若属于相同缺陷类型,并且具有一致性,则将该相连缺陷区域作为一个缺陷区域,并将其作为待识别区域进行表面缺陷检测。举例来说,图2B中的第二个缺陷区域即为由多个缺陷区域合并后形成的一个缺陷区域。
通过将相连缺陷区域作为一个缺陷区域来进行检测,可以提高产品表面缺陷检测的准确性。
在一个实施例中,步骤102包括:通过3D线激光扫描待测产品的表面,得到待测产品表面的3D数据;对3D数据进行滤波处理和分辨率降低处理;并对处理后的3D数据进行特征凸显处理,形成高度图像。
本实施例中,可利用3D线激光模块对待测产品的表面进行扫描,得到待测产品各个面的3D数据。其中,以待测产品为电池为例,如果其为方形电池,则得到的待测产品表面的3D数据可包括其前后、左右、上下等6个面的数据;如果其为纽扣电池或圆柱形电池,则可以包括上下平面的数据以及圆周面的数据。
通过扫描得到的3D数据通常数据量非常庞大,为了提高后续的缺陷区域识别以及表面缺陷检测的效率,可以对该3D数据进行滤波处理和分辨率降低处理。举例来说,根据该扫描得到的3D数据得到16位高度图,该3D数据中还包括干扰数据和无效数据。电子设备可通过滤波处理,比如采取中值滤波将其中的干扰数据和无效数据进行滤除。并对滤除后的16位高度图的分辨率进行降低处理,将其由16比特转换至8比特,从而可以减小数据量。
针对降低了分辨率后的3D数据,采取对数变换和/或幂律变换,将3D数据进行灰度空间转换,以对其特征凸显,从而得到了基准面信息,为后续的缺陷区域识别和表面缺陷识别步骤提供了重要基础。比如图2A即为针对方形电池的某个大面的原始3D数据进行处理之后所形成的高度图像。该高度图像可为包含了高度信息的3D特征图像。
在一个实施例中,如图4所示,提供了另一种产品表面缺陷检测方法,方法包括:
步骤402,通过3D线激光扫描待测产品的表面,得到待测产品表面的3D数据。
本实施例中,可以将待测产品放置在表面缺陷识别设备上,识别设备上的3D线激光扫描模块可对待测产品的各个表面进行扫描。其中,识别设备上还进一步包括运动控制系统,基于该运动控制系统控制3D线激光扫描模块和/或待测产品的运动,并基于待测产品的尺寸、形状和曲率等特性,设定适当的扫描参数,比如包括设定相应的激光功率、扫描速度、扫描角度等,以确保扫描的覆盖范围和经度。
在扫描的过程中,扫描模块会发射激光束,激光束在产品表面扫描过程中与物体表面相互交互,被扫描模块中的接收器捕获。通过测量激光束的入射角和反射角以及事件,从而可以计算出激光束和待测产品表面之间的距离,进而可以得到待测产品的表面的3D数据。该3D数据中的每个像素点的坐标点可以体现出产品与参照物之间的距离,该比如该参照物可为3D线激光扫描模块的摄像头。
该3D数据可组成点云数据,3D数据可以点云形式或三角面片网格形式存在,这些数据体现出了待测产品的表面的几何形状和表面特征。3D数据将为后续的缺陷检测和分析提供基础,有助于更精确地定位和识别产品表面的缺陷。
在一个实施例中,表面缺陷识别设备上部署的3D线激光扫描模块可包括多个,每个模块可处于设备上相应合适的位置,并对应扫描待测产品中的一个或几个部位,由所有的模块扫描形成的3D数据可以反映出待测产品的所有部位的表面特征。
步骤404,对3D数据进行滤波处理和分辨率降低处理。
获得待测产品表面的3D数据后,需要对数据进行预处理,以提高后续处理的效率和准确性。这一阶段通常包括滤波处理和分辨率降低处理。
具体地,可采取高斯滤波中值滤波、均值滤波等其中的一种或几种滤波方式,来去除3D数据中的噪声和异常点,从而得到更平滑和可靠的3D表面。
以高斯滤波为例,可对每个3D数据点的邻域进行加权平均来实现平滑化。滤波操作可以通过调整滤波窗口的大小和权重来控制。在本实施例中,可以根据具体情况选择适当的滤波方法和参数,去除数据中的噪声,从而获得更真实的表面形状。
以中值滤波为例,其包括如下步骤:步骤a、确定滤波窗口大小。窗口的大小决定了滤波的邻域范围。较小的窗口可以保留较多的细节,但可能无法很好地去除较大的噪声。较大的窗口可以更好地去除噪声,但可能会导致图像模糊。
步骤b、移动窗口。在3D数据中,可以将滤波窗口在整个数据集上进行移动。对于每个窗口,将窗口内的数据点按照其高度值进行排序。
步骤c、计算中值。在每个窗口内,计算排序后的数据点的中值。中值即为窗口内排序后的中间值。将中值赋予窗口中心的数据点,从而实现平滑。
步骤d、重复以上步骤b和步骤c来移动窗口,对每个窗口都进行中值计算,直到整个数据集都被处理完毕。需要注意的是,边缘区域的处理可能会受到窗口越界的影响。此时可在边缘区域使用边界外的值进行填充。
步骤e、生成平滑后的3D数据。经过中值滤波处理后,每个数据点的高度值都被替换为窗口内数据点的中值。这样就得到了平滑后的3D数据。
以待测产品为方形电池为例,针对3D线激光扫描技术获得了方形电池的3D数据。可首先确定滤波窗口大小,例如选择一个3x3x3的立方体窗口;再从数据的起始位置开始,将3x3x3的窗口在数据中移动,对于每个窗口,将窗口内的高度值进行排序,计算中值;将中值赋予窗口中心的数据点。
继续移动窗口,直到整个数据集都被处理,得到平滑后的3D数据,其中每个数据点的高度值都被替换为相应窗口的中值。
经过滤波后的数据,可进一步对其进行阈值分割,以将该3D数据分成需要识别的目标区域和背景区域。目标区域表示了产品的表面,而背景区域表示了其他部分。
具体地,可设定一个合适的阈值,该阈值可根据待测产品和设备的相关参数来设定,基于该阈值,可将高度信息转化为了二值信息,将处于阈值以下的高度标记为背景,将阈值以上的高度标记为目标,或者反之。经过阈值分割后,可将背景区域的数据进行剔除,仅保留目标区域。
经过上述处理后的3D数据体现出来的是一个16位高度图,可进一步将其转换为8位高度图,从而降低数据量。
其中,16位高度图的每个像素值范围在0到65535之间。而8位高度图的像素值范围在0到255之间。可根据产品表面数据的特性对16位高度图的像素值进行范围调整,将其映射到0到255之间。
在进行范围调整后,需要进行灰度映射,将调整后的像素值映射到8位的灰度值。可以使用线性映射或者非线性映射等方式来实现,以突出数据的关键特征。
在范围调整后,还可以进一步进行数据类型转换等处理,最终形成8位高度图的分辨率降低后的数据。
步骤406,并对处理后的3D数据进行特征凸显处理,形成高度图像。
具体的,可对处理后的3D数据分别进行边缘检测、高通滤波、形态学操作。比如可使用canny算法来检测图像中的边缘,从而凸出待测产品表面的轮廓和几何特征;采用高通滤波增强图像中的高频部分,使得细节更加明显,例如采用拉普拉斯滤波来增强图像的细节特征,最后在进行形态学操作,比如对其进行膨胀和/或腐蚀,进一步突出图像中的特定形状特征,如凹陷、凸起、划痕、气泡、裂纹、褶皱等特定的缺陷形状。比如图2A即为待测产品某个部位所对应的高度图像。
步骤408,从高度图像中识别出各个疑似缺陷的缺陷区域。
本实施例中,根据预先训练好的缺陷区域识别模型来进行缺陷区域的识别。该识别模型可为卷积神经网络模型,比如可为YOLO v5模型。其中,该模型的训练过程如下:首先根据上述的步骤准备高度图像的训练集和测试集,为每个图像标注缺陷区域的边界框和对应的类别标签。
为YOLO v5模型设定相应的依赖以及网络配置参数,该参数包括输入图像的大小、类别数量、锚点框等。类别数量可根据缺陷类型的数量来设定。将训练集和测试集中的高度图像以及标注的边界框转换为YOLO v5所需的格式,比如为COCO格式,其中包含图像路径、边界框坐标、类别等信息。
模型训练:使用训练集对YOLO v5模型进行训练。训练过程中,模型将逐渐调整自身参数以最小化预测结果与真实标签的差异。
模型评估:使用测试集评估训练好的YOLO v5模型性能。可以计算预测结果与真实标签之间的平均精度(mAP)等指标,在相应指标满足预设的要求时可完成模型训练。
利用训练好的YOLO v5模型,可将上述的高度图像作为输入,来进行缺陷区域检测,模型可输出一组边界框,每个边界框表示一个疑似缺陷的区域以及该缺陷的类型。
针对输出的边界框可进行后处理,比如采用非极大值抑制(NMS)等方法,去除重叠的边界框,从而得到更准确的缺陷区域。
本实施例中,通过利用相应的识别模型来进行缺陷区域的识别,可以使得同一个缺陷在可以体现出来的缺陷特征中,各个缺陷特征并非全部都是连接在一起的,即使这些缺陷特征存在多个独立的区域(比如各个区域之间的距离非常微小),也可以被识别准确地识别为一个缺陷;而两个虽然非常在区域上非常相近的不同的缺陷特征,则不会被识别为同一个缺陷。这样可以便于后续在进行缺陷膨胀时,避免将多个缺陷膨胀称为一个缺陷。
比如针对图2A的高度图像识别出来了3个缺陷区域,虽然3个缺陷区域相近,但不会被膨胀称为一个缺陷区域。
再举例来说,比如存在如图5所示的部分表面图像,其缺陷区域a1中存在多个未连接在一起的缺陷特征子区域,相邻的子区域在物理上存在非常小的距离,但可以通过上述步骤仍然将其识别为一个缺陷区域。而缺陷区域a5虽然与缺陷区域a1虽然在缺陷特征上存在相连,但通过上述步骤仍然可以将其识别为两个不同的缺陷区域。
步骤410,检测是否存在多个相接的缺陷区域,若存在,则将多个相接的缺陷区域中的至少两个进行合并。
具体地,当存在相接的多个缺陷区域时,还进一步检测缺陷类型以及相接部位之间的特征的一致性。当属于同一种缺陷类型,且具备一致性时,才将其进行合并。
举例来说,当存在如下图5所示的部分表面图像中,得到的缺陷区域包括缺陷区域a1、缺陷区域a2、缺陷区域a3、缺陷区域a4以及缺陷区域a5。该5个缺陷区域均处于相接状态,该5个缺陷区域形成了类似于“X”形状。缺陷区域a5即“X”状中的交叉点,其属于凹陷类缺陷;缺陷区域a1、缺陷区域a2、缺陷区域a3、缺陷区域a4即分别与该交叉点相连接的部分的“边”,其均为裂纹类缺陷。
由于缺陷区域a5与其他缺陷区域的缺陷类型不同,故不将其和与之相接的缺陷区域进行合并。而缺陷区域a1~a4均处于裂纹类缺陷,可进一步检测其相接部位之间的特征的一致性,其可以发现,缺陷区域a1和缺陷区域a3之间的相接部位的一致性较高,可以将缺陷区域a1和缺陷区域a4合并,同样的,也可以将缺陷区域a2和缺陷区域a3进行合并为一个缺陷区域。
若不存在相接的缺陷区域,则直接将该缺陷区域作为待识别区域,继续执行后续的步骤。
步骤412,将合并后的缺陷区域作为待识别区域,根据每个缺陷区域在高度图像中所处的位置对待识别区域进行膨胀处理,得到缺陷膨胀区域,使得缺陷膨胀区域中不与除待识别区域外的其他缺陷区域重叠。
可选地,该不与除待识别区域外的其他缺陷区域可不包括相接的缺陷区域。当待识别区域还包括相接的缺陷区域时,针对待识别区域和相接的缺陷区域之间的相接部位不进行扩展,或不向趋近于相接的缺陷区域所在方向扩展,从而尽量降低相接的缺陷区域对其造成的影响。
膨胀处理的过程可参考上述处理过程,此处不再赘述。
步骤414,从缺陷膨胀区域中解析出待识别区域对应的基准面信息。
可选地,在缺陷膨胀区域中去除包含了缺陷区域的部分作为基准面区域,并提取该基准面区域的参数。为提高基准面信息的获取便利性,可去除包含了缺陷区域的最小矩形区域。比如图2A中的第一个缺陷对应的基准面区域为区域1-1、1-2、1-4、1-5所组成的区域。
步骤416,基于基准面信息计算出待识别区域的高度信息。
当存在相接的缺陷区域时,根据相接的缺陷区域对初始高度进行矫正,将矫正后的高度作为待识别区域的高度信息。
举例来说,针对上述的缺陷区域a5,其与上述的缺陷区域a1~a4均相接,对于相接的部位的高度可能记为第一高度,而处于非相接部位的高度记为第二高度,此时,可根据相接的缺陷区域对其第一高度数据进行矫正。
比如上述的缺陷区域a5中的第二高度明显整体小于第一高度,这说明该第二高度本身可能是由于上述缺陷区域a1~a4所形成的疑似裂纹较深,而恰好该位置处也有一个疑似凹陷的缺陷,而凹陷本身的深度可能并没有很深,故而对其进行矫正之后,使得该矫正后的第一高度的数值减小。在矫正后了第一高度之后,基于该矫正后的第一高度和第二高度来计算出高度均值、高度极值等高度信息,以提高缺陷区域的高度信息的准确性。
步骤418,根据高度信息确定待识别区域是否存在产品表面缺陷。
本实施例中,举例来说,如果根据不做矫正的高度信息来进行表面缺陷识别的话,可能上述的缺陷区域a5被识别为凹陷缺陷,而根据矫正后的高度信息来进行识别,则可能上述的缺陷区域a5由于高度极值、高度极差值等数据与凹陷缺陷不匹配而得到的识别结果是不存在产品表面缺陷。
类似地,不做缺陷合并的话,上述的缺陷区域a1~a4可能由于缺陷的尺寸(比如缺陷长度)与裂纹缺陷所规定的尺寸不匹配而被识别为不属于裂纹缺陷,而根据缺陷区域a1和a4所合并后的缺陷区域,以及根据缺陷区域a2和缺陷区域a3合并后的缺陷区域,则被识别为存在裂纹的表面缺陷。
步骤420,根据每个缺陷区域的表面缺陷检测结果确定待测产品是否合格。
在得到每个缺陷区域的识别结果之后,根据每个缺陷区域的识别结果来确定整个待测产品是否属于合格的产品。
上述的产品表面缺陷检测方法,针对存在相接的缺陷区域进行合并,进而提高了待识别区域的基准面信息和高度信息计算的准确性,从而最终提高了产品的表面缺陷检测的准确性。
在一个实施例中,如图6所示,提供了一种产品表面缺陷检测装置,装置包括:
图像获取模块602,用于获取待测产品表面的高度图像。
缺陷识别模块604,用于从高度图像中识别出各个疑似缺陷的缺陷区域。
缺陷特征计算模块606,用于从每个缺陷区域中选取一个缺陷区域作为待识别区域,根据每个缺陷区域在高度图像中所处的位置对待识别区域进行膨胀处理,得到缺陷膨胀区域,使得缺陷膨胀区域中不与除待识别区域外的其他缺陷区域重叠;从缺陷膨胀区域中解析出待识别区域对应的基准面信息;基于基准面信息计算出待识别区域的高度信息。
缺陷确认模块608,用于根据高度信息确定待识别区域是否存在产品表面缺陷。
在一个实施例中,缺陷特征计算模块606还用于基于高度图像对缺陷区域进行初始膨胀处理,得到缺陷初始膨胀区域;检测缺陷初始膨胀区域中是否与其他缺陷区域重叠,若是,则去除缺陷初始膨胀区域中的重叠区域,形成缺陷膨胀区域。
在一个实施例中,缺陷特征计算模块606还用于获取与待识别区域相邻的每个缺陷区域与待识别区域的最小距离;基于最小距离和相邻的每个缺陷区域与待识别区域的位置关系确定对待识别区域的膨胀大小;基于膨胀大小对待识别区域进行膨胀处理,得到缺陷膨胀区域。
在一个实施例中,缺陷特征计算模块606还用于根据基准面信息计算出待识别区域的初始高度;当存在与待识别区域相接的缺陷区域时,根据相接的缺陷区域对初始高度进行矫正,将矫正后的高度作为待识别区域的高度信息。
在一个实施例中,缺陷特征计算模块606还用于检测是否存在多个相接的缺陷区域,若存在,则将多个相接的缺陷区域中的至少两个进行合并;将合并后的缺陷区域作为待识别区域。
在一个实施例中,图像获取模块602还用于通过3D线激光扫描待测产品的表面,得到待测产品表面的3D数据;对3D数据进行滤波处理和分辨率降低处理;并对处理后的3D数据进行特征凸显处理,形成高度图像。
在一个实施例中,缺陷特征计算模块606还用于将缺陷膨胀区域与缺陷区域作差处理,得到基准面区域;对高度图像中的基准面区域部分进行最小二乘法拟合,得到基准面信息。
在一个实施例中,缺陷确认模块608还用于根据每个缺陷区域的表面缺陷检测结果确定待测产品是否合格。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述各方法实施例中的步骤。
在一个实施例中,还提供了一种电子设备,包括一个或多个处理器;存储器,存储器中存储有一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述各方法实施例中的步骤。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在上面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。公开于该背景技术部分的信息仅仅旨在加深对本申请的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
Claims (9)
1.一种产品表面缺陷检测方法,其特征在于,所述方法包括:
获取待测产品表面的高度图像;
从所述高度图像中识别出各个疑似缺陷的缺陷区域;
从每个缺陷区域中选取一个缺陷区域作为待识别区域,根据所述每个缺陷区域在所述高度图像中所处的位置对所述待识别区域进行膨胀处理,得到缺陷膨胀区域,使得所述缺陷膨胀区域中不与除所述待识别区域外的其他缺陷区域重叠;
从所述缺陷膨胀区域中解析出所述待识别区域对应的基准面信息;
基于所述基准面信息计算出所述待识别区域的高度信息,包括:根据所述基准面信息计算出所述待识别区域的初始高度,当存在与所述待识别区域相接的缺陷区域时,根据所述相接的缺陷区域对所述初始高度进行矫正,将矫正后的高度作为所述待识别区域的高度信息;
根据所述高度信息确定所述待识别区域是否存在产品表面缺陷;
所述根据所述每个缺陷区域在所述高度图像中所处的位置对所述待识别区域进行膨胀处理,得到缺陷膨胀区域,包括:根据所述待识别区域与其他缺陷区域的位置关系,设置相应的膨胀系数,基于所述膨胀系数对所述待识别区域进行膨胀,形成缺陷膨胀区域。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每个缺陷区域在所述高度图像中所处的位置对所述待识别区域进行膨胀处理,得到缺陷膨胀区域,包括:
基于所述高度图像对所述缺陷区域进行初始膨胀处理,得到缺陷初始膨胀区域;
检测所述缺陷初始膨胀区域中是否与所述其他缺陷区域重叠,若是,则去除所述缺陷初始膨胀区域中的重叠区域,形成所述缺陷膨胀区域。
3.根据权利要求1所述的方法,其特征在于,所述根据所述每个缺陷区域在所述高度图像中所处的位置对所述待识别区域进行膨胀处理,得到缺陷膨胀区域,包括:
获取与所述待识别区域相邻的每个缺陷区域与所述待识别区域的最小距离;
基于所述最小距离和所述相邻的每个缺陷区域与所述待识别区域的位置关系确定对所述待识别区域的膨胀大小;
基于所述膨胀大小对所述待识别区域进行膨胀处理,得到缺陷膨胀区域。
4.根据权利要求1所述的方法,其特征在于,在所述从所述高度图像中识别出各个疑似缺陷的缺陷区域之后,还包括:
检测是否存在多个相接的缺陷区域,若存在,则将所述多个相接的缺陷区域中的至少两个进行合并;
所述从每个缺陷区域中选取一个缺陷区域作为待识别区域,包括:将合并后的缺陷区域作为待识别区域。
5.根据权利要求1所述的方法,其特征在于,所述获取待测产品表面的高度图像,包括:
通过3D线激光扫描所述待测产品的表面,得到所述待测产品表面的3D数据;
对所述3D数据进行滤波处理和分辨率降低处理;
并对处理后的3D数据进行特征凸显处理,形成所述高度图像。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述根据所述高度信息确定所述待识别区域是否存在产品表面缺陷之后,还包括:
根据每个缺陷区域的表面缺陷检测结果确定所述待测产品是否合格。
7.一种产品表面缺陷检测装置,其特征在于,所述装置包括:
图像获取模块,用于获取待测产品表面的高度图像;
缺陷识别模块,用于从所述高度图像中识别出各个疑似缺陷的缺陷区域;
缺陷特征计算模块,用于从每个缺陷区域中选取一个缺陷区域作为待识别区域,根据所述每个缺陷区域在所述高度图像中所处的位置对所述待识别区域进行膨胀处理,得到缺陷膨胀区域,使得所述缺陷膨胀区域中不与除所述待识别区域外的其他缺陷区域重叠;从所述缺陷膨胀区域中解析出所述待识别区域对应的基准面信息;基于所述基准面信息计算出所述待识别区域的高度信息;
缺陷确认模块,用于根据所述高度信息确定所述待识别区域是否存在产品表面缺陷;
所述缺陷特征计算模块还用于根据所述待识别区域与其他缺陷区域的位置关系,设置相应的膨胀系数,基于所述膨胀系数对所述待识别区域进行膨胀,形成缺陷膨胀区域;根据所述基准面信息计算出所述待识别区域的初始高度,当存在与所述待识别区域相接的缺陷区域时,根据所述相接的缺陷区域对所述初始高度进行矫正,将矫正后的高度作为所述待识别区域的高度信息。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有可执行指令,所述可执行指令被处理器执行时使所述处理器执行如权利要求1至6中任一项所述的方法。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311322698.4A CN117078665B (zh) | 2023-10-13 | 2023-10-13 | 产品表面缺陷检测方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311322698.4A CN117078665B (zh) | 2023-10-13 | 2023-10-13 | 产品表面缺陷检测方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117078665A CN117078665A (zh) | 2023-11-17 |
CN117078665B true CN117078665B (zh) | 2024-04-09 |
Family
ID=88704529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311322698.4A Active CN117078665B (zh) | 2023-10-13 | 2023-10-13 | 产品表面缺陷检测方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117078665B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111293A (zh) * | 2018-01-29 | 2019-08-09 | 国科赛思(北京)科技有限公司 | 塑封器件的失效识别方法及装置 |
CN110728659A (zh) * | 2019-09-17 | 2020-01-24 | 深圳新视智科技术有限公司 | 缺陷合并的方法、装置、计算机设备及存储介质 |
CN113763355A (zh) * | 2021-09-07 | 2021-12-07 | 创新奇智(青岛)科技有限公司 | 一种缺陷检测方法、装置、电子设备及存储介质 |
CN115797354A (zh) * | 2023-02-09 | 2023-03-14 | 厦门微亚智能科技有限公司 | 用于检测激光焊接焊缝外观缺陷的方法 |
CN116758041A (zh) * | 2023-06-26 | 2023-09-15 | 广东奥普特科技股份有限公司 | 一种密封钉断焊检测方法及密封钉断焊检测系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114565548A (zh) * | 2020-11-13 | 2022-05-31 | 华为云计算技术有限公司 | 工业缺陷识别方法、系统、计算设备及存储介质 |
-
2023
- 2023-10-13 CN CN202311322698.4A patent/CN117078665B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111293A (zh) * | 2018-01-29 | 2019-08-09 | 国科赛思(北京)科技有限公司 | 塑封器件的失效识别方法及装置 |
CN110728659A (zh) * | 2019-09-17 | 2020-01-24 | 深圳新视智科技术有限公司 | 缺陷合并的方法、装置、计算机设备及存储介质 |
CN113763355A (zh) * | 2021-09-07 | 2021-12-07 | 创新奇智(青岛)科技有限公司 | 一种缺陷检测方法、装置、电子设备及存储介质 |
CN115797354A (zh) * | 2023-02-09 | 2023-03-14 | 厦门微亚智能科技有限公司 | 用于检测激光焊接焊缝外观缺陷的方法 |
CN116758041A (zh) * | 2023-06-26 | 2023-09-15 | 广东奥普特科技股份有限公司 | 一种密封钉断焊检测方法及密封钉断焊检测系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117078665A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113362326B (zh) | 一种电池焊点缺陷的检测方法及装置 | |
CN113570605B (zh) | 一种基于液晶显示面板的缺陷检测方法和系统 | |
CN111982921B (zh) | 孔缺陷的检测方法、装置、传送平台及存储介质 | |
JP6099479B2 (ja) | ひび割れ検出方法 | |
CN110596120A (zh) | 玻璃边界缺陷检测方法、装置、终端及存储介质 | |
CN112950633B (zh) | 一种基于线结构光的铝合金焊缝表面缺陷检测方法 | |
CN115018846B (zh) | 基于ai智能相机的多目标裂纹缺陷检测方法和装置 | |
CN110378227B (zh) | 修正样本标注数据的方法、装置、设备及存储介质 | |
CN113160161B (zh) | 目标边缘处缺陷的检测方法和装置 | |
CN116559183B (zh) | 一种提高缺陷判定效率的方法及系统 | |
CN116740061B (zh) | 一种爆珠生产质量视觉检测方法 | |
CN110706224B (zh) | 基于暗场图像的光学元件弱划痕检测方法、系统和装置 | |
CN114719749B (zh) | 基于机器视觉的金属表面裂纹检测及真实尺寸测量方法及系统 | |
CN111354047B (zh) | 一种基于计算机视觉的摄像模组定位方法及系统 | |
CN114494179A (zh) | 一种基于图像识别的手机背部破损点检测方法及系统 | |
CN117058411B (zh) | 电池棱边外形瑕疵识别方法、装置、介质和设备 | |
CN113608378A (zh) | 一种基于lcd制程的全自动缺陷检测方法和系统 | |
CN108346138B (zh) | 一种基于图像处理的表面缺陷检测方法及系统 | |
CN115049736A (zh) | 用于电缆表面缺陷精准定位的方法 | |
CN110426395B (zh) | 一种太阳能el电池硅片表面检测方法及装置 | |
CN114004858A (zh) | 基于机器视觉识别航空线缆表面编码的方法及装置 | |
CN117078665B (zh) | 产品表面缺陷检测方法、装置、存储介质和电子设备 | |
CN115797314B (zh) | 零件表面缺陷检测方法、系统、设备及存储介质 | |
CN112798608B (zh) | 手机摄像头支架内腔侧壁的光学检测装置及光学检测方法 | |
CN114862816A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |