CN111046695B - 图像识别方法、设备及系统 - Google Patents
图像识别方法、设备及系统 Download PDFInfo
- Publication number
- CN111046695B CN111046695B CN201811184199.2A CN201811184199A CN111046695B CN 111046695 B CN111046695 B CN 111046695B CN 201811184199 A CN201811184199 A CN 201811184199A CN 111046695 B CN111046695 B CN 111046695B
- Authority
- CN
- China
- Prior art keywords
- data
- computing devices
- image recognition
- identified
- identification
- 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 50
- 238000004422 calculation algorithm Methods 0.000 claims description 33
- 230000002159 abnormal effect Effects 0.000 claims description 25
- 238000013473 artificial intelligence Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 19
- 239000013598 vector Substances 0.000 description 41
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 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/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- 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/96—Management of image or video recognition tasks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种图像识别方法、设备及系统。所述方法包括:图像识别设备获取待识别数据;向多个计算设备发送待识别数据,图像识别设备与多个计算设备通过第一协议通信;图像识别设备接收多个计算设备发送的至少一个识别结果;图像识别设备根据至少一个识别结果,确定待识别数据的识别结果。以此解决图像识别过程耗时较长的问题,提高图像识别的效率。
Description
技术领域
本申请涉及电子技术领域,特别涉及一种图像识别方法、设备及系统。
背景技术
随着电子技术的发展,图像识别,尤其是人脸图像识别的应用越来越广。
用于进行人脸图像识别的图像识别设备设置有一人脸图像数据库,该人脸图像数据库中存储有多个参考人脸图像和每个图像对应的特征向量,每个参考人脸特征向量与一标签对应,标签用于标识参考人脸特征向量所对应的人,如该标签为“张三”。
图像识别设备在对目标图像进行人脸图像识别时,主要是在人脸图像数据库中确定与目标图像相似度最高的目标参考数据的过程。示例的,可以确定表征目标图像中人脸的目标人脸特征向量,并在人脸图像数据底库中确定与该目标人脸特征向量相似度最高的目标参考人脸特征向量,进而可以将该相似度最高的目标参考人脸特征向量对应的标签确定为目标图像的标签,这样便完成了目标图像的识别。
传统的图像识别设备由一个人工智能(artificial intell igence,AI)芯片和一个或多个中央处理器(central processing unit,CPU)组成。该AI芯片需要计算待识别图像和数据库中所有图像的相似度,最终确定相似度最高的图像为识别结果。但是,上述处理过程存在计算耗时长的问题。如何提供一种高速有效的图像识别方法成为亟待解决的问题。
发明内容
本申请提供了一种图像识别方法、设备及系统,可以解决图像识别过程耗时较长的问题,提高图像识别的效率。
第一方面,本申请提供一种图像识别方法,该方法包括:首先,图像识别设备获取待识别数据;然后,图像识别设备向多个计算设备发送所述待识别数据,图像识别设备与各个计算设备通过第一协议通信;再接收各个计算设备发送的至少一个识别结果;最后,再根据接收的至少一个识别结果,确定待识别数据的识别结果。由于本申请中待识别数据的识别结果是根据多个计算设备确定的至少一个识别结果得出的,故待识别数据的识别结果的准确率较高,且图像识别效率较高。
作为一种可能的实现方式,图像识别设备将原始数据库中的数据划分成至少两个集合,并将每个集合分配给多个计算设备中的一个计算设备,此时该至少一个识别结果为:多个计算设备中每个计算设备采用比对算法分别对分配的一个集合的数据和待识别数据进行比对获得的,每个计算设备使用的比对算法相同。
由于每个计算设备采用的比对算法均相同,避免了不同计算设备对相同的原始数据与待识别数据进行比对得出的识别结果不同,保证了各个计算设备得出的至少一个识别结果中必然存在超过半数的识别结果,确保可以采用少数服从多数的思想确定待识别数据的识别结果。
作为另一种可能的实现方式,计算设备的个数为n,n≥3,图像识别设备将原始数据库中的数据划分成至少两个集合,包括:图像识别设备将原始数据库中的数据划分为与n个计算设备一一对应的n个集合,其中,每个集合包括原始数据库中的部分数据,对于原始数据库中的每个数据,在n个集合中至少存在与数据相同的a个数据,a为大于n/2的最小正整数。由于计算设备较多,且每个计算设备需处理的数据为原始数据库中的部分数据,故进行图像识别的耗时较短,图像识别的速度较快。
作为另一种可能的实现方式,n个集合中任意n-x个集合至少包括原始数据库中的全部数据,1≤x≤n-1,当n个计算设备均处于正常工作状态时,该至少一个识别结果包括:n个计算设备中每个计算设备采用比对算法分别对分配的一个集合的数据和待识别数据进行比对,确定的n个识别结果;当n个计算设备中存在k1个计算设备处于异常工作状态时,该至少一个识别结果包括:n-k1个计算设备中每个计算设备采用比对算法分别对分配的一个集合中的数据与待识别数据进行比对,确定的n-k1个识别结果,n-k1个计算设备为n个计算设备中除该k1个计算设备之外的计算设备,1≤k1≤x。
由于图像识别设备划分的n个集合中存在任意n-x个集合至少包括原始数据库中的全部数据,故即使存在处于异常工作状态的计算设备,图像识别系统仍然可以正常地进行图像识别,且在处于异常工作状态的计算设备恢复正常工作状态后,其上存储的集合可以快速地恢复,故图像识别系统的可靠性较高。
作为另一种可能的实现方式,图像识别设备根据该至少一个识别结果,确定待识别数据的识别结果,包括:当n个计算设备均处于正常工作状态时,图像识别设备统计n个识别结果中相同的识别结果的个数,并将个数大于n/2的识别结果,确定为待识别数据的识别结果。
作为另一种可能的实现方式,原始数据库中的数据与待识别数据的数据类型相同,且均按照相同的采集方式得到,数据类型用于指示数据的格式,图像识别设备根据该至少一个识别结果,确定待识别数据的识别结果,包括:当n个计算设备中存在k1个计算设备处于异常工作状态时,图像识别设备统计n-k1个识别结果中相同的识别结果的个数;当n-k1个识别结果中存在相同的识别结果的个数大于n/2时,图像识别设备将个数大于n/2的识别结果确定为待识别数据的识别结果;当n-k1个识别结果中不存在相同的识别结果的个数大于n/2时,图像识别设备将n-k1个识别结果中与待识别数据相似度最高的识别结果,确定为待识别数据的识别结果。
由于图像识别设备可以仅确定该至少一个识别结果中多于半数的识别结果就可以确定待识别数据的识别结果,无需再进行一次相似度的计算,故图像识别的识别过程较为简便,识别效率较高。
作为另一种可能的实现方式,原始数据库中数据的总数为m,图像识别设备将原始数据库中的数据划分为与n个计算设备一一对应的n个集合,包括:图像识别设备确定每个集合中数据的个数L,L满足≤M, 表示向上取整;接着按照预置顺序以及每个集合中数据的个数L,将原始数据库中的数据依次划分为与n个计算设备一一对应的n个集合;其中,n个集合中数据的总数为m的整数倍。图像识别设备划分的n个集合中数据的总数可以为原始数据库中原始数据的个数的整数倍,也即是可以使该n个集合包括的数据总个数取最小值,以使得计算设备处理的数据量较小,提高了图像识别速率。
作为另一种可能的实现方式,计算设备包括人工智能AI芯片,计算设备的个数为奇数。
作为另一种可能的实现方式,该方法还包括:图像识别设备在该k1个计算设备中的某一计算设备恢复正常工作状态后,基于n-k1个计算设备中的集合,恢复某一计算设备中的集合。
作为另一种可能的实现方式,原始数据库中的数据与待识别数据类型相同,且均按照相同的采集方式得到,该至少一个识别结果中每个识别结果为:一个计算设备确定的向其分配的一个集合中与待识别数据相似度最高的数据。
作为另一种可能的实现方式,原始数据库中的数据与待识别数据均为特征向量,每个与待识别数据相似度最高的数据为:一个计算设备采用支持向量聚类算法,确定的向其分配的一个集合中与待识别数据的欧氏距离最小的数据。
作为另一种可能的实现方式,待识别数据为人脸特征向量。
作为另一种可能的实现方式,原始数据库中的数据与多个标签分别对应,该方法还包括:图像识别设备将待识别数据的识别结果对应的标签,确定为待识别数据的标签。
第二方面,本申请提供一种图像识别设备,该图像识别设备包括用于执行第一方面或第一方面任一种可能实现方式中的图像识别方法的各个模块。
第三方面,本申请提供一种图像识别系统,该图像识别系统包括:多个计算设备以及第二方面所述的图像识别设备。
第四方面,本申请提供一种图像识别设备,该图像识别设备包括处理器、存储器、通信接口、总线,处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,存储器中用于存储计算机执行指令,图像识别设备运行时,处理器执行存储器中的计算机执行指令以利用图像识别设备中的硬件资源执行第一方面或第一方面任一种可能实现方式中所述方法的操作步骤。
第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第六方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是本发明实施例提供的一种图像识别系统的结构示意图;
图2是本发明实施例提供的一种服务器的结构示意图;
图3是本发明实施例提供的一种图像识别方法的流程图;
图4是本发明实施例提供的一种图像识别设备的结构示意图;
图5是本发明实施例提供的另一种图像识别设备的结构示意图;
图6是本发明实施例提供的一种确定模块的结构示意图;
图7是本发明实施例提供的另一种确定模块的结构示意图。
具体实施方式
下面将结合附图对本申请实施方式作进一步地详细描述。
本发明实施例提供了一种图像识别系统,如图1所示,该图像识别系统10包括:多个计算设备101和至少一个图像识别设备102,图1中以图像识别系统10包括三个计算设备101与一个图像识别设备102为例。该图像识别系统10可以与图像输入设备20建立通信连接,以接收图像输入设备20传输的待处理的数据并对该数据进行处理,示例地,图像识别系统10可以通过其中的图像识别设备102采用第一协议与图像输入设备20进行通信,该图像输入设备20可以为服务器或终端(如手机、计算机或相机等)。
图像识别系统10中的图像识别设备102可以与每个计算设备101建立通信连接,计算设备101可以包括AI芯片。示例地,该图像识别系统10中的计算设备101可以为服务器中的AI芯片,图像识别设备102可以为服务器中的中央处理器。可选地,图像识别系统10可以为AI盒子集群,该计算设备101可以为AI盒子集群中处于备用状态的AI盒子,该图像识别设备102可以为该AI盒子集群中处于主用状态的AI盒子,或者该图像识别设备102还可以为该AI盒子集群中的数据中心,如该AI盒子集群中存储数据的设备;或者该图像识别系统10还可以为服务器集群,该计算设备101可以为该服务器集群中的从节点,该图像识别设备102可以为该服务器集群的主节点,该主节点和从节点均可以为一个服务器,或其他具有存储功能和计算功能的设备,本发明实施例对此不作限定。其中,AI盒子是指将至少一个AI芯片部署在同一个物理设备中,该物理设备还包括处理器、存储器。AI盒子可以理解为带有至少一个AI芯片的小型服务器。
如图2所示,若图像识别系统10包括多个服务器组成的服务器集群,每个服务器包括:处理器1301、网络接口1302、存储器1303、总线1304和至少一个人工智能芯片1305。此时,计算设备101与图像识别设备102的结构均可以如图2所示。总线1304用于实现处理器1301、网络接口1302和存储器1303之间的通信连接,存储器1303与网络接口1302可以分别通过总线1304与处理器1301相连。处理器1301与人工智能芯片1305用于执行存储器1303中存储的可执行模块,例如计算机程序。该处理器1301可以包括中央处理器。该人工智能芯片可以包括嵌入式神经网络处理器(neural-network processing unit,NPU),该人工智能芯片1305可以对较多的数据进行快速地处理。存储器1303可能包含高速随机存取存储器(random access memory,RAM),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。该图像识别系统10可以通过该至少一个网络接口1302实现与其他装置之间的通信连接。示例地,上述通信连接均可以通过有线网络或者无线网络连接,其中,有线网络可以包括但不限于:采用通用串行总线(universal serial bus,USB)、同轴电缆、双绞线或光纤等来连接的计算机网络,无线网络可以包括但不限于:无线保真(wireless fidelity,WIFI)、蓝牙、红外、紫蜂(Zigbee)、数据网络等。
值得说明的是,图2中所示服务器中处理器1301的个数,以及每个处理器中处理器核的个数可以为一个或多个,本发明不作限制。另外,人工智能芯片1305和网络接口1302的个数均可以为一个或多个,本发明不作限制。
可选地,若图像识别系统10包括AI盒子集群,则该图像识别系统10中的计算设备101和图像识别设备102也可以如图2所示的结构,或者图像识别系统10中的计算设备101可以如图2所示的结构,图像识别设备102可以仅包括处理器、网络接口、存储器和总线,本发明实施例对此不做限定。
该图像识别系统10中的图像识别设备102可以从图像输入设备20获取待识别数据,且向每个计算设备101输入该待识别数据,进而计算设备101可以对该待识别数据进行处理,且输出识别结果;之后图像识别设备102可以对计算设备101输出的识别结果进行进一步地处理,得到该待识别数据的识别结果,进而将该待识别数据的识别结果发送给图像输入设备20。
示例地,原始数据库中可以存储有多个原始数据,根据该原始数据可以对待识别数据进行识别。图像识别设备102可以获取原始数据库中的原始数据,且将该原始数据分配给多个计算设备101,进而计算设备101可以对待识别数据与分配给其的原始数据进行处理。如计算设备可以将待识别数据与原始数据库中分配给该计算设备101的数据进行比对,以确定原始数据库中与待识别数据最相似的数据,进而将该最相似的数据传输给图像识别设备102,进而图像识别设备102可以根据该最相似的数据确定待识别数据的识别结果。若该待识别数据与该原始数据库中的数据均为人脸特征向量,则图像识别设备102在确定待识别数据的识别结果后,就可以确定该识别结果表征的人脸即为该待识别数据表征的人脸,也即是该两张人脸属于同一人。
本发明实施例中,图像识别系统可以包括多个计算设备,每个计算设备均可以包括AI芯片,且图像识别设备可以将原始数据库中的数据分配给该多个计算设备分别进行计算,故每个计算设备处理的数据量较小,图像识别系统对待处理数据的处理效率较高。
作为一个可能的实施例,图像识别系统10中图像识别设备102也可以包括由多个服务器组成的数据中心,数据中心中服务器用于完成下述图像识别设备的处理,多个计算设备101通过网络与数据中心中服务器连接。
图3是本发明实施例提供的一种图像识别方法的流程图。该方法可以应用于图1所示的图像识别系统10,如图3所示,该方法可以包括:
步骤301、图像识别设备将原始数据库中的数据划分成与n个计算设备一一对应的n个集合。
需要说明的是,图像识别设备中可以预先部署有原始数据库,或者与图像识别设备相连接的其他存储设备中可以部署有该原始数据库。该原始数据库可以包括多个原始数据,每个原始数据均可以用于表征一个对象,每个原始数据均可以与一个标签对应,该标签可以标识该原始数据表征的对象。示例地,该原始数据可以为人脸图像对应的特征向量,该原始数据对应的标签可以为其表征的人脸所属的人的姓名,如某原始数据对应的标签为“张三”,也即是该原始数据表征张三的人脸特征。
原始数据库中的原始数据均可以为采用预设的特征提取算法提取得到的,该特征提取的过程可以由图像识别设备所执行,也可以由其他处理器执行,本发明实施例仅以图像识别设备执行该过程为例。
示例地,图像识别设备可以先获取已知信息的多个人的人脸图像,再提取表征各个人的人脸特征的人脸特征向量,如可以先采用基于人脸智能框架(tensorflow)的人脸识别网络(facenet),通过多任务级联卷积网络(multi-task cascaded convolutionalnetworks,MTCNN)算法在人脸图像中框取人脸,再使用facenet算法对框取的人脸进行特征提取,得到表征该人脸的特征的人脸特征向量。接着,图像识别设备就可以将该人脸特征向量作为一个原始数据存储在原始数据库中,并可以将该人脸特征向量表征的人脸所属于的人的信息(如姓名)作为该原始数据对应的标签。可选地,该标签与原始数据的对应关系可以与该原始数据一同存储在原始数据库中,也可以存储在其他位置,本发明实施例对此不做限定。需要说明的是,若图像识别设备采用的特征提取算法不同,则得到的人脸特征向量长度也不同。例如采用facenet算法可以提取1792维的人脸特征向量,采用其他算法也可以得到512维的人脸特征向量,且人脸特征向量中数值的大小可以与人脸图像的像素相关。
图像识别系统中计算设备的个数可以为n,如n≥3。图像识别设备可以将该原始数据库中的原始数据划分为与n个计算设备一一对应的n个集合,并将每个集合存储入其对应的计算设备。例如,该计算设备可以包括人工智能芯片,该计算设备的个数可以为奇数,如3、5或7等。
其中,划分得到的每个集合均包括原始数据库中的部分原始数据,且每个集合中包括不同的数据,也即是对于该n个集合中的任一集合,同一集合中不存在相同的两个数据。对于原始数据库中的每个原始数据来说,在该n个集合中至少存在与该原始数据相同的a个数据,其中a为大于n/2的最小正整数。
假设原始数据库中数据的总数为m,则图像识别设备可以先确定每个集合中数据的个数L,且L满足≤M, 表示向上取整,之后图像识别设备可以按照预置顺序,以及每个集合中原始数据的个数L,将该原始数据库中的原始数据依次划分为与该n个计算设备一一对应的n个集合。需要说明的是,本发明实施例以/>为例,此时可以使划分得到的n个集合中的数据个数较少,以便于提升计算设备对集合进行处理的速度。
示例地,若m=15,n=3,且该15个原始数据分别对应1-15的编号,则图像识别设备可以确定a为大于3/2的最小正整数,也即是a=2。对于每个原始数据,在划分得到的3个集合中至少存在2个数据与该原始数据相同,故该n个集合中的数据总数最少可以为2*m=2*15=30个。每个集合中数据的个数L≤M=10,例如取L=10。接着,图像识别设备可以按照预置顺序以及每个集合中数据的个数L确定每个集合包括的数据。例如,图像识别设备划分得到的三个集合中各个集合包括的数据可以如下表1所示,也即是图像识别设备可以将编号1-10的原始数据划分给第一个集合(如表1中集合编号为1的集合),将编号11-15以及编号1-5的原始数据划分给第二个集合(如表1中集合编号为2的集合),将编号6-15的原始数据划分给第三个集合(如表1中集合编号为3的集合)。可选地,图像识别设备也可以将该三个集合中的数据进行调换,如可以将编号1-9以及编号11的原始数据划分给第一个集合,将编号10、编号12-15以及编号1-5的原始数据划分给第二个集合,将编号6-15的原始数据划分给第三个集合。
表1
集合编号 | 集合包括的数据对应的编号 |
1 | 1-10 |
2 | 1-5、11-15 |
3 | 6-15 |
示例地,若m=31,n=5,且该31个原始数据分别对应1-31的编号,则图像识别设备可以确定a为大于5/2的最小正整数,也即是a=3。对于每个原始数据,在划分得到的5个集合中至少存在3个数据与该原始数据相同,故该n个集合中的数据总数最少可以为3*m=3*31=93个。每个集合中数据的个数L≤M=19。接着,图像识别设备可以按照预置顺序以及每个集合中数据的个数L确定每个集合包括的数据。由于图像识别设备只需保证在划分时,每个集合中数据的个数L≤19,则该5个集合中数据的个数可以相等也可以不等。示例地,图像识别设备确定每个集合中数据的个数L均为19,该五个集合中各个集合包括的数据可以如下表2所示,也即是图像识别设备可以将编号1-19的原始数据划分给第一个集合(如表2中集合编号为1的集合),将编号20-31以及编号1-7的原始数据划分给第二个集合(如表2中集合编号为2的集合),将编号8-26的原始数据划分给第三个集合(如表2中集合编号为3的集合),将编号27-31以及编号1-14的原始数据划分给第四个集合(如表2中集合编号为4的集合),将编号15-31以及编号1-2的原始数据划分给第五个集合(如表2中集合编号为5的集合)。可选地,图像识别设备也可以将该五个集合中的数据进行调换,调换方式可以参考对表1所示集合的数据进行调换的描述,本发明实施例在此不做赘述。
表2
集合编号 | 集合包括的数据对应的编号 |
1 | 1-19 |
2 | 20-31、1-7 |
3 | 8-26 |
4 | 27-31、1-14 |
5 | 15-31、1-2 |
可选地,n个集合中数据的总个数可以为原始数据库中原始数据的个数m的整数倍,如该总个数可以为a*m。如对于表2中的五个集合,可以将该第五个集合中编号1和编号2的数据丢弃,使得该第五个集合仅包括17个数据,该集合中数据对应的编号可以仅为15-31。这样一来,对于31个原始数据中的每个原始数据,该五个集合中仅存在与该原始数据相同的3个数据,该五个集合的数据总个数为m的3倍,也即是93,且该总个数最小。
又一示例地,图像识别设备确定五个集合中第一个集合和第五个集合中数据的个数均为18,第二个集合、第三个集合与第四个集合中数据的个数均为19,则该第一个集合包括的数据对应的编号可以为2-19,第二个集合、第三个集合与第四个集合包括的数据对应的编号可以参考表2,第五个集合包括的数据的对应的编号可以为15-31和1。
可选地,图像识别设备划分得到的该n个集合中,可以存在任意n-x个集合至少包括原始数据库中的全部数据,1≤x≤n-1。示例地,请参考表1或表2,在表1中任意两个集合均包括原始数据库中的全部数据(也即是编号1-15的原始数据),在表2中任意四个集合均包括原始数据库中的全部数据(也即是编号1-31的原始数据)。
步骤302、图像识别设备将每个集合分配给一个计算设备。
示例地,每个计算设备均可以包括存储器,图像识别设备可以将划分的n个集合中每个集合分别存储至一个计算设备的存储器中,以便于每个计算设备均可以根据其中存储的集合中的数据进行图像识别。
可选地,若在步骤301中图像识别设备对原始数据库进行划分所得的n个集合中,存在两个集合中的数据完全相同,则图像识别设备可以将该两个集合中的一个集合丢弃,并将剩余的集合中每个集合分别分配给一个计算设备。
步骤303、图像识别设备获取待识别数据。
图像识别设备可以从与其建立通信连接的终端(如图1中的终端2)获取待识别数据,该待识别数据可以为表征图像特征的数据,如特征向量。示例地,终端可以将待识别图像直接发送给图像识别设备,以使图像识别设备提取表征该待识别图像特征的待识别数据;或者终端可以直接提取表征待识别图像特征的待识别数据,并将提取的待识别数据发送给图像识别设备,本发明实施例对此不作限定。
可选地,该待识别图像可以为包含人脸的图像,该待识别数据为人脸特征向量。该待识别数据可以与原始数据库中的原始数据的数据类型相同,且均可以按照相同的采集方式得到,该数据类型可以用于指示数据的格式。示例地,待识别数据与原始数据的数据类型可以均为特征向量,也可以均为一维数组;若原始数据为采用facenet算法采集得到,则图像识别设备也应当采用facenet算法提取待识别数据,以保证待识别数据与原始数据的类型相同。
步骤304、图像识别设备向n个计算设备发送待识别数据。
该图像识别设备可以采用第一协议向n个计算设备中每个计算设备均发送待识别数据,以便于该计算设备对待识别数据进行处理。其中,图像识别设备与各个计算设备可以通过第一协议通信,示例地,该第一协议可以为高速串行计算机扩展总线标准(peripheralcomponent interconnect express,PCIe)协议,或者网络协议(network protocol),如互联网(Internet)协议,具体为传输控制协议/因特网互联协议(Transmission ControlProtocol/Internet Protocol,TCP/IP)。当图像识别设备为服务器中的中央处理器时,该第一协议可以为PCIe协议;当图像识别设备为AI盒子集群中处于主用状态的AI盒子或服务器集群的主节点时,该第一协议可以为Internet协议。
步骤305、各个计算设备对分配的一个集合的数据和待识别数据进行比对,以确定至少一个识别结果。
需要说明的是,每个计算设备均可以采用比对算法对其中存储的集合与待识别数据进行比对,以确定该集合中与待识别数据相似度最高的数据,并将该数据确定为一个识别结果,且每个计算设备采用的比对算法均可以相同。示例地,计算设备均可以采用支持向量聚类(support vector clustering,SVC)算法,确定该计算设备中存储的集合中与待识别数据的欧式距离最小的数据,并将该欧式距离最小的数据确定为与待识别数据的相似度最高的数据。可选地,计算设备还可以均采用k均值(k-means)算法确定其中存储的集合中,与待识别数据相似度最高的数据。
集合中的数据的数据类型均可以为特征向量,计算设备可以先对其中存储的集合中的数据进行聚类。如计算设备可以随机选择该集合中的k个特征向量作为k个簇的中心点,其中,k为大于2的整数;接着计算设备可以遍历集合中所有特征向量,分别计算每个特征向量和各个中心点的距离,并将各个特征向量划分至与其距离最近的中心点所在簇;之后计算设备可以计算每个簇中所有特征向量的平均值,并将该平均值作为该簇的新的中心点;重复执行上述遍历特征向量至确定新中心点的步骤,直至获得k个中心点与各个簇的所有特征向量的平均值相同,该k个特征向量为k个簇的中心点。此时,计算设备中的集合中每个特征向量均会被划分至一个簇。之后,计算设备可以将待识别数据与该k个簇的中心点进行比较,确定与待识别数据最相近的簇,进而计算设备可以计算待识别设备与该簇中每个特征向量的欧式距离,并可以将欧式距离最小的特征向量确定为与待识别数据相似度最高的数据,也即是一个识别结果。
需要说明的是,在计算设备处于正常工作状态时,该计算设备才可以得出正确的识别结果。在步骤305之前,图像识别设备还可以检测n个计算设备是否处于正常工作状态,以确定能够得出正确的识别结果的计算设备。为了保证待识别数据的识别结果的准确性,该至少一个识别结果需要根据原始数据库中的全部原始数据得出。由于步骤301中图像识别设备划分得到的n个集合中,存在任意n-x个集合至少包括原始数据库中的全部数据,1≤x≤n-1,且每个集合被分配给一个计算设备进行处理,在处于正常工作状态的计算设备的个数等于或多于n-x时,只要该处于正常工作状态的计算设备工作,得出的至少一个识别结果即为根据全部原始数据确定的;在处于正常工作状态的计算设备的个数少于n-x时,得出的至少一个识别结果仅为根据部分原始数据确定的。在步骤305中,该至少一个识别结果仅由n个计算设备中处于正常工作状态的计算设备确定得出,此时确定出的识别结果的个数可以等于处于正常工作状态的计算设备的个数。
示例地,当n个计算设备均处于正常工作状态时,该n个计算设备可以采用比对算法分别对分配的一个集合的数据和待识别数据进行比对,确定n个识别结果,也即是确定的至少一个识别结果的个数为n。当n个计算设备中存在k1个计算设备处于异常工作状态时,n-k1个计算设备可以采用比对算法分别对分配的一个集合中的数据与待识别数据进行比对,确定n-k1个识别结果,也即是确定的至少一个识别结果的个数为n-k1,其中,该n-k1个计算设备为n个计算设备中除该k1个处于异常工作状态的计算设备之外的计算设备,1≤k1≤x。
可选地,图像识别设备在检测n个计算设备是否处于正常工作状态后,还可以判断处于正常工作状态的计算设备的个数是否满足≥n-x。在处于正常工作状态的计算设备的个数≥n-x时,处于正常工作状态的计算设备可以对其中的集合与待识别数据进行处理,得出识别结果;在处于正常工作状态的计算设备的个数<n-x时,图像识别设备可以控制该n个计算设备均停止执行确定识别结果的步骤,并发出告警信息,以指示工作人员对该n个计算设备中处于异常工作状态的计算设备进行维修。
通常若计算设备发生故障,如计算设备挂死时,计算设备中存储的数据将会丢失,且图像识别系统无法继续正常进行图像识别,在该计算设备恢复正常工作状态(如重启)后,该计算设备需要花费较长时间重新获取其上存储的数据,图像识别系统的可靠性较低。
本发明实施例中,被分配给n个计算设备的n个集合中,存在任意n-x个集合至少包括原始数据库中的全部数据。这样一来,当n个计算设备中存在k1个计算设备处于异常工作状态(如挂死),1≤k1≤x,且处于异常工作状态的k1个计算设备上存储的集合丢失时,剩余处于正常工作状态的n-k1个计算设备仍然可以对全部原始数据进行处理。在该处于异常工作状态的k1个计算设备恢复正常工作状态时,图像识别设备可以基于该n-k1个计算设备上存储的集合,快速恢复该k1个计算设备中的集合,而无需再次与外界进行交互,如从原始数据库中获取数据,故图像识别系统可以很快地继续正常进行图像识别,故图像识别系统的可靠性较高。示例地,在该k1个计算设备恢复正常工作状态时,图像识别设备可以指示该k1个计算设备,直接从该n-k1个计算设备中获取该k1个计算设备上原存储的集合中的数据,或者图像识别设备也可以从该n-k1个计算设备中获取该k1个计算设备上原存储的集合,再将该k1个计算设备中原存储的集合分别输入至该k1个计算设备,本发明实施例对此不做限定。
可选地,若在步骤301中图像识别设备对原始数据库进行划分所得的n个集合中,存在两个集合中的数据完全相同,且在步骤302中图像识别设备将n个集合中每个集合均分配给一个计算设备,则存储有相同的集合的两个计算设备可以交替工作,以降低该两个计算设备的损耗,或者该两个计算设备可以仅有一个进行工作,另一个用于对该集合的数据进行备份。
步骤306、各个计算设备向图像识别设备发送至少一个识别结果。
示例地,每个处于正常工作状态的计算设备确定出其上存储的集合中与待识别数据相似度最高的识别结果后,均可以采用第一协议将该识别结果发送给图像识别设备,以使得图像识别设备可以接收到至少一个识别结果。
步骤307、图像识别设备根据该至少一个识别结果,确定待识别数据的识别结果。
图像识别设备可以确定该至少一个识别结果中相同的识别结果的个数,若存在个数大于n/2的识别结果,则可以直接将该识别结果确定为待识别数据的识别结果。
需要说明的是,由于步骤301中得到的n个集合中,对于原始数据库中的每个原始数据来说,在该n个集合中至少存在与该原始数据相同的a个数据,其中a为大于n/2的最小正整数,且每个计算设备均对其上存储的一个集合进行处理,故原始数据库中的每个原始数据均至少被a个计算设备(也即是超过半数的计算设备)进行了处理。每个计算设备均会输出一个识别结果,若原始数据库中存在待识别数据的识别结果(如原始数据A),则对该原始数据A进行处理的计算设备输出的识别结果必然为该原始数据A。此时可以采用少数服从多数的思想,若n个计算设备中超过半数的计算设备输出的识别结果均相同,则可以直接确定该识别结果为待识别数据的识别结果。另外,由于每个计算设备采用的比对算法均相同,避免了不同计算设备对相同的原始数据与待识别数据进行比对得出的识别结果不同,保证了各个计算设备得出的至少一个识别结果中必然存在超过半数的识别结果,确保可以采用少数服从多数的思想确定待识别数据的识别结果。
示例地,当n个计算设备均处于正常工作状态时,图像识别设备可以接收到n个识别结果,进而图像识别设备可以统计该n个识别结果中相同的识别结果的个数,并将个数大于n/2的识别结果,确定为待识别数据的识别结果。当n个计算设备中存在k1个计算设备处于异常工作状态时,图像识别设备可以接收到n-k1个识别结果,进而图像识别设备可以统计该n-k1个识别结果中相同的识别结果的个数。当该n-k1个识别结果中存在相同的识别结果的个数大于n/2时,图像识别设备可以将个数大于n/2的识别结果确定为待识别数据的识别结果;当n-k1个识别结果中不存在相同的识别结果的个数大于n/2时,图像识别设备可以再次对该n-k1个识别结果中与待识别数据进行处理(如进行欧式距离的计算),以确定该n-k1个识别结果中与待识别数据相似度最高的识别结果,并将该识别结果确定为待识别数据的识别结果。
例如,以表1所示的三个集合为例,若三个计算设备中存储第三个集合的计算设备处于异常工作状态,则该计算设备无法继续对第三个集合进行处理。若剩余的两个计算设备输出的识别结果相同,如编号1-5中的任一原始数据,则图像识别设备可以直接确定该识别结果即为待识别数据的识别结果。若剩余的两个计算设备输出的识别结果不同,如对第一个集合进行处理的计算设备输出的识别结果为编号6-10中的任一原始数据,对第二个集合进行处理的计算设备输出的识别结果为编号11-15中的任一原始数据,则图像识别设备可以再次在该两个识别结果中确定与待识别数据的相似度较高的识别结果,并将该相似度较高的识别结果确定为待识别数据的识别结果。且在对第三个集合进行处理的计算设备恢复正常工作状态时,图像识别设备可以基于该剩余的两个计算设备,恢复对第三个集合进行处理的计算设备上的该第三个集合。
在一个可选的实施例中,图像识别设备将原始数据库中的数据均分为n个集合,并将每个集合分配给一个计算设备,之后n个计算设备需要先计算该n个集合中的数据与待识别数据的欧式距离,之后得出多个识别结果并将该多个识别结果传输至图像识别设备,接着该图像识别设备需要再次计算该多个识别结果与待识别数据的欧式距离,继而才可以得出待识别数据的识别结果。此实施例中图像识别设备的计算压力较大,且图像识别系统进行图像识别的效率较低,且若该多个计算设备中存在处于异常工作状态的计算设备,则图像识别系统无法继续进行图像识别。
在另一可选的实施例中,可以按照步骤301划分该n个集合,此时该n个计算设备在计算n个集合中的数据与待识别数据的欧式距离后,可以将n个识别结果传输至图像识别设备,图像识别设备仅需直接确定该n个识别结果中个数多于n/2的识别结果即可,无需再次进行欧式距离的计算,故可以减轻图像识别设备的计算压力,提高图像识别系统进行图像识别的识别效率。且即使该n个计算设备中存在处于异常工作状态的计算设备时,图像识别系统仍然可以继续进行图像识别,故图像识别系统的可靠性较高。
步骤308、图像识别设备将待识别数据的识别结果对应的标签,确定为待识别数据的标签。
需要说明的是,图像识别的目的是确定图像中显示的对象的信息,该对象或者该对象的信息可以作为该图像对应的标签,如人脸图像识别的目的为确定该待识别数据(如人脸特征向量)所表征的人脸属于哪个人,该人脸所属于的人的名字可以作为该人脸特征向量对应的标签,确定了该标签也即是确定了该人脸特征向量表征的人脸所属于的人。由于原始数据库中的原始数据对应的标签均为已知的,故图像识别设备仅需确定原始数据库中与待识别数据相似度最高的数据(也即是待识别数据的识别结果)的标签,就可以得到该待识别数据对应的对象的信息,以完成图像识别。
示例地,在布控或罪犯追踪等场景,若终端采集到一张罪犯的人脸图像,则可以通过图像识别系统确定原始数据库中与该人脸图像匹配的原始数据,也即是该人脸图像对应的待识别数据的识别结果,并可以确定该识别结果的标签,以确定该罪犯的身份。
综上所述,本发明实施例提供的图像识别方法中,图像识别设备可以将原始数据库的数据划分成至少两个集合,并将每个集合分配给一个计算设备,以使得处于正常工作状态的计算设备可以根据其上存储的集合与待识别数据确定至少一个识别结果。由于计算设备较多,且每个计算设备需处理的数据为原始数据库中的部分数据,故进行图像识别的耗时较短,图像识别的速度较快。另外,计算设备在确定出至少一个识别结果后,可以将该至少一个识别结果传输给图像识别设备,且图像识别设备可以仅确定该至少一个识别结果中多于半数的识别结果就可以确定待识别数据的识别结果,无需再进行一次相似度的计算,故图像识别的识别过程较为简便,识别效率较高。进一步地,由于图像识别设备划分的n个集合中存在任意n-x个集合至少包括原始数据库中的全部数据,故即使存在处于异常工作状态的计算设备,图像识别系统仍然可以正常地进行图像识别,且在处于异常工作状态的计算设备恢复正常工作状态后,其上存储的集合可以快速地恢复,故图像识别系统的可靠性较高。且图像识别设备划分的n个集合中数据的总数可以为原始数据库中原始数据的个数的整数倍,也即是可以使该n个集合包括的数据总个数取最小值,以使得计算设备处理的数据量较小,提高了图像识别速率。
图4是本发明实施例提供的一种图像识别设备的结构示意图。该图像识别设备可以为图1中所示的图像识别设备102,如图4所示,该图像识别设备102可以包括:
获取模块1021,用于获取待识别数据;
发送模块1022,用于向多个计算设备发送待识别数据;
接收模块1023,用于接收多个计算设备发送的至少一个识别结果;
确定模块1024,用于根据至少一个识别结果,确定待识别数据的识别结果。
综上所述,本发明实施例提供的图像识别设备中,发送模块可以向多个计算设备发送待识别数据,以使得该多个计算设备可以对该待识别数据进行处理得到至少一个识别结果,确定模块可以根据该至少一个识别结果确定待识别数据的识别结果。由于待识别数据的识别结果是根据多个计算设备确定的至少一个识别结果得出的,故待识别数据的识别结果的准确率较高,且图像识别效率较高。
可选地,图5是本发明实施例提供的另一种图像识别设备的结构示意图,如图5所示,在图4的基础上,图像识别设备102还可以包括:
划分模块1025,用于将原始数据库中的数据划分成至少两个集合;
分配模块1026,用于将每个集合分配给多个计算设备中的一个计算设备;
该至少一个识别结果可以为:多个计算设备中每个计算设备采用比对算法分别对分配的一个集合的数据和待识别数据进行比对获得,每个计算设备使用的比对算法相同。
需要说明的是,分配模块1026可以通过发送模块1022将数据的集合分配给一个或多个计算设备。可选地,分配模块1026与发送模块1022也可以为图像识别设备中的同一模块,或者分配模块1026也可以直接将每个集合发送给一个计算设备,本发明实施例对此不做限定。
可选地,计算设备的个数为n,n≥3,划分模块1025可以包括:
划分子模块,用于将原始数据库中的数据划分为与n个计算设备一一对应的n个集合,其中,每个集合包括原始数据库中的部分数据,对于原始数据库中的每个数据,在n个集合中至少存在与数据相同的a个数据,a为大于n/2的最小正整数。
可选地,n个集合中任意n-x个集合至少包括原始数据库中的全部数据,1≤x≤n-1,
当n个计算设备均处于正常工作状态时,该至少一个识别结果可以包括:n个计算设备中每个计算设备采用比对算法分别对分配的一个集合的数据和待识别数据进行比对,确定的n个识别结果;
当n个计算设备中存在k1个计算设备处于异常工作状态时,该至少一个识别结果可以包括:n-k1个计算设备中每个计算设备采用比对算法分别对分配的一个集合中的数据与待识别数据进行比对,确定的n-k1个识别结果,该n-k1个计算设备为n个计算设备中除k1个计算设备之外的计算设备,1≤k1≤x。
可选地,如图6所示,确定模块1024可以包括:
第一统计子模块1024a,用于当n个计算设备均处于正常工作状态时,统计n个识别结果中相同的识别结果的个数;
第一确定子模块1024b,用于将个数大于n/2的识别结果,确定为待识别数据的识别结果。
可选地,原始数据库中的数据与待识别数据的数据类型相同,且均按照相同的采集方式得到,数据类型用于指示数据的格式,如图7所示,确定模块1024可以包括:
第二统计子模块1024c,用于当n个计算设备中存在k1个计算设备处于异常工作状态时,统计该n-k1个识别结果中相同的识别结果的个数;
第二确定子模块1024d,用于当该n-k1个识别结果中存在相同的识别结果的个数大于n/2时,将个数大于n/2的识别结果确定为待识别数据的识别结果;
第三确定子模块1024e,用于当该n-k1个识别结果中不存在相同的识别结果的个数大于n/2时,将该n-k1个识别结果中与待识别数据相似度最高的识别结果,确定为待识别数据的识别结果。
可选地,原始数据库中数据的总数为m,划分子模块还用于:
确定每个集合中数据的个数L,L满足≤M, 表示向上取整;
按照预置顺序,以及每个集合中数据的个数L,将原始数据库中的数据依次划分为与n个计算设备一一对应的n个集合;n个集合中数据的总数为m的整数倍。
可选地,计算设备可以包括人工智能AI芯片,计算设备的个数可以为奇数。
综上所述,本发明实施例提供的图像识别设备中,发送模块可以向多个计算设备发送待识别数据,以使得该多个计算设备可以对该待识别数据进行处理得到至少一个识别结果,确定模块可以根据该至少一个识别结果确定待识别数据的识别结果。由于待识别数据的识别结果是根据多个计算设备确定的至少一个识别结果得出的,故待识别数据的识别结果的准确率较高,且图像识别效率较高。另外,划分模块可以将原始数据库的数据划分成至少两个集合,并将每个集合分配给一个计算设备,以使得处于正常工作状态的计算设备可以根据其上存储的集合与待识别数据确定至少一个识别结果。由于计算设备较多,且每个计算设备需处理的数据为原始数据库中的部分数据,故进行图像识别的耗时较短,图像识别的速度较快。确定模块可以仅确定该至少一个识别结果中多于半数的识别结果就可以确定待识别数据的识别结果,无需再进行一次相似度的计算,故图像识别的识别过程较为简便,识别效率较高。进一步地,划分模块划分的n个集合中存在任意n-x个集合至少包括原始数据库中的全部数据,故即使存在处于异常工作状态的计算设备,图像识别系统仍然可以正常地进行图像识别,且在处于异常工作状态的计算设备恢复正常工作状态后,其上存储的集合可以快速地恢复,故图像识别系统的可靠性较高。且划分模块划分的n个集合中数据的总数可以为原始数据库中原始数据的个数的整数倍,也即是可以使该n个集合包括的数据总个数取最小值,以使得计算设备处理的数据量较小,提高了图像识别速率。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
需要说明的是:上述实施例提供的图像识别设备在进行图像识别时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像识设备与图像识别方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种图像识别方法,其特征在于,所述方法包括:
图像识别设备将原始数据库中的数据划分为与n个计算设备一一对应的n个集合,其中,对于所述原始数据库中的每个数据,在所述n个集合中至少存在与所述数据相同的a个数据,所述a为大于n/2的最小正整数,n≥3;
所述图像识别设备将所述n个集合一一对应分配给所述n个计算设备;
所述图像识别设备获取待识别数据;
所述图像识别设备向所述n个计算设备发送待识别数据,所述图像识别设备与所述n个计算设备通过第一协议通信;
所述图像识别设备接收所述n个计算设备发送的至少一个识别结果,所述至少一个识别结果为:所述n个计算设备中每个计算设备采用比对算法分别对分配的一个集合的数据和所述待识别数据进行比对获得,所述n个计算设备使用的比对算法相同;
所述图像识别设备根据所述至少一个识别结果,确定所述待识别数据的识别结果。
2.根据权利要求1所述的方法,其特征在于,所述n个集合中任意n-x个集合至少包括所述原始数据库中的全部数据,1≤x≤n-1,
当所述n个计算设备均处于正常工作状态时,所述至少一个识别结果包括:所述n个计算设备中每个计算设备采用比对算法分别对分配的一个集合的数据和所述待识别数据进行比对,确定的n个识别结果;
当所述n个计算设备中存在k1个计算设备处于异常工作状态时,所述至少一个识别结果包括:n-k1个计算设备中每个计算设备采用比对算法分别对分配的一个集合中的数据与所述待识别数据进行比对,确定的n-k1个识别结果,所述n-k1个计算设备为所述n个计算设备中除所述k1个计算设备之外的计算设备,1≤k1≤x。
3.根据权利要求2所述的方法,其特征在于,所述图像识别设备根据所述至少一个识别结果,确定所述待识别数据的识别结果,包括:
当所述n个计算设备均处于正常工作状态时,所述图像识别设备统计所述n个识别结果中相同的识别结果的个数;
所述图像识别设备将个数大于n/2的识别结果,确定为所述待识别数据的识别结果。
4.根据权利要求2所述的方法,其特征在于,所述原始数据库中的数据与所述待识别数据的数据类型相同,且均按照相同的采集方式得到,所述数据类型用于指示数据的格式,所述图像识别设备根据所述至少一个识别结果,确定所述待识别数据的识别结果,包括:
当所述n个计算设备中存在k1个计算设备处于异常工作状态时,所述图像识别设备统计所述n-k1个识别结果中相同的识别结果的个数;
当所述n-k1个识别结果中存在相同的识别结果的个数大于n/2时,所述图像识别设备将个数大于n/2的识别结果确定为所述待识别数据的识别结果;
当所述n-k1个识别结果中不存在相同的识别结果的个数大于n/2时,所述图像识别设备将所述n-k1个识别结果中与所述待识别数据相似度最高的识别结果,确定为所述待识别数据的识别结果。
5.根据权利要求1至4任一所述的方法,其特征在于,所述原始数据库中数据的总数为m,所述图像识别设备将所述原始数据库中的数据划分为与n个计算设备一一对应的n个集合,包括:
所述图像识别设备确定每个所述集合中数据的个数L,L满足≤M,所述 表示向上取整;
所述图像识别设备按照预置顺序,以及所述每个所述集合中数据的个数L,将所述原始数据库中的数据依次划分为与所述n个计算设备一一对应的所述n个集合;
其中,所述n个集合中数据的总数为所述m的整数倍。
6.根据权利要求1至4任一所述的方法,其特征在于,所述计算设备包括人工智能AI芯片,所述计算设备的个数为奇数。
7.一种图像识别设备,其特征在于,所述图像识别设备与多个计算设备通过第一协议通信,所述图像识别设备包括:
划分模块,用于将原始数据库中的数据划分为与n个计算设备一一对应的n个集合,其中,对于所述原始数据库中的每个数据,在所述n个集合中至少存在与所述数据相同的a个数据,所述a为大于n/2的最小正整数,n≥3;
分配模块,用于将所述n个集合一一对应分配给所述n个计算设备;
获取模块,用于获取待识别数据;
发送模块,用于向所述n个计算设备发送待识别数据;
接收模块,用于接收所述n个计算设备发送的至少一个识别结果,所述至少一个识别结果为:所述n个计算设备中每个计算设备采用比对算法分别对分配的一个集合的数据和所述待识别数据进行比对获得,所述n个计算设备使用的比对算法相同;
确定模块,用于根据所述至少一个识别结果,确定所述待识别数据的识别结果。
8.根据权利要求7所述的图像识别设备,其特征在于,所述n个集合中任意n-x个集合至少包括所述原始数据库中的全部数据,1≤x≤n-1,
当所述n个计算设备均处于正常工作状态时,所述至少一个识别结果包括:所述n个计算设备中每个计算设备采用比对算法分别对分配的一个集合的数据和所述待识别数据进行比对,确定的n个识别结果;
当所述n个计算设备中存在k1个计算设备处于异常工作状态时,所述至少一个识别结果包括:n-k1个计算设备中每个计算设备采用比对算法分别对分配的一个集合中的数据与所述待识别数据进行比对,确定的n-k1个识别结果,所述n-k1个计算设备为所述n个计算设备中除所述k1个计算设备之外的计算设备,1≤k1≤x。
9.根据权利要求8所述的图像识别设备,其特征在于,所述确定模块包括:
第一统计子模块,用于当所述n个计算设备均处于正常工作状态时,统计所述n个识别结果中相同的识别结果的个数;
第一确定子模块,用于将个数大于n/2的识别结果,确定为所述待识别数据的识别结果。
10.根据权利要求8所述的图像识别设备,其特征在于,所述原始数据库中的数据与所述待识别数据的数据类型相同,且均按照相同的采集方式得到,所述数据类型用于指示数据的格式,所述确定模块包括:
第二统计子模块,用于当所述n个计算设备中存在k1个计算设备处于异常工作状态时,统计所述n-k1个识别结果中相同的识别结果的个数;
第二确定子模块,用于当所述n-k1个识别结果中存在相同的识别结果的个数大于n/2时,将个数大于n/2的识别结果确定为所述待识别数据的识别结果;
第三确定子模块,用于当所述n-k1个识别结果中不存在相同的识别结果的个数大于n/2时,将所述n-k1个识别结果中与所述待识别数据相似度最高的识别结果,确定为所述待识别数据的识别结果。
11.根据权利要求7至10任一所述的图像识别设备,其特征在于,所述原始数据库中数据的总数为m,所述划分子模块还用于:
确定每个所述集合中数据的个数L,L满足≤M,所述 表示向上取整;
按照预置顺序,以及所述每个所述集合中数据的个数L,将所述原始数据库中的数据依次划分为与所述n个计算设备一一对应的所述n个集合;
所述n个集合中数据的总数为所述m的整数倍。
12.根据权利要求7至10任一所述的图像识别设备,其特征在于,所述计算设备包括人工智能AI芯片,所述计算设备的个数为奇数。
13.一种图像识别系统,其特征在于,所述图像识别系统包括:n个计算设备以及权利要求7至权利要求12任一所述的图像识别设备,n≥3。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811184199.2A CN111046695B (zh) | 2018-10-11 | 2018-10-11 | 图像识别方法、设备及系统 |
PCT/CN2019/094184 WO2020073696A1 (zh) | 2018-10-11 | 2019-07-01 | 图像识别方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811184199.2A CN111046695B (zh) | 2018-10-11 | 2018-10-11 | 图像识别方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111046695A CN111046695A (zh) | 2020-04-21 |
CN111046695B true CN111046695B (zh) | 2024-03-05 |
Family
ID=70163979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811184199.2A Active CN111046695B (zh) | 2018-10-11 | 2018-10-11 | 图像识别方法、设备及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111046695B (zh) |
WO (1) | WO2020073696A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239853A (zh) * | 2014-08-27 | 2014-12-24 | 北京捷通华声语音技术有限公司 | 一种图像的处理方法和装置 |
WO2017173640A1 (zh) * | 2016-04-08 | 2017-10-12 | 厦门中控智慧信息技术有限公司 | 一种基于多模式生物识别信息的个人识别方法和装置 |
CN108256492A (zh) * | 2018-01-26 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种图像识别方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668074B1 (en) * | 2000-03-23 | 2003-12-23 | Unisys Corporation | Apparatus and method for utilizing multiple digital image representations of a document |
US7496547B2 (en) * | 2005-06-02 | 2009-02-24 | Microsoft Corporation | Handwriting recognition using a comparative neural network |
US9043349B1 (en) * | 2012-11-29 | 2015-05-26 | A9.Com, Inc. | Image-based character recognition |
CN105354307B (zh) * | 2015-11-06 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种图像内容识别方法及装置 |
-
2018
- 2018-10-11 CN CN201811184199.2A patent/CN111046695B/zh active Active
-
2019
- 2019-07-01 WO PCT/CN2019/094184 patent/WO2020073696A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239853A (zh) * | 2014-08-27 | 2014-12-24 | 北京捷通华声语音技术有限公司 | 一种图像的处理方法和装置 |
WO2017173640A1 (zh) * | 2016-04-08 | 2017-10-12 | 厦门中控智慧信息技术有限公司 | 一种基于多模式生物识别信息的个人识别方法和装置 |
CN108256492A (zh) * | 2018-01-26 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种图像识别方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
一种改进的模板匹配的数字识别算法;刘洋洋等;《工业控制计算机》;20100525(第05期);第80-81页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020073696A1 (zh) | 2020-04-16 |
CN111046695A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107181724B (zh) | 一种协同流的识别方法、系统以及使用该方法的服务器 | |
EP3913997B1 (en) | Generating wireless network access point models using clustering techniques | |
WO2021018183A1 (zh) | 一种资源分配方法和资源借调方法 | |
US20200184245A1 (en) | Improper neural network input detection and handling | |
CN107729935A (zh) | 相似图片的识别方法和装置、服务器、存储介质 | |
CN112989894B (zh) | 目标检测方法、任务处理方法、装置、设备及存储介质 | |
CN113485792B (zh) | 一种kubernetes集群内Pod调度方法、终端设备及存储介质 | |
CN112668632B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN114816738A (zh) | 算力节点的确定方法、装置、设备及计算机可读存储介质 | |
CN115412371A (zh) | 基于物联网的大数据安全防护方法、系统及云平台 | |
CN110781247B (zh) | 向量聚类方法、装置及存储介质 | |
CN114898420A (zh) | 异常人脸档案识别方法、装置、电子装置和存储介质 | |
CN111046695B (zh) | 图像识别方法、设备及系统 | |
CN114217920A (zh) | 作业调度方法和装置、计算机机群、计算机可读存储介质 | |
CN113868471A (zh) | 一种基于监控设备关系的数据匹配方法及系统 | |
WO2016197706A1 (zh) | 数据的迁移方法及装置 | |
CN113347238A (zh) | 基于区块链的消息分区方法及系统、设备、存储介质 | |
CN111767419B (zh) | 图片搜索方法、装置、设备及计算机可读存储介质 | |
CN114510299A (zh) | 处理人工智能业务的方法、装置以及存储介质 | |
CN107229635B (zh) | 一种数据处理的方法、存储节点及协调节点 | |
CN110278119B (zh) | 边缘节点的资源分配方法、资源分配装置 | |
EP4030316A1 (en) | Face search method and device, apparatus, and computer-readable storage medium | |
CN105721342B (zh) | 多进程设备的网络连接方法和系统 | |
CN115169489A (zh) | 数据检索方法、装置、设备以及存储介质 | |
CN111901561B (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 |