CN115471532A - 一种pcb板的点云快速配准方法 - Google Patents
一种pcb板的点云快速配准方法 Download PDFInfo
- Publication number
- CN115471532A CN115471532A CN202211210812.XA CN202211210812A CN115471532A CN 115471532 A CN115471532 A CN 115471532A CN 202211210812 A CN202211210812 A CN 202211210812A CN 115471532 A CN115471532 A CN 115471532A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- height
- registration
- pcb
- cloud data
- 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 72
- 230000001174 ascending effect Effects 0.000 claims description 18
- 230000035772 mutation Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 16
- 238000001514 detection method Methods 0.000 description 15
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 11
- 238000005476 soldering Methods 0.000 description 11
- 238000012549 training Methods 0.000 description 11
- 230000007547 defect Effects 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002407 reforming Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009469 supplementation Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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/10028—Range image; Depth image; 3D point clouds
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种PCB板的点云快速配准方法,首先进行点云数据补偿,然后提取PCB板上K个分散的元器件的中心坐标(xi,yi)和高度hi并作为配准参考值;然后依次计算每两个元器件之间的高度差H;对每个偏置量(Δx,Δy),计算对应元器件的高度h';计算该偏置量对应的元器件之间的高度差H';计算H与H'的差值δ;计算最小的差值δ对应的偏置量即为配准坐标(Δx*,Δy*),进而实现点云配准。本发明通过点云数据补偿,避免因点云缺失造成的点云配准错误及点云识别错误。本发明通过计算各区域高度差进行点云配准,不需要依赖各元器件的样本点云数据,且匹配速度更快,对器件摆放位置和高度的鲁棒性更好。
Description
技术领域
本发明属于工业产品异常检测的技术领域,具体涉及一种PCB板的点云快速配准方法。
背景技术
产品的异常检测是机器视觉在工业领域的一个重要应用,通过图像处理以及点云数据处理,判断工业产品中的缺陷和异常,实现对合格品的全自动筛选,从而提升产品合格率,实现更严格有效的品控把关。其中,PCB板缺陷异常检测是工业异常检测中的一个重要方向。在PCB板缺陷检测中,元器件缺失、元器件类型错误、焊锡不合格、引脚不合格等都是影响产品质量的关键因素,元器件缺失、元器件类型错误等比较明显的缺陷可以通过2D图像处理来识别,焊锡不合格、引脚不合格等,因为不仅涉及到元器件在PCB板上的水平位置,而且也涉及到焊锡、引脚等的高度信息,因此无法单纯地从2D图像进行识别,需要结合3D点云信息。
在3D点云信息处理的过程中,需要对点云数据进行配准。已有的点云数据处理方法更侧重用机器学习的方法实现对点云的分割和配准,具有计算量极大、对训练数据要求较高的缺陷。其次,3D点云成像相对于2D平面成像,会受到元器件遮挡的影响。因此,在元器件的边缘以及两个元器件交界的地方,容易出现因为遮挡引起的点云缺失的情况,这种缺失会导致点云数据本来连续可靠的高度维信息出现丢失和异常,使点云配准出现错误,从而影响缺陷的检测,需要对点云数据进行补偿。
然而,补偿后的点云信息的数据量极大,而且同一类型的元器件对应的点云数据差别也较大,很难采用目标检测的方式实现对元器件区域的准确检测,因此,需要更加简单有效的元器件定位方法。另外,PCB板对应的点云数据相对于自然场景下的点云数据,元器件数量更多更加密集,且每个元器件、焊锡、引脚等对应的点云数据更少更多变。
目前的点云数据处理方法更多地是对自然场景大目标点云数据的分割技术、配准技术以及检测识别技术,通过数据处理和机器学习的方法实现物体目标的检测、定位和识别。自然场景对应的点云数据完整清晰,物体对应的轮廓比较明显,且单个物体对应的点云数据信息丰富,因此分割、配准和检测识别方法等有很多的提升空间,这些方法无法有效地地应用于数据有缺失、轮廓模糊、单目标点云信息少的PCB板点云数据上。因此,PCB板的点云快速配准问题亟待解决。
发明内容
本发明的目的在于提供一种PCB板的点云快速配准方法,首先对点云数据进行补偿,然后选择K个分散的元器件作为配准参考,根据相对高度差计算配准参数。本发明不需要对目标进行点云建模,也不需要时间极长的网络训练,计算速度较大,需要的硬件成本较低,具有较好的实用性。本发明实现了对PCB板3D点云数据的补偿,以及基于点云和PCB原理图的配准检测,从而生成各元器件、焊锡及引脚的点云数据,为后续的点云数据缺陷检测和识别提供稳定可靠的输入。
本发明主要通过以下技术方案实现:
一种PCB板的点云快速配准方法,包括以下步骤:
步骤S100:采用工业3D数字相机,扫描拍摄PCB板得到3D点云数据(xi,yi,zi),i=1,2,3...N;
步骤S200:对点云数据进行补偿,得到无缺失的完整点云数据,以进行点云配准;
步骤S300:提取PCB板上K个分散的元器件的中心坐标(xi,yi)和高度hi并作为配准参考值,其中K>5;
步骤S400:首先计算每两个元器件之间的高度差H:
H={hi-hj}i≠j (11)
对每个偏置量(Δx,Δy),计算对应元器件的高度h′:
h′=z(Δx+x,Δy+y) (12)
计算该偏置量对应的元器件之间的高度差H′:
H′={h′i-h′j}i≠j (14)
计算H与H′的差值δ:
δ=||H-H′||2 (15)
计算最小的差值δ对应的偏置量即为配准坐标(Δx*,Δy*),进而实现点云配准。
为了更好地实现本发明,进一步地,所述步骤S300中包括以下步骤:
步骤S301:设定K为两个整数的乘积,即K=P×Q,其中,P、Q的值尽可能接近;
步骤S302:将PCB板上的区域划分为P×Q个子区域,然后每个子区域随机选择一个元器件。
为了更好地实现本发明,进一步地,所述步骤S302中,若任一子区域没有元器件,则在被选择次数最少的子区域中随机选择一个元器件进行补充。
为了更好地实现本发明,进一步地,步骤S400中,若点云数据的x轴范围和y轴范围分别为[x3D,0]和[0,y3D],选择的所有点云的x轴的范围为[xmin,xmax],y轴的范围为[ymin,ymax],则偏置量的范围为:
为了更好地实现本发明,进一步地,所述步骤S400中,假设元器件的中心坐标为(x',y'),则配准后,元器件在点云上的实际位置为(x'+Δx*,y'+Δy*)。
为了更好地实现本发明,进一步地,所述步骤S200包括以下步骤:
步骤S201:将步骤S100中的点云数据(xi,yi,zi)先按照xi的大小进行升序排序,然后按照yi的大小进行升序排序,根据点云高度是否产生突变进行判断点云是否缺失,若点云高度发生突变,则判定点云缺失,若点云缺失,则采用线性插值法进行点云补偿,插值的高度补偿为λ;
步骤S202:将步骤S100中的点云数据(xi,yi,zi)先按照yi的大小进行升序排序,然后按照xi的大小进行升序排序,根据点云高度是否产生突变进行判断点云是否缺失,若点云高度发生突变,则判定点云缺失,若点云缺失,则采用线性插值法进行点云补偿,插值的高度补偿为λ;
步骤S203:将步骤S201和步骤S202中补偿的点云数据与步骤S100中的点云数据合并,得到完整的点云数据。
为了更好地实现本发明,进一步地,判断点云是否缺失的计算公式如下:
若flag_lack为1,表示出现点云缺失;若flag_lack为0,表示点云完整;
θ为高度差阈值,θ由工业3D相机的高度分辨率决定。
已有的点云配准方法需要对目标(元器件、焊锡、引脚等)进行3D点云建模,然后采用3D机器学习的方法计算目标的位置和对应点云。现有的这些方法的性能取决于3D模型的建模性能、模型数量以及3D深度学习网络的参数量及训练时长,建模时间长且需要建模的模型较多,3D深度学习网络的训练时间较大。本发明提出的点云配准方法仅需要K个元器件的中心坐标和高度,不需要对目标进行点云建模,也不需要时间极长的网络训练,计算速度较大,需要的硬件成本较低。
本发明的有益效果如下:
(1)已有的点云数据处理方法更侧重采用机器学习的方法实现对点云的分割和配准,而本发明首先实现对PCB板点云数据的补偿,避免点云缺失造成的点云配准错误及点云识别错误;然后基于补偿后的点云和PCB原理图,实现对PCB元器件的快速定位检测,从而避免了已有的基于机器学习的方法计算量极大、对训练数据要求较高的缺点;
(2)在点云数据和PCB原理图配准过程中,本发明提出了通过选取局部区域以及计算各区域高度差的方法进行点云配准,相对于已有的滑窗扫描,本发明不需要依赖各元器件的样本点云数据,且匹配速度更快,对器件摆放位置和高度的鲁棒性更好;
(3)本发明采用双向点云补偿,相对于已有的近邻扫描方法,在补偿效果相近的前提下,极大地提升了补偿速度;本发明解决了已有的点云补偿穷举法计算量极大、速度太慢的问题,点云补偿速度得到了极大的提升;
(4)本发明采用非机器学习范式的PCB点云配准算法,结合PCB原理图和3D点云数据处理,对PCB板元器件对应的点云位置进行快速计算,提取各元器件、引脚、焊锡等对应的点云数据。本发明采用元器件的相对高度差作为配准参考量,不需要计算PCB板摆放的高度,也不需要预先给定摆放高度的先验值。本发明根据部分元器件的中心位置和高度进行点云配准,不需要依赖对各元器件、引脚、焊锡等的3D点云先验建模,而且提升了配准的速度,具有较好的实用性。
附图说明
图1为点云补偿前PCB板的点云图;
图2为点云补偿后PCB板的点云图;
图3为本发明的流程图。
具体实施方式
实施例1:
一种PCB板的点云快速配准方法,包括以下步骤:
步骤S100:采用工业3D数字相机,扫描拍摄PCB板的3D点云数据;
步骤S200:对点云数据进行补偿,得到无缺失的完整点云数据,使点云配准更准确有效;
步骤S300:基于PCB原理图,提取元器件的中心位置和高度,选取一部分元器件的中心位置和高度作为配准参考值;
步骤S400:计算每一对中心位置和高度对应的高度差,根据高度差采用滑动窗口法进行点云配准;
步骤S500:根据配准结果,以及PCB原理图计算得到各元器件、焊锡、引脚等对应的点云真实位置及点云数据。
本发明通过点云数据补偿,避免因点云缺失造成的点云配准错误及点云识别错误。本发明通过计算各区域高度差进行点云配准,不需要依赖各元器件的样本点云数据,且匹配速度更快,对器件摆放位置和高度的鲁棒性更好。
实施例2:
一种PCB板的点云快速配准方法,包括以下步骤:
步骤S100:采用工业3D数字相机,扫描拍摄PCB板得到3D点云数据(xi,yi,zi),i=1,2,3...N;
步骤S200:对点云数据进行补偿,得到无缺失的完整点云数据,以进行点云配准;
步骤S300:提取PCB板上K个分散的元器件的中心坐标(xi,yi)和高度hi并作为配准参考值,其中K>5;
步骤S400:首先计算每两个元器件之间的高度差H:
H={hi-hj}i≠j (11)
对每个偏置量(Δx,Δy),计算对应元器件的高度h′:
h′=z(Δx+x,Δy+y) (12)
计算该偏置量对应的元器件之间的高度差H′:
H′={h′i-h′j}i≠j (14)
计算H与H′的差值δ:
δ=||H-H′||2 (15)
计算最小的差值δ对应的偏置量即为配准坐标(Δx*,Δy*),进而实现点云配准。
本发明首先实现对PCB板点云数据的补偿,避免点云缺失造成的点云配准错误及点云识别错误;然后基于补偿后的点云和PCB原理图,实现对PCB元器件的快速定位检测,从而避免了已有的基于机器学习的方法计算量极大、对训练数据要求较高的缺点。本发明提出了通过选取局部区域以及计算各区域高度差的方法进行点云配准,相对于已有的滑窗扫描,本发明不需要依赖各元器件的样本点云数据,且匹配速度更快,对器件摆放位置和高度的鲁棒性更好。
实施例3:
一种PCB板的点云快速配准方法,包括以下步骤:
Step1:从PCB原理图中提取K个元器件的中心坐标(x,y)和高度h,其中,K为对应参数,本发明提出的方法在K>5时都有比较好的效果;
优选地,选取K个元器件的方法为:设定K为两个整数的乘积,即K=P×Q,其中,P、Q的值尽可能接近,若K为12,则P、Q为3和4,将PCB区域划分为3×4个子区域,然后每个子区域随机选择一个元器件,若某个子区域没有元器件,则在被选择次数最少的子区域中随机选择一个元器件进行补充。
采用上述策略选择元器件的中心坐标和高度,可以保证选中的元器件在PCB板上有均匀分散的分布,使得匹配过程更加稳定准确。若元器件中心坐标和高度选择过于密集集中,则会造成因为没有包括其他PCB区域的信息,配准出现错误。
Step2:计算每两个元器件之间的高度差H:
H={hi-hj}i≠j (11)
Step3:对每一个可能的偏置量(Δx,Δy),计算对应的元器件的高度h’:
h′=z(Δx+x,Δy+y) (12)
其中,若3D点云数据的x轴范围和y轴范围分别为[x3D,0]和[0,y3D],选择的所有中心点云的x轴的范围为[xmin,xmax],y轴的范围为[ymin,ymax],则偏置量的范围为:
以x轴为例,Δx从-xmin开始取值,以步长2递增,最大取值不大于x3D-xmax;
Step4:计算该偏置量对应的元器件之间的高度差H’:
H′={h′i-h′j}i≠j (14)
Step5:计算H和H’的差值:
δ=||H-H′||2 (15)
每一组偏置量(Δx,Δy)根据Step3到Step5,可以计算得到对应的差值δ。差值δ最小对应的偏移量即为配准坐标,即点云数据上对应于PCB原理图原点的坐标(Δx*,Δy*)。根据配准坐标和PCB原理图解析出来的中心坐标即可计算各元器件在3D点云上对应的实际位置。假设某元器件在PCB原理图上解析出来的中心坐标为(x’,y’),则这个元器件在点云上的实际位置为:
(x′+Δx*,y′+Δy*) (16)
已有的点云配准方法需要对目标(元器件、焊锡、引脚等)进行3D点云建模,然后采用3D机器学习的方法计算目标的位置和对应点云。现有的这些方法性能取决于3D模型的建模性能、模型数量以及3D深度学习网络的参数量及训练时长,建模时间长且需要建模的模型较多,3D深度学习网络的训练时间较大。本发明提出的点云配准方法仅需要K个元器件的中心坐标和高度,不需要对目标进行点云建模,也不需要时间极长的网络训练,计算速度较大,需要的硬件成本较低。
实施例4:
本实施例是在实施例1-实施例3的基础上进行优化,在点云配准之前首先对点云数据进行补偿,包括以下步骤:
步骤1:将原始的点云数据(xi,yi,zi)先按照xi的大小进行升序排序,然后按照yi的大小进行升序排序,根据点云高度是否产生突变进行判断点云是否缺失,若点云高度发生突变,则判定点云缺失,若点云缺失,则采用线性插值法进行点云补偿,插值的高度补偿为λ;
步骤2:将原始的点云数据(xi,yi,zi)先按照yi的大小进行升序排序,然后按照xi的大小进行升序排序,根据点云高度是否产生突变进行判断点云是否缺失,若点云高度发生突变,则判定点云缺失,若点云缺失,则采用线性插值法进行点云补偿,插值的高度补偿为λ;
步骤3:将步骤1和步骤2中补偿的点云数据与原始的点云数据合并,得到完整的点云数据。
本发明采用双向点云补偿,相对于已有的近邻扫描方法,在补偿效果相近的前提下,极大地提升了补偿速度;本发明解决了已有的点云补偿穷举法计算量极大、速度太慢的问题,点云补偿速度得到了极大的提升。
本实施例的其他部分与实施例1-实施例3相同,故不再赘述。
实施例5:
本实施例是在实施例1-实施例3的基础上进行优化,在点云配准之前首先对点云数据进行补偿,设PCB点云数据的维度为:
(xi,yi,zi)i=1,2,...,N (1)
其中N为点云数据的数量,一般为105-106。x,y,z为一个数据点对应的x轴坐标、y轴坐标以及z轴坐标(即高度对应信息)。
具体包括以下步骤:
步骤S1:采用工业3D相机扫描拍摄PCB板,获得点云数据(xi,yi,zi)i=1,2,...,N;
步骤S2:将步骤S1中的点云数据(xi,yi,zi)i=1,2,...,N先按照xi的大小进行升序排序,按照xi的大小进行排序后,满足以下条件:
然后按照yi的大小进行升序排序,按照yi的大小进行排序后,满足以下条件:
根据点云高度是否产生突变进行判断点云是否缺失,若点云高度发生突变,则判定点云缺失,若点云缺失,则采用线性插值法进行点云补偿,插值的高度补偿为λ;
步骤S3:将步骤S1中的点云数据(xi,yi,zi)i=1,2,...,N先按照yi的大小进行升序排序,然后按照xi的大小进行升序排序,根据点云高度是否产生突变进行判断点云是否缺失,若点云高度发生突变,则判定点云缺失,若点云缺失,则采用线性插值法进行点云补偿,插值的高度补偿为λ;
步骤S4:将步骤S2和步骤S3中补偿的点云数据与步骤S1中的点云数据合并,得到完整的点云数据。
进一步地,判断点云是否缺失的计算公式如下:
若flag_lack为1,表示出现点云缺失;若flag_lack为0,表示点云完整;
缺失点云的两个相邻点云之间补偿的点云数量为:
则补偿后的点云数据为:
已有的补偿方法采用简单的穷举法(近邻法)进行补偿判断,则其判断次数M为:
M=N*(N-1) (2)
排序计算量P为:
P=N*logN (8)
然后对数据按x和y两个方向分别进行基于高度差的补偿,判断次数Q为:
即本发明提出的补偿计算量R为:
其中,函数ceil()表示向上取整函数。典型的点云数据量N为16x104,已有的近邻法的计算量是本发明提出的补偿方法的计算量的大约16000倍左右。因此,本发明提出的双向快速点云补偿方法极大地提升了点云补偿的速度。
如图1所示,在补偿之前,由于相机角度和光源角度的原因,出现了大量的点云缺失(黑色部门)。如图2所示,经过补偿后,可以看到,本发明提出的方法能够在保留各元器件高度信息的条件下,补偿因为遮挡出现的点云缺失。元器件因为遮挡以及桌面因为大角度出现的点云缺失都能够得到补偿,补偿以后的点云更加连续。其次,在图1中的点云上进行配准,配准误差为36.4pixel(像素点),在图2中的点云上进行配准,配准误差为2.7pixel,可以看到,经过补偿后的点云,配准精度显著提高。
本实施例的其他部分与上述实施例实施例1-实施例3相同,故不再赘述。
实施例6:
一种PCB板的点云快速配准方法,采用带有主动光源和镜头配套的工业3D数字相机作为拍摄PCB板3D点云数据的设备。软件系统的开发平台如下:操作系统为微软公司研发的Windows11家庭中文版。点云数据处理开发软件为JetBrains研发的PyCharm Community集成开发环境(Python IDE),以及Mathworks公司研发的Matlab软件。PCB原理图解析软件为Altium公司研发的Altium Designer软件。系统采用的处理器为Intel I7,计算平台为英伟达公司生产制造的Getforce RTX3050独立显卡。如图3所示,包括以下步骤:(1)PCB板3D点云数据采集
采用工业3D数字相机,对PCB板在适当的距离、视角和高度拍摄、扫描3D点云数据。PCB板摆放的距离应该满足3D相机硬件用户手册中的“参考距离”项要求,拍摄的间隔应该满足3D相机硬件用户手册中的“扫描速度”项要求。
(2)点云补偿
先对数据按x,y的顺序进行排序,完成数据重整。数据重整的具体方法为:
Step1:对所有点云数据(xi,yi,zi)i=1,2,...,N,先按照xi的大小进行升序排序,即xi较小的点云排在前面,xi较大的点云排在后面,排序完成后,满足以下条件:
Step2:对Step1中排序完成的点云数据,对x相同的点云,按照y的大小进行升序排序,即yi较小的点云排在前面,yi较大的点云排在后面。排序完成后,满足以下条件:
经过排序后的点云为(xi,yi,zi)i=1,2,...,N。采用下式判断点云是否缺失:
其中,flag_lack为是否出现点云缺失的标志。若flag_lack为1,表示出现点云缺失,采用线性差值的方法进行点云补偿,差值的高度补偿设为λ。若flag_lack为0,表示点云完整,不进行任何操作。优选的,θ为0.4,高度补偿λ为0.03。
补偿的点云为:
Step3:对原始点云数据(xi,yi,zi)i=1,2,...,N用按照上述过程同样的方法沿Y方向进行数据重整和补偿,即排序时先按照y值大小进行排序,再按照x值大小进行排序。
Step4:将两次补偿的点云数据与原始点云数据合并,即可得到双向补偿以后的完整点云数据。
(3)中心位置和高度提取
采用Altium Designer软件,提取PCB原理图中的元器件中心位置和高度。选取K=6个位置和高度,选择的标准是,6个元器件在PCB上的位置分布尽可能分散。实验证明,只要不是选取的6个点非常接近,分布范围非常窄,在一般情况下本发明提出的方法效果差别较小,具有较好的鲁棒性。
(4)点云配准
采用滑动窗口的方法对所有可能的位置偏置量(Δx,Δy),计算对应的δ。实际应用中,发现采用2-3的滑动步长,配准效果仍然较好,且计算量减少。因此,滑动步长设定为3。首先计算每两个元器件之间的高度差H:
H={hi-hj}i≠j (11)
对每个偏置量(Δx,Δy),计算对应元器件的高度h′:
h′=z(Δx+x,Δy+y) (12)
计算该偏置量对应的元器件之间的高度差H′:
H′={h′i-h′j}i≠j (14)
计算H与H′的差值δ:
δ=||H-H′||2 (15)
计算最小的差值δ对应的偏置量即为配准坐标(Δx*,Δy*)。
(5)计算元器件坐标位置和点云数据
假设元器件的中心坐标为(x′,y′),则配准后,元器件在点云上的实际位置为(x′+Δx*,y′+Δy*)。根据配准坐标(Δx*,Δy*),结合提取得到的元器件中心位置,以及预先知道的点云数据对应的距离步长,计算元器件在点云中对应的真实位置,根据真实中心位置和覆盖范围,提取各元器件、焊锡、引脚等对应的点云数据。
如图1所示,在补偿之前,由于相机角度和光源角度的原因,出现了大量的点云缺失(黑色部门)。如图2所示,经过补偿后,可以看到,本发明提出的方法能够在保留各元器件高度信息的条件下,补偿因为遮挡出现的点云缺失。元器件因为遮挡以及桌面因为大角度出现的点云缺失都能够得到补偿,补偿以后的点云更加连续。其次,在图1中的点云上进行配准,配准误差为36.4pixel(像素点),在图2中的点云上进行配准,配准误差为2.7pixel,可以看到,经过补偿后的点云,配准精度显著提高。
本发明首先实现对PCB板点云数据的补偿,避免点云缺失造成的点云配准错误及点云识别错误;然后基于补偿后的点云和PCB原理图,实现对PCB元器件的快速定位检测,从而避免了已有的基于机器学习的方法计算量极大、对训练数据要求较高的缺点。本发明通过选取局部区域以及计算各区域高度差的方法进行点云配准,本发明不需要依赖各元器件的样本点云数据,且匹配速度更快,对器件摆放位置和高度的鲁棒性更好。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (7)
1.一种PCB板的点云快速配准方法,其特征在于,包括以下步骤:
步骤S100:采用工业3D数字相机,扫描拍摄PCB板得到3D点云数据(xi,yi,zi),i=1,2,3…N;
步骤S200:对点云数据进行补偿,得到无缺失的完整点云数据,以进行点云配准;
步骤S300:提取PCB板上K个分散的元器件的中心坐标(xi,yi)和高度hi并作为配准参考值,其中K>5;
步骤S400:首先计算每两个元器件之间的高度差H:
H={hi-hj}i≠j (11)
对每个偏置量(Δx,Δy),计算对应元器件的高度h':
h′=z(Δx+x,Δy+y) (12)
计算该偏置量对应的元器件之间的高度差H':
H′={h′i-h′j}i≠j (14)
计算H与H'的差值δ:
δ=||H-H′||2 (15)
计算最小的差值δ对应的偏置量即为配准坐标(Δx*,Δy*),进而实现点云配准。
2.根据权利要求1所述的一种PCB板的点云快速配准方法,其特征在于,所述步骤S300中包括以下步骤:
步骤S301:设定K为两个整数的乘积,即K=P×Q,其中,P、Q的值尽可能接近;
步骤S302:将PCB板上的区域划分为P×Q个子区域,然后每个子区域随机选择一个元器件。
3.根据权利要求2中所述的一种PCB板的点云快速配准方法,其特征在于,所述步骤S302中,若任一子区域没有元器件,则在被选择次数最少的子区域中随机选择一个元器件进行补充。
5.根据权利要求1所述的一种PCB板的点云快速配准方法,其特征在于,所述步骤S400中,假设元器件的中心坐标为(x',y'),则配准后,元器件在点云上的实际位置为(x'+Δx*,y'+Δy*)。
6.根据权利要求1-5任一项所述的一种PCB板的点云快速配准方法,其特征在于,所述步骤S200包括以下步骤:
步骤S201:将步骤S100中的点云数据(xi,yi,zi)先按照xi的大小进行升序排序,然后按照yi的大小进行升序排序,根据点云高度是否产生突变进行判断点云是否缺失,若点云高度发生突变,则判定点云缺失,若点云缺失,则采用线性插值法进行点云补偿,插值的高度补偿为λ;
步骤S202:将步骤S100中的点云数据(xi,yi,zi)先按照yi的大小进行升序排序,然后按照xi的大小进行升序排序,根据点云高度是否产生突变进行判断点云是否缺失,若点云高度发生突变,则判定点云缺失,若点云缺失,则采用线性插值法进行点云补偿,插值的高度补偿为λ;
步骤S203:将步骤S201和步骤S202中补偿的点云数据与步骤S100中的点云数据合并,得到完整的点云数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211210812.XA CN115471532A (zh) | 2022-09-30 | 2022-09-30 | 一种pcb板的点云快速配准方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211210812.XA CN115471532A (zh) | 2022-09-30 | 2022-09-30 | 一种pcb板的点云快速配准方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115471532A true CN115471532A (zh) | 2022-12-13 |
Family
ID=84335351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211210812.XA Pending CN115471532A (zh) | 2022-09-30 | 2022-09-30 | 一种pcb板的点云快速配准方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115471532A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117723563A (zh) * | 2023-11-02 | 2024-03-19 | 四川大学 | 一种基于点云配准的芯片引脚缺陷检测方法 |
-
2022
- 2022-09-30 CN CN202211210812.XA patent/CN115471532A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117723563A (zh) * | 2023-11-02 | 2024-03-19 | 四川大学 | 一种基于点云配准的芯片引脚缺陷检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5699788B2 (ja) | スクリーン領域検知方法及びシステム | |
JP7004826B2 (ja) | 寸法計測装置、寸法計測方法及び半導体製造システム | |
CN111899241B (zh) | 一种定量化的炉前pcb贴片缺陷在线检测方法及系统 | |
WO2013136591A1 (ja) | 画像検査方法および検査領域設定方法 | |
CN111833303A (zh) | 产品的检测方法、装置、电子设备及存储介质 | |
Zheng et al. | A novel projective-consistent plane based image stitching method | |
WO2015022999A1 (en) | Image processing apparatus, image processing system, image processing method, and computer program | |
CN109583365A (zh) | 基于成像模型约束非均匀b样条曲线拟合车道线检测方法 | |
CN103902953B (zh) | 一种屏幕检测系统及方法 | |
CN115471532A (zh) | 一种pcb板的点云快速配准方法 | |
Jin et al. | Reference-free path-walking method for ball grid array inspection in surface mounting machines | |
CN115439840A (zh) | 一种航空件槽区识别方法、装置、设备及介质 | |
CN105354816B (zh) | 一种电子元件定位方法及装置 | |
CN114359322A (zh) | 图像校正、拼接方法及相关装置、设备、系统和存储介质 | |
Breier et al. | Accurate laser triangulation using a perpendicular camera setup to assess the height profile of PCBs | |
JP2020071566A (ja) | 画像処理装置及び画像処理方法 | |
Barber et al. | Camera tracking in visual effects an industry perspective of structure from motion | |
CN117444450A (zh) | 一种焊缝焊接方法、电子设备和存储介质 | |
Sottile et al. | Mutual Correspondences: An Hybrid Method for Image-to-geometry Registration. | |
CN112462948B (zh) | 一种基于深度相机偏离用户手势控制的标定方法和装置 | |
CN112365600B (zh) | 一种三维物体检测方法 | |
CN115471490A (zh) | 一种pcb板的点云双向快速补偿方法 | |
CN113327232B (zh) | 继电器触点组接触面对准方法、设备和计算机存储介质 | |
CN115330761B (zh) | 一种用于电子产品的表面印刷移位缺陷识别方法 | |
CN114092890B (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 |