一种基于计算机视觉的金属板带产品标签信息识别方法与流程

文档序号:17445917发布日期:2019-04-17 05:36阅读:172来源:国知局
一种基于计算机视觉的金属板带产品标签信息识别方法与流程

本发明涉及图像处理技术领域,尤其涉及一种集“传统图像处理、目标分割、目标检测和文本识别”于一体的金属板带产品标签文字信息识别方法。



背景技术:

钢铁企业中将订购产品的相关订购信息录入到企业系统是完成入库操作的一个重要环节,且人工录入信息非常耗时耗力,当存在大量入库产品时,难以在短时间内完成,严重影响了生产效率,因此,利用现有的图像处理技术来帮助企业提高产品标签信息的录入效率是急需解决的问题。传统的文本识别方法首先进行文本定位,接着进行倾斜文本矫正,之后分割出单字后,并对单字识别,最后基于统计模型(如隐马尔科夫链,hmm)进行语义纠错,在面对自然场景下拍摄的产品标签图片所具有的复杂背景、艺术字体、低分辨率、非均匀光照、图像退化、字符形变、多语言混合、文本复杂版式等情况时,失去了文本识别的能力。现有先进的基于深度学习的文本识别方法在自然场景的文本识别中表现出了很大的优越性,但是在产品标签图片存在仿射变形、透视变形以及旋转变换等严重扭曲的情况下同样不能够准确识别文本信息,文本召回率低下。现有的文本识别技术在钢铁行业中还未得到普及和有效应用,对于钢铁企业产品标签信息还没有有效的识别技术。



技术实现要素:

根据上述提出的技术问题,而提供一种基于计算机视觉的金属板带产品标签信息识别方法。本发明采用的技术手段如下:

一种基于计算机视觉的金属板带产品标签信息识别方法,具有如下步骤:

s1:对现场随机拍摄的金属板带产品标签图片进行分割处理:

利用轻量级enet网络对现场随机拍摄的金属板带产品标签图片中的产品标签区域进行分割,将产品标签区域和其他背景区域分离;

进行不同颜色的标记:在产品标签区域和其他背景区域分别生成不同的掩码以示区分;

s2:将步骤s1中得到的带有分割掩码的图片进行灰度化处理,保留最佳连通区域作为产品标签区域,同时删除剩余的所有连通区域;

s3:将步骤s2得到的图片进行图像的腐蚀和膨胀处理,利用douglas-peucker算法将联通区域的轮廓形状近似为由4个点组成的轮廓形状,钢铁企业的产品标签轮廓是一个标准的矩形,在实际的拍摄中存在旋转、偏移和透视等情况导致产品标签图片中产品标签的轮廓发生扭曲成为不规则的矩形,利用轮廓近似实现对产品标签区域的拟合;

s4:以像素为单位确定步骤s3得到的拟合轮廓的坐标信息;

s5:根据步骤s4得到的坐标信息,利用透视变换对现场随机拍摄的金属板带产品标签图片中的产品标签区域进行校正,消除拍摄中透视变换的影响;

s6:将步骤s5中得到的校正图片输入到vgg16网络中进行产品标签区域旋转角度angle的识别:主要识别的产品标签区域旋转方向为0,90,180,270四个角度;

s7:计算步骤s5中得到的校正图片的方差信息,估计产品标签区域中的文字角度angletext;

s8:根据步骤s6和步骤s7得到的产品标签区域旋转角度angle和文字角度angletext对步骤s5得到的校正图片进行二次校正,输入到yolov3网络进行文本位置的检测;

s9:将步骤s8中得到的带有文本信息区域的图片进行合并和筛选,将最后切割的含有文本信息区域的图片逐个输入到crnn网络中进行文本的识别;

s10:针对企业产品标签中的重点字段的特点建立数据字典信息,利用最短编辑距离(levenshtein距离)方法和正则匹配对步骤s9识别的文本信息进行校准。

步骤s1的具体步骤如下:

s11:利用双线性插值的方法将现场随机拍摄的金属板带产品标签图片的尺寸大小调整为480×360;

s12:利用轻量级enet网络对现场随机拍摄的金属板带产品标签图片中的产品标签区域进行分割,将产品标签区域和其他背景区域分离,分割的类别设置为2;

s13:将分割掩码的rgb颜色设为:分割的产品标签区域(128,0,0),分割的背景区域(128,128,128),分割得到的结果分别利用该颜色进行标记,作为最终的分割结果。

步骤s2的具体步骤如下:

s21:获取现场原始拍摄的金属板带产品标签图片的尺寸大小(width,height),将步骤s13得到的尺寸为480×360的带有分割掩码的图片利用双线性插值方法调整为(width,height)并进而灰度化处理;

s22:对步骤s21得到的灰度图片进行逐像素标记,采用8邻接方式判断两个像素是否相邻,若两个像素点相邻且值相同,则认为这两个像素点在一个相互连通的区域内,且同一连通区域的所有像素点,用同一个数值来进行标记;

s23:判断连通区域的数量并计算各联通区域的大小:area0,area1…arean;

s24:当联通区域的个数为1时,对该图片不进行任何操作而直接保存该图片,否则直接删除第一个连通区域area0,依次遍历剩余的连通区域,从中选出最大的连通区域后,删除其他n-1个连通区域,其中删除的各区域变为背景,选出的最大的连通区域为最佳连通区域,也就是产品标签区域。

步骤s3的具体步骤如下:

s31:将步骤s24得到的图片进行二值化处理,二值化的最小灰度阈值设为127,最大灰度阈值设为255;

s32:利用大小为(width/100,height/100)大小的腐蚀卷积核对步骤s31得到的图片进行腐蚀,减去不规则的边缘;

s33:利用与腐蚀卷积核相同大小的膨胀卷积核对步骤s32得到的图片进行膨胀操作,将丢失的边缘信息进行恢复;

s34:查找轮廓信息,遍历每个轮廓,计算每个轮廓所形成的区域包含的像素的总数carea0,carea1…caream;

s35:计算现场随机拍摄的金属板带产品标签图片的像素总数carea,从满足careai/carea≥0.2的轮廓中选出具有最大像素数的轮廓;

s36:利用douglas-peucker算法将联通区域的轮廓形状近似为由4个点组成的轮廓形状,获取该轮廓的周长length,则算法中两个轮廓点可以连为直线的最大阈值threshold应满足:

threshold≤0.05×length。

步骤s4的具体步骤如下:

以步骤s36得到的拟合轮廓的左上角为原点,步骤s36得到的拟合轮廓的宽和高为横坐标和纵坐标,对坐标点按照左上坐标(u0,v0)、右上坐标(u1,v1)、左下坐标(u2,v2)和右下坐标(u3,v3)的顺序排列;

若抓取不到步骤s36得到的拟合轮廓的坐标信息或无法根据坐标信息对其

排列的情况下则返回坐标:左上坐标(0,0)、右上坐标(width,0)、左下坐标(0,height)和右下坐标(width,height)。

步骤s5的具体步骤如下:

s51:经透视变换将现场随机拍摄的金属板带产品标签图片投影到一个新的视平面时,现场随机拍摄的金属板带产品标签图片的图像坐标(u,v,w)和透视变换后的图像坐标(x,y,z)应满足如下关系:

x=x′/h

y=y′/h

其中:h是辅助坐标,不是常量,a是透视矩阵,[a13,a23]t产生透视变换,[b1,b2]用于平移,表示平移、旋转、缩放和偏移等线性变换,因此,透视变换后的图像坐标可表示为:

步骤s6的具体步骤如下:

s61:对步骤s51校正后图片的尺寸等比例缩放为224×224,交换图像第1个通道和最后一个通道的顺序得到bgr颜色通道的图片,且对图片image中的每个颜色通道进行去均值化处理:

meanvalue=[bmean,gmean,rmean]

image=image-meanvalue

其中:bmean=103.939,gmean=116.779,rmean=123.68,分别为b、g和r三通道的均值。

s62:将步骤s61处理后的图片输入到vgg16网络中进行产品标签区域旋转角度angle的识别。

步骤s7的具体步骤如下:

s71:将步骤s51校正后图片在按照水平轴比例因子fx和垂直轴比例因子fy进行缩放:

f=scale/min(mwidth,mheight)

f′=scale/max(mwidth,mheight)

其中:scale是人工设置的期望尺度,max_scale是人工设置的最大期望尺度,mwidth和mheight是输入的图片的像素宽度和高度;

s72:使用最近插值方法对步骤s71得到的图片尺度缩小2倍,进行两次百分位滤波后将图片放大2倍恢复到原尺度大小;

s73:对步骤s72得到的图片进行二值化处理得到二值图片image′,依次遍历-45°~+45°范围的旋转角度,遍历的角度间隔为1°,对于-45°~+45°中的任一角度angi,将image′旋转angi得到图片image′i,计算image′i每行的均值向量,得到图片的方差信息;

s74:确定具有最大方差的旋转角度angi为文字角度angletext。

步骤s8的具体步骤如下:

s81:根据s62得到的产品标签区域旋转角度angle,将步骤s51校正后图片旋转角度angle;

s82:根据步骤s74得到的文字角度angletext,将s81中得到的图片再旋转角度angletext;

s83:对步骤s82得到的图片的尺寸等比例缩放为1024×1024,交换图像第1个通道和最后一个通道的顺序,并归一化到0-1之间;

s84:将步骤s83得到的图片输入到yolov3网络,实现快速地文本位置检测。

步骤s9的具体步骤如下:

s91:保留步骤s84中得到的带有文本信息区域的图片中置信度高于0.7的检测区域为文本区域,利用非极大值抑制过滤掉文本区域重叠度大于0.3的检测区域,抑制冗余的检测框;

s92:过滤检测区域长度和宽度小于期望阈值的检测区域;

s93:合并检测区域纵向重叠度大于等于0.6的检测区域为同一区域;

s94:合并检测区域横向间隔小于等于期望像素宽度的检测区域为同一区域;

s95:根据步骤s94得到的文本区域的坐标信息对文本区域进行切割得到含有文本的图片集合im={im0,im1,im2,…,imt};

s96:依次遍历图片集合im,将图片集合中的每张图片imi转换为灰度图后逐个输入到crnn网络中进行文本的识别,得到文本集合tx={tx0,tx1,tx2,…,txt};

s97:返回识别的文本信息,文本的位置信息,文本的旋转角度等,在步骤s82得到的图片中标注yolov3检测框,返回可视化视图;

步骤s10的具体步骤如下:

s101:分别建立钢厂、产品名称、收货单位以及订货单位的数据字典信息;

s102:遍历识别的文本信息,计算各文本信息与数据字典信息中各钢厂的最短编辑距离并进行求和得di,对于每一个文本txi,确定具有最小di值对应的识别文本为钢厂,并返回di求和元素中的前topk个钢厂为参考匹配钢厂;

s103:按照步骤s102的方式依次对产品名称、收货单位以及订货单位进行匹配;

s104:对于日期、规格、钢卷号和重量等信息,分别按照各自的特点,利用正则匹配方法进行重点字段的过滤,得到相应的结果。

由于采用了上述技术方案,本发明提供的一种基于计算机视觉的金属板带产品标签信息识别方法,通过轻量级网络的分割获取产品标签区域的位置,从而经过经典的图像处理手段获取产品标签的坐标信息(以像素为单位),从而实现透视变换的矫正,利用了vgg16进行了旋转文本的识别,利用方差方法进行文字旋转小角度的配准,有效地提升了文本位置的检测以及文本识别的精度,本发明中采用了yolov3以及enet等网络使得文本的矫正与位置获取更快更准,有效地较小计算机的损耗以及对于计算机性能的要求,利用crnn中lstm的特点实现不定长文本的检测,有效地提升了检测的性能,在光照不均匀、复杂背景、多语言混合、文本复杂版式、产品标签图片旋转、仿射扭曲以及透视扭曲等自然场景下均有良好的识别性能,为金属板带产品标签信息的录入提供便利。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的具体实施方式中基于计算机视觉的金属板带产品标签信息识别方法的流程图;

图2为本发明的具体实施方式中现场随机拍摄的金属板带产品标签图片灰度示意图;

图3为本发明的具体实施方式中经enet分割处理后的分割结果灰度示意图;

图4为本发明的具体实施方式中经图像处理后保留的最佳连通区域灰度示意图;

图5为本发明的具体实施方式中腐蚀处理后灰度示意图;

图6为本发明的具体实施方式中膨胀处理后灰度示意图;

图7为本发明的具体实施方式中拟合轮廓灰度示意图;

图8为本发明的具体实施方式中现场随机拍摄的金属板带产品标签图片映射结果灰度示意图;

图9为本发明的具体实施方式中现场随机拍摄的金属板带产品标签图片的产品标签区域透视校正结果灰度示意图;

图10为本发明的具体实施方式中旋转校正和文字倾斜角度校正后的产品标签区域灰度示意图;

图11为本发明的具体实施方式中产品标签图像文字信息识别结果灰度示意图;

图12为本发明的具体实施方式中yolov3检测的产品标签图像中文本位置结果灰度示意图;

图13为本发明的具体实施方式中信息的匹配结果示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-图13所示,一种基于计算机视觉的金属板带产品标签信息识别方法,其特征在于具有如下步骤:

s1:对现场随机拍摄的金属板带产品标签图片进行分割处理:

利用轻量级enet网络对现场随机拍摄的金属板带产品标签图片中的产品标签区域进行分割,将产品标签区域和其他背景区域分离;

进行不同颜色的标记:在产品标签区域和其他背景区域分别生成不同的掩码以示区分;

步骤s1的具体步骤如下:

s11:利用双线性插值的方法将现场随机拍摄的金属板带产品标签图片的尺寸大小调整为480×360;

s12:利用轻量级enet网络对现场随机拍摄的金属板带产品标签图片中的产品标签区域进行分割,将产品标签区域和其他背景区域分离,分割的类别设置为2;

s13:将分割掩码的rgb颜色设为:分割的产品标签区域(128,0,0),分割的背景区域(128,128,128),分割得到的结果分别利用该颜色进行标记,作为最终的分割结果。

s2:将步骤s1中得到的带有分割掩码的图片进行灰度化处理,保留最佳连通区域作为产品标签区域,同时删除剩余的所有连通区域;

步骤s2的具体步骤如下:

s21:获取现场原始拍摄的金属板带产品标签图片的尺寸大小(width,height),将步骤s13得到的尺寸为480×360的带有分割掩码的图片利用双线性插值方法调整为(width,height)并进而灰度化处理;

s22:对步骤s21得到的灰度图片进行逐像素标记,采用8邻接方式判断两个像素是否相邻,若两个像素点相邻且值相同,则认为这两个像素点在一个相互连通的区域内,且同一连通区域的所有像素点,用同一个数值来进行标记;

s23:判断连通区域的数量并计算各联通区域的大小:area0,area1…arean;

s24:当联通区域的个数为1时,对该图片不进行任何操作而直接保存该图片,否则直接删除第一个连通区域area0,依次遍历剩余的连通区域,从中选出最大的连通区域后,删除其他n-1个连通区域,其中删除的各区域变为背景,选出的最大的连通区域该步骤选出的连通区域为最佳连通区域,也就是产品标签区域。如图4所示,其中黑色为背景区域,白色为产品标签区域。

s3:将步骤s2得到的图片进行图像的腐蚀和膨胀处理,利用douglas-peucker算法将联通区域的轮廓形状近似为由4个点组成的轮廓形状,利用轮廓近似实现对产品标签区域的拟合;

步骤s3的具体步骤如下:

s31:将步骤s24得到的图片进行二值化处理,二值化的最小灰度阈值设为127,最大灰度阈值设为255;

s32:利用大小为(width/100,height/100)大小的腐蚀卷积核对步骤s31得到的图片进行腐蚀,减去不规则的边缘;

s33:利用与腐蚀卷积核相同大小的膨胀卷积核对步骤s32得到的图片进行膨胀操作,将丢失的边缘信息进行恢复;

s34:查找轮廓信息,遍历每个轮廓,计算每个轮廓所形成的区域包含的像素的总数carea0,carea1…caream;

s35:计算现场随机拍摄的金属板带产品标签图片的像素总数carea,从满足careai/carea≥0.2的轮廓中选出具有最大像素数的轮廓;

s36:利用douglas-peucker算法将联通区域的轮廓形状近似为由4个点组成的轮廓形状,获取该轮廓的周长length,则算法中两个轮廓点可以连为直线的最大阈值threshold应满足:

threshold≤0.05×length。

如图8所示,图中对于产品标签区域轮廓的近似标记有3条不同灰度值的线条,其中有一条是轮廓线条,另外一条是轮廓的保守近似,而只含有四个角点或者顶点的线条是最终确定的近似轮廓线。

s4:以像素为单位确定步骤s3得到的拟合轮廓的坐标信息;

步骤s4的具体步骤如下:

以步骤s36得到的拟合轮廓的左上角为原点,步骤s36得到的拟合轮廓的宽和高为横坐标和纵坐标,对坐标点按照左上坐标(u0,v0)、右上坐标(u1,v1)、左下坐标(u2,v2)和右下坐标(u3,v3)的顺序排列;

若抓取不到步骤s36得到的拟合轮廓的坐标信息或无法根据坐标信息对其排列的情况下则返回坐标:左上坐标(0,0)、右上坐标(width,0)、左下坐标(0,height)和右下坐标(width,height)。

s5:根据步骤s4得到的坐标信息,利用透视变换对现场随机拍摄的金属板带产品标签图片中的产品标签区域进行校正,消除拍摄中透视变换的影响;

步骤s5的具体步骤如下:

s51:经透视变换将现场随机拍摄的金属板带产品标签图片投影到一个新的视平面时,现场随机拍摄的金属板带产品标签图片的图像坐标(u,v,w)和透视变换后的图像坐标(x,y,z)应满足如下关系:

x=x′/h

y=y′/h

其中:h是辅助坐标,不是常量,a是透视矩阵,[a13,a23]t产生透视变换,[b1,b2]用于平移,表示平移、旋转、缩放和偏移等线性变换,因此,透视变换后的图像坐标可表示为:

如图9所示,实现了产品标签区域的单独抽取和矫正,将背景直接删除,在透视矫正后的图片中不予显示。

s6:将步骤s5中得到的校正图片输入到vgg16网络中进行产品标签区域旋转角度angle的识别:主要识别的产品标签区域旋转方向为0,90,180,270四个角度;

步骤s6的具体步骤如下:

s61:对步骤s51校正后图片的尺寸等比例缩放为224×224,交换图像第1个通道和最后一个通道的顺序得到bgr颜色通道的图片,且对图片image中的每个颜色通道进行去均值化处理:

meanvalue=[bmean,gmean,rmean]

image=image-meanvalue

其中:bmean=103.939,gmean=116.779,rmean=123.68,分别为b、g和r三通道的均值。

s62:将步骤s61处理后的图片输入到vgg16网络中进行产品标签区域旋转角度angle的识别。

s7:计算步骤s5中得到的校正图片的方差信息,估计产品标签区域中的文字角度angletext;

步骤s7的具体步骤如下:

s71:将步骤s51校正后图片在按照水平轴比例因子fx和垂直轴比例因子fy进行缩放:

f=scale/min(mwidth,mheight)

f′=scale/max(mwidth,mheight)

其中:scale是人工设置的期望尺度,max_scale是人工设置的最大期望尺度,mwidth和mheight是输入的图片的像素宽度和高度;

s72:使用最近插值方法对步骤s71得到的图片尺度缩小2倍,进行两次百分位滤波后将图片放大2倍恢复到原尺度大小;

s73:对步骤s72得到的图片进行二值化处理得到二值图片image′,依次遍历-45°~+45°范围的旋转角度,遍历的角度间隔为1°,对于-45°~+45°中的任一角度angi,将image′旋转angi得到图片image′i,计算image′i每行的均值向量,得到图片的方差信息;

s74:确定具有最大方差的旋转角度angi为文字角度angletext。

s8:根据步骤s6和步骤s7得到的产品标签区域旋转角度angle和文字角度angletext对步骤s5得到的校正图片进行二次校正,输入到yolov3网络进行文本位置的检测;

步骤s8的具体步骤如下:

s81:根据s62得到的产品标签区域旋转角度angle,将步骤s51校正后图片旋转角度angle;

s82:根据步骤s74得到的文字角度angletext,将s81中得到的图片再旋转角度angletext;

s83:对步骤s82得到的图片的尺寸等比例缩放为1024×1024,交换图像第1个通道和最后一个通道的顺序,并归一化到0-1之间;

s84:将步骤s83得到的图片输入到yolov3网络,实现快速地文本位置检测。

s9:将步骤s8中得到的带有文本信息区域的图片进行合并和筛选,将最后切割的含有文本信息区域的图片逐个输入到crnn网络中进行文本的识别;

步骤s9的具体步骤如下:

s91:保留步骤s84中得到的带有文本信息区域的图片中置信度高于0.7的检测区域为文本区域,利用非极大值抑制过滤掉文本区域重叠度大于0.3的检测区域,抑制冗余的检测框;

s92:过滤检测区域长度和宽度小于期望阈值的检测区域;

s93:合并检测区域纵向重叠度大于等于0.6的检测区域为同一区域;

s94:合并检测区域横向间隔小于等于期望像素宽度的检测区域为同一区域;

s95:根据步骤s94得到的文本区域的坐标信息对文本区域进行切割得到含有文本的图片集合im={im0,im1,im2,…,imt};

s96:依次遍历图片集合im,将图片集合中的每张图片imi转换为灰度图后逐个输入到crnn网络中进行文本的识别,得到文本集合tx={tx0,tx1,tx2,…,txt};

s97:返回识别的文本信息,文本的位置信息,文本的旋转角度等,在步骤s82得到的图片中标注yolov3检测框,返回可视化视图;

如图11所示,识别的内容包括每条文本的文本内容、宽度、高度、在产品标签区域中的坐标以及文字的方向等信息,如图12所示,图中每条文本四周的灰色细线条即为标注的文本框。

s10:针对企业产品标签中的重点字段的特点建立数据字典信息,利用最短编辑距离方法和正则匹配对步骤s9识别的文本信息进行校准。

步骤s10的具体步骤如下:

s101:分别建立钢厂、产品名称、收货单位以及订货单位的数据字典信息;

s102:遍历识别的文本信息,计算各文本信息与数据字典信息中各钢厂的最短编辑距离并进行求和得di,对于每一个文本txi,确定具有最小di值对应的识别文本为钢厂,并返回di求和元素中的前topk个钢厂为参考匹配钢厂;

s103:按照步骤s102的方式依次对产品名称、收货单位以及订货单位进行匹配;

s104:对于日期、规格、钢卷号和重量等信息,分别按照各自的特点,利用正则匹配方法进行重点字段的过滤,得到相应的结果。

如图13所示,其中对于钢厂和产品名称的匹配结果展示了与原文本差异性最小的前五个字典数据,对于时间、标准、规格、钢卷号以及重量的匹配分别使用了对应的文本的位置信息以及正则匹配方式进行重点字段的匹配和校正;如图13所示,对于钢厂和产品名称的匹配返回了字典中与原文本相似度最高的前5个字典数据,对于重量、时间等信息均采用了正则匹配的方法。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1