Pcb探针定位方法、装置、图形处理器及存储介质
技术领域
本发明涉及PCB的视觉定位和检测领域,特别是涉及一种PCB探针定位方法、装置、图形处理器及存储介质。
背景技术
PCB名称为印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气相互连接的载体。PCB图像定位是从PCB生产流水线上采集的包含PCB和背景的图片中识别出PCB的旋转角度和所在区域坐标。精确定位是PCB缺陷检测流程中重要的一步,定位的精度和速度对PCB检测效果影响很大。当前对PCB探针自动定位一般会采用预先输入设计图坐标和视觉定位两种方式。根据设计图进行定位的探针台定位检测系统主要是根据设计图设计的具体PCB坐标位置来进行定位,主要有定位计算系统和运动控制系统组成。以机器视觉系统为主体的探针自动定位检测系统,主要作用是在PCB板的检测过程中实现对PCB板位置的实时监测,计算PCB板实际位置与检测探针位置的偏差,并与运动控制系统结合矫正偏差,以达到精确定位。
设计图进行定位的探针台定位检测系统,会由于制作工艺引入的误差导致定位有偏差,探针与测试点接触不良导致测试数据不稳,也可能会对PCB其他非测试点造成损伤;以机器视觉系统为主体的探针自动定位检测系统,定位的精度取决于机器视觉算法,简单的模型匹配算法执行效率高但是对结构设计和误差要求很高,需要1:1匹配,兼容图像有旋转和变换的模型匹配算法计算量很大,使得测试系统的测试时间拉长,测试效率降低。
因此,传统的PCB探针定位方法存在定位不准确的问题。
发明内容
基于此,为了解决上述技术问题,提供一种PCB探针定位方法、装置、图形处理器和存储介质,可以提高PCB探针定位的准确度。
一种PCB探针定位方法,所述方法包括:
通过构建好的相机模型采集PCB电路板的初始图像;
获取所述PCB电路板的成像参数,并根据所述成像参数矫正所述初始图像,得到目标图像;
选取所述PCB电路板上的至少两个特征区域作为眼点,获取眼点图像;
根据所述眼点图像、所述目标图像计算偏差值,将所述偏差值输入着色器处理,并根据所述偏差值进行PCB探针定位。
在其中一个实施例中,所述方法还包括:
获取相机内部参数以及相机外部参数;
根据所述相机内部参数、所述相机外部参数进行相机标定,得到相机标定结果;
根据所述相机标定结果构建所述相机模型。
在其中一个实施例中,所述通过构建好的相机模型采集PCB电路板的初始图像,包括:
通过构建好的相机模型采集所述PCB电路板的尺寸数据;
根据所述尺寸数据计算出图像映射比例;
根据所述图像映射比例对所述尺寸数据进行映射转化,得到所述PCB电路板的初始图像。
在其中一个实施例中,所述根据所述成像参数矫正所述初始图像,得到目标图像,包括:
提取所述初始图像中的初始成像参数;
根据所述成像参数对所述初始成像参数进行矫正,得到矫正后的目标成像参数;
通过所述目标成像参数对所述初始图像进行处理,得到目标图像。
在其中一个实施例中,所述根据所述眼点图像、所述目标图像计算偏差值,包括:
获取所述眼点图像中眼点的眼点位置信息;
根据所述眼点位置信息计算所述目标图像中与所述眼点对应位置处的目标位置信息;
根据所述眼点位置信息、所述目标位置信息计算偏差值。
在其中一个实施例中,所述根据所述眼点位置信息、所述目标位置信息计算偏差值,包括:
根据所述眼点位置信息、所述目标位置信息计算平移偏差、转角偏差;
根据所述平移偏差、所述转角偏差计算偏差值。
一种PCB探针定位装置,所述装置包括:
初始图像获取模块,用于通过构建好的相机模型采集PCB电路板的初始图像;
目标图像获取模块,用于获取所述PCB电路板的成像参数,并根据所述成像参数矫正所述初始图像,得到目标图像;
眼点图像获取模块,用于选取所述PCB电路板上的至少两个特征区域作为眼点,获取眼点图像;
偏差值计算模块,用于根据所述眼点图像、所述目标图像计算偏差值,将所述偏差值输入着色器处理,并根据所述偏差值进行PCB探针定位。
一种图形处理器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
通过构建好的相机模型采集PCB电路板的初始图像;
获取所述PCB电路板的成像参数,并根据所述成像参数矫正所述初始图像,得到目标图像;
选取所述PCB电路板上的至少两个特征区域作为眼点,获取眼点图像;
根据所述眼点图像、所述目标图像计算偏差值,将所述偏差值输入着色器处理,并根据所述偏差值进行PCB探针定位。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过构建好的相机模型采集PCB电路板的初始图像;
获取所述PCB电路板的成像参数,并根据所述成像参数矫正所述初始图像,得到目标图像;
选取所述PCB电路板上的至少两个特征区域作为眼点,获取眼点图像;
根据所述眼点图像、所述目标图像计算偏差值,将所述偏差值输入着色器处理,并根据所述偏差值进行PCB探针定位。
上述PCB探针定位方法、装置、图形处理器和存储介质,通过构建好的相机模型采集PCB电路板的初始图像;获取所述PCB电路板的成像参数,并根据所述成像参数矫正所述初始图像,得到目标图像;选取所述PCB电路板上的至少两个特征区域作为眼点,获取眼点图像;根据所述眼点图像、所述目标图像计算偏差值,将所述偏差值输入着色器处理,并根据所述偏差值进行PCB探针定位。基于现有的PCB电路板采集初始图像,并获取成像参数从而对初始图像进行矫正,便于实现PCB探针的精准定位;通过将偏差值输入着色器处理,可以提升处理速度提升探针测试效率。
附图说明
图1为一个实施例中PCB探针定位方法的应用环境图;
图2为一个实施例中PCB探针定位方法的流程示意图;
图3为一个实施例中相机标定的坐标示意图;
图4为一个实施例中计算偏差值的坐标示意图;
图5为一个实施例中PCB探针定位装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的PCB探针定位方法,可以应用于如图1所示的应用环境中。如图1所示,该应用环境包括图形处理器110、CCD相机120、PCB电路板130,其中,图形处理器110可以分别与CCD相机120、PCB电路板130通信连接。图形处理器110可以通过CCD相机120构建好的相机模型采集PCB电路板130的初始图像;CCD相机120可以在环形光源140的照射下采集PCB电路板130的初始图像;图形处理器110可以获取PCB电路板130的成像参数,并根据成像参数矫正初始图像,得到目标图像;图形处理器110可以选取PCB电路板130上的至少两个特征区域作为眼点,获取眼点图像;图形处理器110可以根据眼点图像、目标图像计算偏差值,将偏差值输入着色器处理,并根据偏差值进行PCB探针定位。
在一个实施例中,如图2所示,提供了一种PCB探针定位方法,包括以下步骤:
步骤202,通过构建好的相机模型采集PCB电路板的初始图像。
其中,相机模型可以是预先构建好的,CCD相机可以是经过标定后的相机。图形处理器可以通过构建好的相机模型采集到PCB电路板的初始图像。其中,图形处理器CPU(Graphics Processing Unit)又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备上做图像和图形相关运算工作的微处理器。
步骤204,获取PCB电路板的成像参数,并根据成像参数矫正初始图像,得到目标图像。
图形处理器可以通过视觉标定获取PCB电路板的成像参数,并根据成像参数矫正初始图像。具体的,图形处理器可以将矫正后的初始图像即目标图像作为图像匹配模板。
步骤206,选取PCB电路板上的至少两个特征区域作为眼点,获取眼点图像。
图形处理器可以选取PCB电路板上的至少两个特征区域作为眼点,从而依照所选择眼点的位置,获取PCB电路板上的眼点图像。
步骤208,根据眼点图像、目标图像计算偏差值,将偏差值输入着色器处理,并根据偏差值进行PCB探针定位。
在本实施例中,图形处理器通过构建好的相机模型采集PCB电路板的初始图像;获取所述PCB电路板的成像参数,并根据成像参数矫正初始图像,得到目标图像;选取PCB电路板上的至少两个特征区域作为眼点,获取眼点图像;根据眼点图像、目标图像计算偏差值,将偏差值输入着色器处理,并根据偏差值进行PCB探针定位。基于现有的PCB电路板采集初始图像,并获取成像参数从而对初始图像进行矫正,便于实现PCB探针的精准定位;通过将偏差值输入着色器处理,可以提升处理速度提升探针测试效率。
在一个实施例中,提供的一种PCB探针定位方法还可以包括标定相机的过程,具体过程包括:获取相机内部参数以及相机外部参数;根据相机内部参数、相机外部参数进行相机标定,得到相机标定结果;根据相机标定结果构建相机模型。
在机器视觉系统中,为了建立现实目标的实际位置与所得图像对应的像素点的坐标位置之间的联系,必须建立相机成像的基本模型,模型的基本参数就是视觉系统的相机参数。相机标定就是确定世界坐标系、摄像机坐标系、图像坐标系以及像素坐标系之间的坐标转换关系,计算相机的外部参数和内部参数根据光学成像原理建立相机成像的基本模型,如图3所示,OS-rc是图像坐标系,单位是像素;Of-uv是成像平面坐标系;Oc-XcYcZc是相机坐标系;Ow-XwYwZw是世界坐标系。成像平面一般在CCD相机的后端,图3中相机的前端添加了一个成像平面,该成像平面为虚拟成像平面,目的是为了减少求解相机模型参数的计算量。
在本实施例中,在进行相机标定前,需要进行系统坐标变换,首先从世界坐标系到相机坐标系,如图3所示,Pw是世界坐标系中的一点,首先要将它转换到相机坐标系中,该转换包括平移和旋转两个操作。点Pw=(Xw,Yw,Zw)T和点Pc=(Xc,Yc,Zc)T之间的变换关系可以表示为:Pc=RPw+T;其中,R为旋转矩阵且是单位正交矩阵,T为平移矩阵。矩阵可以在OpenGL函数库中直接指定。其次,从相机坐标系转换到成像坐标系,相机坐标系中的点Pc=(Xc,Yc,Zc)T投影到成像坐标系上的点P=(u,v)的投影为平行投影,两点之间的投影关系为:其中,m为放大倍数。由于镜头畸变因素的影响,成像后点P=(u,v)T会发上变化。
在一个实施例中,提供的一种PCB探针定位方法还可以包括采集PCB电路板的初始图像的过程,具体过程包括:通过构建好的相机模型采集PCB电路板的尺寸数据;根据尺寸数据计算出图像映射比例;根据图像映射比例对尺寸数据进行映射转化,得到PCB电路板的初始图像。
图形处理器可以基于现有硬件结构即PCB电路板进行尺寸测量,从而根据现有结构尺寸计算出图像映射比例,进行软件映射转化,达到可以使用简单逻辑模型匹配算法实现精准定位的目的。
在一个实施例中,提供的一种PCB探针定位方法还可以包括对成像参数进行矫正的过程,具体过程包括:提取初始图像中的初始成像参数;根据成像参数对初始成像参数进行矫正,得到矫正后的目标成像参数;通过目标成像参数对初始图像进行处理,得到目标图像。
图形处理器可以提取初始图像中的初始成像参数,通过由视觉系统标定获得的成像参数对初始图像进行矫正,将矫正后的图像作为图像匹配模板,即目标图像。
在一个实施例中,提供的一种PCB探针定位方法还可以包括计算偏差值的过程,具体过程包括:获取眼点图像中眼点的眼点位置信息;根据眼点位置信息计算目标图像中与眼点对应位置处的目标位置信息;根据眼点位置信息、目标位置信息计算偏差值。
图形处理器可以获取眼点图像中的眼点位置信息,从而根据眼点位置信息计算目标图像中,眼点的目标位置信息,从而计算出偏差值。
如图4所示,在一个实施例中,图形处理器可以根据眼点位置信息、目标位置信息计算平移偏差、转角偏差;根据平移偏差、转角偏差计算偏差值。
其中,以眼点数量有两个为例,图形处理器在进行平移偏差计算时,两个眼点偏差的平均值就是整个PCB板的X向、Y向的平移偏差,计算公式可以是:图形处理器在进行转角偏差计算时,设直线l1和l2的斜率分别为k1和k2,两斜线的夹角即为转角偏差θ,通过直线斜率的变化可以求得转角偏差,计算公式可以是:则θ=arctan k。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种PCB探针定位装置,包括初始图像获取模块510、目标图像获取模块520、眼点图像获取模块530和偏差值计算模块540,其中:
初始图像获取模块510,用于通过构建好的相机模型采集PCB电路板的初始图像;
目标图像获取模块520,用于获取PCB电路板的成像参数,并根据成像参数矫正初始图像,得到目标图像;
眼点图像获取模块530,用于选取PCB电路板上的至少两个特征区域作为眼点,获取眼点图像;
偏差值计算模块540,用于根据眼点图像、目标图像计算偏差值,将偏差值输入着色器处理,并根据偏差值进行PCB探针定位。
在一个实施例中,初始图像获取模块510还用于获取相机内部参数以及相机外部参数;根据相机内部参数、相机外部参数进行相机标定,得到相机标定结果;根据相机标定结果构建相机模型。
在一个实施例中,初始图像获取模块510还用于通过构建好的相机模型采集PCB电路板的尺寸数据;根据尺寸数据计算出图像映射比例;根据图像映射比例对尺寸数据进行映射转化,得到PCB电路板的初始图像。
在一个实施例中,初始图像获取模块510还用于提取初始图像中的初始成像参数;根据成像参数对初始成像参数进行矫正,得到矫正后的目标成像参数;通过目标成像参数对初始图像进行处理,得到目标图像。
在一个实施例中,偏差值计算模块540还用于获取眼点图像中眼点的眼点位置信息;根据眼点位置信息计算目标图像中与眼点对应位置处的目标位置信息;根据眼点位置信息、目标位置信息计算偏差值。
在一个实施例中,偏差值计算模块540还用于根据眼点位置信息、目标位置信息计算平移偏差、转角偏差;根据平移偏差、转角偏差计算偏差值。
在一个实施例中,提供了一种图形处理器,图形处理器用于提供计算和控制能力。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
通过构建好的相机模型采集PCB电路板的初始图像;
获取PCB电路板的成像参数,并根据成像参数矫正初始图像,得到目标图像;
选取PCB电路板上的至少两个特征区域作为眼点,获取眼点图像;
根据眼点图像、目标图像计算偏差值,将偏差值输入着色器处理,并根据偏差值进行PCB探针定位。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取相机内部参数以及相机外部参数;根据相机内部参数、相机外部参数进行相机标定,得到相机标定结果;根据相机标定结果构建相机模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过构建好的相机模型采集PCB电路板的尺寸数据;根据尺寸数据计算出图像映射比例;根据图像映射比例对尺寸数据进行映射转化,得到PCB电路板的初始图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:提取初始图像中的初始成像参数;根据成像参数对初始成像参数进行矫正,得到矫正后的目标成像参数;通过目标成像参数对初始图像进行处理,得到目标图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取眼点图像中眼点的眼点位置信息;根据眼点位置信息计算目标图像中与眼点对应位置处的目标位置信息;根据眼点位置信息、目标位置信息计算偏差值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据眼点位置信息、目标位置信息计算平移偏差、转角偏差;根据平移偏差、转角偏差计算偏差值。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
通过构建好的相机模型采集PCB电路板的初始图像;
获取PCB电路板的成像参数,并根据成像参数矫正初始图像,得到目标图像;
选取PCB电路板上的至少两个特征区域作为眼点,获取眼点图像;
根据眼点图像、目标图像计算偏差值,将偏差值输入着色器处理,并根据偏差值进行PCB探针定位。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取相机内部参数以及相机外部参数;根据相机内部参数、相机外部参数进行相机标定,得到相机标定结果;根据相机标定结果构建相机模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过构建好的相机模型采集PCB电路板的尺寸数据;根据尺寸数据计算出图像映射比例;根据图像映射比例对尺寸数据进行映射转化,得到PCB电路板的初始图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:提取初始图像中的初始成像参数;根据成像参数对初始成像参数进行矫正,得到矫正后的目标成像参数;通过目标成像参数对初始图像进行处理,得到目标图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取眼点图像中眼点的眼点位置信息;根据眼点位置信息计算目标图像中与眼点对应位置处的目标位置信息;根据眼点位置信息、目标位置信息计算偏差值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据眼点位置信息、目标位置信息计算平移偏差、转角偏差;根据平移偏差、转角偏差计算偏差值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。