一种模型配置以及图像识别的方法及装置
文献发布时间:2023-06-19 10:58:46
本申请是中国专利申请CN107480587A的分案申请,原申请的申请日为:2017年7月6日;申请号为:201710544836.1;发明创造名称为:一种模型配置以及图像识别的方法及装置。
技术领域
本申请涉及计算机技术领域,尤其涉及一种模型配置以及图像识别的方法及装置。
背景技术
随着计算机技术的不断发展,越来越多基于新科技的新兴业务呈现在人们面前,这些业务在提高业务效率的同时,也为广大用户带来了全新的体验。
当前,图像识别技术已运用在多种业务场景中,而图像识别技术与其他新兴技术的结合使用,也为多种业务的进一步发展提供了新思路。例如,当前一些业务的执行过程中,需要用户通过客户端对目标物进行识别。用户可以通过终端对目标物进行扫描,获取到该目标物的视频,而客户端将通过训练好的识别模型对该视频进行图像识别,当确定通过该识别模型识别出该目标物时,则触发业务的执行。
基于现有技术,需要使客户端具备图像识别的动态扩展能力,以及提升客户端的图像识别效率。
发明内容
本申请实施例提供一种模型配置的方法,用以解决现有技术中,业务执行过程时客户端不具备图像识别动态扩展能力的问题。
本申请实施例提供了一种模型配置的方法,包括:
客户端获取服务器发送的至少一个识别参数;
根据所述至少一个识别参数以及预先存储在本地的固定参数,配置至少一个识别模型,采用不同的识别参数配置的识别模型用于识别不同的目标物。
本申请实施例提供一种模型配置的装置,用以解决现有技术中,业务执行过程时客户端不具备图像识别动态扩展能力的问题。
本申请实施例提供了一种模型配置的装置,包括:
获取模块,获取服务器发送的至少一个识别参数;
配置模块,根据所述至少一个识别参数以及预先存储在本地的固定参数,配置至少一个识别模型,采用不同的识别参数配置的识别模型用于识别不同的目标物。
本申请实施例提供一种模型配置的设备,用以解决现有技术中,业务执行过程时客户端不具备图像识别动态扩展能力的问题。
本申请实施例提供了一种模型配置的设备,包括:一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获取服务器发送的至少一个识别参数;
根据所述至少一个识别参数以及预先存储在本地的固定参数,配置至少一个识别模型,采用不同的识别参数配置的识别模型用于识别不同的目标物。
本申请实施例提供一种图像识别的方法,用以解决现有技术中,业务执行过程时客户端图像识别效率较低的问题。
本申请实施例提供了一种图像识别的方法,包括:
获取视频;
从启用的至少一个识别模型中,选择识别模型;
通过选择的识别模型,识别所述视频中的m个视频帧中是否存在目标物;
若不存在,重新从启用的其他识别模型中选择识别模型,并通过重新选择的识别模型识别所述视频中的n个视频帧,直至识别出所述目标物为止,其中,m和n为正整数,所述m个视频帧和所述n个视频帧不完全相同。
本申请实施例提供一种图像识别的装置,用以解决现有技术中,业务执行过程时客户端图像识别效率较低的问题。
本申请实施例提供了一种图像识别的装置,包括:
获取模块,获取视频;
选择模块,从启用的至少一个识别模型中,选择识别模型;
识别模块,通过选择的识别模型,识别所述视频中的m个视频帧中是否存在目标物;若不存在,重新从启用的其他识别模型中选择识别模型,并通过重新选择的识别模型识别所述视频中的n个视频帧,直至识别出所述目标物为止,其中,m和n为正整数,所述m个视频帧和所述n个视频帧不完全相同。
本申请实施例提供一种图像识别的设备,用以解决现有技术中,业务执行过程时客户端图像识别效率较低的问题。
本申请实施例提供了一种图像识别的设备,包括:一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获取视频;
从启用的至少一个识别模型中,选择识别模型;
通过选择的识别模型,识别所述视频中的m个视频帧中是否存在目标物;若不存在,重新从启用的其他识别模型中选择识别模型,并通过重新选择的识别模型识别所述视频中的n个视频帧,直至识别出所述目标物为止,其中,m和n为正整数,所述m个视频帧和所述n个视频帧不完全相同。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在本申请实施例中,由于客户端可以动态的从服务器获取用于配置识别模型的识别参数,获取到的识别参数不同,配置出的识别模型也不同,配置出的识别模型所能识别出的目标物也不同。换句话说,客户端中设置的识别模型并不是固定不变的,其所能识别的目标物随着服务器发送的识别参数而改变,这样使得客户端具备了图像识别的动态扩展能力。不仅如此,客户端在图像识别过程中,每个识别模型只需要基于完整视频中的部分视频帧,即能快速进行图像识别,并在确定出识别的部分视频帧不存在目标物时,更换其他的识别模型来对另一部分视频帧进行图像识别。所以,相比于现有技术来说,不仅能够使客户端具备动态识别物体的能力,也能够有效的提高客户端图像识别的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的模型配置过程的示意图;
图2为本申请实施例提供的图像识别的过程示意图;
图3为本申请实施例提供的图像识别过程的详细流程示意图;
图4为本申请实施例提供的客户端执行业务的具体过程;
图5为本申请实施例提供的模型配置的装置示意图;
图6为本申请实施例提供的图像识别的装置示意图;
图7为本申请实施例提供的模型配置的设备示意图;
图8为本申请实施例提供的图像识别的设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
在现有技术中,客户端中配置的识别模型通常都是固定不变的,这些识别模型通常只能识别固定的目标物,而无法实现图像识别的动态扩展。为此,在本申请中,客户端可以从服务器中获取配置不同识别模型的识别参数,识别参数可以控制识别模型所能识别的目标物,因此,获取到的识别参数不同,识别模型所能识别出的目标物也不同,这样就有效的对客户端的物体识别能力进行了动态扩展,从而提升了客户端在业务执行过程中的图像识别能力。其中,本申请对目标物进行图像识别的执行主体可以客户端,也可以是终端,下面仅以客户端为例对本申请提供的模型配置方法以及图像识别方法进行说明。
图1为本申请实施例提供的模型配置过程的示意图,具体包括以下步骤:
S102:客户端获取服务器发送的至少一个识别参数。
在本申请实施例中,客户端在对物体进行图像识别的过程中,可以先从服务器获取到至少一个识别参数,其中,服务器向客户端提供的识别参数不同,客户端所能识别出的目标物也就不同。
客户端从服务器获取至少一个识别参数的执行动作可以在监测到自身满足一定条件时来进行触发,如,当客户端监测到自身启动时,则可以主动从服务器获取至少一个识别参数,也可以在监测到触发自身设置的指定功能时,从服务器获取至少一个识别参数。而客户端从服务器获取的多个识别参数,可以是不同业务对应的不同识别参数,也可以是同一业务对应的多个识别参数。
S104:根据所述至少一个识别参数以及预先存储在本地的固定参数,配置至少一个识别模型,采用不同的识别参数配置的识别模型用于识别不同的目标物。
客户端从服务器获取到至少一个识别参数后,可以根据预先存储在本地的固定参数,配置出不同的识别模型。其中,这里提到的固定参数是指客户端中预先配置的,不随目标物变化的参数。如,客户端通过识别模型进行图像识别的过程中,需要通过一定的特征提取方式,从获取到的视频中提取特征数据,进而通过提取出的特征数据,进行图像识别。用于提取特征数据的特征提取方式通常不会发生变化,所以,与特征提取方式相关的参数则可以是固定参数。
当然,固定参数并不单单指与特征提取方式相关的参数,也可以是其他参数,总之这里提到的固定参数并不随着客户端所能识别的目标物而变化。
而从服务器中获取到的识别参数则是决定识别模型能够识别出哪些目标物的关键,识别模型通过得到的特征数据能够具体识别出哪些物体是由识别参数决定的,因此,通过不同识别参数所配置出的识别模型能够实现对不同目标物的识别,所以,相对于固定参数来说,识别参数则是可变参数。
客户端在配置识别模型的过程中,可以从服务器获取到至少一个识别模型标识。客户端获取到识别模型标识后,可以针对每个识别模型标识,从预先存储在本地的固定参数中确定出该识别模型所对应的固定参数,以及从获取到的识别参数中确定出与该识别模型标识对应的识别参数。
客户端确定出各识别模型标识所对应的识别参数以及固定参数后,可以分别配置各识别模型,并启用配置出的各识别模型,以在后续过程中,通过启用的这些识别模型以及获取到的视频,进行图像识别。其中,配置同一个识别模型可能需要一个或两个以上的识别参数。
需要说明的是,客户端中预先存储有各识别模型标识与各固定参数之间的对应关系,而客户端除了需要获取到识别模型标识以及识别参数外,也需要获取到识别模型标识与识别参数的对应关系。客户端获取识别参数和各识别模型标识可以同步进行,即同时获取各识别参数以及各识别参数分别对应的识别模型标识,也可以分先后顺序进行获取各识别参数和各识别模型标识。
从上述方法中可以看出,由于客户端可以动态的从服务器获取用于配置识别模型的识别参数,获取到的识别参数不同,配置出的识别模型也不同,配置出的识别模型所能识别出的目标物也不同。所以,无论业务执行过程中需要客户端识别的目标物如何变化,客户端只需从服务器中获取到相应的识别参数,即可配置出能够识别出目标物的识别模型,这样就使得客户端具备了图像识别的动态扩展能力。
客户端在启用配置的至少一个识别模型后,可以通过这些识别模型以及获取到的视频,进行图像识别,具体过程如图2所示。
图2为本申请实施例提供的图像识别的过程示意图,具体包括以下步骤:
S202:获取视频。
客户端在进行图像识别的过程中,可以获取到图像识别所需的视频。其中,客户端可以通过诸如摄像头等图像采集装置,对实际物体进行扫描,以获取到关于待识别物体的视频。当然也可以从其他终端或是服务器中获取用于进行图像识别的一段视频。
S204:从启用的至少一个识别模型中,选择识别模型。
客户端获取到上述视频后,可以从启用的至少一个识别模型中,选择一个识别模型,进而在后续的过程中,通过选择出的识别模型识别该视频中的若干视频帧。其中,启用的至少一个识别模型是客户端先前根据从服务器获取到的至少一个识别参数,以及预先存储在本地的固定参数配置出的。
S206:通过选择的识别模型,识别所述视频中的m个视频帧中是否存在目标物;若存在,则执行步骤S208;若不存在,则执行步骤S210;
S208:执行所述目标物对应的业务;
S210:重新从启用的其他识别模型中选择识别模型,并通过重新选择的识别模型识别所述视频中的n个视频帧,直至识别出所述目标物为止,其中,m和n为正整数,所述m个视频帧和所述n个视频帧不完全相同。
在图像识别的过程中,客户端可从获取到的视频中选取m个视频帧,并通过选择出的识别模型,对这m个视频帧进行识别,以确定这m个视频帧中是否存在目标物。其中,这里的目标物可以指能够触发客户端执行业务的物体。客户端从获取到的视频中识别出一项业务所对应的目标物,即能触发执行该业务。在本申请实施例中,不同的业务可以对应不同的目标物,一个业务也可以对应多个目标物。
当客户端识别出m个视频帧中未存在目标物时,可从获取到的视频中重新选取n个视频帧,以及从启用的其他识别模型中再次选择出一个识别模型,以通过再次选择出的识别模型对重新选取出的这n个视频帧进行图像识别。
其中,m和n均为正整数,m和n可以相等,也可以不等,并且,m个视频帧和n个视频帧只是上述视频中的部分视频帧,而m个视频帧和n个视频帧也不完全相同,即,客户端连续两次识别的视频帧至多只有部分是相同的。
需要说明的是,m个视频帧和n个视频帧不完全相同,是指m个视频帧中至少存在一个视频帧是所述的n个视频帧中不存在的,同时,n个视频帧中也存在至少一个视频帧是所述的m个视频帧中不存在的。
当客户端确定出通过再次选择出的识别模型依然没能识别出n个视频帧中的目标物时,则可以采用与上述相同的方式,继续从获取到的视频中选取若干视频帧,以及启用的识别模型中选择与上次不同的一个识别模型,进而通过选择出的识别模型,对选取出的若干视频帧进行图像识别,直至识别出目标物为止。
换句话说,客户端通过不断切换识别模型的方式,识别获取到的视频中是否存在目标物。客户端通过选择出的识别模型未从视频中的一部分视频帧识别出目标物时,即可切换至另一个识别模型,以对该视频中的另一部分视频帧进行识别,其中,这两部分的视频帧不完全相同,而只要客户端没能从视频中识别出目标物,即可通过这种方式一直识别下去,直至从视频中识别出目标物为止。
在本申请实施例中,客户端从视频中选取视频帧时,可以只选取一个视频帧(即m取1),而下一次图像识别时可以只选取该视频帧的下一视频帧(即n取1),以此类推。客户端可以根据启用的各识别模型,维护一个识别模型列表,并轮循选择该识别模型列表中的识别模型,以对不同视频帧进行图像识别。
为了方便更加清楚的了解整个图像识别过程,下面将通过举例说明的方式,将整个过程完整的进行描述,如图3所示。
图3为本申请实施例提供的图像识别过程的详细流程示意图。
假设,客户端从维护的识别模型列表中选择第一个识别模型,用于对获取到的视频中t时刻的视频帧进行识别,当未通过第一个识别模型从t时刻的视频帧中识别出目标物时,则可切换至第二个识别模型,并对该视频中t+1时刻的视频帧进行识别,以此类推。而当未通过识别模型列表中的最后一个识别模型从该视频的视频帧中识别出目标物时,则重新选择第一个识别模型,对视频中的视频帧进行识别。
需要说明的是,在实际应用中,客户端获取到的视频中可能并不存在目标物,对于这种情况来说,客户端通过选择出的识别模型对视频中的视频帧进行识别时,可能得到两种结果,一种结果是客户端成功识别出了视频中包含的物体,但并不是目标物;另一种结果则是客户端未通过选择的识别模型从视频中识别出任何物体,这种情况下客户端得到的识别结果为识别失败。还有一种情况可能是客户端获取到的视频中是包含目标物的,但是客户端无论选择哪个识别模型,均无法对其进行识别。
所以,在本申请实施例中,当客户端确定经过设定时间后,依然没有通过启用的识别模型从获取到的视频中成功目标物时,则可将获取到的视频发送至服务器,以通过服务器来对该视频中的视频帧进行图像识别,得到识别结果。
其中,这里的识别结果可以分为两种情况,一、识别成功,即成功从该视频中识别出目标物;二、识别失败,即,没有从该视频中识别出目标物。识别失败也存在两种可能,一种是服务器未从该视频中识别出任何的物体,另一种是服务器虽然从视频中识别出了物体,但是该物体并不是目标物。
服务器可将得到识别结果返回给客户端,由客户端根据该识别结果,确定是否执行相应的业务。
客户端也可通过监测整个图像识别过程中所消耗的图像识别的次数,来确定是否需要将获取到的视频发送至服务器,由服务器代替客户端来对视频中的视频帧进行识别,得到识别结果。
具体的,当客户端确定经过设定识别次数之后,依然没有成功从该视频中识别出目标物时,则可将该视频发送至服务器。其中,客户端每选择一个识别模型识别视频帧一次,即算作是一次图像识别。
上述提到的设定识别次数可以根据启用的识别模型的数量来确定,如,若启用3个识别模型,则该设定识别次数可以设置为9次。设定识别次数可不小于启用的识别模型的数量。
客户端在识别出该视频中存在目标物时,则可以触发执行该目标物对应的业务。而在触发执行业务的过程中,可以先显示该业务对应的图像,而后再进行其他业务步骤。其中,不同业务可以对应不同的图像。业务对应的图像可以预先存储在客户端中,客户端也可以通过图像信息地址,获取图像对应的图像信息以及渲染参数,进而渲染并显示该图像。这里提到的图像信息是指图像的具体内容,而渲染参数则是关于控制图像显示方式的参数。而本申请实施例中的图像可以是增强现实(Augmented Reality,AR)图像,当然,客户端渲染并显示的也可以是其他图像。
为了进一步清楚的说明客户端在业务场景中进行模型配置、图像识别的过程,下面将以一个实际的业务场景为例来进行描述,如图4所示。
图4为本申请实施例提供的客户端执行业务的具体过程。
例如,假设一个业务规定用户使用客户端识别出灯笼、炮竹、福字能够分别获取到不同额度的购物券。用户使用客户端成功识别这三个目标物中的任意一个时,均会触发该业务,但通过不同的目标物触发该业务时所显示的该业务对应的图像不同。客户端启动时,可以从服务器获取到关于这三个目标物的识别参数,并针对这三个目标物,根据获取到的三个识别参数以及预先存储的固定参数,分别配置并启用用于识别这三个目标物的识别模型,以及维护包含这三个识别模型的识别模型列表,其中,该识别模型列表中识别模型的排列顺序为:炮竹识别模型、福字识别模型、灯笼识别模型。
当用户执行该业务时,若先使用客户端对灯笼进行扫描,则客户端可获取到关于灯笼的视频。客户端可以选择识别模型列表中排在第一个的炮竹识别模型,用于识别该视频中的视频帧a,当确定未从视频帧a识别出任何目标物时(因为炮竹识别模型只能识别出炮竹,对于福字、灯笼,该炮竹识别模型均无法识别出来,所以,使用炮竹识别模型对灯笼进行识别将不会识别出任何目标物),则选择第二个福字识别模型,用于识别下一个视频帧b,而当确定未从视频帧b识别出任何目标物时,则选择第三个灯笼识别模型,用于识别视频帧c。当确定通过灯笼识别模型从视频帧c中识别出灯笼时,则获取与之对应的图像信息和渲染参数,渲染出如图4所示的图像,并获取到灯笼对应额度的购物券。
从上述方法中可以看出,客户端通过选择的识别模型识别目标物时,只需要识别整个视频中的部分视频帧,并在确定不存在目标物时,选择其他识别模型识别该视频中另一部分视频帧,以确定该视频中是否存在目标物,其中,连续识别的两部分视频帧不完全相同。也就是说,识别模型实际上可以通过该视频中的一个视频帧,对目标物进行识别,而在确定未通过选择的识别模型识别出目标物时,切换至下一个识别模型识别该视频的下一个视频帧。所以,每个识别模型在识别目标物的过程中,均没有对该视频的全部视频帧进行识别,相对于现有技术中需要采用每个识别模型均对该视频的全部视频帧进行识别的方法,本申请提供的上述方法可有效的提高客户端的图像识别效率。
客户端也可以通过选择出的识别模型,从获取到的视频中识别出物体,该物体可能是触发业务执行的目标物,也可能是其他物体。客户端可将识别出的物体与业务对应的目标物进行匹配,当确定两者相同时,则触发执行业务,当确定两者不同时,则可重新选择识别模型,对从该视频中选取的若干视频帧进行识别。
还需说明的是,除上例中的目标物以外,客户端也可以识别条形码、二维码、银行卡等用于支付、转账的目标物,客户端识别这些目标物的识别模型各不相同。这样一来,用户不会因为目标物的限制无法进行诸如支付、转账等业务,从而进一步的提高了客户端的业务执行效率。
以上为本申请实施例提供的模型配置方法以及图像识别的方法,基于同样的思路,本申请实施例还分别提供模型配置的装置以及图像识别的装置,如图5、6所示。
图5为本申请实施例提供的模型配置的装置示意图,具体包括:
获取模块501,获取服务器发送的至少一个识别参数;
配置模块502,根据所述至少一个识别参数以及预先存储在本地的固定参数,配置至少一个识别模型,采用不同的识别参数配置的识别模型用于识别不同的目标物。
所述获取模块501,当所述客户端启动时,获取服务器发送的至少一个识别参数;或当监测到触发所述客户端的指定功能时,获取服务器发送的至少一个识别参数。
所述获取模块501,获取服务器发送的至少一个识别参数以及各识别参数分别对应的识别模型标识;
所述配置模块501,针对每个识别模型标识,从预先存储在本地的固定参数中确定该识别模型标识对应的固定参数;根据该识别模型标识对应的固定参数以及该识别模型标识对应的识别参数,配置该识别模型标识对应的识别模型。
所述装置还包括:
启动模块503,启动配置的至少一个识别模型。
图6为本申请实施例提供的图像识别的装置示意图,具体包括:
获取模块601,获取视频;
选择模块602,从启用的至少一个识别模型中,选择识别模型;
识别模型603,通过选择的识别模型,识别所述视频中的m个视频帧中是否存在目标物;若不存在,重新从启用的其他识别模型中选择识别模型,并通过重新选择的识别模型识别所述视频中的n个视频帧,直至识别出所述目标物为止,其中,m和n为正整数,所述m个视频帧和所述n个视频帧不完全相同。
所述识别模块603,经过设定时间后仍未识别出目标物时,将所述视频发送至服务器,以通过所述服务器对所述视频进行识别。
所述识别模块603,若存在目标物,执行所述目标物对应的业务。
所述识别模块603,获取所述业务对应的图像信息以及渲染参数;根据获取到的所述渲染参数以及所述图像信息,渲染图像。
渲染的图像为增强现实AR图像。
基于图1的模型配置的方法,本申请实施例还对应提供了模型配置的设备,如图7所示。该模型配置的设备包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获取服务器发送的至少一个识别参数;
根据所述至少一个识别参数以及预先存储在本地的固定参数,配置至少一个识别模型,采用不同的识别参数配置的识别模型用于识别不同的目标物。
基于图2的图像识别的方法,本申请实施例还对应提供了图像识别的设备,如图8所示。该图像识别的设备包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获取视频;
从启用的至少一个识别模型中,选择识别模型;
通过选择的识别模型,识别所述视频中的m个视频帧中是否存在目标物;
若不存在,重新从启用的其他识别模型中选择识别模型,并通过重新选择的识别模型识别所述视频中的n个视频帧,直至识别出所述目标物为止,其中,m和n为正整数,所述m个视频帧和所述n个视频帧不完全相同。
在本申请实施例中,客户端从服务器获取至少一个识别参数,并根据获取到的至少一个识别参数以及预先存储在本地的固定参数,配置至少一个识别模型。由于客户端可以动态的从服务器获取用于配置识别模型的识别参数,获取到的识别参数不同,配置出的识别模型也不同,配置出的识别模型所能识别出的目标物也不同。换句话说,客户端中设置的识别模型并不是固定不变的,其所能识别的目标物随着服务器发送的识别参数而改变,这样使得客户端具备了动态识别物体的能力。不仅如此,在图像识别过程中,每个识别模型只需要基于完整视频的部分视频帧,即能快速进行图像识别,并在确定出识别的部分视频帧不存在目标物时,更换其他的识别模型来通过该视频的另一部分视频帧进行图像识别。所以,相比于现有技术来说,不仅能够使客户端具备图像识别的动态扩展能力,还能够实现对目标物的快速识别。
在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),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
- 一种模型配置以及图像识别的方法及装置
- 一种模型配置以及图像识别的方法及装置