单页高负载图像识别方法、装置、计算机设备及存储介质与流程

文档序号:16000936发布日期:2018-11-20 19:26阅读:158来源:国知局

本申请涉及图像识别技术领域,尤其涉及一种单页高负载图像识别方法、装置、计算机设备及存储介质。



背景技术:

目前,主流的图像识别应用,都需要将图片上传到企业后台服务器才可以进行图像识别,比如百度图片搜索。其不能在客户端应用神经网络识别图片,如果网速较差,上传图片速度较慢,就会影响图像识别结果反馈的速度。



技术实现要素:

本申请提供了一种单页高负载图像识别方法、装置、计算机设备及存储介质,旨在解决现有技术中主流的图像识别应用,都需要将图片上传到企业后台服务器才可以进行图像识别,如果网速较差,上传图片速度较慢,就会影响图像识别结果反馈的速度的问题。

第一方面,本申请提供了一种单页高负载图像识别方法,其包括:

获取用户端的本地单页应用中存储的多个用于进行图像识别的卷积神经网络模型;

获取待识别图片,并将所述待识别图片作为所述本地单页应用中多个卷积神经网络模型的输入,得到与每一卷积神经网络模型一一对应的待处理结果;

若所述本地的图片识别结果为识别成功,将所述本地的图片识别结果对应的关键词进行显示;

若本地的图片识别结果为识别失败,将待识别图片上传至后台服务器,接收由后台服务器反馈的后台识别结果。

第二方面,本申请提供了一种单页高负载图像识别装置,其包括:

模型获取单元,用于获取用户端的本地单页应用中存储的多个用于进行图像识别的卷积神经网络模型;

本地图片识别单元,用于获取待识别图片,并将所述待识别图片作为所述本地单页应用中多个卷积神经网络模型的输入,得到与每一卷积神经网络模型一一对应的待处理结果;

显示单元,用于若所述本地的图片识别结果为识别成功,将所述本地的图片识别结果对应的关键词进行显示;

后台识别单元,用于若本地的图片识别结果为识别失败,将待识别图片上传至后台服务器,接收由后台服务器反馈的后台识别结果。

第三方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的单页高负载图像识别方法。

第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的单页高负载图像识别方法。

本申请提供一种单页高负载图像识别方法、装置、计算机设备及存储介质。该方法通过获取用户端的本地单页应用中存储的多个用于进行图像识别的卷积神经网络模型;获取待识别图片,并将所述待识别图片作为所述本地单页应用中多个卷积神经网络模型的输入,得到与每一卷积神经网络模型一一对应的待处理结果;若所述本地的图片识别结果为识别成功,将所述本地的图片识别结果对应的关键词进行显示;若本地的图片识别结果为识别失败,将待识别图片上传至后台服务器,接收由后台服务器反馈的后台识别结果。该方法实现在用户端的本地单页应用中通过卷积神经网络模型对图片进行识别,快速的得到识别结果,无需直接将图片上传至后台服务器进行识别,提高了识别效率。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种单页高负载图像识别方法的示意流程图;

图2为本申请实施例提供的一种单页高负载图像识别方法的另一示意流程图;

图3是本申请实施例提供的一种单页高负载图像识别方法的子流程示意图;

图4为本申请实施例提供的一种单页高负载图像识别方法的另一子流程示意图;

图5为本申请实施例提供的一种单页高负载图像识别方法的另一子流程示意图;

图6为本申请实施例提供的一种单页高负载图像识别装置的示意性框图;

图7为本申请实施例提供的一种单页高负载图像识别装置的另一示意性框图;

图8为本申请实施例提供的一种单页高负载图像识别装置的子单元示意性框图;

图9为本申请实施例提供的一种单页高负载图像识别装置的另一子单元示意性框图;

图10为本申请实施例提供的一种单页高负载图像识别装置的另一子单元示意性框图;

图11为本申请实施例提供的一种计算机设备的示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1是本申请实施例提供的一种单页高负载图像识别方法的示意流程图。该方法应用于台式电脑、手提电脑、平板电脑等终端中。如图1所示,该方法包括步骤S101~S104。

S101、获取用户端的本地单页应用中存储的多个用于进行图像识别的卷积神经网络模型。

在本实施例中,本地单页应用中存储的卷积神经网络模型是在下载单页应用的安装包时,安装包中自带的可用于图像识别的卷积神经模型,该卷积神经模型是存储在通过AngularJS(是基于javascript的前端语言)所构建的本地单页应用中。用户端安装了该安装包后,即可通过本地单页应用中存储的卷积神经网络模型进行图像识别。

其中,AngularJS仅需HTML(即超文本标记语言),CSS(即层叠样式表)和JavaScript(是一种直译式脚本语言)就可在客户端创建单页应用,其目标是使得开发和测试更容易,增强MVC Web应用的性能。

所谓单页应用,指的是在一个页面上集成多种功能,甚至整个系统就只有一个页面,所有的业务功能都是它的子模块,通过特定的方式挂接到主界面上。本申请中用户端的本地单页应用点击打开后,类似于进入一个单机网页页面,该单机网页页面上具有简单的操作界面,如添加待识别图片的操作区,及输出识别结果的显示区。

本地单页应用中存储的卷积神经网络模型是在企业后台服务器上通过将预选导入的图像数据集(例如所述图像数据集)的图片输入卷积神经网络,并进行训练而得到。其中,ImageNet是一个计算机视觉系统识别项目名称,其是目前世界上图像识别最大的数据库,它是美国斯坦福的计算机科学家,模拟人类的识别系统建立的图像识别数据库。ImageNet数据集(也即所述图像数据集)有1400多万幅图片,涵盖2万多个类别;其中有超过百万的图片有明确的类别标注和图像中物体位置的标注,该ImageNet数据集的大小约为1TB。

在一实施例中,如图2所示,在所述步骤S101之前还包括:

S1001、获取包括卷积神经网络模型的本地单页应用的安装包;

S1002、将所述本地单页应用的安装包进行解压,得到包括多个卷积神经网络模型的本地单页应用。

在本实施例中,本地单页应用的安装包(该安装包内存储有用于图像识别的卷积神经网络模型)中所包括的卷积神经网络模型,是在企业后台服务器上进行大量的图像识别训练而得到。即在企业后台服务器上通过所述图像数据集作为输入训练卷积神经网络,所得到的卷积神经网络模型是包含多个种类模型的,例如有识别交通工具的卷积神经网络模型,有识别动物的卷积神经网络模型等,上述多个种类的卷积神经网络模型训练完成后,可直接导入单页应用的安装包(如apk安装包或iOs安装包)。当用户下载了单页应用的安装包后,在本地终端上解压安装该单页应用的安装包,即可得到一个具有识别图像的单页应用,无需将待识别图片上传至企业后台服务器上进行识别。

在一实施例中,如图3所示,所述步骤S1001包括:

S10011、采用预先导入的图像数据集作为所述卷积神经网络模型的训练数据训练所述卷积神经网络模型,得到训练后的卷积神经网络模型;

S10012、将所述训练后的卷积神经网络模型打包至本地单页应用的安装包中。

在本实施例中,上述训练过程既可选择在企业后台服务器端进行,也可在用户端进行。例如在用户端进行训练时,可以选择待识别图像的种类(如交通工具,动物,植物等),直接根据所选择的待识别图像的种类,对应获取Image在数据集,并在用户端的本地中作为卷积神经网络的训练数据,在用户端训练得到卷积神经网络模型,并将所述训练后的卷积神经网络模型打包至本地单页应用的安装包中,以供本终端自身使用,或者是供其他下载了该用户端上传的安装包(该安装包即包括卷积神经网络模型的本地单页应用的安装包)。

其中,为了提高对图片识别的正确率,导入到单页应用的安装包内的卷积神经网络模型的种类是越多越好,但是一般将整个单页应用的安装包的大小控制在200M左右即可满足基本的图片识别要求,也即导入10-20种的卷积神经网络模型即可(例如满足了识别交通工具,动物,植物等类别的图像)。

在一实施例中,如图4所示,所述步骤S10011包括:

S10011a、将所述图像数据集的图片根据过滤器进行卷积,得到底层特征;

S10011b、根据采样窗口对底层特征进行采样,得到池化特征;

S10011c、将底层特征与池化特征通过全连接层进行连接,得到卷积神经网络模型。

在本实施例中,卷积神经网络由卷积层、池化层、全连接层组成。其中卷积层与池化层配合,组成多个卷积组,逐层提取特征,最终通过若干个全连接层完成分类。

卷积网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出对之间的映射能力。卷积网络执行的是有导师训练,所以其样本集是由形如:(输入向量,理想输出向量)的向量对构成的。所有这些向量对,都应该是来源于网络即将模拟的系统的实际“运行”结果。它们可以是从实际运行系统中采集来的。在开始训练前,所有的权都应该用一些不同的小随机数进行初始化。“小随机数”用来保证网络不会因权值过大而进入饱和状态,从而导致训练失败;“不同”用来保证网络可以正常地学习。实际上,如果用相同的数去初始化权矩阵,则网络无能力学习。

例如,有一个5x5的图像(其原始大小为20x20),用一个3x3的过滤器(卷积核)对图像进行卷积,得到了3x3的底层特征;这个过程可以理解为使用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。在实际训练过程中,卷积核的值是在学习过程中学到的。在具体应用中,往往有多个卷积核,可以认为,每个卷积核代表了一种图像模式,如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。如果设计了6个卷积核,可以理解:这个图像上有6种底层纹理模式,也就是用6种基础模式就能描绘出一副图像。

由于原始图片是20x20的,对其进行下采样,采样窗口为10x10,最终将其下采样成为一个2x2大小的特征图。之所以进行上述池化,是因为即使做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,就进行下采样。在池化的过程中,即使减少了许多数据,特征的统计属性仍能够描述图像,而且由于降低了数据维度,有效地避免了过拟合。在实际应用中,池化根据下采样的方法,分为最大值下采样(Max-Pooling)与平均值下采样(Mean-Pooling)。

全连接层主要对特征进行重新拟合,减少特征信息的丢失,如将底层特征与池化特征进行全连接后,得到卷积神经网络模型。

S102、获取待识别图片,并将所述待识别图片作为所述本地单页应用中多个卷积神经网络模型的输入,得到与每一卷积神经网络模型一一对应的待处理结果。

在一实施例中,如图5所示,所述步骤S102包括:

S1021、将待识别图片输入多个卷积神经网络模型中所包括的每一卷积神经网络模型;

S1022、计算每一卷积神经网络模型的实际输出值以作为与每一卷积神经网络模型一一对应的待处理结果。

在本实施例中,例如将一猫的图片输入卷积神经网络模型,通过卷积神经网络模型计算后,得到实际输出值为1(1表示动物大类中的猫类)。由于通过一个卷积神经网络模型得到的实际输出值可能存在误差,后续需对每一实际输出值进行求平均值、求方差、或求标准差等运算以降低实际输出值的误差。例如将所述待处理结果进行统计,得到本地的图片识别结果后,则根据图片识别结果,获取与图片识别结果的图片识别结果。例如,还可以设置图片识别结果为2时表示识别成功且表示动物大类中的狗类,设置实际输出值大于2时表示识别失败。

由于是直接调本地的单页应用中的卷积神经网络模型,也不用将图片上传到后台服务器,调用后台服务器的模型来进行识别,无需考虑上传图片至后台服务器网速慢而降低识别效率。

S103、将所述待处理结果进行统计,得到本地的图片识别结果。

在本实施例中,当获取了与每一卷积神经网络模型一一对应的待处理结果,则可对多个待处理结果进行统计(如进行求平均值运算、或求方差运算、或求标准差运算),得到一个具有代表性的本地的图片识别结果。通过这种多重识别求统计值的方式,能有效避免单次运算的误差。

在一实施例中,将所述待处理结果进行统计,得到本地的图片识别结果的具体实现方式是,对将所述待处理结果进行求平均值运算、或求方差运算、或求标准差运算,得到本地的图片识别结果。

S104、若所述本地的图片识别结果为识别成功,将所述本地的图片识别结果对应的关键词进行显示。

在本实施例中,当本地的图片识别结果为识别成功时,直接在本地的单页应用中的结果显示区域显示图片识别结果对应的关键词。例如将一猫的图片输入卷积神经网络模型,通过卷积神经网络模型计算后,得到图片识别结果为1(1表示动物大类中的猫类的图片识别结果),则根据图片识别结果,获取与图片识别结果对应的关键词(如猫)。通过在本地的单页应用中直接显示识别结果,方便用户查看。

在一实施例中,如图1所示,步骤S103之后还包括:

S105、若本地的图片识别结果为识别失败,将待识别图片上传至后台服务器,接收由后台服务器反馈的后台识别结果。

在本实施例中,当本地的单页应用中所搭载的卷积神经网络模型不能准确识别待识别图片时,则可将该待识别图片上传至企业后台服务器,在具有更丰富种类的卷积神经网络模型的企业后台服务器上进行识别,并在识别完成后反馈正确的识别结果,这种兼具本地识别和后台识别的方式,确保了图片识别的效率和准确率。

可见,该方法实现在用户端的本地单页应用中通过卷积神经网络模型对图片进行识别,快速的得到识别结果,无需直接将图片上传至后台服务器进行识别,提高了识别效率。

本申请实施例还提供一种单页高负载图像识别装置,该单页高负载图像识别装置用于执行前述单页高负载图像识别方法的任一实施例。具体地,请参阅图6,图6是本申请实施例提供的一种单页高负载图像识别装置的示意性框图。单页高负载图像识别装置100可以配置于台式电脑、平板电脑、手提电脑、等终端中。

如图6所示,单页高负载图像识别装置100包括模型获取单元101、本地图片识别单元102、统计单元103、及显示单元104。

模型获取单元101,用于获取用户端的本地单页应用中存储的多个用于进行图像识别的卷积神经网络模型。

在本实施例中,本地单页应用中存储的卷积神经网络模型是在下载单页应用的安装包时,安装包中自带的可用于图像识别的卷积神经模型,该卷积神经模型是存储在通过AngularJS(是基于javascript的前端语言)所构建的本地单页应用中。用户端安装了该安装包后,即可通过本地单页应用中存储的卷积神经网络模型进行图像识别。

其中,AngularJS仅需HTML(即超文本标记语言),CSS(即层叠样式表)和JavaScript(是一种直译式脚本语言)就可在客户端创建单页应用,其目标是使得开发和测试更容易,增强MVC Web应用的性能。

所谓单页应用,指的是在一个页面上集成多种功能,甚至整个系统就只有一个页面,所有的业务功能都是它的子模块,通过特定的方式挂接到主界面上。本申请中用户端的本地单页应用点击打开后,类似于进入一个单机网页页面,该单机网页页面上具有简单的操作界面,如添加待识别图片的操作区,及输出识别结果的显示区。

本地单页应用中存储的卷积神经网络模型是在企业后台服务器上通过将预选导入的图像数据集(例如所述图像数据集)的图片输入卷积神经网络,并进行训练而得到。其中,ImageNet是一个计算机视觉系统识别项目名称,其是目前世界上图像识别最大的数据库,它是美国斯坦福的计算机科学家,模拟人类的识别系统建立的图像识别数据库。ImageNet数据集(也即所述图像数据集)有1400多万幅图片,涵盖2万多个类别;其中有超过百万的图片有明确的类别标注和图像中物体位置的标注,该ImageNet数据集的大小约为1TB。

在一实施例中,如图7所示,所述单页高负载图像识别装置100还包括:

安装包获取单元1001,用于获取包括卷积神经网络模型的本地单页应用的安装包;

解压安装单元1002,用于将所述本地单页应用的安装包进行解压,得到包括多个卷积神经网络模型的本地单页应用。

在本实施例中,本地单页应用的安装包(该安装包内存储有用于图像识别的卷积神经网络模型)中所包括的卷积神经网络模型,是在企业后台服务器上进行大量的图像识别训练而得到。即在企业后台服务器上通过所述图像数据集作为输入训练卷积神经网络,所得到的卷积神经网络模型是包含多个种类模型的,例如有识别交通工具的卷积神经网络模型,有识别动物的卷积神经网络模型等,上述多个种类的卷积神经网络模型训练完成后,可直接导入单页应用的安装包(如apk安装包或iOs安装包)。当用户下载了单页应用的安装包后,在本地终端上解压安装该单页应用的安装包,即可得到一个具有识别图像的单页应用,无需将待识别图片上传至企业后台服务器上进行识别。

在一实施例中,如图8所示,所述安装包获取单元1001包括:

模型训练单元10011,用于采用预先导入的图像数据集作为所述卷积神经网络模型的训练数据训练所述卷积神经网络模型,得到训练后的卷积神经网络模型;

模型加载单元10012,用于将所述训练后的卷积神经网络模型打包至本地单页应用的安装包中。

在本实施例中,上述训练过程既可选择在企业后台服务器端进行,也可在用户端进行。例如在用户端进行训练时,可以选择待识别图像的种类(如交通工具,动物,植物等),直接根据所选择的待识别图像的种类,对应获取Image在数据集,并在用户端的本地中作为卷积神经网络的训练数据,在用户端训练得到卷积神经网络模型,并将所述训练后的卷积神经网络模型打包至本地单页应用的安装包中,以供本终端自身使用,或者是供其他下载了该用户端上传的安装包(该安装包即包括卷积神经网络模型的本地单页应用的安装包)。

其中,为了提高对图片识别的正确率,导入到单页应用的安装包内的卷积神经网络模型的种类是越多越好,但是一般将整个单页应用的安装包的大小控制在200M左右即可满足基本的图片识别要求,也即导入10-20种的卷积神经网络模型即可(例如满足了识别交通工具,动物,植物等类别的图像)。

在一实施例中,如图9所示,所述模型训练单元10011包括:

卷积层单元10011a,用于将所述图像数据集的图片根据过滤器进行卷积,得到底层特征;

池化单元10011b,用于根据采样窗口对底层特征进行采样,得到池化特征;

全连接单元10011c,用于将底层特征与池化特征通过全连接层进行连接,得到卷积神经网络模型。

在本实施例中,卷积神经网络由卷积层、池化层、全连接层组成。其中卷积层与池化层配合,组成多个卷积组,逐层提取特征,最终通过若干个全连接层完成分类。

卷积网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出对之间的映射能力。卷积网络执行的是有导师训练,所以其样本集是由形如:(输入向量,理想输出向量)的向量对构成的。所有这些向量对,都应该是来源于网络即将模拟的系统的实际“运行”结果。它们可以是从实际运行系统中采集来的。在开始训练前,所有的权都应该用一些不同的小随机数进行初始化。“小随机数”用来保证网络不会因权值过大而进入饱和状态,从而导致训练失败;“不同”用来保证网络可以正常地学习。实际上,如果用相同的数去初始化权矩阵,则网络无能力学习。

例如,有一个5x5的图像(其原始大小为20x20),用一个3x3的过滤器(卷积核)对图像进行卷积,得到了3x3的底层特征;这个过程可以理解为使用一个过滤器(卷积核)来过滤图像的各个小区域,从而得到这些小区域的特征值。在实际训练过程中,卷积核的值是在学习过程中学到的。在具体应用中,往往有多个卷积核,可以认为,每个卷积核代表了一种图像模式,如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。如果设计了6个卷积核,可以理解:这个图像上有6种底层纹理模式,也就是用6种基础模式就能描绘出一副图像。

由于原始图片是20x20的,对其进行下采样,采样窗口为10x10,最终将其下采样成为一个2x2大小的特征图。之所以进行上述池化,是因为即使做完了卷积,图像仍然很大(因为卷积核比较小),所以为了降低数据维度,就进行下采样。在池化的过程中,即使减少了许多数据,特征的统计属性仍能够描述图像,而且由于降低了数据维度,有效地避免了过拟合。在实际应用中,池化根据下采样的方法,分为最大值下采样(Max-Pooling)与平均值下采样(Mean-Pooling)。

全连接层主要对特征进行重新拟合,减少特征信息的丢失,如将底层特征与池化特征进行全连接后,得到卷积神经网络模型。

本地图片识别单元102,用于获取待识别图片,并将所述待识别图片作为所述本地单页应用中多个卷积神经网络模型的输入,得到与每一卷积神经网络模型一一对应的待处理结果。

在一实施例中,如图10所示,所述本地图片识别单元102包括:

图片输入单元1021,用于将待识别图片输入多个卷积神经网络模型中所包括的每一卷积神经网络模型;

计算单元1022,用于计算每一卷积神经网络模型的实际输出值以作为与每一卷积神经网络模型一一对应的待处理结果。

在本实施例中,例如将一猫的图片输入卷积神经网络模型,通过卷积神经网络模型计算后,得到实际输出值为1(1表示动物大类中的猫类)。由于通过一个卷积神经网络模型得到的实际输出值可能存在误差,后续需对每一实际输出值进行求平均值、求方差、或求标准差等运算以降低实际输出值的误差。例如将所述待处理结果进行统计,得到本地的图片识别结果后,则根据图片识别结果,获取与图片识别结果的图片识别结果。例如,还可以设置图片识别结果为2时表示识别成功且表示动物大类中的狗类,设置实际输出值大于2时表示识别失败。

由于是直接调本地的单页应用中的卷积神经网络模型,也不用将图片上传到后台服务器,调用后台服务器的模型来进行识别,无需考虑上传图片至后台服务器网速慢而降低识别效率。

统计单元103,用于将所述待处理结果进行统计,得到本地的图片识别结果。

在本实施例中,当获取了与每一卷积神经网络模型一一对应的待处理结果,则可对多个待处理结果进行统计(如进行求平均值运算、或求方差运算、或求标准差运算),得到一个具有代表性的本地的图片识别结果。通过这种多重识别求统计值的方式,能有效避免单次运算的误差。

在一实施例中,将所述待处理结果进行统计,得到本地的图片识别结果的具体实现方式是,对将所述待处理结果进行求平均值运算、或求方差运算、或求标准差运算,得到本地的图片识别结果。

显示单元104,用于若所述本地的图片识别结果为识别成功,将所述本地的图片识别结果对应的关键词进行显示。

在本实施例中,当本地的图片识别结果为识别成功时,直接在本地的单页应用中的结果显示区域显示图片识别结果对应的关键词。例如将一猫的图片输入卷积神经网络模型,通过卷积神经网络模型计算后,得到图片识别结果为1(1表示动物大类中的猫类的图片识别结果),则根据图片识别结果,获取与图片识别结果对应的关键词(如猫)。通过在本地的单页应用中直接显示识别结果,方便用户查看。

在一实施例中,如图6所示,所述单页高负载图像识别装置100还包括:

后台识别单元105,用于若本地的图片识别结果为识别失败,将待识别图片上传至后台服务器,接收由后台服务器反馈的后台识别结果。

在本实施例中,当本地的单页应用中所搭载的卷积神经网络模型不能准确识别待识别图片时,则可将该待识别图片上传至企业后台服务器,在具有更丰富种类的卷积神经网络模型的企业后台服务器上进行识别,并在识别完成后反馈正确的识别结果,这种兼具本地识别和后台识别的方式,确保了图片识别的效率和准确率。

可见,该装置实现在用户端的本地单页应用中通过卷积神经网络模型对图片进行识别,快速的得到识别结果,无需直接将图片上传至后台服务器进行识别,提高了识别效率。

上述单页高负载图像识别装置可以实现为一种计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。

请参阅图11,图11是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500设备可以是终端。该终端可以是平板电脑、笔记本电脑、台式电脑、个人数字助理等电子设备。

参阅图11,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种单页高负载图像识别方法。

该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种单页高负载图像识别方法。

该网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:获取用户端的本地单页应用中存储的多个用于进行图像识别的卷积神经网络模型;获取待识别图片,并将所述待识别图片作为所述本地单页应用中多个卷积神经网络模型的输入,得到与每一卷积神经网络模型一一对应的待处理结果;将所述待处理结果进行统计,得到本地的图片识别结果;若所述本地的图片识别结果为识别成功,将所述本地的图片识别结果对应的关键词进行显示。

在一实施例中,处理器502还执行如下操作:获取包括卷积神经网络模型的本地单页应用的安装包;将所述本地单页应用的安装包进行解压,得到包括多个卷积神经网络模型的本地单页应用。

在一实施例中,处理器502还执行如下操作:采用预先导入的图像数据集作为所述卷积神经网络模型的训练数据训练所述卷积神经网络模型,得到训练后的卷积神经网络模型;将所述训练后的卷积神经网络模型打包至本地单页应用的安装包中。

在一实施例中,处理器502还执行如下操作:将所述图像数据集的图片根据过滤器进行卷积,得到底层特征;根据采样窗口对底层特征进行采样,得到池化特征;将底层特征与池化特征通过全连接层进行连接,得到卷积神经网络模型。

在一实施例中,处理器502还执行如下操作:将待识别图片输入多个卷积神经网络模型中所包括的每一卷积神经网络模型;计算每一卷积神经网络模型的实际输出值以作为与每一卷积神经网络模型一一对应的待处理结果。

在一实施例中,处理器502还执行如下操作:将所述待处理结果进行求平均值运算、或求方差运算、或求标准差运算,得到本地的图片识别结果。

在一实施例中,处理器502还执行如下操作:若所述本地的图片识别结果为识别失败,将待识别图片上传至后台服务器,接收由后台服务器反馈的后台识别结果。

本领域技术人员可以理解,图11中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。

应当理解,在本申请实施例中,处理器502可以是中央处理单元(Central Processing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

在本申请的另一实施例中提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:获取用户端的本地单页应用中存储的多个用于进行图像识别的卷积神经网络模型;获取待识别图片,并将所述待识别图片作为所述本地单页应用中多个卷积神经网络模型的输入,得到与每一卷积神经网络模型一一对应的待处理结果;将所述待处理结果进行统计,得到本地的图片识别结果;若所述本地的图片识别结果为识别成功,将所述本地的图片识别结果对应的关键词进行显示。

在一实施例中,该程序指令被处理器执行时实现:获取包括卷积神经网络模型的本地单页应用的安装包;将所述本地单页应用的安装包进行解压,得到包括多个卷积神经网络模型的本地单页应用。

在一实施例中,该程序指令被处理器执行时实现:采用预先导入的图像数据集作为所述卷积神经网络模型的训练数据训练所述卷积神经网络模型,得到训练后的卷积神经网络模型;将所述训练后的卷积神经网络模型打包至本地单页应用的安装包中。

在一实施例中,该程序指令被处理器执行时实现:将所述图像数据集的图片根据过滤器进行卷积,得到底层特征;根据采样窗口对底层特征进行采样,得到池化特征;将底层特征与池化特征通过全连接层进行连接,得到卷积神经网络模型。

在一实施例中,该程序指令被处理器执行时实现:将待识别图片输入多个卷积神经网络模型中所包括的每一卷积神经网络模型;计算每一卷积神经网络模型的实际输出值以作为与每一卷积神经网络模型一一对应的待处理结果。

在一实施例中,该程序指令被处理器执行时实现:将所述待处理结果进行求平均值运算、或求方差运算、或求标准差运算,得到本地的图片识别结果。

在一实施例中,该程序指令被处理器执行时实现:若所述本地的图片识别结果为识别失败,将待识别图片上传至后台服务器,接收由后台服务器反馈的后台识别结果。

所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1