CN113255672B - 纸币识别方法、装置及终端设备 - Google Patents
纸币识别方法、装置及终端设备 Download PDFInfo
- Publication number
- CN113255672B CN113255672B CN202010224445.3A CN202010224445A CN113255672B CN 113255672 B CN113255672 B CN 113255672B CN 202010224445 A CN202010224445 A CN 202010224445A CN 113255672 B CN113255672 B CN 113255672B
- Authority
- CN
- China
- Prior art keywords
- banknote
- algorithm
- data
- algorithm sequence
- sequence
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Inspection Of Paper Currency And Valuable Securities (AREA)
Abstract
本申请适用于纸币处理技术领域,提供了纸币识别方法、装置及终端设备,包括:通过所述至少两个运算内核并行执行纸币识别处理步骤,所述纸币识别处理步骤包括:获取纸币数据;根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理;当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,其中所述识别结果包含所述纸币数据的目标识别信息。本申请实施例能够提高纸币识别效率。
Description
技术领域
本申请属于纸币处理技术领域,尤其涉及一种纸币识别方法、装置及终端设备。
背景技术
现有技术中,随着对纸币识别的准确性及识别信息丰富性的要求,现有的纸币识别方法中用到的算法越来越复杂,导致纸币识别的实时性低且稳定性差,因而存在纸币识别效率低的缺陷。
发明内容
有鉴于此,本申请实施例提供了纸币识别方法、装置及终端设备,以解决现有技术中如何提高纸币识别效率的问题。
本申请实施例的第一方面提供了一种纸币识别方法,所述方法应用于包含至少两个运算内核的纸币识别装置,所述纸币识别方法包括:
通过所述至少两个运算内核并行执行纸币识别处理步骤,所述纸币识别处理步骤包括:获取纸币数据;根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理;所述目标算法序列为算法序列中与所述状态标识对应的一个算法序列,所述算法序列包括预处理算法序列和特定国别算法序列,所述预处理算法序列用于对纸币数据进行预处理;所述特定国别算法序列用于提取预处理后的纸币数据的目标识别信息;
当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,其中所述识别结果包含所述纸币数据的目标识别信息。
本申请实施例的第二方面提供了一种纸币识别装置,所述纸币识别装置包含至少两个运算内核,所述纸币识别装置包括:
纸币识别处理单元,用于通过所述至少两个运算内核并行执行纸币识别处理步骤;其中每个运算内核通过数据获取模块及算法运行模块执行所述纸币识别处理步骤:所述数据获取模块,用于获取纸币数据;所述算法运行模块,用于根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理;所述目标算法序列为算法序列中与所述状态标识对应的一个算法序列,所述算法序列包括预处理算法序列和特定国别算法序列,所述预处理算法序列用于对纸币数据进行预处理;所述特定国别算法序列用于提取预处理后的纸币数据的目标识别信息;
识别结果获取单元,用于当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,其中所述识别结果包含所述纸币数据的目标识别信息。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,使得终端设备实现如所述纸币识别方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得终端设备实现如所述纸币识别方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的纸币识别方法。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,一方面,由于通过至少两个运算内核执行不同的子算法来实现并行执行纸币识别处理步骤,因此能够提高纸币识别的效率;另一方面,将纸币识别处理中原来所用的一整套完整算法分割为预处理算法序列和国别算法序列,将不同的算法处理部分解耦,从而提高算法的稳定性;并且由于通过设置纸币数据的状态标识,根据该状态标识来指示运算内核执行对应的目标算法序列,因此使得多个运算内核能够更加高效有序地执行算法序列,从而提高纸币识别的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的纸币识别装置的实体结构示意图;
图2是本申请实施例提供的第一种纸币识别方法的实现流程示意图;
图3是本申请实施例提供的第二种纸币识别方法的实现流程示意图;
图4是本申请实施例提供的一种包含两个运算内核的纸币识别装置执行纸币识别方法的示意图;
图5是本申请实施例提供的纸币识别装置的示意图;
图6是本申请实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一:
本申请实施例中的纸币识别方法的执行主体为包含至少两个运算内核的纸币识别装置,具体可以是用于纸币识别的双核处理器或者多核处理器。示例性地,该纸币识别装置的实体结构如图1所示,包含第一运算内核CORE0以及第二运算内核CORE1。
图2示出了本申请实施例提供的第一种纸币识别方法的流程示意图,详述如下:
在S201中,通过所述至少两个运算内核并行执行纸币识别处理步骤,所述纸币识别处理步骤包括:
S20101:获取纸币数据;
S20102:根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理;
所述目标算法序列为算法序列中与所述状态标识对应的一个算法序列,所述算法序列包括预处理算法序列和特定国别算法序列,所述预处理算法序列用于对纸币数据进行预处理;特定国别算法序列用于提取预处理后的纸币数据的目标识别信息。
本申请实施例中,纸币识别装置中的两个运算内核或者多个运算内核通过同时执行纸币数据的不同子算法来并行执行纸币识别处理步骤。即两个或者多个运算内核通过并行运行步骤S20101和步骤S20102来协调在同一时间内分别执行纸币识别算法序列中的不同子算法,从而提高纸币识别速度。S20101和S20102为任一运算内核执行纸币识别处理步骤的具体流程,详述如下:
在S20101中,运算内核从预设的纸币数据存储单元中读取纸币数据。该纸币数据包括一张纸币对应的图像信息、厚度信息和磁性信息等。具体地,每个运算内核在同一时间内获取的纸币数据为同一张纸币对应的纸币数据。即,在同一时间内,多个运算内核对同一纸币数据进行并行处理。
在S20102中,根据纸币数据的状态标识,确定当前该纸币数据需要执行的算法序列,即目标算法序列。之后,从该目标算法序列中获取待运行的子算法对该纸币数据进行处理。在每个算法序列(即由多个子算法组成的序列)中,当其中的一个子算法开始对纸币数据进行运行处理时,该子算法当前会被锁定,直至下一纸币数据重新开始纸币识别方法流程。即当该子算法正在对当前纸币数据进行处理或者该子算法已对当前纸币数据处理后,该子算法处于锁定状态,因此本申请实施例中待运行的子算法为尚未处于锁定状态的子算法。
本申请实施例中,纸币数据的状态标识表示该纸币数据在纸币识别过程中被运算处理的进度状态,即用于标识当前的纸币数据被运算到哪个算法序列节点。
本申请实施例中,目标算法序列为从算法序列中确定出的与该纸币数据的状态标识对应的算法序列,其中算法序列包括预处理算法序列和特定国别算法序列这两种算法序列。例如,当纸币数据的状态标识为第一状态时,确定当前所需执行的目标算法序列为预处理算法序列;当纸币数据的状态标识为第二状态时,确定当前所需执行的目标算法序列为特定国别算法序列。
具体地,预处理算法序列用于对纸币数据进行预处理,特定国别算法序列用于提取预处理后的纸币数据的目标识别信息。预处理算法序列是由多个预处理子算法组成的序列,通过该预处理算法序列可以依次对纸币数据执行预处理流程,最终使得该纸币数据能够进一步进行目标识别信息的识别。特定国别算法序列是由多个信息识别算法组成的序列,通过该特定国别算法序列可以依次对纸币数据进行各项信息的识别,最终得到目标识别信息。
每个运算内核并行循环执行上述S20101至S20102的纸币识别处理步骤,每次获取一个待运行的子算法对纸币数据进行处理,直至某一运算内核运算完最后一个算法序列(即特定国别算法序列)的最后一个子算法,即完成当前纸币数据的处理流程。
在S202中,当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,其中所述识别结果包含所述纸币数据的目标识别信息。
当检测到当前纸币数据的特定国别算法序列执行完毕时,即表示该纸币数据通过多个运算内核的并行运算后,已完成了该纸币数据的识别,得到了该纸币数据的目标识别信息。此时以该目标识别信息作为该纸币数据的识别结果输出。其中,该目标识别信息可以包括该纸币数据的真伪信息、冠字号信息、面额信息、版本信息等。
可选地,所述步骤S20102,包括:
A1:若检测到所述纸币数据对应的状态标识为第一状态,则获取预处理算法序列中待运行的子算法对所述纸币数据进行处理;当所述预处理算法序列执行完毕时,确定所述纸币数据对应的特定国别算法序列,并将所述纸币数据对应的状态标识设置为第二状态;
A2:若检测到纸币数据对应的状态标识为第二状态,则通过所述纸币数据对应的特定国别算法序列中待运行的子算法对所述纸币数据进行处理;当所述特定国别算法序列执行完毕时,得到所述纸币数据的目标识别信息,并将所述纸币数据对应的状态标识设置为第三状态;
对应地,所述步骤S202包括:
当检测到所述纸币数据对应的状态标识为第三状态时,得到所述纸币数据的识别结果。
本申请实施例中,纸币数据的初始状态为第一状态,即当纸币数据被采集存储在缓存区域等待被运算内核进行纸币识别处理步骤时,该纸币数据的状态标识为第一状态。
本申请实施例中,第一状态为所述纸币数据正等待进行预处理或者正处于中预处理中的状态标识;第二状态为纸币数据已完成预处理正等待进行目标识别信息识别处理正处于目标识别信息识别处理中的状态。
在A1中,运算内核获取到纸币数据后,若检测到该纸币数据对应的状态标识为第一状态,则获取预处理算法序列中待运行的子算法(即尚未被锁定的子算法)对该纸币数据进行处理。具体地,预处理算法序列中的子算法可以包括图像提取算法、图像增强算法、纸币面向判断算法(判断当前纸币为正面向上或者反面向上的算法)、识别纸币的国别币种的算法。
若当前的运算内核执行的是预处理算法序列中的最后一个子算法,则当该运算内核执行完该子算法时,表明所述预处理算法序列执行完毕,此时根据预处理算法序列处理后确定的该纸币数据的国别币种,从待选的国别算法序列中确定与该纸币数据的国别对应的特定国别算法序列,并将所述纸币数据对应的状态标识设置为第二状态。例如,若经过预处理识别到当前的纸币为人民币,则确定后续的特定国别算法序列为人民币识别算法序列;若经过预处理识别到当前的纸币为美元,则确定后续的特定国别算法序列为美元识别算法序列。具体地,确当前纸币数据对应的特定国别算法序列后,将该特定国别算法序列加载至纸币识别装置的所有运算内核共享的内存中,以便之后各个运算内核都能够获取该特定国别算法序列,协同运行特定国别算法序列中的子算法。
在A2中,运算内核获取到纸币数据后,若检测到该纸币数据对应的状态标识为第二状态,则获取特定国别算法序列中待运行的子算法对该纸币数据进行处理。具体地,该特别国别算法序列包括专门为当前纸币数据的国别币种设定的币值识别算法、纸币版本识别算法、纸币鉴伪算法、冠字号识别算法等。
若当前的运算内核执行的是特定国别算法序列中的最后一个子算法,则当该运算内核执行完该子算法时,该特定国别算法序列执行完毕,得到该纸币数据的目标识别信息,并将该纸币数据对应的状态标识设置为第三状态。具体地,该目标识别信息包括纸币数据的币值信息、纸币版本信息、纸币真伪信息、冠字号信息等。
对应地,当检测到当检测到所述纸币数据对应的状态标识为第三状态时,则说明当前的纸币数据已执行完特定国别算法序列,得到目标识别信息,因此输出包含该目标识别信息的识别结果。
本申请实施例中,每个运算内核获取纸币数据后具体根据纸币数据的状态标识选择执行步骤A1或者执行步骤A2来执行纸币识别处理步骤,从而有序地执行算法序列,提高纸币识别效率。
具体地,对于一个纸币数据,初始为第一状态,两个或者多个运算内核先协同有序地依次选择预处理算法序列中一个待运行的子算法对该纸币数据进行处理,直至预处理算法序列的子算法执行完毕,将该纸币数据的状态切换为第二状态;之后,两个或者多个运算内核再有序地根据特定国别识别算法序列中待运行的子算法对该纸币数据进行处理,直至特定国币识别算法序列中的子算法执行完毕,将该纸币数据的状态切换为第三状态。通过多个运算内核的协同并行执行纸币识别处理步骤,提高纸币识别效率。
可选地,所述步骤S20102,包括:
根据所述纸币数据的状态标识,确定目标算法序列;
从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理,若在处理过程中存在算法错误,则得到包含算法错误代码的所述识别结果。
本申请实施例中,确定了目标算法序列后,在根据目标算法序列中待运行的子算法对纸币数据进行处理的过程中,若存在算法错误,则返回算法错误代码,终止本运算内核对纸币数据的纸币识别处理步骤,并得到包含该算法错误代码的识别结果。
本申请实施例中,当某一运算内核存在算法错误时,终止该运算内核的纸币识别处理,直接返回算法错误代码作为识别结果,使得之后能够根据该识别结果获悉该纸币数据在识别时存在的异常情况,以便根据该识别结果进行算法维护。
可选地,所述预处理算法序列对应的算法错误代码为第一错误代码,所述特定国别算法序列对应的算法错误代码为第二错误代码,所述纸币识别方法还包括:
每隔预设时间统计一次所述识别结果;
若包含第一错误代码的所述识别结果的数量超过第一预设阈值,则指示更新所述预处理算法序列;
若包含第二错误代码的所述识别结果的数量超过第二预设阈值,则指示更新所述特定国别算法序列。
本申请实施例中,在每次对一个纸币数据识别结束之后,存储该纸币数据对应的识别结果。该识别结果可以为纸币数据正常识别后得到的包含目标识别信息的识别结果,也可以为识别异常得到包含算法错误代码的识别结果。本申请实施例中,将在预处理算法序列中存在算法错误时返回的错误代码统称为第一错误代码,将在特定国别算法序列中存在算法错误时返回的错误代码统称为第二错误代码。
本申请实施例中,纸币识别装置每隔预设时间统计一次识别结果,例如每隔一天统计在一天内得到的所有纸币数据的识别结果。
若统计得到的识别结果中,包含第一错误代码的识别结果的数量超过第一预设阈值,则指示更新预处理算法序列。具体地,可以通过发送通知信息至目标管理终端,以使管理人员能够根据该通知信息来维护更新该预处理算法序列;或者,纸币识别装置也可以从自身的算法备份区或者服务器中自动重新获取新的预处理算法序列,以更新本端的预处理算法序列。可选地,根据第一错误代码中包含的各个错误代码,确定需要预处理算法序列中与各个错误代码分别对应的子算法,依次更新这些子算法,从而完成预处理算法序列的更新;或者不查询第一错误代码中具体各个错误代码分别对应的子算法,直接更新一整个预处理算法序列。
同样地,若统计得到的识别结果中,包含第二错误代码的识别结果的数量超过第二预设阈值,则指示更新特定国别算法序列,其更新方法与预处理算法序列的更新方法类似。
本申请实施例中,由于能够每隔预设时间自动统计识别结果,并根据该识别结果的统计情况来指示更新存在错误的预处理算法序列或者特定国别算法序列,因此能够及时地维护纸币识别装置的算法,保证纸币识别方法能够稳定有效地执行。
可选地,在所述步骤S201之前,还包括:
获取国别算法导入指令,导入新增的特定国别算法序列。
本申请实施例中,纸币识别装置可以按照需要导入新的特定国别算法序列。具体地,通过接收管理人员在纸币识别装置上的操作,或者通过接收管理人员通过其它终端向纸币识别装置发送的指令,获取该国别算法导入指令。该国别算法导入指令包含新增的特定国别算法序列,或者包含新增的特定国别算法序列的导入地址,根据该国别算法导入指令,导入新增的特定国别算法序列。例如,设本申请实施例的纸币识别装置原本只装载了人民币识别算法序列和美元识别算法序列,只能用于识别人民币和美元这两种国别币种;若该纸币识别装置需要扩展功能,让其能够识别日元,则可以获取国别算法导入指令,导入新增的日元识别算法序列。
本申请实施例中,由于能够根据需要导入新增的特定国别算法序列,因此能够提高纸币识别方法的扩展性及灵活性。
本申请实施例中,一方面,由于通过至少两个运算内核执行不同的子算法来实现并行执行纸币识别处理步骤,因此能够提高纸币识别的效率;另一方面,将纸币识别处理中原来所用的一整套完整算法分割为预处理算法序列和国别算法序列,将不同的算法处理部分解耦,从而提高算法的稳定性;并且由于通过设置纸币数据的状态标识,根据该状态标识来指示运算内核执行对应的目标算法序列,因此使得多个运算内核能够更加高效有序地执行算法序列,从而提高纸币识别的效率。
实施例二:
图3示出了本申请实施例提供的第二种纸币识别方法的流程示意图,本申请实施例中的纸币识别方法的执行主体为包含至少两个运算内核的纸币识别装置,该纸币识别方法详述如下:
在S301中,通过主核采集预设数量的纸币的信息,得到纸币数据集,并获取所述纸币数据集对应的存储地址;所述主核为所述至少两个运算内核中提前设定的运算内核,除所述主核以外的运算内核为从核。
本申请实施例中,纸币识别装置的运算内核由提前设定的主核和除所述主核以外的从核组成。在进行纸币识别处理步骤之前,通过主核采集预设数量的纸币的信息,得到纸币数据集。例如本次用户输入的纸币数量为10,则该预设数量为10,通过主核采集输入的10张纸币的信息,得到纸币数据集,该纸币数据集由10个纸币数据组成。将采集得到纸币数据集进行缓存,得到该纸币数据集即对应的存储地址,该存储地址包括纸币数据集中每个纸币数据对应的数据地址。
在S302中,所述主核将所述存储地址传送至从核。
主核将纸币数据集对应的存储地址传送至从核,从核缓存该存储地址,以便之后从核能够根据该存储地址进行读取纸币数据进行纸币识别处理。
在S303中,通过所述至少两个运算内核并行执行纸币识别处理步骤,所述纸币识别处理步骤包括:根据所述存储地址,读取所述纸币数据;根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理。
本申请实施例中,纸币识别处理步骤中纸币数据的获取具体是根据步骤S301和步骤S302得到存储地址进行一个纸币数据的读取。其余部分与实施例一中的步骤S201相同,具体请参见实施例一中步骤S201的描述,此处不赘述。
在S304中,当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,其中所述识别结果包含所述纸币数据的目标识别信息。
本申请实施例中的步骤S304与实施例一中的步骤S202相同,具体请参见实施例一中步骤S202的描述,此处不赘述。
可选地,若当前得到所述识别结果的运算内核为所述从核,则将所述识别结果传送至主核,通过所述主核输出所述纸币数据的识别结果。
本申请实施例中的识别结果包含目标识别信息或者算法错误代码,若当前得到该识别结果的运算内核为从核,则将该识别结果传送至主核,由该主核输出纸币数据的识别结果。若当前得到识别结果的运算内核为主核,则直接由该主核输出纸币数据的识别结果。即,本申请实施例中,无论该纸币数据的最后一个纸币识别运算节点在哪个运算内核结束,都由主核来输出该识别结果,从而更好地划分、协调主核和从核的功能,以进一步保证纸币识别的效率及稳定性。可选地,通过主核输出纸币数据的识别结果具体为:通过主核将纸币数据的识别结果输出到纸币识别装置的显示单元,显示该识别结果;或者,具体为,通过主核将纸币数据的识别结果传送至到其它终端中。
本申请实施例中,由于将运算内核划分为主核和从核,指定由主核进行数据采集、识别结果输出等需要其它单元交互的步骤,因此能够更好地划分、协调主核和从核的功能,以进一步保证纸币识别的效率及稳定性。
示例性地,为了便于进一步理解,本申请实施例给出了一种包含两个运算内核的纸币识别装置执行纸币识别方法时的内部交互示意图,如图4所示。其中,运算内核CORE0为主核,运算内核CORE1为从核,其中CORE0负责执行纸币信息采集以及输出纸币结果的步骤,且CORE0与CORE1并行运行所述纸币识别处理步骤。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例三:
图5示出了本申请实施例提供的一种纸币识别装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分:
该纸币识别装置包括:纸币识别处理单元51及识别结果获取单元52。其中:
纸币识别处理单元51,用于通过所述至少两个运算内核并行执行纸币识别处理步骤。
其中,每个运算内核通过数据获取模块及算法运行模块执行所述纸币识别处理步骤:
所述数据获取模块,用于获取纸币数据;
所述算法运行模块,用于根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理;所述目标算法序列为算法序列中与所述状态标识对应的一个算法序列,所述算法序列包括预处理算法序列和特定国别算法序列,所述预处理算法序列用于对纸币数据进行预处理;所述特定国别算法序列用于提取预处理后的纸币数据的目标识别信息。
识别结果获取单元52,用于当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,其中所述识别结果包含所述纸币数据的目标识别信息。
可选地,所述算法运行模块,具体包括第一运行模块和第二运行模块:
第一运行模块,用于若检测到所述纸币数据对应的状态标识为第一状态,则获取预处理算法序列中待运行的子算法对所述纸币数据进行处理;当所述预处理算法序列执行完毕时,确定所述纸币数据对应的特定国别算法序列,并将所述纸币数据对应的状态标识设置为第二状态;
第二运行模块,用于若检测到纸币数据对应的状态标识为第二状态,则通过所述纸币数据对应的特定国别算法序列中待运行的子算法对所述纸币数据进行处理;当所述特定国别算法序列执行完毕时,得到所述纸币数据的目标识别信息,并将所述纸币数据对应的状态标识设置为第三状态;
对应地,所述识别结果获取单元52,用于当检测到所述纸币数据对应的状态标识为第三状态时,得到所述纸币数据的识别结果。
可选地,所述算法运行模块,包括确定模块和错误识别模块:
确定模块,用于根据所述纸币数据的状态标识,确定目标算法序列;
错误识别模块,用于从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理,若在处理过程中存在算法错误,则得到包含算法错误代码的所述识别结果。
可选地,所述预处理算法序列对应的算法错误代码为第一错误代码,所述特定国别算法序列对应的算法错误代码为第二错误代码,所述纸币识别装置还包括:
统计单元,用于每隔预设时间统计一次所述识别结果;
第一指示单元,用于若包含第一错误代码的所述识别结果的数量超过第一预设阈值,则指示更新所述预处理算法序列;
第二指示单元,用于若包含第二错误代码的所述识别结果的数量超过第二预设阈值,则指示更新所述特定国别算法序列。
可选地,所述纸币识别装置还包括:
采集单元,用于通过主核采集预设数量的纸币的信息,得到纸币数据集,并获取所述纸币数据集对应的存储地址;所述主核为所述至少两个运算内核中提前设定的运算内核,除所述主核以外的运算内核为从核;
第一传送单元,用于所述主核将所述存储地址传送至从核,以使从核缓存所述存储地址;
对应地,所述数据获取单元511,具体用于根据所述存储地址,读取所述纸币数据
可选地,所述纸币识别装置,还包括:
第二传送单元,用于若当前得到所述识别结果的运算内核为所述从核,则将所述识别结果传送至主核,通过所述主核输出所述纸币数据的识别结果。
可选地,所述纸币识别装置,还包括:
导入单元,用于获取国别算法导入指令,导入新增的特定国别算法序列。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例四:
图6是本申请一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如纸币识别程序。所述处理器60执行所述计算机程序62时实现上述各个纸币识别方法实施例中的步骤,例如图2所示的步骤201至202。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元51至52的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。例如,所述计算机程序62可以被分割成纸币识别处理单元和识别结果获取单元,具体功能如下:
纸币识别处理单元,用于通过所述至少两个运算内核并行执行纸币识别处理步骤;其中每个运算内核通过数据获取模块及算法运行模块执行所述纸币识别处理步骤:所述数据获取模块,用于获取纸币数据;所述算法运行模块,用于根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理;所述目标算法序列为算法序列中与所述状态标识对应的一个算法序列,所述算法序列包括预处理算法序列和特定国别算法序列,所述预处理算法序列用于对纸币数据进行预处理;所述特定国别算法序列用于提取预处理后的纸币数据的目标识别信息。
识别结果获取单元,用于当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,其中所述识别结果包含所述纸币数据的目标识别信息。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述/终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。具体地,该处理器60为双核或者多核处理器。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (8)
1.一种纸币识别方法,其特征在于,所述方法应用于包含至少两个运算内核的纸币识别装置,所述纸币识别方法包括:
通过所述至少两个运算内核并行执行纸币识别处理步骤,所述纸币识别处理步骤包括:获取纸币数据;根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理;所述目标算法序列为算法序列中与所述状态标识对应的一个算法序列,所述算法序列包括预处理算法序列和特定国别算法序列,所述预处理算法序列用于对纸币数据进行预处理;所述特定国别算法序列用于提取预处理后的纸币数据的目标识别信息;其中,在每个算法序列中,当其中的一个子算法开始对所述纸币数据进行运行处理时,该子算法当前被锁定;
当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,其中所述识别结果包含所述纸币数据的目标识别信息;
所述纸币识别处理步骤之前,还包括:
通过主核采集预设数量的纸币的信息,得到纸币数据集,并获取所述纸币数据集对应的存储地址;所述主核为所述至少两个运算内核中提前设定的运算内核,除所述主核以外的运算内核为从核;
所述主核将所述存储地址传送至从核,以使从核缓存所述存储地址;
所述获取纸币数据,包括:
根据所述存储地址,读取所述纸币数据;
所述纸币识别处理步骤,还包括:
若当前得到所述识别结果的运算内核为所述从核,则将所述识别结果传送至主核,通过所述主核输出所述纸币数据的识别结果;若当前得到所述识别结果的运算内核为所述主核,则直接由所述主核输出所述纸币数据的识别结果。
2.如权利要求1所述的纸币识别方法,其特征在于,所述根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理,包括:
若检测到所述纸币数据对应的状态标识为第一状态,则获取预处理算法序列中待运行的子算法对所述纸币数据进行处理;当所述预处理算法序列执行完毕时,确定所述纸币数据对应的特定国别算法序列,并将所述纸币数据对应的状态标识设置为第二状态;
若检测到纸币数据对应的状态标识为第二状态,则通过所述纸币数据对应的特定国别算法序列中待运行的子算法对所述纸币数据进行处理;当所述特定国别算法序列执行完毕时,得到所述纸币数据的目标识别信息,并将所述纸币数据对应的状态标识设置为第三状态;
对应地,所述当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,包括:
当检测到所述纸币数据对应的状态标识为第三状态时,得到所述纸币数据的识别结果。
3.如权利要求1所述的纸币识别方法,其特征在于,所述根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理,包括:
根据所述纸币数据的状态标识,确定目标算法序列;
从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理,若在处理过程中存在算法错误,则得到包含算法错误代码的所述识别结果。
4.如权利要求3所述的纸币识别方法,其特征在于,所述预处理算法序列对应的算法错误代码为第一错误代码,所述特定国别算法序列对应的算法错误代码为第二错误代码,对应地,所述纸币识别方法还包括:
每隔预设时间统计一次所述识别结果;
若包含第一错误代码的所述识别结果的数量超过第一预设阈值,则指示更新所述预处理算法序列;
若包含第二错误代码的所述识别结果的数量超过第二预设阈值,则指示更新所述特定国别算法序列。
5.如权利要求1所述的纸币识别方法,其特征在于,在所述纸币识别处理步骤之前,还包括:
获取国别算法导入指令,导入新增的特定国别算法序列。
6.一种纸币识别装置,其特征在于,所述纸币识别装置包含至少两个运算内核,所述纸币识别装置包括:
纸币识别处理单元,用于通过所述至少两个运算内核并行执行纸币识别处理步骤;其中每个运算内核通过数据获取模块及算法运行模块执行所述纸币识别处理步骤:所述数据获取模块,用于获取纸币数据;所述算法运行模块,用于根据所述纸币数据的状态标识,确定目标算法序列,并从所述目标算法序列中获取待运行的子算法对所述纸币数据进行处理;所述目标算法序列为算法序列中与所述状态标识对应的一个算法序列,所述算法序列包括预处理算法序列和特定国别算法序列,所述预处理算法序列用于对纸币数据进行预处理;所述特定国别算法序列用于提取预处理后的纸币数据的目标识别信息;其中,在每个算法序列中,当其中的一个子算法开始对所述纸币数据进行运行处理时,该子算法当前被锁定;
识别结果获取单元,用于当所述纸币数据的特定国别算法序列执行完毕时,得到所述纸币数据的识别结果,其中所述识别结果包含所述纸币数据的目标识别信息;
采集单元,用于通过主核采集预设数量的纸币的信息,得到纸币数据集,并获取所述纸币数据集对应的存储地址;所述主核为所述至少两个运算内核中提前设定的运算内核,除所述主核以外的运算内核为从核;
第一传送单元,用于所述主核将所述存储地址传送至从核,以使从核缓存所述存储地址;
第二传送单元,用于若当前得到所述识别结果的运算内核为所述从核,则将所述识别结果传送至主核,通过所述主核输出所述纸币数据的识别结果;若当前得到所述识别结果的运算内核为所述主核,则直接由所述主核输出所述纸币数据的识别结果
所述数据获取单元,具体用于:根据所述存储地址,读取所述纸币数据。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,使得终端设备实现如权利要求1至5任一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,使得终端设备实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224445.3A CN113255672B (zh) | 2020-03-26 | 2020-03-26 | 纸币识别方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224445.3A CN113255672B (zh) | 2020-03-26 | 2020-03-26 | 纸币识别方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113255672A CN113255672A (zh) | 2021-08-13 |
CN113255672B true CN113255672B (zh) | 2023-06-02 |
Family
ID=77220414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010224445.3A Active CN113255672B (zh) | 2020-03-26 | 2020-03-26 | 纸币识别方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113255672B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462338A (zh) * | 2014-12-03 | 2015-03-25 | 北京国双科技有限公司 | 网络搜索引擎系统中的数据处理方法和装置 |
CN107767536A (zh) * | 2016-08-19 | 2018-03-06 | 北京新岸线软件科技有限公司 | 一种纸币号码识别及管理方法和系统 |
CN108496200A (zh) * | 2016-01-25 | 2018-09-04 | 皇家飞利浦有限公司 | 图像数据预处理 |
CN108765690A (zh) * | 2018-04-28 | 2018-11-06 | 深圳怡化电脑股份有限公司 | 图像传感器数据处理方法、装置、系统及自助金融设备 |
CN109933485A (zh) * | 2017-12-18 | 2019-06-25 | 中国科学院沈阳自动化研究所 | 一种用于算法执行与监控的调度方法 |
-
2020
- 2020-03-26 CN CN202010224445.3A patent/CN113255672B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462338A (zh) * | 2014-12-03 | 2015-03-25 | 北京国双科技有限公司 | 网络搜索引擎系统中的数据处理方法和装置 |
CN108496200A (zh) * | 2016-01-25 | 2018-09-04 | 皇家飞利浦有限公司 | 图像数据预处理 |
CN107767536A (zh) * | 2016-08-19 | 2018-03-06 | 北京新岸线软件科技有限公司 | 一种纸币号码识别及管理方法和系统 |
CN109933485A (zh) * | 2017-12-18 | 2019-06-25 | 中国科学院沈阳自动化研究所 | 一种用于算法执行与监控的调度方法 |
CN108765690A (zh) * | 2018-04-28 | 2018-11-06 | 深圳怡化电脑股份有限公司 | 图像传感器数据处理方法、装置、系统及自助金融设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113255672A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107492215B (zh) | 在atm机共享钞票的方法及atm终端 | |
CN111179066B (zh) | 业务数据的批量处理方法、装置、服务器和存储介质 | |
CN108091033B (zh) | 一种纸币的识别方法、装置、终端设备和存储介质 | |
CN111738709B (zh) | 交易处理方法及装置 | |
CN108665603B (zh) | 识别纸币币种的方法、装置及电子设备 | |
CN111460098B (zh) | 文本匹配方法、装置及终端设备 | |
CN108133540B (zh) | 钞箱内纸币数量异常的检测方法、检测装置及电子设备 | |
CN109800745B (zh) | 票据检测方法、装置、终端及计算机可读存储介质 | |
CN113255672B (zh) | 纸币识别方法、装置及终端设备 | |
CN107610367B (zh) | 一种票据处理装置、方法及自助金融设备、终端设备 | |
CN107705414A (zh) | 一种纸币的识别方法、装置、终端设备和存储介质 | |
CN111210345B (zh) | 一种基于区块链网络交易的签名方法、装置及终端设备 | |
CN108109284B (zh) | 存款业务处理方法、设备及计算机可读存储介质 | |
CN101452588B (zh) | 钞票识别系统及具有该系统的钞票识别方法 | |
CN108960111B (zh) | 人脸识别方法、系统及终端设备 | |
CN107958535B (zh) | 一种纸币信息的获取方法、获取装置及终端设备 | |
CN108648330B (zh) | 存取款管理方法、存取款管理装置及自助终端 | |
CN107464334A (zh) | 纸币的识别方法、识别装置及终端设备 | |
CN108470404B (zh) | 用于读卡器的闸门控制方法、装置、金融设备及存储介质 | |
CN108961039B (zh) | 交易处理方法、装置及系统 | |
CN107680245B (zh) | 一种纸币图像处理方法、纸币图像处理装置及电子设备 | |
CN108665611B (zh) | 纸币处理方法、纸币处理装置及电子设备 | |
CN108091080B (zh) | 钞箱管理方法、钞箱管理装置及电子设备 | |
CN107067010B (zh) | 一种去除图像轮廓噪声点的方法和相关装置 | |
CN111507397A (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 |