元件检测方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种元件检测方法、装置、计算机设备和存储介质。
背景技术
视觉检测技术是计算机视觉领域中,利用计算机代替人来做测量或者判断的计算机技术。对具有特定排布的元件进行缺陷检测是视觉检测技术的一种重要应用。比如,计算机可以基于视觉检测技术,对CPU(central processing unit,中央处理器)插槽这类具有特定的引脚排布的元件进行检测。
在传统方式中,计算机通常在元件图像中根据人为标记找到引脚后,根据人为设置的检测区域对图像中的引脚进行偏移检测,得到元件的检测结果。在拍摄元件图像时,元件可能存在旋转等情况,会增大检测结果中引脚与检测区域之间的偏移量,导致检测结果的准确性降低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高检测结果的准确性的元件检测方法、装置、计算机设备和存储介质。
一种元件检测方法,所述方法包括:
获取待检测元件对应的元件图像;
在所述元件图像中定位所述待检测元件包括的多个引脚,得到所述多个引脚各自对应的引脚坐标;
筛选所述引脚坐标中的多个边缘引脚坐标,根据所述多个边缘引脚坐标确定所述待检测元件的旋转角度;
根据所述旋转角度对所述引脚坐标进行矫正,得到矫正后的引脚坐标;
将所述矫正后的引脚坐标与所述待检测元件对应的标准检测位置进行匹配,基于匹配的引脚坐标进行元件检测,得到所述待检测元件对应的检测结果。
在其中一个实施例中,所述筛选所述引脚坐标中的多个边缘引脚坐标包括:
获取所述待检测元件对应的标准检测位置;
将所述引脚坐标与所述标准检测位置进行匹配,得到相匹配的多个待测引脚坐标;
从所述多个待测引脚坐标中筛选多个边缘引脚坐标。
在其中一个实施例中,所述根据所述多个边缘引脚坐标确定所述待检测元件的旋转角度包括:
根据所述多个边缘引脚坐标进行线性拟合,得到元件边缘线;
以标准检测位置对应的标准边缘线为基准,计算所述元件边缘线的倾斜度,根据所述倾斜度确定所述待检测元件的旋转角度。
在其中一个实施例中,所述元件边缘线包括所述待检测元件对应的多条边缘线;
所述以标准检测位置对应的标准边缘线为基准,计算所述元件边缘线的倾斜度,根据所述倾斜度确定所述待检测元件的旋转角度包括:
基于标准检测位置生成所述边缘线各自对应的标准边缘线;
以所述边缘线各自对应的标准边缘线为基准,分别计算所述边缘线对应的倾斜度,根据所述倾斜度确定所述边缘线对应的边缘角度;
对多个所述边缘角度进行平均操作,将得到的平均角度确定为所述待检测元件的旋转角度。
在其中一个实施例中,所述基于匹配的引脚坐标进行元件检测,得到所述待检测元件对应的检测结果包括:
基于所述匹配的引脚坐标生成多个同线引脚集合;
根据所述同线引脚集合中的引脚坐标进行线性拟合,得到所述同线引脚集合对应的偏移参考线;
根据所述引脚坐标以及所述偏移参考线进行偏移检测,得到引脚偏移量;
统计所述待检测元件包括的多个引脚各自对应的引脚偏移量,得到所述待检测元件对应的检测结果。
在其中一个实施例中,所述在所述元件图像中定位所述待检测元件包括的多个引脚,得到所述多个引脚各自对应的引脚坐标包括:
对所述元件图像进行预处理,得到预处理后的图像;
在所述预处理后的图像中定位所述待检测元件包括的多个引脚,得到所述多个引脚各自对应的引脚区域;
获取对于所述待检测元件对应元件类型配置的元件参数,基于所述元件参数筛选所述引脚区域,得到筛选后的引脚区域;
在所述筛选后的引脚区域中确定所述引脚对应的引脚坐标。
在其中一个实施例中,所述方法还包括:
获取标准元件对应的标准元件图像;
对所述标准元件图像进行预处理,在预处理后的标准元件图像中,定位所述标准元件对应的多个标准引脚区域;
获取对于所述标准元件对应元件类型配置的元件参数,根据所述元件参数生成标准引脚网格,所述标准元件与所述待检测元件的元件类型相一致;
将所述标准引脚区域与所述标准引脚网格进行匹配,根据相匹配的标准引脚区域生成标准检测区域,在所述标准检测区域中确定标准检测位置。
一种元件检测装置,所述装置包括:
引脚定位模块,用于获取待检测元件对应的元件图像;在所述元件图像中定位所述待检测元件包括的多个引脚,得到所述多个引脚各自对应的引脚坐标;
旋转矫正模块,用于筛选所述引脚坐标中的多个边缘引脚坐标,根据所述多个边缘引脚坐标确定所述待检测元件的旋转角度;根据所述旋转角度对所述引脚坐标进行矫正,得到矫正后的引脚坐标;
元件检测模块,用于将所述矫正后的引脚坐标与所述待检测元件对应的标准检测位置进行匹配,基于匹配的引脚坐标进行元件检测,得到所述待检测元件对应的检测结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述元件检测方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述元件检测方法的步骤。
上述元件检测方法、装置、计算机设备和存储介质,在元件图像中定位到多个引脚各自对应的引脚坐标,通过筛选引脚坐标中的多个边缘引脚坐标,根据多个边缘引脚坐标确定待检测元件的旋转角度,根据旋转角度对引脚坐标进行矫正,提高了矫正后的引脚坐标的准确性,有效的避免待检测元件旋转造成的检测结果误差。通过将矫正后的引脚坐标与待检测元件对应的标准检测位置进行匹配,从元件整体上筛选与标准检测位置相匹配的引脚坐标,降低了元件图像中的噪声干扰,基于匹配的引脚坐标进行元件检测,得到待检测元件对应的检测结果,有效的提高了检测结果的准确性。
附图说明
图1为一个实施例中元件检测方法的应用环境图;
图2为一个实施例中元件检测方法的流程示意图;
图3为一个实施例中在元件图像中定位待检测元件包括的多个引脚,得到多个引脚各自对应的引脚坐标步骤的流程示意图;
图4为一个实施例中元件图像的局部放大示意图;
图5为一个实施例中检测引脚偏移量的示意图;
图6为一个实施例中元件检测装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的元件检测方法,可以应用于计算机设备中。计算机设备可以为终端或者服务器。可以理解的是,本申请提供的元件检测方法可以应用于终端,也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
在一个实施例中,计算机设备具体可以是终端。本申请提供的元件检测方法,可以应用于如图1所示的应用环境中。其中,终端104可以与图像采集设备102进行连接和通信。终端104与图像采集设备102可以通过有线通信方式进行连接和通信,也可以通过无线通信方式进行连接和通信。图像采集设备102采集待检测元件对应的元件图像。终端104获取图像采集设备102采集的待检测元件对应的元件图像。终端104在元件图像中定位待检测元件包括的多个引脚,得到多个引脚各自对应的引脚坐标。终端104筛选引脚坐标中的多个边缘引脚坐标,根据多个边缘引脚坐标确定待检测元件的旋转角度,根据旋转角度对引脚坐标进行矫正,得到矫正后的引脚坐标。终端104将矫正后的引脚坐标与待检测元件对应的标准检测位置进行匹配,基于匹配的引脚坐标进行元件检测,得到待检测元件对应的检测结果。其中,图像采集设备102是能够采集待检测元件的元件图像的设备,图像采集设备102具体可以包括但不限于是摄像头、摄像机、照相机、扫描仪以及图像采集卡等。终端104可以包括但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种元件检测方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取待检测元件对应的元件图像。
待检测元件是指需要检测是否异常的元件。在元件的生成、装配或者包装等过程中,通过选取需要进行检测的待检测元件,并对待检测元件进行检测,以此保证元件的正常使用。待检测元件本身具有特定的排布结构,可以通过检测待检测元件的排布结构是否存在缺失或者偏移,确定待检测元件是否异常。
例如,待检测元件具体可以是CPU(central processing unit,中央处理器)插槽,CPU插槽是设置在计算机主板上的元件,用于安装CPU。CPU插槽上根据不同的插槽类型,按照特定结构排布有多个引脚,通过引脚与CPU建立连接。CPU插槽上的引脚具体可以是PIN针(Pin needle)。当CPU插槽上的引脚出现缺失或者严重偏移时,可能会导致CPU无法与CPU插槽建立有效连接。因此,需要检测CPU插槽的引脚是否存在缺失或者偏移等异常情况。
终端可以获取待检测元件对应的元件图像,元件图像可以是在检测待检测元件时由图像采集设备采集,并从图像采集设备获取到的,也可以是接收服务器或者其他终端发送的。例如,在对待检测元件进行检测时,检测人员可以通过图像采集设备采集待检测元件对应的元件图像,终端通过与图像采集设备建立的连接,从图像采集设备获取待检测元件对应的元件图像。
在其中一个实施例中,图像采集设备可以垂直于引脚所在的面,并正对待检测元件的引脚采集待检测元件对应的元件图像,使得元件图像中每个引脚光照强度、大小等保持一致,避免因采集角度倾斜导致元件图像中引脚相互遮挡等情况,基于垂直采集的元件图像进行检测,有效的提高了检测结果的准确性。
步骤204,在元件图像中定位待检测元件包括的多个引脚,得到多个引脚各自对应的引脚坐标。
引脚坐标可以用于表示引脚在元件图像中的位置,是引脚在元件图像中的坐标信息。终端可以基于元件图像建立对应平面的坐标系,坐标系的原点可以是元件图像的中点等的任意一点,以便于通过引脚在坐标系中的坐标信息描述引脚位置。
终端可以采用多种方式,在元件图像中定位待检测元件包括的多个引脚,得到多个引脚各自对应的引脚坐标。多个可以表示两个或者两个以上。具体的,终端可以调用目标检测模型,将元件图像输入至目标检测模型,通过目标检测模型对元件图像进行目标检测,获得目标检测模型输出的多个引脚各自对应的引脚坐标。其中,目标检测模型具体可以是基于R-CNN(Region-Convolutional Neural Networks,基于卷积神经网络实现目标检测的一种算法)、YOLO(You Only Look Once)或者SSD(Single Shot Detection)等目标检测算法建立的模型。目标检测模型可以是预先经过包括引脚的元件图像样本训练,并配置在终端的,以便于终端调用目标检测模型检测元件图像中的引脚。
终端还可以将元件图像进行预处理后,从预处理后的图像中识别待检测元件包括的多个引脚,得到多个引脚各自对应的引脚坐标。具体的,终端对元件图像进行的预处理具体可以包括但不限于滤波处理、二值化处理或者开操作等。其中,滤波处理具体可以是高斯滤波或者中值滤波等。终端可以在预处理后的图像中,通过引脚对应的像素特征识别引脚对应的部分像素点,分别定位多个引脚各自在元件图像中的引脚坐标。
在其中一个实施例中,终端可以依次对待检测元件对应的元件图像进行高斯滤波、二值化处理、开操作以及中值滤波,最终得到预处理后的图像。通过对元件图像进行滤波等处理,降低了元件图像中的噪声对定位引脚的干扰,有效的提高了终端定位引脚坐标的准确性。
步骤206,筛选引脚坐标中的多个边缘引脚坐标,根据多个边缘引脚坐标确定待检测元件的旋转角度。
边缘引脚坐标是指位于待检测元件边缘的引脚所对应的引脚坐标。例如,当待检测元件为矩形元件时,终端可以在多个引脚对应的引脚坐标中,筛选位于待检测元件四周的边缘引脚,将边缘引脚对应的引脚坐标确定为边缘引脚坐标。终端可以将多个引脚坐标进行相互比对,通过比对结果筛选多个边缘坐标。
具体的,待检测元件上的引脚是按照特定结构排布的,终端可以基于引脚的特定排布方式,将多个引脚坐标进行比对,从而在引脚坐标中筛选多个边缘引脚坐标。例如,待检测元件上的引脚可以是按照线性排布的。对于同一线上的引脚坐标,可以进行相互比对,得到位于两端的引脚坐标,终端可以将位于两端的引脚坐标确定为边缘引脚坐标。终端可以将多条线上的引脚坐标分别进行比对,在多个引脚坐标中筛选出多个边缘引脚坐标。
在其中一个实施例中,终端还可以获取待检测元件对应的标准检测位置,终端可以基于标准检测位置筛选引脚坐标中的多个边缘引脚坐标。标准检测位置可以是预先设置的待检测元件上的引脚所在的位置,可以将不存在缺失或者偏移异常的标准元件上的引脚所在的位置确定为检测位置。具体的,对于不同类型的元件,元件上引脚的排布可以是不同的。针对不同类型的元件,可以预先设置有各自对应的标准检测位置。终端可以获取待检测元件对应的元件类型,查询该元件类型对应的标准检测位置。终端可以将多个引脚坐标分别与标准检测位置进行匹配,匹配方式具体可以是基于就近原则进行匹配。标准检测位置中的边缘检测位置可以对应标记有边缘位置标签,终端可以筛选与标记有边缘位置标签的边缘检测位置相匹配的引脚坐标,确定为边缘引脚坐标。
在其中一个实施例中,在元件图像中定位到的引脚可能存在噪声干扰,导致引脚对应的引脚坐标不准确,即定位到的部分引脚坐标实际上并不是真实引脚对应的坐标。终端可以获取待检测元件对应的标准检测位置,将多个引脚坐标分别与标准检测位置进行匹配,并将与标准检测位置相匹配的引脚坐标,确定为待测引脚坐标。终端可以从多个待测引脚坐标中筛选多个边缘引脚坐标。具体的,终端可以将多个待测引脚坐标进行比对,根据比对结果筛选出边缘引脚坐标。通过将引脚坐标与标准检测位置进行匹配,从相匹配的待测引脚坐标中筛选边缘引脚坐标,过滤掉了与标准检测位置不匹配的引脚坐标,从引脚排布的整体性上避免了噪声干扰,保证筛选出的边缘引脚坐标是真实的边缘引脚所对应的引脚坐标,有效的提高了筛选出的边缘引脚坐标的准确性。
终端可以根据筛选出的多个边缘引脚坐标,确定待检测元件的旋转角度。其中,旋转角度是指在采集元件图像时,待检测元件相较于图像水平线旋转的角度。例如,当待检测元件为矩形元件,待检测元件对应的元件图像也是矩形时,旋转角度可以是待检测元件的边线与对应元件图像边线的夹角。在理想状态下,待检测元件的边线应当与对应元件图像边线平行。但在实际场景中,在采集待检测元件的元件图像时,待检测元件可能出现旋转等情况,导致元件图像中的引脚坐标与真实的引脚位置存在偏差。终端可以根据多个边缘引脚坐标确定待检测元件的旋转角度,基于待检测元件的旋转角度对引脚坐标进行矫正,以此避免待检测元件的检测结果出现误报,提高了检测结果的准确性。
步骤208,根据旋转角度对引脚坐标进行矫正,得到矫正后的引脚坐标。
终端可以根据待检测元件的旋转角度,对多个引脚坐标进行矫正,得到矫正后的引脚坐标。具体的,终端可以确定待检测元件中心的引脚为中心引脚,确定中心引脚对应的引脚坐标为中心引脚坐标。终端可以将中心引脚作为旋转中心,基于旋转角度对多个引脚各自对应的引脚坐标进行旋转矫正,得到矫正后的引脚坐标。通过根据确定的旋转角度对引脚坐标整体进行矫正,矫正了引脚坐标因为待检测元件旋转造成的偏差,有效的提高了矫正后的引脚坐标的准确性。
在其中一个实施例中,终端可以根据旋转角度,计算多个引脚坐标各自对应的矫正后的引脚坐标。具体的,引脚坐标包括横坐标和纵坐标,终端可以根据横坐标、纵坐标以及旋转角度,分别计算坐标系中对应的矫正后的横坐标和矫正后的纵坐标,得到引脚坐标对应的矫正后的引脚坐标,以此对引脚坐标进行旋转矫正。终端根据旋转角度对引脚坐标进行矫正,得到矫正后的引脚坐标具体可以表示为:
XD=(XO-XC)×Cosθ+(YO-YC)×Sinθ+XC
YD=-(XO-XC)×Sinθ+(YO-YC)×Cosθ+YC
其中,XO表示引脚坐标的横坐标,YO表示引脚坐标的纵坐标。XC表示中心引脚坐标的横坐标,YC表示中心引脚坐标的纵坐标。XD表示矫正后的引脚坐标的横坐标,YD表示矫正后的引脚坐标的纵坐标。θ表示待检测元件的旋转角度。
步骤210,将矫正后的引脚坐标与待检测元件对应的标准检测位置进行匹配,基于匹配的引脚坐标进行元件检测,得到待检测元件对应的检测结果。
根据旋转角度对引脚坐标进行整体矫正,提高了每个矫正后的引脚坐标的准确性。但是,在定位引脚坐标时,由于元件图像噪声干扰等因素,造成得到的引脚坐标中,部分虚假的引脚坐标对应的实际位置并不存在引脚。对应的,矫正后的引脚坐标中也可能包括虚假的引脚坐标。
终端可以获取待检测元件对应的标准检测位置,将矫正后的引脚坐标与待检测元件对应的标准检测位置进行匹配,得到与标准检测位置相匹配的引脚坐标。具体的,标准检测位置是预先设置的引脚的检测位置,标准检测位置处应当能够检测到对应的引脚。标准检测位置具体可以是坐标系中应当检测到引脚的坐标。
终端可以计算每个标准检测位置与矫正后的引脚坐标之间的距离,将距离标准检测位置最近的矫正后的引脚坐标,确定与该标准检测位置相匹配,得到匹配的引脚坐标。通过待检测元件对应的标准检测位置与矫正后的引脚坐标进行匹配,利用标准检测位置过滤掉矫正后的引脚坐标中与标准检测位置不匹配的引脚坐标,避免引脚坐标中的噪声对检测结果造成干扰。
终端可以基于匹配的引脚坐标进行元件检测,得到待检测元件对应的检测结果。具体的,待检测元件对应检测结果具体可以包括缺件检测结果和偏移检测结果。终端可以检测未匹配到引脚坐标的标准检测位置,并统计未匹配到引脚坐标的标准检测位置的数量,未匹配到引脚坐标的标准检测位置可以表示该检测位置应当存在的引脚缺失。终端可以将未匹配到引脚坐标的标准检测位置的数量确定为待检测元件的缺件检测结果。
终端还可以基于匹配的引脚坐标进行偏移检测,得到匹配的引脚坐标各自对应引脚的引脚偏移量。终端可以统计基于多个匹配的引脚坐标分别检测得到的引脚偏移量,得到待检测元件对应的偏移检测结果。在其中一个实施例中,终端可以通过显示界面向检测人员展示待检测元件对应的检测结果,以便于检测人员根据准确的检测结果确定待检测元件是否存在异常。
在其中一个实施例中,终端还可以获取对于待检测元件配置的异常检测参数,异常检测参数具体可以包括缺件异常参数和偏移异常阈值。终端可以将待检测元件对应的检测结果与异常检测参数进行比对,判断待检测元件是否存在异常。例如,缺件异常参数具体可以是1,当待检测元件对应的检测结果中确定待检测元件缺失的引脚数量大于或者等于1时,终端可以确定该待检测元件存在异常。对应的,当检测结果中,任意一个引脚对应的引脚偏移量大于或者等于偏移异常阈值时,终端可以确定该待检测元件存在异常。
在本实施例中,在元件图像中定位到多个引脚各自对应的引脚坐标,通过筛选引脚坐标中的多个边缘引脚坐标,根据多个边缘引脚坐标确定待检测元件的旋转角度,根据旋转角度对所有引脚坐标整体进行矫正,提高了矫正后的引脚坐标的准确性,有效的避免待检测元件旋转造成的检测结果误差。通过将矫正后的引脚坐标与待检测元件对应的标准检测位置进行匹配,从元件整体上筛选与标准检测位置相匹配的引脚坐标,降低了元件图像中的噪声干扰,基于匹配的引脚坐标进行元件检测,得到待检测元件对应的检测结果,有效的提高了检测结果的准确性。
在一个实施例中,如图3所示,上述在元件图像中定位待检测元件包括的多个引脚,得到多个引脚各自对应的引脚坐标包括:
步骤302,对元件图像进行预处理,得到预处理后的图像。
终端可以采用多种处理方式中的一种或者多种,对元件图像进行预处理。具体的,处理方式可以包括二值化处理。终端可以获取预先配置的二值化阈值,采用二值化阈值对元件图像进行二值化处理,得到预处理后的二值图像。
在其中一个实施例中,处理方式还可以包括滤波处理或者开操作等中的一种或者多种。其中,滤波处理具体可以是高斯滤波或者中值滤波等。终端可以依次对待检测元件对应的元件图像进行高斯滤波、二值化处理、开操作以及中值滤波,最终得到预处理后的图像。通过对元件图像进行滤波等处理,降低元件图像中的噪声对定位引脚的干扰,有效的提高了终端定位引脚坐标的准确性。
步骤304,在预处理后的图像中定位待检测元件包括的多个引脚,得到多个引脚各自对应的引脚区域。
终端可以在预处理后的图像中识别待检测元件包括的多个引脚,定位多个引脚各自对应的引脚区域。具体的,预处理后的图像具体为二值图像。终端可以读取预处理后的图像的像素值,将预处理后的图像中的高亮部分确定为引脚对应的引脚区域。
在其中一个实施例中,终端可以采用矩形框框取预处理后的图像中的高亮部分,将每个高亮部分的像素点用最小的矩形框框取,得到每个高亮部分各自对应的最小外界矩形框。终端可以将最小外界矩形框对应的区域确定为引脚对应的引脚区域。
步骤306,获取对于待检测元件对应元件类型配置的元件参数,基于元件参数筛选引脚区域,得到筛选后的引脚区域。
终端可以获取对于待检测元件对应元件类型配置的元件参数,元件参数可以是根据实际需求预先配置的。不同类型的元件所对应的元件参数可以是不同的。元件参数可以是基于待检测元件对应的元件生产规格,以及实际标准元件的检测统计结果配置的。具体的,元件参数具体可以包括但不限于引脚的长度和宽度、引脚之间的横向间距和纵向间距、以及引脚区域的颜色占比等。终端可以根据元件生产规格,配置元件类型对应的引脚的长度和宽度、引脚之间的横向间距和纵向间距。终端还可以提取多个标准元件对应的引脚区域,统计多个引脚区域中的黑白颜色占比,并配置为元件类型对应的元件参数。
终端可以基于元件参数筛选提取到的引脚区域,得到筛选后的引脚区域。具体的,终端可以根据引脚的长度和宽度确定引脚区域的长和宽的上下限,终端可以根据确定的长和宽的上下限筛选提取到的引脚区域,筛选出引脚区域的长或者宽大于对应下限且小于对应上限的引脚区域。终端还可以检测提取出的引脚区域中的黑像素点与白像素点之间的比例,根据元件参数中的颜色占比筛选引脚区域,得到筛选后的引脚区域。
步骤308,在筛选后的引脚区域中确定引脚对应的引脚坐标。
终端可以在筛选后的引脚区域中,确定任意一点在坐标系中的坐标作为该引脚区域对应引脚的引脚坐标。在其中一个实施例中,为了保证引脚坐标在引脚区域中的统一性,终端可以确定引脚区域中相同位置对应的坐标作为该引脚对应的引脚坐标。例如,终端可以分别获取筛选后的引脚区域的中心点对应的坐标,将引脚区域的中心点对应的坐标确定为该引脚区域对应引脚的引脚坐标。
举例说明,如图4所示,图4为一个实施例中元件图像的局部放大示意图。图4中的待检测元件具体为CPU插槽,引脚具体为CPU插槽上的PIN针。终端可以在元件图像中定位并筛选得到多个筛选后的引脚区域,图4中框选出的矩形框402为多个筛选后的引脚区域中的一个。终端可以将筛选后的引脚区域402的中心点404对应的坐标,确定为该引脚区域对应引脚的引脚坐标。
在本实施例中,通过获取对于待检测元件对应元件类型配置的元件参数,基于元件参数筛选在预处理后的图像中定位得到的引脚区域,降低了元件图像中的噪声干扰,保证筛选后的引脚区域为真实存在的引脚所对应的区域。通过在筛选后的引脚区域中确定引脚对应的引脚坐标,有效的提高了定位引脚坐标的准确性。
在一个实施例中,上述根据多个边缘引脚坐标确定待检测元件的旋转角度包括:根据多个边缘引脚坐标进行线性拟合,得到元件边缘线;以标准检测位置对应的标准边缘线为基准,计算元件边缘线的倾斜度,根据倾斜度确定待检测元件的旋转角度。
元件边缘线是指待检测元件的边缘引脚对应的线。待检测元件的引脚通常是按照线性排布的,终端可以根据多个边缘引脚对应的边缘引脚坐标进行线性拟合,得到待检测元件对应的元件边缘线。具体的,终端可以采用多种线性拟合方式中的任意一种,对筛选出的边缘引脚坐标进行线性拟合,得到拟合出的直线,并将拟合出的直线确定为元件边缘线。
在其中一个实施例中,终端可以采用最小二乘法进行线性拟合,得到元件边缘线。其中,终端采用最小二乘法进行线性拟合具体可以表示为:
a=(NΣxy-ΣxΣy)/(NΣx^2-(Σx)^2)
其中,N表示边缘引脚坐标的数量。x表示边缘引脚坐标中的横坐标,y表示边缘引脚坐标中的纵坐标。
表示多个边缘引脚坐标的横坐标的平均值,
表示多个边缘引脚坐标的纵坐标的平均值。a表示元件边缘线的斜率,b表示元件边缘线的截距。
终端可以将标准检测位置对应的标准边缘线作为基准,计算元件边缘线的倾斜度。元件边缘线的倾斜度可以表示元件边缘线相较于标准边缘线的倾斜程度。终端可以确定元件边缘线的倾斜度对应的角度,将倾斜度对应的角度确定为待检测元件的旋转角度。
在其中一个实施例中,元件边缘线包括待检测元件对应的多条边缘线。以待检测元件为CPU插槽为例进行说明。与CPU相对应的,CPU插槽通常是矩形的,CPU插槽中引脚的排布形状对应也是矩形。CPU插槽对应的边缘引脚为矩形四边的引脚。终端根据边缘引脚对应的边缘引脚坐标进行线性拟合,得到的元件边缘线可以包括CPU插槽引脚的四条边缘线,即引脚矩形的四条边所对应的直线。
终端可以基于待检测元件对应的标准检测位置,生成与多条边缘线分别对应的标准边缘线。标准边缘线是标准检测位置对应的未旋转的直线。终端可以以多条边缘线各自对应的标准边缘线为基准,分别计算多条边缘线相较于对应的标准边缘线的倾斜度。倾斜度可以表示边缘线相较于对应的标准边缘线的倾斜程度。终端可以根据边缘线的倾斜度,确定边缘线对应的边缘角度。边缘角度具体可以是边缘线与对应的标准边缘线的夹角角度。终端可以对多条边缘线分别对应的边缘角度进行平均操作,计算多个边缘角度的平均角度,将经过平均操作得到的平均角度确定为待检测元件的旋转角度。
通过分别计算多条边缘线各自对应的边缘角度,将多个边缘角度的平均角度确定为待检测元件的旋转角度,降低了部分边缘角度误差对旋转角度的干扰,有效的提高了确定的旋转角度的准确性,以便于根据准确的旋转角度对引脚坐标进行矫正,提高了矫正后的引脚坐标的准确性,避免待检测元件旋转对检测结果造成误差。
在本实施例中,根据待检测元件的多个边缘引脚对应的边缘引脚坐标进行线性拟合,通过多个边缘引脚坐标拟合元件边缘线,提高了元件边缘线的准确性。通过以标准检测位置对应的标准边缘线为基准,计算元件边缘线的倾斜度,根据倾斜度确定待检测元件的旋转角度,有效的提高了确定的待检测元件的旋转角度,便于基于旋转角度对引脚坐标整体进行矫正,提高矫正后的引脚坐标的准确性,避免待检测元件旋转对检测结果造成误差。
在一个实施例中,上述基于匹配的引脚坐标进行元件检测,得到待检测元件对应的检测结果包括:基于匹配的引脚坐标生成多个同线引脚集合;根据同线引脚集合中的引脚坐标进行线性拟合,得到同线引脚集合对应的偏移参考线;根据引脚坐标以及偏移参考线进行偏移检测,得到引脚偏移量;统计待检测元件包括的多个引脚各自对应的引脚偏移量,得到待检测元件对应的检测结果。
待检测元件对应的检测结果包括偏移检测结果,偏移检测结果可以包括待检测元件中的引脚位置,相较于该引脚应当所在位置的偏移量。终端可以基于与标准检测位置相匹配的引脚坐标进行元件检测,得到待检测元件的偏移检测结果。具体的,待检测元件的引脚排布具有同线性,即多个引脚排布在同一条线上。终端可以根据引脚排布的同线性,基于匹配的引脚坐标生成多个同线引脚集合。同线引脚集合是指包括排布于同一条线上的多个引脚的集合,同线引脚集合可以包括横向同线引脚集合以及纵向同线引脚集合。与同线引脚集合相对应的,一个引脚可以属于横向同线引脚集合,同时也可以属于纵向同线引脚集合。
终端可以根据同线引脚集合中,排布于同一条线上的多个引脚各自对应的引脚坐标进行线性拟合,得到该同线引脚集合对应的偏移参考线。可以理解的,终端可以根据多个同线引脚集合,分别拟合生成多条与同线引脚集合各自对应的偏移参考线。终端可以根据引脚坐标以及偏移参考线进行偏移检测,得到对应引脚的引脚偏移量。
具体的,终端可以根据引脚坐标检测对应的引脚到偏移参考线的距离,将引脚与偏移参考线之间的距离,确定为该引脚对应的引脚偏移量。其中,引脚偏移量可以包括横向偏移量和纵向偏移量。与引脚所属的同线引脚集合相对应的,横向同线引脚集合对应有横向偏移参考线,终端可以根据引脚坐标检测引脚到横向偏移参考线的距离,将引脚到横向偏移参考线的距离确定为该引脚对应的纵向引脚偏移量。纵向同线引脚集合对应有纵向偏移参考线,终端可以根据引脚坐标检测引脚到纵向偏移参考线的距离,将引脚到纵向偏移参考线的距离确定为该引脚对应的横向引脚偏移量。
终端可以统计待检测元件包括的多个引脚各自对应的引脚偏移量,得到待检测元件对应的检测结果,检测结果包括待检测元件包括的多个引脚各自对应的引脚偏移量。如图5所示,图5为一个实施例中检测引脚偏移量的示意图。为了便于说明,在图5中以黑色小圆点代表元件图像中的引脚。图5中的X和Y分别表示对应引脚与纵向偏移参考线和横向偏移参考线的距离,即为该引脚的横向引脚偏移量和纵向引脚偏移量。
在其中一个实施例中,终端还可以获取预先配置的偏移异常阈值,偏移异常阈值可以是根据待检测元件的生产规格设置的。终端可以将统计到的多个引脚偏移量分别与偏移异常阈值进行比对,检测是否存在引脚偏移量大于或等于偏移异常阈值。当多个引脚偏移量中存在任意一个引脚偏移量大于或等于偏移异常阈值时,确定该待检测元件存在异常。否则,确定该待检测元件不存在异常。待检测元件对应的检测结果可以包括待检测元件是否存在异常。
在本实施例中,通过基于匹配的引脚坐标生成多个同线引脚集合,根据同线引脚集合中的多个引脚坐标进行线性拟合,得到同线引脚集合对应的偏移参考线,通过偏移参考线检测引脚对应的引脚偏移量,相较于传统直接检测引脚坐标与标准检测位置之间的偏移量的方式,提高了检测到的引脚偏移量的精度,有效的提高了待检测元件对应的检测结果的准确性。
在一个实施例中,上述方法还包括:获取标准元件对应的标准元件图像;对标准元件图像进行预处理,在预处理后的标准元件图像中,定位标准元件对应的多个标准引脚区域;获取对于标准元件对应元件类型配置的元件参数,根据元件参数生成标准引脚网格,标准元件与待检测元件的元件类型相一致;将标准引脚区域与标准引脚网格进行匹配,根据相匹配的标准引脚区域生成标准检测区域,在标准检测区域中确定标准检测位置。
标准元件是指不存在引脚缺件异常或者引脚偏移异常的元件。终端可以根据标准元件确定对应的标准检测位置,以便于通过标准检测位置对相同元件类型的待检测元件进行检测。具体的,终端可以获取标准元件对应的标准元件图像,对标准元件图像进行预处理,在预处理后的标准元件图像中,定位标准元件对应的多个标准引脚区域。可以理解的,终端对标准元件图像进行预处理,定位标准引脚区域的方式,与上述实施例中对待检测元件的元件图像进行预处理,在元件图像中定位待检测元件包括的多个引脚各自对应的引脚区域的方式相类似,故在此不再赘述。
终端可以获取对于标准元件对应元件类型配置的元件参数,元件参数中可以包括根据元件生产规格确定的引脚的长度和宽度、以及引脚之间的横向间距和纵向间距等。标准元件的元件类型与待检测元件的元件类型是相一致的。终端可以根据引脚的长度和宽度、以及引脚之间的横向间距和纵向间距等元件参数,生成标准引脚网格。标准引脚网格的数量可以是无限多的。终端可以将定位到的标准引脚区域与标准引脚网格进行匹配,根据相匹配的标准引脚区域生成标准检测区域,标准检测区域表示应当检测到引脚的区域。终端可以将距离标准引脚网格较近的标准引脚区域,与标准引脚网格匹配。
在其中一个实施例中,终端在获取到元件参数后,还可以基于元件参数筛选标准引脚区域,将筛选后的标准引脚区域与标准引脚网格进行匹配,避免标准元件图像中的噪声对标准引脚网格匹配造成干扰。
终端可以在多个标准检测区域中确定各自对应的标准检测位置,得到元件类型所对应的标准检测位置。其中,标准检测位置可以是对应标准检测区域中的任意一个位置。例如,终端可以确定标准检测区域的中心位置,作为标准检测位置。
在其中一个实施例中,终端确定标准元件对应的标准检测位置后,检测人员还可以人为增加或者删除多个标准检测位置中的任意一个或者多个,通过人为调整标准元件对应的标准检测位置,提高了元件类型对应的标准检测位置的准确性。
在本实施例中,通过对获取到的标准元件对应的标准元件图像进行预处理,减少了标准元件图像中的噪声干扰。通过获取标准元件对应元件类型配置的元件参数,将标准引脚区域与根据元件参数生成的标准引脚网格进行匹配,根据相匹配的标准引脚区域生成标准检测区域。相较于直接根据元件参数生成检测区域,本实施例中结合了标准元件的实际工艺情况,避免因为元件生产工艺的影响,直接根据元件参数确定检测区域会导致的检测结果误差,提高了确定的标准检测位置的准确性。通过相匹配的标准引脚区域生成标准检测区域,在标准检测区域中确定标准检测位置,不需要检测人员手动逐一添加检测位置,有效的节省了确定标准检测位置的时间成本,提高了确定标准检测位置的效率。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种元件检测装置,包括:引脚定位模块602、旋转矫正模块604和元件检测模块606,其中:
引脚定位模块602,用于获取待检测元件对应的元件图像;在元件图像中定位待检测元件包括的多个引脚,得到多个引脚各自对应的引脚坐标。
旋转矫正模块604,用于筛选引脚坐标中的多个边缘引脚坐标,根据多个边缘引脚坐标确定待检测元件的旋转角度;根据旋转角度对引脚坐标进行矫正,得到矫正后的引脚坐标。
元件检测模块606,用于将矫正后的引脚坐标与待检测元件对应的标准检测位置进行匹配,基于匹配的引脚坐标进行元件检测,得到待检测元件对应的检测结果。
在一个实施例中,上述旋转矫正模块604还用于获取待检测元件对应的标准检测位置;将引脚坐标与标准检测位置进行匹配,得到相匹配的多个待测引脚坐标;从多个待测引脚坐标中筛选多个边缘引脚坐标。
在一个实施例中,上述旋转矫正模块604还用于根据多个边缘引脚坐标进行线性拟合,得到元件边缘线;以标准检测位置对应的标准边缘线为基准,计算元件边缘线的倾斜度,根据倾斜度确定待检测元件的旋转角度。
在一个实施例中,元件边缘线包括待检测元件对应的多条边缘线,上述旋转矫正模块604还用于基于标准检测位置生成边缘线各自对应的标准边缘线;以边缘线各自对应的标准边缘线为基准,分别计算边缘线对应的倾斜度,根据倾斜度确定边缘线对应的边缘角度;对多个边缘角度进行平均操作,将得到的平均角度确定为待检测元件的旋转角度。
在一个实施例中,上述元件检测模块606还用于基于匹配的引脚坐标生成多个同线引脚集合;根据同线引脚集合中的引脚坐标进行线性拟合,得到同线引脚集合对应的偏移参考线;根据引脚坐标以及偏移参考线进行偏移检测,得到引脚偏移量;统计待检测元件包括的多个引脚各自对应的引脚偏移量,得到待检测元件对应的检测结果。
在一个实施例中,上述引脚定位模块602还用于对元件图像进行预处理,得到预处理后的图像;在预处理后的图像中定位待检测元件包括的多个引脚,得到多个引脚各自对应的引脚区域;获取对于待检测元件对应元件类型配置的元件参数,基于元件参数筛选引脚区域,得到筛选后的引脚区域;在筛选后的引脚区域中确定引脚对应的引脚坐标。
在一个实施例中,上述元件检测装置还包括检测位置确定模块,用于获取标准元件对应的标准元件图像;对标准元件图像进行预处理,在预处理后的标准元件图像中,定位标准元件对应的多个标准引脚区域;获取对于标准元件对应元件类型配置的元件参数,根据元件参数生成标准引脚网格,标准元件与待检测元件的元件类型相一致;将标准引脚区域与标准引脚网格进行匹配,根据相匹配的标准引脚区域生成标准检测区域,在标准检测区域中确定标准检测位置。
关于元件检测装置的具体限定可以参见上文中对于元件检测方法的限定,在此不再赘述。上述元件检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种元件检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述元件检测方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述元件检测方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。