[go: up one dir, main page]

CN115546016B - Pcb的2d和3d图像的采集和处理方法及相关装置 - Google Patents

Pcb的2d和3d图像的采集和处理方法及相关装置 Download PDF

Info

Publication number
CN115546016B
CN115546016B CN202211494737.4A CN202211494737A CN115546016B CN 115546016 B CN115546016 B CN 115546016B CN 202211494737 A CN202211494737 A CN 202211494737A CN 115546016 B CN115546016 B CN 115546016B
Authority
CN
China
Prior art keywords
image
line laser
height
scanning
images
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
Application number
CN202211494737.4A
Other languages
English (en)
Other versions
CN115546016A (zh
Inventor
雷志辉
周翔
陈状
熊祥祥
张弛
周宇轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Eagle Eye Online Electronics Technology Co ltd
Original Assignee
Shenzhen Eagle Eye Online Electronics Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Eagle Eye Online Electronics Technology Co ltd filed Critical Shenzhen Eagle Eye Online Electronics Technology Co ltd
Priority to CN202211494737.4A priority Critical patent/CN115546016B/zh
Publication of CN115546016A publication Critical patent/CN115546016A/zh
Application granted granted Critical
Publication of CN115546016B publication Critical patent/CN115546016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30141Printed circuit board [PCB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Geometry (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本发明公开了一种PCB的2D和3D图像的采集和处理方法及相关装置应用于PCB光学检测系统的图像处理器GPU包括:获取多个扫描相机采集的多个线激光图像,对多个线激光图像进行亚像素线激光中心特征提取,分别得到每个线激光图像的线激光中心像素坐标;根据线激光中心像素坐标得到多个相机位置姿态参数,将多个扫描相机统一到机台坐标系下;获取多个扫描相机拍摄得到的多个原始2D灰度图和多个原始3D高度图;根据数据融合得到2D灰度图和3D高度图;对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵。有效地解决了单相机高精度测量时,视场范围小的问题,提高了PCB图像视场成像的成像效果。

Description

PCB的2D和3D图像的采集和处理方法及相关装置
技术领域
本发明涉及光学测量中的一般图像数据处理领域,尤其涉及一种PCB的2D和3D图像的采集和处理方法及相关装置。
背景技术
在自动光学检测(Automated Optical Inspection,AOI)行业中,“工业4.0”的提出将进一步推动AOI行业从效率、节能、信息化、安全化等各方面进行综合性的产业升级。在互联网时代的大背景下,5G信息技术的应用将使得企业的生产模式、制造流程,乃至供应链管理都发生大的变革,整个AOI工业将更趋2D+3D智能化测量。如何全自动、微米精度、高速度、大覆盖率的前提下,在自动光学检测系统下实现PCB测量板量测功能和缺陷检测功能的集合,是本领域亟待解决的重要问题之一。
发明内容
针对上述问题,本申请实例提供了一种PCB的2D和3D图像的采集和处理方法及相关装置,有效地解决了单相机高精度测量时,视场范围小的问题,能够达到高精度测量大幅面视场成像效果。能准确实现2D与3D的位置信息一一对应,提高了PCB图像的检测效率和精准度。
为实现上述目的,第一方面,本申请实施例提供了PCB的2D和3D图像的采集和处理方法,应用于PCB光学检测系统的图像处理器GPU,PCB光学检测系统还包括多个扫描相机,包括以下步骤:
获取多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到每个线激光图像的线激光中心像素坐标;根据线激光中心像素坐标分别得到多个相机位置姿态参数,并通过位置姿态参数将多个扫描相机统一到机台坐标系下;获取多个扫描相机扫描自然光照射的目标PCB板得到的多个原始2D灰度图,获取多个扫描相机扫描线激光照射的目标PCB板得到的多个原始3D高度图,根据原始图像的线激光条纹得到多个原始3D高度图;对多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图;对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵。
可以看出在本申请实施例中,通过多个扫描相机对目标PCB板进行拍摄,分别多个扫描相机的原始图像进行调整,以是多个扫描相机的原始图像处于同一水平面上,以合成得到完整的2D灰度图和3D高度图。有效地解决了单相机高精度测量时,视场范围小的问题,提高了高精度测量大幅面视场成像效果。
结合第一方面,在一种可能的实施例中,获取多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到每个线激光图像的线激光中心像素坐标,包括:对每个线激光图像进行均值滤波处理,得到均值滤波处理后的图像;获取均值滤波处理后的图像在图像列方向灰度值最大值所在的位置,将灰度值最大值所在的位置确定为线激光图像的整像素中心;沿线激光的整像素中心处的线条法线方向做泰勒展开,计算得到线激光中心像素坐标,线激光中心像素坐标代表对应的扫描相机在机台坐标系的高度。
可以看出,在本申请实施例中,用线激光作为光源,线激光投射至物体表面,根据线激光的光强大致为高斯分布的特性,通过高斯分布模型可以提取到亚像素精度的线激光中心,提高了检测系统的测量精度。增加了在对PCB板的图像进行检测时展示的信息量,进而增加了PCB板图像的检测的效率的精准度。
结合第一方面,在一种可能的实施例中,姿态参数包括绕X轴旋转俯仰角,Y轴旋转滚转角,绕Z轴旋转偏航角,X轴偏移量,Y轴偏移量和Z轴偏移量;根据线激光中心像素坐标分别得到多个相机位置姿态参数,并通过位置姿态参数将多个扫描相机统一到机台坐标系下,包括:根据多个扫描相机的线激光中心像素坐标和多个扫描相机扫描标定板得到多个原始高度图像,将多个原始高度图像进行同一参考平面的组合,获得第一高度图像;求解每个原始灰度图像在第一高度图像中的高度平面系数,以及每个原始灰度图像对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角;根据多个扫描相机分别对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角对第一高度图像进行修正,得到第二高度图像;根据第二高度图像确定每个扫描相机的Z轴偏移量,Z轴偏移量为每个扫描相机的高度相对于多个扫描相机高度均值的偏移量;获取多个原始灰度图像的圆心图案,并根据多个原始灰度图像的圆心图案确定多个扫描相机对应多个预测标定板圆心坐标;获取多个实际标定板圆心坐标,根据多个预测标定板圆心坐标和多个实际标定板圆心坐标,确定多个扫描相机中每个扫描相机的平面偏移量,平面偏移量包括X轴偏移量和Y轴偏移量;根据每个扫描相机的Z轴偏移量、平面偏移量、绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角将多个扫描相机统一到机台坐标系下。
可以看出在本申请实施例中,在同一机台坐标中,同时标定多个相机位置姿态参数,并将多个相机获取的高度数据统一到机台坐标系中;有效地解决了单相机高精度测量时,视场范围小的问题,提高了高精度测量大幅面视场成像效果。
结合第一方面,在一种可能的实施例中,多个扫描相机中的每个扫描相机包括光源组件和相机组件,光源组件包括线激光光源和自然光光源;线激光光源和自然光光源的照射区域之间的距离大于第一预设阈值,获取多个扫描相机扫描自然光照射的目标PCB板得到的多个原始2D灰度图,获取多个扫描相机扫描线激光照射的目标PCB板得到的多个原始3D高度图,包括:多个扫描相机沿Y轴方向移动扫描,使线激光光源和自然光光源均遍历目标PCB板;根据激光照射的目标PCB板的原始图像中的自然光照射区域,得到目标PCB板的2D灰度图;根据激光照射的目标PCB板的图像中线激光条纹,得到目标PCB板的多个原始3D高度图。
结合第一方面,在一种可能的实施例中,获取多个扫描相机扫描线激光照射的目标PCB板原始图像,根据原始图像的自然光照射区域得到的多个原始2D灰度图,根据原始图像的线激光条纹得到多个原始3D高度图,包括:根据多个扫描相机对应的姿态参数得到多个扫描相机的转换公式;获取相邻的扫描相机对应的两个原始灰度图之间的重合区域数据;根据转换公式得到两个相邻的扫描相机的原始2D灰度图和和原始3D高度图重合区域数据的两个结果;对重合区域的两个结果进行加权数据融合,得到重合区域数据的融合值;根据重合区域数据的融合值生成对应的完整的2D灰度图和完整的3D高度图。
可以看出在本申请实施例中,根据多个扫描相机对应的姿态参数将多个原始2D灰度图和3D高度图校准融合为完整的2D灰度图和3D高度图,进而解决了单相机高精度测量时,视场范围小的问题,得到高精度的大幅面2D灰度图和3D高度图。
结合第一方面,在一种可能的实施例中,对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵,包括:根据相机位置姿态参数,获取2D实际圆心坐标与3D实际圆心坐标;计算2D实际圆心坐标与3D实际圆心坐标的仿射变换矩阵,得到2D/3D位置转换模型参数初值;对2D/3D位置转换模型参数初值剔除随机误差后,得到2D/3D位置转换模型参数仿射;计算得到所有实际圆心坐标的2D/3D位置转换模型参数仿射集合后,集合数据回归分析,得到2D灰度图和3D高度图的仿射矩阵。
可以看出在本申请实施例中,根据2D实际圆心坐标与3D实际圆心坐标计算得到2D灰度图和3D高度图的仿射矩阵,进而将2D灰度图和3D高度图的位置信息一一对应,得到联合标定的2D灰度图和3D高度图,进而提高了高精度测量大幅面视场成像效果。
结合第一方面,在一种可能的实施例中,若GPU为多个GPU,多个扫描相机与多个GPU通过PCIE总线连接和进行信息交互,并根据异步分配法为GPU的众核逻辑计算单元ALU分配计算任务。
可以看出在本申请实施例中,通过PCIE总线连接多个GPU和多个扫描相机,避免了传统相机采集处理系统中,相机采集到数据在显卡中做GPU并行处理,需要经过CPU系统的调度与分配。把的指令流并行发送到众核上,采用不同的输入数据执行,从而完成图形处理中的海量操作;相比于单一显卡能够按倍数提高并行计算能力。
第二方面,本申请实施例提供了一种PCB的2D和3D图像的采集和处理装置,应用于PCB光学检测系统的图像处理器GPU,PCB光学检测系统还包括多个扫描相机,该装置包括:
获取单元:用于获取多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到每个线激光图像的线激光中心像素坐标;
计算单元:用于根据线激光中心像素坐标分别得到多个相机位置姿态参数,并通过位置姿态参数将多个扫描相机统一到机台坐标系下;
获取单元还用于:获取多个扫描相机扫描自然光照射的目标PCB板得到的多个原始2D灰度图,获取多个扫描相机扫描线激光照射的目标PCB板得到的多个原始3D高度图;
计算单元还用于:对多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图;
标定单元:用于对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵。
第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,一个或多个程序被存储在存储器中,并且被配置由处理器执行,一条或多条指令适于由处理器加载并执行如第一方面的方法的部分或者全部。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,计算机程序使得计算机执行如第一方面的方法的部分或者全部。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种PCB的2D和3D图像的采集和处理系统的结构示意图;
图2为本申请实施例提供的一种PCB的2D和3D图像的采集和处理方法的流程示意图;
图3为本申请实施例提供的一种扫描相机组的结构示意图;
图4为本申请实施例提供的一种扫描相机的统一过程示意图;
图5A为本申请实施例提供的一种单个扫描相机的结构示意图;
图5B为本申请实施例提供的一种扫描相机的光源示意图;
图6A为本申请实施例提供的一种图像融合前的示意图;
图6B为本申请实施例提供的一种图像融合后的示意图;
图7为本申请实施例提供的一种PCB的2D和3D图像的采集和处理装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面结合附图对本申请的实施例进行描述。
如何全自动、微米精度、高速度、大覆盖率的前提下,实现PCB测量板量测功能和缺陷检测功能的集合,是本领域亟待解决的重要问题之一。
针对上述问题,本申请提出PCB的2D和3D图像的采集和处理方法及装置,有效地解决了单相机高精度测量时,视场范围小的问题,提高了高精度测量大幅面视场成像效果。下面结合附图进行说明。
请参见图1,图1为本申请实施例提供的一种PCB的2D和3D图像的采集和处理系统的结构示意图,如图1所示该系统100包括扫描相机101,其中扫描相机101还包括光源组件1011和相机组件1012,光源组件1011用于产生自然光条纹和线激光条纹照射被检测的PCB板;相机组件用于扫描拍摄被检测的目标PCB板;图形处理器102用于获取扫描相机拍摄得到的原始灰度图和原始高度图等图像,计算扫描相机的姿态参数,合成PCB板的2D灰度图,3D高度图,计算得到2D灰度图与3D高度图的仿射矩阵等。扫描相机101和图形处理器102都直接连接在PCIE总线上,可以直接进行数据传输和交互。
请参见图2,图2为本申请实施例提供的一种PCB的2D和3D图像的采集和处理方法的流程示意图,如图2所示,包括步骤S201-S205。
S201:获取多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到每个线激光图像的线激光中心像素坐标。
具体地,根据结构光三角法原理,将线激光作为光源,线激光投射至物体表面,其光强大致符合高斯分布的特征,因此本申请实施例通过高斯分布模型可以提取到多个线激光图像亚像素精度的线激光中心,根据该线激光中心像素坐标可以将对应的扫描相机标定到本PCB图像的采集和处理系统的机台坐标系下,进而得到处于同一高度角度下的扫描相机拍摄得到的图像。
在一种可能的实施例中,获取多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到每个线激光图像的线激光中心像素坐标,包括:对每个线激光图像进行均值滤波处理,得到均值滤波处理后的图像;获取均值滤波处理后的图像在图像列方向灰度值最大值所在的位置,将灰度值最大值所在的位置确定为线激光图像的整像素中心;沿线激光的整像素中心处的线条法线方向做泰勒展开,计算得到线激光中心像素坐标,线激光中心像素坐标代表对应的扫描相机在机台坐标系的高度。
具体地,请参见图3,图3为本申请实施例提供的一种扫描相机的结构示意图,由图可知,在具体的扫描系统中需要多个扫描相机联合扫描一块PCB板,在实际的扫描测量过程中虽然每个独立的扫描相机可以通过固定架调整具体的高度角度,多个扫描相机在X轴方向依次安装,并随着光源在Y轴上平移进行拍摄,每移动预设距离后进行一次拍摄。因此多个扫描相机可能会因为在平移过程中出现抖动、偏移等状况,进而导致拍摄时出现细微的高度、距离、镜头角度等偏移,在经过合成放大等处理后,误差被放大进而影响最终的成像效果。因此在将多个扫描相机拍摄的原始图像进行融合前,需要得到每个扫描相机的线激光中心像素坐标,得到各个扫描相机相对机台坐标系的位置,将多个扫描相机统一到机台坐标系下以尽可能消除误差带来的影响。
示例性地,可以根据亚像素线激光中心特征提取得到所述线激光图像的线激光中心像素坐标。获取任意一个扫描相机的线激光图像进行均值滤波处理,均值滤波模板可以为7*5模板,该图像像素坐标系X轴为图像列方向,图像像素坐标系Y轴为图像行方向。将该线激光图像均值滤波处理后的图像进行线激光整像素提取,将图像做转置处理,采用行指针的方法提取列图像灰度值最大值所在的位置,即可得到线激光的整像素中心。由于线激光的光强分布为类高斯函数分布,因此只需在线激光的整像素中心处,做沿着线条法线方向做泰勒展开,本申请实施例中以二阶泰勒展开式做说明:首先确定线激光的整像素中心,整像素中心即为列方向上灰度最大值所在的位置,记为(x0,y0);以该位置沿法线方向做二阶泰勒展开有:
Figure 800927DEST_PATH_IMAGE001
其中gx、gy、gxx、gyy、gxy分别是一阶x偏导、一阶y偏导、二阶x偏导等高斯核和图像卷积的结果。各阶高斯核如下:
Figure 51911DEST_PATH_IMAGE002
对于二维图像,线条边缘中心点处的一阶导数为0,且二阶方向导数取极小值的点就是线条中心点。
Figure 282648DEST_PATH_IMAGE003
可得:
Figure 692901DEST_PATH_IMAGE004
最后通过Hessian(黑塞矩阵)矩阵法可以求得边缘法线方向(nx,ny)和在该方向的二阶导数。Hessian矩阵是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。
通过判别准则可以提取中心点。若
Figure 681716DEST_PATH_IMAGE005
,则说明一阶导数为 零的点位于当前像素内,再加上该方向上二阶导数的极小值小于一定阈值,则通过两层判 断,最终得到满足光强中心特性亚像素中心像素坐标。
可以看出,在本申请实施例中,用线激光作为光源,线激光投射至物体表面,根据线激光的光强大致为高斯分布的特性,通过高斯分布模型可以提取到亚像素精度的线激光中心,提高了检测系统的测量精度。
S202:根据线激光中心像素坐标分别得到多个扫描相机位置姿态参数,并通过位置姿态参数将多个扫描相机统一到机台坐标系下。
具体地,根据激光中心像素坐标,扫描用于校准扫描相机的标定板可以分别得到对应的扫描相机的位置姿态参数,根据扫描相机的位置姿态参数得到多台相机相对于机台坐标系的偏移程度,根据每个扫描相机的偏移程度对该扫描相机拍摄得到的初始图像进行调整。
在一种可能的实施例中,姿态参数包括绕X轴旋转俯仰角,Y轴旋转滚转角,绕Z轴旋转偏航角,X轴偏移量,Y轴偏移量和Z轴偏移量;根据线激光中心像素坐标分别得到多个相机位置姿态参数,并通过位置姿态参数将多个扫描相机统一到机台坐标系下,包括:根据多个扫描相机的线激光中心像素坐标和多个扫描相机扫描标定板得到多个原始高度图像,将多个原始高度图像进行同一参考平面的组合,获得第一高度图像;求解每个原始灰度图像在第一高度图像中的高度平面系数,以及每个原始灰度图像对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角;根据多个扫描相机分别对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角对第一高度图像进行修正,得到第二高度图像;根据第二高度图像确定每个扫描相机的Z轴偏移量,Z轴偏移量为每个扫描相机的高度相对于多个扫描相机高度均值的偏移量;获取多个原始灰度图像的圆心图案,并根据多个原始灰度图像的圆心图案确定多个扫描相机对应多个预测标定板圆心坐标;获取多个实际标定板圆心坐标,根据多个预测标定板圆心坐标和多个实际标定板圆心坐标,确定多个扫描相机中每个扫描相机的平面偏移量,平面偏移量包括X轴偏移量和Y轴偏移量;根据每个扫描相机的Z轴偏移量、平面偏移量、绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角将多个扫描相机统一到机台坐标系下。
具体地,请参见图4,图4为本申请实施例提供的一种扫描相机的统一过程示意图,如图所示目标相机为多个扫描相机的第一个扫描相机,目标相机需要存在于同一高度同一直线内,但实际的安装过程中相机的实际位置会存在细微的偏差,因此在对该扫描相机拍摄的图片进行处理前,需要根据目标相机的实际位置和在机台坐标系中理论位置的误差对该扫描相机拍摄的图片进行处理。即首先通过该扫描相机的激光中心像素坐标获取姿态参数,如图4所示,图4中标注的是相机的实际位置和该相机应该处于的理论位置,需要根据相机1的实际位置获取该扫描相机相对于理论位置的X轴偏移量,Y轴偏移量和Z轴偏移量,如该扫描相机的拍摄角度还存在倾斜则还需要获取绕X轴旋转俯仰角,Y轴旋转滚转角,绕Z轴旋转偏航角。
将标定板放置在PCB图像采集和处理系统的测量视野内,规定θ是绕X轴旋转俯仰角、γ是绕Y轴旋转滚转角、ψ是绕Z轴旋转偏航角;△X、△Y、△Z依次为XYZ方向的偏移量;使用线激光条纹扫描标定板的一段参考平面区域,得到原始高度图,多个原始高度图像进行同一参考平面的组合,获得第一高度图像。依次求解第一高度图像中每台扫描相机所属分块内的高度平面系数,高度平面系数通过采用最小二乘的平面拟合得到,然后获得每台扫描相机相对机台坐标系的俯仰角θ、滚转角γ和偏航角ψ参数。最小二乘的平面拟合方法如下:空间平面的数学表达式可写成:
Figure 482313DEST_PATH_IMAGE006
,对于一系列的n个点
Figure 581987DEST_PATH_IMAGE007
,只需要使
Figure 515921DEST_PATH_IMAGE008
最小,其中
Figure 298807DEST_PATH_IMAGE009
为系数,求使S最 小时,
Figure 524383DEST_PATH_IMAGE010
系数的值;对S求偏导,即
Figure 490065DEST_PATH_IMAGE011
,最终结果的矩形表达形式 为:
Figure 609331DEST_PATH_IMAGE012
求解上述矩阵方程,即可得到
Figure 671440DEST_PATH_IMAGE013
系数,然后得到对应平面的单位法向量, 单位法向量与轴向量的夹角,即可得到θ、γ、ψ参数。再利用求得的俯仰角θ、滚转角γ和偏 航角ψ参数,对第一高度图像进行修正,得到一幅第二高度图像,修正公式如下:
Figure 508946DEST_PATH_IMAGE014
其中X w1Y w1Z w1是根据该扫描相机的中心像素坐标得到的原始位置坐标,X cY cZ c是根据该扫描相机修正后的坐标根据标定板模型,标定板平整度很高,平面波动很小,利用第二高度图像,可以计算出各个相机的高度均值集合{S1,S2,…Sn},求集合均值Save,即可计算出每台扫描相机相对Save的△Z偏移量。
根据标定板的自然光照射区域可以得到多个扫描相机对应的多个原始灰度图,利 用特征提取算法,提取原始灰度图中每台相机所属分块内的圆心图案进行分割,采集基于 最大方差原理的自适应阈值分割,最大类间方法原理如下:计算灰度级K的累加均值M和图 像全局均值MG:
Figure 950423DEST_PATH_IMAGE015
,其中Pi为当前灰度 级出现的概率值,本实施例最终的类间方差公式为:
Figure 189774DEST_PATH_IMAGE016
,其中公式最 大化的灰度级K就是计算的分割阈值。根据与该分割阈值,将目标孔与背景分割出来,最后 通过灰度重心公式
Figure 425715DEST_PATH_IMAGE017
Figure 685270DEST_PATH_IMAGE018
计算对应孔的中心位置,得 到2D实际圆心坐标与3D实际圆心坐标。利用计算出原始灰度图中每台相机所属分块内的 2D/3D圆心图案坐标,并与标定板上的实际圆心坐标进行对应求解,计算出每台扫描相机相 对机台坐标系的△X、△Y偏移量。
可以看出在本申请实施例中,在同一机台坐标中,同时标定多个相机位置姿态参数,并将多个相机获取的高度数据统一到机台坐标系中;有效地解决了单相机高精度测量时,视场范围小的问题,提高了高精度测量大幅面视场成像效果。
S203:获取多个扫描相机扫描自然光照射的目标PCB板得到的多个原始2D灰度图,获取多个扫描相机扫描线激光照射的目标PCB板得到的多个原始3D高度图。
具体地,线激光照射待检测的目标PCB板后扫描相机对目标PCB板进行扫描拍摄,可以得到包括线激光条纹的目标PCB板的原始图像。根据目标PCB板的原始图像中的自然光照射部分可以得到目标PCB板的原始2D灰度图;根据目标PCB板的原始图像中的线激光条纹可以得到目标PCB板的原始3D高度图。
在一种可能的实施例中,多个扫描相机中的每个扫描相机包括光源组件和相机组件,光源组件包括线激光光源和自然光光源;线激光光源和自然光光源的照射区域之间的距离大于第一预设阈值,获取多个扫描相机扫描自然光照射的目标PCB板得到的多个原始2D灰度图,获取多个扫描相机扫描线激光照射的目标PCB板得到的多个原始3D高度图,包括:多个扫描相机沿Y轴方向移动扫描,使线激光光源和自然光光源均遍历目标PCB板;根据激光照射的目标PCB板的原始图像中的自然光照射区域,得到目标PCB板的2D灰度图;根据激光照射的目标PCB板的图像中线激光条纹,得到目标PCB板的多个原始3D高度图。
具体地,通过扫描拍摄自然光光源和激光光源照射的待检目标PCB板,可以分别得到原始2D灰度图和原始3D高度图,自然光照射区域对应原始2D灰度图,线激光条纹对应原始3D高度图。这里的原始2D灰度图中除了包括横轴坐标信息和纵轴坐标信息外还包括灰度信息,原始3D高度图除了包括横轴坐标信息和纵轴坐标信息外还包括高度信息。请参见图5A,图5A为本申请实施例提供的一种单个扫描相机的结构示意图,如图所示一个扫描相机中的光源组件包括线激光光源和自然光光源,分别产生线激光和自然光照射目标PCB板,线激光光源和自然光光源的发射组件以及相机组件都固定在固定架上,根据实际的需求上述各组件可以分别独立在固定架上改变方向和角度,扫描相机可以在一次扫描中同时根据两种光源得到目标PCB板的原始2D灰度图和原始3D高度图。请参见图5B,图5B为本申请实施例提供的一种扫描相机的光源示意图,扫描相机的光源包括线激光光源和自然光光源,分别照射在PCB板上得到线激光条纹和自然光照射区域,线激光条纹和自然光照射区域之间有一部分区域无光源照射以区分线激光条纹和自然光照射区域。根据图5A的结构,扫描相机的光源在Y轴方向的平移,线激光和自然光就可以历经整个待检测的目标PCB板,同时扫描相机可以拍摄得到目标PCB板的线激光图像和自然光图像,进而得到目标PCB板的原始2D灰度图和3D高度图。
S204:对多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图。
具体地,每张原始2D灰度图和每张原始3D高度图都只包括一张目标PCB板的部分图像,且相邻扫描相机拍摄的原始2D灰度图或原始3D高度图会存在重合区域,将两张相邻扫描相机拍摄的原始2D灰度图或原始3D高度图的重合区域进行数据融合后,即可根据融合后的数据将两张相邻的2D灰度图或原始3D高度图合成为一张2D灰度图或者3D高度图。
示例性地,请参见图6A,图6A为本申请实施例提供的一种图像融合前的示意图;其中包括两个相邻的扫描相机扫描PCB板得到的两幅原始2D灰度图,可以看出相邻的扫描相机扫描对应的两幅原始2D灰度图存在重合区域,既图中虚线区域,可以看到重合区域拍摄的图像是大致一致的,将重合区域融合后可以得到融合后的重合区域,请参见图6B,图6B为本申请实施例提供的一种图像融合后的示意图;融合后的重合区域是两张原始灰度图的重合区域通过计算得到的,根据融合后的重合区域可以将相邻扫描相机扫描PCB板得到的两幅原始2D灰度图融合为一张2D灰度图。
在一种可能的实施例中,根据位置姿态参数对多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图,包括:根据多个扫描相机对应的姿态参数得到多个扫描相机的转换公式;获取相邻的扫描相机对应的两个原始灰度图之间的重合区域数据;根据转换公式得到两个相邻的扫描相机的原始2D灰度图和和原始3D高度图重合区域数据的两个结果;对重合区域的两个结果进行加权数据融合,得到重合区域数据的融合值;根据重合区域数据的融合值生成对应的完整的2D灰度图和完整的3D高度图。
示例性地,根据各个相机所求解的绕X轴旋转俯仰角、绕Y轴旋转滚转角、绕Z轴旋转偏航角以及XYZ方向的偏移量,将PCB板的图像采集和处理系统中的所有相机测量基准统一起来,从结构件光学图可知,激光器和相机的夹角与自然光光源发射器和相机的夹角不同,2D坐标系和3D坐标系的6个参数不完全相同,公式如下:
Figure 930438DEST_PATH_IMAGE019
根据上述公式本发明内的所有相机的2D/3D坐标能够各自成为一个整体,每个相邻相机间存在着重合区域,重合区域的数据通过转换公式后,机台数据的存在同一位置的两个结果,需要进行加权数据融合,加权数据融合是对多源冗余信息进行加权平均,结果作为融合值。
S205:对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵。
具体地,将得到2D灰度图和3D灰度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵,将2D灰度图和3D灰度图的图像位置信息一一对应。
在一种可能的实施例中,对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵,包括:根据相机位置姿态参数,获取2D实际圆心坐标与3D实际圆心坐标;计算2D实际圆心坐标与3D实际圆心坐标的仿射变换矩阵,得到2D/3D位置转换模型参数初值;对2D/3D位置转换模型参数初值剔除随机误差后,得到2D/3D位置转换模型参数仿射;计算得到所有实际圆心坐标的2D/3D位置转换模型参数仿射集合后,集合数据回归分析,得到2D灰度图和3D高度图的仿射矩阵。
示例性地,根据相机位置姿态参数,获取2D实际圆心坐标与3D实际圆心坐标后,根据2D实际圆心坐标与3D实际圆心坐标计算它们的仿射变换矩阵,得到2D/3D位置转换模型参数初值。仿射变换的参数可以用最小二乘法进行估算,计算过程如下:
仿射变换的表达式为:
Figure 758717DEST_PATH_IMAGE020
是像素的平面位置,P是2*2的旋转 矩阵,
Figure 493454DEST_PATH_IMAGE021
是2*1的平移向量,P
Figure 39973DEST_PATH_IMAGE021
即为仿射变换参数,即:
Figure 88832DEST_PATH_IMAGE022
Figure 34267DEST_PATH_IMAGE023
因此,可归纳为坐标转换系数A,B,C,D,E,F的求解。为了防止出现空像素,一般采用反向映射,由最小二乘法得:
Figure 877589DEST_PATH_IMAGE024
Figure 911404DEST_PATH_IMAGE025
其中
Figure 498374DEST_PATH_IMAGE026
;
Figure 238928DEST_PATH_IMAGE027
;X,Y,U,V,I分别是x,y,X',Y',1构成的向 量。
得到2D灰度图和3D高度图的仿射矩阵后,计算每个2D灰度图和3D高度图的对应点的仿射变换误差,通过对每个点的仿射投影误差做统计学分析,并设置仿射模型的随机干扰项参数,剔除相应误差点后,得到剔除随机误差的2D灰度图和3D高度图的仿射矩阵;即2D/3D位置转换模型参数的Affine(仿射),重复以上步骤多次得到Affine集合,进行Affine集合数据回归分析,最后得到2D灰度图和3D高度图的仿射矩阵。
可以看出在本申请实施例中,根据多个扫描相机对应的姿态参数将多个原始2D灰度图和3D高度图校准融合为完整的2D灰度图和3D高度图,进而解决了单相机高精度测量时,视场范围小的问题,得到高精度的大幅面2D灰度图和3D高度图。
在一种可能的实施例中,在对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵之后,该方法还包括:根据2D灰度图和3D高度图的仿射矩阵,生成2D灰度图和3D高度图的联合显示图。
具体地,根据目标PCB板的2D灰度图和3D高度图的仿射矩阵可以得到PCB板的2D灰度图和3D高度图上显示的图像的对应关系,在的查看和检测时可以根据2D灰度图上任意一个图像位置快速查找到3D高度图的同一图像位置;也可以根据3D高度图的任一图像位置查找到2D灰度图上同一图像位。
在一种可能的实施例中,根据2D灰度图和3D高度图的仿射矩阵,生成2D灰度图和3D高度图的联合显示图,包括:将2D灰度图显示在第一显示区域,将3D高度图显示在第二显示区域;若显示区域的显示中心和缩放比例发生变化,则获取第一显示区域的显示中心和缩放比例;根据第一显示区域的显示中心和缩放比例获取3D高度图的对应显示图像;将3D高度图的对应显示图像显示在第二显示区域;和/或第二显示区域的显示中心和缩放比例,则获取第二显示区域的显示中心和缩放比例;根据第二显示区域的显示中心和缩放比例获取2D灰度图的对应显示图像;将2D灰度图的对应显示图像显示在第一显示区域。
具体地,第一显示区域和第二显示区域可以是一个显示器的上的两个显示窗口或者一个显示窗口的两个独立的显示区,也可以是两个独立的显示器分别显示2D灰度图和3D高度图。当查看任意一个显示区域的图像时,另一个显示区域的图像将根据对应显示区域图像的显示位置和缩放比例等参数自动调整缩放为同一位置。
可以看出在本申请实施例中,通过在不同的显示区域同时显示目标PCB板的2D灰度图和3D高度图,并根据任意一个显示区域的显示参数调整另一个显示区域的显示画面,最大程度展示了目标PCB板的图像提高了本PCB板图像大幅面视场的成像效果,增加了在对PCB板的图像进行检测时展示的信息量,进而增加了PCB板图像的检测的效率和精准度。
在一种可能的实施例中,若GPU为多个GPU,多个扫描相机与多个GPU通过PCIE总线连接和进行信息交互,并根据异步分配法为GPU的众核逻辑计算单元ALU分配计算任务。
具体地,所有扫描相机通过PCIE(Peripheral Component InterconnectExpress)总线直接与显卡连接,PCIE即高速串行计算机扩展总线标准是一种高速串行计算机扩展总线标准。相机采集到的数据能直接传输到显卡显存。处理后的数据及2D灰度图和3D高度图极其仿射矩阵需要实时显示到人机交互界面,但是目前的显示屏只有一个数据传输线接口,显卡1进行了数据显示,显卡2就无法显示,本实施例中多显卡之间通过PCIE总线进行数据的实时交互,实现了多GPU实时显示到人工交互界面。本实施例中所有图像方法及原理都是在GPU下实现,GPU众核逻辑计算单元(Arithmetic and Logic Unit,ALU)是GPU上的执行单元。采用异步分配方法,为每个计算任务分配一定数量的ALU,来处理计算任务,同时GPU上其他的ALU可以同时处理其他计算任务,ALU是能实现多组算术运算和逻辑运算的组合逻辑电路。实现了多相机、多显卡告诉无干扰处理。根据本发明实施例中的结构,扫描相机拍摄到目标PCB板的图像后可以通过PCIE总线直接发送到计算机的GPU中,而不需要通过中央处理器进行二次转发,从而节约了数据传输的时间。GPU接收到扫描相机拍摄的原始图像后就可以根据前述实施例中的方法得到目标PCB板的2D灰度图和3D高度图以及2D灰度图和3D高度图的仿射矩阵。
可以看出在本申请实施例中,通过PCIE总线连接多个GPU和多个扫描相机,避免了传统相机采集处理系统中,相机采集到数据在显卡中做GPU并行处理,需要经过CPU系统的调度与分配。GPU直接接收扫描相机传送的原始图像生成2D灰度图和3D高度图以及2D灰度图和3D高度图的仿射矩阵,不需要通过中央处理器进行二次转发,提高了图形处理的处理效率,把的指令流并行发送到众核上,采用不同的输入数据执行,从而完成图形处理中的海量操作;相比于单一显卡能够按倍数提高并行计算能力。
通过实施本申请实施例的方法对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取得到线激光中心像素坐标,从而得到多个扫描相机的位置姿态参数,通过位置姿态参数将多个扫描相机统一到机台坐标系下,进而将多个扫描相机拍摄自然光得到的多个原始2D灰度图和拍摄线激光得到多个原始3D高度图进行数据融合得到2D灰度图和3D高度图并将2D灰度图和3D高度图进行联合标定,得到位置信息一一对应的将2D灰度图和3D高度图,有效地解决了单相机高精度测量时,视场范围小的问题,提高了高精度测量大幅面视场成像效果。增加了在对PCB板的图像进行检测时展示的信息量,进而增加了PCB板图像的检测的效率的精准度。
基于上述配置方法实施例的描述,本申请还提供一种PCB的2D和3D图像的采集和处理装置700,该PCB的2D和3D图像的采集和处理装置700可以是运行于终端中的一个计算机程序(包括程序代码)。该PCB的2D和3D图像的采集和处理装置700可以执行图1、图2所示的方法。请参见图7,图7为本申请实施例提供的一种PCB的2D和3D图像的采集和处理装置的结构示意图,该装置包括:
获取单元701:用于获取多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到每个线激光图像的线激光中心像素坐标;
计算单元702:用于根据线激光中心像素坐标分别得到多个相机位置姿态参数,并通过位置姿态参数将多个扫描相机统一到机台坐标系下;
该获取单元701还用于:获取多个扫描相机扫描自然光照射的目标PCB板得到的多个原始2D灰度图,获取多个扫描相机扫描线激光照射的目标PCB板得到的多个原始3D高度图;
该计算单元702还用于:对多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图;
标定单元703:用于对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵。
需要说明的是,上述各单元(获取单元701、计算单元702和标定单元703)用于执行上述方法的相关步骤。比如获取单元701用于执行步骤S201的相关内容,计算单元702用于执行S202的相关内容。
在一种可能的实施例中,在获取多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到每个线激光图像的线激光中心像素坐标方面,计算单元702还具体用于:对每个线激光图像进行均值滤波处理,得到均值滤波处理后的图像;获取均值滤波处理后的图像在图像列方向灰度值最大值所在的位置,将灰度值最大值所在的位置确定为线激光图像的整像素中心;沿线激光的整像素中心处的线条法线方向做泰勒展开,计算得到线激光中心像素坐标,线激光中心像素坐标代表对应的扫描相机在机台坐标系的高度。
在一种可能的实施例中,姿态参数包括绕X轴旋转俯仰角,Y轴旋转滚转角,绕Z轴旋转偏航角,X轴偏移量,Y轴偏移量和Z轴偏移量;在根据线激光中心像素坐标分别得到多个相机位置姿态参数,并通过位置姿态参数将多个扫描相机统一到机台坐标系下方面,计算单元702还具体用于:根据多个扫描相机的线激光中心像素坐标和多个扫描相机扫描标定板得到多个原始高度图像,将多个原始高度图像进行同一参考平面的组合,获得第一高度图像;求解每个原始灰度图像在第一高度图像中的高度平面系数,以及每个原始灰度图像对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角;根据多个扫描相机分别对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角对第一高度图像进行修正,得到第二高度图像;根据第二高度图像确定每个扫描相机的Z轴偏移量,Z轴偏移量为每个扫描相机的高度相对于多个扫描相机高度均值的偏移量;获取多个原始灰度图像的圆心图案,并根据多个原始灰度图像的圆心图案确定多个扫描相机对应多个预测标定板圆心坐标;获取多个实际标定板圆心坐标,根据多个预测标定板圆心坐标和多个实际标定板圆心坐标,确定多个扫描相机中每个扫描相机的平面偏移量,平面偏移量包括X轴偏移量和Y轴偏移量;根据每个扫描相机的Z轴偏移量、平面偏移量、绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角将多个扫描相机统一到机台坐标系下。
在一种可能的实施例中,多个扫描相机中的每个扫描相机包括光源组件和相机组件,光源组件包括线激光光源和自然光光源;线激光光源和自然光光源的照射区域之间的距离大于第一预设阈值,获取多个扫描相机扫描自然光照射的目标PCB板得到的多个原始2D灰度图,获取多个扫描相机扫描线激光照射的目标PCB板得到的多个原始3D高度图方面,获取单元701还具体用于:多个扫描相机沿Y轴方向移动扫描,使线激光光源和自然光光源均遍历目标PCB板;根据激光照射的目标PCB板的原始图像中的自然光照射区域,得到目标PCB板的2D灰度图;根据激光照射的目标PCB板的图像中线激光条纹,得到目标PCB板的多个原始3D高度图。
在一种可能的实施例中,在根据位置姿态参数对多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图方面,计算单元702还具体用于:根据多个扫描相机对应的姿态参数得到多个扫描相机的转换公式;获取相邻的扫描相机对应的两个原始灰度图之间的重合区域数据;根据转换公式得到两个相邻的扫描相机的原始2D灰度图和和原始3D高度图重合区域数据的两个结果;对重合区域的两个结果进行加权数据融合,得到重合区域数据的融合值;根据重合区域数据的融合值生成对应的完整的2D灰度图和完整的3D高度图。
在一种可能的实施例中,在对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵方面,标定单元703还具体用于:根据相机位置姿态参数,获取2D实际圆心坐标与3D实际圆心坐标;计算2D实际圆心坐标与3D实际圆心坐标的仿射变换矩阵,得到2D/3D位置转换模型参数初值;对2D/3D位置转换模型参数初值剔除随机误差后,得到2D/3D位置转换模型参数仿射;计算得到所有实际圆心坐标的2D/3D位置转换模型参数仿射集合后,集合数据回归分析,得到2D灰度图和3D高度图的仿射矩阵。
在一种可能的实施例中,若GPU为多个GPU,多个扫描相机与多个GPU通过PCIE总线连接和进行信息交互,并根据异步分配法为GPU的众核逻辑计算单元ALU分配计算任务。
基于上述方法实施例和装置实施例的描述,请参见图8,图8为本申请实施例提供的一种电子设备的结构示意图,本实施例中所描述的电子设备800,如图8所示,该电子设备800包括处理器801、存储器802、通信接口803以及一个或多个程序,处理器801可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integratedcircuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。存储器802可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM) 或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器802可以是独立存在,通过总线与处理器801相连接。存储器802也可以和处理器801集成在一起。通信接口803,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。上述一个或多个程序通过程序代码的形式被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:
获取多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到每个线激光图像的线激光中心像素坐标;根据线激光中心像素坐标分别得到多个相机位置姿态参数,并通过位置姿态参数将多个扫描相机统一到机台坐标系下;获取多个扫描相机扫描自然光照射的目标PCB板得到的多个原始2D灰度图,获取多个扫描相机扫描线激光照射的目标PCB板得到的多个原始3D高度图;对多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图;对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵。
在一种可能的实施例中,获取多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到每个线激光图像的线激光中心像素坐标,包括:对每个线激光图像进行均值滤波处理,得到均值滤波处理后的图像;获取均值滤波处理后的图像在图像列方向灰度值最大值所在的位置,将灰度值最大值所在的位置确定为线激光图像的整像素中心;沿线激光的整像素中心处的线条法线方向做泰勒展开,计算得到线激光中心像素坐标,线激光中心像素坐标代表对应的扫描相机在机台坐标系的高度。
在一种可能的实施例中,姿态参数包括绕X轴旋转俯仰角,Y轴旋转滚转角,绕Z轴旋转偏航角,X轴偏移量,Y轴偏移量和Z轴偏移量;根据线激光中心像素坐标分别得到多个相机位置姿态参数,并通过位置姿态参数将多个扫描相机统一到机台坐标系下,包括:根据多个扫描相机的线激光中心像素坐标和多个扫描相机扫描标定板得到多个原始高度图像,将多个原始高度图像进行同一参考平面的组合,获得第一高度图像;求解每个原始灰度图像在第一高度图像中的高度平面系数,以及每个原始灰度图像对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角;根据多个扫描相机分别对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角对第一高度图像进行修正,得到第二高度图像;根据第二高度图像确定每个扫描相机的Z轴偏移量,Z轴偏移量为每个扫描相机的高度相对于多个扫描相机高度均值的偏移量;获取多个原始灰度图像的圆心图案,并根据多个原始灰度图像的圆心图案确定多个扫描相机对应多个预测标定板圆心坐标;获取多个实际标定板圆心坐标,根据多个预测标定板圆心坐标和多个实际标定板圆心坐标,确定多个扫描相机中每个扫描相机的平面偏移量,平面偏移量包括X轴偏移量和Y轴偏移量;根据每个扫描相机的Z轴偏移量、平面偏移量、绕X轴旋转俯仰角,Y轴旋转滚转角,将多个扫描相机统一到机台坐标系下。
在一种可能的实施例中,多个扫描相机中的每个扫描相机包括光源组件和相机组件,光源组件包括线激光光源和自然光光源;线激光光源和自然光光源的照射区域之间的距离大于第一预设阈值,获取多个扫描相机扫描自然光照射的目标PCB板得到的多个原始2D灰度图,获取多个扫描相机扫描线激光照射的目标PCB板得到的多个原始3D高度图,包括:多个扫描相机沿Y轴方向移动扫描,使线激光光源和自然光光源均遍历目标PCB板;根据激光照射的目标PCB板的原始图像中的自然光照射区域,得到目标PCB板的2D灰度图;根据激光照射的目标PCB板的图像中线激光条纹,得到目标PCB板的多个原始3D高度图。
在一种可能的实施例中,根据位置姿态参数对多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图,包括:根据多个扫描相机对应的姿态参数得到多个扫描相机的转换公式;获取相邻的扫描相机对应的两个原始灰度图之间的重合区域数据;根据转换公式得到两个相邻的扫描相机的原始2D灰度图和和原始3D高度图重合区域数据的两个结果;对重合区域的两个结果进行加权数据融合,得到重合区域数据的融合值;根据重合区域数据的融合值生成对应的完整的2D灰度图和完整的3D高度图。
在一种可能的实施例中,对2D灰度图和3D高度图进行联合标定,得到2D灰度图和3D高度图的仿射矩阵,包括:根据相机位置姿态参数,获取2D实际圆心坐标与3D实际圆心坐标;计算2D实际圆心坐标与3D实际圆心坐标的仿射变换矩阵,得到2D/3D位置转换模型参数初值;对2D/3D位置转换模型参数初值剔除随机误差后,得到2D/3D位置转换模型参数仿射;计算得到所有实际圆心坐标的2D/3D位置转换模型参数仿射集合后,集合数据回归分析,得到2D灰度图和3D高度图的仿射矩阵。
在一种可能的实施例中,若GPU为多个GPU,多个扫描相机与多个GPU通过PCIE总线连接和进行信息交互,并根据异步分配法为GPU的众核逻辑计算单元ALU分配计算任务。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory ,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种PCB的2D和3D图像的采集和处理方法,应用于印制电路板PCB光学检测系统的图像处理器GPU,所述PCB光学检测系统还包括多个扫描相机,其特征在于,包括:
获取所述多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对所述多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到所述每个线激光图像的线激光中心像素坐标;
根据所述线激光中心像素坐标分别得到多个扫描相机对应的位置姿态参数,并通过所述位置姿态参数将所述多个扫描相机统一到机台坐标系下;
获取所述多个扫描相机扫描自然光照射的所述目标PCB板得到的多个原始2D灰度图,获取所述多个扫描相机扫描线激光照射的所述目标PCB板得到的多个原始3D高度图;
根据所述位置姿态参数对所述多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图;
对所述2D灰度图和3D高度图进行联合标定,得到所述2D灰度图和3D高度图的仿射矩阵。
2.根据权利要求1所述的方法,其特征在于,所述获取所述多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对所述多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到所述每个线激光图像的线激光中心像素坐标,包括:
对所述每个线激光图像进行均值滤波处理,得到均值滤波处理后的图像;
获取所述均值滤波处理后的图像在图像列方向灰度值最大值所在的位置,将所述灰度值最大值所在的位置确定为所述线激光图像的整像素中心;
沿所述线激光的整像素中心处的线条法线方向做泰勒展开,计算得到所述线激光中心像素坐标,所述线激光中心像素坐标代表对应的所述扫描相机在所述机台坐标系的高度。
3.根据权利要求1所述的方法,其特征在于,所述姿态参数包括绕X轴旋转俯仰角,Y轴旋转滚转角,绕Z轴旋转偏航角,X轴偏移量,Y轴偏移量和Z轴偏移量;所述根据所述线激光中心像素坐标分别得到所述多个相机位置姿态参数,并通过所述位置姿态参数将所述多个扫描相机统一到机台坐标系下,包括:
根据所述多个扫描相机的线激光中心像素坐标和所述多个扫描相机扫描标定板得到的对应的多个原始灰度图像和多个原始高度图像,将所述多个原始高度图像进行同一参考平面的组合,获得第一高度图像;
求解所述多个原始高度图像在所述第一高度图像中的高度平面系数,以及所述多个原始高度图像对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角;
根据所述多个扫描相机分别对应的绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角对所述第一高度图像进行修正,得到第二高度图像;
根据所述第二高度图像确定每个扫描相机的Z轴偏移量,所述Z轴偏移量为所述每个扫描相机的高度相对于所述多个扫描相机高度均值的偏移量;
获取多个原始灰度图像的圆心图案,并根据所述多个原始灰度图像的圆心图案确定所述多个扫描相机对应多个预测标定板圆心坐标;
获取多个实际标定板圆心坐标,根据所述多个预测标定板圆心坐标和所述多个实际标定板圆心坐标,确定所述多个扫描相机中每个扫描相机的平面偏移量,所述平面偏移量包括X轴偏移量和Y轴偏移量;
根据所述每个扫描相机的Z轴偏移量、平面偏移量、绕X轴旋转俯仰角,Y轴旋转滚转角和绕Z轴旋转偏航角将所述多个扫描相机统一到机台坐标系下。
4.根据权利要求1所述的方法,其特征在于,所述多个扫描相机中的每个扫描相机包括光源组件和相机组件,所述光源组件包括线激光光源和自然光光源;所述线激光光源和自然光光源的照射区域之间的距离大于第一预设阈值,所述获取所述多个扫描相机扫描自然光照射的所述目标PCB板得到的多个原始2D灰度图,获取所述多个扫描相机扫描线激光照射的所述目标PCB板得到的多个原始3D高度图,包括:
所述多个扫描相机沿Y轴方向移动扫描,使所述线激光光源和自然光光源均遍历所述目标PCB板;
根据所述激光照射的所述目标PCB板的原始图像中的自然光照射区域,得到所述目标PCB板的2D灰度图;
根据所述激光照射的所述目标PCB板的图像中线激光条纹,得到所述目标PCB板的多个原始3D高度图。
5.根据权利要求4所述的方法,其特征在于,所述根据所述激光照射的所述目标PCB板的原始图像中的自然光照射区域,得到所述目标PCB板的2D灰度图;根据所述激光照射的所述目标PCB板的图像中线激光条纹,得到所述目标PCB板的多个原始3D高度图,包括:
根据所述多个扫描相机对应的姿态参数得到所述多个扫描相机的转换公式;
获取相邻的所述扫描相机对应的两个原始灰度图之间的重合区域数据;
根据所述转换公式得到所述两个相邻的所述扫描相机的原始2D灰度图和原始3D高度图重合区域数据的两个结果;
对所述重合区域的两个结果进行加权数据融合,得到所述重合区域数据的融合值;
根据所述重合区域数据的融合值生成对应的完整的2D灰度图和完整的3D高度图。
6.根据权利要求1所述的方法,其特征在于,所述对所述2D灰度图和3D高度图进行联合标定,得到所述2D灰度图和3D高度图的仿射矩阵,包括:
根据相机位置姿态参数,获取2D实际圆心坐标与3D实际圆心坐标;
计算所述2D实际圆心坐标与3D实际圆心坐标的仿射变换矩阵,得到2D/3D位置转换模型参数初值;
对所述2D/3D位置转换模型参数初值剔除随机误差后,得到2D/3D位置转换模型参数仿射;
计算得到所有所述实际圆心坐标的2D/3D位置转换模型参数仿射集合后,集合数据回归分析,得到2D灰度图和3D高度图的仿射矩阵。
7.根据权利要求1-6任一项所述的方法,其特征在于,若所述GPU为多个GPU,所述多个扫描相机与所述多个GPU通过PCIE总线连接和进行信息交互,并根据异步分配法为所述GPU的众核逻辑计算单元ALU分配计算任务。
8.一种PCB的2D和3D图像的采集和处理装置,应用于PCB光学检测系统的图像处理器GPU,所述PCB光学检测系统还包括多个扫描相机,其特征在于,所述装置包括:
获取单元:用于获取所述多个扫描相机采集的线激光照射的目标PCB板的多个线激光图像,对所述多个线激光图像中的每个线激光图像进行亚像素线激光中心特征提取,得到所述每个线激光图像的线激光中心像素坐标;
计算单元:用于根据所述线激光中心像素坐标分别得到多个扫描相机对应的位置姿态参数,并通过所述位置姿态参数将所述多个扫描相机统一到机台坐标系下;
所述获取单元还用于:获取所述多个扫描相机扫描自然光照射的所述目标PCB板得到的多个原始2D灰度图,获取所述多个扫描相机扫描线激光照射的所述目标PCB板得到的多个原始3D高度图;
所述计算单元还用于:对所述多个原始2D灰度图和多个原始3D高度图进行数据融合得到融合后的2D灰度图和3D高度图;
标定单元:用于对所述2D灰度图和3D高度图进行联合标定,得到所述2D灰度图和3D高度图的仿射矩阵。
9.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-7中任一项所述的方法。
CN202211494737.4A 2022-11-26 2022-11-26 Pcb的2d和3d图像的采集和处理方法及相关装置 Active CN115546016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211494737.4A CN115546016B (zh) 2022-11-26 2022-11-26 Pcb的2d和3d图像的采集和处理方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211494737.4A CN115546016B (zh) 2022-11-26 2022-11-26 Pcb的2d和3d图像的采集和处理方法及相关装置

Publications (2)

Publication Number Publication Date
CN115546016A CN115546016A (zh) 2022-12-30
CN115546016B true CN115546016B (zh) 2023-03-31

Family

ID=84722755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211494737.4A Active CN115546016B (zh) 2022-11-26 2022-11-26 Pcb的2d和3d图像的采集和处理方法及相关装置

Country Status (1)

Country Link
CN (1) CN115546016B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116071240B (zh) * 2023-03-07 2023-06-20 广东利元亨智能装备股份有限公司 图像拼接方法、装置、计算机设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107907048A (zh) * 2017-06-30 2018-04-13 长沙湘计海盾科技有限公司 一种基于线结构光扫描的双目立体视觉三维测量方法
CN112684677B (zh) * 2021-03-12 2021-07-09 苏州苏大维格科技集团股份有限公司 激光直写光刻机制作的三维微纳形貌结构及其制备方法
CN113240674B (zh) * 2021-07-09 2021-09-24 深圳市艾视铂智能技术有限公司 基于三维点云和二维图像融合的共面度检测方法
CN114331977B (zh) * 2021-12-16 2025-06-06 深圳市鹰眼在线电子科技有限公司 多阵列三维测量系统的拼接标定系统、方法及装置
CN114463405A (zh) * 2022-01-26 2022-05-10 熵智科技(深圳)有限公司 面扫线激光3d相机加速方法、装置、系统及fpga
CN114638900B (zh) * 2022-02-22 2024-11-22 杭州凌像科技有限公司 用于激光扫描系统光学畸变和位姿的迭代式标定方法及系统
CN114612409B (zh) * 2022-03-04 2023-07-07 广州镭晨智能装备科技有限公司 投影标定方法、装置、存储介质以及电子设备

Also Published As

Publication number Publication date
CN115546016A (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
CN111179358B (zh) 标定方法、装置、设备及存储介质
JP4245963B2 (ja) 較正物体を用いて複数のカメラを較正するための方法およびシステム
CN113379668B (zh) 光伏板拼接方法及装置、电子设备及存储介质
CN113643414B (zh) 一种三维图像生成方法、装置、电子设备及存储介质
CN111872544A (zh) 激光出光指示点的标定方法、装置和振镜同轴视觉系统
CN110738608B (zh) 一种平面图像校正方法及系统
CN110705433A (zh) 一种基于视觉感知的桥梁变形的监测方法、装置及设备
CN116433848B (zh) 屏幕模型生成方法、装置、电子设备和存储介质
CN110035279B (zh) 在棋盘格测试图中寻找sfr测试区域的方法及装置
CN115546016B (zh) Pcb的2d和3d图像的采集和处理方法及相关装置
CN117557478A (zh) 一种线扫描图像去畸变的方法
CN116823639A (zh) 一种图像畸变矫正方法、装置、设备及存储介质
CN111311671A (zh) 一种工件测量方法、装置、电子设备及存储介质
CN117593378B (zh) 车载摄像头模组内参标定装置及方法
CN114757849A (zh) 一种具有高动态范围的成像方法
CN113870365A (zh) 相机标定方法、图像生成方法、装置、设备以及存储介质
CN116433769B (zh) 空间校准方法、装置、电子设备和存储介质
CN116823791A (zh) Pin针缺陷检测方法、装置、设备及计算机可读存储介质
CN112894154B (zh) 激光打标方法及装置
CN117830241A (zh) 一种基于3d机器视觉分析的杆件形变检测方法
Li et al. Detection and location of mount chip and solder joint based on machine vision
CN117522963A (zh) 棋盘格的角点定位方法、装置、存储介质及电子设备
CN117437393A (zh) 一种用于MicroLED芯片的主动对位算法
CN116958218A (zh) 一种基于标定板角点对齐的点云与图像配准方法及设备
CN116736272A (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