发明内容
为解决上述技术问题,本发明实施例提供了一种手写体数字识别方法及装置,以提高手写体数字的识别准确性,技术方案如下:
一方面,本发明实施例提供了一种手写体数字识别方法,包括:
确定待识别图像,所述待识别图像中包含手写体形式的待识别数字类别标签;
依据像素点的灰度值,确定所述待识别图像中的特定的像素点的像素特征;
依据所述特定的像素点的像素特征,确定所述待识别图像的协方差;
基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和所述待识别图像的协方差,确定所述待识别图像的近邻标签集;其中,每一训练图像中包含一手写体形式的数字类别标签,所述训练图像集合所包含的数字类别标签涉及所有的数字类别,并且,所述待识别图像的协方差与所述近邻标签集中各数字类别标签对应协方差的距离不大于其与所述训练图像集合相应的剩余任意一协方差之间的距离;
将所述近邻标签集中个数最多的数字类别标签确定为所述待识别数字类别标签。
其中,所述基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和所述待识别图像的协方差,确定所述待识别图像的近邻标签集,包括:
分别计算所述待识别图像的协方差与预设的训练图像集合中的各训练图像的协方差之间的距离;
选择第一数量的距离作为近邻距离,其中,所述近邻距离不大于剩余的任意一距离;
将所述近邻距离对应的训练图像的数字类别标签构成所述待识别图像的近邻标签集。
其中,所述确定所述待识别图像中的特定的像素点的像素特征所依据的计算公式包括:
其中,φ(I,x,y)为所述待识别图像的像素点(x,y)的像素特征,I(x,y)表示像素点(x,y)处的灰度值,
为在像素点(x,y)处x方向上的一阶偏导,
为在像素点(x,y)处y方向上的一阶偏导,1≤x≤m,m为所述待识别图像中的行像素值,1≤y≤n,n为所述待识别图像中的列像素值,T为进行矩阵转置。
其中,所述确定所述待识别图像的协方差所依据的计算公式包括:
其中,
为所述待识别图像的像素特征的均值,T为进行矩阵转置。
其中,计算所述待识别图像的协方差与预设训练图像集合中的各个训练图像的协方差之间的距离所依据的计算公式包括:
其中,di(C,Ci)为所述待识别图像的协方差C与所述预设训练图像中的训练图像i的协方差Ci之间的距离,N为所述预设训练图像中所包含训练图像的总量,λj,j=1,…,6为C和Ci的广义特征值。
其中,所述待识别图像中的特定的像素点包括:
所述待识别图像中的所有像素点;
或者,
所述待识别图像中的部分像素点,且所述部分像素点为所述待识别图像中的手写区域的像素点,所述手写区域为所述待识别图像中的一部分图像区域。
另一方面,本发明实施例还提供了一种手写体数字识别装置,包括:
待识别图像确定模块,用于确定待识别图像,所述待识别图像中包含手写体形式的待识别数字类别标签;
像素特征确定模块,用于依据像素点的灰度值,确定所述待识别图像中的特定的像素点的像素特征;
协方差确定模块,用于依据所述特定的像素点的像素特征,确定所述待识别图像的协方差;
近邻确定模块,用于基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和所述待识别图像的协方差,确定所述待识别图像的近邻标签集;其中,每一训练图像中包含一手写体形式的数字类别标签,所述训练图像集合所包含的数字类别标签涉及所有的数字类别,并且,所述待识别图像的协方差与所述近邻标签集中各数字类别标签对应协方差的距离不大于其与所述训练图像集合相应的剩余任意一协方差之间的距离;
待识别标签确定模块,用于将所述近邻标签集中个数最多的数字类别标签确定为所述待识别数字类别标签。
本发明实施例所提供的技术方案中,依据像素点的灰度值,确定包含待识别数字类别标签的待识别图像中的特定的像素点的像素特征;依据特定的像素点的像素特征,确定该待识别图像的协方差;进而基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和待识别图像的协方差,确定该待识别图像的近邻标签集;最终将近邻标签集中个数最多的数字类别标签确定为待识别数字类别标签。可见,与现有技术相比,本方案中,作为分类问题的特征的协方差依据特定的像素点的灰度值获得,有效利用了待识别图像的空间信息,因此,提高了手写体数字的识别准确性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高手写体数字的识别准确性,本发明实施例提供了一种手写体数字识别方法及装置。
下面首先对本发明实施例所提供的一种手写体数字识别方法进行介绍。
如图1所示,一种手写体数字识别方法,可以包括:
S101,确定待识别图像;
当需要识别手写体数字时,首先确定出包含有手写体形式的待识别数字类别标签的待识别图像,进而基于该待识别图像进行后续的处理。
需要说明的是,数字类别标签即为具体数字,其对应的数字类别有10类,该10类数字类别标签为:0-9。其中,该待识别数字类别标签可能为0-9中的任意一数字,并且,该待识别数字类别标签对应的手写体形式可以不局限为一种。
S102,依据像素点的灰度值,确定该待识别图像中的特定的像素点的像素特征;
由于笔画位置有助于识别数字,而具有笔画的位置处的像素点的灰度值不同于其他位置,使得像素点的灰度值可以作为待识别手写体数字的重要空间信息。因此,在确定出待识别图像后,可以依据像素点的灰度值,确定该待识别图像中的特定的像素点的像素特征,从而使得所确定出的待识别图像的协方差中包含空间信息。
需要说明的是,为了保证较高的准确性,该待识别图像中的特定的像素点可以包括:该待识别图像中的所有像素点。进一步的,为了在保证较高的准确性的前提下,提高处理效率,该待识别图像中的特定的像素点可以包括:该待识别图像中的部分像素点,且该部分像素点为该待识别图像中的手写区域的像素点,该手写区域为该待识别图像中的一部分图像区域。
具体的,确定该待识别图像中的特定的像素点的像素特征所依据的计算公式可以包括:
其中,φ(I,x,y)为该待识别图像的像素点(x,y)的像素特征,I(x,y)表示像素点(x,y)处的灰度值,
为在像素点(x,y)处x方向上的一阶偏导,
为在像素点(x,y)处y方向上的一阶偏导,1≤x≤m,m为该待识别图像中的行像素值,1≤y≤n,n为该待识别图像中的列像素值,T为进行矩阵转置。
S103,依据该特定的像素点的像素特征,确定该待识别图像的协方差;
在确定出特定的像素点的像素特征后,可以依据该特定的像素点的像素特征,确定该待识别图像的协方差,从而构成李群KNN分类问题的特征。
具体的,确定该待识别图像的协方差所依据的计算公式为:
其中,
为该待识别图像的像素特征的均值,T为进行矩阵转置。
S104,基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和该待识别图像的协方差,确定该待识别图像的近邻标签集;
其中,每一训练图像中包含一手写体形式的数字类别标签,该训练图像集合所包含的数字类别标签涉及所有的数字类别,并且,该待识别图像的协方差与该近邻标签集中各数字类别标签对应协方差的距离不大于其与该训练图像集合相应的剩余任意一协方差之间的距离。
可以理解的是,在实际应用中,该训练图像集合所包含的数字类别标签涉及10个数字:0-9;并且,该预设的训练图像集合中所包含的每一类数字类别标签对应训练图像的数量可以不同或相同。
其中,基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和该待识别图像的协方差,确定该待识别图像的近邻标签集,可以包括:
a、分别计算该待识别图像的协方差与预设的训练图像集合中的各训练图像的协方差之间的距离;
具体的,计算该待识别图像的协方差与预设训练图像集合中的各个训练图像的协方差之间的距离所依据的计算公式包括:
其中,di(C,Ci)为该待识别图像的协方差C与该预设训练图像中的训练图像i的协方差Ci之间的距离,N为该预设训练图像中所包含训练图像的总量,λj,j=1,…,6为C和Ci的广义特征值。
b、选择第一数量的距离作为近邻距离,其中,该近邻距离不大于剩余的任意一距离;
其中,第一数量可以根据实际情况进行设定,在此不做限定。
c、将该近邻距离对应的训练图像的数字类别标签构成该待识别图像的近邻标签集。
可见,通过上述步骤a、b、c可以确定出待识别图像的近邻标签集。
需要说明的是,预设的训练图像集合中的各训练图像的协方差的计算方式与待识别图像的协方差的计算方式相同,即:
在确定出一训练图像后,依据像素点的灰度值,确定该训练图像中的特定的像素点的像素特征;依据该特定的像素点的像素特征,确定该训练图像的协方差。进一步的,对于训练图像而言,确定特定的像素点的像素特征所依据的计算公式为计算公式(1),确定训练图像的协方差所依据的计算公式为计算公式(2)。
S105,将该近邻标签集中个数最多的数字类别标签确定为该待识别数字类别标签。
由于近邻标签集中的各数字类别标签对应训练图像的协方差与待识别图像的协方差之间的距离较小,表明近邻标签集中的各个数字类别标签与待识别数字类别标签之间的误差较小,此时,可将该近邻标签集中个数最多的数字类别标签确定为该待识别数字类别标签。
本发明实施例所提供的技术方案中,依据像素点的灰度值,确定包含待识别数字类别标签的待识别图像中的特定的像素点的像素特征;依据特定的像素点的像素特征,确定该待识别图像的协方差;进而基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和待识别图像的协方差,确定该待识别图像的近邻标签集;最终将近邻标签集中个数最多的数字类别标签确定为待识别数字类别标签。可见,与现有技术相比,本方案中,作为分类问题的特征的协方差依据特定的像素点的灰度值获得,有效利用了待识别图像的空间信息,因此,提高了手写体数字的识别准确性。
需要说明的是,构建预设的训练图像集合可以从MNIST手写体数字数据集中,分别随机获取每一类数字类别标签的若干数量的训练图像。其中,MNIST为美国著名数据集NIST的子集,模式识别常用实验数据集,该数据集中有由60000个训练图像构成的训练集和由10000个测试图像构成的测试集。
下面介绍本发明实施例所提供的手写体数字识别方法对应的训练过程:
(1)训练图像处理过程:
1)确定训练图像集合
其中,I
i∈R
m×n是第i个训练图像,m和n表示训练图像的行像素和列像素值,l
i∈{1,…,c}是I
i对应的数字类别标签,即表示I
i是哪个数字,N表示训练图像的总个数,c表示数字类别标签的类别数;其中,假设m=n=28,N=100c,并且令i=1。
2)对训练图像Ii上点(x,y)处的像素点提取如下像素特征:
其中,1≤x≤28和1≤y≤28,I
i(x,y)表示在该点处的灰度值,
和
分别表示在该点处x和y方向上的一阶偏导。
3)根据提取的像素特征,按照如下公式确定训练图像Ii的协方差:
4)如果i=N,则停止,否则i=i+1,重复2)和3)。
(2)测试图像处理过程:
1)确定测试图像I,其中,x∈Rm×n。
2)对测试图像I上点(x,y)处的像素点提取如下像素特征:
3)根据提取的像素特征,按照如下公式确定测试图像I的协方差:
(3)识别过程:
1)确定近邻个数k,其中,k在集合{1,3,5,…,29}中取值。
2)计算测试图像I的协方差C和训练图像Ii的协方差Ci之间的距离,即
其中,λj,j=1,…,6是C和Ci的广义特征值。
3)对距离集合
中的元素进行排序,取最小的前k个C
i对应数字类别标签构成近邻标签集。
4)确定测试图像的数字类别标签为近邻标签集中个数最多的数字类别标签。
本发明的效果可以通过如下实验验证:
从训练集中随机选择每类数字类别标签对应的100个训练图像,从测试集中随机选择200个测试图像;重复这一采样过程10次,最后输出的结果是这10次的平均结果。实验对比的方法包括本发明、李群KNN、李群Fisher和李群Means,其中,李群KNN方法中的参数k在集合{1,3,5,…,29}中取值。
整个实验过程包括三组实验,分别是对数字(1,9)进行两分类,数字(1,7,9)进行三分类,以及数字(1,2,7,9)进行四分类。
其中,两分类的实验结果如表1和图2所示,其中,表1中给出了利用4种方法进行分类的平均结果,图2给出了李群KNN方法和本发明方法对数字1和9的分类性能的对比结果。
|
数字1 |
数字9 |
平均 |
李群Means |
20.30±1.53 |
25.90±4.44 |
23.10±2.04 |
李群Fisher |
22.55±8.89 |
2.35±1.58 |
12.45±4.88 |
李群KNN |
3.90±0.84 |
0.40±0.39 |
1.98±0.47 |
本发明 |
1.60±1.33 |
0.60±0.46 |
1.10±0.59 |
表1
由表1和图2可见,本发明所提供的手写体数字识别方法的误识率只有1.1%,与李群Means、李群fisher、李群KNN相比,均具有较高的识别准确性。
并且,三分类的实验结果如表2和图3所示,其中,表2给出了利用4种方法进行分类的平均结果,图3给出了李群KNN方法和本发明方法对数字1、7和9的分类性能的对比结果。四分类的实验结果如表3和图4所示,其中,表3给出了利用4种方法进行分类的平均结果,图4给出了李群KNN方法和本发明方法对数字1、2、7和9的分类性能的对比结果。
|
数字1 |
数字7 |
数字9 |
平均 |
李群Means |
17.60±3.30 |
31.70±3.62 |
43.604.38 |
30.97±1.71 |
李群Fisher |
12.15±5.45 |
30.80±4.08 |
23.10±3.04 |
22.02±3.01 |
李群KNN |
6.40±2.37 |
22.45±3.91 |
6.40±1.90 |
11.75±2.02 |
本发明 |
1.60±0.66 |
23.20±4.44 |
8.50±2.08 |
11.10±1.33 |
表2
|
数字1 |
数字2 |
数字7 |
数字9 |
平均 |
李群Means |
30.70±2.53 |
38.75±3.65 |
30.45±4.43 |
47.35±3.42 |
36.81±1.32 |
李群Fisher |
12.30±1.69 |
17.40±1.63 |
42.00±2.59 |
24.90±4.46 |
24.15±1.24 |
李群KNN |
7.65±2.52 |
22.35±3.13 |
33.10±3.71 |
24.35±2.91 |
21.86±0.97 |
本发明 |
2.35±1.42 |
4.20±1.06 |
22.95±3.39 |
11.80±2.43 |
10.32±0.94 |
表3
可见,三分类和四分类的实验结果表明,本发明所提供的手写体数字识别方法相对于李群Means、李群fisher、李群KNN,均有明显优势。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
相应于上面的方法实施例,本发明实施例还提供一种手写体数字识别装置,如图5所示,该手写体数字识别装置可以包括:
待识别图像确定模块110,用于确定待识别图像,所述待识别图像中包含手写体形式的待识别数字类别标签;
像素特征确定模块120,用于依据像素点的灰度值,确定所述待识别图像中的特定的像素点的像素特征;
协方差确定模块130,用于依据所述特定的像素点的像素特征,确定所述待识别图像的协方差;
近邻确定模块140,用于基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和所述待识别图像的协方差,确定所述待识别图像的近邻标签集;其中,每一训练图像中包含一手写体形式的数字类别标签,且所述训练图像集合所包含的数字类别标签涉及所有的数字类别;所述待识别图像的协方差与所述近邻标签集中各数字类别标签对应协方差的距离不大于其与所述训练图像集合相应的剩余任意一协方差之间的距离;
待识别标签确定模块150,用于将所述近邻标签集中个数最多的数字类别标签确定为所述待识别数字类别标签。
本发明实施例所提供的技术方案中,依据像素点的灰度值,确定包含待识别数字类别标签的待识别图像中的特定的像素点的像素特征;依据特定的像素点的像素特征,确定该待识别图像的协方差;进而基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和待识别图像的协方差,确定该待识别图像的近邻标签集;最终将近邻标签集中个数最多的数字类别标签确定为待识别数字类别标签。可见,与现有技术相比,本方案中,作为分类问题的特征的协方差依据特定的像素点的灰度值获得,有效利用了待识别图像的空间信息,因此,提高了手写体数字的识别准确性。
其中,近邻确定模块140基于李群KNN算法,依据预设的训练图像集合中的各训练图像的协方差和所述待识别图像的协方差,确定所述待识别图像的近邻标签集,可以包括:
分别计算所述待识别图像的协方差与预设的训练图像集合中的各训练图像的协方差之间的距离;
选择第一数量的距离作为近邻距离,其中,所述近邻距离不大于剩余的任意一距离;
将所述近邻距离对应的训练图像的数字类别标签构成所述待识别图像的近邻标签集。
其中,所述像素特征确定模块120确定所述待识别图像中的特定的像素点的像素特征所依据的计算公式包括:
其中,φ(I,x,y)为所述待识别图像的像素点(x,y)的像素特征,I(x,y)表示像素点(x,y)处的灰度值,
为在像素点(x,y)处x方向上的一阶偏导,
为在像素点(x,y)处y方向上的一阶偏导,1≤x≤m,m为所述待识别图像中的行像素值,1≤y≤n,n为所述待识别图像中的列像素值,T为进行矩阵转置。
其中,所述协方差确定模块130确定所述待识别图像的协方差所依据的计算公式可以包括:
其中,
为所述待识别图像的像素特征的均值,T为进行矩阵转置。
其中,所述近邻确定模块140计算所述待识别图像的协方差与预设训练图像集合中的各个训练图像的协方差之间的距离所依据的计算公式可以包括:
其中,di(C,Ci)为所述待识别图像的协方差C与所述预设训练图像中的训练图像i的协方差Ci之间的协方差距离,N为所述预设训练图像中所包含训练图像的总量,λj,j=1,…,6为C和Ci的广义特征值。
对于装置或系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,所描述系统,装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。