本发明属于机械自动化领域,尤其涉及一种基于机器视觉的芯片料管计数方法、装置及系统。
背景技术:
在芯片的封装和测试车间,由于芯片是装在料管里的,所以在整管操作的各个环节,都需要耗费大量的人力来清点芯片料管的数量。这种人工计数的方式不仅增加了劳动力成本,而且速度慢、错误率高、可靠性差、管理难度高。自动化的料管计数装置无疑可以大大降低劳动成本、降低错误率、提高稳定性。
可以实现芯片料管计数的设计方案有很多种,比如机械式、称重式以及基于机器视觉的技术。基于机器视觉的的计数系统核心技术在于软件,机械结构简单,生产成本低,而且面对各种不同类型的芯片料管,基于软件实现的技术方案容易设置,兼容性强。料管截面图如图1所示,要对图中的料管进行计数,系统的核心是图像处理的方案与算法实现,关键是背景和目标的分割和分割后目标的识别,主要的技术难点是提高系统的可靠性,因为图像分割和目标识别的结果容易受到环境光照、料管类型等因素的干扰,根据生产要求,只有计数正确率达到99.99%才能投入使用。现有研究提出了以下2种图像处理方案:
方案一:获取图像→灰度化→预处理→二值化→生态学处理→形状模板匹配→统计(参考文献:医学图像分割方法[j].潘晓航.电子技术与软件工程.2018(11));
方案二:获取图像→hsv变换→对s图像预处理→二值化→生态学处理→形状模板匹配→统计(参考文献:彩色图像分割方法综述[j].杨红亚,赵景秀,徐冠华,刘爽.软件导刊.2018(04))。
但是,方案一通过二值化将背景与目标进行分割,分割过程中阈值对环境光线特别敏感,分割的稳定性很差;方案二对s通道图像二值化分割目标和背景,对环境光线的敏感度降低,但是稳定性还是不够理想。
技术实现要素:
本发明的目的在于提供一种基于机器视觉的芯片料管计数方法,旨在解决现有技术存在的对环境光线特别敏感、分割的稳定性很差或稳定性不够理想的问题。
本发明的再一目的在于提供一种基于机器视觉的芯片料管计数装置,该装置机械结构简单、生产成本低,而且面对各种不同类型的芯片料管,基于软件实现的技术方案容易设置,兼容性强。
本发明的再一目的在于提供一种包括上述基于机器视觉的芯片料管计数装置的计算系统。
本发明是这样实现的,一种基于机器视觉的芯片料管计数方法,该方法包括以下步骤:
s1、读取所存储的mlp训练样本以对所采集图像的目标和背景进行分割;
s2、提取分割出的目标并进行形态学处理,获得各区域;
s3、计算各区域的面积,根据所述面积统计得到区域目标的数量。
优选地,在步骤s1中,所述mlp训练样本的训练过程具体为:
创建所采集图像的目标和背景样本;
执行create_class_mlp函数创建mlp;
通过函数add_samples_image_class_mlp添加样本,并用函数train_class_mlp训练mlp;
存储训练结果得到mlp训练样本。
优选地,在步骤s3中,在统计过程中,根据面积判断是否存在两个或三个目标连成一个区域的情况。
本发明进一步公开了一种基于机器视觉的芯片料管计数装置,该装置包括:
图像处理模块,用于读取所存储的mlp训练样本以对所采集图像的目标和背景进行分割;
区域获取模块,用于提取分割出的目标并进行形态学处理,获得各区域;
计算模块,用于计算各区域的面积,根据所述面积统计得到区域目标的数量。
优选地,所述图像处理模块还包括训练样本获取模块,该训练样本获取模块用于:
创建所采集图像的目标和背景样本;
执行create_class_mlp函数创建mlp;
通过函数add_samples_image_class_mlp添加样本,并用函数train_class_mlp训练mlp;
存储训练结果得到mlp训练样本。
优选地,所述计算模块还用于在统计过程中,根据面积判断是否存在两个或三个目标连成一个区域的情况。
本发明进一步公开了一种基于机器视觉的芯片料管计数系统,该系统包括图像获取模块、上述芯片料管计数装置以及显示模块;其中,
所述图像获取模块,用于拍摄和采集目标芯片料管的图像;
所述显示模块,用于基于halcon平台将芯片料管计数装置的中间信息和结果进行显示。
本发明克服现有技术的不足,提供一种基于机器视觉的芯片料管计数方法、装置及系统。本发明基于机器视觉的芯片料管计数方法的技术方案为:获取图像→选择背景与目标→mlp训练→mlp识别→提取目标→形态学处理→基于面积特征选择→统计。在本发明方法中,采用多层神经网络(mlp)算法对目标和背景进行分割,性能比较稳定,效果比较理想。
为了提高计数的准确率,对图像分割和目标计数的各种算法进行了大量的分析和实验,最后采用了mlp算法进行图像分割,采用对区域数量、面积统计的方法实现计数。完成所有算法后,利用vc实现应用软件的开发。
相比于现有技术的缺点和不足,本发明具有以下有益效果:本发明采用多层神经网络(mlp)算法对目标和背景进行分割,并用halcon平台实现,可靠性和准确性高,开发周期短;基于该方法的芯片料管计数装置、系统的可靠性可以达到100%,完全可以应用于半导体封测企业产线,极大地降低企业的人力成本,并提高计数的准确性,具有较好的推广前景。
附图说明
图1是料管截面图;
图2是本发明基于机器视觉的芯片料管计数方法一实施方式的步骤流程图;
图3是mlp训练样本的训练过程的步骤流程图;
图4是mlp示意图;
图5是采集的待计数料管图像;
图6是待统计的目标图像及计数结果;
图7是本发明基于机器视觉的芯片料管计数装置一实施方式的结构示意图;
图8是本发明基于机器视觉的芯片料管计数系统一实施方式的结构示意图;
图9是本发明基于机器视觉的芯片料管计数系统的实际应用状态下的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明公开了一种基于机器视觉的芯片料管计数方法,如图2所示,该方法包括以下步骤:
s1、读取所存储的mlp训练样本以对所采集图像的目标和背景进行分割
计数系统软件设计的主要内容为训练子程序和识别子程序,训练子程序通过界面训练按钮调用,即在步骤s1中,mlp训练样本的训练过程,如图3所示,具体为:
s10、创建所采集图像的目标和背景样本
程序先通过usb接口读取工业摄像机图像并在窗口显示,用户通过矩形框选择目标和背景,系统自动创建目标和背景样本(模板匹配和神经网络法用于车牌识别的比较研究[j].韦耿,夏领梯,张煜东.微型电脑应用.2013(09)、基于人工神经网络的动态过程聚类研究[j].张鹏,常羽彤.计算机工程与应用.2007(23))。
s11、执行create_class_mlp函数创建mlp
halcon通过函数create_class_mlp(::numinput,numhidden,numoutput,outputfunction,preprocessing,numcomponents,randseed:mlphandle)创建一个神经网络,如图4所示。其中,参数numinput为输入变量的个数,numhidden为隐藏层的单元个数,numoutput为输出变量的个数。
在设计过程中,numinpu选择系统默认值20,numhidden选择系统默认值10,numoutput只有目标和背景,所以选择2。mlp通过公式(1)、(2)使用输入变量计算隐藏层的输出zj:
在公式(1)中,向量
在公式(2)中,zj为第二层输出值,f=tanh(x)为第二层激活函数。于此类似,下一层通过公式(3)来计算:
输出层的激活函数由参数outputfunction决定,如果outputfunction等于linear,则输出通过公式(4)计算,如果outputfunction为logistic,则输出通过公式(5)计算,如果outputfunction等于softmax,则输出通过公式(6)计算。在该系统中使用公式(6)计算输出层输出。
参数preprocessing为用于转换特征向量的预处理类型,该系统采用normalization,参数numcomponents为变换特征数,在normalization类型中可以忽略,参数randseed为用于初始化神经网络系统的随机数,默认值为42,mlphandle为所创建神经网络的句柄(基于聚类的图像分割方法综述[j].赵祥宇,陈沫涵.信息技术.2018(06))。
s12、通过函数add_samples_image_class_mlp添加样本,并用函数train_class_mlp训练mlp
在创建完神经网络系统后,通过函数train_class_mlp对所创建的神经网络进行训练,再用函数classify_class_mlp进行识别。
s13、存储训练结果得到mlp训练样本(基于计算机图像处理的人脸皮肤表面色斑评估的可行性分析[j].吕峻闽,梅少环,缪春池.数字技术与应用.2016(06))。
s2、提取分割出的目标并进行形态学处理,获得各区域
s3、计算各区域的面积,根据所述面积统计得到区域目标的数量
根据上述步骤,通过测试和参数调整,并最终可得到本发明方法的高可靠性和高准确性。图5和图6为抽取的一组测试图片。图5为采集的待计数料管图像,图6为待统计的目标图像及计数结果。在图5中明显地存在着因为光照不均匀而出现的白色区域,但系统仍然能够正确地计数为130,虽然在椭圆所圈的地方有粘连,但可以通过面积计算统计为两个目标。图5中的背景比实际产线的背景复杂得多,但系统仍然能够正确地进行分割。通过测试,除非是在光线极端不均匀的情况下,否则系统的计数准确性是100%,当然系统是用专业光源打光的,不可能出现光线极端不均匀的情况,所以系统的可靠性非常高,完全达到了产线产品的要求。
本发明公开了一种基于机器视觉的芯片料管计数装置,如图7所示,该装置包括:
图像处理模块1,用于读取所存储的mlp训练样本以对所采集图像的目标和背景进行分割;
区域获取模块2,用于提取分割出的目标并进行形态学处理,获得各区域;
计算模块3,用于计算各区域的面积,根据所述面积统计得到区域目标的数量。
所述图像处理模块还包括训练样本获取模块,该训练样本获取模块用于:
创建所采集图像的目标和背景样本;
执行create_class_mlp函数创建mlp;
通过函数add_samples_image_class_mlp添加样本,并用函数train_class_mlp训练mlp;
存储训练结果得到mlp训练样本。
优选地,所述计算模块还用于在统计过程中,根据面积判断是否存在两个或三个目标连成一个区域的情况。
本发明装置的实施方式与上述方法的实施方式相同,在此不再赘述。
本发明公开了一种基于机器视觉的芯片料管计数系统,如图8所示,该系统包括图像获取模块4、上述芯片料管计数装置以及显示模块5;其中,所述图像获取模块,用于拍摄和采集目标芯片料管的图像;所述显示模块,用于基于halcon平台将芯片料管计数装置的中间信息和结果进行显示。
在本发明系统的实际应用过程中,如图9所示,芯片料管计数装置、显示模块5以上位机6的形式出现,而图像获取模块4则由支架40、由上至下安装在支架40上的金属圆筒(水晶底)41、光源42以及相机43构成;其中,芯片料管置放于光源42以及相机43之间,相机43可通过通信电缆与上位机6连接,上位机6对相机43采集的图像通过芯片料管计数装置进行处理,处理的中间信息或结果通过显示模块5(显示屏)进行显示。
在本发明系统中,通过专业光源打光,不会出现光线极端不均匀的情况,所以系统的可靠性非常高,完全达到了产线产品的要求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。