一种基于X射线投影的SMT物料盘电子元器件的计数方法转让专利

申请号 : CN202110596222.4

文献号 : CN113379784B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐圆黄浚璋周凌宏林国钦夏进球凌庆庆周怡雯罗华丽

申请人 : 南方医科大学

摘要 :

一种基于X射线投影的SMT物料盘电子元器件的计数方法,构建的电子元器件分割模型将待计数的SMT电子元器件物料盘的X射线投影图像转换为去除背景的分割二值图像,然后确定去除背景的分割二值图像中的粘连区域与非粘连区域的个数和位置,然后对去除背景的分割二值图像进行腐蚀操作,进行区域划分,并确定新的粘连区域和非粘连区域的个数,再确定新的单个电子元器件的单位面积和新的粘连区域内的电子元器件个数,最后将所有新的粘连区域中电子元器件的个数和新的非粘连区域的个数相加即为待计数的SMT电子元器件物料盘的X射线投影图像中总的电子元器件个数。该方法能够应用于多种SMT物料盘,且具有识别电子元器件的精度高、计数准确、低成本的特点。

权利要求 :

1.一种基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于,包括以下步骤:

S1:构建电子元器件分割模型;

S2:获取待计数的SMT电子元器件物料盘的X射线投影数据,将待计数的SMT电子元器件物料盘的X射线投影数据进行格式转换后调整尺寸,获得待计数的SMT电子元器件物料盘的X射线投影图像,然后将待计数的SMT电子元器件物料盘的X射线投影图像输入到电子元器件分割模型中,获得去除背景的分割二值图像;

S3:使用Matlab软件对去除背景的分割二值图像的像素区域进行统计,确定单个电子元器件的单位面积和粘连目标的面积,根据粘连目标的面积与单个电子元器件的单位面积的比值确定粘连区域与非粘连区域,并对粘连区域与非粘连区域分别进行初始个数统计和位置确定;

S4:利用形态学中的腐蚀操作处理去除背景的二值图像,获得腐蚀操作后的二值图像;

S5:对腐蚀操作后的二值图像进行区域划分,使用Matlab软件对腐蚀操作后的二值图像中的像素面积进行统计,确定腐蚀操作后的单个电子元器件的单位面积和粘连目标的面积,根据腐蚀操作后的粘连目标的面积与单个电子元器件的面积比值确定新的粘连区域,更新粘连区域和非粘连区域的个数;

S6:在新的粘连区域附近,根据区域相似性,寻找距离最近的n个单个电子元器件,n为自然数,计算n个单个电子元器件的平均面积作为新的单个电子元器件的单位面积,根据新的粘连区域面积和新的单个电子元器件的单位面积确定新的粘连区域的电子元器件个数;

S7:将所有新的粘连区域中电子元器件的个数与步骤S5中更新后的非粘连区域的个数相加,获得待计数的SMT电子元器件物料盘的电子元器件总数;

S8:对新的粘连区域进行凸多边形勾画,通过计算凸多边形的斜率确定新的粘连区域内粘连电子元器件所在直线,根据新的粘连区域的电子元器件个数均分并确定新的粘连区域内的单个电子元器件的位置,并以均分点作为单个电子元器件的中心点;

S9:在待计数的SMT电子元器件物料盘的X射线投影图像中标记出每个电子元器件的中心点并在待计数的SMT电子元器件物料盘的X射线投影图像上输出电子元器件总数。

2.根据权利要求1所述的基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于:步骤S1构建电子元器件分割模型具体包括以下步骤:S11:构建训练数据集;

具体是,采集多个不同种类SMT物料盘的X射线投影数据,对每一个SMT物料盘的X射线投影数据进行格式转化获得多个SMT物料盘的X射线投影图像,对每一个SMT物料盘的X射线投影图像进行分割标定和图像分块,获得的分割标签和分块后的图像构成训练数据集;

S12:构建神经网络结构并设计训练参数;

S13:使用训练数据集对神经网络结构进行训练,将训练数据集中的所有分割标签和对应的分块后的图像均输入神经网络结构中对神经网络结构进行训练获得神经网络模型;

S14:在每次迭代过程中根据损失值使用Adam优化器对神经网络模型的参数进行更新;

S15:当损失值收敛,迭代结束,获得电子元器件分割模型。

3.根据权利要求2所述的基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于:所述神经网络结构包括用于提取特征的上采样部分和用于恢复目标细节及图像大小的下采样部分;

所述上采样部分设置有八个子编码层和七个池化层,任意相邻两个编码层之间连接有一个池化层;

所述下采样部分设置有八个子解码层和七个逆池化层,任意相邻两个解码层之间连接有一个逆池化层。

4.根据权利要求3所述的基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于:定义最靠近图像输入层的子编码层为第一子编码层,所述第一子编码层依次设置有一个卷积层,一个ReLU层,其余七个子编码层设有一个卷积层、一个子BN层和一个ReLU层;

所述卷积层的卷积核大小为3×3,运行的步长为2×2;

定义最靠近图像输出层的子解码层为第一子解码层,所述第一子解码层中设有一个逆卷积层,一个Sigmoid层,其余七个子解码层均设有一个逆卷积层,一个激活层,一个Dropout层与一个连接层;

所述逆卷积层的卷积核大小为3×3,每次逆卷积操作下,运行的步长为2×2。

5.根据权利要求1所述的基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于:步骤S2中格式转换是将SMT电子元器件物料盘的X射线投影数据转换成png格式的图片,调整尺寸具体是将png格式的图片大小调整为3072×3072。

6.根据权利要求1所述的基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于:步骤S3中使用Matlab软件对去除背景的分割二值图像的像素面积进行统计,确定单个电子元器件的单位面积和粘连目标的面积具体是,使用regionprops函数对去除背景的分割二值图像进行面积统计获得粘连目标的面积和非粘连区域的中心点,然后建立面积分布直方图,选择面积分布直方图中数量最多的区间,计算获得单个电子元器件的单位面积;

步骤S5中使用Matlab软件对腐蚀操作后的二值图像中的像素面积进行统计,确定腐蚀操作后的单个电子元器件的单位面积和粘连目标的面积具体是,使用regionprops函数对腐蚀操作后的二值图像进行面积统计获得腐蚀操作后的粘连目标的面积和非粘连区域的中心点,然后建立面积分布直方图,选择面积分布直方图中数量最多的区间,计算获得腐蚀操作后的单个电子元器件的单位面积。

7.根据权利要求1所述的基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于:步骤S3中粘连目标的面积与单个电子元器件的单位面积的比值大于等于2时,粘连目标为粘连区域,粘连目标的面积与单个电子元器件的单位面积的比值等于1时,粘连目标为非粘连区域;

步骤S5中腐蚀操作后的粘连目标的面积与单个电子元器件的面积比值大于等于2时的粘连目标为新的粘连区域。

8.根据权利要求1所述的基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于:步骤S5中对腐蚀操作后的二值图像进行区域划分具体是,以腐蚀操作后的二值图像的中心为圆心建立笛卡尔坐标系,从X轴正方向开始,45度为一个间隔,沿着顺时针方向将图像分为八个区域。

9.根据权利要求1所述的基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于:步骤S6中根据新的粘连区域面积和新的单个电子元器件的单位面积确定新的粘连区域的电子元器件个数具体是,将新的粘连区域面积和新的单个电子元器件的单位面积进行比较,所获得的比值为新的粘连区域的电子元器件个数。

10.根据权利要求1所述的基于X射线投影的SMT物料盘电子元器件的计数方法,其特征在于:步骤S8中通过计算凸多边形的斜率确定新的粘连区域内粘连电子元器件所在直线具体是,使用Matlab计算出与粘连区域具有相同标准二阶中心距的椭圆的长轴与笛卡尔坐标系X轴的交角,交角的正切值为长轴的斜率,然后求出直线与凸多边形的两个交点,再用点斜式方程确定新的粘连区域内粘连电子元器件所在直线。

说明书 :

一种基于X射线投影的SMT物料盘电子元器件的计数方法

技术领域

[0001] 本发明涉及图像重建领域,特别是涉及一种基于X射线投影的SMT物料盘电子元器件的计数方法。

背景技术

[0002] 表面组装技术(SMT)是在工业领域中生产电路印刷板(PCB板)最常用的技术之一。表面组装技术指的是直接将电子元件贴装在电路板表面的方法。表面组装技术以自身的特
点和优势,使得电子组装技术产生了根本性、革命性的变革,并在应用过程中不断地发展完
善。
[0003] 在实际的工业生产过程中,确定SMT物料盘上元器件的数目是一个非自动化但却十分关键的步骤。然而由于在物料盘上的微型电子元器件的尺寸微小、数量庞大且种类参
差不齐,很难对采用一种单一的计数方法对物料盘中的各种电子元器件进行精确而迅速的
计数。现有技术中,使用纯手工方法以及采用X射线点料机对物料盘进行计数的方法或者采
用数字图像处理技术对X射线投影图像进行形态学操作并计数的方法都可以对SMT物料盘
中电子元器件进行计数。但是,纯手工方法不准确且需要大量的人力和时间成本,采用X射
线点料机对物料盘进行计数的方法成本高且存在辐射风险,采用数字图像处理技术对X射
线投影图像进行形态学操作并计数的方法依赖于图像处理技术的结果,X射线图像中器件
的投影中会发生的局部粘连和重叠现象导致漏检率较高,粘连区域的分割精度直接影响最
终检测的准确率。目前的SMT物料盘电子元器件的计数方法成本高且准确度低。
[0004] 因此,针对现有技术不足,提供一种基于X射线投影的SMT物料盘电子元器件的计数方法以克服现有技术不足甚为必要。

发明内容

[0005] 本发明的目的在于避免现有技术的不足之处而提供一种基于X射线投影的SMT物料盘电子元器件的计数方法,能够应用于不同种类的SMT物料盘,且识别电子元器件的精度
高,计数准确,还能够减少人力资源与机器资源的投入,计数成本低。
[0006] 本发明的目的通过以下技术措施实现。
[0007] 提供一种基于X射线投影的SMT物料盘电子元器件的计数方法,包括以下步骤:
[0008] S1:构建电子元器件分割模型;
[0009] S2:获取待计数的SMT电子元器件物料盘的X射线投影数据,将待计数的SMT电子元器件物料盘的X射线投影数据进行格式转换后调整尺寸,获得待计数的SMT电子元器件物料
盘的X射线投影图像,然后将待计数的SMT电子元器件物料盘的X射线投影图像输入到电子
元器件分割模型中,获得去除背景的分割二值图像;
[0010] S3:使用Matlab软件对去除背景的分割二值图像的像素区域进行统计,确定单个电子元器件的单位面积和粘连目标的面积,根据粘连目标的面积与单个电子元器件的单位
面积的比值确定粘连区域与非粘连区域,并对粘连区域与非粘连区域分别进行初始个数统
计和位置确定;
[0011] S4:利用形态学中的腐蚀操作处理去除背景的二值图像,获得腐蚀操作后的二值图像;
[0012] S5:对腐蚀操作后的二值图像进行区域划分,使用Matlab软件对腐蚀操作后的二值图像中的像素面积进行统计,确定腐蚀操作后的单个电子元器件的单位面积和粘连目标
的面积,根据腐蚀操作后的粘连目标的面积与单个电子元器件的面积比值确定新的粘连区
域,更新粘连区域和非粘连区域的个数;
[0013] S6:在新的粘连区域附近,根据区域相似性,寻找距离最近的n个单个电子元器件,n为自然数,计算n个单个电子元器件的平均面积作为新的单个电子元器件的单位面积,根
据新的粘连区域面积和新的单个电子元器件的单位面积确定新的粘连区域的电子元器件
个数;
[0014] S7:将所有新的粘连区域中电子元器件的个数与步骤S5中更新后的非粘连区域的个数相加,获得待计数的SMT电子元器件物料盘的电子元器件总数;
[0015] S8:对新的粘连区域进行凸多边形勾画,通过计算凸多边形的斜率确定新的粘连区域内粘连电子元器件所在直线,根据新的粘连区域的电子元器件个数均分并确定新的粘
连区域内的单个电子元器件的位置,并以均分点作为单个电子元器件的中心点;
[0016] S9:在待计数的SMT电子元器件物料盘的X射线投影图像中标记出每个电子元器件的中心点并在待计数的SMT电子元器件物料盘的X射线投影图像上输出电子元器件总数。
[0017] 优选的,步骤S1构建电子元器件分割模型具体包括以下步骤:
[0018] S11:构建训练数据集;
[0019] 具体是,采集多个不同种类SMT物料盘的X射线投影数据,对每一个SMT物料盘的X射线投影数据进行格式转化获得多个SMT物料盘的X射线投影图像,对每一个SMT物料盘的X
射线投影图像进行分割标定和图像分块,获得的分割标签和分块后的图像构成训练数据
集;
[0020] S12:构建神经网络结构并设计训练参数;
[0021] S13:使用训练数据集对神经网络结构进行训练,将训练数据集中的所有分割标签和对应的分块后的图像均输入神经网络结构中对神经网络结构进行训练获得神经网络模
型;
[0022] S14:在每次迭代过程中根据损失值使用Adam优化器对神经网络模型的参数进行更新;
[0023] S15:当损失值收敛,迭代结束,获得电子元器件分割模型。
[0024] 优选的,所述神经网络结构包括用于提取特征的上采样部分和用于恢复目标细节及图像大小的下采样部分;
[0025] 所述上采样部分设置有八个子编码层和七个池化层,任意相邻两个编码层之间连接有一个池化层;
[0026] 所述下采样部分设置有八个子解码层和七个逆池化层,任意相邻两个解码层之间连接有一个逆池化层。
[0027] 优选的,定义最靠近图像输入层的子编码层为第一子编码层,所述第一子编码层依次设置有一个卷积层,一个ReLU层,其余七个子编码层设有一个卷积层、一个子BN层和一
个ReLU层;
[0028] 所述卷积层的卷积核大小为3×3,运行的步长为2×2;
[0029] 定义最靠近图像输出层的子解码层为第一子解码层,所述第一子解码层中设有一个逆卷积层,一个Sigmoid层,其余七个子解码层均设有一个逆卷积层,一个激活层,一个
Dropout层与一个连接层;
[0030] 所述逆卷积层的卷积核大小为3×3,每次逆卷积操作下,运行的步长为2×2。
[0031] 优选的,步骤S2中格式转换是将SMT电子元器件物料盘的X射线投影数据转换成png格式的图片,调整尺寸具体是将png格式的图片大小调整为3072×3072。
[0032] 优选的,步骤S3中使用Matlab软件对去除背景的分割二值图像的像素面积进行统计,确定单个电子元器件的单位面积和粘连目标的面积具体是,使用regionprops函数对去
除背景的分割二值图像进行面积统计获得粘连目标的面积和非粘连区域的中心点,然后建
立面积分布直方图,选择面积分布直方图中数量最多的区间,计算获得单个电子元器件的
单位面积;
[0033] 步骤S5中使用Matlab软件对腐蚀操作后的二值图像中的像素面积进行统计,确定腐蚀操作后的单个电子元器件的单位面积和粘连目标的面积具体是,使用regionprops函
数对腐蚀操作后的二值图像进行面积统计获得腐蚀操作后的粘连目标的面积和非粘连区
域的中心点,然后建立面积分布直方图,选择面积分布直方图中数量最多的区间,计算获得
腐蚀操作后的单个电子元器件的单位面积。
[0034] 优选的,步骤S3中粘连目标的面积与单个电子元器件的单位面积的比值大于等于2时,粘连目标为粘连区域,粘连目标的面积与单个电子元器件的单位面积的比值等于1时,
粘连目标为非粘连区域;
[0035] 步骤S5中腐蚀操作后的粘连目标的面积与单个电子元器件的面积比值大于等于2时的粘连目标为新的粘连区域。
[0036] 优选的,步骤S5中对腐蚀操作后的二值图像进行区域划分具体是,以腐蚀操作后的二值图像的中心为圆心建立笛卡尔坐标系,从X轴正方向开始,45度为一个间隔,沿着顺
时针方向将图像分为八个区域。
[0037] 优选的,步骤S6中根据新的粘连区域面积和新的单个电子元器件的单位面积确定新的粘连区域的电子元器件个数具体是,将新的粘连区域面积和新的单个电子元器件的单
位面积进行比较,所获得的比值为新的粘连区域的电子元器件个数。
[0038] 优选的,步骤S8中通过计算凸多边形的斜率确定新的粘连区域内粘连电子元器件所在直线具体是,使用Matlab计算出与粘连区域具有相同标准二阶中心距的椭圆的长轴与
笛卡尔坐标系X轴的交角,交角的正切值为长轴的斜率,然后求出直线与凸多边形的两个交
点,再用点斜式方程确定新的粘连区域内粘连电子元器件所在直线。
[0039] 本发明的一种基于X射线投影的SMT物料盘电子元器件的计数方法,包括以下步骤:S1:构建电子元器件分割模型;S2:获取待计数的SMT电子元器件物料盘的X射线投影数
据,将待计数的SMT电子元器件物料盘的X射线投影数据进行格式转换后调整尺寸,获得待
计数的SMT电子元器件物料盘的X射线投影图像,然后将待计数的SMT电子元器件物料盘的X
射线投影图像输入到电子元器件分割模型中,获得去除背景的分割二值图像;S3:使用
Matlab软件对去除背景的分割二值图像的像素区域进行统计,确定单个电子元器件的单位
面积和粘连目标的面积,根据粘连目标的面积与单个电子元器件的单位面积的比值确定粘
连区域与非粘连区域,并对粘连区域与非粘连区域分别进行初始个数统计和位置确定;S4:
利用形态学中的腐蚀操作处理去除背景的二值图像,获得腐蚀操作后的二值图像;S5:对腐
蚀操作后的二值图像进行区域划分,使用Matlab软件对腐蚀操作后的二值图像中的像素面
积进行统计,确定腐蚀操作后的单个电子元器件的单位面积和粘连目标的面积,根据腐蚀
操作后的粘连目标的面积与单个电子元器件的面积比值确定新的粘连区域,更新粘连区域
和非粘连区域的个数;S6:在新的粘连区域附近,根据区域相似性,寻找距离最近的n个单个
电子元器件,n为自然数,计算n个单个电子元器件的平均面积作为新的单个电子元器件的
单位面积,根据新的粘连区域面积和新的单个电子元器件的单位面积确定新的粘连区域的
电子元器件个数;S7:将所有新的粘连区域中电子元器件的个数与步骤S5中更新后的非粘
连区域的个数相加,获得待计数的SMT电子元器件物料盘的电子元器件总数;S8:对新的粘
连区域进行凸多边形勾画,通过计算凸多边形的斜率确定新的粘连区域内粘连电子元器件
所在直线,根据新的粘连区域的电子元器件个数均分并确定新的粘连区域内的单个电子元
器件的位置,并以均分点作为单个电子元器件的中心点;S9:在待计数的SMT电子元器件物
料盘的X射线投影图像中标记出每个电子元器件的中心点并在待计数的SMT电子元器件物
料盘的X射线投影图像上输出电子元器件总数。本方法中的电子元器件分割模型是基于深
度学习技术构建的,能够自动、快速的提取不同种类的SMT电子元器件物料盘的X射线投影
图像中的各种电子元器件的特征,精确的对SMT电子元器件物料盘的X射线投影图像的图像
背景进行分割,使最终获得的SMT电子元器件物料盘的电子元器件个数更加准确。另外,本
方法在使用时不需要人为参与和X射线电料机参与,减少人力资源与机器资源的投入,计数
成本低。

附图说明

[0040] 利用附图对本发明作进一步的说明,但附图中的内容不构成对本发明的任何限制。
[0041] 图1是实施例1中的SMT物料盘的X射线投影图像,其中图1(a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、(i)是9种不同的SMT物料盘的X射线投影图像。
[0042] 图2是图1(a)输入电子元器件分割模型中获得的去除背景的分割二值图像。
[0043] 图3是实施例1中区域划分后的腐蚀操作后的二值图像。
[0044] 图4是实施例1中粘连区域内粘连电子元器件所在直线与凸多边形的位置关系示意图。
[0045] 图5是实施例1中在待计数的SMT电子元器件物料盘的X射线投影图像中标记出每个电子元器件的中心点的结构示意图。
[0046] 图6是实施例1中电子元器件的总数最终显示在待计数的SMT电子元器件物料盘的X射线投影图像的显示示意图。

具体实施方式

[0047] 结合以下实施例对本发明作进一步说明。
[0048] 实施例1。
[0049] 一种基于X射线投影的SMT物料盘电子元器件的计数方法,包括以下步骤:
[0050] S1:构建电子元器件分割模型,具体包括以下步骤:
[0051] S11:构建训练数据集。具体是,采集多个不同种类SMT物料盘的X射线投影数据,对每一个SMT物料盘的X射线投影数据进行格式转化获得多个SMT物料盘的X射线投影图像,对
每一个SMT物料盘的X射线投影图像进行分割标定和图像分块,获得的分割标签和分块后的
图像构成训练数据集。本实施例中图像分块具体是将3072×3072大小的图像分块为256×
256大小的图像。训练数据集包括多个不同种类SMT物料盘的X射线投影数据,所以构建的电
子元器件分割模型能够应用于不同种类的SMT物料盘,进行SMT物料盘电子元器件识别。本
实施例中具体采集9种不同种类SMT物料盘的X射线投影数据,经过格式转换后的9种SMT物
料盘的X射线投影图像如图1所示。需要说明的是,构建训练数据集的SMT物料盘的X射线投
影数据不限于本实施中的9种SMT物料盘的X射线投影图像所对应的SMT物料盘的X射线投影
数据,也可以是其它SMT物料盘的X射线投影图像所对应的SMT物料盘的X射线投影数据。
[0052] 本实施例中训练数据集是由多个不同种类SMT物料盘的X射线投影数据对应的SMT物料盘的X射线投影图像处理获得的分割标签和分块后的图像构成的,所以本实施例的电
子元器件分割模型可以识别多个不同种类、型号的SMT物料盘电子元器件,本实施例的SMT
物料盘电子元器件的计数方法可以应用到多种不同种类、型号的SMT物料盘。
[0053] S12:构建神经网络结构并设计训练参数。本实施例中,神经网络结构包括用于提取特征的上采样部分和用于恢复目标细节及图像大小的下采样部分。上采样部分设置有八
个子编码层和七个池化层,任意相邻两个编码层之间连接有一个池化层。下采样部分设置
有八个子解码层和七个逆池化层,任意相邻两个解码层之间连接有一个逆池化层。训练参
数包括训练轮次、训练批次、优化器、损失函数的确定。
[0054] 定义最靠近图像输入层的子编码层为第一子编码层,第一子编码层依次设置有一个卷积层,一个ReLU层,其余七个子编码层设有一个卷积层、一个子BN层和一个ReLU层,卷
积层的卷积核大小为3×3,运行的步长为2×2。ReLU层中的函数为ReLU函数,公式为f(x)=
max(0,x)。
[0055] 定义最靠近图像输出层的子解码层为第一子解码层,第一子解码层中设有一个逆卷积层,一个Sigmoid层,其余七个子解码层均设有一个逆卷积层,一个激活层,一个
Dropout层与一个连接层,的逆卷积层的卷积核大小为3×3,每次逆卷积操作下,运行的步
长为2×2。Sigmoid层是指在网络输出时,将输出掩膜的象素值保持在(0,1)之间,Sigmoid
函数公式为 其中S(x)为输出掩膜象素值,x为原象素值。Dropout层中
Dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时
从网络中丢弃。采用Dropout可以有效避免过拟合,提高模型的泛化能力,所述方法中对于
每一层连接节点的丢弃概率为0.5。
[0056] S13:使用训练数据集对神经网络结构进行训练,将训练数据集中的所有分割标签和对应的分块后的图像均输入神经网络结构中对神经网络结构进行训练获得神经网络模
型。神经网络结构对输入的分块后的图像先进行卷积与池化处理,获得初始特征图像,然后
对初始特征图像进行归一化处理,再通过池化层对激活后的初始特征图像进行下采样处
理,获得特性图像,然后利用解码层对所述特性图像进行逆卷积,获得与输入的分块后的图
像大小相同的解码图像。其中,归一化处理的归一化公式为, μ为特征的均值,
‑5
σ为特征的方差,ε为常量,一般为10 。
[0057] S14:在每次迭代过程中根据损失值使用Adam优化器对神经网络模型的参数进行更新。损失值由损失函数获得,损失函数的计算公式为
[0058]
[0059] 其中,Hp(q)为损失函数输出的值,yi为对应的标签类别,在二分类中为0或者1,而p(y)代表了所有点属于正例的概率,N为输入点数。
[0060] S15:当损失值收敛,迭代结束,获得电子元器件分割模型。电子元器件分割模型基于深度学习技术从多种大量的训练样本中自动地提取SMT的X射线投影图像中各种电子元
器件的特征,这些电子元器件的特征有着更强的表征能力和泛化能力,不仅可以更加精确
的对图像背景进行分割,具有很好的鲁棒性。另外,电子元器件分割模型识别电子元器件的
特征是基于计算机进行的,识别速度快,辐射低,且能够避免人为计数时造成的误判情况,
使用的机器资源少。并且,本实施例中的电子元器件分割模型能够识别电容、电感、整流桥
以及电阻电子元器件,普适性高。
[0061] S2:获取待计数的SMT电子元器件物料盘的X射线投影数据,将待计数的SMT电子元器件物料盘的X射线投影数据进行格式转换后调整尺寸,获得待计数的SMT电子元器件物料
盘的X射线投影图像,然后将待计数的SMT电子元器件物料盘的X射线投影图像输入到电子
元器件分割模型中,获得去除背景的分割二值图像。格式转换是将SMT电子元器件物料盘的
X射线投影数据转换成png格式的图片,调整尺寸具体是将png格式的图片大小调整为3072
×3072。本实施例中具体以图1(a)作为待计数的SMT电子元器件物料盘的X射线投影图像,
但不限于图1(a),还可以是图1或者非图1中的其它SMT物料盘的X射线投影图像。本实施例
中的待计数的SMT电子元器件物料盘的X射线投影图像获得的输入到电子元器件分割模型
中去除背景的分割二值图像如图2所示。
[0062] S3:使用Matlab软件对去除背景的分割二值图像的像素区域进行统计,确定单个电子元器件的单位面积和粘连目标的面积,根据粘连目标的面积与单个电子元器件的单位
面积的比值确定粘连区域与非粘连区域,并对粘连区域与非粘连区域分别进行初始个数统
计和位置确定。使用Matlab软件对去除背景的分割二值图像的像素面积进行统计,确定单
个电子元器件的单位面积和粘连目标的面积具体是,使用regionprops函数对去除背景的
分割二值图像进行面积统计获得粘连目标的面积和非粘连区域的中心点,然后建立面积分
布直方图,选择面积分布直方图中数量最多的区间,计算获得单个电子元器件的单位面积。
粘连目标的面积与单个电子元器件的单位面积的比值大于等于2时,粘连目标为粘连区域,
粘连目标的面积与单个电子元器件的单位面积的比值等于1时,粘连目标为非粘连区域。
[0063] 计算单个电子元器件的单位面积具体是,用面积分布直方图中的最大的面积减去最小的面积,除以40后再除以2,表示分为40个区间,除以2得出区间宽度的一半;用之前求
得的数据最多的中心位置分别减半个区间宽度和加半个区间宽度,这样就得出了单个电子
元器件的单位面积所在的区间,返回符合这个区间的面积数据;求区间中面积数据的平均
数,加上全部面积数据的中位数,最后除以2,就得到了单个电子元器件的单位面积,这样计
算后的单位面积更精确。
[0064] S4:利用形态学中的腐蚀操作处理去除背景的二值图像,获得腐蚀操作后的二值图像,具体是使用Matlab软件中的Imeroder函数构建像素面积为2的圆形结构元素
(Structure Element)对去除背景的二值图像进行初步腐蚀处理,减少粘连区域个数,同时
使用bwareaopen函数去除二值图像中面积小于10个像素的对象以减少因为噪点带来的干
扰,经腐蚀操作后获得腐蚀操作后的二值图像。
[0065] S5:对腐蚀操作后的二值图像进行区域划分,使用Matlab软件对腐蚀操作后的二值图像中的像素面积进行统计,确定腐蚀操作后的单个电子元器件的单位面积和粘连目标
的面积,根据腐蚀操作后的粘连目标的面积与单个电子元器件的面积比值确定新的粘连区
域,更新粘连区域和非粘连区域的个数。
[0066] 对腐蚀操作后的二值图像进行区域划分具体是,以腐蚀操作后的二值图像的中心为圆心建立笛卡尔坐标系,从X轴正方向开始,45度为一个间隔,沿着顺时针方向将图像分
为八个区域。区域划分后的腐蚀操作后的二值图像如图3所示。
[0067] 本实施例中,使用Matlab软件对腐蚀操作后的二值图像中的像素面积进行统计,确定腐蚀操作后的单个电子元器件的单位面积和粘连目标的面积具体是,使用
regionprops函数对腐蚀操作后的二值图像进行面积统计获得腐蚀操作后的粘连目标的面
积和非粘连区域的中心点,然后建立面积分布直方图,选择面积分布直方图中数量最多的
区间,计算获得腐蚀操作后的单个电子元器件的单位面积。腐蚀操作后的粘连目标的面积
与单个电子元器件的面积比值大于等于2时的粘连目标为新的粘连区域。腐蚀操作后的单
个电子元器件的单位面积的计算方法与步骤S3中去除背景的分割二值图像中计算单个电
子元器件的单位面积的方法一样,在此不再赘述。
[0068] S6:在新的粘连区域附近,根据区域相似性,寻找距离最近的n个单个电子元器件,n为自然数,计算n个单个电子元器件的平均面积作为新的单个电子元器件的单位面积,根
据新的粘连区域面积和新的单个电子元器件的单位面积确定新的粘连区域的电子元器件
个数。本实施例中,使用Matlab软件的pdist2函数寻找距离最近的n个单个电子元器件。步
骤S6中根据新的粘连区域面积和新的单个电子元器件的单位面积确定新的粘连区域的电
子元器件个数具体是,将新的粘连区域面积和新的单个电子元器件的单位面积进行比较,
所获得的比值为新的粘连区域的电子元器件个数。
[0069] S7:将所有新的粘连区域中电子元器件的个数与步骤S5中更新后的非粘连区域的个数相加,获得待计数的SMT电子元器件物料盘的电子元器件总数。
[0070] S8:对新的粘连区域进行凸多边形勾画,通过计算凸多边形的斜率确定新的粘连区域内粘连电子元器件所在直线,根据新的粘连区域的电子元器件个数均分并确定新的粘
连区域内的单个电子元器件的位置,并以均分点作为单个电子元器件的中心点。通过计算
凸多边形的斜率确定新的粘连区域内粘连电子元器件所在直线具体是,使用Matlab计算出
与粘连区域具有相同标准二阶中心距的椭圆的长轴与笛卡尔坐标系X轴的交角,交角的正
切值为长轴的斜率,然后求出直线与凸多边形的两个交点,再用点斜式方程确定新的粘连
区域内粘连电子元器件所在直线。粘连区域内粘连电子元器件所在直线与凸多边形的位置
关系如图4所示。
[0071] 求出直线与凸多边形的两个交点的过程是:提取出凸多边形的每一个顶点,分别求出此顶点在垂直方向上距离直线的距离,这个距离用纵坐标差表示,由于直线正穿过凸
多边形,位于直线上方的点和下方的点的纵坐标差会有正负的分别,正负变化的位置就是
直线穿过凸多边形时和其的两个交点,通过正负变化率,找到位于直线两边的点,就可以得
到凸多边形和直线的交线的斜率,通过这个交线和直线的就可以得到他们的交点,也就是
直线和凸多边形的一个交点,再用同样的方法得到另一个交点。
[0072] S9:在待计数的SMT电子元器件物料盘的X射线投影图像中标记出每个电子元器件的中心点并在待计数的SMT电子元器件物料盘的X射线投影图像上输出电子元器件总数。本
实施例中,使用Matlab软件在在待计数的SMT电子元器件物料盘的X射线投影图像中标记出
每个电子元器件的中心,标记结果如图5所示。如图6所示,待计数的SMT电子元器件物料盘
的X射线投影图像的电子元器件的总数最终显示在待计数的SMT电子元器件物料盘的X射线
投影图像上。
[0073] 该基于X射线投影的SMT物料盘电子元器件的计数方法,能够应用于不同种类的SMT物料盘,识别电子元器件的精度高,速度快,计数准确,且能够减少人力资源与机器资源
的投入,计数成本低。
[0074] 最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细说明,本领域的普通技术人员应当理
解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和
范围。