CN113221871B - 一种文字识别方法、装置、设备及介质 - Google Patents
一种文字识别方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113221871B CN113221871B CN202110598997.5A CN202110598997A CN113221871B CN 113221871 B CN113221871 B CN 113221871B CN 202110598997 A CN202110598997 A CN 202110598997A CN 113221871 B CN113221871 B CN 113221871B
- Authority
- CN
- China
- Prior art keywords
- optimal
- network
- convolution operator
- downsampling
- candidate network
- 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
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000000605 extraction Methods 0.000 claims abstract description 34
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 27
- 230000001537 neural effect Effects 0.000 claims abstract description 23
- 238000012549 training Methods 0.000 claims description 84
- 230000008569 process Effects 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 33
- 238000005070 sampling Methods 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 22
- 238000011478 gradient descent method Methods 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000012015 optical character recognition Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书实施例公开了一种文字识别方法、装置、设备及介质,文字识别方法包括:对各候选网络进行神经架构搜索,以确定用于特征提取的目标网络;基于所述目标网络构建文字识别算法;获取待识别对象,使用所述文字识别算法对所述待识别对象进行文字识别,确定所述待识别对象对应的文字识别结果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种文字识别方法、装置、设备及介质。
背景技术
文字识别一般是指利用包括计算机在内的各种设备自动识别字符的技术,在当今社会的许多领域都有着重要应用。
有鉴于此,需要更有效和更高效的文字识别方案。
发明内容
本说明书实施例提供一种文字识别方法、装置、设备及介质,用以解决如何更有效和更高效地进行文字识别的技术问题。
为解决上述技术问题,本说明书实施例至少提供如下技术方案:
本说明书实施例提供一种文字识别方法,包括:
对各候选网络进行神经架构搜索,以确定用于特征提取的目标网络;
获取待识别对象,通过所述目标网络提取所述待识别对象的特征;
将通过所述目标网络提取的特征进行序列建模和解码,确定所述待识别对象的文字识别结果。
本说明书实施例提供一种文字识别装置,包括:
网络模块,用于对各候选网络进行神经架构搜索,以确定用于特征提取的目标网络;
算法模块,用于基于所述目标网络构建文字识别算法;
识别模块,用于获取待识别对象,使用所述文字识别算法对所述待识别对象进行文字识别,确定所述待识别对象对应的文字识别结果。
本说明书实施例提供一种文字识别设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述的文字识别方法。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的文字识别方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过对各候选网络进行神经架构搜索,获得更优的目标网络,基于所述更优的目标网络构建文字识别算法并进行文字识别,能够有效提高文字识别效果和效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书第一个实施例中的文字识别方法的执行主体示意图。
图2是本说明书第一个实施例中的文字识别方法的流程示意图。
图3是本说明书第一个实施例中的文字识别过程示意图。
图4是本说明书第一个实施例中的下采样路径搜索和卷积算子搜索示意图。
图5是本说明书第一个实施例中的一种下采样路径搜索示意图。
图6是本说明书第二个实施例中的文字识别装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
中文光学字符识别(OCR)算法一般包括一个主干网络(Backbone Netwrok,主要用于提取图片信息,生成特征图feature map),用于提取图像特征。现有技术中,主干网络通常使用已有的AlexNet、VGGNet、ResNet、DenseNet、EfficientNet、MobileNet、ResNet等网络。
然而,OCR任务和图像分类、目标检测等任务有较大的差异,上述网络多是面向图像分类、目标检测等任务,也相对更适用于图像分类、目标检测等任务,将其移植到OCR任务中,在文字识别效果和效率方面存在诸多问题。例如,若采用较大较深网络作为主干网络,会耗费较多的计算资源和较长的时间;若采用较小网络作为主干网络,由于主干网络的表达能力有限,无法取得良好的识别性能。
本说明书第一个实施例(以下简称“实施例一”)提供了一种文字识别方法,实施例一的执行主体可以是终端(包括但不限于手机、计算机、pad、电视)或者服务器或者操作系统或者文字识别平台或者文字识别系统或应用程序等,即执行主体可以是多种多样的,可以根据需要设置、使用或者变换执行主体。另外,也可以有第三方应用程序协助所述执行主体执行实施例一。例如图1所示,可以由服务器来执行实施例一中的文字识别方法,并且可以在(用户所持有的)终端上安装(与所述服务器)相对应的应用程序,终端或应用程序与服务器之间可以进行数据传输,通过终端或应用程序来进行数据的采集或输入或输出或(向用户)进行页面或信息处理,从而辅助服务器执行实施例一中的文字识别方法。
如图2和图3所示,实施例一提供的文字识别方法包括:
S01:(执行主体)对各候选网络进行神经架构搜索,以确定用于特征提取的目标网络;
实施例一中,可以选取一个或多个网络作为候选网络。这里的候选网络可以是神经网络,包括但不限于AlexNet、VGGNet、ResNet、DenseNet、EfficientNet、MobileNet、ResNet等网络,实施例一对选择哪些网络作为候选网络和候选网络的数量以及候选网络的选取方式等不作限定。一般的,候选网络是能够用于特征提取的网络。
选取各候选网络后,要对各候选网络进行神经架构搜索,神经架构搜索的目的在于获得(最优或更优的)用于特征提取的目标网络,目标网络可以是神经网络。这里的神经架构搜索可以包括下采样路径搜索和卷积算子搜索。也就是说,对各候选网络进行神经架构搜索可以包括:对各候选网络进行下采样路径搜索和卷积算子搜索。其中,下采样是指将图像高度、宽度进行压缩,下采样可通过池化、卷积等方式实现。神经网络在进行特征提取时通常伴随着下采样操作。
对各候选网络进行下采样路径搜索和卷积算子搜索,以确定用于特征提取的目标网络可以包括:
S011:对各候选网络进行下采样路径搜索和卷积算子搜索,以确定最优下采样路径和最优卷积算子;
对各候选网络进行下采样路径搜索是用于确定(目标网络的)目标下采样路径或最优下采样路径;和/或,对候选网络进行卷积算子搜索是用于确定(目标网络的)目标卷积算子或最优卷积算子(即确定每个卷积模块所用的卷积参数,确定目标卷积算子或最优卷积算子相当于确定目标卷积算子参数或最优卷积算子参数,下采样路径和卷积算子参数可以统称为超参)。
实施例一中,下采样路径搜索和卷积算子搜索的先后顺序并不是绝对的,可以先进行下采样路径搜索,后进行卷积算子搜索,也可以先进行卷积算子搜索,后进行下采样路径搜索。下面分情况进行说明:
情况一,先进行下采样路径搜索,后进行卷积算子搜索
若是先进行下采样路径搜索,后进行卷积算子搜索,则对各候选网络进行下采样路径搜索和卷积算子搜索可以包括:对各候选网络进行下采样路径搜索,以确定最优下采样路径;对所述各候选网络进行卷积算子搜索,以确定最优卷积算子;其中,对所述各候选网络进行卷积算子搜索过程中,所述各候选网络采用所述最优下采样路径。也就是说,可以先进行下采样路径搜索,确定最优下采样路径,然后基于所述最优下采样路径进行卷积算子搜索。举例来说,假设有n个候选网络,可以先对这n个候选网络进行下采样路径搜索,确定最优下采样路径;然后对这n个候选网络进行卷积算子搜索,确定最优卷积算子;对这n个候选网络进行卷积算子搜索过程中,这n个候选网络均采用所述最优下采样路径。
下面进一步说明情况一中如何对各候选网络进行下采样路径搜索和卷积算子搜索:
情况一中,对各候选网络进行下采样路径搜索可以包括:
S0111:使用训练集对各候选网络进行训练;其中,各候选网络对应不同的下采样路径;
使用训练集对各候选网络进行训练过程中,可以采用CTC损失函数计算各候选网络的损失和/或采用梯度下降法优化各候选网络。
具体的,使用训练集对各候选网络进行训练可以包括:基于训练集,采用CTC损失函数计算各候选网络的损失,以及采用梯度下降法优化各候选网络;可以如下公式(1)所示:
公式(1)表示在训练集上通过梯度下降最小化CTC损失,以获取神经网络权值w*。其中,表示训练集,/>表示权值为w、下采样路径为S、卷积算子参数为O的网络结构,/>表示CTC损失函数。由于是先进行下采样路径搜索,O可以使用默认参数。
上述的训练集可以根据需要构建或变更,实施例一对如何构建或变更训练集不作限定。
S0113:使用验证集计算训练后的各候选网络的损失,根据各候选网络的损失确定最优下采样路径。
根据各候选网络的损失确定最优下采样路径可以如下公式(2)所示:
公式(2)表示在验证集上通过最小化CTC损失获得最优下采样路径S*。其中,表示验证集,/>表示权值为w、下采样路径为S、卷积算子参数为O的网络结构,O可以使用默认参数,/>表示CTC损失函数,/>是可能的下采样路径的集合。
上述的验证集可以根据需要构建或变更,实施例一对如何构建或变更验证集不作限定。
在对公式(2)作一般或单独理解时,公式(2)中的“w”可以表示默认或任意的权值;当结合公式(1)和公式(2)后,公式(2)中的“w”可以是公式(1)所确定的神经网络权值w*,故公式(1)和公式(2)既可以是并列的,又可以有先后关系,两者为“和/或”关系,即:使用训练集对各候选网络进行训练包括:基于训练集,采用CTC损失函数计算各候选网络的损失,以及采用梯度下降法优化各候选网络,如上述公式(1)所示;和/或,根据各候选网络的损失确定最优下采样路径,如上述公式(2)所示。
通过上述内容,就可以确定最优下采样路径。下采样路径搜索过程可以如图4上部分所示,训练集和验证集中可以包括身份证件图像,下同。另外,图5给出了一些具体的下采样路径搜索示例。图4和图5仅为示意,不构成限定。
情况一中,对各候选网络进行卷积算子搜索可以包括:
S0115:使用训练集对各候选网络进行训练;其中,各候选网络对应不同参数的卷积算子;
使用训练集对各候选网络进行训练过程中,可以采用CTC损失函数计算各候选网络的损失和/或采用梯度下降法优化各候选网络。
具体的,使用训练集对各候选网络进行训练可以包括:基于训练集,采用CTC损失函数计算各候选网络的损失,以及采用梯度下降法优化各候选网络;可以如下公式(3)所示:
公式(3)表示在训练集上通过梯度下降来最小化CTC损失,以获取神经网络权值w*。其中,表示训练集,/>表示权值为w、下采样路径为S、卷积算子参数为O的网络结构,/>表示CTC损失函数。
上述的训练集可以根据需要构建或变更,实施例一对如何构建或变更训练集不作限定。
S0117:使用验证集计算训练后的各候选网络的损失和/或网络FLOPS,根据各候选网络的所述损失和/或网络FLOPS确定最优卷积算子。
在确定最优卷积算子时,可以使用验证集计算训练后的各候选网络的损失和/或网络FLOPS(每秒浮点运算次数,floating-point operations per second),并可以单独根据各候选网络的损失或单独根据各候选网络的网络FLOPS确定最优卷积算子,也可以根据各候选网络的损失和网络FLOPS确定最优卷积算子,例如根据单个候选网络的损失和网络FLOPS的乘积确定最优卷积算子。
假如使用验证集计算训练后的各候选网络的损失和网络FLOPS,则根据各候选网络的所述损失和网络FLOPS确定最优卷积算子。根据各候选网络的所述损失和网络FLOPS确定最优卷积算子可以如下公式(4)所示:
公式(4)表示在验证集上通过最小化CTC损失与卷积算子参数对应的FLOPS的乘积,以获取最优卷积算子参数O*。其中,表示验证集,/>表示权值为w、下采样路径为S、卷积算子参数为O的网络结构,/>表示CTC损失函数。
上述的验证集可以根据需要构建或变更,实施例一对如何构建或变更验证集不作限定。
在对公式(4)作一般或单独理解时,公式(4)中的“w”可以表示默认或任意的权值;当结合公式(3)和公式(4)后,公式(4)中的“w”可以是公式(3)所确定的神经网络权值w*,故公式(3)和公式(4)既可以是并列的,又可以有先后关系,两者为“和/或”关系,即:使用训练集对各候选网络进行训练包括:基于训练集,采用CTC损失函数计算各候选网络的损失,以及采用梯度下降法优化各候选网络,如上述公式(3)所示:和/或,若使用验证集计算训练后的各候选网络的损失和网络FLOPS,则根据各候选网络的所述损失和网络FLOPS确定最优卷积算子,如上述公式(4)所示。
在对公式(3)和(4)作一般或单独理解时,公式(3)和(4)中的“S”可以表示默认或任意的下采样路径;当结合公式(1)至(4)后,公式(3)和(4)中的“S”可以是公式(2)所确定的最优下采样路径S*。也就是说,对各候选网络进行卷积算子搜索过程中,各候选网络可以采用通过下采样路径搜索得到的最优下采样路径。
卷积算子搜索过程中,每个卷积模块采用MobileNet中inverted bottle neck的样式,每个卷积模块包含若干个卷积层和一个跨层连接,搜索空间为每个卷积层的核大小(3、5)和卷积层的扩张系数(1、3、6),例如图4下部分所示。
情况二,先进行卷积算子搜索,后进行下采样路径搜索
若是先进行卷积算子搜索,后进行下采样路径搜索,则对各候选网络进行下采样路径搜索和卷积算子搜索可以包括:对各候选网络进行卷积算子搜索,以确定最优卷积算子;对各候选网络进行下采样路径搜索,以确定最优下采样路径;其中,对各候选网络进行下采样路径搜索过程中,各候选网络采用所述最优卷积算子。也就是说,可以先进行卷积算子搜索,确定最优卷积算子,然后基于所述最优卷积算子进行下采样路径搜索。沿用上例,假设有n个候选网络,可以先对这n个候选网络进行卷积算子搜索,确定最优卷积算子;然后对这n个候选网络进行下采样路径搜索,确定最优下采样路径;对这n个候选网络进行下采样路径搜索过程中,这n个候选网络均采用所述最优卷积算子。
下面进一步说明情况二中如何对各候选网络进行卷积算子搜索和下采样路径搜索:
情况二中,对各候选网络进行卷积算子搜索可以包括:
S0112:使用训练集对各候选网络进行训练;其中,各候选网络对应不同参数的卷积算子;
使用训练集对各候选网络进行训练过程中,可以采用CTC损失函数计算各候选网络的损失和/或采用梯度下降法优化各候选网络。
具体的,使用训练集对各候选网络进行训练可以包括:基于训练集,采用CTC损失函数计算各候选网络的损失,以及采用梯度下降法优化各候选网络;可以如下公式(3)所示:
公式(3)表示在训练集上通过梯度下降来最小化CTC损失,以获取神经网络权值w*。其中,表示训练集,/>表示权值为w、下采样路径为S、卷积算子参数为O的网络结构,/>表示CTC损失函数。由于是先进行卷积算子搜索,S可以使用默认下采样路径。
上述的训练集可以根据需要构建或变更,实施例一对如何构建或变更训练集不作限定。
S0114:使用验证集计算训练后的各候选网络的损失和/或网络FLOPS,根据各候选网络的所述损失和/或网络FLOPS确定最优卷积算子。
在确定最优卷积算子时,可以使用验证集计算训练后的各候选网络的损失和/或网络FLOPS,并可以单独根据各候选网络的损失或单独根据各候选网络的网络FLOPS确定最优卷积算子,也可以根据各候选网络的损失和网络FLOPS确定最优卷积算子,例如根据单个候选网络的损失和网络FLOPS的乘积确定最优卷积算子。
假如使用验证集计算训练后的各候选网络的损失和网络FLOPS,则根据各候选网络的所述损失和网络FLOPS确定最优卷积算子。根据各候选网络的所述损失和网络FLOPS确定最优卷积算子可以如下公式(4)所示:
公式(4)表示在验证集上通过最小化CTC损失与卷积算子参数对应的FLOPS的乘积,以获取最优卷积算子参数O*。其中,表示验证集,/>表示权值为w、下采样路径为S、卷积算子参数为O的网络结构,S可以使用默认下采样路径,/>表示CTC损失函数。
同样的,在对公式(4)作一般或单独理解时,公式(4)中的“w”可以表示默认或任意的权值;当结合公式(3)和公式(4)后,公式(4)中的“w”可以是公式(3)所确定的神经网络权值w*,故公式(3)和公式(4)既可以是并列的,又可以有先后关系,两者为“和/或”关系,即:使用训练集对各候选网络进行训练包括:基于训练集,采用CTC损失函数计算各候选网络的损失,以及采用梯度下降法优化各候选网络,如上述公式(3)所示:和/或,若使用验证集计算训练后的各候选网络的损失和网络FLOPS,则根据各候选网络的所述损失和网络FLOPS确定最优卷积算子,如上述公式(4)所示。
情况二中,对各候选网络进行下采样路径搜索可以包括:
S0116:使用训练集对各候选网络进行训练;其中,各候选网络对应不同的下采样路径;
使用训练集对各候选网络进行训练过程中,可以采用CTC损失函数计算各候选网络的损失和/或采用梯度下降法优化各候选网络。
具体的,使用训练集对各候选网络进行训练可以包括:基于训练集,采用CTC损失函数计算各候选网络的损失,以及采用梯度下降法优化各候选网络;可以如下公式(1)所示:
公式(1)表示在训练集上通过梯度下降最小化CTC损失,以获取神经网络权值w*。其中,表示训练集,/>表示权值为w、下采样路径为S、卷积算子参数为O的网络结构,/>表示CTC损失函数。
上述的训练集可以根据需要构建或变更,实施例一对如何构建或变更训练集不作限定。
S0118:使用验证集计算训练后的各候选网络的损失,根据各候选网络的损失确定最优下采样路径。
根据各候选网络的损失确定最优下采样路径可以如下公式(2)所示:
公式(2)表示在验证集上通过最小化CTC损失获得最优下采样路径S*。其中,表示验证集,/>表示权值为w、下采样路径为S、卷积算子参数为O的网络结构,/>表示CTC损失函数,/>是可能的下采样路径的集合。
上述的验证集可以根据需要构建或变更,实施例一对如何构建或变更验证集不作限定。
同样的,在对公式(2)作一般或单独理解时,公式(2)中的“w”可以表示默认或任意的权值;当结合公式(1)和公式(2)后,公式(2)中的“w”可以是公式(1)所确定的神经网络权值w*,故公式(1)和公式(2)既可以是并列的,又可以有先后关系,两者为“和/或”关系,即:使用训练集对各候选网络进行训练包括:基于训练集,采用CTC损失函数计算各候选网络的损失,以及采用梯度下降法优化各候选网络,如上述公式(1)所示;和/或,根据各候选网络的损失确定最优下采样路径,如上述公式(2)所示。
情况二中,在对公式(1)和(2)作一般或单独理解时,公式(1)和(2)中的“O”可以表示默认或任意的卷积算子;当结合公式(1)至(4)后,公式(1)和(2)中的“O”可以是公式(4)所确定的最优卷积算子O*。也就是说,对各候选网络进行下采样路径搜索过程中,各候选网络可以采用通过卷积算子搜索得到的最优卷积算子(参数)。
S013:确定了最优下采样路径和最优卷积算子后,将所述最优下采样路径和最优卷积算子对应的网络作为用于特征提取的目标网络。
通过上述内容,可以确定最优下采样路径和最优卷积算子(即最优卷积算子参数),从而可以确定最优下采样路径和最优卷积算子对应的(神经)网络为目标网络。由于候选网络可以用于特征提取,而目标网络是对各候选网络进行神经架构搜索得到的,且目标网络对应最优下采样路径和最优卷积算子,故目标网络能够用于特征提取,且目标网络的特征提取效率和效果优于各候选网络。
沿用上例,假设有n个候选网络,通过下采样路径搜索确定了最优下采样路径S*;由于各个候选网络对应不同的下采样路径,不妨假设候选网络a对应的下采样路径被确定为最优下采样路径。这n个候选网络采用最优下采样路径S*进行卷积算子搜索,确定最优卷积算子(即最优卷积算子参数)。由于各个候选网络对应不同参数的卷积算子,不妨假设候选网络b对应的卷积算子(即卷积算子参数)被确定为最优卷积算子。这里的候选网络a和候选网络b可能是同一网络,也可以不是同一网络。若候选网络a和候选网络b是同一网络,则可将该候选网络作为目标网络;若候选网络a和候选网络b不是同一网络,则可将采用了最优下采样路径的候选网络b作为目标网络。
同理,假设有n个候选网络,通过卷积算子搜索确定了最优卷积算子O*;由于各个候选网络对应不同的卷积算子,不妨假设候选网络c对应的卷积算子被确定为最优卷积算子。这n个候选网络采用最优卷积算子O*进行下采样路径搜索,确定最优下采样路径。由于各个候选网络对应不同的下采样路径,不妨假设候选网络d对应的下采样路径被确定为最优下采样路径。这里的候选网络c和候选网络d可能是同一网络,也可以不是同一网络。若候选网络c和候选网络d是同一网络,则可将该候选网络作为目标网络;若候选网络c和候选网络d不是同一网络,则可将采用了最优卷积算子的候选网络d作为目标网络。
若候选网络a和候选网络b不是同一网络,由于候选网络a的下采样路径被确定为最优下采样路径,说明原始的候选网络b(或者说卷积算子搜索之前的候选网络b,下同)的下采样路径并非最优下采样路径,而目标网络是将原始的候选网络b的下采样路径替换为最优下采样路径后得到的网络,故目标网络和原始的候选网络b存在差异,相当于目标网络是基于最优下采样路径和最优卷积算子重新构建的网络,也即目标网络是最优下采样路径和最优卷积算子对应的网络。
同理,若候选网络c和候选网络d不是同一网络,由于候选网络c的卷积算子被确定为最优卷积算子,说明原始的候选网络d(或者说下采样路径搜索之前的候选网络d,下同)的卷积算子并非最优卷积算子,而目标网络是将原始的候选网络d的卷积算子替换为最优卷积算子后得到的网络,故目标网络和原始的候选网络d存在差异,相当于目标网络是基于最优下采样路径和最优卷积算子重新构建的网络,也即目标网络是最优下采样路径和最优卷积算子对应的网络。
情况一中,可能有多个候选网络的下采样路径搜索损失并列最小,则这多个候选网络的下采样路径都可以作为最优下采样路径。若最优下采样路径有多个,则对各候选网络进行多次卷积算子搜索,以确定最优卷积算子。其中,每次卷积算子搜索过程中,各候选网络采用相同的最优下采样路径,且任两次卷积算子搜索过程中,各候选网络所采用的最优下次样路径不同。也就是说,在卷积算子搜索过程中,针对各个最优下采样路径,对各候选网络进行卷积算子搜索,以确定最优卷积算子。沿用上例,假设有n个候选网络,通过下采样路径搜索确定了m(m≤n)个候选网络的下采样路径为最优下采样路径,即最优下采样路径有m个,不妨将这m个最优下采样路径记为S1至Sm,从而可以分别基于S1至Sm进行m次卷积算子搜索,每次卷积算子搜索过程中各候选网络均采用相同的最优下采样路径,且任两次卷积算子搜索过程中,各候选网络所采用的最优下次样路径不同,从而根据这m次卷积算子搜索综合选择最优的卷积算子(即卷积算子参数)。
可以将确定的所有最优下采样路径看作路径集合,则不论所述路径集合包含多少下采样路径,最优卷积算子都可能有多个。由于每次卷积算子搜索过程中都采用单个最优下采样路径,故任一最优卷积算子和确定该最优卷积算子所采用的最优下采样路径之间具有对应关系。若确定多个最优卷积算子,且所述多个最优卷积算子是采用一个或多个最优下采样路径进行卷积算子搜索确定的,则对于所述一个或多个最优下采样路径中的任一个最优下采样路径,将该最优下采样路径与基于该最优下采样路径所确定的任一个最优卷积算子所对应的网络作为用于特征提取的目标网络。
沿用上例,若经过下采样路径搜索得到的最优下采样路径为S1至Sm,经过卷积算子搜索得到的最优卷积算子有k(k≤m)个,不妨记为O1至Ok,O1至Ok对应j(j≤k)个最优下采样路径,这j个最优下采样路径不妨记为S(i)至S(i+j)(1≤i≤i+j≤m)。这种情况下,S(i)至S(i+j)中任一个最优下采样路径和基于该最优下采样路径所确定的任一个最优卷积算子所对应的网络可作为用于特征提取的目标网络,即目标网络可以基于S(i)至S(i+k)中任一个最优下采样路径和基于该最优下采样路径所确定的任一个最优卷积算子进行构建。
情况二中,可能有多个候选网络的卷积算子搜索损失并列最小,则这多个候选网络的卷积算子都可以作为最优卷积算子。若最优卷积算子有多个,则对各候选网络进行多次下采样路径搜索,以确定最优下采样路径。其中,每次下采样路径搜索过程中,各候选网络采用相同的最优卷积算子,且任两次下采样路径搜索过程中,各候选网络所采用的最优卷积算子不同。也就是说,在下采样路径搜索过程中,针对各个最优卷积算子,对各候选网络进行下采样路径搜索,以确定最优下采样路径。沿用上例,假设有n个候选网络,通过卷积算子搜索确定了m(m≤n)个候选网络的卷积算子为最优卷积算子,即最优卷积算子有m个,不妨将这m个最优卷积算子记为O1至Om,从而可以分别基于O1至Om进行m次下采样路径搜索,每次下采样路径搜索过程中各候选网络均采用相同的最优卷积算子,且任两次下采样路径搜索过程中,各候选网络所采用的最优卷积算子不同,从而根据这m次下采样路径搜索综合选择最优的下采样路径。
可以将确定的所有最优卷积算子看作卷积算子集合,则不论所述卷积算子集合包含多少卷积算子,最优下采样路径都可能有多个。由于每次下采样路径搜索过程中都采用单个最优卷积算子,故任一最优下采样路径和确定该最优下采样路径所采用的最优卷积算子之间具有对应关系。若确定多个最优下采样路径,且所述多个最优下采样路径是采用一个或多个最优卷积算子进行下采样路径搜索确定的,则对于所述一个或多个最优卷积算子中的任一个最优下采样路径,将该最优卷积算子与基于该最优卷积算子所确定的任一个最优下采样路径所对应的网络作为用于特征提取的目标网络。
沿用上例,若经过卷积算子搜索得到的最优卷积算子为O1至Om,经过下采样路径搜索得到的最优下采样路径有k(k≤m)个,不妨记为S1至Sk,S1至Sk对应j(j≤k)个最优卷积算子,这j个最优卷积算子不妨记为O(i)至O(i+j)(1≤i≤i+j≤m)。这种情况下,O(i)至O(i+j)中任一个最优卷积算子和基于该最优卷积算子所确定的任一个最优下采样路径所对应的网络可作为用于特征提取的目标网络,即目标网络可以基于O(i)至O(i+j)中任一个最优卷积算子和基于该最优卷积算子所确定的任一个最优下采样路径进行构建。
S03:(执行主体)基于所述目标网络构建文字识别算法;
确定目标网络后,就可以基于所述目标网络构建文字识别算法,并使用所构建的文字识别算法执行文字识别任务。
实施例一中,所构建的文字识别算法可以包括目标网络、(双向)LSTM网络、CTC解码器。具体的,LSTM网络可以用于序列建模,CTC解码器可以用于解码。其中,CTC即连接时序分类算法,在前述的神经架构搜索阶段其可以用于对齐变长的训练标签和定长的特征序列并计算损失,在文字识别算法中其可以用于去除重复字符和空白符解码,以得到文字识别结果。CTC只需要给出输入序列和标签序列即可实现端到端训练,不需要与文字行对应的像素级标签,即可将数据与标签对齐进行监督训练。
S05:(执行主体)获取待识别对象,使用所述文字识别算法对所述待识别对象进行文字识别,确定所述待识别对象对应的文字识别结果。
实施例一中,执行主体可以获取待识别对象,待识别对象可以是图片或照片等形式。使用所述文字识别算法对所述待识别对象进行文字识别,确定所述待识别对象对应的文字识别结果可以包括:
S051:使用所述目标网络提取所述待识别对象的特征;
将待识别对象输入目标网络,使用目标网络对待识别对象进行特征提取,即可输出所述待识别对象对应的特征(简称“待识别对象的特征”)。通常,目标网络输出的特征是向量形式。所提取的特征可以为后续的分类、检测、分割等任务提供多层次的视觉特征。实施例一中,目标网络主要用于提取待识别对象中文字区域的视觉特征。
目标网络进行特征提取可以包括:通过最优下采样路径在对应的卷积模块后面接横向和纵向的下采样,将待识别对象进行压缩,并使用最优卷积算子进行计算。例如目标网络通过纵向维度和横向维度的下采样,将待识别对象压缩为高度为1像素,宽度为原理1/4的特征图,再使用最优卷积算子进行计算,使得目标网络所输出的特征满足LSTM网络的需求,并具有良好的辨识度。
S053:将通过所述目标网络提取的特征进行序列建模和解码,以确定所述待识别对象对应的文字识别结果。
得到待识别对象的特征后,可以将通过所述目标网络提取的特征进行序列建模和解码,以确定所述待识别对象对应的文字识别结果。
将通过所述目标网络提取的特征进行序列建模和解码可以包括:将通过所述目标网络提取的特征进行序列建模,将经过所述序列建模后的数据(即特征序列)进行解码。
具体的,将通过所述目标网络提取的特征进行序列建模和解码可以包括:将通过所述目标网络提取的特征经过LSTM网络和CTC解码器。
如前述,可以使用LSTM网络进行序列建模。LSTM网络可以对目标网络抽取的(图像视觉)特征进行前后双向的序列建模,建立上下文的语义关系。具体的,LSTM网络的输入为w*x的特征序列,输出为w*y的特征序列。其中,w为特征序列的宽度,x为特征序列的维度或高度,取决于目标网络输出的特征维度或高度,y为输出的特征序列的维度或高度,取决于字符集的大小。
如前述,可以使用CTC解码器将LSTM网络输出的数据进行解码。CTC解码器可以在标签的字符集之中加入一个空白符号(例如“-”),前向传播时的解码操作为多到一的映射β,把预测出的空白符号和重复符号消除,从而将双向LSTM网络输出的序列进行解码和序列识别。CTC解码器的输入为上述w*y的特征序列,输出为(待识别对象对应的)文字识别结果。
以图3为例,CTC解码器将双向LSTM网络的输出进行概率最大化后得到“--公公-民身身--份-号-码码-”,解码后得到“公民身份号码”,从而获得文字识别结果。
通过上述内容,执行主体可以确定并输出所述待识别对象对应的文字识别结果。
实施例一通过对候选网络进行神经架构搜索,能够确定目标网络。目标网络对应最优下采样路径和最优卷积算子,使得基于目标网络构建的文字识别算法能够兼顾文字识别性能和识别速度,提高文字识别效果和效率。实施例一中将神经架构搜索分为下采样路径搜索和卷积算子搜索两部分,可以有效减小网络参数的搜索空间,降低计算量。特别的,实施例一中可以根据各候选网络的损失和网络FLOPS确定最优卷积算子,使得目标网络具有更高的精度和更少的计算量,从而平衡目标网络的计算精度和速度,提高文字识别效果和效率。
另外,实施例一的执行主体可以是区块链中的节点。特别的,对于同一待识别对象,可以由同一区块链的多个节点各自作为执行主体,使用实施例一所述文字识别方法分别对该待识别对象进行文字识别,进而这多个节点对文字识别结果进行共识,共识通过后各自存储文字识别结果,以实现去中心化的文字识别和存储,提高文字识别和存储的安全性。
如图6所示,本说明书第二个实施例提供一种文字识别装置,包括:
网络模块202,用于对各候选网络进行神经架构搜索,以确定用于特征提取的目标网络;
算法模块204,用于基于所述目标网络构建文字识别算法;
识别模块206,用于获取待识别对象,使用所述文字识别算法对所述待识别对象进行文字识别,确定所述待识别对象对应的文字识别结果。
可选的,对各候选网络进行神经架构搜索包括:
对各候选网络进行下采样路径搜索和卷积算子搜索。
可选的,对各候选网络进行下采样路径搜索和卷积算子搜索,以确定用于特征提取的目标网络包括:
对各候选网络进行下采样路径搜索和卷积算子搜索,以确定最优下采样路径和最优卷积算子;
将所述最优下采样路径和最优卷积算子对应的网络作为用于特征提取的目标网络。
可选的,对各候选网络进行下采样路径搜索和卷积算子搜索包括:
对各候选网络进行下采样路径搜索,以确定最优下采样路径;
对各候选网络进行卷积算子搜索,以确定最优卷积算子;其中,对各候选网络进行卷积算子搜索过程中,各候选网络采用所述最优下采样路径。
可选的,若最优下采样路径有多个,则对各候选网络进行多次卷积算子搜索,以确定最优卷积算子;其中,每次卷积算子搜索过程中,各候选网络采用相同的最优下采样路径,且任两次卷积算子搜索过程中,各候选网络所采用的最优下次样路径不同。
可选的,若确定多个最优卷积算子,且所述多个最优卷积算子是采用一个或多个最优下采样路径进行卷积算子搜索确定的,则对于所述一个或多个最优下采样路径中的任一个最优下采样路径,将该最优下采样路径与基于该最优下采样路径所确定的任一个最优卷积算子所对应的网络作为用于特征提取的目标网络。
可选的,对各候选网络进行下采样路径搜索和卷积算子搜索包括:
对各候选网络进行卷积算子搜索,以确定最优卷积算子;
对各候选网络进行下采样路径搜索,以确定最优下采样路径;其中,对各候选网络进行下采样路径搜索过程中,各候选网络采用所述最优卷积算子。
可选的,若最优卷积算子有多个,则对各候选网络进行多次下采样路径搜索,以确定最优下采样路径。其中,每次下采样路径搜索过程中,各候选网络采用相同的最优卷积算子,且任两次下采样路径搜索过程中,各候选网络所采用的最优卷积算子不同。
可选的,若确定多个最优下采样路径,且所述多个最优下采样路径是采用一个或多个最优卷积算子进行下采样路径搜索确定的,则对于所述一个或多个最优卷积算子中的任一个最优卷积算子,将该最优卷积算子与基于该最优卷积算子所确定的任一个最优下采样路径所对应的网络作为用于特征提取的目标网络。
可选的,对各候选网络进行下采样路径搜索包括:
使用训练集对各候选网络进行训练;其中,各候选网络对应不同的下采样路径;
使用验证集计算训练后的各候选网络的损失,根据各候选网络的损失确定最优下采样路径。
可选的,使用训练集对各候选网络进行训练过程中,采用CTC损失函数计算各候选网络的损失和/或采用梯度下降法优化各候选网络。
可选的,对各候选网络进行卷积算子搜索包括:
使用训练集对各候选网络进行训练;其中,各候选网络对应不同参数的卷积算子;
使用验证集计算训练后的各候选网络的损失和/或网络FLOPS,根据各候选网络的所述损失和/或网络FLOPS确定最优卷积算子。
可选的,使用训练集对各候选网络进行训练过程中,采用CTC损失函数计算各候选网络的损失和/或采用梯度下降法优化各候选网络。
可选的,使用所述文字识别算法对所述待识别对象进行文字识别,确定所述待识别对象对应的文字识别结果包括:
使用所述目标网络提取所述待识别对象的特征;
将通过所述目标网络提取的特征进行序列建模和解码,以确定所述待识别对象对应的文字识别结果。
可选的,所构建的文字识别算法包括所述目标网络、LSTM网络、CTC解码器,所述LSTM网络用于所述序列建模,所述CTC解码器用于所述解码。
本说明书第三个实施例提供一种文字识别设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行第一个实施例所述的文字识别方法。
本说明书第四个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现第一个实施例所述的文字识别方法。
上述各实施例可以结合使用,不同实施例之间或同一实施例内的名称相同的模块可以是相同可不同的模块。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种文字识别方法,包括:
对各候选网络进行神经架构搜索,以确定用于特征提取的目标网络;所述神经架构搜索包括下采样路径搜索和卷积算子搜索,其中,下采样用于将图像高度和/或图像宽度进行压缩;
基于所述目标网络构建文字识别算法;
获取待识别对象,使用所述文字识别算法对所述待识别对象进行文字识别,确定所述待识别对象对应的文字识别结果;
所述对各候选网络进行神经架构搜索,以确定用于特征提取的目标网络,包括:
对采用默认卷积算子和不同的下采样路径的各候选网络进行下采样路径搜索,以确定最优下采样路径;
对采用所述最优下采样路径和不同参数的卷积算子的各候选网络进行卷积算子搜索,以确定最优卷积算子;
将所述最优下采样路径和所述最优卷积算子对应的网络,作为用于特征提取的所述目标网络;
或者,
对采用默认下采样路径和不同参数的卷积算子的各候选网络进行卷积算子搜索,以确定最优卷积算子;
对采用所述最优卷积算子和不同的下采样路径的各候选网络进行下采样路径搜索,以确定最优下采样路径;
将所述最优下采样路径和所述最优卷积算子对应的网络,作为用于特征提取的所述目标网络;
其中,对各候选网络进行卷积算子搜索包括:根据各候选网络的损失和网络FLOPS确定最优卷积算子。
2.如权利要求1所述的方法,对各候选网络进行神经架构搜索包括:
对各候选网络进行下采样路径搜索和卷积算子搜索。
3.如权利要求2所述的方法,对各候选网络进行下采样路径搜索和卷积算子搜索,以确定用于特征提取的目标网络包括:
对各候选网络进行下采样路径搜索和卷积算子搜索,以确定最优下采样路径和最优卷积算子;
将所述最优下采样路径和最优卷积算子对应的网络作为用于特征提取的目标网络。
4.如权利要求2所述的方法,对各候选网络进行下采样路径搜索和卷积算子搜索包括:
对各候选网络进行下采样路径搜索,以确定最优下采样路径;
对各候选网络进行卷积算子搜索,以确定最优卷积算子;其中,对各候选网络进行卷积算子搜索过程中,各候选网络采用所述最优下采样路径。
5.如权利要求4所述的方法,若最优下采样路径有多个,则对各候选网络进行多次卷积算子搜索,以确定最优卷积算子;其中,每次卷积算子搜索过程中,各候选网络采用相同的最优下采样路径,且任两次卷积算子搜索过程中,各候选网络所采用的最优下次样路径不同。
6.如权利要求4所述的方法,若确定多个最优卷积算子,且所述多个最优卷积算子是采用一个或多个最优下采样路径进行卷积算子搜索确定的,则对于所述一个或多个最优下采样路径中的任一个最优下采样路径,将该最优下采样路径与基于该最优下采样路径所确定的任一个最优卷积算子所对应的网络作为用于特征提取的目标网络。
7.如权利要求2所述的方法,对各候选网络进行下采样路径搜索和卷积算子搜索包括:
对各候选网络进行卷积算子搜索,以确定最优卷积算子;
对各候选网络进行下采样路径搜索,以确定最优下采样路径;其中,对各候选网络进行下采样路径搜索过程中,各候选网络采用所述最优卷积算子。
8.如权利要求7所述的方法,若最优卷积算子有多个,则对各候选网络进行多次下采样路径搜索,以确定最优下采样路径;其中,每次下采样路径搜索过程中,各候选网络采用相同的最优卷积算子,且任两次下采样路径搜索过程中,各候选网络所采用的最优卷积算子不同。
9.如权利要求7所述的方法,若确定多个最优下采样路径,且所述多个最优下采样路径是采用一个或多个最优卷积算子进行下采样路径搜索确定的,则对于所述一个或多个最优卷积算子中的任一个最优卷积算子,将该最优卷积算子与基于该最优卷积算子所确定的任一个最优下采样路径所对应的网络作为用于特征提取的目标网络。
10.如权利要求2至9中任一项所述的方法,对各候选网络进行下采样路径搜索包括:
使用训练集对各候选网络进行训练;其中,各候选网络对应不同的下采样路径;
使用验证集计算训练后的各候选网络的损失,根据各候选网络的损失确定最优下采样路径。
11.如权利要求10所述的方法,使用训练集对各候选网络进行训练过程中,采用CTC损失函数计算各候选网络的损失和/或采用梯度下降法优化各候选网络。
12.如权利要求2至9中任一项所述的方法,对各候选网络进行卷积算子搜索包括:
使用训练集对各候选网络进行训练;其中,各候选网络对应不同参数的卷积算子;
使用验证集计算训练后的各候选网络的损失和/或网络FLOPS,根据各候选网络的所述损失和/或网络FLOPS确定最优卷积算子。
13.如权利要求12所述的方法,使用训练集对各候选网络进行训练过程中,采用CTC损失函数计算各候选网络的损失和/或采用梯度下降法优化各候选网络。
14.如权利要求1所述的方法,使用所述文字识别算法对所述待识别对象进行文字识别,确定所述待识别对象对应的文字识别结果包括:
使用所述目标网络提取所述待识别对象的特征;
将通过所述目标网络提取的特征进行序列建模和解码,以确定所述待识别对象对应的文字识别结果。
15.如权利要求14所述的方法,所构建的文字识别算法包括所述目标网络、LSTM网络、CTC解码器,所述LSTM网络用于所述序列建模,所述CTC解码器用于所述解码。
16.一种文字识别装置,包括:
网络模块,用于对各候选网络进行神经架构搜索,以确定用于特征提取的目标网络;所述神经架构搜索包括下采样路径搜索和卷积算子搜索,其中,下采样用于将图像高度和/或图像宽度进行压缩;
算法模块,用于基于所述目标网络构建文字识别算法;
识别模块,用于获取待识别对象,使用所述文字识别算法对所述待识别对象进行文字识别,确定所述待识别对象对应的文字识别结果;
所述对各候选网络进行神经架构搜索,以确定用于特征提取的目标网络,包括:
对采用默认卷积算子和不同的下采样路径的各候选网络进行下采样路径搜索,以确定最优下采样路径;
对采用所述最优下采样路径和不同参数的卷积算子的各候选网络进行卷积算子搜索,以确定最优卷积算子;
将所述最优下采样路径和所述最优卷积算子对应的网络,作为用于特征提取的所述目标网络;
或者,
对采用默认下采样路径和不同参数的卷积算子的各候选网络进行卷积算子搜索,以确定最优卷积算子;
对采用所述最优卷积算子和不同的下采样路径的各候选网络进行下采样路径搜索,以确定最优下采样路径;
将所述最优下采样路径和所述最优卷积算子对应的网络,作为用于特征提取的所述目标网络;
其中,对各候选网络进行卷积算子搜索包括:根据各候选网络的损失和网络FLOPS确定最优卷积算子。
17.一种文字识别设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行权利要求1至15中任一项所述的文字识别方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求1至15中任一项所述的文字识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110598997.5A CN113221871B (zh) | 2021-05-31 | 2021-05-31 | 一种文字识别方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110598997.5A CN113221871B (zh) | 2021-05-31 | 2021-05-31 | 一种文字识别方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113221871A CN113221871A (zh) | 2021-08-06 |
CN113221871B true CN113221871B (zh) | 2024-02-02 |
Family
ID=77081628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110598997.5A Active CN113221871B (zh) | 2021-05-31 | 2021-05-31 | 一种文字识别方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221871B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977950A (zh) * | 2019-03-22 | 2019-07-05 | 上海电力学院 | 一种基于混合cnn-lstm网络的文字识别方法 |
CN110378346A (zh) * | 2019-06-14 | 2019-10-25 | 北京百度网讯科技有限公司 | 建立文字识别模型的方法、装置、设备和计算机存储介质 |
CN110659690A (zh) * | 2019-09-25 | 2020-01-07 | 深圳市商汤科技有限公司 | 神经网络的构建方法及装置、电子设备和存储介质 |
CN110766089A (zh) * | 2019-10-30 | 2020-02-07 | 北京百度网讯科技有限公司 | 超网络的模型结构采样方法、装置以及电子设备 |
CN111967569A (zh) * | 2020-06-29 | 2020-11-20 | 北京百度网讯科技有限公司 | 神经网络结构的生成方法、装置、存储介质及电子设备 |
CN112149691A (zh) * | 2020-10-10 | 2020-12-29 | 上海鹰瞳医疗科技有限公司 | 用于双目视觉匹配的神经网络搜索方法及设备 |
CN112686371A (zh) * | 2020-12-25 | 2021-04-20 | 深圳前海微众银行股份有限公司 | 网络结构搜索方法、装置、设备、存储介质及程序产品 |
-
2021
- 2021-05-31 CN CN202110598997.5A patent/CN113221871B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977950A (zh) * | 2019-03-22 | 2019-07-05 | 上海电力学院 | 一种基于混合cnn-lstm网络的文字识别方法 |
CN110378346A (zh) * | 2019-06-14 | 2019-10-25 | 北京百度网讯科技有限公司 | 建立文字识别模型的方法、装置、设备和计算机存储介质 |
CN110659690A (zh) * | 2019-09-25 | 2020-01-07 | 深圳市商汤科技有限公司 | 神经网络的构建方法及装置、电子设备和存储介质 |
CN110766089A (zh) * | 2019-10-30 | 2020-02-07 | 北京百度网讯科技有限公司 | 超网络的模型结构采样方法、装置以及电子设备 |
CN111967569A (zh) * | 2020-06-29 | 2020-11-20 | 北京百度网讯科技有限公司 | 神经网络结构的生成方法、装置、存储介质及电子设备 |
CN112149691A (zh) * | 2020-10-10 | 2020-12-29 | 上海鹰瞳医疗科技有限公司 | 用于双目视觉匹配的神经网络搜索方法及设备 |
CN112686371A (zh) * | 2020-12-25 | 2021-04-20 | 深圳前海微众银行股份有限公司 | 网络结构搜索方法、装置、设备、存储介质及程序产品 |
Non-Patent Citations (2)
Title |
---|
A Study on Encodings for Neural Architecture Search;Colin White 等;NeurIPS 2020;全文 * |
Improving Deep Learning based Optical Character Recognition via Neural Architecture Search;Zhenyao Zhao 等;《2020 IEEE congress on evolutionary computation 》;20200903;第1-7页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113221871A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107957989B (zh) | 基于集群的词向量处理方法、装置以及设备 | |
CN111401062B (zh) | 文本的风险识别方法、装置及设备 | |
CN116205290B (zh) | 一种基于中间特征知识融合的知识蒸馏方法和装置 | |
CN112417093B (zh) | 一种模型训练的方法及装置 | |
CN115712866B (zh) | 数据处理方法、装置及设备 | |
CN116049761A (zh) | 数据处理方法、装置及设备 | |
CN116502633A (zh) | 一种业务执行的方法、装置、存储介质及电子设备 | |
CN108921190A (zh) | 一种图像分类方法、装置及电子设备 | |
CN116186330B (zh) | 一种基于多模态学习的视频去重方法及装置 | |
CN113221871B (zh) | 一种文字识别方法、装置、设备及介质 | |
CN115830633B (zh) | 基于多任务学习残差神经网络的行人重识别方法和系统 | |
CN116863484A (zh) | 一种字符识别的方法、装置、存储介质及电子设备 | |
CN116664514A (zh) | 数据处理方法、装置及设备 | |
CN115294336A (zh) | 一种数据标注方法、装置及存储介质 | |
CN111652074B (zh) | 一种人脸识别方法、装置、设备及介质 | |
CN116070916B (zh) | 数据处理方法、装置及设备 | |
CN116451808B (zh) | 一种模型训练的方法、装置、存储介质及电子设备 | |
CN112115952B (zh) | 一种基于全卷积神经网络的图像分类方法、设备及介质 | |
CN115859975B (zh) | 数据处理方法、装置及设备 | |
CN116340469B (zh) | 一种同义词挖掘方法、装置、存储介质及电子设备 | |
CN116563581A (zh) | 图像检测模型的训练方法及装置 | |
CN116824580A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN116543759A (zh) | 语音识别处理方法及装置 | |
CN117541963A (zh) | 包含文本风险的关键视频帧提取方法及装置 | |
CN116935176A (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 |