CN117292381A - 一种印刷电路板的序列号读取方法 - Google Patents

一种印刷电路板的序列号读取方法 Download PDF

Info

Publication number
CN117292381A
CN117292381A CN202311579550.9A CN202311579550A CN117292381A CN 117292381 A CN117292381 A CN 117292381A CN 202311579550 A CN202311579550 A CN 202311579550A CN 117292381 A CN117292381 A CN 117292381A
Authority
CN
China
Prior art keywords
image
characters
character
printed circuit
circuit board
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311579550.9A
Other languages
English (en)
Other versions
CN117292381B (zh
Inventor
王公明
王明
江军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Suteng Circuit Technology Co ltd
Original Assignee
Hangzhou Suteng Circuit Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Suteng Circuit Technology Co ltd filed Critical Hangzhou Suteng Circuit Technology Co ltd
Priority to CN202311579550.9A priority Critical patent/CN117292381B/zh
Publication of CN117292381A publication Critical patent/CN117292381A/zh
Application granted granted Critical
Publication of CN117292381B publication Critical patent/CN117292381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/147Determination of region of interest
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/16Image preprocessing
    • G06V30/162Quantising the image signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18038Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
    • G06V30/18048Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
    • G06V30/18057Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • G06V30/19093Proximity measures, i.e. similarity or distance measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Character Discrimination (AREA)

Abstract

一种印刷电路板的序列号读取方法,属于计算机视觉图像处理技术领域,包括以下步骤:步骤S1,对印刷电路板进行图像采集,获得印刷电路板图像,并在印刷电路板图像上寻找待测区域;待测区域为含有序列号的最小范围的感兴趣区域;步骤S2,切割字符;步骤S3,采用卷积神经网络,对字符图像进行辨识。本方案,对于印刷电路板图像,缩小待测区域,用以圈定目标,减少处理时间,增加精度,并通过卷积神经网络,对序列号的字符进行学习,掌握具体生产者所使用的字形,提升对于残缺字符的识别率。

Description

一种印刷电路板的序列号读取方法
技术领域
本发明属于计算机视觉图像处理技术领域,具体涉及一种印刷电路板的序列号读取方法。
背景技术
印制电路板(Printed Circuit Board,PCB),又称印刷线路板,是电子元器件的支撑体,具有导电线路和绝缘底板的双重作用。印刷电路板的序列号,是印刷电路板的身份证号码,用以识别印刷电路板的型号、出厂日期并获取保修信息。印制电路板的生产者,在印刷电路板上,用激光打标机雕刻上序列号,并在印刷电路板出产前将电路板的序列号扫描并记录于后台。如果序列号在扫描时出错,就会导致印制电路板停止输送作业,需要人工介入排查问题,从而浪费大量时间。因此,有必要保证印刷电路板的序列号读取的正确率。
印刷电路板的序列号读取,有别于常规的OCR识别,具体如下:
1,印刷电路板的序列号,是镭射打印的,由镭射点组成,属于点阵式字体,并不属于常规的字体,导致读取成功率不高。常规的字字体,其笔画是连续的,而不是由点构成。
2,印刷电路板的序列号,可能会因为镭射打印过程中存在的振动或是光线干涉,而导致序列号的字符歪斜或残缺,从而增加了读取的难度。
申请号为201811296385.5的中国专利,公开了一种印刷电路板图像轮廓提取方法,其将原始灰度图像进行二值化处理,输出二值化灰度图像,利用LOG算子对二值化灰度图像进行卷积处理,得到与像素点相对应的卷积数据,并通过判断卷积数据的值是否为零,确定边缘点。虽然该对比文件也在印刷电路板采用了图像识别技术(例如将原始灰度图像进行二值化处理),但是,该方案是对印刷电路板图像的轮廓的提取,并不能读取印刷电路板的序列号。
发明内容
鉴于上述现有技术的现状和不足之处,本发明的目的在于提供一种印刷电路板的序列号读取方法。
一种印刷电路板的序列号读取方法,包括以下步骤:
步骤S1,对印刷电路板进行图像采集,获得印刷电路板图像,并在印刷电路板图像上寻找待测区域;待测区域为含有序列号的最小范围的感兴趣区域;
步骤S101,先对印刷电路板图像进行去色处理,转化为灰度图像;然后,对灰度图像进行二值化处理,转为黑白图像;
步骤S102,先对黑白图像进行边缘侦测,确定黑白图像中下方的黑白水平交界线;然后通过霍夫找线,确定黑白图像中下方的黑白水平交界线的坐标,并删除黑白水平交界线上方的区域;
步骤S103,对黑白图像使用膨胀滤波器,进行字符膨胀,使得膨胀之后的字符中的相邻镭射点恰好相邻接;
步骤S2,切割字符:通过投影法得到图像中的字符像素点位置,并从图像中切割出每个字符的图像;
步骤S3,采用卷积神经网络,对字符图像进行辨识:
将字符的图像,由黑底白字转换为白底黑字,且统一字符的图像的分辨率;卷积神经网络的架构,包括第一层卷积层、第一层池化层、第二层卷积层、第二层池化层、第一层全连接层和第二层全连接层。
进一步,步骤S101中,二值化处理,把大于二值化阈值的像素灰度设为灰度极大值255,把小于等于二值化阈值的像素灰度设为灰度极小值0,且二值化阈值为90。
进一步,步骤S2中,首先,水平投影,取得序列号的字符在垂直方向上的位置,并删除字符下方的区域;然后,垂直投影,取得序列号的字符在水平方向上的位置,并删除序列号左右两侧的区域。
进一步,步骤S2中,先水平投影,在水平方向从左到右进行白色像素点的个数的累加,每出现一个像素值为255,则计数增加1;当图像从上至下依次进行水平方向的扫描后,获得水平投影波形图。
进一步,步骤S2中,然后垂直投影,在垂直方向从上到下进行白色像素的个数的累加,每出现一个像素值为255,则计数增加1;当图像从左至右依次进行垂直方向的扫描后,获得垂直投影波形图。
进一步,步骤S2中,切割出的字符,需要判断相邻的两个字符是否是破损的字符U:
步骤S201,判断相邻的两个字符的字符间距是否小于等于平均字符间距;如果否,则这两个相邻字符并非破损的字符U;否则进行下一步;
步骤S202,对于相邻的两个字符图片,计算白色像素值在该字符图片中的占比;若两个占比的差的绝对值,大于10%,则这两个相邻字符并非破损的字符U;否则,这两个相邻字符,为破损的字符U,并将这两个相邻字符替换为字符U。
进一步,步骤S3中,第一层卷积层,其卷积核为3×3,滤波器设定参数为32,激活函数为ReLu,选择默认步长1,选择默认padding方式为valid;
第一层池化层,默认步长为1,采用最大池化的池化方法进行特征抽取;
第二层卷积层,其卷积核为3×3,滤波器设定参数为64,激活函数为ReLu,选择默认步长1,选择默认padding方式为valid;
第二层池化层,默认步长为1,采用最大池化的池化方法进行特征抽取;
第一层全连接层,输出特征个数为1024,激活函数为ReLU;
第二层全连接层,输出特征个数为29,激活函数为Softmax。
进一步,卷积神经网络,采用的优化器为RMSProp,其损失函数采用交叉熵的算法;卷积神经网络,采用的传递函数为Sigmoid函数,并使用深度学习平台TensorFlow进行卷积神经网络的训练。
本方案,具有以下优点:
1,本方案,对于印刷电路板图像,缩小待测区域,用以圈定目标,减少处理时间,增加精度。
本方案,采用了边缘侦测和霍夫找线,利用序列号通常会打印在PCI/PCI-E插槽或M.2接口下方,两者之间会产生边界线的特征,确定黑白图像中下方的黑白水平交界线的坐标,并删除黑白水平交界线上方的区域。
本方案,采用了字符膨胀,将点阵式字符形成类似于连续笔画的字符,字符显得更加清楚,并提升字符投影的效果。
2,本方案,通过投影法得到图像中的字符像素点位置,并从图像中切割出每个字符的图像,并对切割出的字符,判断相邻的两个字符其是否是破损的字符U。
3,本方案,通过卷积神经网络,对序列号的字符进行学习,掌握具体生产者所使用的字形,提升对于残缺字符的识别率。
附图说明
图1为本发明的流程图;
图2为去色处理后的图像;
图3为二值化处理的图像;
图4为删除黑白交界线上方的区域之后的黑白图像;
图5为膨胀后的黑白图像;
图6为图5的水平投影波形图;
图7是水平投影后的图像;
图8为图7的垂直投影波形图;
图9为破损的字符U流程图;
图10为卷积神经网络架构图;
图11为错误辨识的结果统计图。
具体实施方式
下面结合附图,对本发明作进一步详细说明。
虽然,印刷电路板的序列号,是镭射打印的,属于点阵式字符,且每个生产者采用的序列号的尺寸也不相同,对于不同的生产者,相同的字符可能呈现不同的点阵排布(主要在于同一字符的镭射点个数和镭射点大小的不同),但是,对于同一个生产者,印刷电路板的序列号,仍然是属于固定的字形,因此,本方案,将序列号的图像,进行预处理,使序列号接近于笔画连续的字符,并通过卷积神经网络(CNN),对序列号的字符进行学习,掌握具体生产者所使用的字形,提升对于残缺字符的识别率。本方案,通过采用卷积神经网络对生产者的序列号图像进行预训练,从而解决印刷电路板的序列号的读取问题。
印刷电路板的序列号,为一串字符,通常由字母、数字和“-”符号构成,没有固定的排序方式和长度。例如,序列号可以为F2MXCEYKKPJ-5。每个生产者,可以根据其内部规则设定印刷电路板的序列号的排序方式和长度。
图1为本发明的流程图;如图1所示,一种印刷电路板的序列号读取方法,包括以下步骤:
步骤S1,对印刷电路板进行图像采集,获得印刷电路板图像,并在印刷电路板图像上寻找待测区域。
印刷电路板图像,采用的常规的图像采集即可获取,例如,可以采用固定机位的摄像机拍摄后获取。本方案中,印刷电路板图像,其像素分辨率为1920×1080,且包含有序列号,其宽度为序列号长度的两倍。序列号为一组由字母、数字或横杠组成的符号串。
待测区域为含有序列号的最小范围的感兴趣区域(Region OfInterest,ROI)。寻找待测区域,能减少本方案的运作时间和噪声的干扰。在图像处理领域,感兴趣区域(ROI)是从图像中选择的一个图像区域,这个区域是图像分析所关注的重点。圈定该区域以便进行进一步处理。寻找待测区域,用以圈定目标,减少处理时间,增加精度。
步骤S101,先对印刷电路板图像进行去色处理,转化为灰度图像,减少后续图像处理的复杂性;然后,对灰度图像进行二值化处理,转为黑白图像。
二值化处理,把大于二值化阈值的像素灰度设为灰度极大值255,把小于等于二值化阈值的像素灰度设为灰度极小值0。本方案中,二值化阈值为90。二值化处理,为常见图像预处理方式,不再赘述。
图2为去色处理后的图像;如图2所示,序列号位于印刷电路板图像下方的大面积黑色区块中,且序列号上方不远处都会有剧烈的颜色变化,这种变化会产生边界线,有利于通过霍夫变换检测直线,找到该边界线,从而确定待测区域。这是因为,序列号通常会打印在PCI/PCI-E插槽或M.2接口下方,两者之间会产生边界线。
图3为二值化处理的图像;如图3所示,二值化处理之后,图像只剩下黑白两色,并且,序列号位于下方的黑色区域,在序列号上方的区域呈现黑白相间,此时,可以通过边缘侦测,找出下方的黑白交界线,然后通过霍夫找线确定下方的黑白交界线的坐标。
步骤S102,先对黑白图像进行边缘侦测,确定黑白图像中下方的黑白水平交界线;然后通过霍夫找线,确定黑白图像中下方的黑白水平交界线的坐标,并删除黑白水平交界线上方的区域,得到待测区域。
边缘侦测的必要性在于,如果不进行边缘侦测,直接进行霍夫找线,则会找到过多的线段,增加方案的困难性。
边缘侦测,为视觉图像处理领域的常规手段,例如,可以采用申请号为CN201510406528.3的中国发明申请《一种图像边缘检测方法》的技术手段,或者采用申请号为CN201710607188.X的中国发明申请《边缘检测方法及装置》的技术手段,或者采用Canny边缘检测算法。
霍夫找线,为视觉图像处理领域的常规手段,例如,可以采用申请号CN202110960406.4的中国发明申请《一种基于霍夫变换的自适应直线检测方法》的技术手段,或者采用OpenCV霍夫变换(Hough Transform)直线检测。
图4为删除黑白交界线上方的区域之后的黑白图像;相较于图3,图4仅保留了图3中的黑白交界线下方的区域,该区域正是含有序列号的区域,从而缩小了侦测区域。
步骤S103,对待测区域图像使用膨胀滤波器,进行字符膨胀,使得膨胀之后的字符中的相邻镭射点恰好相邻接。
膨胀滤波器所采用的中心像素的大小,根据相邻镭射点的间距所确定,使得膨胀之后的字符中的相邻镭射点恰好相邻接。在本方案中,使用膨胀滤波器,只要6*6中心像素有一个白色像素,就把36个中心像素全部替换为白色像素。
图5为膨胀后的黑白图像;从图5中可见,点阵式字符,经过膨胀之后,形成类似于连续笔画的字符,其作用在于:第一,字符膨胀之后,字符显得更加清楚,并且部分破损的字符,经过膨胀之后,能够得到一定程度的修复;第二,提升字符投影的效果,连续性笔画的字符投影,相较于点阵式的字符投影,更能显示字符的位置。
步骤S2,切割字符:对待测区域图像,通过投影法得到图像中的字符像素点位置,并从图像中切割出每个字符的图像。
首先,水平投影,取得序列号的字符在垂直方向上的位置,并删除字符下方的区域。
水平投影时,在水平方向从左到右进行白色像素点的个数的累加,每出现一个像素值为255,则计数增加1;当图像从上至下依次进行水平方向的扫描后,获得水平投影波形图;图6为图5的水平投影波形图,如图6所示,在水平投影波形图中,最上方的波谷至最下方的波谷的距离,就是序列号高度h。
然后,垂直投影,取得序列号的字符在水平方向上的位置,并删除序列号左右两侧的区域。
垂直投影的对象是水平投影后的图像。图7是水平投影后的图像。如图7所示,水平投影后的图像,由于已经删除字符下方的区域,此时,待测区域的面积,已经缩减的比较小了,有利于集中信息,方便后续的垂直投影,避免扫描出现白色像素的无序列号区域。
垂直投影的目的在于,将每个字符单独切割出来,在垂直方向从上到下进行白色像素的个数的累加,每出现一个像素值为255,则计数增加1;当图像从左至右依次进行垂直方向的扫描后,获得垂直投影波形图;图8为图7的垂直投影波形图,如图8所示,在垂直投影波形图中,相邻两个波形的间隔,就是字符的间距;同一波形中,左侧波谷到右侧波谷的距离,就是字符的宽度wn,其中,wn是从左到右第n个字符的宽度。
切割出的字符,需要判断相邻的两个字符是否是破损的字符U。破损的字符U,其下方不可见,容易被误判成两个字符1。
图9为破损的字符U流程图,如图9所示,相邻的两个字符是否是破损的字符U的判断过程如下:
步骤S201,判断相邻的两个字符的字符间距是否小于等于平均字符间距;如果否,则这两个相邻字符并非破损的字符U;否则进行下一步。
原则上,字符间距,应该是固定的。但是,由于字符经过二值化和膨胀之后,字符间距会稍微变动,所以,采用平均字符作为字符间距。而若是破损的字符U被误判成两个字符1,则两个字符1之间的间距,是大于平均字符的。
步骤S202,对于相邻的两个字符图片,计算白色像素值在该字符图片中的占比;若两个占比的差的绝对值,大于10%,则这两个相邻字符并非破损的字符U;否则,这两个相邻字符,为破损的字符U,并将这两个相邻字符替换为字符U。
对于破损的字符U,若被误判成两个字符1,则对于两个字符1的切割后的图像,两者相似度较高,可以通过计算白色像素值的占比,得出两者的相似度。
步骤S3,采用卷积神经网络,对字符图像进行辨识:
将单个字符图像输入卷积神经网络进行辨识;卷积神经网络的训练集的来源为切割字符步骤中所得到的字符图像。
前处理,将字符的图像,由黑底白字转换为白底黑字,且统一将字符的图像的分辨率设置为28×28。
本方案中,采用TensorFlow搭建卷积神经网络模型。TensorFlow是一个完全基于Python语言设计的开源的深度学习框架。
图10为卷积神经网络架构图,卷积神经网络架构为两层卷积层与两层全连接层。具体的,卷积神经网络的架构,依次为第一层卷积层、第一层池化层、第二层卷积层、第二层池化层、第一层全连接层和第二层全连接层。
第一层卷积层,其卷积核为3×3,滤波器设定参数为32,激活函数为ReLu,选择默认步长1,选择默认padding方式为valid,命名为Conv1。代码如下:
network=conv_2d(network,32,3,activation='relu',name='conv1')。
第一层池化层,默认步长为1,命名为Pool1。代码如下:
network=max_pool_2d(network,2,name='pool1')。
第二层卷积层,其卷积核为3×3,滤波器设定参数为64,激活函数为ReLu,选择默认步长1,选择默认padding方式为valid,命名为Conv2。代码如下:
network=conv_2d(network,64,3,activation='relu',name='conv2')。
第二层池化层,默认步长为1,命名为Pool2。代码如下:
network=max_pool_2d(network,2,name='pool2')。
第一层全连接层,输出特征个数为1024,激活函数为ReLU,命名为Dense1。代码如下:
network=fully_connected(network,512,activation='relu',name='Dense1')。
第二层全连接层,输出特征个数为29,激活函数为Softmax,命名为Dense2。代码如下:
network=fully_connected(network,29,activation='softmax',name='Dense2')。
激活函数Softmax,也被称作多分类问题的主要分类器,卷积神经网络后面接上两层全连接层并使用Softmax来将神经网络的输出转为机率的形式,使得最高机率的输出对应到种类。
卷积神经网络,采用的优化器为RMSProp(Root Mean Square Prop),RMSProp能解决损失函数在更新参数时存在着摆放过大的问题,而其中损失函数采用交叉熵(crossentropy)的算法,能使神经网络的训练加快,更快使神经网络达到收敛。
卷积神经网络,使用Sequential模型。本方案针对简单的灰度图像进行辨识,故不需要使用到复杂的神经网络架构。输入图像为28×28的大小,意谓着有784个单元点,这些单元点将进入卷积层进行特征选取。
卷积层是卷积神经网络的核心部分,它通过卷积操作提取输入图像的特征,并将这些特征作为下一层的输入。第一层卷积层和第二层卷积层,都使用3×3的卷积核,且步长都为1,意味着产生32张特征图。ReLU作为激活函数,在神经网络中的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好的解决复杂的问题。
池化层则用于降采样,可以减少卷积层输出的特征图的大小,从而减少网络参数和计算量。第一层池化层和第二层池化层,都采用最大池化(max-pooling)的池化方法进行特征抽取。最大池化只取出矩阵当中的最大值,意谓着只取出图像中最强的特征表现,有效地减少较弱的特征,并防止过度拟合的问题。
全连接层,其输入即是来自隐藏层(如卷积层)的高纬度特征矢量,通过矩阵矢量乘积和非线性运算的方式得到列矢量的形式,相当于一个分类器。
验证本方案,卷积神经网络,采用的传递函数为Sigmoid函数。使用的开发平台软件为PyCharm Community Edition 2017.2.3,使用的语法为python,版本为3.5.2。使用深度学习平台TensorFlow进行卷积神经网络的训练。训练集共有29种类别,依序为阿拉伯数字0~9与英文字符A、B、C、D、E、G、H、I、K、M、N、P、Q、R、S、T、U、Y与符号“-”,每个字符均用膨胀、侵蚀、左右旋转1度来进行训练集扩增。每个类别都包含具有破损的字符图像,共13186张字符图像作为训练集。最后利用训练集来对网络进行50次迭代,达到收敛。
将训练好的网络架构分别对字符进行测试,其利用CNN网络辨识结果达到99.98%的辨识率。图11为错误辨识的结果统计图,图中,第一个错字的出现原因在于,“I”和“1”非常相似;第二个错字的出现原因在于,“0”有缺损,缺损后的“0”与“C”相似;第三个错字的出现原因在于,“Y”有缺损,缺损后的“Y”与“7”相似。
由此可见,本方案,能够通过大量的图像训练学习,来达到较理想的辨识结果。并且本方案,网络深度相对较浅,步骤简单。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (8)

1.一种印刷电路板的序列号读取方法,其特征在于,包括以下步骤:
步骤S1,对印刷电路板进行图像采集,获得印刷电路板图像,并在印刷电路板图像上寻找待测区域;
步骤S101,先对印刷电路板图像进行去色处理,转化为灰度图像;然后,对灰度图像进行二值化处理,转为黑白图像;
步骤S102,先对黑白图像进行边缘侦测,确定黑白图像中下方的黑白水平交界线;然后通过霍夫找线,确定黑白图像中下方的黑白水平交界线的坐标,并删除黑白水平交界线上方的区域,得到待测区域;
步骤S103,对待测区域图像使用膨胀滤波器,进行字符膨胀,使得膨胀之后的字符中的相邻镭射点恰好相邻接;
步骤S2,切割字符:对待测区域图像,通过投影法得到图像中的字符像素点位置,并从图像中切割出每个字符的图像;
步骤S3,采用卷积神经网络,对字符图像进行辨识:
将字符的图像,由黑底白字转换为白底黑字,且统一字符的图像的分辨率;卷积神经网络的架构,包括第一层卷积层、第一层池化层、第二层卷积层、第二层池化层、第一层全连接层和第二层全连接层。
2.根据权利要求1所述一种印刷电路板的序列号读取方法,其特征在于,步骤S101中,二值化处理:把大于二值化阈值的像素灰度设为灰度极大值255,把小于等于二值化阈值的像素灰度设为灰度极小值0,且二值化阈值为90。
3.根据权利要求1所述一种印刷电路板的序列号读取方法,其特征在于,步骤S2中,首先,水平投影,取得序列号的字符在垂直方向上的位置,并删除字符下方的区域;然后,垂直投影,取得序列号的字符在水平方向上的位置,并删除序列号左右两侧的区域。
4.根据权利要求3所述一种印刷电路板的序列号读取方法,其特征在于,步骤S2中,先水平投影,在水平方向从左到右进行白色像素点的个数的累加,每出现一个像素值为255,则计数增加1;当图像从上至下依次进行水平方向的扫描后,获得水平投影波形图。
5.根据权利要求4所述一种印刷电路板的序列号读取方法,其特征在于,步骤S2中,然后垂直投影,在垂直方向从上到下进行白色像素的个数的累加,每出现一个像素值为255,则计数增加1;当图像从左至右依次进行垂直方向的扫描后,获得垂直投影波形图。
6.根据权利要求5所述一种印刷电路板的序列号读取方法,其特征在于,步骤S2中,切割出的字符,需要判断相邻的两个字符是否是破损的字符U:
步骤S201,判断相邻的两个字符的字符间距是否小于等于平均字符间距;如果否,则这两个相邻字符并非破损的字符U;否则进行下一步;
步骤S202,对于相邻的两个字符图片,计算白色像素值在该字符图片中的占比;若两个占比的差的绝对值,大于10%,则这两个相邻字符并非破损的字符U;否则,这两个相邻字符,为破损的字符U,并将这两个相邻字符替换为字符U。
7.根据权利要求1或6所述一种印刷电路板的序列号读取方法,其特征在于,步骤S3中,第一层卷积层,其卷积核为3×3,滤波器设定参数为32,激活函数为ReLu,选择默认步长1,选择默认padding方式为valid;
第一层池化层,默认步长为1,采用最大池化的池化方法进行特征抽取;
第二层卷积层,其卷积核为3×3,滤波器设定参数为64,激活函数为ReLu,选择默认步长1,选择默认padding方式为valid;
第二层池化层,默认步长为1,采用最大池化的池化方法进行特征抽取;
第一层全连接层,输出特征个数为1024,激活函数为ReLU;
第二层全连接层,输出特征个数为29,激活函数为Softmax。
8.根据权利要求7所述一种印刷电路板的序列号读取方法,其特征在于,卷积神经网络,采用的优化器为RMSProp,其损失函数采用交叉熵的算法;卷积神经网络,采用的传递函数为Sigmoid函数,并使用深度学习平台TensorFlow进行卷积神经网络的训练。
CN202311579550.9A 2023-11-24 2023-11-24 一种印刷电路板的序列号读取方法 Active CN117292381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311579550.9A CN117292381B (zh) 2023-11-24 2023-11-24 一种印刷电路板的序列号读取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311579550.9A CN117292381B (zh) 2023-11-24 2023-11-24 一种印刷电路板的序列号读取方法

Publications (2)

Publication Number Publication Date
CN117292381A true CN117292381A (zh) 2023-12-26
CN117292381B CN117292381B (zh) 2024-02-27

Family

ID=89248402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311579550.9A Active CN117292381B (zh) 2023-11-24 2023-11-24 一种印刷电路板的序列号读取方法

Country Status (1)

Country Link
CN (1) CN117292381B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011039821A (ja) * 2009-08-12 2011-02-24 Hitachi Omron Terminal Solutions Corp 記番号認識装置、および紙葉類処理装置
JP2012027534A (ja) * 2010-07-20 2012-02-09 Suzuki Motor Corp 白線端検出方法及びそれを利用した駐車支援装置
CN104819984A (zh) * 2014-01-31 2015-08-05 斯克林集团公司 印刷电路板外观的检查装置及检查方法
CN109308700A (zh) * 2017-07-27 2019-02-05 南京敏光视觉智能科技有限公司 一种基于印刷品字符的视觉识别缺陷检测方法
CN109740603A (zh) * 2019-01-21 2019-05-10 闽江学院 基于cnn卷积神经网络下的车辆字符识别方法
CN109871938A (zh) * 2019-01-21 2019-06-11 重庆大学 一种基于卷积神经网络的零部件喷码检测方法
CN113283441A (zh) * 2021-06-09 2021-08-20 高书俊 一种贴片电阻上的印刷字符识别方法、装置、终端及介质
CN115063375A (zh) * 2022-02-18 2022-09-16 厦门中翎易优创科技有限公司 一种对排卵试纸检测结果进行自动分析的图像识别方法
CN116071735A (zh) * 2023-02-17 2023-05-05 东莞博美特自动化科技有限公司 Pcb电路板的图像识别方法、装置及设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011039821A (ja) * 2009-08-12 2011-02-24 Hitachi Omron Terminal Solutions Corp 記番号認識装置、および紙葉類処理装置
JP2012027534A (ja) * 2010-07-20 2012-02-09 Suzuki Motor Corp 白線端検出方法及びそれを利用した駐車支援装置
CN104819984A (zh) * 2014-01-31 2015-08-05 斯克林集团公司 印刷电路板外观的检查装置及检查方法
CN109308700A (zh) * 2017-07-27 2019-02-05 南京敏光视觉智能科技有限公司 一种基于印刷品字符的视觉识别缺陷检测方法
CN109740603A (zh) * 2019-01-21 2019-05-10 闽江学院 基于cnn卷积神经网络下的车辆字符识别方法
CN109871938A (zh) * 2019-01-21 2019-06-11 重庆大学 一种基于卷积神经网络的零部件喷码检测方法
CN113283441A (zh) * 2021-06-09 2021-08-20 高书俊 一种贴片电阻上的印刷字符识别方法、装置、终端及介质
CN115063375A (zh) * 2022-02-18 2022-09-16 厦门中翎易优创科技有限公司 一种对排卵试纸检测结果进行自动分析的图像识别方法
CN116071735A (zh) * 2023-02-17 2023-05-05 东莞博美特自动化科技有限公司 Pcb电路板的图像识别方法、装置及设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JUANHUA ZHU ET AL.: "Printed circuit board defect visual detection based on wavelet denoising", 《IOP CONFERENCE SERIES: MATERIALS SCIENCE AND ENGINEERING》, pages 1 - 6 *
LIANG YU ET AL.: "Research on the application of binary‑like coding and Hough circle detection technology in PCB traceability system", 《JOURNAL OF AMBIENT INTELLIGENCE AND HUMANIZED COMPUTING 》, pages 1 - 11 *
李沙: "纸币号码识别系统的设计与研究", 《中国优秀硕士学位论文全文数据库 信息科技辑 》, pages 138 - 2553 *
樊诚昊: "基于异构平台的IC芯片印刷字符嵌入式识别系统实现", 《中国优秀硕士学位论文全文数据库 信息科技辑 》, pages 135 - 318 *

Also Published As

Publication number Publication date
CN117292381B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
CN111325203B (zh) 一种基于图像校正的美式车牌识别方法及系统
CN111160352B (zh) 一种基于图像分割的工件金属表面文字识别方法及系统
CN109784342B (zh) 一种基于深度学习模型的ocr识别方法及终端
CN109886978B (zh) 一种基于深度学习的端到端告警信息识别方法
CN110598566A (zh) 图像处理方法、装置、终端和计算机可读存储介质
CN112507758A (zh) 答题卡字符串识别方法、装置、终端和计算机存储介质
CN110705488A (zh) 图像文字识别方法
CN113033558B (zh) 一种用于自然场景的文本检测方法及装置、存储介质
CN112446262A (zh) 文本分析方法、装置、终端和计算机可读存储介质
CN111814576A (zh) 一种基于深度学习的购物小票图片识别方法
JP3228938B2 (ja) 分布マップを用いる画像の分類方法及び装置
US20040179733A1 (en) Image reading apparatus
CN115880566A (zh) 一种基于视觉分析的智能阅卷系统
CN111626145A (zh) 一种简捷有效的残缺表格识别及跨页拼接方法
CN115311666A (zh) 图文识别方法、装置、计算机设备及存储介质
CN117558019B (zh) 从pdf格式元器件手册中自动提取符号图参数的方法
Rodrigues et al. Cursive character recognition–a character segmentation method using projection profile-based technique
CN117292381B (zh) 一种印刷电路板的序列号读取方法
CN110766001B (zh) 基于cnn和rnn的银行卡卡号定位与端到端识别方法
CN110298236B (zh) 一种基于深度学习的盲文图像自动识别方法和系统
Kshetry Image preprocessing and modified adaptive thresholding for improving OCR
CN115731550A (zh) 一种基于深度学习的药品说明书自动识别方法、系统及存储介质
CN114550176A (zh) 基于深度学习的试卷批改方法
CN112528724A (zh) 表格单元格抽出方法、装置、设备及计算机可读存储介质
CN118279923B (zh) 基于深度学习训练的图片文字识别方法、系统及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant