一种基于Adaboost算法的产品状态检测方法和系统的制作方法_2

文档序号:9912117阅读:来源:国知局
的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0080] 图1示出了根据本发明一个实施例的一种基于Adaboost算法的产品状态检测方法 的流程图。如图1所示,该方法包括:
[0081] 步骤S110,采集处于所需状态下的产品的界面图像,生成界面图像样本。
[0082]步骤S120,将界面图像样本做灰度处理,得到灰度图像。
[0083] 步骤S130,对灰度图像做二值化处理,提取Haar特征。
[0084] 步骤S140,利用Adaboost算法对Haar特征进行训练,获得分类器模板。
[0085]步骤S150,利用分类器模板对流水线上采集的产品的界面图像进行分类,判断产 品的界面图像是否处于所需状态。
[0086] 将Adaboost算法与图像二值化和Haar特征结合进行优化,Adaboost算法具有分类 准确度高,分类效率高等特点,Haar特征具有对被检测物体所处的位置状态以及环境光的 不敏感特性,能够有效地避免环境光对检测率的影响,而图像二值化处理能够将被检测物 体图像进行二值化处理,能够大幅降低图像的信息量又不丢失关键信息,提高目标检测的 响应时间。将此算法引入产线,对产品进行检测,不仅能够实现自动化检测产品减少劳动力 投入,而且能够满足产线流水线上的生产节拍。
[0087] 在本发明的一个实施例中,步骤S130中的二值化处理,采用基于迭代法的二值化 处理,包括:
[0088] a:求出灰度图像的最大灰度值和最小灰度值,分别记为fmax,fmin,令阈值初始值 为:
[0089]
[0090] b:根据第k次计算阈值Tk将图像分割为前景和背景,分别求出前景和背景的平均 灰度值,Ab,Af:
W+1 g=r~+l[0093] 其中g为灰度值,h(g)为灰度值为g的像素点数量,[0094] c:令
[0091]
[0092]
[0095]
[0096] 如果Tk = Tk+1则取Tk为所求得阈值T,否则转到步骤b继续迭代,直到获得阈值T。 [0097]利用迭代法最佳二值化阈值算法,可以自适应计算出最佳的二值化阈值,提高二 值化效果,更好地在降低数据量的同时保留有效信息。
[0098]在本发明的一个实施例中,利用积分图计算Haar特征。
[0099] Haar特征又称为矩形特征,矩形特征分为三种特征矩形:两矩形、三矩形、四矩形 特征,如图4所示,两矩形特征反应的是边缘特性,三矩形特征反应的是线性特征,四矩形特 征反应的是特定方向的特征。特征模板的特征值定义为:白色矩形像素和减去黑色矩形像 素和。
[0100] Haar特征值反映了图像的灰度变化情况,矩形特征可位于图像任意位置,大小也 可以任意改变,所以矩形特征值是矩形模版类别、矩形位置和矩形大小这三个因素的函数。
[0101] 在获取了矩形特征后,为了快速计算矩形特征的特征值,使用积分图来计算特征 值。积分图的定义为坐标A(x,y)的积分图是其左上角的所有像素之和。
[0102] 在图5中,A(x,y)表示点(x,y)的积分图;S(x,y)表示点(x,y)的y方向的所有原始 图像之和。
[0103] 以公式表示,
1其中ii(x,y)表示积分图,i(x',y')表示原始 图像(x',y')点的像素值,s(x,y)表示点(x,y)的y方向上的所有原始图像之和。
[0104] s(x,y)=s(x,y-l)+i(x,y)
[0105] ii(x,y) = ii(x-l ,y)+s(x,y)
[0106] 积分图构造好之后,图像中任何矩阵区域的像素累加和都可以通过简单运算得 到,提高了计算矩形特征的特征值的速度。
[0107] Adaboost是一种基于级联分类模型的分类器,级联分类器就是将多个强分类器连 接在一起进行操作,每一个强分类器都由若干个弱分类器加权组成。一个强分类器对负样 本的判别准确度非常高,所以一旦发现检测到目标负样本,就不在继续调用下面的强分类 器,减少了很多的检测时间。其次Adaboost是一种迭代算法,初始时,所有的训练样本的权 重都设置为相等,在此样本分布下训练出一个弱分类器,在第(1,2,3…T次迭代)次迭代中, 样本的权重由第T-1次迭代的结果而定,每次迭代的最后,都有一个调整权重的过程,被分 类错误的样本将得到更高的权重。这样分错的样本就被突出出来,得到一个新的样本分布, 在新的样本分布下,再次对弱分类器进行训练,得到新的弱分类器。经过T次弱分类器把这 个T个弱分类器按照一定的权重加起来,就得到最终的强分类器
[0108] 在本发明的一个实施例中,步骤S140中利用Adaboost算法对所述Haar特征进行训 练,获得分类器模板包括:
[0109] 令X表示样本空间,Y表示样本类别集合,Y= {-1,1},令
[0110] S={(Xi,yi) I i = l,2, · · ·,m}为样本集,其中XiEXjiEY,
[0111] 初始化m个样本的权值,假设样本分布Di为均勾分布:
[0112] Di (i) = 1 /m,Dt (i)表示在第t轮迭代中赋给样本(Xi,yi)的权值,令T表示设置的迭 代次数:
[0113] 根据样本分布Dt,通过对样本集S进行抽样产生训练集St,在训练集St上训练分类 器ht,用分类器h t对样本集S中的所有样本分类,得到本轮的分类器ht: X-Y,并且有误差
[0114]
.,
[0115] 其中,当ht(xi)关yi时,1 = 1;当ht(Xi) = yi时,1 = 0;
[0116] $at=(i/2)ln[(l-et)/e t],
[0117] 更新每个样本的权值
[0118]其中,Zt是一个正规因子,用来确保Dt+i(i)的和为1,
[0119] 最终的分类器模板为:
[0120]
[0121]利用计算出的分类器模板,可以准确地将采集的图像进行分类,判断产品是否处 于产线要求的状态,该方法可以用到智能手表的产线中,判断智能手表是否恢复出厂设置。 当然,其他类似的需要根据界面来判断状态的智能产品检测流程中,均可以使用,只是采集 的样本不同,训练的分类器不同。
[0122] 图3示出了根据本发明一个实施例的一种基于Adaboost算法的产品状态检测系统 在线监测的工作流程图。如图3所示,用高速工业相机采集产线流水线上的产品开机界面的 图像,将产品开机界面图像通过优化后的Adaboost分类器进行分类,识别出产品的状态是 否恢复出厂设置,将恢复了出厂设置的产品进入流水线下级,未恢复出厂设置的产品返回 恢复出厂设置工站。由于优化后的Adaboost算法对图像的拍摄角度以及大小不敏感,而且 响应时间快,因此生成的分类器分类能够达到理想的检测准确率和检测响应速度。
[0123] 图2示出了根据本发明一个实施例的一种基于Adaboost算法的产品状态检测系统 的示意图,如图2所示,该系统200包括:
[0124] 界面图像采集单元210,用于采集处于所需状态下的产品的界面图像,生成界面图 像样本。
[0125] 灰度处理单元220,用于将所述界面图像样本做灰度处理,得到灰度图像。
[0126] 特征提取单元230,用于对所述灰度图像做二值化处理,提取Haar特征。
[0127] 分类器训练单元240,用于利用Adaboost算法对所述Haar特征进行训练,获得分类 器模板。
[0128] 检测单元250,用于利用所述分类器模板对流水线上采集的产品的界面图像进行 分类,判断所述产品的界面图像是否处于所需状态。
[0129] 在本发明的一个实施例中,特征提取单元230对灰度图像的二值化处理,为基于迭 代法的二值化处理,包括:
[0130] a:求出灰度图像的最大灰度值和最小灰度值,分别记为fmax,fmin,令阈值初始值 为:
[0131]
[0132] b:根据第k次计算阈值Tk将图像分割为前景和背景,分别求出前景和背景的平均 灰度值,Ab,A f:
[0133]
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1