CN109871848A - 一种移动终端的文字识别方法及装置 - Google Patents
一种移动终端的文字识别方法及装置 Download PDFInfo
- Publication number
- CN109871848A CN109871848A CN201711252341.8A CN201711252341A CN109871848A CN 109871848 A CN109871848 A CN 109871848A CN 201711252341 A CN201711252341 A CN 201711252341A CN 109871848 A CN109871848 A CN 109871848A
- Authority
- CN
- China
- Prior art keywords
- gpu
- picture
- module
- computing capability
- cpu
- 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.)
- Granted
Links
Abstract
本发明实施例提供一种移动终端文字识别和装置,应用于文字识别系统,所述文字识别系统包括图片特征提取模块、概率计算模块、最大概率输出模块,所述方法包括:确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。本发明实施例可以充分利用GPU的计算能力,实现CPU和GPU的协同并行计算,有效减少计算任务的耗时,提高系统的实时性。
Description
技术领域
本发明实施例涉及文字识别技术领域,具体涉及一种移动终端文字识别方法及装置。
背景技术
光学字符识别(英文全称为Optical Character Recognition,英文简称为OCR)是指电子设备将图片上的文字转换成计算机文字输出的技术。在光学字符识别处理中,存在大量的计算任务。若在移动端执行OCR处理,由于移动终端计算能力的限制,耗时较长、实时性不强。
发明内容
本发明实施例提供了一种移动终端文字识别方法及装置,旨在解决现有技术的移动终端文字识别存在的耗时长、实时性不高的技术问题。
为此,本发明实施例提供如下技术方案:
第一方面,本发明实施例提供了一种协同计算方法,应用于文字识别系统,所述文字识别系统包括图片特征提取模块、概率计算模块、最大概率输出模块,所述方法包括:确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。
第二方面,本发明实施例提供了一种移动终端文字识别装置,包括图片特征提取模块、概率计算模块、最大概率输出模块,还包括:计算能力确定模块,用于确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;配置模块,用于根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。
第三方面,本发明实施例提供了一种用于移动终端文字识别的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。
第四方面,本发明实施例提供了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如第一方面所示的移动终端文字识别方法。
本发明实施例提供的移动终端文字识别方法及装置,可以确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。由于配置CPU和GPU执行不同的计算任务,充分利用了GPU的计算能力,实现了CPU和GPU的协同并行计算,有效减少了计算任务的耗时,提高了系统的实时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的移动终端文字识别方法流程图;
图2为本发明一实施例提供的移动终端文字识别装置示意图;
图3是根据一示例性实施例示出的一种用于移动终端文字识别装置的框图;
图4是根据一示例性实施例示出的服务器的框图。
具体实施方式
本发明实施例提供了一种移动终端文字识别方法及装置,可以充分利用GPU的计算能力,实现CPU和GPU的协同并行计算,有效减少计算任务的耗时,提高系统的实时性。
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面将结合附图1对本发明示例性实施例示出的移动终端文字识别方法进行介绍。
参见图1,为本发明一实施例提供的移动终端文字识别方法流程图。所述方法应用于文字识别系统,所述文字识别系统包括图片特征提取模块、概率计算模块、最大概率输出模块,可以包括:
S101,确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力。
其中,中央处理器(英文全称为Central Processing Unit,英文简称为CPU)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。CPU一般包括运算器、存储器以及连接他们之间的总线。CPU的主要功能包括处理指令(processing instructions)、执行操作(perform an action)、控制时间(control time)、处理数据(processing data)。CPU的性能参数一般包括主频、外频、总线频率、倍频系数、缓存大小等。其中,CPU的主频一般用于表示CPU的运算、处理数据的速度。通常,主频越高,CPU的处理数据的速度越快。在衡量CPU的计算能力时,可以采用多种因素进行衡量。一般地,将CPU计算数据的耗时作为衡量其计算能力的主要指标,当然,也可以采用其他指标衡量。
其中,图形处理器(英文全称为Graphics Processing Unit,英文缩写为GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上进行图像运算工作的微处理器。一般地,GPU专门用于执行图形处理所必需的一些复杂的数学计算。GPU的计算能力也可以采用多种指标进行衡量。一般地,也可以将GPU计算数据的耗时作为衡量其计算能力的主要指标,当然,也可以采用其他指标衡量。
S102,根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。
在本发明实施例中,可以根据CPU的计算能力和所述GPU的计算能力,配置CPU和GPU执行不同的计算任务,充分利用GPU的计算能力,实现CPU和GPU的协同并行计算,有效减少计算任务的耗时,提高系统的实时性。
需要说明的是,尽管GPU的计算性能一般高于CPU,但无论是在服务器端还是移动端,CPU的个数还是远多于GPU的,因此,为了使得整个系统的性能达到最大化,需要通过一定的配置,实现GPU和、CPU的协同计算。
具体实现时,移动终端的文字识别一般包括图片特征提取、概率计算和最大概率输出等步骤。相应地,所述文字识别系统包括图片特征提取模块、概率计算模块、最大概率输出模块。其中,概率计算模块和最大概率输出模块的耗时是最长的、计算量也最大,因此,可以将这两个模块中的至少一个分配至GPU进行处理,以提高运算速度,减少耗时。
在一些实施方式中,所述配置所述CPU执行图片特征提取模块的计算任务具体包括:利用单指令多数据流(英文全称为Single Instruction Multiple Data,英文简称为SIMD)指令并行处理卷积层和长短期记忆网络(英文全称为Long Short-Term Memory,英文简称为LSTM)层的同类计算,获取输入图片的图片特征。在进行图片特征提取时,一般将图片数据,例如包含一行文字的图片小块输入到卷积神经网络CNN中,经过若干卷积层和LSTM层的处理,输出一个N维的特征。N的取值例如为200。在卷积层和LSTM层的处理中,许多操作是相似的且相互之间不存在依赖关系。因此,可以通过向量操作并行操作来进行加速处理。例如,SIMD指令可以同时计算长度为128比特的向量,因此可以将互不相关的同类操作并行处理。
在一些实施方式中,配置所述GPU执行概率计算模块的计算任务具体包括:对所述图片特征提取模块提取的图片特征执行降维处理,利用全连接层并行计算处理后的图片特征对应文字的概率值。概率计算模块一般用于输出图片特征属于某一个文字的概率值,通常利用全连接层处理。由于全连接层的参数量巨大,甚至占到整个CNN网络参数的一半以上,处理相对复杂。此外,浮点型(float)数据的相加和相乘计算均非常耗时,因此全连接层的计算成为了一个计算瓶颈。传统的,一般采用串行计算的方式,利用4字节的浮点数直接计算。在本发明实施例中,首先对特征进行降维处理,以减少计算的复杂度和耗时。例如,对于卷积层和LSTM计算出来的图片特征,可以将其由4字节的浮点型float转换为2字节的half性,然后用硬件加速快(arm compute library,acl)并行计算矩阵的相乘,大大减少了计算时间。
在一些实现方式中,配置GPU执行最大概率输出模块的计算任务包括:调用GPU的底层接口,利用多个线程并行计算各图片块的图片特征对应的文字概率值中的最大值;输出所述最大概率值对应的文字作为文字识别结果。其中,输入图片被划分为多个图片块,所述线程的数量与图片块的数量具有对应关系。一般地,线程的数量与图片块的数量具有一一对应关系。需要说明的是,最大概率输出模块的计算由于类别数量多,计算非常耗时,现有技术鲜有对这个模块进行加速的处理。在本发明实施例中,利用GPU执行最大概率输出模块的计算。具体地,通过调用GPU的接口opencl,使用与图片块数量(batchsize)相同的线程(workitem)同时计算每个图片块(batch)的图片特征对应的文字的概率值中的最大值。在一些实施方式中,每个线程利用向量指令并行计算,以得到各图片块的图片特征对应的文字的概率值中的最大值。进一步地,可以输出所述最大概率值对应的文字作为文字识别结果。具体地,每个workitem里面又用vector指令一次算8个half,取得了很好的加速效果
根据本发明的实施例提供的移动终端文字识别方法,可以根据CPU和GPU的计算能力来分配各自的计算任务,并且能够使计算任务独立、互不干扰,有效改善了机器翻译系统的计算性能,减少了耗时,提高了实时性。
此外,在本发明实施例具体实现时,可以使用C++语言实现,并且在底层nativecode(本机代码)实现加速处理。由于Native code的相对于Java代码快,而且在nativecode代码里面用到了arm的neon并行指令,在计算的瓶颈处——全连接层又用到了GPU,发挥了系统最大的效能。此外,本发明实施例可以直接调用GPU的接口,对GPU的调用更加自由,可以实现细粒度的GPU调用,并且与Native code的软件开发调用包SDK无缝结合,无需再到java层调用,更易实现,速度更快。
下面对本发明实施例提供的方法对应的设备和装置进行介绍,下述设备和装置各模块或模块的设置可以参照图1所示的方法对应实现。
参见图2,为本发明一实施例提供的移动终端文字识别装置示意图。
一种移动终端文字识别装置200,所述文字识别装置包括图片特征提取模块203、概率计算模块204、最大概率输出模块205,还包括:
计算能力确定模块201,用于确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力。其中,所述计算能力确定模块201的具体实现可以参照图1所示实施例的步骤101而实现。
配置模块202,用于根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。其中,所述配置模块202的具体实现可以参照图1所示实施例的步骤102而实现。
在一些实施方式中,所述图片特征提取模块具体用于:
利用单指令多数据流SIMD指令并行处理卷积层和长短期记忆网络层的同类计算,获取输入图片的图片特征。
在一些实施方式中,所述概率计算模块具体用于:
对所述图片特征提取模块提取的图片特征执行降维处理,利用全连接层并行计算处理后的图片特征对应文字的概率值。
在一些实施方式中,所述最大概率输出模块具体用于:
调用GPU的底层接口,利用多个线程并行计算各图片块的图片特征对应的文字概率值中的最大值;输出所述最大概率值对应的文字作为文字识别结果;其中,输入图片被划分为多个图片块,所述线程的数量与图片块的数量具有对应关系。
在一些实施方式中,所述最大概率输出模块具体用于:
配置每个线程利用向量指令并行计算,以得到各图片块的图片特征对应的文字的概率值中的最大值。
其中,本发明装置各模块或模块的设置可以参照图1所示的方法而实现,在此不赘述。
参见图3,为根据一示例性实施例示出的一种用于文字识别装置的框图。例如,装置300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,装置300可以包括以下一个或多个组件:处理组件302,存储器304,电源组件306,多媒体组件308,音频组件310,输入/输出(I/O)的接口312,传感器组件314,以及通信组件316。
处理组件302通常控制装置300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件302可以包括一个或多个处理器320来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件302可以包括一个或多个模块,便于处理组件302和其他组件之间的交互。例如,处理部件302可以包括多媒体模块,以方便多媒体组件308和处理组件302之间的交互。
存储器304被配置为存储各种类型的数据以支持在设备300的操作。这些数据的示例包括用于在装置300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件306为装置300的各种组件提供电力。电源组件306可以包括电源管理系统,一个或多个电源,及其他与为装置300生成、管理和分配电力相关联的组件。
多媒体组件308包括在所述装置300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件308包括一个前置摄像头和/或后置摄像头。当设备300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(MIC),当装置300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。
I/O接口312为处理组件302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件314包括一个或多个传感器,用于为装置300提供各个方面的状态评估。例如,传感器组件314可以检测到设备300的打开/关闭状态,组件的相对定位,例如所述组件为装置300的显示器和小键盘,传感器组件314还可以检测装置300或装置300一个组件的位置改变,用户与装置300接触的存在或不存在,装置300方位或加速/减速和装置300的温度变化。传感器组件314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件314还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件316被配置为便于装置300和其他设备之间有线或无线方式的通信。装置300可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件314经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件314还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置300可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
具体地,本发明实施例提供了一种文字识别装置300,包括有存储器304,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器304中,且经配置以由一个或者一个以上处理器320执行所述一个或者一个以上程序包含用于进行以下操作的指令:确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。
进一步地,所述处理器320具体还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:利用单指令多数据流SIMD指令并行处理卷积层和长短期记忆网络层的同类计算,获取输入图片的图片特征。
进一步地,所述处理器320具体还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:对提取的图片特征执行降维处理,利用全连接层并行计算处理后的图片特征对应文字的概率值。
进一步地,所述处理器320具体还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:调用GPU的底层接口,利用多个线程并行计算各图片块的图片特征对应的文字概率值中的最大值;输出所述最大概率值对应的文字作为文字识别结果;其中,输入图片被划分为多个图片块,所述线程的数量与图片块的数量具有对应关系。
进一步地,所述处理器320具体还用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:配置每个线程利用向量指令并行计算,以得到各图片块的图片特征对应的文字的概率值中的最大值。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器304,上述指令可由装置300的处理器320执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种机器可读介质,例如该机器可读介质可以为非临时性计算机可读存储介质,当所述介质中的指令由装置(终端或者服务器)的处理器执行时,使得装置能够执行如图1所示的一种文字识别方法,所述方法包括:确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。
图4是本发明实施例中服务器的结构示意图。该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口440,一个或一个以上输入输出接口448,一个或一个以上键盘446,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种移动终端文字识别方法,其特征在于,应用于文字识别系统,所述文字识别系统包括图片特征提取模块、概率计算模块、最大概率输出模块,其特征在于,所述方法包括:
确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;
根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。
2.根据权利要求1所述的方法,其特征在于,配置所述CPU执行图片特征提取模块的计算任务具体包括:
利用单指令多数据流SIMD指令并行处理卷积层和长短期记忆网络层的同类计算,获取输入图片的图片特征。
3.根据权利要求1或2所述的方法,其特征在于,配置所述GPU执行概率计算模块的计算任务具体包括:
对所述图片特征提取模块提取的图片特征执行降维处理,利用全连接层并行计算处理后的图片特征对应文字的概率值。
4.根据权利要求1所述的方法,其特征在于,配置GPU执行最大概率输出模块的计算任务包括:
调用GPU的底层接口,利用多个线程并行计算各图片块的图片特征对应的文字的概率值中的最大值;其中,输入图片被划分为多个图片块,所述线程的数量与图片块的数量具有对应关系;
输出所述最大概率值对应的文字作为文字识别结果。
5.根据权利要求4所述的方法,其特征在于,所述利用多个线程并行计算各图片块的图片特征对应的文字的概率值中的最大值包括:
配置每个线程利用向量指令并行计算,以得到各图片块的图片特征对应的文字的概率值中的最大值。
6.一种文字识别装置,其特征在于,所述文字识别装置包括图片特征提取模块、概率计算模块、最大概率输出模块,还包括:
计算能力确定模块,用于确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;
配置模块,用于根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。
7.根据权利要求6所述的装置,其特征在于,所述概率计算模块具体用于:
对所述图片特征提取模块提取的图片特征执行降维处理,利用全连接层并行计算处理后的图片特征对应文字的概率值。
8.根据权利要求6所述的装置,其特征在于,所述最大概率输出模块具体用于:
调用GPU的底层接口,利用多个线程并行计算各图片块的图片特征对应的文字概率值中的最大值;输出所述最大概率值对应的文字作为文字识别结果;其中,输入图片被划分为多个图片块,所述线程的数量与图片块的数量具有对应关系。
9.一种用于移动终端文字识别的装置,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定中央处理器CPU的计算能力以及图像处理器GPU的计算能力;
根据所述CPU的计算能力和所述GPU的计算能力,配置所述CPU执行图片特征提取模块的计算任务,配置所述GPU执行概率计算模块和最大概率输出模块中的至少一个模块对应的计算任务。
10.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求1至5中一个或多个所述的移动终端文字识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711252341.8A CN109871848B (zh) | 2017-12-01 | 2017-12-01 | 一种移动终端的文字识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711252341.8A CN109871848B (zh) | 2017-12-01 | 2017-12-01 | 一种移动终端的文字识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109871848A true CN109871848A (zh) | 2019-06-11 |
CN109871848B CN109871848B (zh) | 2022-01-25 |
Family
ID=66913734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711252341.8A Active CN109871848B (zh) | 2017-12-01 | 2017-12-01 | 一种移动终端的文字识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109871848B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757915A (zh) * | 2023-08-16 | 2023-09-15 | 北京蓝耘科技股份有限公司 | 一种集群gpu资源调度方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373519A (zh) * | 2007-08-20 | 2009-02-25 | 富士通株式会社 | 字符识别装置和方法 |
CN101388078A (zh) * | 2008-09-27 | 2009-03-18 | 腾讯科技(深圳)有限公司 | 基于验证的文本识别的方法及装置 |
CN101526934A (zh) * | 2009-04-21 | 2009-09-09 | 浪潮电子信息产业股份有限公司 | 一种gpu与cpu复合处理器的组建方法 |
CN101706741A (zh) * | 2009-12-11 | 2010-05-12 | 中国人民解放军国防科学技术大学 | 一种基于负载平衡的cpu和gpu两级动态任务划分方法 |
CN101751376A (zh) * | 2009-12-30 | 2010-06-23 | 中国人民解放军国防科学技术大学 | 利用cpu和gpu协同工作对三角线性方程组求解的加速方法 |
CN102982330A (zh) * | 2012-11-21 | 2013-03-20 | 新浪网技术(中国)有限公司 | 文字图像中字符识别方法和识别装置 |
CN102982329A (zh) * | 2012-11-02 | 2013-03-20 | 华南理工大学 | 移动设备中融合切分识别和语义分析的翻译方法 |
CN103559017A (zh) * | 2013-10-23 | 2014-02-05 | 东软集团股份有限公司 | 基于gpu异构计算平台的字符串匹配方法及系统 |
CN104102476A (zh) * | 2014-08-04 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 非规则流中高维数据流典型相关性并行计算方法及装置 |
CN104331271A (zh) * | 2014-11-18 | 2015-02-04 | 李桦 | 用于cfd的并行计算方法及系统 |
CN105045670A (zh) * | 2015-09-01 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 中央处理器和图形处理器负载均衡的方法和系统 |
CN106250928A (zh) * | 2016-07-30 | 2016-12-21 | 哈尔滨工业大学深圳研究生院 | 基于图形处理单元的并行逻辑回归方法及系统 |
CN106325750A (zh) * | 2016-08-26 | 2017-01-11 | 曹蕊 | 一种应用于终端设备的文字识别方法及系统 |
CN107103319A (zh) * | 2013-05-22 | 2017-08-29 | 华为终端有限公司 | 一种文字识别方法及用户终端 |
-
2017
- 2017-12-01 CN CN201711252341.8A patent/CN109871848B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373519A (zh) * | 2007-08-20 | 2009-02-25 | 富士通株式会社 | 字符识别装置和方法 |
CN101388078A (zh) * | 2008-09-27 | 2009-03-18 | 腾讯科技(深圳)有限公司 | 基于验证的文本识别的方法及装置 |
CN101526934A (zh) * | 2009-04-21 | 2009-09-09 | 浪潮电子信息产业股份有限公司 | 一种gpu与cpu复合处理器的组建方法 |
CN101706741A (zh) * | 2009-12-11 | 2010-05-12 | 中国人民解放军国防科学技术大学 | 一种基于负载平衡的cpu和gpu两级动态任务划分方法 |
CN101751376A (zh) * | 2009-12-30 | 2010-06-23 | 中国人民解放军国防科学技术大学 | 利用cpu和gpu协同工作对三角线性方程组求解的加速方法 |
CN102982329A (zh) * | 2012-11-02 | 2013-03-20 | 华南理工大学 | 移动设备中融合切分识别和语义分析的翻译方法 |
CN102982330A (zh) * | 2012-11-21 | 2013-03-20 | 新浪网技术(中国)有限公司 | 文字图像中字符识别方法和识别装置 |
CN107103319A (zh) * | 2013-05-22 | 2017-08-29 | 华为终端有限公司 | 一种文字识别方法及用户终端 |
CN103559017A (zh) * | 2013-10-23 | 2014-02-05 | 东软集团股份有限公司 | 基于gpu异构计算平台的字符串匹配方法及系统 |
CN104102476A (zh) * | 2014-08-04 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 非规则流中高维数据流典型相关性并行计算方法及装置 |
CN104331271A (zh) * | 2014-11-18 | 2015-02-04 | 李桦 | 用于cfd的并行计算方法及系统 |
CN105045670A (zh) * | 2015-09-01 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 中央处理器和图形处理器负载均衡的方法和系统 |
CN106250928A (zh) * | 2016-07-30 | 2016-12-21 | 哈尔滨工业大学深圳研究生院 | 基于图形处理单元的并行逻辑回归方法及系统 |
CN106325750A (zh) * | 2016-08-26 | 2017-01-11 | 曹蕊 | 一种应用于终端设备的文字识别方法及系统 |
Non-Patent Citations (3)
Title |
---|
DARK_KNIGHT_BRCWN: "ARM Compute Library", 《CSDN》 * |
RONY2012: "ARM Neon基础介绍", 《CSDN》 * |
洪汉玉: "《目标探测多谱图像复原方法与应用》", 31 October 2017, 北京:国防工业出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757915A (zh) * | 2023-08-16 | 2023-09-15 | 北京蓝耘科技股份有限公司 | 一种集群gpu资源调度方法 |
CN116757915B (zh) * | 2023-08-16 | 2023-11-28 | 北京蓝耘科技股份有限公司 | 一种集群gpu资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109871848B (zh) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241859B (zh) | 指纹识别方法及相关产品 | |
CN109784351B (zh) | 行为数据分类方法、分类模型训练方法及装置 | |
CN106446797A (zh) | 图像聚类方法及装置 | |
CN109243430A (zh) | 一种语音识别方法及装置 | |
CN106845377A (zh) | 人脸关键点定位方法及装置 | |
CN110992963B (zh) | 网络通话方法、装置、计算机设备及存储介质 | |
CN110909815A (zh) | 神经网络训练、图像处理方法、装置及电子设备 | |
CN107193598A (zh) | 一种应用启动方法、移动终端及计算机可读存储介质 | |
CN107992813A (zh) | 一种唇部状态检测方法及装置 | |
CN107213642A (zh) | 虚拟人物外观改变方法及装置 | |
CN105205153B (zh) | 文件存储方法和装置 | |
CN111680697A (zh) | 实现领域自适应的方法、装置、电子设备及介质 | |
CN110136733A (zh) | 一种音频信号的解混响方法和装置 | |
CN108572979A (zh) | 一种位置服务方法和装置、一种用于位置服务的装置 | |
CN110490389A (zh) | 点击率预测方法、装置、设备及介质 | |
CN107729860B (zh) | 人脸识别计算方法及相关产品 | |
CN111984803B (zh) | 多媒体资源处理方法、装置、计算机设备及存储介质 | |
CN109871352A (zh) | 一种协同计算方法及装置 | |
CN109871848A (zh) | 一种移动终端的文字识别方法及装置 | |
CN112766406A (zh) | 物品图像的处理方法、装置、计算机设备及存储介质 | |
CN110796665B (zh) | 图像分割方法及相关产品 | |
CN107707759A (zh) | 终端控制方法、装置以及系统、存储介质 | |
WO2020181858A1 (zh) | 资源转移方法、装置及存储介质 | |
CN107563337A (zh) | 人脸识别的方法及相关产品 | |
CN107944024B (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 |