CN117292381A - 一种印刷电路板的序列号读取方法 - Google Patents
一种印刷电路板的序列号读取方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims description 27
- 238000011176 pooling Methods 0.000 claims description 25
- 230000004913 activation Effects 0.000 claims description 18
- 238000003708 edge detection Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 6
- 238000013135 deep learning Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004040 coloring Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 15
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004042 decolorization Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000010330 laser marking Methods 0.000 description 1
- 238000007648 laser printing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/147—Determination of region of interest
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/16—Image preprocessing
- G06V30/162—Quantising the image signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
- G06V30/1801—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
- G06V30/18019—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
- G06V30/18038—Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
- G06V30/18048—Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
- G06V30/18057—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/19007—Matching; Proximity measures
- G06V30/19093—Proximity 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进行卷积神经网络的训练。
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)
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电路板的图像识别方法、装置及设备 |
-
2023
- 2023-11-24 CN CN202311579550.9A patent/CN117292381B/zh active Active
Patent Citations (9)
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)
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 |