1.本申请涉及钢铁冶金技术领域,尤其涉及一种板材喷码的识别方法及识别系统。
背景技术:2.在钢铁热轧或冷轧产线,轧制的板材/卷在产出后,产线上有喷号设备在板材表面喷镀标识(标识字符包括钢卷号、规格、钢种)。当喷涂设备出现问题时,会安排人工进行喷涂,人工喷涂容易出现因人工误操作喷涂错误信息,因此需要质检人员现场进行物料信息比对,对人工喷涂的标识进行确认,并且根据物料信息进行质量表面判定、封锁解封、离线探伤等质检操作。这时,现场质检人员需要将每张板材上的喷涂标识进行拍照,将照片带回办公室后与逐一确认;采用人工确认的方式显著增加了质检人员的工作量,且工作效率低,人员识别结果滞后。
技术实现要素:3.本发明提供了一种板材喷码的识别方法及识别系统,以解决或者部分解决目前钢卷的板材喷码采用人工识别,导致识别效率低,结果滞后的技术问题。
4.为解决上述技术问题,本发明提供了一种板材喷码的识别方法,板材喷码包括p行喷码字符,p≥3且为正整数;识别方法包括:
5.获取板材喷码的图像;
6.对板材喷码的图像进行反光处理,获得反光处理后的图像;
7.对反光处理后的图像进行二值化,获得二值化图像;
8.从二值化图像中确定感兴趣区域roi图像;
9.对roi图像进行字符行提取,获得m个行字符图像,m≥p;
10.对每个行字符图像进行分割、腐蚀,获得板材喷码中包括的n个单字符图像;
11.使用神经网络对n个单字符图像进行预测,获得包括n个预测字符的识别结果。
12.可选的,从二值化图像中确定感兴趣区域roi图像,具体包括:
13.将二值化图像进行第一闭操作,获得第一闭处理图像;
14.对第一闭处理图像进行第一开操作,获得第一开处理图像;
15.对第一开处理图像进行第一膨胀,获得第一膨胀图像;
16.确定第一膨胀图像的最大轮廓;
17.确定与第一膨胀图像的最大轮廓对应的最小拟合矩形;
18.根据第一膨胀图像的最大轮廓对应的最小拟合矩形的顶点坐标,从反光处理后的图像中截取第一图像;
19.对第一图像进行旋转,获得旋转后的第一图像;
20.对旋转后的第一图像进行第二闭操作,获得第二闭处理图像;
21.对第二闭处理图像进行第二开操作,获得第二开处理图像;
22.对第二开处理图像进行降噪,获得感兴趣区域roi图像。
23.进一步的,在对第一图像进行旋转,获得旋转后的第一图像之后,识别方法还包括:
24.判断旋转后的第一图像是否只包括一行喷码字符;
25.若否,对旋转后的第一图像进行第二闭操作,获得第二闭处理图像;
26.若是,增加膨胀系数,对第一开处理图像进行第二膨胀,获得第二膨胀图像;
27.确定第二膨胀图像的最大轮廓;
28.确定第二膨胀图像的最大轮廓对应的最小拟合矩形;
29.根据第二膨胀图像的最大轮廓对应的最小拟合矩形的顶点坐标,从反光处理后的图像中截取第二图像;
30.对第二图像进行旋转,获得旋转后的第二图像;
31.对旋转后的第二图像进行缩放,获得缩小后的第二图像;
32.对旋转后的第一图像进行第二闭操作,获得第二闭处理图像,具体包括:
33.对缩小后的第二图像进行第二闭操作,获得第二闭处理图像。
34.如上述的技术方案,对roi图像进行字符行提取,获得m个行字符图像,具体包括:
35.对roi图像进行水平膨胀,获得水平膨胀后的roi图像;
36.从水平膨胀后的roi图像中确定p个行字符轮廓;
37.确定每个行字符轮廓对应的最小拟合矩形;
38.根据行字符轮廓对应的最小拟合矩形,从水平膨胀后的roi图像中截取出p个行字符图像;
39.获取每个行字符图像中所有相邻字符的字符间距,判断p个行字符图像中是否存在字符间距大于等于预设间距的相邻字符;
40.若是,根据字符间距大于等于预设间距的相邻字符,将对应的行字符图像分割,获得分割后的行字符图像;
41.根据相邻字符的字符间距小于预设间距的行字符图像和分割后的行字符图像,获得m个行字符图像。
42.进一步的,在获得m个行字符图像之后,识别方法还包括:
43.分别对每个行字符图像进行垂直投影,确定每个行字符图像的左边界和右边界,以及从左边界开始往左,每个像素宽度内的第一投影值和从右边界开始往右,每个像素宽度内的第二投影值;
44.在从左边界开始往左的预设像素宽度内,检测第一投影值的总和是否大于像素阈值;若第一投影值的总和大于等于像素阈值,根据第一预设像素宽度,向左移动左边界;若第一投影值的总和小于像素阈值,删除左边界以左的图像;
45.在右边界开始往右的预设像素宽度内,检测第二投影值的总和是否大于像素阈值;若第二投影值的总和大于等于像素阈值,根据预设像素宽度,向右移动右边界;若第二投影值的总和小于像素阈值,删除右边界以右的图像。
46.如上述的技术方案,对每个行字符图像进行分割、腐蚀,获得板材喷码中包括的n个单字符图像,具体包括:
47.采用垂直投影法,确定每个行字符图像中的多个第一分割点;
48.确定单字符的最大字符宽度和最小字符宽度;
49.检测相邻第一分割点的间距是否大于最大字符宽度,将间距大于最大字符宽度的相邻第一分割点之间字符图像进行腐蚀后再垂直投影,获得第二分割点;
50.检测第二分割点与相邻第二分割点和/或相邻第一分割点之间的间距是否小于最小字符宽度;
51.若第二分割点与相邻第二分割点和/或相邻第一分割点之间的间距小于最小字符宽度,则删除对应的第二分割点;
52.根据第一分割点和剩余的第二分割点,对行字符图像进行分割,获得板材喷码中包括的n个单字符图像。
53.如上述的技术方案,使用神经网络对n个单字符图像进行预测,获得包括n个预测字符的识别结果,具体包括:
54.对n个单字符图像进行像素归一化,获得归一化后的n个单字符图像;
55.将归一化后的n个单字符图像作为输入,使用预设卷积神经网络模型进行预测,获得与归一化后的n个单字符图像对应的n个预测字符;
56.将n个预测字符顺序排列,获得包括n个预测字符的识别结果。
57.如上述的技术方案,对板材喷码的图像进行反光处理,获得反光处理后的图像,具体包括:
58.对板材喷码的图像进行顶帽变换,获得反光处理后的图像。
59.如上述的技术方案,在获取板材喷码的图像之后,识别方法还包括:
60.确定板材喷码的图像的倾斜角度,根据倾斜角度,对板材喷码的图像进行倾斜校正,获得校正后的板材喷码的图像;
61.对板材喷码的图像进行反光处理,获得反光处理后的图像,具体包括:
62.对校正后的板材喷码的图像进行反光处理,获得反光处理后的图像。
63.基于前述技术方案相同的发明构思,本发明还提供了一种板材喷码的识别系统,板材喷码包括p行喷码字符,p≥3且为正整数;识别系统包括:
64.获取模块,用于获取板材喷码的图像;
65.反光处理模块,用于对板材喷码的图像进行反光处理,获得反光处理后的图像;
66.二值化模块,用于对反光处理后的图像进行二值化,获得二值化图像;
67.roi确定模块,用于从二值化图像中确定感兴趣区域roi图像;
68.行字符提取模块,用于对roi图像进行字符行提取,获得m个行字符图像,m≥p;
69.单字符分割模块,用于对每个行字符图像进行分割、腐蚀,获得板材喷码中包括的n个单字符图像;
70.神经网络模块,用于使用神经网络对n个单字符图像进行预测,获得包括n个预测字符的识别结果。
71.通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
72.本发明提供了一种适用于钢铁生产领域的板材喷码的字符图像识别方法,通过首先对获得板材喷码图像进行反光处理,以消除现场照明灯因不均匀光照对图像识别的不利影响;然后对反光处理后的图像二值化,从二值化的图像中确定roi图像,然后在roi图像中,结合字符片段的分布,提取出m个行字符图像;接着再对每个行字符图像进行分割、腐蚀,获得单字符图像,之所以采用分割结合腐蚀的操作,是因为人工喷码可能存在字符粘
连,需要对其进行腐蚀后才能分割出准确的单字符图像;最后使用神经网络对单字符图像进行预测,获得板材喷码的字符识别结果;通过上述的方法,实现了复杂排列的钢卷板材喷码的图像识别,显著提高了喷码字符识别效率。
73.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
74.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
75.图1示出了根据本发明一个实施例的板材喷码的识别方法流程图;
76.图2示出了根据本发明一个实施例的roi图像示意图;
77.图3示出了根据本发明一个实施例的从roi图像中提取的行字符图像;
78.图4示出了根据本发明一个实施例的将行字符图像分割后的单字符图像;
79.图5示出了根据本发明一个实施例的板材喷码的识别系统示意图。
具体实施方式
80.为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。在整个说明书中,除非另有特别说明,本文使用的术语应理解为如本领域中通常所使用的含义。因此,除非另有定义,本文使用的所有技术和科学术语具有与本发明所属领域技术人员的一般理解相同的含义。若存在矛盾,本说明书优先。除非另有特别说明,本发明中用到的各种设备等,均可通过市场购买得到或者可通过现有方法制备得到。
81.目前来说,采用图像处理和神经网络方法对字符图像进行识别,在汽车车牌号识别、银行卡卡号识别等领域已经得到应用。但对于钢板的板材喷码,其图像识别具有如下的难点:喷码字符复杂,包含商标和多行字符,商标位于左上角,每行字符包括字母和数字;一种喷码字符的形式为:第一行是钢卷牌号,第二行是执行标准,第三行是物料号及炉次号,第四行是钢卷的规格和班组;其中,第三行和第四行由于同时存在不同种类的喷码,因此一行喷码字符还分为了多个字符片段。板材喷码的上述特点导致常见的图像识别和神经网络方法无法良好的对喷码字符进行准确的识别。
82.因此,在一个可选的实施例中,如图1所示,提出了一种板材喷码的识别方法,板材喷码包括p行喷码字符,p≥3且为正整数;其整体思路如下:
83.s1:获取板材喷码的图像;
84.s2:对板材喷码的图像进行反光处理,获得反光处理后的图像;
85.s3:对反光处理后的图像进行二值化,获得二值化图像;
86.s4:从二值化图像中确定感兴趣区域roi图像;
87.s5:对roi图像进行字符行提取,获得m个行字符图像,m≥p;
88.s6:对每个行字符图像进行分割、腐蚀,获得板材喷码中包括的n个单字符图像;
89.s7:使用神经网络对n个单字符图像进行预测,获得包括n个预测字符的识别结果。
90.总的来说,上述方法提供了一种适用于钢铁生产领域的板材喷码的字符图像识别方法,由于钢铁生产车间光线不足较为昏暗,需要24小时不间断的开启照明灯,与自然光线相比,照明灯的灯光不均匀更容易在钢板表面产生反光,因此先对获得板材喷码图像进行反光处理,以消除不均匀光照对图像识别的不利影响;然后对反光处理后的图像二值化,从二值化的图像中确定roi图像,然后在roi图像中提取行字符图像;由于板材喷码中一些行包括相隔较远的两种类型以上的字符片段,因此按字符片段对喷码字符实施行提取,获得m个行字符图像;接着再对每个行字符图像进行分割、腐蚀,获得单字符图像,之所以采用分割结合腐蚀的操作,是因为人工喷码可能存在字符粘连,需要对其进行腐蚀后才能分割出准确的单字符图像;最后使用神经网络对单字符图像进行预测,获得板材喷码的字符识别结果;通过上述的方法,能够实现对复杂排列的钢卷板材喷码的字符图像识别,显著提高了字符识别效率。
91.接下来,以python语言实现为例,对上述方案进行完整的说明:
92.首先是s1:获取板材喷码的图像;获取图像的方式可以是人工手机拍照或相机拍照,也可以在现场固定安装工业相机,将包括板材喷码的照片作为待处理的图像。
93.在拍照获取图像时,图像中的喷码字符将不可避免的出现一定程度的倾斜,而倾斜的字符将影响后续过程中图像处理。故而,可对图像进行倾斜校正:一种倾斜校正的方案具体如下:
94.在获取板材喷码的图像之后,确定板材喷码的图像的倾斜角度,根据倾斜角度,对板材喷码的图像进行倾斜校正,获得校正后的板材喷码的图像;然后对校正后的板材喷码的图像进行反光处理,获得反光处理后的图像。
95.在进行倾斜校正时,倾斜角度包括初始角度偏差,垂直角度偏差和水平角度偏差,根据上述三种角度偏差中的其中一种,使用rotaterect函数对图像进行旋转,将拍照获得倾斜图像进行校正。
96.接下来实施步骤s2,对校正后的图像进行反光处理,可选的,对图像进行顶帽变换,获得反光处理后的图像。通过顶帽变换可消除钢板上出现的各种反光点。
97.接下来根据步骤s3,将反光处理后的图像二值化。二值化是将彩色图像中所有像素点的灰度设置为0或255,可通过threshold函数,对顶帽变换后的图像进行ostu二值化。
98.接着,根据s4,从二值化后的图像中确定出包括喷码字符的感兴趣区域roi图像。本实施例中提供的一种可选的确定roi图像的方法如下:
99.s411:将二值化图像进行第一闭操作,获得第一闭处理图像;
100.s412:对第一闭处理图像进行第一开操作,获得第一开处理图像;
101.s413:对第一开处理图像进行第一膨胀,获得第一膨胀图像;
102.s414:确定第一膨胀图像的最大轮廓;
103.s415:确定与第一膨胀图像的最大轮廓对应的最小拟合矩形;
104.s416:根据确定与第一膨胀图像的最大轮廓对应的最小拟合矩形的顶点坐标,从反光处理后的图像中截取第一图像;
105.s417:对第一图像进行旋转,获得旋转后的第一图像;
106.s418:对旋转后的第一图像进行第二闭操作,获得第二闭处理图像;
107.s419:对第二闭处理图像进行第二开操作,获得第二开处理图像;
108.s420:对第二开处理图像进行降噪,获得感兴趣区域roi图像。
109.上述方案首先对二值化图像进行闭合操作再实施开操作;闭合操作是使用结构元对二值化图像先进行膨胀,然后再进行腐蚀操作;开操作是使用结构元对二值化图像先进行腐蚀,然后对腐蚀后的图像再进行膨胀。之所以先进行闭合操作,是为了消弥图片上存在的狭窄的间断和小的孔洞;然后再对图片进行开操作,以滑物体轮廓,断开狭窄的间断和消除细小的突出物。通过先闭后开的组合操作,能够减少反光处理后图像中留下的细小杂质,使二值化图像更加清晰。可选的,闭操作通过函数morph_close实现,开操作通过morph_open函数实现。
110.接下来对开操作后的图像进行膨胀操作,使二值化图像中的喷码字符区域构成一个连通区域,膨胀操作可通过函数dilate实现。然后查找字符轮廓。由于二值化图像中包括多行喷码字符,因此将查找出多个字符轮廓,从多个字符轮廓中选取面积最大的轮廓,作为可能的roi区域。为了实现roi区域的截取,对面积最大的轮廓拟合出最小拟合矩形(最小外接矩形),然后根据最小外接矩形的顶点坐标,从反光处理后的图像中截取出roi区域图像;由于是从反光处理后的图像中截取,因此将roi区域图像再次二值化后旋转摆正,再依次实施闭操作、开操作和图像降噪,获得最终的roi图像,如图2所示。
111.可选的,查找轮廓可使用findcontours函数实现,选取面积最大的轮廓可使用contourarea函数实现,从多个轮廓中获取最小外接矩形可通过minarearect函数实现。
112.前述内容提到,由于板材喷码包括多行字符,为了避免查找字符最大轮廓的步骤出现错误,使截取的roi图像只包括一行字符,需要对旋转后的第一图像进行判断,一种可选的方法如下:
113.在s417:对第一图像进行旋转,获得旋转后的第一图像之后,识别方法还包括:
114.s4171:判断旋转后的第一图像是否只包括一行喷码字符;
115.若否,执行s41:对旋转后的第一图像进行闭操作,获得第二闭处理图像;
116.若是,增加膨胀系数后执行执行s413,对第一开处理图像进行第二膨胀,获得第二膨胀图像;
117.从s414开始,后续步骤变更为:
118.s414:确定第二膨胀图像的最大轮廓;
119.s415:确定第二膨胀图像的最大轮廓对应的最小拟合矩形;
120.s416:根第二膨胀图像的最大轮廓对应的最小拟合矩形的顶点坐标,从反光处理后的图像中截取第二图像;
121.s417:对第二图像进行旋转,获得旋转后的第二图像;
122.s418:对旋转后的第二图像进行缩放,获得缩小后的第二图像;
123.s419:对旋转后的第一图像进行第二闭操作,获得第二闭处理图像,具体包括:
124.s420:对缩小后的第二图像进行第二闭操作,获得第二闭处理图像。
125.在上述方案中,判断roi图像是否只包括一行字符,可以通过检测roi图像的高宽比实现;通过对大量板材喷码字符的像素高宽比的实际统计分析,确定当roi图像的像素高度/像素宽度小于0.2时,可确认此时roi图像中只包括了一行字符;而板材喷码至少应当包括3行字符,因此说明roi区域选取不合理;此时应当返回增大s413步骤的膨胀系数,重新确
定最大轮廓,最大轮廓对应的最小拟合矩形,再根据最小拟合矩形重新截取roi区域图像。由于此处进一步增大了膨胀系数,为了避免roi区域图像多大,导致后续图像处理,如字符分割时效果变差,因此适当缩小roi区域图像,然后再进行后续的第二闭操作、第二开操作和降噪处理。缩放图像可使用resize函数实现。
126.在确定roi图像后,下一步则是从roi图像中按字符行提取行字符图像,以方便后续根据行进行字符的分割和腐蚀。一种从roi图像中分割行字符的方法如下:
127.s51:对roi图像进行水平膨胀,获得水平膨胀后的roi图像;
128.s52:从水平膨胀后的roi图像中确定p个行字符轮廓;
129.s53:确定每个行字符轮廓对应的最小拟合矩形;
130.s54:根据行字符轮廓对应的最小拟合矩形,从水平膨胀后的roi图像中截取出p个行字符图像;
131.s55:获取每个行字符图像中所有相邻字符的字符间距,判断p个行字符图像中是否存在字符间距大于等于预设间距的相邻字符;若是,根据字符间距大于等于预设间距的相邻字符,将对应的行字符图像分割,获得分割后的行字符图像;
132.s56:根据相邻字符的字符间距小于预设间距的行字符图像和分割后的行字符图像,获得m个行字符图像。
133.总的来说,上述方案是根据喷码字符的特征,按照字符行的分布进行聚类归并,使每一行字符形成一个行字符集。
134.具体的,先对roi图像进行水平膨胀,从水平膨胀后的图像中按行确定字符轮廓,再根据行字符轮廓确定对应的最小外接矩形,再根据最小外接矩形从二值化图像中截取出行字符图像。可选的,在确定出最小外接矩形后,为了判断行字符是否有效,增加最小外接矩形的行高筛选,当检测到最小外接矩形的行高小于预设像素值时,如50像素,则说明此时最小外接矩形内并无有效的喷码字符,因此删除行高小于预设像素值的最小外接矩形。
135.由于板材喷码字符的特殊性,对于某些行中包括两种以上的字符片段信息,相邻字符片段之间存在明显的空隙,如图2中的第三行,包括钢卷的物料号(p220802222100)及炉次号(202h02063)。在上述根据字符轮廓和最小外接矩形方法截取的行字符图像是包括上述两种字符片段的整行图像。但在后续的单字符分割时,字符片段之间的明显间隔将影响单字符分割的准确性,因此在本实施例中,将包括两种以上的字符片段的行字符图像进行了进一步的分割。以间距大于预设间距的相邻字符为参考点,将每一行字符图像中相隔较远的字符片段实施行内划分,共计获得m个行字符图像,一个行字符图像中包括一个字符片段,如图3所示。
136.在获取行字符图像后,由于其左右两侧可能存在噪点,因此需要确定符合条件的行字符图像的左右边界,这时需要对左边界和右边界分别进行阈值判断。一种可选的方案如下:
137.在获得m个行字符图像之后,识别方法还包括:
138.分别对每个行字符图像进行垂直投影,确定每个行字符图像的左边界和右边界,以及从左边界开始往左,每个像素宽度内的第一投影值和从右边界开始往右,每个像素宽度内的第二投影值;
139.在从左边界开始往左的预设像素宽度内,检测第一投影值的总和是否大于像素阈
值;若第一投影值的总和大于等于像素阈值,根据第一预设像素宽度,向左移动左边界;若第一投影值的总和小于像素阈值,删除左边界以左的图像;
140.在右边界开始往右的预设像素宽度内,检测第二投影值的总和是否大于像素阈值;若第二投影值的总和大于等于像素阈值,根据预设像素宽度,向右移动右边界;若第二投影值的总和小于像素阈值,删除右边界以右的图像。
141.在上述范围中,第一投影值和第二投影值是在每个像素宽度范围内,在垂直方向对灰度取值为255(白色)的像素点进行计数。根据板材喷码的特性,预设像素宽度的范围可以是20~50个像素宽度,像素阈值的可选范围为200~400。以预设像素宽度为35,像素阈值为300为例,当从右边界开始再往右的35像素宽度范围内,根据垂直投影得到35个像素宽度内的白色像素点之和大于大于300,则说明右边界往右的35个像素宽度范围内存在喷码字符,应当移动行字符的右边界,使其算在行字符内;若不足300,则说明右边界往右的35个像素宽度范围内无字符或存在噪点,应当刨除此图像,避免在后续的步骤中影响单字符的分割。
142.可选的,在获得m个行字符图像后,还要判断第一个行字符图像是否包括板坯的标志图像(产品logo),若包括了logo则需要去掉。在字符识别领域中,字符中混杂logo图像一直是识别难点。如图2所示,喷码字符左上角就是产品的标志图像(logo),按照所占行数,可分为占两行的第一标志图像和占一行的第二标志图像;在划分字符行时,采用的方法是水平膨胀选取连通区域,因此会出现两种情况:第二标志logo会同第二行字符构成一个连通区域;第一标志图像会将第二标志图像、第一行字符及第二行字符构成一个连通区域。因此在去除logo时,需要考虑这两种情况分别进行处理。由于每张照片拍摄角度和距离的差异,无法设置固定的长度直接切分出logo;因此,可按照下述方法分割第一标志图像或第二标志图像:
143.在获得m个行字符图像之后,识别方法还包括:
144.对第一个行字符图像进行垂直投影,获得第一个行字符图像的多个右边界;
145.判断第一个右边界以左的字符图像是否断裂,且是否与第一个右边界往右的字符粘连;
146.当第一个右边界以左的字符图像没有断裂,且没有与第一个右边界往右的字符粘连时,将第一个右边界确定为标志图像的分割点;
147.当第一个右边界以左的字符图像没有断裂,但与第一个右边界往右的字符粘连时,对第一个右边界和第一个右边界内的图像进行腐蚀
‑
垂直投影递归操作,将递归后符合预设条件的第一个右边界确定为标志图像的分割点;
148.当第一个右边界以左的字符图像断裂,且没有与第一个右边界往右的字符粘连时,遍历所有的右边界,确定出符合预设条件的目标右边界,将目标右边界确定为标志图像的分割点;
149.当第一个右边界以左的字符图像断裂,且与第一个右边界往右的字符粘连时,将第一右边界以左的字符图像和第一右边界往右的字符图像切分,将切分点确定为标志图像的分割点;
150.删除标志图像的分割点以左的字符图像,获得去掉标志图像的第一个行字符图像。
151.上述方案在判断第一个右边界以左的字符图像是否断裂、是否粘连时,可根据第一个右边界以左的字符图像的像素宽度与第一标志图像、第二标志图像各自宽度范围进行数值判断。例如,第一标志图像的宽度范围为140~160;当第一个右边界以左的字符图像的像素宽度第一标志图像的最大宽度,如达到180时,说明其存在字符粘连的情况;当像素宽度小于第一标志图像的最小宽度,如140时,说明其存在断裂的情况。
152.上述方案在确定第一个右边界时,占行数量不同的第一标志图像和第二标志图像的判断方式不同,思路是根据logo和字符交界处的特征来处理,具体如下:
153.对于第一标志图像,由于标志图像之后的两行字符起始位置相同,且第一行字符起始位置的左边上方区域有空白;因此,以高度为第一个行字符图像行高的六分之一,宽度为单字符的宽度为窗口,从第一个行字符图像的中间位置的上方向左滑动,当窗口内白色像素点的和不为0时,说明窗口右边界为字符起始位置,将当前窗口的位置确定为第一个右边界;
154.对于第二标志图像,由于占据行高的上二分之一或下二分之一的高度,而第一个行字符图像是占据整个行高的;根据这个特征,以两个高度为第一个行字符图像的三分之一、宽度为预设像素(4~8,优选为5像素)的窗口分别在上三分之一和下三分之一处同步从左向右滑动;当其中一个窗口中的白色像素点和为0时,开始判断两个窗口中的白色像素点都不为0的位置,该位置则是字符起始位置,将其确定为第一个右边界。
155.去掉标志logo后,若第一个行字符图像包括两行字符,可再将其分割为两行字符图像,以方便后续的单字符切割。
156.可选的,在获得m个行字符图像后,判断m是否小于3,若小于3,则说明本次行字符分割失败,需要重新执行s51~s56的步骤。
157.在获得行字符图像,即可执行s6的单字符分割步骤。由于人工喷码容易产生字符粘连,而对字符中的关键特征还需要特征加强。因此一种可选的方法如下:
158.s61:采用垂直投影法,确定每个行字符图像中的多个第一分割点;
159.s62:确定单字符的最大字符宽度和最小字符宽度;
160.s63:检测相邻第一分割点的间距是否大于最大字符宽度,将间距大于最大字符宽度的相邻第一分割点之间字符图像进行腐蚀后再垂直投影,获得第二分割点;
161.s64:检测第二分割点与相邻第二分割点和/或相邻第一分割点之间的间距是否小于最小字符宽度;
162.s65:若第二分割点与相邻第二分割点和/或相邻第一分割点之间的间距小于最小字符宽度,则删除对应的第二分割点;
163.s66:根据第一分割点和剩余的第二分割点,对行字符图像进行分割,获得板材喷码中包括的n个单字符图像。
164.首先采用垂直投影确定出对行字符图像中字符进行分割的多个第一分割点,然后根据先验知识,第三行第一个字符片段固定为13个字符,因此根据第三行第一个字符片段的宽度范围,可计算出单个字符宽度的可能范围,当通过垂直投影确定出的相邻两个第一分割点之间的字符像素宽度大于最大字符宽度时,可以认为根据此相邻两个第一分割点分割得到的字符图像存在字符粘连。确定字符粘连后,获取粘连字符区域的图像拷贝,然后不断使用小的结构元素进行腐蚀操作,然后再利用垂直投影确定相邻第一分割点之间的第二
分割点,作为对粘连字符区域进行二次分割的分割点;再次判断相邻两个分割点之间的像素宽度是否大于最大字符宽度,若相邻两个分割点之间的像素宽度小于最大字符宽度,则说明粘连字符已经完全分开。
165.由于腐蚀时可能会使单个字符断裂,因此根据单字符的最小字符宽度,对获取的第二分割点进行判断,若某个第二分割点与相邻的第一分割点或第二分割点的间隔均小于最小字符宽度,说明腐蚀产生了字符断裂,则删除该第二分割点。最后,根据第一分割点和未删除的第二分割点,将行字符图像分割成单字符图像,如图4所示。
166.在获得了单字符图像后,进行s7中的神经网络预测,具体如下:
167.s71:对n个单字符图像进行像素归一化,获得归一化后的n个单字符图像;
168.s72:将归一化后的n个单字符图像作为输入,使用预设卷积神经网络模型进行预测,获得与归一化后的n个单字符图像对应的n个预测字符;
169.s73:将n个预测字符顺序排列,获得包括n个预测字符的识别结果。
170.上述方案中的预设卷径神经网络模型可根据如下3个步骤训练获得:
171.(a)收集大量分割后的单字符图像样本,在进行像素归一化后构建训练数据库,并按字符特征进行归类;接着在训练数据库中根据字符特征进行训练集、验证集、测试集的划分,例如,可将80%的样本划分训练数据集,将10%的样本划分为验证数据集,10%的样本划分为测试数据集;
172.(b)搭建卷积神经网络cnn模型,设定cnn网络结构、损失函数、优化器及训练策略;使用训练数据集训练cnn的模型参数,然后根据验证数据集和测试数据集不断调整模型,选择最优的模型结构及超参数;
173.(c)基于最优模型应用所有数据样本进行训练,保存泛化性能最优的模型参数,用于对新输入的字符图像进行预测。
174.基于前述实施例相同的发明构思,在又一个可选的实施例中,如图5所示,提供了一种板材喷码的识别系统,板材喷码包括p行喷码字符,p≥3且为正整数;识别系统包括:
175.获取模块10,用于获取板材喷码的图像;
176.反光处理模块20,用于对板材喷码的图像进行反光处理,获得反光处理后的图像;
177.二值化模块30,用于对反光处理后的图像进行二值化,获得二值化图像;
178.roi确定模块40,用于从二值化图像中确定感兴趣区域roi图像;
179.行字符提取模块50,用于对roi图像进行字符行提取,获得m个行字符图像,m≥p;
180.单字符分割模块60,用于对每个行字符图像进行分割、腐蚀,获得板材喷码中包括的n个单字符图像;
181.神经网络模块70,用于使用神经网络对n个单字符图像进行预测,获得包括n个预测字符的识别结果。
182.可选的,反光处理模块20具体用于:
183.对板材喷码的图像进行顶帽变换,获得反光处理后的图像。
184.可选的,识别系统还包括倾斜校正模块,具体用于:
185.在获取板材喷码的图像之后,确定板材喷码的图像的倾斜角度,根据倾斜角度,对板材喷码的图像进行倾斜校正,获得校正后的板材喷码的图像;
186.对板材喷码的图像进行反光处理,获得反光处理后的图像,具体包括:
187.对校正后的板材喷码的图像进行反光处理,获得反光处理后的图像。
188.可选的,roi确定模块40具体用于:
189.将二值化图像进行第一闭操作,获得第一闭处理图像;
190.对第一闭处理图像进行第一开操作,获得第一开处理图像;
191.对第一开处理图像进行第一膨胀,获得第一膨胀图像;
192.确定第一膨胀图像的最大轮廓;
193.确定与第一膨胀图像的最大轮廓对应的最小拟合矩形;
194.根据第一膨胀图像的最大轮廓对应的最小拟合矩形的顶点坐标,从反光处理后的图像中截取第一图像;
195.对第一图像进行旋转,获得旋转后的第一图像;
196.对旋转后的第一图像进行第二闭操作,获得第二闭处理图像;
197.对第二闭处理图像进行第二开操作,获得第二开处理图像;
198.对第二开处理图像进行降噪,获得感兴趣区域roi图像。
199.进一步的,识别系统还包括:
200.判断模块,用于判断旋转后的第一图像是否只包括一行喷码字符;
201.若否,roi确定模块40具体用于:
202.对旋转后的第一图像进行第二闭操作,获得第二闭处理图像;
203.若是,roi确定模块40具体用于:
204.增加膨胀系数,对第一开处理图像进行第二膨胀,获得第二膨胀图像;
205.确定第二膨胀图像的最大轮廓;
206.确定第二膨胀图像的最大轮廓对应的最小拟合矩形;
207.根据第二膨胀图像的最大轮廓对应的最小拟合矩形的顶点坐标,从反光处理后的图像中截取第二图像;
208.对第二图像进行旋转,获得旋转后的第二图像;
209.对旋转后的第二图像进行缩放,获得缩小后的第二图像;
210.对旋转后的第一图像进行第二闭操作,获得第二闭处理图像,具体包括:
211.对缩小后的第二图像进行第二闭操作,获得第二闭处理图像。
212.可选的,行字符提取模块50具体用于:
213.对roi图像进行水平膨胀,获得水平膨胀后的roi图像;
214.从水平膨胀后的roi图像中确定p个行字符轮廓;
215.确定每个行字符轮廓对应的最小拟合矩形;
216.根据行字符轮廓对应的最小拟合矩形,从水平膨胀后的roi图像中截取出p个行字符图像;
217.获取每个行字符图像中所有相邻字符的字符间距,判断p个行字符图像中是否存在字符间距大于等于预设间距的相邻字符;
218.若是,根据字符间距大于等于预设间距的相邻字符,将对应的行字符图像分割,获得分割后的行字符图像;
219.根据相邻字符的字符间距小于预设间距的行字符图像和分割后的行字符图像,获得m个行字符图像。
220.进一步的,行字符提取模块50还用于:
221.分别对每个行字符图像进行垂直投影,确定每个行字符图像的左边界和右边界,以及从左边界开始往左,每个像素宽度内的第一投影值和从右边界开始往右,每个像素宽度内的第二投影值;
222.在从左边界开始往左的预设像素宽度内,检测第一投影值的总和是否大于像素阈值;若第一投影值的总和大于等于像素阈值,根据第一预设像素宽度,向左移动左边界;若第一投影值的总和小于像素阈值,删除左边界以左的图像;
223.在右边界开始往右的预设像素宽度内,检测第二投影值的总和是否大于像素阈值;若第二投影值的总和大于等于像素阈值,根据预设像素宽度,向右移动右边界;若第二投影值的总和小于像素阈值,删除右边界以右的图像。
224.可选的,单字符分割模块60具体用于:
225.采用垂直投影法,确定每个行字符图像中的多个第一分割点;
226.确定单字符的最大字符宽度和最小字符宽度;
227.检测相邻第一分割点的间距是否大于最大字符宽度,将间距大于最大字符宽度的相邻第一分割点之间字符图像进行腐蚀后再垂直投影,获得第二分割点;
228.检测第二分割点与相邻第二分割点和/或相邻第一分割点之间的间距是否小于最小字符宽度;
229.若第二分割点与相邻第二分割点和/或相邻第一分割点之间的间距小于最小字符宽度,则删除对应的第二分割点;
230.根据第一分割点和剩余的第二分割点,对行字符图像进行分割,获得板材喷码中包括的n个单字符图像。
231.可选的,神经网络模块70具体用于:
232.对n个单字符图像进行像素归一化,获得归一化后的n个单字符图像;
233.将归一化后的n个单字符图像作为输入,使用预设卷积神经网络模型进行预测,获得与归一化后的n个单字符图像对应的n个预测字符;
234.将n个预测字符顺序排列,获得包括n个预测字符的识别结果。
235.通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
236.本发明提供了一种适用于钢铁生产领域的板材喷码的字符图像识别方法,通过首先对获得板材喷码图像进行反光处理,以消除现场照明灯因不均匀光照对图像识别的不利影响;然后对反光处理后的图像二值化,从二值化的图像中确定roi图像,然后在roi图像中,结合字符片段的分布,提取出m个行字符图像;接着再对每个行字符图像进行分割、腐蚀,获得单字符图像,之所以采用分割结合腐蚀的操作,是因为人工喷码可能存在字符粘连,需要对其进行腐蚀后才能分割出准确的单字符图像;最后使用神经网络对单字符图像进行预测,获得板材喷码的字符识别结果;通过上述的方法,实现了复杂排列的钢卷板材喷码的图像识别,显著提高了字符识别效率;
237.上述方案的关键在于喷码字符的roi图像确认,从roi图像中提取行字符图像,然后再从行字符图像中字符分割获得单字符图像;为了进一步提高字符处理的精度,提高神经网络预测的准确性,首先,对roi图像进行先闭后开的组合形态操作,以减小图片上的细小杂质,使图片更加清晰;然后判断roi是否只包括一行字符,若是则增大膨胀结构元素重
新确定roi,然后再依次进行缩放、闭操作、开操作和降噪,以获得更准确的roi图像;接下来对roi图像实施行字符图像提取时,根据行字符的高宽比确定行字符图像是否只包括一行喷码字符;对于包括多个字符片段的行,根据字符间距,将间隔较远的字符片段进行行内划分,以使获得的行字符图像更利于神经网络识别;在确定行字符图像后,根据边界处的垂直投影值的阈值判断,消除行字符图像左右两侧的噪点;最后在对行字符图像进行单字符划分时,通过垂直投影分割结合腐蚀操作,使行字符图像中的粘连字符分开,获得准确的单字符图像。通过上述一系列手段,能够显著提高单字符分割的准确性,从而保证后续神经网络预测的识别效率和准确性。
238.尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
239.显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。