CN112036461B - 手写数字图像识别方法、装置、设备及计算机存储介质 - Google Patents
手写数字图像识别方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112036461B CN112036461B CN202010858039.2A CN202010858039A CN112036461B CN 112036461 B CN112036461 B CN 112036461B CN 202010858039 A CN202010858039 A CN 202010858039A CN 112036461 B CN112036461 B CN 112036461B
- Authority
- CN
- China
- Prior art keywords
- model
- digital image
- neural network
- convolutional neural
- network model
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/045—Combinations of networks
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种手写数字图像识别方法、装置、设备及计算机存储介质,方法包括如下步骤:获取记载有手写数字的图像信息;输入图像信息到边缘计算设备中,边缘计算设备包括训练后的手写数字图像识别模型;根据训练后的手写数字图像识别模型,确定与图像信息对应的数字信息。本发明提供的手写数字图像识别方法通过采用能够应用于边缘计算设备中的训练后的手写数字图像识别模型,该训练后的手写数字图像识别模型的模型规模较小,能够方便快速地在边缘计算设备中运行,良好适应边缘计算设备计算力较小和储存空间有限的特点,能够满足在对手写数字图像中数字信息进行识别的过程中,既有较高的识别精确度,又能满足实时性的要求。
Description
技术领域
本发明涉及计算机识别技术领域,特别是涉及一种手写数字图像识别方法、装置、设备及计算机存储介质。
背景技术
近年来,随着科技的发展,手写数字图像识别系统在现实生活中应用范围越来越广泛,例如对大量手写数字的统计、试卷分数扫描、邮件自动分拣和人工数据分析录入等。这些应用对手写体数字识别的精确度以及实时性的要求较高。
然而,目前手写数字识别大都是基于云计算实现的,终端将获取到的记载有手写数字内容的图片发送到云端,利用云端超高的计算能力分析识别出手写数字的结果,再发送到终端。这一过程难免会存在网络延迟,在云端任务量过大,且终端任务同样较大的情况下,就无法确保识别效率,也就无法满足对识别实时性要求较高的场合。另外,这种将终端数据传输到云端,再由云端传回终端的数据传输方式也存在一定的数据泄露风险。
随着边缘智能(Edge intelligence,EI)的发展,部署在边缘设备上的实时手写数字系统不受网络的限制且数据可以不上传到云端,在保证实时性的同时保护了数据的安全,因此可以将进行手写数字识别的神经网络模型与EI结合起来,是对手写数字识别的实时性保证的良好解决方案。然而,边缘设备的计算力较小、储存空间有限,目前主流的神经网络部署在边缘设备上无法发挥实时识别效果。
发明内容
基于此,有必要针对上述提到的至少一个问题,提供一种手写数字图像识别方法、装置、设备及计算机存储介质。
第一个方面,本申请提供了一种手写数字图像识别方法,包括如下步骤:
获取记载有手写数字的图像信息;
输入所述图像信息到边缘计算设备中,所述边缘计算设备包括训练后的手写数字图像识别模型;
根据所述训练后的手写数字图像识别模型,确定与所述图像信息对应的数字信息。
在第一个方面的某些实现方式中,所述训练后的手写数字图像识别模型的确定方法包括:
获取卷积神经网络模型LeNet-5和多个训练图像,所述训练图像上记载有手写数字;
调整所述卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数,确定调整后的卷积神经网络模型;所述模型属性参数包括卷积核大小、卷积层的通道数和全连接层数量;
根据所述调整后的卷积神经网络模型,识别每个训练图像,确定模型中损失函数的识别误差;
基于所述识别误差和所述多个训练图像,调整所述调整后的卷积神经网络模型的模型参数,直至所述损失函数收敛;
将损失函数收敛的所述调整后的卷积神经网络模型作为训练后的手写数字图像识别模型。
结合第一个方面和上述实现方式,在第一个方面的某些实现方式中,所述调整所述卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数的步骤,包括:
将所述卷积核大小减小至3×3;
增加C1卷积层和/或C3卷积层的通道数至预设通道数量值;
增加一层全连接层。
结合第一个方面和上述实现方式,在第一个方面的某些实现方式中,所述基于所述识别误差和所述多个训练图像,调整所述调整后的卷积神经网络模型的模型参数,直至所述损失函数收敛的步骤,包括:
添加L2正则化项到所述调整后的卷积神经网络模型的损失函数;
在调整所述调整后的卷积神经网络模型的模型参数过程中,随机设置所述卷积神经网络模型中隐藏层预定比例的神经元输出为零。
结合第一个方面和上述实现方式,在第一个方面的某些实现方式中,所述基于所述识别误差和所述多个训练图像,调整所述调整后的卷积神经网络模型的模型参数,直至所述损失函数收敛的步骤,包括:
确定所述调整所述调整后的卷积神经网络模型的模型参数的当前学习步数、衰减步数和初始学习率;
根据预设衰减系数、当前学习步数、衰减步数和初始学习率,确定模型的当前学习率。
结合第一个方面和上述实现方式,在第一个方面的某些实现方式中,所述训练后的手写数字图像识别模型输入所述边缘计算设备之前,还包括:使用奇异值分解的方式对所述训练后的手写数字图像识别模型进行压缩。
第二个方面,本申请提供了一种手写数字图像识别装置,包括:
获取模块,用于获取记载有手写数字的图像信息;
输入模块,用于输入所述图像信息到边缘计算设备中,所述边缘计算设备包括训练后的手写数字图像识别模型;
识别模块,用于根据所述训练后的手写数字图像识别模型,确定与所述图像信息对应的数字信息。
在本申请第二个方面的某些实现方式中,所述输入模块包括:
元素获取单元,用于获取卷积神经网络模型LeNet-5和多个训练图像,所述训练图像上记载有手写数字;
参数调整单元,用于调整所述卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数,确定调整后的卷积神经网络模型;所述模型属性参数包括卷积核大小、卷积层的通道数和全连接层数量;
误差确定单元,用于根据所述调整后的卷积神经网络模型,识别每个训练图像,确定模型中损失函数的识别误差;
模型训练单元,用于基于所述识别误差和所述多个训练图像,调整所述调整后的卷积神经网络模型的模型参数,直至所述损失函数收敛;
模型确定单元,用于将损失函数收敛的所述调整后的卷积神经网络模型作为训练后的手写数字图像识别模型。
第三个方面,本申请提供了一种手写数字图像识别设备,包括处理器;
存储器,与所述处理器电连接;
至少一个程序,被存储在所述存储器中并被配置为由所述处理器执行,所述至少一个程序被配置用于:实现如本申请第一个方面描述的手写数字图像识别方法。
第四个方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被电子设备执行时实现如本申请第一个方面描述的手写数字图像识别方法。
本发明的实施例中提供的技术方案带来如下有益技术效果:
本发明提供的手写数字图像识别方法通过采用能够应用于边缘计算设备中的训练后的手写数字图像识别模型,该训练后的手写数字图像识别模型的模型规模较小,能够方便快速地在边缘计算设备中运行,良好适应边缘计算设备计算力较小和储存空间有限的特点,能够满足在对手写数字图像中数字信息进行识别的过程中,既有较高的识别精确度,又能满足实时性的要求。
本申请附加的方面和优点将在后续部分中给出,并将从后续的描述中详细得到理解,或通过对本发明的具体实施了解到。
附图说明
图1为本发明一实施例中提供的手写数字图像识别方法的方法流程示意图;
图2为本发明一实施例中的训练后的手写数字图像识别模型的确定方法的方法流程示意图;
图3为本发明一实施例中训练后的手写数字图像识别模型在不同衰减系数下学习率的变化曲线;
图4为本发明一实施例中SVD压缩模型原理示意图;
图5为本发明一实施例中提供的手写数字图像识别装置的结构框架示意图;
图6为本发明另一实施例中提供的手写数字图像识别装置的结构框架示意图;
图7为本发明一实施例中提供的手写数字图像识别设备的结构框架示意图;
图8为本发明一实施例中训练过程损失的变化图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的可能的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文已经通过附图描述的实施例。通过参考附图描述的实施例是示例性的,用于使对本发明的公开内容的理解更加透彻全面,而不能解释为对本发明的限制。此外,如果已知技术的详细描述对于示出的本发明的特征是非必要技术的,则可能将这些技术细节予以省略。
相关领域的技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
在开始介绍本申请提供的手写数字图像识别方法的主要内容之前,先就相关的专用名词进行解释。
卷积神经网络模型,是一种常见的深度学习架构,受生物自然视觉认知机制(动物视觉皮层细胞负责检测光学信号)启发而来,是一种特殊的多层前馈神经网络。卷积神经网络模型中的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。
卷积神经网络模型LeNet-5,是Yann LeCun在1998年设计的用于手写数字识别的卷积神经网络,是早期卷积神经网络中最有代表性的实验系统之一。主要有2个卷积层、2个下抽样层(即池化层)和3个全连接层。
卷积核,图像处理时,给定输入图像,输入图像中一个小区域中像素加权平均后成为输出图像中的每个对应像素,其中权值由一个函数定义,这个函数称为卷积核。LeNet-5中卷积核为5×5大小。
卷积层的通道数,一般指每个卷积层中卷积核的数量。
其他可能涉及到的名词将在后续叙述中具体提及。
下面以具体地实施例对本发明的技术方案以及该技术方案如何解决上述的技术问题进行详细说明。
本申请第一个方面的实施例提供了一种手写数字图像识别方法,如图1所示,包括如下步骤:
S100:获取记载有手写数字的图像信息。
S200:输入图像信息到边缘计算设备中,边缘计算设备包括训练后的手写数字图像识别模型。
S300:根据训练后的手写数字图像识别模型,确定与图像信息对应的数字信息。
本发明提供的手写数字图像识别方法通过采用能够应用于边缘计算设备中的训练后的手写数字图像识别模型,该训练后的手写数字图像识别模型的模型规模较小,能够方便快速地在边缘计算设备中运行,良好适应边缘计算设备计算力较小和储存空间有限的特点,能够满足在对手写数字图像中数字信息进行识别的过程中,既有较高的识别精确度,又能满足实时性的要求
可选的,在第一个方面实施例的某些实现方式中,如图2所示,训练后的手写数字图像识别模型的确定方法包括:
S210:获取卷积神经网络模型LeNet-5和多个训练图像,训练图像上记载有手写数字。
S220:调整卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数,确定调整后的卷积神经网络模型;模型属性参数包括卷积核大小、卷积层的通道数和全连接层数量。
S230:根据调整后的卷积神经网络模型,识别每个训练图像,确定模型中损失函数的识别误差。
S240:基于识别误差和多个训练图像,调整调整后的卷积神经网络模型的模型参数,直至损失函数收敛。
S250:将损失函数收敛的调整后的卷积神经网络模型作为训练后的手写数字图像识别模型。
经S210获取到卷积神经网络模型LeNet-5以及多个训练图像之后,首先通过S220对初始的卷积神经网络模型LeNet-5进行参数调整,将其中的卷积核大小、卷积层的通道数和全连接层数量进行调整,使其更加适应手写数字图像识别。
完成对初始的卷积神经网络模型LeNet-5的参数调整后,开始利用训练图像对调整后的卷积神经网络模型LeNet-5进行训练。S230中的一项步骤是,通过调整后的卷积神经网络模型LeNet-5对第一张训练图像进行图像识别,得到识别结果,记录识别过程中损失函数的识别误差。根据识别误差以及第一张训练图像对应的真实数字结果,对调整后的卷积神经网络模型LeNet-5进行模型参数调整。
不断重复上述过程,在经过识别大量的训练图像以及模型参数调整后,调整后的卷积神经网络模型LeNet-5完成学习,即是达到卷积神经网络模型LeNet-5中的损失函数收敛的效果。经S250,将完成学习的调整后的卷积神经网络模型输出,作为训练后的手写数字图像识别模型。
相较于卷积神经网络模型LeNet-5,调整后的卷积神经网络模型LeNet-5能够更加适应边缘计算设备,在保证手写数字识别精确度的情况下,能够确保较好的识别实时性。
可选的,在第一个方面实施例的一些实现方式中,调整卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数的步骤,具体内容包括:将卷积核大小减小至3×3。增加C1卷积层和/或C3卷积层的通道数至预设通道数量值。增加一层全连接层。
将卷积神经网络模型LeNet-5中的激活函数改为ReLu激活函数,ReLu函数的表达式如式(1)所示。ReLu激活函数的优点有:(1)计算简单,不存在原先所采用的激活函数Sigmoid函数中的指数运算,在边缘计算平台计算力欠缺的情况下,可以很好地缓解边缘设备的计算压力;(2)不会造成梯度消失的问题,可以有效地训练神经网络,使其达到更好的效果。
将卷积神经网络模型LeNet-5的卷积核大小减小为3×3,还可相应减少一层卷积层。在卷积神经网络中,计算负担主要集中在卷积部分,通过减小卷积核大小,并减少卷积层数,可以更好地减轻计算负担,使其更适应于边缘计算设备。再者,增加卷积层的通道数。理论上讲,通道数越多,则网络的特征提取能力越强,适当地提升卷积层通道数,可以使网络具有更好的性能。全连接层主要对网络进行分类,在卷积神经网络模型LeNet-5具有三个全连接层的基础上增加一层全连接层,可以使网络的分类能力得到提升,优化网络的性能。调整后的卷积神经网络模型LeNet-5可称为LeNet-C。
可选的,在本申请第一个方面实施例的另一些实现方式中,基于识别误差和多个训练图像,调整调整后的卷积神经网络模型的模型参数,直至损失函数收敛的步骤,包括:
添加L2正则化项到调整后的卷积神经网络模型的损失函数。在调整调整后的卷积神经网络模型的模型参数过程中,随机设置卷积神经网络模型中隐藏层预定比例的神经元输出为零。
可选的,S240基于识别误差和多个训练图像,调整调整后的卷积神经网络模型的模型参数,直至损失函数收敛的步骤,还可以包括:
确定调整调整后的卷积神经网络模型的模型参数的当前学习步数、衰减步数和初始学习率。根据预设衰减系数、当前学习步数、衰减步数和初始学习率,确定模型的当前学习率。
在实际应用中,边缘计算设备的数据量小,且数据形式与训练数据会有差异,导致训练数据无法充分反映总体特征。为避免“训练效果好,而实际应用效果差”的情况出现,本申请的技术方案中加入了L2正则化和/或“Dropout”的方法来实际进行模型训练。
其中,正则化就是在原来卷积神经网络模型的损失函数的基础上加上正则化项,这样可以在模型的学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险。加入的L2正则化的计算公式如式(2)所示。
Loss=-∑y′logy+R∑|wi|2 公式(2)
式(2)中,-∑y′logy为交叉熵损失的计算公式,用来计算手写数字图像的预测值和实际值的误差,也即识别误差,其中,y’为标准答案,y为预测结果;R∑|wi|2为正则化项,其中,R为正则化率,w为卷积神经网络模型中的可训练参数。
“Dropout”就是每一轮训练时,会随机将隐藏层中p%的神经元输出置0,被置0的神经元不参与卷积神经网络模型中前向和反向传播。p的具体数值在实际训练中根据需要具体确定。此方法减少了神经元的复杂适应性,可以加快训练速度,并且取得更好的泛化性,防止过拟合。
此外,在模型训练过程中,本申请提供的卷积神经网络模型采用了指数衰减学习率,使学习率的大小随着训练的轮数的增加而使指数减少,从而使模型能够具有更好的收敛效果。指数衰减学习率的计算公示如式(3)所示,其中μ为当前学习率,μ’为初始学习率,r为衰减系数,gloabal_step为当前步数,decay_step为衰减步数。例如,在进行新一轮学习之前,能够确定其中μ’=0.05,decay_step=500,不同r的取值下,学习率的变化如图3所示,为保证学习率不过于小而造成学习缓慢,最后可取r=0.99。
可选的,结合第一个方面实施例和上述实现方式,在本申请第一个方面实施例的又一些实现方式中,训练后的手写数字图像识别模型输入边缘计算设备之前,还包括:使用奇异值分解的方式对训练后的手写数字图像识别模型进行压缩。
边缘计算设备往往储存空间有限,且存在网络带宽的限制,在边缘平台上部署的模型,其大小不宜过大。为使LeNet-C更适合边缘平台,需要在精确度允许的范围内,对模型进行压缩。
一种LeNet-C中各层参数数量如表1所示。其中F1层(相当于卷积神经网络模型中的全连接层C5)参数的数量占整个模型参数数量的99.52%,只要对F1层进行压缩,即可有效减小模型的大小。
表1 LeNet-C模型各层参数数量
Layer | 核大小 | 核数量 | 参数数量 |
C1 | 3x3 | 32 | 288 |
S2 | - | - | - |
C3 | 3x3 | 64 | 576 |
S4 | - | - | - |
Reshape | - | - | - |
F1 | 2304x768 | - | 1769472 |
F2 | 768x10 | - | 7680 |
本申请使用奇异值分解(SVD,Singular Value Decomposition)的方式对模型进行压缩,在保留模型大部分信息的同时,有效的减小了模型的大小。
例如,假设任意实矩阵Wm×n,其利用SVD可被分解为:
公式4中Um×m=[u1,u2,…,um],Vn×n=[v1,v2,…,vn]分别是左奇异值矩阵和右奇异值矩阵,Cq×q=diag(σ1,σ2,…,σq),q=min(m,n),σi(i=1,2,…,q)为W的奇异值,且σ1>σ2>…>σq>0。
取最大的前k个奇异值σ1,σ2,…,σk,来近似地还原矩阵Wm×n,使:
即可对矩阵Wm×n进行压缩,其中U′m×k=[u′1,u′2,…,u′k],V′n×k=[v′1,v′2,…,v′k]分别是左奇异值矩阵和右奇异值矩阵,S′k×k=diag(σ1,σ2,…,σk)。
压缩过程如图4所示,未压缩时的计算过程为Y=XW,通过奇异值分解,将矩阵W分解为矩阵U、S、V,之后再将S和V相乘得到T,最后计算过程变为M=XUT。压缩之后,在计算方面,增加了一次矩阵乘法运算;参数数量方面,由m×n变为了m×k+k×n=k(m+n),使得空间复杂度由O(mn)变为了O(m+n),只要选取不同的k值,就能够以不同的压缩率对矩阵Wm×n进行压缩。
再者,为了提高LeNet-C在边缘计算设备上的计算效率,进一步适应边缘计算设备计算能力较低的特点,本申请所提供的训练后的手写数字图像识别模型采用OpenCV框架进行模型部署。OpenCV是一个基于BSD(Berkeley Software Distribution,伯克利软件套件)许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。具有轻量级而且高效的特点,能够实现图像处理和计算机视觉方面的很多通用算法。
本申请第二个方面的实施例提供了一种手写数字图像识别装置10,如图5所示,包括:获取模块11、输入模块12和识别模块13。
其中,获取模块11用于获取记载有手写数字的图像信息。输入模块12用于输入图像信息到边缘计算设备中,边缘计算设备包括训练后的手写数字图像识别模型。识别模块13用于根据训练后的手写数字图像识别模型,确定与图像信息对应的数字信息。
可选的,在本申请第二个方面的某些实现方式中,如图6所示,输入模块12包括:元素获取单元12a、参数调整单元12b、误差确定单元12c、模型训练单元12d和模型确定单元12e。
其中,元素获取单元12a用于获取卷积神经网络模型LeNet-5和多个训练图像,训练图像上记载有手写数字。
参数调整单元12b用于调整卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数,确定调整后的卷积神经网络模型;模型属性参数包括卷积核大小、卷积层的通道数和全连接层数量。
误差确定单元12c用于根据调整后的卷积神经网络模型,识别每个训练图像,确定模型中损失函数的识别误差。
模型训练单元12d用于基于识别误差和多个训练图像,调整调整后的卷积神经网络模型的模型参数,直至损失函数收敛。
而模型确定单元12e用于将损失函数收敛的调整后的卷积神经网络模型作为训练后的手写数字图像识别模型。
可选的,参数调整单元12b调整卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数的步骤,包括:
将卷积核大小减小至3×3;
增加C1卷积层和/或C3卷积层的通道数至预设通道数量值;
增加一层全连接层。
可选的,模型训练单元12d基于识别误差和多个训练图像,调整调整后的卷积神经网络模型的模型参数,直至损失函数收敛的步骤,包括:
添加L2正则化项到调整后的卷积神经网络模型的损失函数;
在调整调整后的卷积神经网络模型的模型参数过程中,随机设置卷积神经网络模型中隐藏层预定比例的神经元输出为零。
可选的,模型训练单元12d基于识别误差和多个训练图像,调整调整后的卷积神经网络模型的模型参数,直至损失函数收敛的步骤,包括:
确定调整调整后的卷积神经网络模型的模型参数的当前学习步数、衰减步数和初始学习率;
根据预设衰减系数、当前学习步数、衰减步数和初始学习率,确定模型的当前学习率。
可选的,输入模块12将训练后的手写数字图像识别模型输入边缘计算设备之前,还包括:使用奇异值分解的方式对训练后的手写数字图像识别模型进行压缩。
基于同一发明构思,本申请第三个方面的实施例提供了一种手写数字图像识别设备,包括处理器;
存储器,与处理器电连接;
至少一个程序,被存储在存储器中并被配置为由处理器执行,至少一个程序被配置用于:实现如本申请第一个方面描述的手写数字图像识别方法。
本技术领域技术人员可以理解,本发明实施例提供的手写数字图像识别设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中。
与现有技术相比具有以下有益技术效果:
该手写数字图像识别设备可以不依靠云端服务器,只需要结合边缘计算设备和调整后的卷积神经网络模型,即能够对于记载有手写数字的图像既有较高的识别精确度,又能满足实时性的要求。
本发明在一个可选实施例中提供了一种手写数字图像识别设备,如图7所示,图7所示的手写数字图像识别设备1000包括:处理器1001和存储器1003。其中,处理器1001和存储器1003相电连接,如通过总线1002相连。
处理器1001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1002可包括一通路,在上述组件之间传送信息。总线1002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线1002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1003可以是ROM(Read-Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead-Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选地,手写数字图像识别设备1000还可以包括收发器1004。收发器1004可用于信号的接收和发送。收发器1004可以允许手写数字图像识别设备1000与其他设备进行无线或有线通信以交换数据。需要说明的是,实际应用中收发器1004不限于一个。
可选地,手写数字图像识别设备1000还可以包括输入单元1005。输入单元1005可用于接收输入的数字、字符、图像和/或声音信息,或者产生与手写数字图像识别设备1000的用户设置以及功能控制有关的键信号输入。输入单元1005可以包括但不限于触摸屏、物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、拍摄装置、拾音器等中的一种或多种。
可选地,手写数字图像识别设备1000还可以包括输出单元1006。输出单元1006可用于输出或展示经过处理器1001处理的信息。输出单元1006可以包括但不限于显示装置、扬声器、振动装置等中的一种或多种。
虽然图7示出了具有各种装置的手写数字图像识别设备1000,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
可选的,存储器1003用于存储执行本发明方案的应用程序代码,并由处理器1001来控制执行。处理器1001用于执行存储器1003中存储的应用程序代码,以实现本发明实施例提供的任一种手写数字图像识别方法。
基于同一的发明构思,本申请第四个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被电子设备执行时实现如本申请第一个方面描述的手写数字图像识别方法。
为更清晰地说明本申请所提供技术方案所带来的技术效果,以下列举一处理实例:
在一个案例中,采用MNIST手写数字数据集对模型进行训练,训练批量大小为batch_size=100,学习率初始值μ’=0.05,学习率衰减率r=0.99,正则化率R=0.0001,损失函数采用交叉熵定义。经过30000轮的训练后,本申请提供的模型中的损失函数收敛,训练完成。训练过程的损失变化图如图8所示。训练完成后,在测试集上测试,准确率达到了99.37%。
在边缘计算设备Jetson Nano上,我们将LeNet-C与包括为移动设备设计的网络Mobilenet等几个主流神经网络的性能做了对比,运行框架为Tensorflow,为保证结果普适性,推断时间采用推断1000次的累计时间,其结果如表3所示。
表3各神经网络模型在Jetson Nano上的性能对比
名称 | 精确度 | 1000次推断时间(s) | 模型大小(MB) |
Vgg16 | 99.68% | 97.327 | 114.04 |
Resnet164 | 99.70% | 296.750 | 14.91 |
Mobilenet | 99.68% | 37.662 | 25.00 |
WideResnet28-10 | 99.76% | 294.236 | 278.78 |
LeNet-C | 99.37% | 6.862 | 6.86 |
从表3数据可知:LeNet-C网络在精确度上比几种主流神经网络略差,但这一差距并不大,在实际应用中不会有太大影响。然而,LeNet-C网络在模型大小上要远小于其他主流神经网络,在边缘计算平台Jetson Nano上的推断速度也远快于其他主流神经网络。相比精确度最高的WideResnet28-10网络,LeNet-C在Jetson Nano上的推断时间快了近42倍,而模型大小则只为WideResnet28-10网络的2.46%。另外,相比于专门为移动设备设计的网络Mobilenet,LeNet-C在Jetson Nano上的推断时间快了近5倍,模型大小仅为Mobilenet的27.44%。这表明,相对于各主流神经网络,LeNet-C更适合部署在边缘计算设备,用于手写数字识别。
利用SVD压缩模型时,对f1层保留的参数数量分别为原来的75%、50%、25%、20%、15%、10%、5%进行实验,比较了压缩后的模型在测试集上的精确度、在Jetson Nano上运行1000次推断的时间和模型的大小,如表4所示。
表4各神经网络模型压缩后性能对比表
F1层保留程度 | 精确度 | 1000次推断时间(s) | 模型大小(kb) |
原模型 | 99.37% | 6.862 | 7022 |
75% | 99.02% | 10.928 | 5294 |
50% | 98.75% | 8.531 | 3566 |
25% | 97.40% | 6.769 | 1838 |
20% | 96.66% | 6.059 | 1490 |
15% | 96.01% | 6.007 | 1142 |
10% | 93.63% | 5.710 | 794 |
5% | 88.32% | 4.331 | 446 |
从表3数据可知,随着模型压缩程度增加,精确度会逐渐减小;因为增加了一次矩阵乘法运算,所以F1层保留程度为75%和50%时,推断时间要大于原模型的推断时间,但由于参数数量的减少,所以之后推断时间逐渐减少;因为模型的参数主要集中在F1层,所以模型的大小也基本随着模型压缩程度的增加而等比例减小。
为了保证系统的实用性,需要在精度和推断速度以及模型大小之间取舍,本系统选择了F1层保留程度为15%的模型进行部署,其精确度相比原模型只减小了3.36%,但推断时间为原来的87.54%,减少了12.46%;模型大小为原来的16.26%,减小了83.74%。通过SVD对模型进行压缩,使模型在边缘计算平台上提高了一定的推断速度,并大幅减小了模型的大小,使其更适合部署在边缘计算平台上。
在边缘计算设备Jetson Nano上,分别利用Tensorflow、TensorRT和OpenCV三种框架部署LeNet-C模型,其结果如表5所示。
表5各框架部署模型对比表
从表5数据可知,相比于Tensorflow,OpenCV的推断速度快了近9倍,内存占用仅为Tensorflow的6.47%。而相比于TensorRT,OpenCV的推断速度快了近1倍,内存占用仅为TensorRT的8.08%。
本发明实施例提供了一种计算机可读存储介质,与现有技术相比,本计算机可读存储介质能够适应于在边缘计算设备上使用,在对手写数字图像中数字信息进行识别的过程中,既有较高的识别精确度,又能满足实时性的要求。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (7)
1.一种手写数字图像识别方法,其特征在于,包括如下步骤:
获取记载有手写数字的图像信息;
输入所述图像信息到边缘计算设备中,所述边缘计算设备包括训练后的手写数字图像识别模型,所述训练后的手写数字图像识别模型的确定方法包括:
获取卷积神经网络模型LeNet-5和多个训练图像,所述训练图像上记载有手写数字;
调整所述卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数,确定调整后的卷积神经网络模型;所述模型属性参数包括卷积核大小、卷积层的通道数和全连接层数量;
根据所述调整后的卷积神经网络模型,识别每个训练图像,确定模型中损失函数的识别误差;
基于所述识别误差和所述多个训练图像,调整所述调整后的卷积神经网络模型的模型参数,直至所述损失函数收敛,包括添加L2正则化项到所述调整后的卷积神经网络模型的损失函数,加入的L2正则化的计算公式为Loss=-∑y′logy+R∑|wi|2
式中,-∑y′logy为交叉熵损失的计算公式,用来计算手写数字图像的预测值和实际值的误差,y’为标准答案,y为预测结果,R∑|wi|2为正则化项,R为正则化率,w为卷积神经网络模型中的可训练参数;在调整所述调整后的卷积神经网络模型的模型参数过程中,随机设置所述卷积神经网络模型中隐藏层预定比例的神经元输出为零;
将损失函数收敛的所述调整后的卷积神经网络模型作为训练后的手写数字图像识别模型;
根据所述训练后的手写数字图像识别模型,确定与所述图像信息对应的数字信息。
2.根据权利要求1所述的手写数字图像识别方法,其特征在于,所述调整所述卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数的步骤,包括:
将所述卷积核大小减小至3×3;
增加C1卷积层和/或C3卷积层的通道数至预设通道数量值;
增加一层全连接层。
3.根据权利要求1所述的手写数字图像识别方法,其特征在于,所述基于所述识别误差和所述多个训练图像,调整所述调整后的卷积神经网络模型的模型参数,直至所述损失函数收敛的步骤,包括:
确定所述调整所述调整后的卷积神经网络模型的模型参数的当前学习步数、衰减步数和初始学习率;
根据预设衰减系数、当前学习步数、衰减步数和初始学习率,确定模型的当前学习率。
4.根据权利要求1所述的手写数字图像识别方法,其特征在于,所述训练后的手写数字图像识别模型输入所述边缘计算设备之前,还包括:使用奇异值分解的方式对所述训练后的手写数字图像识别模型进行压缩。
5.一种手写数字图像识别装置,其特征在于,包括:
获取模块,用于获取记载有手写数字的图像信息;
输入模块,用于输入所述图像信息到边缘计算设备中,所述边缘计算设备包括训练后的手写数字图像识别模型;所述输入模块包括:
元素获取单元,用于获取卷积神经网络模型LeNet-5和多个训练图像,所述训练图像上记载有手写数字;
参数调整单元,用于调整所述卷积神经网络模型LeNet-5的激活函数为ReLu激活函数,以及调整模型属性参数,确定调整后的卷积神经网络模型;所述模型属性参数包括卷积核大小、卷积层的通道数和全连接层数量;
误差确定单元,用于根据所述调整后的卷积神经网络模型,识别每个训练图像,确定模型中损失函数的识别误差;
模型训练单元,用于基于所述识别误差和所述多个训练图像,调整所述调整后的卷积神经网络模型的模型参数,直至所述损失函数收敛,包括添加L2正则化项到所述调整后的卷积神经网络模型的损失函数,加入的L2正则化的计算公式为Loss=-Σy′logy+R∑|wi|2
式中,-∑y′logy为交叉熵损失的计算公式,用来计算手写数字图像的预测值和实际值的误差,y’为标准答案,y为预测结果,R∑|wi|2为正则化项,R为正则化率,w为卷积神经网络模型中的可训练参数;在调整所述调整后的卷积神经网络模型的模型参数过程中,随机设置所述卷积神经网络模型中隐藏层预定比例的神经元输出为零;
模型确定单元,用于将损失函数收敛的所述调整后的卷积神经网络模型作为训练后的手写数字图像识别模型;
识别模块,用于根据所述训练后的手写数字图像识别模型,确定与所述图像信息对应的数字信息。
6.一种手写数字图像识别设备,其特征在于,包括处理器;
存储器,与所述处理器电连接;
至少一个程序,被存储在所述存储器中并被配置为由所述处理器执行,所述至少一个程序被配置用于:实现如权利要求1~4中任一项所述的手写数字图像识别方法。
7.一种计算机可读存储介质,其上存储有计算机程序,所述计算机可读存储介质的特征在于,该计算机程序被电子设备执行时实现如权利要求1~4任一项所述的手写数字图像识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010858039.2A CN112036461B (zh) | 2020-08-24 | 2020-08-24 | 手写数字图像识别方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010858039.2A CN112036461B (zh) | 2020-08-24 | 2020-08-24 | 手写数字图像识别方法、装置、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112036461A CN112036461A (zh) | 2020-12-04 |
CN112036461B true CN112036461B (zh) | 2023-06-02 |
Family
ID=73580749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010858039.2A Active CN112036461B (zh) | 2020-08-24 | 2020-08-24 | 手写数字图像识别方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112036461B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633284B (zh) * | 2020-12-08 | 2023-08-15 | 北京信息科技大学 | 一种深度学习手写数字识别方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018101317A4 (en) * | 2018-09-07 | 2018-10-11 | Chen, Guoyi Mr | A Deep Learning Based System for Animal Species Classification |
CN108875696A (zh) * | 2018-07-05 | 2018-11-23 | 五邑大学 | 基于深度可分离卷积神经网络的脱机手写汉字识别方法 |
CN110113506A (zh) * | 2019-04-30 | 2019-08-09 | 广东海洋大学 | 基于压缩感知与信息隐藏的图像加密方法 |
CN110209859A (zh) * | 2019-05-10 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 地点识别及其模型训练的方法和装置以及电子设备 |
CN110555399A (zh) * | 2019-08-23 | 2019-12-10 | 北京智脉识别科技有限公司 | 手指静脉识别方法、装置、计算机设备及可读存储介质 |
WO2019238976A1 (en) * | 2018-06-15 | 2019-12-19 | Université de Liège | Image classification using neural networks |
CN111126222A (zh) * | 2019-12-16 | 2020-05-08 | 山东工商学院 | 一种基于神经网络的穴盘苗空穴识别方法以及穴盘苗补苗系统 |
CN111247540A (zh) * | 2017-10-19 | 2020-06-05 | 瑞迪欧斯公司 | 自主车辆路由 |
CN111476283A (zh) * | 2020-03-31 | 2020-07-31 | 上海海事大学 | 基于迁移学习的青光眼眼底图像识别方法 |
-
2020
- 2020-08-24 CN CN202010858039.2A patent/CN112036461B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111247540A (zh) * | 2017-10-19 | 2020-06-05 | 瑞迪欧斯公司 | 自主车辆路由 |
WO2019238976A1 (en) * | 2018-06-15 | 2019-12-19 | Université de Liège | Image classification using neural networks |
CN108875696A (zh) * | 2018-07-05 | 2018-11-23 | 五邑大学 | 基于深度可分离卷积神经网络的脱机手写汉字识别方法 |
AU2018101317A4 (en) * | 2018-09-07 | 2018-10-11 | Chen, Guoyi Mr | A Deep Learning Based System for Animal Species Classification |
CN110113506A (zh) * | 2019-04-30 | 2019-08-09 | 广东海洋大学 | 基于压缩感知与信息隐藏的图像加密方法 |
CN110209859A (zh) * | 2019-05-10 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 地点识别及其模型训练的方法和装置以及电子设备 |
CN110555399A (zh) * | 2019-08-23 | 2019-12-10 | 北京智脉识别科技有限公司 | 手指静脉识别方法、装置、计算机设备及可读存储介质 |
CN111126222A (zh) * | 2019-12-16 | 2020-05-08 | 山东工商学院 | 一种基于神经网络的穴盘苗空穴识别方法以及穴盘苗补苗系统 |
CN111476283A (zh) * | 2020-03-31 | 2020-07-31 | 上海海事大学 | 基于迁移学习的青光眼眼底图像识别方法 |
Non-Patent Citations (1)
Title |
---|
基于全卷积神经网络与条件随机场的车道识别方法;叶子豪等;《光电工程》;第46卷(第2期);第34-45页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112036461A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | The unreasonable effectiveness of deep features as a perceptual metric | |
EP3065085B1 (en) | Digital image processing using convolutional neural networks | |
CN108898087B (zh) | 人脸关键点定位模型的训练方法、装置、设备及存储介质 | |
CN108764195B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN112446476A (zh) | 神经网络模型压缩的方法、装置、存储介质和芯片 | |
CN113326930B (zh) | 数据处理方法、神经网络的训练方法及相关装置、设备 | |
US20230030267A1 (en) | Method and apparatus for selecting face image, device, and storage medium | |
CN109086653B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN107679572B (zh) | 一种图像判别方法、存储设备及移动终端 | |
CN110020639B (zh) | 视频特征提取方法及相关设备 | |
EP4163832A1 (en) | Neural network training method and apparatus, and image processing method and apparatus | |
CN111489364A (zh) | 基于轻量级全卷积神经网络的医学图像分割方法 | |
US20230080533A1 (en) | Electroencephalogram signal classification method and apparatus, device, storage medium, and program product | |
CN111695421A (zh) | 图像识别方法、装置及电子设备 | |
CN110672323A (zh) | 一种基于神经网络的轴承健康状态评估方法及装置 | |
CN112529146A (zh) | 神经网络模型训练的方法和装置 | |
CN108985442B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN111292262A (zh) | 图像处理方法、装置、电子设备以及存储介质 | |
CN110570375B (zh) | 一种图像处理方法、装置、电子设置以及存储介质 | |
CN112036461B (zh) | 手写数字图像识别方法、装置、设备及计算机存储介质 | |
CN111144296A (zh) | 基于改进cnn模型的视网膜眼底图片分类方法 | |
CN114169405A (zh) | 对象分类方法、装置、设备及存储介质 | |
CN111507396B (zh) | 缓解神经网络对未知类样本产生错误分类的方法及装置 | |
CN113011532A (zh) | 分类模型训练方法、装置、计算设备及存储介质 | |
CN113420651A (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 |