APP下载

基于机器视觉的线束连接器字符检测*

2018-04-20吴晖辉曾宪荣赖燕君吴福培

测试技术学报 2018年2期
关键词:字符权值灰度

吴晖辉, 曾宪荣, 赖燕君, 吴福培

(1. 顺德职业技术学院 机电工程学院, 广东 佛山 528330; 2. 汕头大学 机械电子工程系, 广东 汕头 515063)

0 引 言

线束连接器是电子电路设备中不可或缺的部件, 它的作用是连接阻断处或孤立不通的电路; 近年来, 光纤系统中、 光信号通路中也使用连接器, 它们的作用与电路连接器相同. 随着消费电子、 汽车电子、 通信终端市场的快速增长以及全球连接器生产能力不断向亚洲及中国转移, 中国已经成为全球连接器增长最快和容量最大的市场. 目前, 连接器正向着信号传输集成化、 产品体积微型化、 插拔便捷化等方向发展, 对连接器的品质要求也越发严格[1]. 为保证品质, 在连接器的生产过程中, 对其塑封体上的字符进行检测是一道必不可少的工序, 该字符不仅包含着器件的类型型号等信息, 甚至包含了极性等相关信息, 清晰准确的字符对用户选择和使用连接器具有极其重要的作用[2].

目前, 连接器上印刷字符大多采用人工目检的方式, 这种方式智能性低、 效率差, 错误率高. 伴随着机器视觉的兴起, 其具有的稳定性、 智能性和准确性使得它在多个工业领域内都成功实施了应用[3-5], 也形成了诸多的检测方法. 在字符识别领域, 神经网络具有自组织性、 自学习性以及自适应性等优点, 该方法已经成功应用于字符的视觉识别[6-10]. 针对此, 文中提出了一种基于机器视觉的检测方法. 首先利用一阶导数获得印刷字符边缘点, 并将边缘点拟合为线, 由此定位字符的位置; 然后, 对字符分割、 归一化, 提取特征, 并建立了用于印刷字符特征识别的BP神经网络. 针对标准BP神经网络容易陷入局部极小值的特点, 引入附加动量项对其进行改进.

图 1 检测系统Fig.1 Inspection system

1 检测系统组成

通常意义上所说的检测系统主要是指直接执行检测任务的在线检测机器, 其结构如图 1 所示, 检测过程为: 连接器经传送带传送至喷墨装置时, 表面喷写印刷字符, 然后运动至检测位置. 当位置传感器感应到连接器到达预定的位置时, 相机拍照, 获取连接器的图像, 经过分析后, 判断连接器上印刷的字符是否合适, 如果字符不合适, 开启排出装置, 利用高压空气, 将不良品从传送带吹出.

2 连接器和字符定位

当位置传感器位置和传送带的速度都固定时, 连接器拍摄的位置基本也是固定的, 其在图像中的检测位置也是固定的. 考虑到检测系统为在线检测, 为了减少处理时间, 提高检测的实时性, 检测过程只针对图像中有连接器的部分进行处理, 称之为感兴趣区域(ROI). 如图 2 所示, 在连接器的图像中, 可以预先设定一个矩形的ROI.

图 2 连接器图像和ROIFig.2 Connection image and ROI

确定ROI后, 需要知道连接器的具体位置, 然后定位字符的位置, 并将字符的位置与连接器的位置对比, 从而判断印刷字符是否有偏差, 比如偏移、 歪斜, 最后识别连接器字符.

图像中物体定位的方式有很多种, 比如匹配、 边缘提取和分割等. 注意到连接器与传送带之间有明显的灰度差异, 即边缘特征很明显, 因此, 论文采用边缘提取的方式来定位连接器.

要提取边缘, 首先得确定边缘点. 边缘点是指图像中周围像素灰度有显著变化的那些像素点, 即灰度值导数较大的地方. 对一个一维连续函数f(x)而言, 其边缘点位于一阶导数大于0的位置, 即f′(x)|≫0. 注意到真实的图像是离散行和列组成, 因此, 以某一行为例 , 其一阶导数定义为fi=fi-fi-1, 即在数组中, 第i点处的一阶导数为第i点的灰度值与第i-1点的灰度值之差. 注意到这个定义并不对称[8], 一副尺寸为M*N的灰度图像可以看作是2维的矩阵, 其在任意点处的导数定义为[9]

d(i,j)=[f(i+1,j+1)-f(i-1,j-1)]/2,

(1)

式中:f(i+1,j+1)是图像中点(i+1,j+1)处的灰度值,i=1,2,…M-1,j=1,2,…,N-1.

在图像数组中, 可以将每一行数据理解为由N个点构成的搜索线, 在这条搜索线上, 对每一个点计算其导数. 在边缘点所在的位置, 前后两点变化剧烈, 导数值比较大, 因此可以定义搜索线上变化最为剧烈的点为边缘点, 如图 3 所示. 沿水平方向任意取一条搜索线, 这条线上任一点对应的灰度值剖面线和导数值如图 4 所示. 很显然, 灰度有显著变化的边缘点其一阶导数值比较大, 而在平坦的区域, 导数值基本接近0, 据此可以确定边缘点位置. 同理, 如图 5 所示, 对于多条搜索线, 就可以获得多个边缘点, 然后利用最小二乘法拟合边缘点, 就可以获得一条由边缘点构成的竖直边缘线.

图 3 搜索线和边缘点Fig.3 Search-line and edge points

图 4 搜索线上各点的灰度值和导数值Fig.4 Gray value and derivative value of search-line

类似的, 也可以利用上述方法由上到下沿竖直方向建立搜索线, 获得边缘点, 并将其拟合为水平边缘线, 从而确定连接器的位置, 如图 6 所示. 注意到正常情况下, 印刷字符在连接器中大致的印刷位置是固定的, 因此可以以获得连接器水平和竖直边缘为准, 确定文字的大致范围, 然后利用上述方式定位文字的水平边缘和竖直边缘; 最后将文字的边缘与连接器的边缘对比, 两者的水平方向距离和竖直方向距离如果在设定的范围内则印刷的字符位置合适, 否则判断为不合格. 此外, 两者的水平边缘和竖直边缘接近平行, 如果角度相差过大, 判断为不合格, 不需要后续的识别.

图 5 边缘点拟合线Fig.5 Edge points and fitting line

图 6 连接器和字符定位结果Fig.6 Location of connection and characters

3 字符预处理

经过上述处理的印刷字符, 已经排除了印刷位置和角度的不良, 接下来需要对字符进行处理, 以便为字符的识别做好准备.

3.1 二值化

字符定位后, 为将图像中的目标字符同背景区域分离, 应对图像进行二值化处理, 考虑到字符跟背景的灰度值差异明显, 直接用经验值作为阈值, 二值化的结果如图7(a)所示.

3.2 整体倾斜度调整

如前文的字符定位所述, 图像中的印刷字符可能存在一定程度的倾斜, 需要进行适当的调整以使字符处于同一个水平位置, 方便后续的字符分割并且降低字符识别时的难度.

3.3 字符分割

BP神经网络在训练和检测时都只能以1个单独的数字作为样本, 因此二值化后的多个字符需要进行分割, 可以利用字符之间间隔为白色的背景这个特点来分割. 具体步骤为:

1) 确定字符的左右宽度. 对二值化后的字符图像, 依次取一列, 从上至下扫描, 遇到第一个黑色像素, 记录其列号, 为字符左端位置; 继续扫描, 直到遇到的某列中没有黑色像素, 即为字符的右端位置. 这两个列号就记录了字符的大致宽度.

2) 确定图像中字符的高度范围. 在第1)步得到的宽度范围内自上而下进行逐行扫描, 遇到第一个黑色像素, 记录其行号, 即为字符的上端位置; 然后继续扫描, 直到遇到有一行中没有黑色像素, 即为字符的下端位置.

结果如图7(b)所示.

图 7 二值化字符和分割字符Fig.7 Characters binaryzation and segmentation

3.4 字符归一化

由于连接器的大小不一样, 为了跟连接器的尺寸匹配, 印刷的字符尺寸也各不相同, 因此获得图像中字符的大小不一, 而在训练和识别时, 都需要统一尺寸的字符对象, 因此有必要对字符进行归一化处理, 使其有相同的尺寸. 本文中, 将字符的尺寸统一设置为54*27. 算法首先定出字符的目标宽度和高度, 并计算出水平和竖直方向的缩放因子, 然后对不同尺寸的字符完成像素映射, 实现缩放.

4 神经网络设计

4.1 建立神经网络

将多个sigmoid单元连接成图 8 所示的3层网络, 第1层为输入层. 考虑到要识别的对象是图像中的字符, 则输入必然是这个字符的某种表示, 或者是能够代表字符的特征. 如果选择特征, 则每个字符的特征参数数量不同, 不适合固定输入的分类器. 为此, 论文选择将整个归一化后的字符图像作为输入. 这样输入的特征向量的维数是图像高和宽像素的乘积, 其大小54*27, 经过再次抽样后, 归一化为18×9的矩形区域, 则对于每一个输入字符样本, 就有162(18×9)个特征, 即输入层的节点数为162.

注意到检测对象并不复杂, 为了减少训练时间, 采用1个隐藏层(第2层). 隐含层的传递函数采用S型函数, 其定义为

(2)

其中,

y=∑ωjixji,

(3)

式中:xji为隐藏层中第j个单元的第i个输入变量;wji是输入xji相关联的权值. 误差函数定义为

(4)

式中:w是权值wji的集合;ydk是第k个输出节点的期望输出;yk是网络的实际输出, 为了最小化误差, 需要调整w中的每个wji权值. 为此, 采用梯度下降算法. 在该算法中, 对每个训练样本利用样本的误差E的梯度来修改权值, 第j个单元其权值的更新法则为

ωji=ωji+Δωji, Δωji=ηδixji,

(5)

式中:η为学习速率,δi是误差项.

第3层为输出层, 计算所有输入信号的总和, 并被直接解释为输出. 对于输出, 其结果为P,1,2,…,8,9, 总共10个类型. 可以指定输出0, 0.1, 0.2, …, 0.9来编码这10个输出值, 当结果为所需的类时, 与它对应的输出接近为1, 否则接近0.

4.2 训练神经网络

对于每一个样本, 其输出对应于1种类别标号, 训练时对于第k类输出类型, 将结果设置为高值(例如0.9), 其他单元设置为低值(例如0.1), 测试时取具有最高的输出单元编号作为网络的预测值. 此方案两个优点: ① 相比于单一的输出单元编码方案, 可以让目标函数提供更大的自由度. ② 除了可提供类别信息外, 还可以提供有关分类决策的可靠性信息[9].

算法在开始时将每一步迭代的累积误差清零; 然后对于训练集中的每一个样本, 沿网络向前传播, 计算网络的输出并保存至向量, 接着根据这个输出与样本的目标输出之间的误差按照前述的公式更新权值, 使得当同样的输入再次送入网络时, 其输出能接近正确答案. 一旦输出层的权值已经调整完毕, 就可以对隐藏层的权值做同样的事情, 经过多次迭代, 直到误差值降低到一个设定的可以接受的阈值内.

对于学习速率η, 考虑将其设置的比较小, 防止搜索步长太大而越过误差曲面最小值.

5 实验验证

根据具体的待测目标, 实验选取230幅每幅含有两组字符的图像. 每组包含9个数字字符, 一个英文字符P, 共460个字符, 作为训练和测试样本. 部分训练样本组成的序列如图 6 所示.

实验将460个样本分为两组, 训练样本260个和检测样本200个. 对样本进行训练, 设定学习速率为0.1, 误差阈值为0.001, 隐藏层节点数分别为10和30时. 其学习收敛过程如图 8 所示. 隐藏层节点数为10时, 迭代1 200次即达到误差要求, 耗时约为29 s; 隐藏层节点数为30时, 迭代670次即达到误差要求, 耗时约为22 s. 一般说来, 隐藏层中的单元数目越多, 意味着权值越多, 这为网络拟合训练数据提供了更大的自由度, 因此, 其训练时, 更容易收敛. 然而过多的单元数目会导致训练时间过长, 而且有可能由于过渡拟合而导致测试数据的识别率下降. 在本文中, 我们尝试将隐藏节点数增加到60次时, 迭代420次即达到要求, 但是网络的训练耗时达到37 s.

图 8 神经网络结构Fig.8 Neural network structure

图 9 神经网络学习收敛过程Fig.9 The convergence procedure of the neural network training

实验中发现, 由于待检测到对象是固定的有规则的数字和字母, 因此识别率比较高. 对隐层节点数30, 迭代到误差符合阈值网络, 将200个样本作为对像输入, 对字符的识别率达到了98.2%, 单个字符的识别时间平均约为120 ms, 如表 1 所示.

考虑到固定学习率法对初始学习率的依赖度较高, 较小的学习率会使训练时间较长, 但可以获得较高的字符识别率; 而学习率过高时, 则存在震荡特性, 对网络性能带来不利影响. 自适应学习率法通过在搜索过程中根据误差自动调节学习率, 从而增大收敛方向的搜索步长来加速收敛或者减小步长来提高搜索精度, 但是依然可能陷入局部极小、 高频震荡等. 为此, 引入了附加动量

Δωji(t+1)=(1-α)ηδixji+αΔωji(t),

(6)

式中: Δωji(t)表示第t次迭代时的权值更新;α是一个常数, 称为附加动量.

可见, 与式(5)相比, 其权值更新时, 增加了一个动量α, 使得网络可以更容易从局部极小值中爬升出来. 实验表明: 引入动量因子后, 加快了网络的训练速度, 进一步提高了系统收敛速度和精度.在初始学习率0.1、 误差阈值0.001, 隐层节点数为30的情况下, 引入动量因子0.5, 网络性能比较结果如表1所示, 迭代次数为460次, 对字符识别的准确率为99.1%, 单个字符的识别时间平均约为95 ms, 可知具有更高的识别效率和准确率. 表 1 给出了测试样本图像的识别结果.

表 1 检测结果

6 结 论

针对连接器字符人工检测存在的不足, 提出了一种基于机器视觉的检测方法. 在自动定位并分割字符后, 将归一化的字符图像作为特征输入网络. 同时, 在保留传统BP神经网络优点的同时, 通过引入附加动量因子, 有效降低了收敛算法陷入局部极小点的危险性, 缩短了迭代次数. 实验证明, 论文提出的基于机器视觉的连接器字符图像检测方法准确率可达99.1%. 目前该检测系统已成功应用于佛山一家电业公司的连接器检测, 下一步工作重点是: 优化网络参数, 改善收敛算法, 进一步提高检测的精度和速度.

参考文献:

[1]钱萍, 陈文华, 高亮, 等. 航天电连接器综合应力可靠性统计模型的验证[J]. 中国机械工程, 2011, 22(3): 257-261.

Qian Ping, Chen Wenhua, Gao Liang, et al. Reliability statistical model verification of aerospace electrical connectors under multiple stresses[J]. China Mechanical Engineering, 2011, 22(3): 257-261. (in Chinese)

[2]黄先学, 韩震宇. 基于OPENCV的半导体元器件字符检测方法[J]. 计测技术, 2013, 33(4): 30-32.

Huang Xianxue, Han Zhenyu. A method for semiconductor electronic components character detection based on OpenCV[J]. Metrology & Measurement Technology, 2013, 33(4): 30-32. (in Chinese)

[3]王益恩, 夏如艇, 陈洪立. 铣刀机器视觉检测系统设计[J]. 测试技术学报, 2015, 29(3): 235-240.

Wang Yien, Xia Ruting, Chen Hongli. Design of machine vision measurement for cutter[J]. Journal of test and measurement technology, 2015, 29(3): 235-240. (in Chinese)

[4]吴晖辉, 张宪民. 多引脚类贴装器件的炉前检测算法[J]. 电子测量与技术学报, 2011, 25(11): 998-1005.

Wu Huihui, Zhang Xianmin. Inspection algorithm of before-furnace for multi-leads surface mounted devices [J]. Journal of Electronic Measurement and Instrument, 2011, 25(11): 998-1005. (in Chinese)

[5]张堃, 王明泉, 张俊生.基于机器视觉的光纤传像元件缺陷检测系统[J]. 测试技术学报, 2017, 31(4): 298-303.

Zhang Kun, Wang Mingquan, Zhang Junsheng. Surface defect detection system for optical fiber devices for image transmission based on machine vision[J]. Journal of Test and MeasuremenT technology, 2017, 31(4): 298-303. (in Chinese)

[6]许宜申, 顾济华, 陶智, 等. 基于改进BP神经网络的手写字符识别[J]. 通信技术, 2011, 44(5): 106-109.

Xu YiShen, Gu Jihua, Tao Zhi, et al. Handwritten character recognition based on improved BP neural network[J]. Communications Technology, 2011, 44(5): 106-109. (in Chinese)

[7]Kaushik Deb, Md Ibrahim Khan, Anik Saha, et al. An efficient method of vehicle license plate recognition based on sliding concentric Windows and artificial neural network [J]. ELSEVIER SciVerse Science Direct, 2012(4): 812 -819. (in Chinese)

[8]Carsten Steger, Markus Urich, Christian Wiedemann. 机器视觉算法与应用(双语版) [M]. 杨少荣, 吴迪靖, 段德山, 译. 北京: 清华大学出版社, 2011.

[9]张铮, 王艳平, 薛桂香. 数字图像处理与机器视觉[M]. 北京:人民邮电出版社, 2012.

猜你喜欢

字符权值灰度
一种融合时间权值和用户行为序列的电影推荐模型
采用改进导重法的拓扑结构灰度单元过滤技术
CONTENTS
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
HBM电子称与西门子S7-200系列PLC自由口通讯
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于权值动量的RBM加速学习算法研究