CN1170251C - 啤酒瓶凸性字符提取与识别硬件系统及处理方法 - Google Patents

啤酒瓶凸性字符提取与识别硬件系统及处理方法 Download PDF

Info

Publication number
CN1170251C
CN1170251C CNB031145418A CN03114541A CN1170251C CN 1170251 C CN1170251 C CN 1170251C CN B031145418 A CNB031145418 A CN B031145418A CN 03114541 A CN03114541 A CN 03114541A CN 1170251 C CN1170251 C CN 1170251C
Authority
CN
China
Prior art keywords
partiald
character
beer bottle
value
neuron
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.)
Expired - Fee Related
Application number
CNB031145418A
Other languages
English (en)
Other versions
CN1438605A (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.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CNB031145418A priority Critical patent/CN1170251C/zh
Publication of CN1438605A publication Critical patent/CN1438605A/zh
Application granted granted Critical
Publication of CN1170251C publication Critical patent/CN1170251C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种啤酒瓶凸性字符提取与识别硬件系统及处理方法,硬件系统包括,一啤酒瓶传送带,在啤酒瓶传送带上设置有一操作台,操作台的上方设置有一遮光罩,遮光罩的周围设置有一摄像机,摄像机与一计算机相连接,操作台的中央还设置有一旋转台。该方法对啤酒瓶进行摄像及对得到图像进行处理、字符检测、字符识别的技术,建立一个完整的图像采集、图象处理的系统,以实现对啤酒瓶上的“B”字和日期进行检测和识别,达到对啤酒瓶进行分类的目的。通过运用计算机视觉及模式识别的理论及方法来检测和识别啤酒瓶上是否有“B”字和生产日期来判断啤酒瓶是否合格。

Description

啤酒瓶凸性字符提取与识别硬件系统及处理方法
一、技术领域
本发明属于计算机应用技术领域,涉及啤酒瓶凸性字符提取与识别硬件系统及处理方法,通过运用计算机视觉及模式识别的理论及方法来检测和识别啤酒瓶上是否有‘B’字和生产日期来判断啤酒瓶是否合格。
二、背景技术
啤酒瓶作为一种可以承受一定压力的容器,其制造工艺和耐压强度都较普通酒瓶有较大差别。有关资料表明,目前我国啤酒瓶的生产量只能达到年需求量的20%,加上啤酒瓶的成本比较高,因此无论从满足生产能力的角度还是从节约成本的角度来讲,回收利用旧啤酒瓶是必不可少的。
对于回收来的啤酒瓶,可能存在以下问题:1.回收利用次数过多。由于啤酒瓶是一种压力容器,每次灌装啤酒时都会向其中注入高压。每次加压都会对啤酒瓶的内部结构产生破坏。试验表明对一个新出厂的标准啤酒瓶,连续加压11次后瓶身就会破碎。因此,行业标准规定,啤酒瓶的回收次数不能超过6次。这一次数很难统计,一般规定啤酒瓶只能在生产日期的两年内使用。2.某些普通酒瓶,其形状和外观与啤酒瓶接近,但耐压强度较啤酒瓶相差甚远,如果使用这些酒瓶来盛装啤酒,将会大大增加瓶身破碎的可能性。
为了规范啤酒瓶回收利用,我国国家标准局联合有关啤酒瓶生产企业制定了啤酒瓶的制造规范GB-4544-1996[30],其中明确规定,“每件产品应在瓶底以上20mm范围内打有专用标记‘B’,以表明是盛装的专用瓶,标记字体大小以2号印刷体为准(长×宽约6mm×3mm)。同时应该在该区域内标明生产企业的标记,生产的年,月,季。”该建议标准在1999年6月1日起转为强制性标准。
从回收酒瓶中分拣出符合国标的酒瓶,同时将不合格的酒瓶丢弃,这一工作如果由人来完成,由于啤酒瓶使用量很大,无疑要雇用大批的专职人员来进行分检工作,这对企业来讲是一笔巨大的经济负担。利用计算机来自动完成这一工作,是非常有意义的。
目前,国内外还没有类似的系统。
三、发明内容
本发明的目的是在工业环境下,提供一种啤酒瓶凸性字符提取与识别硬件系统及处理方法。该方法对啤酒瓶进行摄像及对得到图像进行处理、字符检测、字符识别的技术,建立一个完整的图像采集、图象处理的系统,以实现对啤酒瓶上的“B”字和日期进行检测和识别,达到对啤酒瓶进行分类的目的。
计算机所需要完成的工作是:从采集到的图像中分割出代表啤酒瓶的‘B’字和年号,若存在‘B’且标记的年号在两年以内,则说明是合格啤酒瓶,否则为不合格酒瓶。
实现本发明的技术方案是这样解决的:一种啤酒瓶凸性字符提取与识别硬件系统,包括,一啤酒瓶传送带,其特点是,在啤酒瓶传送带上设置有一操作台,操作台的上方设置有一遮光罩,遮光罩的周围设置有一具有线阵CCD摄像头的摄像机,具有线阵CCD摄像头的摄像机与一计算机相连接,操作台的中央还设置有一旋转台;
啤酒瓶被传送带送入操作台上,在旋转台上被旋转一周,经遮光罩周围设置的具有线阵CCD摄像头的摄像机对啤酒瓶进行摄像,得到啤酒瓶字符图像,并将图像数据不断地传送到计算机中,由计算机对啤酒瓶上的“B”字和日期进行检测和识别。
实现上述啤酒瓶凸性字符提取与识别硬件系统的处理方法,至少包括以下步骤:
1)数据采集
由具有线阵CCD摄像头的摄像机将不断地采集到的数据通过数据采集卡的通讯端口传送到计算机中,计算机将这些数据拼接为一幅256*2048*8Bits的灰度图像,并将图像缩减为180*2048的点阵;
2)预处理
采用文字定位分割算法,在原图中大小为M*N的子窗口内分别计算最大值和最小值,然后利用这两个值求出不含背景的较为清楚的要素图;
3)字符分割
对以上一步骤得到的图进行分割;
(4)笔划提取
采用基于地形结构(Topographic structures)的方法,将灰度图像的灰度看做高度,用地形起伏的观点来看待和分析图像;
任意一点的地形结构可以分为:脊、沟、峰、谷、鞍、坡、平面等,用I(x,y)表示数字图像,把它转换成局部区域连续的模型,记得到的局部连续图像信号为f(x,y);每个小面包含几个像素范围的空间,可以用三次多项式来拟合:
f(x,y)=k1+k2x+k3y+k4x2+k5xy+k6y2+k7x3+k8x2y+k9xy2+k10y3
通过这个模型,可以计算任意位置的一阶、二阶导数
∂ f ∂ x , ∂ f ∂ y , ∂ 2 f ∂ x 2 , ∂ 2 f ∂ y 2 , ∂ 2 f ∂ x ∂ y
并且有
∂ 2 f ∂ x ∂ y = ∂ 2 f ∂ y ∂ x
下面定义每一个象素的基本特征量:
f                 f的梯度向量
‖f‖             梯度值
Figure C0311454100103
               二次方向导数具有最大值时的单位向量。
               与 正交的单位向量。
λ1                在 方向的二次方向导数的值,
λ2                在 方向的二次方向导数的值,
           在
Figure C0311454100109
方向的一次方向导数的值,
           在
Figure C03114541001011
方向的一次方向导数的值,
在上面拟合的小面模型下,可以得到f(x,y)的二次方向导数为
f B ′ ′ = | sin β cos β | × H × | sin β cos β |
式中,H为2*2的赫赛(Hessian)矩阵,定义为:
H = ∂ 2 f ∂ x 2 ∂ 2 f ∂ x ∂ y ∂ 2 f ∂ y ∂ x ∂ 2 f ∂ y 2
赫赛矩阵的两个特征值是二次方向导数的两个极值,与它们对应的两个特征向量是两次方向导数取极值的方向向量,即
Figure C0311454100114
所以通过求赫赛矩阵的特征值和对应的特征向量,可以得到上述定义的所有基本特征参数;进一步综合这些参数可以判断出该象素处的地形结构,与字符笔划提取相关的地形结构具体判断方法如下:
峰:        ‖f‖=0,λ1<0,λ2<0
谷:        ‖f‖=0,λ1>0,λ2>0
脊:        ‖f‖≠0,
            ‖f‖≠0,λ2<0,
            ‖f‖≠0,λ1<0,λ2=0
鞍:        ‖f‖=0,λ1·λ2<0
平面点:    ‖f‖=0,λ1=0,λ2=0
然后利用地形结构进行笔划提取;
(5)字符识别
首先对字符采用投影—变换系数法提取特征;
设N为图形尺寸,g(x)和g(y)分别是图形在X轴和Y轴上的投影,对他们进行Fourier变换得到K个变换系数。从K个变换系数gk(k=0,1,2,…,K-1)中选出M个有代表性的特征,使它满足类间距离要大、类内距离要小,M的选择要随着不同的识别情况而定,即代表数字和英文的M数是不同的;
令gki (j)为第i类字母第j个样本的第k次变换系数,i是字母编号(i=1,…,S),S是字母集合的总字数,P为样本总数。wk为第k次变换系数的平均值,则
w k = 1 SP Σ i = 1 S Σ j = 1 P g ki ( j )
gki为第i类字母第k次变换系数的平均值
g ki = 1 P Σ j = 1 P g ki ( j )
ck为第k个变换系数的离散值
c k = 2 SP ( P - 1 ) Σ i = 1 S Σ j = 1 P Σ q = j P | g ki ( j ) - g ki ( q ) |
定义第k个变换系数的可分性函数Zk
Z k = 1 c k Σ i = 1 S | g ki - w k |
Zk越大,与它对应的变换系数gk越有较好的分类能力。求出不同k时Zk的数值,选出M个数值最大的Zk,并用和它对应的第k次变换系数gk作为分类的特征;
得到分类特征之后,利用BP神经网络设计识别系统;
神经网络由称为神经元的独立处理单元与连接弧连接成的网络所组成,网络可划分为若干层;输入信息的神经元组成输入层,这些神经元不具有输入连接弧;输出信息的神经元组成输出层,它不具有输出连接弧;其余神经元为中间层,其神经元称为中间神经元;中间层又称为隐藏层;它的连接模式有单层连接模式、多层连接模式和循环型连接模式;
(6)最后将特征作为输入,字符作为输出,对于字母和数字设计不同的神经网络,经过学习和训练,就可将图像上的字符识别出来。
所述字符分割的具体算法包括以下步骤:
步骤1:采用区域自适应二值化将图像分割为二值图像;
步骤2:对区域进行八连通链码跟踪,纪录下每个区域的起点(Xmin,Ymin),终点(Xmax,Ymax)等信息;
累加边界链码在梯度图中对应的图像灰度值平均值nGrayAverage,若nGrayAverage<Thresh2则删除整个块;
步骤3:利用有关字符的几何约束条件,剔除无关区域;
该步骤包含以下几个部分:
3.1若(H>HeightMax)或(H<HeightMin)或(W>WidthMax)或(W<WidthMin2)或((W<WidthMin)且((H>HeightMax)或(H<HeightMin))则该块为噪声块,予以删除;
本条件去除字符宽度过宽或过窄的候选区域,特别是对于字符″1″,设置了两个最小域值WidthMin2与Width,满足:WidthMin2<<字符1的期望宽度<WidthMin;
3.2若(((W/H>Ratio1)且(Width<WidthMin3))或(W/H<Ratio2)),则认为不满足比例条件,此块为噪声块,予以删除;
3.3若字符的几何中心与平均几何中心偏差过大,应予删除;
步骤4:利用字符的几何约束条件,将笔划断裂的区域合并;
该步骤包含以下几个部分:
4.1若|Ymid(i)-Ymid(j)|<Thresh7且|Xmid(i)-Xmid(j)|<Thresh7那末这两个几何块应该属于横向断裂,将其合并;
4.2若|Xmid(i)-Xmid(j)|<Thresh8
且则此两块属于属于竖向断裂,将其合并;
重复4.1、4.2,直到不发生新的合并为止;
步骤5:利用相邻几何块间的距离进行字符大小调整。
在系统中,利用地形结构进行笔划提取的具体步骤如下:
(1).计算分割出的字符图像的一、二阶导数。它们的计算可以通过差分或局部曲面拟合的方法,这里我们采用了正交多项式的方法;
(2).根据计算每个点所在曲面赫赛矩阵的特征值和特征向量,判断该点的地形结构类型;
(3).提取其中的峰、脊点相连的鞍点、谷点与平面点,作为字符笔划点。
所述神经元所接受的输入信号的总和Xi尚不能反映神经元输入和输出之间所应有的各种关系,为此,还需要进一步用一特性函数来刻画这种关系,产生一新的输出。一般特性函数可表示为:
                  Xi=∑wjxj+si      (1a)
                  x′i=F(Xii)    (1b)
其中si是内部状态的反馈信息,θi是阈值,F是表示神经元活动的特性函数;
在有多个神经元时,可用矢量形式表示为:
                  X′=F(XW+S)       (2)
其中输入X为N维矢量,输出X′为M维矢量。W为N×M维矩阵;公式(2)意指网络连接模型输入层有N个神经元,输出层有M个神经元,有N个内部反馈信息,在特性函数的作用下,按阈值控制输出。
四、附图说明
图1是本发明的系统硬件结构图;
图2是普通摄像机采集的啤酒瓶字符图像(3幅);
图3为应用线阵CCD采集的啤酒瓶字符图像经中值滤波后的图像;
图4为经预处理后的图像;
图5为字符分割结果示意图;
图6是将灰度图像的灰度看做高度,用地形起伏的观点来看待和分析图像的字符地形结构示意图;其中a为灰度图像,b为一个起伏有秩的地形图;
图7为利用地形结构笔划提取的结果,其中(a)为灰度图像图,(b)为处理结果图;
图8神经网络典型的连接模型图;
图9为神经元结构图。
五、具体实施方式
以下结合附图对本发明作进一步的详细描述。
图1为啤酒瓶凸性字符提取与识别硬件系统结构示意图。包括,一啤酒瓶传送带1,在啤酒瓶传送带1上设置有一操作台2,操作台2的上方设置有一遮光罩3,遮光罩3的周围设置有一摄像机5,摄像机5与一计算机6相连接,操作台2的中央还设置有一旋转台4。
啤酒瓶被传送带1送入操作台2上,在旋转台4上被旋转一周,经遮光罩3周围设置的具有线阵CCD摄像头的摄像机5对啤酒瓶进行摄像,得到啤酒瓶字符图像,并将图像数据不断地传送到计算机6中,由计算机6对啤酒瓶上的“B”字和日期进行检测和识别。
5.1计算机硬件装置系统
待识酒瓶通过传送带传输到操作台,然后待识酒瓶在旋转台上旋转一圈,由计算机控制的线阵CCD对其摄像,得到啤酒瓶字符图像,经过计算机软件进行处理之后,将啤酒瓶分为三类:一种是符合标准的酒瓶;一种是不符合标准的酒瓶;最后一种是由于一些外部条件影响拒识的酒瓶,然后通过人工进行识别。如图1所示。
2.计算机软件系统
(1)图像采集
图2是几幅由普通摄像头采集的啤酒瓶字符图像。
由图中可以看到,普通摄像机采集到的图像字符分别由阴影和亮度不均匀的笔划组成,背景的亮暗不均匀,为识别带来了很大的困难。为了进一步提高图像质量,降低干扰,准确采集到啤酒瓶上的字符图像,发明人采用了线阵CCD摄像头,同时向经过清洗的啤酒瓶上打上背透光。这样只有被光源直射到的那一列才被采集下来。啤酒瓶通过传送带传来后,在托盘上旋转一圈,在旋转过程中,装在固定位置的线阵CCD摄像头不断地将采集到的数据传送过来,通过数据采集卡的通讯端口传送到主机中,在主机中将这些数据拼接为一幅256*2048*8Bits的灰度图像。由于啤酒瓶的专用标记打在距瓶底20mm范围内,为了减少后续运算量,将图像缩减为180*2048的点阵。
图3为应用线阵CCD采集的啤酒瓶字符图像经中值滤波后的图像。
玻璃上的字符是靠表面凸凹形成的,光学成像时,字符的轮廓是依靠其表面不同强度的反射光,而不是依靠材质对光线的不同吸收程度而形成的。因而,对于透明玻璃,其图像灰度的区域均匀性很差,字符形状呈断裂和不连续状,给后续处理带来很大困难,采用传统的图像处理方法很难获得理想的效果。
(2)预处理
仔细观察啤酒瓶图像中的字符特征,可以注意到,在笔划附近很小的区域内,存在着局部的亮度极大值和极小值。同时啤酒瓶的底部较上部厚、透光率低,表现为背景存在从上到下逐渐变暗过渡的缓变过程。根据以上特点,我们设计了一种新的文字定位分割算法,其基本思想是在原图中大小为M*N的子窗口内分别计算最大值和最小值,然后利用这两个值求出不含背景的较为清楚的要素图。
图4所示的是经过预处理后得到的结果图像。可以看出,字符笔划已经凸现出来,但仍然存在一些由杂质和表面伤痕造成的干扰,在将缓变背景基本清除的同时,也带来字符笔划变粗的副作用。但由于在本问题中字符之间的间距较宽,基本上不会产生粘连现象,因此并不影响下面的分割操作。
(3)字符分割
下面,对以上一步骤得到的图4进行分割。由于采集到的原始图像灰度值较小,因此我们采用了一种基于分裂合并思想的分割方法。分割中将利用同一排之间字符的相对信息来弥补分割造成的失误,所以我们不必要求笔划和背景的分离十分精确。
具体算法为:
步骤1:采用区域自适应二值化将图像分割为二值图像。
步骤2:对区域进行八连通链码跟踪,纪录下每个区域的起点(Xmin,Ymin),终点(Xmax,Ymax)等信息。
累加边界链码在梯度图Id中对应的图像灰度值平均值nGrayAverage,若nGrayAverage<Thresh2则删除整个块。
步骤3:利用有关字符的几何约束条件,剔除无关区域。该方法包含以下几个部分:
3.1若(H>HeightMax)或(H<HeightMin)或(W>WidthMax)或(W<WidthMin2)或((W<WidthMin)且((H>HeightMax)或(H<HeightMin))则该块为噪声块,予以删除。
本条件去除字符宽度过宽或过窄的候选区域。特别是对于字符″1″,发明人设置了两个最小域值WidthMin2与Width,满足:WidthMin2<<字符1的期望宽度<WidthMin。
3.2若(((W/H>Ratio1)且(Width<WidthMin3))或(W/H<Ratio2)),则认为不满足比例条件,此块为噪声块,应予以删除.
3.3若字符的几何中心与平均几何中心偏差过大,应予删除。
步骤4:利用字符的几何约束条件,将笔划断裂的区域合并.
4.1若|Ymid(i)-Ymid(j)|<Thresh7且|Xmid(i)-Xmid(j)|<Thresh7那末这两个几何块应该属于横向断裂,故应将其合并.
4.2若|Xmid(i)-Xmid(j)|<Thresh8
且则此两块属于属于竖向断裂,故应将其合并.
重复4.1、4.2,直到不发生新的合并为止。
步骤5:利用相邻几何块间的距离进行字符大小调整。
经以上算法的处理,已达到去除噪声块和修复断裂字符的目的,同时利用步骤5将字符间的距离进行了确定和调整。至此,我们已经能比较准确的分割字符。图5是字符分割的结果示意图:
需要说明的是:上面步骤中大量使用了先验阈值,实际上本算法对阈值的选择并不敏感,阈值可在很宽的范围内指定,阈值的小范围变化对分割结果影响很小;另需说明的是:我们通过以上步骤获得了比较稳定和整齐的字符块位置,但还不足以提取清晰的字符笔划,这将影响到最终的识别。所以,采取更为有效的方法进行字符提取是很有必要的。在下一节中将用更准确的方法来抽取笔划。
(4)笔划提取
啤酒瓶上文字最突出的特点是笔划上的亮度强弱不匀,如果想从它上面抽取笔划,简单地使用灰度门限或边缘提取的算法是不行的。通常求取的边缘特征,对光学变换的鲁棒性是不够理想的。当在一定角度和强度的光线照射下,三维物体上的边缘可能不出现,也可能出现虚假的边缘,而且还可能出现边缘漂移的现象。在啤酒瓶文字检测过程中,由于文字完全是通过光照反映出来的,对采集到的图像提取边缘具有很强的不稳定性。
在本发明中,申请人采用了基于地形结构(Topographic structures)的方法。这一方法的基本思想是:将灰度图像的灰度看做高度,用地形起伏的观点来看待和分析图像。如图6所示,一个灰度图像,如果把灰度看作高度,它就相当于一个起伏有秩的地形图。
这一方法的基本思想是:将灰度图像的灰度看做高度,用地形起伏的观点来看待和分析图像。任意一点的地形结构可以分为:脊、沟、峰、谷、鞍、坡、平面等。它们都是灰度地形一定起伏结构的描述,这些都是三维的特征。而且,这些特征并不随光照和反射而发生变化,具有很强的鲁棒性。
用I(x,y)表示数字图像。我们可以把它转换成局部区域连续的模型,在这种模型下,图像是由许多平滑的小面所组成,称为小面模型。记得到的局部连续图像信号为f(x,y)。每个小面包含几个像素范围的空间,可以用三次多项式来拟合:
f(x,y)=k1+k2x+k3y+k4x2+k5xy+k6y2+k7x3+k8x2y+k9xy2+k10y3
通过这个模型,可以计算任意位置的一阶、二阶导数
∂ f ∂ x , ∂ f ∂ y , ∂ 2 f ∂ x 2 , ∂ 2 f ∂ y 2 , ∂ 2 f ∂ x ∂ y
并且有
∂ 2 f ∂ x ∂ y = ∂ 2 f ∂ y ∂ x
下面定义每一个象素的基本特征量:
f               f的梯度向量
‖f‖           梯度值
             二次方向导数具有最大值时的单位向量。
Figure C0311454100194
            与 正交的单位向量。
λ1              在
Figure C0311454100196
方向的二次方向导数的值,
λ2              在 方向的二次方向导数的值,
         在 方向的一次方向导数的值,
         在 方向的一次方向导数的值,
在上面拟合的小面模型下,可以得到f(x,y)的二次方向导数为
f B ′ ′ = | sin β cos β | × H × | sin β cos β |
式中,H为2*2的赫赛(Hessian)  矩阵,定义为:
H = ∂ 2 f ∂ x 2 ∂ 2 f ∂ x ∂ y ∂ 2 f ∂ y ∂ x ∂ 2 f ∂ y 2
赫赛矩阵的两个特征值是二次方向导数的两个极值,与它们对应的两个特征向量是两次方向导数取极值的方向向量,即
Figure C0311454100202
所以通过求赫赛矩阵的特征值和对应的特征向量,可以得到上述定义的所有基本特征参数。进一步综合这些参数可以判断出该象素处的地形结构,与字符笔划提取相关的地形结构具体判断方法如下:
峰:    ‖f‖=0,λ1<0,λ2<0
谷:    ‖f‖=0,λ1>0,λ2>0
脊:    ‖f‖≠0,λ1<0,
Figure C0311454100203
        ‖f‖≠0,λ2<0,
Figure C0311454100204
        ‖f‖≠0,λ1<0,λ2=0
鞍:    ‖f‖=0,λ1·λ2<0
平面点:‖f‖=0,λ1=0,λ2=0
在系统中,利用地形结构进行笔划提取的具体步骤如下:
(1).计算分割出的字符图像的一、二阶导数。它们的计算可以通过差分或局部曲面拟合的方法,这里我们采用了正交多项式的方法。
(2).根据计算每个点所在曲面赫赛矩阵的特征值和特征向量,判断该点的地形结构类型。
(3).提取其中的峰、脊点相连的鞍点、谷点与平面点,作为字符笔划点。
用这种方法提取边缘的试验结果如下:
图7是利用地形结构笔划提取的结果,其中(a)为灰度图像图(b)处理结果图;
由试验结果可以看出,通过采用地形基本素描表达的方法可以在一定程度上抵抗啤酒瓶文字表面因亮度和光线入射角度产生的变化,成功地提取了图像上的字符。在这一具体应用领域,较经典方法效果好。
(5)字符识别
首先对字符采用投影—变换系数法提取特征。设N为图形尺寸,g(x)和g(y)分别是图形在X轴和Y轴上的投影,对他们进行Fourier变换得到K个变换系数。从K个变换系数gk(k=0,1,2,…,K-1)中选出M个有代表性的特征,使它满足类间距离要大、类内距离要小,M的选择要随着不同的识别情况而定,即代表数字和英文的M数是不同的。
令gki (j)为第i类字母第j个样本的第k次变换系数,i是字母编号(i=1,…,S),S是字母集合的总字数,P为样本总数。wk为第k次变换系数的平均值,则
w k = 1 SP Σ i = 1 S Σ j = 1 P g ki ( j )
gki为第i类字母第k次变换系数的平均值
g ki = 1 P Σ j = 1 P g ki ( j )
ck为第k个变换系数的离散值
c k = 2 SP ( P - 1 ) Σ i = 1 S Σ j = 1 P Σ q = j P | g ki ( j ) - g ki ( q ) |
定义第k个变换系数的可分性函数Zk
Z k = 1 c k Σ i = 1 S | g ki - w k |
Zk越大,与它对应的变换系数gk越有较好的分类能力。求出不同k时Zk的数值,选出M个数值最大的Zk,并用和它对应的第k次变换系数gk作为分类的特征。
得到分类特征之后,利用BP神经网络设计识别系统。
神经网络的产生是从生物学上取得灵感,将某些模拟生物神经元的基本功能元件组织起来形成网络,该网络显示出惊人的与人脑相近的特性。
神经网络典型的一种形式称为连接模型。它由称为神经元的独立处理单元与连接弧连接成的网络所组成,网络可划分为若干层。输入信息的神经元组成输入层,这些神经元不具有输入连接弧;输出信息的神经元组成输出层,它不具有输出连接弧;其余神经元为中间层,其神经元称为中间神经元。中间层又称为隐藏层。它的连接模式有单层连接模式、多层连接模式和循环型连接模式。
图8所示的是一个两层的连接模型。x1,x2,…,xn为输入神经元,z1,z2,…,zp为中间神经元,y1,y2,…,ym为输出神经元。每一连接弧连接着两个神经元,并附有一数值Wij作为权值(连接强度或记忆强度),作为神经元xi对zi或zi对yi的影响。正的权值表示影响的增加,负的权值表示影响的减弱,类似于突触的增强和减弱。当前已有的人工神经网络,其连接模型几乎全部基于上述模型。
每一神经元计算的输出,又是其下一层所有神经元的输入,再用于计算它们的输出。每一神经元均使用相同的算法计算它们的输出。一神经元的输出用连接到它的神经元的输出和这些连接弧的权值来计算。神经元是神经网络的基本计算单元,一般是多个输入、一个输出的非线性单元,可以有一个内部反馈和阈值。图9是一个完整的神经元xi的结构。其中si是内部状态的反馈信息,θi是阈值,F是表示神经元活动的特性函数。通常神经元所接受的输入信号的总和Xi尚不能反映神经元输入和输出之间所应有的各种关系。为此,还需要进一步用一特性函数来刻画这种关系,产生一新的输出。一般特性函数可表示为:
                  Xi=∑wjxj+si      (1a)
                  x′i=F(Xii)    (1b)
在有多个神经元时,可用矢量形式表示为:
              X′=F(XW+S)              (2)
其中输入X为N维矢量,输出X′为M维矢量。W为N×M维矩阵。公式(2)意指网络连接模型输入层有N个神经元,输出层有M个神经元,有N个内部反馈信息,在特性函数的作用下,按阈值控制输出。
反向传播算法,简称BP算法,它是洛曼哈脱等人提出的一个监督训练多层神经网络的算法。每一个训练范例在网络中经过两遍传递计算:一遍向前传播计算。从输入层开始,传递各层并经过处理后,产生一个输出,并得到一个该实际输出和所需输出之差的差错矢量;一遍向反向传播计算,从输出层至输入层,利用差错矢量对权值进行逐层修改。BP算法有很强的数学基础,它扩展了神经网络的使用范围,产生了许多应用成功的实例。BP算法典型的结构图与图8相同。
BP学习算法要求神经元特性函数是可微的。因此,有许多函数可用作特性函数。如Sigmoid逻辑特性函数
x j ′ = F ( X j ) = 1 ( 1 + e - X j ) - - - ( 3 )
其中xj=∑wijxi,可满足这个要求,它的偏导数为:
∂ x ′ j ∂ x j = x j ′ ( 1 - x j ′ )
训练的目的是对网络的连接弧权值进行调整,使得在应用一输入矢量时,网络能产生一所需的输出矢量。训练的范围由一输入矢量与所需输出的目标矢量配对组成,两者一起被称为“训练对”,许多训练对组成训练范例集。
在开始训练时,网络的全部权值必须初始化,一般设置为小的随机数。这可保证不因权值取最大值而使网络饱和或出现反常情况。
BP算法的训练步骤如下:
(1)从训练范例集中取一训练对,把输入矢量用作网络的输入;
(2)计算网络输出矢量;
(3)计算网络输出矢量与训练对中目标矢量间的差错;
(4)再从输出层反向计算到第一中间层,向减少差错方向调整网络权值;
(5)对训练集中每一个范例重复上述(1)-(4)步,直至整个训练的差错最小。
学习后,网络作识别用时,仅用第(1)、(2)步,第(3)、(4)步从输出层开始,使用迭代方法,一直反向计算到第一中间层为止。其计算按Delta规则变形权值调整方程
      wij(n+1)=wij(n)+ηδjx′j                  (4)来进行,其中
wij(n)为神经元i至神经元j的第n次变更的权值;
x′j为神经元j的输出(方程中也可用输入xj代之);
η为学习率常数;
δj为神经元j的差错。
BP算法采用的是扩充Delta规则,考察差错平方和
E = 1 2 Σ j ( x ′ j - x j ‾ ) 2 - - - ( 5 )
在学习过程中以尽可能快地减小E的方式进行。一般它依赖于在权值空间中是否沿梯度方向搜索。为改进权值或阈值使之最终达到收敛,用按一定比例的 调整权值wij,wij的变化量用Δwij表示:
Δw ij = - η ∂ E ∂ w ij
因差错平方和由输出x′i表示,而x′i又由神经元的非线性输出表示(见3式),偏导数 可用下式计算
∂ E ∂ w ij = ∂ E ∂ X j ∂ X j ∂ w ij
X j = Σ i w ij x i , 故有
∂ X i ∂ w ij = ∂ ∂ w ij Σ i w ij x i = x i
如定义
δ i = - ∂ ∂ X j
                         Δwij=ηδj xi
此表达式完全类似于Delta规则的表达式。
现计算
δ j = - ∂ E ∂ X j = - ∂ E ∂ x ′ j ∂ x ′ j ∂ X j
当j层是输出层时,由公式(5)和特性函数得
∂ E ∂ x ′ j = - ( x ′ j - x j ‾ ) , ∂ x ′ j ∂ X j = f ′ ( X j )
输出层j有公式
δ j = - ( x ′ j - x j ‾ ) f ( X j ) - - - ( 6 )
当j为中间层时,有
∂ E ∂ x ′ j = - Σ k ∂ E ∂ X k ∂ X k ∂ x ′ j = Σ k ∂ E ∂ X k ( ∂ ∂ x ′ j Σ m w mk x m ) = Σ k ( ∂ E ∂ X k ) w jk = Σ k δ k w jk
此时
δ j = ( Σ k δ k w jk ) f ′ ( X j ) - - - ( 7 )
这说明对中间层的神经元Delta规则,要依据上一层的Delta结果。因此,从最高层输出层开始,用公式(6)计算,后续步骤用公式(7)传播此Delta计算,直至底层。
∂ x ′ j ∂ X j = f ′ ( x j ) = x ′ j ( 1 - x ′ j )
具体地说,当神经元特性函数采用公式(3)时在BP算法中扩充的Delta规则用下述二式表示:
输出层,即xi为输出神经元时
δ i = - ( x ′ j - x j ‾ ) x ′ j ( 1 - x ′ j )
中间层,即xi为中间神经元时
这里下标k指神经元j的上一层全部神经元下标范围。
δ j = ( Σ k δ k w jk ) x ′ j ( 1 - x ′ j )
有了上述公式(7),现在可以用公式(4)实现调整输出层连接弧权值,然后再用此权值与连接输出层神经元的δ值向下传播回去,用公式(7)计算每一中间层δ值。有了δ值,逐次用公式(4)调整中间层数值,直至输入层。BP算法是向前扫描与向后扫描相结合的过程。
最后将特征作为输入,字符作为输出,对于字母和数字设计不同的神经网络,经过学习和训练,就可将图像上的字符识别出来。

Claims (5)

1.一种啤酒瓶凸性字符提取与识别硬件系统,包括,一啤酒瓶传送带(1),其特征在于,在啤酒瓶传送带(1)上设置有一操作台(2),操作台(2)的上方设置有一遮光罩(3),遮光罩(3)的周围设置有一具有线阵CCD摄像头的摄像机(5),具有线阵CCD摄像头的摄像机(5)与一计算机(6)相连接,操作台(2)的中央还设置有一旋转台(4);
啤酒瓶被传送带(1)送入操作台(2)上,在旋转台(4)上被旋转一周,经遮光罩(3)周围设置的具有线阵CCD摄像头的摄像机(5)对啤酒瓶进行摄像,得到啤酒瓶字符图像,并将图像数据不断地传送到计算机(6)中,由计算机(6)对啤酒瓶上的“B”字和日期进行检测和识别。
2.实现权利要求1所述的啤酒瓶凸性字符提取与识别硬件系统的处理方法,其特征在于,至少包括以下步骤:
1)数据采集
由具有线阵CCD摄像头的摄像机将不断地采集到的数据通过数据采集卡的通讯端口传送到计算机中,计算机将这些数据拼接为一幅256*2048*8Bits的灰度图像,并将图像缩减为180*2048的点阵;
2)预处理
采用文字定位分割算法,在原图中大小为M*N的子窗口内分别计算最大值和最小值,然后利用这两个值求出不含背景的较为清楚的要素图;
3)字符分割
对以上一步骤得到的图进行分割;
(4)笔划提取
采用基于地形结构(Topographic structures)的方法,将灰度图像的灰度看做高度,用地形起伏的观点来看待和分析图像;
任意一点的地形结构可以分为:脊、沟、峰、谷、鞍、坡、平面等,用I(x,y)表示数字图像,把它转换成局部区域连续的模型,记得到的局部连续图像信号为f(x,y);每个小面包含几个像素范围的空间,可以用三次多项式来拟合:f(x,y)=k1+k2x+k3y+k4x2+k5xy+k6y2+k7x3+k8x2y+k9xy2+k10y3通过这个模型,可以计算任意位置的一阶、二阶导数
∂ f ∂ x , ∂ f ∂ y , ∂ 2 f ∂ x 2 , ∂ 2 f ∂ y 2 , ∂ 2 f ∂ x ∂ y
并且有
∂ 2 f ∂ x ∂ y = ∂ 2 f ∂ y ∂ x
下面定义每一个象素的基本特征量:
f                 f的梯度向量
‖f‖             梯度值
Figure C031145410003C3
               二次方向导数具有最大值时的单位向量
               与
Figure C031145410003C5
正交的单位向量
λ1                在 方向的二次方向导数的值
λ2                在 方向的二次方向导数的值
           在
Figure C031145410003C9
方向的一次方向导数的值
           在 方向的一次方向导数的值
在上面拟合的小面模型下,可以得到f(x,y)的二次方向导数为
f β ′ ′ = | sin β cos β | × H × | sin β cos β |
式中,H为2*2的赫赛(Hessian)矩阵,定义为:
H = ∂ 2 f ∂ x 2 ∂ 2 f ∂ x ∂ y ∂ 2 f ∂ y ∂ x ∂ 2 f ∂ y 2
赫赛矩阵的两个特征值是二次方向导数的两个极值,与它们对应的两个特征向量是两次方向导数取极值的方向向量,即
Figure C031145410003C14
所以通过求赫赛矩阵的特征值和对应的特征向量,可以得到上述定义的所有基本特征参数;进一步综合这些参数可以判断出该象素处的地形结构,与字符笔划提取相关的地形结构具体判断方法如下:
峰:          ‖f‖=0,λ1<0,λ2<0
谷:          ‖f‖=0,λ1>0,λ2>0
脊:          ‖f‖≠0,λ1<0,
              
              ‖f‖≠0,λ2<0,
              ‖f‖≠0,λ1<0,λ2=0
鞍:          ‖f‖=0,λ1·λ2<0
平面点:      ‖f‖=0,λ1=0,λ2=0
然后利用地形结构进行笔划提取;
(5)字符识别
首先对字符采用投影—变换系数法提取特征;
设N为图形尺寸,g(x)和g(y)分别是图形在X轴和Y轴上的投影,对他们进行Fourier变换得到K个变换系数。从K个变换系数gk(k=0,1,2,…,K-1)中选出M个有代表性的特征,使它满足类间距离要大、类内距离要小,M的选择要随着不同的识别情况而定,即代表数字和英文的M数是不同的;
令gki (j)为第i类字母第j个样本的第k次变换系数,i是字母编号(i=1,…,S),S是字母集合的总字数,P为样本总数。wk为第k次变换系数的平均值,则
w k = 1 SP Σ i = 1 S Σ j = 1 P g ki ( j )
gki为第i类字母第k次变换系数的平均值
g ki = 1 P Σ j = 1 P g ki ( j )
ck为第k个变换系数的离散值
c k = 2 SP ( P - 1 ) Σ i = 1 S Σ j = 1 P Σ q = j + 1 P | g ki ( j ) - g ki ( q ) |
定义第k个变换系数的可分性函数Zk
Z k = 1 c k Σ i = 1 S | g ki - w k |
Zk越大,与它对应的变换系数gk越有较好的分类能力,求出不同k时Zk的数值,选出M个数值最大的Zk,并用和它对应的第k次变换系数gk作为分类的特征;
得到分类特征之后,利用BP神经网络设计识别系统;
神经网络由称为神经元的独立处理单元与连接弧连接成的网络所组成,网络可划分为若干层;输入信息的神经元组成输入层,这些神经元不具有输入连接弧;输出信息的神经元组成输出层,它不具有输出连接弧;其余神经元为中间层,其神经元称为中间神经元;中间层又称为隐藏层;它的连接模式有单层连接模式、多层连接模式和循环型连接模式;
(6)最后将特征作为输入,字符作为输出,对于字母和数字设计不同的神经网络,经过学习和训练,就可将图像上的字符识别出来。
3.如权利要求2所述的啤酒瓶凸性字符提取与识别硬件系统的处理方法,其特征在于,所述字符分割的具体算法包括以下步骤:
步骤1:采用区域自适应二值化将图像分割为二值图像;
步骤2:对区域进行八连通链码跟踪,纪录下每个区域的起点(Xmin,Ymin),终点(Xmax,Ymax)等信息;
累加边界链码在梯度图中对应的图像灰度值平均值nGrayAverage,若nGrayAverage<Thresh2则删除整个块;
步骤3:利用有关字符的几何约束条件,剔除无关区域;
该步骤包含以下几个部分:
3.1若(H>HeightMax)或(H<HeightMin)或(W>WidthMax)或(W<WidthMin2)或((W<WidthMin)且((H>HeightMax)或(H<HeightMin))则该块为噪声块,予以删除;
本条件去除字符宽度过宽或过窄的候选区域,特别是对于字符″1″,设置了两个最小域值WidthMin2与Width,满足:WidthMin2<<字符1的期望宽度<WidthMin;
3.2若(((W/H>Ratio1)且(Width<WidthMin3))或(W/H<Ratio2)),则认为不满足比例条件,此块为噪声块,予以删除;
3.3若字符的几何中心与平均几何中心偏差过大,应予删除;
步骤4:利用字符的几何约束条件,将笔划断裂的区域合并;
该步骤包含以下几个部分:
4.1若|Ymid(i)-Ymid(j)|<Thresh7且|Xmid(i)-Xmid(j)|<Thresh7那末这两个几何块应该属于横向断裂,将其合并;
4.2若|Xmid(i)-Xmid(j)|<Thresh8
且则此两块属于属于竖向断裂,将其合并;
重复4.1、4.2,直到不发生新的合并为止;
步骤5:利用相邻几何块间的距离进行字符大小调整。
4.如权利要求2所述的啤酒瓶凸性字符提取与识别硬件系统的处理方法,其特征在于,在系统中,利用地形结构进行笔划提取的具体步骤如下:
(1).计算分割出的字符图像的一、二阶导数,它们的计算可以通过差分或局部曲面拟合的方法,这里采用了正交多项式的方法;
(2).根据计算每个点所在曲面赫赛矩阵的特征值和特征向量,判断该点的地形结构类型;
(3).提取其中的峰、脊点相连的鞍点、谷点与平面点,作为字符笔划点。
6.如权利要求3所述的啤酒瓶凸性字符提取与识别硬件系统的处理方法,其特征在于,所述神经元所接受的输入信号的总和Xi尚不能反映神经元输入和输出之间所应有的各种关系,为此,还需要进一步用一特性函数来刻画这种关系,产生一新的输出;一般特性函数可表示为:
                  Xi=∑wjxj+si                 (1a)
                  x′i=F(Xii)                (1b)
其中si是内部状态的反馈信息,θi是阈值,F是表示神经元活动的特性函数;
在有多个神经元时,可用矢量形式表示为:
                  X′=F(XW+S)                   (2)
其中输入X为N维矢量,输出X′为M维矢量。W为N×M维矩阵;公式(2)意指网络连接模型输入层有N个神经元,输出层有M个神经元,有N个内部反馈信息,在特性函数的作用下,按阈值控制输出。
CNB031145418A 2003-03-14 2003-03-14 啤酒瓶凸性字符提取与识别硬件系统及处理方法 Expired - Fee Related CN1170251C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031145418A CN1170251C (zh) 2003-03-14 2003-03-14 啤酒瓶凸性字符提取与识别硬件系统及处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031145418A CN1170251C (zh) 2003-03-14 2003-03-14 啤酒瓶凸性字符提取与识别硬件系统及处理方法

Publications (2)

Publication Number Publication Date
CN1438605A CN1438605A (zh) 2003-08-27
CN1170251C true CN1170251C (zh) 2004-10-06

Family

ID=27674094

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031145418A Expired - Fee Related CN1170251C (zh) 2003-03-14 2003-03-14 啤酒瓶凸性字符提取与识别硬件系统及处理方法

Country Status (1)

Country Link
CN (1) CN1170251C (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103472069A (zh) * 2012-06-07 2013-12-25 上海利控机械电子有限公司 一种泡沫检测机及其控制方法
CN103049743B (zh) * 2012-12-27 2015-08-05 天津普达软件技术有限公司 碗底字符检测系统及检测方法
CN109766890B (zh) * 2013-06-03 2020-11-06 支付宝(中国)网络技术有限公司 信息识别方法、设备和系统
CN103955684B (zh) * 2014-03-31 2017-07-28 小米科技有限责任公司 字符提取方法、装置及终端
CN104112130B (zh) * 2014-06-26 2017-08-01 小米科技有限责任公司 光学字符识别方法及装置
CN104331688A (zh) * 2014-11-05 2015-02-04 中北大学 一种雷管外壳点阵字符识别方法
CN104463124A (zh) * 2014-12-11 2015-03-25 天津普达软件技术有限公司 一种奶盒喷打字符识别的方法
CN104794480A (zh) * 2014-12-11 2015-07-22 天津普达软件技术有限公司 一种奶盒喷打字符不良品剔除方法
CN105844271A (zh) * 2015-01-13 2016-08-10 征图新视(江苏)科技有限公司 高速可变号码字符自动提取检测方法及系统
CN106583271A (zh) * 2016-12-28 2017-04-26 天津普达软件技术有限公司 一种包装盒喷墨打印字符首行缺行不良品剔除方法
CN107499904A (zh) * 2017-09-03 2017-12-22 东莞市为尔润机械设备科技有限公司 一种精密伺服回转台
CN109697478A (zh) * 2017-10-20 2019-04-30 山东新北洋信息技术股份有限公司 一种货物身份信息获取装置及其控制方法
CN112883965A (zh) * 2021-02-08 2021-06-01 中兴盛达电气技术(郑州)有限公司 包装器皿上的日期检测方法、电子设备和计算机可读存储介质
CN115147617B (zh) * 2022-09-06 2022-11-22 聊城集众环保科技有限公司 基于计算机视觉的污水处理智能监控方法

Also Published As

Publication number Publication date
CN1438605A (zh) 2003-08-27

Similar Documents

Publication Publication Date Title
CN1170251C (zh) 啤酒瓶凸性字符提取与识别硬件系统及处理方法
CN1818927A (zh) 指纹识别方法与系统
CN100347719C (zh) 基于密度图模型的指纹识别方法
CN1139039C (zh) 图象中图形的提取和识别以及异常判定的方法和装置
CN1156791C (zh) 模式识别设备与方法
CN1945602A (zh) 一种基于人工神经网络的特征选择方法
CN1310825A (zh) 用于分类文本以及构造文本分类器的方法和装置
CN1794266A (zh) 生物特征融合的身份识别和认证方法
CN1267849C (zh) 基于断纹检测的指纹识别方法
CN101030257A (zh) 基于汉字特征的文档图像分割方法
CN1973757A (zh) 基于舌象特征的病证计算机分析系统
CN1684492A (zh) 图像词典作成装置、编码装置、图像词典作成方法
CN1151465C (zh) 利用候选表进行分类的模式识别设备及其方法
CN1664846A (zh) 基于统计结构特征的联机手写汉字识别方法
CN1735834A (zh) 渐进镜片的设计方法
CN1839397A (zh) 用于处理诸如图像的具有现有拓扑的数据阵列的神经网络和网络应用
CN1280773C (zh) 纸券类的特征量波形的偏移幅度计算方法
CN1122022A (zh) 手写体匹配技术
CN1735907A (zh) 图像分析
CN1742283A (zh) 用于最优化待切削的选定部件的布局的方法
CN1607551A (zh) 基于图像的超现实主义三维脸部建模的方法和设备
CN1828632A (zh) 目标检测装置、学习装置、目标检测系统及目标检测方法
CN1588431A (zh) 基于游程邻接图的复杂背景彩色图像中字符提取方法
CN1871563A (zh) 加工信息产生装置、程序和加工信息产生方法
CN1305002C (zh) 多注册指纹融合方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20041006

Termination date: 20110314