CN115239612A - 电路板定位方法、装置、设备及存储介质 - Google Patents
电路板定位方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115239612A CN115239612A CN202110444607.9A CN202110444607A CN115239612A CN 115239612 A CN115239612 A CN 115239612A CN 202110444607 A CN202110444607 A CN 202110444607A CN 115239612 A CN115239612 A CN 115239612A
- Authority
- CN
- China
- Prior art keywords
- image
- board
- circuit board
- board card
- card
- 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 66
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000012937 correction Methods 0.000 claims description 79
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 15
- 230000002441 reversible effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000036961 partial effect Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000002411 adverse Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 208000011580 syndromic disease Diseases 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/04—Architecture, e.g. interconnection topology
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- 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/11—Region-based segmentation
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30141—Printed circuit board [PCB]
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)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种电路板定位方法、装置、设备及存储介质,涉及电路板炉后定位技术领域,其包括:获取对传送带进行拍摄后得到的目标图像,所述传送带用于传送电路板;从所述目标图像中分割出电路板对应的板卡掩模,每张电路板对应一个板卡掩模;根据所述板卡掩模确定所述电路板在所述目标图像中的外接矩形区域;根据所述外接矩形区域确定所述电路板的定位结果。采用上述方法可以解决相关技术中利用特征点对复杂的电路板进行定位时定位准确度低的技术问题。
Description
技术领域
本申请实施例涉及电路板炉后定位技术领域,尤其涉及一种电路板定位方法、装置、设备及存储介质。
背景技术
炉后的自动光学检测(Automated Optical Inspection,AOI)是电路板在组装生产时的最后一个步骤,通过炉后AOI可以检测出电路板的不良情况,如检测电路板中安装的电路元器件是否准确等情况。通常,电路板经过炉后操作后,在传送带上呈现散乱的状态,因此,准确定位出传送带上的电路板是检测电路板不良情况的重要环节。
目前,主要通过特征点匹配的方式定位传送带上的电路板,该过程具体为:对传送带上的电路板进行拍摄,得到一张图像,其中,传送带上的电路板为经过炉后的电路板,之后,利用ORB(Oriented FAST and Rotated BRIEF)、尺度不变特征变换(Scale-InvariantFeature Transform,SIFT)或SURF(Speeded Up Robust Features)等特征点检测方法检测图像中电路板的特征点,之后,将特征点与模板的特征点进行匹配,进而根据匹配结果对电路板进行校正,即将电路板校正到与模板保持最大限度的一致,并将校正后的电路板作为定位得到的电路板,以对电路板进行后续不良情况的检测。
然而,当电路板出现附带错乱的线材、带有不同的底座或者存在重复纹理等情况时,会降低电路板特征点提取的准确性,此时,错误的特征点将导致错误的匹配结果,进而使得电路板定位准确度不高,进而不利于后续电路板不良情况的检测。
发明内容
本申请实施例提供了一种电路板定位方法、装置、设备及存储介质,以解决相关技术中利用特征点对复杂的电路板进行定位时定位准确度低的技术问题。
第一方面,本申请实施例提供了一种电路板定位方法,包括:
获取对传送带进行拍摄后得到的目标图像,所述传送带用于传送电路板;
从所述目标图像中分割出所述电路板对应的板卡掩模,每张所述电路板对应一个所述板卡掩模;
根据所述板卡掩模确定所述电路板在所述目标图像中的外接矩形区域;
根据所述外接矩形区域确定所述电路板的定位结果。
第二方面,本申请实施例还提供了一种电路板定位装置,包括:
图像获取模块,用于获取对传送带进行拍摄后得到的目标图像,所述传送带用于传送电路板;
掩模确定模块,用于从所述目标图像中分割出所述电路板对应的板卡掩模,每张所述电路板对应一个所述板卡掩模;
区域确定模块,用于根据所述板卡掩模确定所述电路板在所述目标图像中的外接矩形区域;
定位确定模块,用于根据所述外接矩形区域确定所述电路板的定位结果。
第三方面,本申请实施例还提供了一种电路板定位设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的电路板定位方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的电路板定位方法。
上述电路板定位方法、装置、设备及存储介质,通过在传送带传送电路板时,获取对传送带进行拍摄的目标图像,之后,从目标图像中分割出各电路板的板卡掩模,根据板卡掩模确定电路板在目标图像中的外接矩形区域,并根据外接矩形区域进行电路板定位的技术手段,解决了相关技术中利用特征点对复杂的电路板进行定位时定位准确度低的技术问题,上述定位过程中,只需要识别出电路板的板卡掩模便可以实现电路板定位,无需识别电路板的特征点,降低了对特征点的依赖程度,即使电路板出现附带错乱的线材、带有不同的底座或者存在重复纹理等情况时,也能对电路板进行较为准确的定位,进而便于后续电路板不良情况的检测,提高了检测效率。
附图说明
图1为本申请实施例提供的一种电路板定位方法的流程图。;
图2为本申请实施例提供的一种板卡掩模示意图;
图3为本申请实施例提供的一种外接矩形区域示例图;
图4为本申请实施例提供的一种电路板定位方法的流程图;
图5为本申请实施例提供的另一种外接矩形区域示例图;
图6为本申请实施例提供的一种电路板定位装置的结构示意图;
图7为本申请实施例提供的一种电路板定位设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
本申请实施例提供的电路板定位方法可以由电路板定位设备执行,该电路板定位设备可以通过软件和/或硬件的方式实现,该电路板定位设备可以是两个或多个物理实体构成,也可以是一个物理实体构成,实施例对此不作限定。例如,电路板定位设备可以是计算机、平板电脑等具有数据处理能力的电子设备。实施例中,电路板定位方法用于对传送带上的电路板进行定位。其中,对电路板进行定位可理解为当传送带传送电路板时,在拍摄传送带的图像中准确查找到电路板,以便于进行后续的不良情况检测。
图1为本申请实施例提供的一种电路板定位方法的流程图。参考图1,该方法具体包括:
步骤110、获取对传送带进行拍摄后得到的目标图像,传送带用于传送电路板。
示例性的,传送带用于传送电路板,且各电路板在传送带上呈现散乱的状态。一个实施例中,传送带上传送的电路板为经过炉后操作的电路板,且各电路板中元器件的连接关系以及排列方式相同。将电路板放置在传送带上进行传送时,利用拍摄装置对传送带进行拍摄,以得到包含传送带上电路板的图像,实施例中,将拍摄得到的图像记为目标图像。其中,拍摄装置可以安装在电路板定位设备中,也可以为外接设备,实施例中,以外接设备为例,此时,拍摄装置通过有线通信或无线通信的方式将目标图像发送至电路板定位设备。可选的,拍摄装置与传送带可以具有固定的相对位置关系,也可以具有不固定的相对位置关系,实施例中,以固定的相对位置关系为例进行描述,此时,拍摄装置拍摄的各目标图像具有相同的拍摄角度。示例性的,拍摄装置可以按照设定的频率对传送带进行拍摄,或者是,人工控制传送带和拍摄装置,以在传送过程中可以拍摄到全部的电路板。可理解,电路板定位设备可获取拍摄装置拍摄的各张目标图像,并对各张目标图像均进行后续的处理。
需说明,目标图像的尺寸实施例不作限定。
步骤120、从目标图像中分割出电路板对应的板卡掩模,每张电路板对应一个板卡掩模。
示例性的,板卡掩模可以体现电路板的轮廓以及电路板在目标图像中的放置状态。例如,图2为本申请实施例提供的一种板卡掩模示意图,可以理解,图2为二值图像,其中,白色区域为某张电路板对应的板卡掩模,黑色区域为目标图像中的其他部分(如目标图像中的传送带)。由图2可知,该电路板位于目标图像的边缘,且可能有部分区域位于目标图像的外侧,且电路板处于斜着放置的状态。可理解,对目标图像处理后,可以分割出目标图像中每张电路板对应的板卡掩模,各板卡掩模可以位于一张二值图像中,且各板卡掩模在二值图像中的放置位置和状态与对应电路板在目标图像中的放置位置和状态相同,即前述二值图像和目标图像具有相同的尺寸,且两张图像具有相同的二维坐标系,一个实施例中,两张图像的二维坐标系的原点均为左上角的像素点。
需要说明的是,实施例中,目标图像包含至少一张电路板,但是,实际应用中,也存在目标图像中不包含电路板的情况,此时,不会在目标图像中分割出电路板的板卡掩模。当确定目标图像中无法分割出电路板的板卡掩模时,停止对本张目标图像的处理。
示例性的,在目标图像中分割出电路板的板卡掩模的具体过程可以是:识别出目标图像中表示电路板的像素点,并根据表示电路板的像素点得到电路板的板卡掩模,进而分割出该板卡掩模,即得到包含板卡掩模的二值图像。上述过程的具体实现技术手段可以根据实际情况设定,如利用神经网络技术,构造分割神经网络模型,以利用分割神经网络模型在目标图像中分割出电路板的板卡掩模。一个实施例中,采用SOLOv2作为分割神经网络模型,其中,SOLOv2是一种高效的实时分割神经网络,SOLOv2的具体网络结构以及模型参数可以根据实际情况设置,实施例对此不作限定。本步骤中使用的SOLOv2为已经训练完成的分割神经网络模型。一个实施例中,利用SOLOv2得到板卡掩模时的实现方式为:将目标图像划分成多个网格,如果目标图像中物体的质心落在了某个网格中,那么,该网格就有了两个任务,一个是利用分类分支预测网格中物体的语义,另一个是利用掩模分支预测物体的实例掩模(实施例中,实例掩模为板卡掩模)。举例而言,预先设定网格的数量,之后,根据网格的数量将目标图像划分成多个网络,例如,网络的数量为S×S,那么,将目标图像划分成S×S的网格,S大于1。其中,网格的数量可以为预先设定的固定数量,网络的数量还可以结合目标图像的尺寸所决定,如目标图像的尺寸越大,该网格的数量越多。之后,确定目标图像中物体的质心是否落在任一网络,其中,物体的质心也可以用物体的中心来替换。若落在任一网络,则利用分类分支预测物体的语义。其中,分类分支可以在定义的语义集合中预测出物体的语义,实施例中,定义的语义集合包括:背景和电路板,此时,通过分类分支可以确定目标图像中的物体为背景还是电路板,进而识别出目标图像中语义为电路板的物体。之后,利用掩模分支预测类别为电路板的物体的实例掩模,以得到对应的板卡掩模。其中,掩模分支具体是确定目标图像中类别为电路板的物体,并根据该物体生成对应的实例掩模,即生成板卡掩模,之后,输出表示板卡掩模的二值图像。
步骤130、根据板卡掩模确定电路板在目标图像中的外接矩形区域。
实施例中,电路板在目标图像中的外接矩形区域是指包含电路板的最小矩形区域,即外接矩形区域包含电路板,且该外接矩形区域的面积为包含电路板时的最小面积。示例性的,外接矩形区域可以通过板卡掩模确定,即外接矩形区域也可以理解为包含板卡掩模的最小矩形区域,此时,每张电路板对应一个外接矩形区域。可理解,该外接矩形区域可以为长方形区域或正方形区域,实施例对此不作限定。
示例性的,外接矩形区域的确定方式可以根据实际情况设定。例如,采用OpenCV的minAreaRect()方法得到外接矩形区域。其中,OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学***行于目标图像(或板卡轮廓所在二值图像)中对应的各边界,该外接矩形区域一般不会倾斜。例如,图3为本申请实施例提供的一种外接矩形区域示例图,其示出利用OpenCV的minAreaRect()对图2中的板卡掩模进行处理以得到的外接矩形区域11,从图3可知,该外接矩形区域11的边平行于二值图像中对应的边界(包含与边界重合的情况)。需说明,实施例在后续定位过程中,需要根据外接矩形区域在目标图像中提取出电路板,然而,由于图3中的板卡掩模处于倾斜的状态,因此,根据倾斜的板卡掩模确定的外接矩形区域并非真正的最小外接矩形区域,如图3中该外接矩形区域的右上角和右下角包含了比较多的黑色区域(即背景部分),此时,根据图3所示的外接矩形区域从目标图像中提取电路板时会包含较多的背景部分。一个实施例中,为了减小背景部分对定位结果的影响,还可以利用板卡掩模的轮廓来确定外接矩形区域,例如,将板卡掩模的轮廓中的边作为最小外接矩形的边,此时,确定每个边对应的一个最小外接矩形,之后,在各最小外接矩形中取面积最小的最小外接矩形所对应的区域作为外接矩形区域。这样处理后,当电路板倾斜时,对应的外接矩形区域也可以为倾斜的矩形区域,使得外接矩形区域尽可能贴近电路板。可理解,由于板卡掩模的轮廓可能是不规则的图形,例如,图2所示的板卡掩模为不规则的图形,其边缘的轮廓中存在凸起和凹陷,此时,并不是每条边都存在外接矩形区域,因此,一个实施例中,可以只选择存在最小外接矩形的边,并在这些边对应的最小外接矩形中选择面积最小的最小外接矩形作为计算得到的外接矩形区域。或者是,确定板卡掩模的凸包,并将凸包中的每条边分别作为最小外接矩形的边,之后,计算各边包含板卡掩模时的最小外接矩形,此时,凸包中的每条边对应一个最小外接矩形,之后,选择面积最小的最小外接矩形所对应的区域作为外接矩形区域。其中,凸包为计算几何(图形学)中的概念,实施例中,凸包可以理解为将板卡掩模中最外层的点(也可以理解为像素点)连接起来得到的凸多边形。此时,基于板卡掩模的轮廓或凸包得到的外接矩形区域更加贴近板卡掩模,减小了区域内的背景部分。可理解,电路板可能只有部分区域位于传送带上,例如,图2中板卡掩模对应的电路板只有部分区域位于传送带上,此时,确定包含板卡掩模的外接矩形区域时可以只保留电路板在传送带上的部分所对应的外接矩形区域,即将外接矩形区域与板卡掩模所在二值图像(或与目标图像)的交集作为包含板卡掩模的外接矩形区域,可以理解,该交集可以不是矩形,而是任意的形状。
步骤140、根据外接矩形区域确定电路板的定位结果。
示例性的,定位结果对目标图像中电路板的识别结果,后续可以理解定位结果进行电路板不良情况的检测。
一个实施例中,根据外接矩形区域从目标图像中提取出该外接矩形区域包含的电路板图像作为定位得到的图像,即作为电路板的定位结果。
一个实施例中,将根据外接矩形区域提取的图像记为板卡图像。此时,由于传送带传送电路板时,各电路板呈现散乱的状态,即传送带的电路板可能沿着各方向被放置。例如,图2中板卡掩模对应的电路板在传送带上倾斜放置的,此时,根据外接矩形区域提取的板卡图像也为倾斜的矩形图像。倾斜的板卡图像并不利于后续的处理,如与电路板对应的参考板卡图像(电路板准确且非倾斜放置下拍摄的图像)进行比对,以查找安装错误的元器件时,倾斜的板卡图像并不利于图像比对,因此,实施例中,提取倾斜的板卡图像后,还需要将倾斜的板卡图像旋转为非倾斜的板卡图像,即旋转后的板卡图像的边与目标图像中的相应边平行。之后,将非倾斜的板卡图像作为定位结果。一般而言,对于非倾斜的板卡图像而言,电路板也存在多种放置状态,例如,以电路板中某一角为基准,为了便于描述,将该角记为目标角,当板卡图像为长方形图像时,电路板对应四种放置状态:目标角位于左上角、左下角、右上角以及右下角,其中,只有一种放置状态与参考板卡图像显示的电路板最相近,因此,需要在非倾斜的板卡图像中找到最接近参考板卡图像的放置状态。因此,实施例中,可以对非倾斜的板卡图像进行旋转,以分别对应各放置状态,之后,在每次旋转后,计算非倾斜的板卡图像与参考板卡图像之间的相似度,并根据相似度选择最相似的放置状态,并将该放置状态下的非倾斜的板卡图像作为定位结果。一个实施例中,将倾斜的板卡图像旋转为非倾斜的板卡图像后,可以先对非倾斜的板卡图像进行校正,以将非倾斜的板卡图像映射到参考板卡图像中,即确定非倾斜的板卡图像中各像素点在参考板卡图像中的位置,其中,可以确定参考板卡图像和外接矩形区域之间的单应矩阵,以通过该单应矩阵将非倾斜的板卡图像映射到参考板卡图像中。
可理解,当电路板中存在缺角时,可以先判断该缺角是否过大,若是,则不对该电路板进行定位。可理解,当电路板存在缺角时,其缺角部分在目标图像中会显示传送带,即显示背景,因此,可以确定板卡图像中表示背景的像素点的数量是否超过数量阈值,若是,则说明缺角过大。其中,数量阈值可以结合实际情况设定,通过设定数量阈值,可以保证仅对缺角较小的电路板进行定位。
上述,通过在传送带传送电路板时,获取对传送带进行拍摄的目标图像,之后,从目标图像中分割出各电路板的板卡掩模,根据板卡掩模确定电路板在目标图像中的外接矩形区域,并根据外接矩形区域进行电路板定位的技术手段,解决了相关技术中利用特征点对复杂的电路板进行定位时定位准确度低的技术问题,上述定位过程中,只需要识别出电路板的板卡掩模便可以实现电路板定位,无需识别电路板的特征点,降低了对特征点的依赖程度,即使电路板出现附带错乱的线材、带有不同的底座或者存在重复纹理等情况时,也能对电路板进行较为准确的定位,进而便于后续电路板不良情况的检测,提高了检测效率。
图4为本申请实施例提供的一种电路板定位方法的流程图。本实施例是在上述实施例的基础上进行具体化。
具体的,参考图4,该电路板定位方法包括:
步骤210、获取对传送带进行拍摄后得到的目标图像,传送带用于传送电路板步骤220、从目标图像中分割出电路板对应的板卡掩模,每张电路板对应一个板卡掩模。
步骤230、根据板卡掩模得到电路板的板卡轮廓。
示例性的,由于板卡掩模可以确定电路板的形状,因此,根据板卡掩模便可以得到电路板的轮廓,即获取板卡掩模的边缘像素点,并根据边缘像素点得到电路板的轮廓。实施例中,将电路板的轮廓记为板卡轮廓。此时,每个板卡掩模对应一个板卡轮廓。
步骤240、根据板卡轮廓的凸包确定电路板在目标图像中的外接矩形区域。
示例性的,根据板卡轮廓得到其对应的凸包,该凸包包含板卡轮廓最***的点。之后,根据该凸包确定电路板的外接矩形区域。一个实施例中,确定外接矩形区域时,分别确定凸包中每条边对应的最小外接矩形,实施例中,将每条对应的最小外接矩形记为备选外接矩形,此时,每条边对应一个备选外接矩形,且该备选外接矩形中一条边与凸包中的相应边共线(即重合)且该备选外接矩形包含板卡轮廓,之后,在各边对应的备选外接矩形中选择面积最小的备选外接矩形作为最终得到的电路板的外接矩形区域。
一个实施例中,步骤240具体包括步骤241-步骤245:
步骤241、获取板卡轮廓的凸包。
示例性的,先查找板卡轮廓中最***的点,其中,最***的点可以通过板卡轮廓的坐标确定。一个实施例中,为表示板卡掩模的二值图像建立一二维坐标系,可选的,该二维坐标系与目标图像的二维坐标系的建立方式相同,例如,将左上角的像素点作为二维坐标系原点以建立二维坐标系,此时,板卡轮廓中每个像素点均有对应的二维坐标,且该像素点的二维坐标与该目标图像中电路板的相应像素点的二维坐标相同。之后,根据板卡轮廓中各像素点的二维坐标确定处于最***的像素点,并作为板卡轮廓的最***的点。之后,依次连接相邻的最***的点,得到一凸多边形,该凸多边形便是板卡轮廓的凸包。
步骤242、确定凸包中每条边对应的备选外接矩形,备选外接矩形为包含板卡轮廓的最小外接矩形,备选外接矩形中的一条边与凸包中的对应边共线。
示例性的,对于凸多边形而言,包含该凸多边形的最小外接矩形一般与该凸多边形的一条边共线,因此,实施例中,分别确定凸包中每条边对应的备选外接矩形,该备选外接矩形的一条边与凸包中对应边共线且为当前包含凸包(也可理解为包含板卡轮廓)的最小外接矩形。一个实施例中,确定每条边对应的备选外接矩形时可以是将该边所在的直线作为备选外接矩形的边,并在该直线上绘制矩形区域,且该矩形区域包含凸包,之后,确定面积最小的矩形区域作为该边对应的备选外接矩形。可理解,对于凸包而言,并非每条边均平行于板卡轮廓所在二维坐标系的坐标轴,因此,根据凸包各边绘制备选外接矩形时,备选外接矩形可能为倾斜的矩形,可理解,对于电路板定位设备而言,倾斜的矩形的绘制难度高于非倾斜的矩形。其中,非倾斜的矩形是指该矩形中相邻的两条边分别平行于板卡轮廓所在二维坐标系的两个坐标轴。因此,实施例中,可以先对凸包进行旋转,以在绘制各边的备选外接矩形时,均绘制非倾斜的矩形。此时,确定凸包中每条边对应的备选外接矩形包括步骤2421-步骤2424:
步骤2421、确定凸包中每条边对应的第一角度,第一角度为相应边与设定坐标轴之间的角度,设定坐标轴为板卡轮廓所在坐标系中使用的坐标轴。
实施例中,依次确定凸包中各边对应的备选外接矩形,且确定各边的备选外接矩形时具体的技术手段相同,因此,实施例中,以凸包中的一条边为例,描述如何确定该边对应的备选外接矩形,为了便于理解,将凸包中当前确定备选外接矩形的边记为目标边。
示例性的,确定凸包中目标边与设定坐标轴之间的角度,实施例中,将该角度记为第一角度。其中,设定坐标轴为板卡轮廓所在二维坐标系中使用的坐标轴,可理解,该二维坐标系的坐标轴包括X轴和Y轴,因此,设定坐标轴可以X轴也可以是Y轴,实施例对此不作限定。之后,确定凸包中目标边与设定坐标轴之间的角度时,可以是当目标边与设定坐标轴相交时,确定目标边与设定坐标轴之间的夹角,并将该夹角确定为第一角度,当目标边与设定坐标轴不相交时,延长目标边并与设定坐标轴相交,之后,确定延长的目标边与设定坐标轴之间的夹角,进而将该夹角作为目标边对应的第一角度。可理解,实际应用中,还可以采用其他的方式确定第一角度,实施例对此不作限定。
步骤2422、根据第一角度反向旋转凸包内的各点,以使第一角度对应的边在反向旋转后平行于设定坐标轴。
示例性的,反向旋转为相对的概念,其与正向旋转向对应,且反向旋转和正向旋转均是在板卡轮廓对应的二维坐标系中旋转。实施例中,假设第一角度为θ,反向旋转是指将凸包中所有点旋转-θ,旋转后凸包中的目标边(即第一角度对应的边)平行于设定坐标轴。可选的,反向旋转凸包中所有点时,凸包内的板卡掩模也同步进行了反向旋转。可理解,旋转后还可能存在目标边重合于设定坐标轴的情况,实施例中,将该情况归类于平行设定坐标轴的情况。
步骤2423、确定反向旋转后包含板卡轮廓的最小外接矩形,第一角度对应的边在反向旋转后与最小外接矩形中的一条边共线。
示例性的,反向旋转凸包后,基于目标边(即第一角度对应的边)绘制包含板卡轮廓(即包含板卡掩模)的外接矩形,且该外接矩形中的一条边与目标边共线,其中,共线可以理解为两者在一条直线上,此时,由于反向旋转后目标边平行于设定坐标轴,那么,基于该目标边绘制的外接矩形为非倾斜的矩形。之后,在绘制的外接矩形中确定面积最小的外接矩形,即确定最小外接矩形。需说明,由于凸包根据板卡轮廓最***的点绘制得到,因此,基于目标边绘制包含板卡轮廓的外接矩形时,也可以是基于目标边绘制包含凸包的外接矩形。
步骤2424、根据第一角度正向旋转最小外接矩形,并将正向旋转后的最小外接矩形作为第一角度对应边的备选外接矩形。
示例性的,确定目标边(即第一角度对应的边)的最小外接矩形后,根据第一角度正向旋转最小外接矩形,正向旋转后的最小外接矩形可以包含反向旋转前的板卡轮廓(即包含反向旋转前的凸包)且其中一条边与反向旋转前的凸包中的目标边共线,此时,正向旋转后的最小外接矩形记为目标边的备选外接矩形。此时,备选外接矩形可以是倾斜的矩形。
一个实施例中,假设第一角度为θ,最小外接矩形为{Xmin,Ymin,Xmax,Ymax},此时,正向旋转最小外接矩形时具体是将外接矩形的四个角点(Xmin,Ymin),(Xmin,Ymax),(Xmax,Ymin),(Xmax,Ymax)分别旋转θ,旋转后顺序连接四个角点,便可以得到目标边的备选外接矩形。
按照上述方式便可以得到凸包中每条边对应的备选外接矩形。
步骤243、计算各备选外接矩形的面积。
实施例中,不限定备选外接矩形的面积的计算方式。
可理解,实际应用中,存在电路板只有部分区域显示在目标图像中,此时,板卡掩模也只是部分区域的板卡掩模。那么,确定的各备选外接矩形中,可能存在超出板卡掩模所在图像的边界的备选外接矩形,即存在超过了目标图像边界的备选外接矩形。这种情况下,可以只计算备选外接矩形保留在目标图像中部分区域所对应的面积。据此,本步骤还包括:若备选外接矩形的部分区域超出目标图像的边界,则将备选外接矩形与目标图像的交集区域的面积作为备选外接矩形的面积。
示例性的,判断备选外接矩形中是否存在部分区域超出了目标图像的边界,其中,目标图像的边界也可以理解为目标图像的图像框,可选的,将备选外接矩形按照其所在的二维坐标绘制在目标图像中,之后,确定备选外接矩形是否超出目标图像的边界,若未超出边界,则正常计算备选外接矩形的面积。若超出边界,则确定备选外接矩形和目标图像的交集区域,之后,将该交集区域的面积作为该备选外接矩形的面积。
步骤244、选择面积最小的备选外接矩形。
可理解,由于各备选外接矩形中电路板的大小固定,因此,备选外接矩形的面积越小,说明其内部中表示背景的区域越少,据此,实施例中在各备选外接矩形中,选择面积最小的备选外接矩形。
步骤245、将面积最小的备选外接矩形在目标图像中的显示区域作为电路板在目标图像中的外接矩形区域。
示例性的,确定面积最小的备选外接矩形在目标图像中的显示区域,即将面积最小的备选外接矩形按照其边的二维坐标将其绘制到目标图像中,并将面积最小的备选外接矩形在目标图像中的区域作为显示区域。之后,将该显示区域确定为电路板的外接矩形区域。可理解,当面积最小的备选外接矩形可能有部分超出目标图像的边界时,将面积最小的备选外接矩形和目标图像的交集区域作为外接矩形区域。例如,图5为本申请实施例提供的另一种外接矩形区域示例图。参考图5,板卡掩模的外接矩形区域12为按照上述技术手段确定的外接矩形区域,外接矩形区域12为倾斜的区域,且外接矩形区域12只保留了未超出图像的部分。
步骤250、根据外接矩形区域,在目标图像中提取电路板的板卡图像。
一个实施例中,提取目标图像中外接矩形区域内的图像,并将提取的图像作为电路板的板卡图像,即该板卡图像中包含电路板且包含较少的背景。可选的,提取图像时,可以将背景的像素点设置为0,即提取图像时,根据板卡掩模确定表示背景的像素点(即非板卡掩模的像素点为表示背景的像素点),之后,将该像素点的像素值设置为0。
可理解,提取板卡图像时,若板卡图像为倾斜的图像,则将其旋转为非倾斜的板卡图像,并作为最终提取的板卡图像。
步骤260、将板卡图像与参考板卡图像进行匹配,并根据匹配结果确定电路板的定位结果。
示例性的,参考板卡图像是指预先对参考电路板进行拍摄得到的图像,参考电路板与传送带上传送的电路板为功能相同的电路板,参考电路板上元器件的连接关系以及排列方式与传送的电路板上元器件的连接关系以及排列方式相同,且参考电路板是没有不良情况的电路板。通过比较参考电路板和传送的电路板,可以确定传送的电路板的不良情况。参考板卡图像中的参考电路板为非倾斜的电路板。一个实施例中,传送带上传送同一类型的电路板,因此,各电路板可以共用一张参考板卡图像。
示例性的,获取参考板卡图像后,将板卡图像与参考板卡图像进行匹配,以得到电路板的定位结果。一个实施例中,匹配具体是确定板卡图像与参考板卡图像最相似时板卡图像的放置状态,并将该放置状态下的板卡图像作为定位结果。示例性的,从目标图像中提取板卡图像,对板卡图像进行多次旋转,并将每次旋转后的板卡图像与参考板卡图像进行相似度,若某次旋转后的板卡图像与参考板卡图像最相似,则将当前旋转后的板卡图像确定为得到的定位结果,可便于后续与参考板卡图像比较确定不良情况。
一个实施例中,匹配板卡图像和参考板卡图像时,对板卡图像进行校正后与参考板卡图像进行比较。此时,将板卡图像与参考板卡图像进行匹配包括步骤261-步骤263:
步骤261、获取电路板的参考板卡图像。
示例性的,导入参考板卡图像。
步骤262、根据参考板卡图像对板卡图像进行校正,得到板卡校正图像。
示例性的,对板卡图像校正是指将板卡图像映射到参考板卡图像中,以便于后续比较校正后的板卡图像和参考板卡图像。实施例中,将校正后的板卡图像记为板卡校正图像。其中,对板卡图像进行校正的手段可以根据实际情况设置,一个实施例中,以单应矩阵的方式实现板卡图像的校正。此时,步骤262具体包括步骤2621-步骤2622
步骤2621、当参考板卡图像的宽高比和外接矩形区域的宽高比满足相似关系时,确定参考板卡图像和所述外接矩形区域之间的单应矩阵。
示例性的,若外接矩形区域为倾斜的矩形区域,则先将外接矩形区域旋转成非倾斜的矩形区域,此时,外接矩形区域的旋转方向和角度与步骤250中倾斜的板卡图像旋转成非倾斜的板卡图像时使用的旋转方向和角度相同。此时,将非倾斜的外接矩形区域记为R,且R={X’min,Y’min,X’max,Y’max},此时,外接矩形区域的四个角点(即顶点)分别为(X’min,Y’min),(X’max,Y’min),(X’max,Y’max),(X’min,Y’max)。将参考板卡图像记为R’,且R’={0,0,w-1,h-1},此时,参考板卡图像的四个角点(即顶点)分别为:(0,0),(w-1,0),(w-1,h-1),(0,h-1)。可理解,当电路板与参考电路板采用相同的放置状态时,如电路板和参考电路板均为矩形电路板,两个电路板相同的放置状态是指将电路板和参考电路板的长边作为水平边进行放置,此时,包含电路板的外接矩形区域和参考板卡图像的宽高比应该相似。而实施例中,电路板放置状态不固定,因此,可能存在电路板的外接矩形区域和参考板卡图像的宽高比不相似的情况,因此,实施例中,需要先保证电路板的外接矩形区域和参考板卡图像的宽高比相似,之后,再进行校正,以保证校正的准确性。
示例性的,获取参考板卡图像的宽高比,其中,参考板卡图像R’的宽度为w,长度为h,之后,确定参考板卡图像的宽高比为w/h。同样的,获取外接矩形区域的宽高比,其中,外接矩形区域R的宽度(X’max-X’min+1),长度为(Y’max-Y’min+1),之后,确定外接矩形区域的宽高比为(X’max-X’min+1)/(Y’max-Y’min+1)。之后,确定参考板卡图像的宽高比和外接矩形区域的宽高比是否满足相似关系,其中,相似关系是指两个宽高比相等或近似相等,需说明,近似相等的判断标准可以根据实际情况设定,如设置一个比例阈值,当两个宽高比之间的比例在比例阈值内,则确定两者近似相等。若参考板卡图像的宽高比和外接矩形区域的宽高比满足相似关系,则说明参考板卡图像的长边与外接矩形区域的长边均为宽边或高边。此时,可以直接根据外接矩形区域和参考板卡图像的四个角点计算单应矩阵。其中,单应矩阵的计算方式实施例不作限定,例如,调用OpenCV中的函数,通过4对对应的角点(分别为左上角的角点、右上角的角点、右下角的角点和左下角的角点)的二维坐标计算两个图像(即外接矩形区域和参考板卡图像)之间单应矩阵,之后,通过单应矩阵便可以将外接矩形区域中的点转换到参考板卡图像的对应位置上。
可理解,若参考板卡图像的宽高比和外接矩形区域的宽高比不满足相似关系,则按照第二角度旋转外接矩形区域,以使旋转后的外接矩形区域的宽高比与参考板卡图像的宽高比满足相似关系。示例性的,若参考板卡图像的宽高比和外接矩形区域的宽高比不满足相似关系,则说明两者的宽高比相反,即说明参考板卡图像的长边和外接矩形区域的长边中的一个长边作为了宽边或另一个长边作为了高边。此时,需要对外接矩形区域进行旋转,以使得两者的宽高比满足相似关系。
实施例中,将对外接矩形区域进行旋转时使用的旋转角度记为第二角度,一般而言,对外接矩形区域旋转90°,便可以使得外接矩形区域的宽边和高边互换,因此,一个实施例中,将90°作为第二角度。可选的,对外接矩形区域R的四个角点(X’min,Y’min),(X’max,Y’min),(X’max,Y’max),(X’min,Y’max)分别顺时针旋转90°,旋转后的外接矩形区域的四个角点分别为:(X’min,Y’max),(X’min,Y’min),(X’max,Y’min),(X’max,Y’max),此时,旋转后的外接矩形区域和参考板卡图像的宽高比满足相似关系。之后,根据旋转后的外接矩形区域的四个角点和参考板卡图像的四个角点确定单应矩阵。其中,单应矩阵的确定方式与前述的确定方式相同,在此不做赘述。
步骤2622、利用单应矩阵处理板卡图像,以得到板卡校正图像。
示例性的,利用单应矩阵处理板卡图像时,具体是将板卡图像中的各像素点的二维坐标(即相似点)与单应矩阵相乘,以将各像素点变换到参考板卡图像的对应位置上,以得到板卡校正图像,可理解,板卡校正图像的宽高比与参考把卡图像的宽高比满足相似关系。
步骤263、将板卡校正图像与参考板卡图像进行匹配。
一个实施例中,会出现电路板存在缺角的情况,这种情况下,电路板本身为缺陷的电路板且可能后续无法正常使用,因此,对于这种情况的电路板可以不进行定位,即不再后续进行不良情况的检测。据此,实施例中,步骤263之前,还包括:获取板卡校正图像中像素值为零的像素点数量,像素值为零的像素点为表示背景的像素点;在像素点数量小于数量阈值时,执行将板卡校正图像与参考板卡图像进行匹配的操作。
示例性的,由于步骤250中提取板卡图像时,已经将表示背景的像素点设置为0,因此,本步骤中,可以直接获取板卡校正图像中像素值为零的像素点的数量。之后,将该数量与数量阈值进行比较,其中,数量阈值为预先设定的阈值,当数量小于数量阈值时,说明板卡图像中背景像素点的数量较少,不存在缺角的情况,或者是,缺角不明显并不影响正常使用,即对于后续不良情况检测没有影响,此时,直接执行步骤263。若数量大于数量阈值,则说明板卡图像中背景像素点的数量较多,即说明电路板的缺角过大,此时,可以不再执行后续步骤,即跳过当前的电路板,不与参考板卡图像进行匹配。可选的,确定电路板缺角过大时,可以在目标图像中标记该电路板,以便于后续工作人员对该电路板的处理。
一个实施例中,为了保证匹配的准确度,步骤263之前,还包括:分别将板卡校正图像和参考板卡图像缩放至目标尺寸。
其中,目标尺寸可以根据实际情况设定,一般而言,目标尺寸小于板卡校正图像的尺寸和参考板卡图像的尺寸。实施例中,以目标尺寸为32×32为例进行描述。示例性的,将板卡校正图像和参考板卡图像分别缩放至目标尺寸,此时,缩放图像时采用的具体技术手段实施例不作限定。可理解,缩放完成后板卡校正图像和参考板卡图像具有相同的尺寸,且该尺寸小于缩放前的尺寸,这样不仅保证匹配的准确度(即保证后续相似度计算的准确性),同时,还能减小匹配时的计算数据量。需说明,后续提及的板卡校正图像和参考板卡图像均可认为是缩放后的板卡校正图像和参考板卡图像。
示例性的,由于校正板卡图像时,已经将板卡校正图像对应的宽高比和参考板卡图像的宽高比满足相似关系,因此,需要在保证宽高比不变的情况下,确定板卡校正图像与参考板卡图像最相似时板卡校正图像的状态,并将该状态下的板卡校正图像作为定位结果。此时,步骤263具体包括步骤2631-步骤2633。
步骤2631、计算板卡校正图像与参考板卡图像之间的第一相似度。
示例性的,采用结构相似度(Structural Similarity,SSIM)来计算板卡校正图像与参考板卡图像之间的相似度,实施例中,将当前计算得到的相似度记为第一相似度。
之后,获取板卡校正图像的宽度和高度,若宽度和高度相等或近似相等,则说明板卡校正图像为长方形图像,执行步骤2633,若宽度和高度不相等,则说明板卡校正图像为正方形图像,执行步骤2632。
需说明,实施例中,近似相等的判断标准可以根据实际情况设定,如设置一个比例阈值,当宽度和高度之间的比例在比例阈值内,则确定两者近似相等。
步骤2632、若板卡校正图像为正方形图像,则旋转三次板卡校正图像且每次旋转90°,并在每次旋转后计算板卡校正图像与参考板卡图像之间的第二相似度。
示例性的,对于正方形图像而言,其沿同一方向,每次旋转90°后,宽高比仍然不变。因此,若板卡校正图像为正方形图像,则说明板卡校正图像与参考板卡图像之间存在0°、90°、180°和270°四种旋转情况,即板卡校正图像在四个旋转情况中的一个旋转情况下与参考板卡图像之间最为相似。由于步骤2631中已经计算了旋转角度为0°时,即板卡校正图像不旋转时,与参考板卡图像之间的第一相似度。因此,本步骤中以90°为旋转角度,每次沿同一方向对板卡校正图像旋转90°,并旋转三次,以分别对应于90°、180°和270°三种旋转情况,其中,旋转方向实施例不作限定。进一步的,每次旋转后,计算旋转后的板卡校正图像与参考板卡图像之间的相似度,实施例中,将旋转后的板卡校正图像与参考板卡图像之间的相似度记为第二相似度,可理解,板卡校正图像为正方形图像时,存在三个第二相似度。第二相似度与第一相似度的计算方式相同。
步骤2633、若板卡校正图像为长方向图像,则将板卡校正图像旋转180°,并在旋转后计算板卡校正图像与参考板卡图像之间的第二相似度。
示例性的,对于长方形图像而言,其沿同一方向,每次旋转180°后,宽高比仍然不变。因此,若板卡校正图像为长方形图像,则说明板卡校正图像与参考板卡图像之间存在0°和180°两种旋转情况,即板卡校正图像在两个旋转情况中的一个旋转情况下与参考板卡图像之间最为相似。由于步骤2631中已经计算了旋转角度为0°时,即板卡校正图像不旋转时,与参考板卡图像之间的第一相似度。因此,本步骤中以180°为旋转角度,对板卡校正图像旋转180°,以对应于180°的旋转情况,其中,旋转方向实施例不作限定。进一步的,计算旋转后的板卡校正图像与参考板卡图像之间的相似度,实施例中,将旋转后的板卡校正图像与参考板卡图像之间的相似度记为第二相似度,可理解,板卡校正图像为长方形图像时,存在一个第二相似度。第二相似度与第一相似度的计算方式相同。
可理解,实际应用中,得到板卡校正图像后,还可以先获取板卡校正图像的宽度和高度,根据宽度和高度确定板卡校正图像为正方形图像时,按照0°、90°、180°和270°四种旋转情况计算第一相似度和第二相似度。根据宽度和高度确定板卡校正图像为长方形图像时,按照0°和180°两种旋转情况计算第一相似度和第二相似度。
一个实施例中,由于板卡校正图像与参考板卡图像之间存在第一相似度和第二相似度,即板卡校正图像和参考板卡图像之间存在多个匹配结果,因此,需要在第一相似度和第二相似度之中选择最优的结果,并根据最优的结果确定电路板的定位结果。此时,根据匹配结果确定电路板在传送带上的定位结果包括:在第一相似度和第二相似度中选择最大相似度,并将最大相似度对应的板卡校正图像作为电路板在传送带上的定位结果。
示例性的,相似度越大,说明板卡校正图像在当前的旋转状态下越接近参考板卡图像,即板卡校正图像中电路板与参考电路板的摆放方式相同。因此,实施例中,在第一相似度和第二相似度中选择最大相似度。可理解,对于长方形的板卡校正图像而言,在一个第一相似度和一个第二相似度中选择最大相似度。对于正方形的板卡校正图像而言,在一个第一相似度和三个第二相似度中选择最大相似度。
进一步的,将最大相似度时的板卡校正图像作为电路板的定位结果,即确认最大相似度时对应的旋转情况,将该旋转情况下的板卡校正图像作为定位结果。之后,将该旋转状态以及板卡校正图像作,并将选择的此时,可以确定从目标图像中准确的定位到电路板,且可以直接将定位到的电路板进行后续不良情况的检测。
上述,通过在传送带传送电路板时,获取对传送带进行拍摄的目标图像,之后,从目标图像中分割出各电路板的板卡掩模,根据板卡掩模确定电路板在目标图像中板卡轮廓,进而根据板卡轮廓的凸包确定电路板的外接矩形区域,之后,根据外接矩形区域在目标图像中提取电路板的板卡图像,并通过将板卡图像与参考板卡图像进行匹配的方式得到电路板的定位结果的技术手段,解决了相关技术中利用特征点对复杂的电路板进行定位时定位准确度低的技术问题,上述定位过程中,只需要识别出电路板的板卡掩模便可以从目标图像中提取出对应的电路板,即电路板的背景杂乱、存在多于线材,也不会应该板卡掩模的识别,提高了后续与参考电路图像匹配的准确率,并且,上述过程无需对电路板上重复的纹理进行特征提取和匹配,进一步提高了后续参考电路图像匹配的准确率,增强了后续检测的鲁棒性。并且利用板卡轮廓的凸包确定外接矩形区域,可以实现对目标图像中歪斜的电路板进行准确的定位,即准确得到歪斜的外接矩形区域。另外,即使目标图像中没有出现完整的电路板,也可以得到该电路板真实的外接矩形区域,保证了后续电路板定位的准确性。并且,利用外接矩形区域提取的板卡图像中背景部分较少,并结合板卡图像自身长度和宽度进行校正和匹配,可以使得校正和匹配过程相对简单,降低了模板匹配错误率。
图6为本申请实施例提供的一种电路板定位装置的结构示意图,参考图6,该电路板定位装置包括图像获取模块301、掩模确定模块302、区域确定模块303和定位确定模块304。
其中,图像获取模块,用于获取对传送带进行拍摄后得到的目标图像,该传送带用于传送电路板;掩模确定模块,用于从目标图像中分割出电路板对应的板卡掩模,每张电路板对应一个板卡掩模;区域确定模块,用于根据板卡掩模确定电路板在目标图像中的外接矩形区域;定位确定模块,用于根据外接矩形区域确定电路板的定位结果。
在上述实施例的基础上,区域确定模块包括:轮廓确定单元,用于根据板卡掩模得到电路板的板卡轮廓;矩形区域确定单元,用于根据板卡轮廓的凸包确定电路板在目标图像中的外接矩形区域。
在上述实施例的基础上,矩形区域确定单元包括:凸包确定子单元,用于获取板卡轮廓的凸包;备选矩形确定子单元,用于确定凸包中每条边对应的备选外接矩形,该备选外接矩形为包含板卡轮廓的最小外接矩形,备选外接矩形中的一条边与凸包中的对应边共线;面积计算子单元,用于计算各备选外接矩形的面积;矩形选择子单元,用于选择面积最小的备选外接矩形;外接矩形区域确定子单元,用于将面积最小的备选外接矩形在目标图像中的显示区域作为电路板在目标图像中的外接矩形区域。
在上述实施例的基础上,备选矩形确定子单元包括:第一角度确定孙单元,用于确定凸包中每条边对应的第一角度,第一角度为相应边与设定坐标轴之间的角度,设定坐标轴为板卡轮廓所在坐标系中使用的坐标轴;凸包旋转孙单元,用于根据第一角度反向旋转凸包内的各点,以使第一角度对应的边在反向旋转后平行于设定坐标轴;最小外接矩形确定孙单元,用于确定凸包在反向旋转后的最小外接矩形,第一角度对应的边在反向旋转后与最小外接矩形中的一条边共线;第一矩形旋转孙单元,用于根据第一角度正向旋转最小外接矩形,并将正向旋转后的最小外接矩形作为第一角度对应边的备选外接矩形。
在上述实施例的基础上,面积计算子单元在计算各所述备选外接矩形的面积时,还用于:若备选外接矩形的部分区域超出目标图像的边界,则将备选外接矩形与目标图像的交集区域的面积作为备选外接矩形的面积。
在上述实施例的基础上,定位确定模块包括:板卡图像提取单元,用于根据外接矩形区域,在目标图像中提取电路板的板卡图像;图像匹配单元,用于将板卡图像与参考板卡图像进行匹配,并根据匹配结果确定电路板的定位结果。
在上述实施例的基础上,图像匹配单元包括:参考图像获取子单元,用于获取电路板的参考板卡图像;校正子单元,用于根据参考板卡图像对板卡图像进行校正,得到板卡校正图像;匹配子单元,用于将板卡校正图像与参考板卡图像进行匹配;定位结果确定子单元,用于根据匹配结果确定电路板的定位结果。
在上述实施例的基础上,校正子单元包括:单应矩阵确定孙单元,用于当参考板卡图像的宽高比和外接矩形区域的宽高比满足相似关系时,确定参考板卡图像和外接矩形区域之间的单应矩阵;处理孙单元,用于利用单应矩阵处理板卡图像,以得到板卡校正图像。
在上述实施例的基础上,还包括:第二矩形旋转模块,用于若参考板卡图像的宽高比和外接矩形区域的宽高比不满足相似关系,则按照第二角度旋转外接矩形区域,以使旋转后的外接矩形区域的宽高比与参考板卡图像的宽高比满足相似关系。
在上述实施例的基础上,匹配子单元包括:第一相似度计算孙单元,用于计算板卡校正图像与参考板卡图像之间的第一相似度;第一图像旋转孙单元,用于若板卡校正图像为正方形图像,则旋转三次板卡校正图像且每次旋转90°,并在每次旋转后计算板卡校正图像与参考板卡图像之间的第二相似度;第二图像旋转孙单元,用于若板卡校正图像为正方向图像,则将板卡校正图像旋转180°,并在旋转后计算板卡校正图像与参考板卡图像之间的第二相似度。
在上述实施例的基础上,定位结果确定子单元具体用于:在第一相似度和第二相似度中选择最大相似度,并将最大相似度对应的板卡校正图像作为电路板的定位结果。
在上述实施例的基础上,还包括:像素点获取模块,用于将板卡校正图像与参考板卡图像进行匹配之前,获取板卡校正图像中像素值为零的像素点数量,像素值为零的像素点为表示背景的像素点;数量比较模块,用于在像素点数量小于数量阈值时,执行将板卡校正图像与参考板卡图像进行匹配的操作。
在上述实施例的基础上,还包括:缩放模块,用于将板卡校正图像与参考板卡图像进行匹配之前,分别将板卡校正图像和参考板卡图像缩放至目标尺寸。
上述提供的电路板定位装置可用于执行上述任意实施例提供的电路板定位方法,具备相应的功能和有益效果。
值得注意的是,上述电路板定位装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
图7为本申请实施例提供的一种电路板定位设备的结构示意图。如图7所示,该电路板定位设备包括处理器40、存储器41、输入装置42、输出装置43;电路板定位设备中处理器40的数量可以是一个或多个,图7中以一个处理器40为例。电路板定位设备中处理器40、存储器41、输入装置42、输出装置43可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的电路板定位方法对应的程序指令/模块(例如,电路板定位装置中的图像获取模块301、掩模确定模块302、区域确定模块303和定位确定模块304)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行电路板定位设备的各种功能应用以及数据处理,即实现上述的电路板定位方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据电路板定位设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至电路板定位设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与无电路板定位设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。电路板定位设备还可包括通信装置,该通信装置可以与其他设备进行通信,如与拍摄装置进行通信,以获取目标图像。
上述电路板定位设备包含电路板定位装置,可以用于执行任意电路板定位方法,具备相应的功能和有益效果。
此外,本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本申请任意实施例所提供的电路板定位方法中的相关操作,且具备相应的功能和有益效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。
因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (16)
1.一种电路板定位方法,其特征在于,包括:
获取对传送带进行拍摄后得到的目标图像,所述传送带用于传送电路板;
从所述目标图像中分割出所述电路板对应的板卡掩模,每张所述电路板对应一个所述板卡掩模;
根据所述板卡掩模确定所述电路板在所述目标图像中的外接矩形区域;
根据所述外接矩形区域确定所述电路板的定位结果。
2.根据权利要求1所述的电路板定位方法,其特征在于,所述根据所述板卡掩模确定所述电路板卡在所述目标图像中的外接矩形区域包括:
根据所述板卡掩模得到所述电路板的板卡轮廓;
根据所述板卡轮廓的凸包确定所述电路板在所述目标图像中的外接矩形区域。
3.根据权利要求2所述的电路板定位方法,其特征在于,所述根据所述板卡轮廓的凸包确定所述电路板在所述目标图像中的外接矩形区域包括:
获取所述板卡轮廓的凸包;
确定所述凸包中每条边对应的备选外接矩形,所述备选外接矩形为包含所述板卡轮廓的最小外接矩形,所述备选外接矩形中的一条边与所述凸包中的对应边共线;
计算各所述备选外接矩形的面积;
选择面积最小的备选外接矩形;
将所述面积最小的备选外接矩形在所述目标图像中的显示区域作为所述电路板在所述目标图像中的外接矩形区域。
4.根据权利要求3所述的电路板定位方法,其特征在于,所述确定所述凸包中每条边对应的备选外接矩形包括:
确定所述凸包中每条边对应的第一角度,所述第一角度为相应边与设定坐标轴之间的角度,所述设定坐标轴为所述板卡轮廓所在坐标系中使用的坐标轴;
根据所述第一角度反向旋转所述凸包内的各点,以使所述第一角度对应的边在反向旋转后平行于所述设定坐标轴;
确定反向旋转后包含所述板卡轮廓的最小外接矩形,所述第一角度对应的边在反向旋转后与所述最小外接矩形中的一条边共线;
根据所述第一角度正向旋转所述最小外接矩形,并将正向旋转后的最小外接矩形作为所述第一角度对应边的备选外接矩形。
5.根据权利要求3所述的电路板定位方法,其特征在于,所述计算各所述备选外接矩形的面积时,还包括:
若所述备选外接矩形的部分区域超出所述目标图像的边界,则将所述备选外接矩形与所述目标图像的交集区域的面积作为所述备选外接矩形的面积。
6.根据权利要求1所述的电路板定位方法,其特征在于,所述根据所述外接矩形区域确定所述电路板的定位结果包括:
根据所述外接矩形区域,在所述目标图像中提取所述电路板的板卡图像;
将所述板卡图像与参考板卡图像进行匹配,并根据匹配结果确定所述电路板的定位结果。
7.根据权利要求6所述的电路板定位方法,其特征在于,所述将所述板卡图像与参考板卡图像进行匹配包括:
获取所述电路板的参考板卡图像;
根据所述参考板卡图像对所述板卡图像进行校正,得到板卡校正图像;
将所述板卡校正图像与所述参考板卡图像进行匹配。
8.根据权利要求7所述的电路板定位方法,其特征在于,所述根据所述参考板卡图像对所述板卡图像进行校正,得到板卡校正图像包括:
当所述参考板卡图像的宽高比和所述外接矩形区域的宽高比满足相似关系时,确定所述参考板卡图像和所述外接矩形区域之间的单应矩阵;
利用所述单应矩阵处理所述板卡图像,以得到板卡校正图像。
9.根据权利要求8所述的电路板定位方法,其特征在于,还包括:
若所述参考板卡图像的宽高比和所述外接矩形区域的宽高比不满足相似关系,则按照第二角度旋转所述外接矩形区域,以使旋转后的所述外接矩形区域的宽高比与所述参考板卡图像的宽高比满足相似关系。
10.根据权利要求7所述的电路板定位方法,其特征在于,所述将所述板卡校正图像与所述参考板卡图像进行匹配包括:
计算所述板卡校正图像与所述参考板卡图像之间的第一相似度;
若所述板卡校正图像为正方形图像,则旋转三次所述板卡校正图像且每次旋转90°,并在每次旋转后计算所述板卡校正图像与所述参考板卡图像之间的第二相似度;
若所述板卡校正图像为长方向图像,则将所述板卡校正图像旋转180°,并在旋转后计算所述板卡校正图像与所述参考板卡图像之间的第二相似度。
11.根据权利要求10所述的电路板定位方法,其特征在于,所述根据匹配结果确定所述电路板的定位结果包括:
在所述第一相似度和所述第二相似度中选择最大相似度,并将所述最大相似度对应的板卡校正图像作为所述电路板的定位结果。
12.根据权利要求7所述的电路板定位方法,其特征在于,所述将所述板卡校正图像与所述参考板卡图像进行匹配之前,还包括:
获取所述板卡校正图像中像素值为零的像素点数量,所述像素值为零的像素点为表示背景的像素点;
在所述像素点数量小于数量阈值时,执行将所述板卡校正图像与所述参考板卡图像进行匹配的操作。
13.根据权利要求8所述的电路板定位方法,其特征在于,所述将所述板卡校正图像与所述参考板卡图像进行匹配之前,还包括:
分别将所述板卡校正图像和所述参考板卡图像缩放至目标尺寸。
14.一种电路板定位装置,其特征在于,包括:
图像获取模块,用于获取对传送带进行拍摄后得到的目标图像,所述传送带用于传送电路板;
掩模确定模块,用于从所述目标图像中分割出所述电路板对应的板卡掩模,每张所述电路板对应一个所述板卡掩模;
区域确定模块,用于根据所述板卡掩模确定所述电路板在所述目标图像中的外接矩形区域;
定位确定模块,用于根据所述外接矩形区域确定所述电路板的定位结果。
15.一种电路板定位设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的电路板定位方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-13中任一所述的电路板定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110444607.9A CN115239612A (zh) | 2021-04-23 | 2021-04-23 | 电路板定位方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110444607.9A CN115239612A (zh) | 2021-04-23 | 2021-04-23 | 电路板定位方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115239612A true CN115239612A (zh) | 2022-10-25 |
Family
ID=83665773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110444607.9A Pending CN115239612A (zh) | 2021-04-23 | 2021-04-23 | 电路板定位方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115239612A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117372434A (zh) * | 2023-12-08 | 2024-01-09 | 深圳市强达电路股份有限公司 | 一种用于pcb板生产用的定位***及方法 |
-
2021
- 2021-04-23 CN CN202110444607.9A patent/CN115239612A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117372434A (zh) * | 2023-12-08 | 2024-01-09 | 深圳市强达电路股份有限公司 | 一种用于pcb板生产用的定位***及方法 |
CN117372434B (zh) * | 2023-12-08 | 2024-04-30 | 深圳市强达电路股份有限公司 | 一种用于pcb板生产用的定位***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110060237B (zh) | 一种故障检测方法、装置、设备及*** | |
CN110414507B (zh) | 车牌识别方法、装置、计算机设备和存储介质 | |
CN111612781A (zh) | 一种屏幕缺陷检测方法、装置及头戴显示设备 | |
CN108875731B (zh) | 目标识别方法、装置、***及存储介质 | |
CN113160161B (zh) | 目标边缘处缺陷的检测方法和装置 | |
CN109948521B (zh) | 图像纠偏方法和装置、设备及存储介质 | |
CN111310826B (zh) | 样本集的标注异常检测方法、装置及电子设备 | |
CN113034447B (zh) | 一种边缘缺陷检测方法和装置 | |
CN113379723B (zh) | 不规则溢胶口检测方法、装置、设备和存储介质 | |
US20220398716A1 (en) | Method of detecting product defects, electronic device, and storage medium | |
CN112001841A (zh) | 图像待检测区域提取方法、装置和产品缺陷检测*** | |
CN111325717A (zh) | 手机缺陷位置识别方法及设备 | |
CN109102026B (zh) | 一种车辆图像检测方法、装置及*** | |
CN108960247B (zh) | 图像显著性检测方法、装置以及电子设备 | |
CN114638294A (zh) | 一种数据增强方法、装置、终端设备及存储介质 | |
CN110288040B (zh) | 一种基于拓扑验证的图像相似评判方法及设备 | |
CN115937003A (zh) | 图像处理方法、装置、终端设备和可读存储介质 | |
CN115239612A (zh) | 电路板定位方法、装置、设备及存储介质 | |
CN115830604A (zh) | 面单图像矫正方法、装置、电子设备及可读存储介质 | |
CN117218633A (zh) | 一种物品检测方法、装置、设备及存储介质 | |
CN117253022A (zh) | 一种对象识别方法、装置及查验设备 | |
CN115619783B (zh) | 产品加工缺陷的检测方法及装置、存储介质、终端 | |
CN116894849A (zh) | 图像分割方法和装置 | |
CN113840135B (zh) | 色偏检测方法、装置、设备及存储介质 | |
CN111598943B (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 |