一种目标识别方法、装置、移动终端及存储介质与流程

文档序号:24067812发布日期:2021-02-26 13:47阅读:57来源:国知局
一种目标识别方法、装置、移动终端及存储介质与流程

[0001]
本发明涉及计算机技术领域,尤其涉及一种目标识别方法、装置、移动终端及存储介质。


背景技术:

[0002]
相关技术中,目标检测、目标识别等过程一般在服务端执行。例如,通过智能手机、相机等移动终端以一定频率拍摄环境中的图片,发送到后端服务器,由运行在后端服务器上的去噪网络对图片数据进行去噪过滤,然后输入到分类网络进行分类运算,并将结果返回给移动终端,当移动终端接收到有效结果后,停止拍摄图片并根据结果进行展示。
[0003]
但是,由于分类功能完全依赖后端服务器,移动终端设备只负责提供图片,对移动设备的网络流量占用很大。而且,由于传递的是图片数据流,而且移动终端会不经过滤直接将图片数据流传递至服务器,当客户端数量过多时,会导致服务器集群及上游分发网络的带宽资源占用过大。其次,服务端同时负责去噪计算和分类计算,而同时移动终端相机持续捕捉到的环境图片中噪音占比过大,还会导致服务端有效分类运算太低,去噪运算占用资源过高,服务器资源浪费严重。另外,如果当识别目标在画幅中占比过小时易出现遗漏或误判。


技术实现要素:

[0004]
本发明实施例提供一种目标识别方法、装置、移动终端及存储介质,以解决现有的目标识别过程由服务端同时负责去噪计算和分类计算,导致移动设备的网络流量占用很大,服务器集群及上游分发网络的带宽资源占用过大,以及服务端有效分类运算太低,去噪运算占用资源过高,服务器资源浪费严重的问题。
[0005]
为了解决上述技术问题,本发明是这样实现的:
[0006]
第一方面,本发明实施例提供了一种目标识别方法,包括:
[0007]
响应于目标识别指令,获取待识别的原始图像帧;
[0008]
通过所述移动终端中设置的目标识别模型,检测所述原始图像帧中的待识别目标;
[0009]
如果成功检测所述原始图像帧中的待识别目标,截取所述待识别目标所在区域得到目标图像,并将所述目标图像上传至目标服务器,以通过所述目标服务器针对所述目标图像进行分类识别,并获取所述目标服务器返回的目标识别结果;
[0010]
其中,所述目标识别模型通过ssd物体识别框架构建得到,且在所述目标识别模型中通过轻量级物体分类网络替换所述ssd物体识别框架中的视觉几何群网络,并取消所述轻量级物体分类网络中前n个识别层,n为正整数。
[0011]
可选地,在程序安装包中不打包所述目标识别模型,所述并通过所述移动终端中设置的目标识别模型,检测所述原始图像帧中的待识别目标的步骤,包括:
[0012]
在所述移动终端安装所述程序安装包后首次触发所述目标识别指令的情况下,下
载所述目标识别模型并安装至所述移动终端,并通过所述目标识别模型检测所述原始图像帧中的待识别目标;
[0013]
和/或,在接收到针对所述目标识别模型的更新数据的情况下,根据所述更新数据更新所述移动终端的目标识别模型,并通过更新后的目标识别模型检测所述原始图像帧中的待识别目标。
[0014]
可选地,在所述通过所述移动终端中设置的目标识别模型,检测所述原始图像帧中的待识别目标的步骤之前,还包括:
[0015]
通过轻量级物体分类网络替换ssd物体识别框架中的视觉几何群网络,并取消所述轻量级物体分类网络中前n个识别层,得到目标识别模型;
[0016]
通过已知目标检测结果的多个样本图像帧训练所述目标识别模型,并对所述目标识别模型进行模型转化,使转化后的目标识别模型可在移动终端正常运行。
[0017]
可选地,所述对所述目标识别模型进行模型转化的步骤,包括:
[0018]
通过tf-lite对所述目标识别模型进行模型转化。
[0019]
可选地,所述通过所述移动终端中设置的目标识别模型,检测所述原始图像帧中的待识别目标的步骤,包括:
[0020]
将所述原始图像帧的格式转化为位图文件,并通过所述移动终端中设置的目标识别模型,检测所述位图文件中的待识别目标。
[0021]
可选地,所述取消所述轻量级物体分类网络中前n个识别层的步骤,包括:
[0022]
根据所述轻量级物体分类网络中每层网络的识别框增长斜率,以及预设的识别框最小尺寸,确定n的取值,并取消所述轻量级物体分类网络中前n个识别层。
[0023]
可选地,所述获取待识别的原始图像帧的步骤,包括:
[0024]
初始化并启动所述移动终端的相机进行图像预览,并以指定频率截取所述相机的视频流中的图像帧,作为当前待识别的原始图像帧;
[0025]
所述方法,还包括:
[0026]
响应于所述目标服务器返回的分类成功指令,停止所述相机预览并控制所述移动终端跳转至目标识别结果展示页面,所述分类成功指令中包括目标识别结果。
[0027]
可选地,所述指定频率为每秒10次。
[0028]
可选地,所述轻量级物体分类网络包括mobilenet网络、centernet网络中的任意一种;所述待识别目标包括车辆图像,所述分类识别包括车系分类识别。
[0029]
可选地,所述n的取值为2。
[0030]
第二方面,本发明实施例提供了一种目标识别装置,包括:
[0031]
图像获取模块,用于响应于目标识别指令,获取待识别的原始图像帧;
[0032]
目标检测模块,用于通过所述移动终端中设置的目标识别模型,检测所述原始图像帧中的待识别目标;
[0033]
分类识别模块,用于如果成功检测所述原始图像帧中的待识别目标,截取所述待识别目标所在区域得到目标图像,并将所述目标图像上传至目标服务器,以通过所述目标服务器针对所述目标图像进行分类识别,并获取所述目标服务器返回的目标识别结果;
[0034]
其中,所述目标识别模型通过ssd物体识别框架构建得到,且在所述目标识别模型中通过轻量级物体分类网络替换所述ssd物体识别框架中的视觉几何群网络,并取消所述
轻量级物体分类网络中前n个识别层,n为正整数。
[0035]
可选地,在程序安装包中不打包所述目标识别模型,所述目标检测模块,包括:
[0036]
第一目标检测子模块,用于在所述移动终端安装所述程序安装包后首次触发所述目标识别指令的情况下,下载所述目标识别模型并安装至所述移动终端,并通过所述目标识别模型检测所述原始图像帧中的待识别目标;和/或,
[0037]
第二目标检测子模块,用于在接收到针对所述目标识别模型的更新数据的情况下,根据所述更新数据更新所述移动终端的目标识别模型,并通过更新后的目标识别模型检测所述原始图像帧中的待识别目标。
[0038]
可选地,所述装置,还包括:
[0039]
目标识别模型构建模块,用于通过轻量级物体分类网络替换ssd物体识别框架中的视觉几何群网络,并取消所述轻量级物体分类网络中前n个识别层,得到目标识别模型;
[0040]
目标识别模型转化模块,用于通过已知目标检测结果的多个样本图像帧训练所述目标识别模型,并对所述目标识别模型进行模型转化,使转化后的目标识别模型可在移动终端正常运行。
[0041]
可选地,所述目标识别模型转化模块,还用于:
[0042]
通过tf-lite对所述目标识别模型进行模型转化。
[0043]
可选地,所述目标检测模块,具体用于:
[0044]
将所述原始图像帧的格式转化为位图文件,并通过所述移动终端中设置的目标识别模型,检测所述位图文件中的待识别目标。
[0045]
可选地,所述目标识别模型构建模块,还用于:
[0046]
根据所述轻量级物体分类网络中每层网络的识别框增长斜率,以及预设的识别框最小尺寸,确定n的取值,并取消所述轻量级物体分类网络中前n个识别层。
[0047]
可选地,所述图像获取模块,具体用于:
[0048]
初始化并启动所述移动终端的相机进行图像预览,并以指定频率截取所述相机的视频流中的图像帧,作为当前待识别的原始图像帧;
[0049]
所述装置,还包括:
[0050]
识别结果展示模块,用于响应于所述目标服务器返回的分类成功指令,停止所述相机预览并控制所述移动终端跳转至目标识别结果展示页面,所述分类成功指令中包括目标识别结果。
[0051]
可选地,所述指定频率为每秒10次。
[0052]
可选地,所述轻量级物体分类网络包括mobilenet网络、centernet网络中的任意一种;所述待识别目标包括车辆图像,所述分类识别包括车系分类识别。
[0053]
可选地,所述n的取值为2。
[0054]
第三方面,本发明实施例另外提供了一种移动终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的目标识别方法的步骤。
[0055]
第四方面,本发明实施例另外提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的目标识别方法的步骤。
[0056]
在本发明实施例中,通过更换ssd基础框架中的vgg-16网络,将目标识别模型部署在移动端平台上,从而达到移动平台进目标检测,后端服务器进行分类识别的结构。而且,目标识别功能在移动端平台上的落地,使得网络只需承载仅车辆图片等目标图像的传递,移动设备的流量消耗极大降低。同时优化了整套系统的使用体验。此外,服务端不再接收到不含有目标物体,例如车辆的图片,同时不再承担去噪计算,使得集群负载大大降低,并且因为网络传输数据的大量减少,集群上游网络的带宽压力也得到极大缓解。
[0057]
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
[0058]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059]
图1是本发明实施例中的一种目标识别方法的步骤流程图;
[0060]
图2是本发明实施例中的一种ssd的结构示意图;
[0061]
图3是本发明实施例中的另一种目标识别方法的步骤流程图;
[0062]
图4是本发明实施例中的一种车辆识别的流程示意图;
[0063]
图5是本发明实施例中的一种目标识别装置的结构示意图;
[0064]
图6是本发明实施例中的另一种目标识别装置的结构示意图;
[0065]
图7是本发明实施例中的一种移动终端的硬件结构示意图。
具体实施方式
[0066]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067]
参照图1,示出了本发明实施例中一种目标识别方法的步骤流程图。
[0068]
步骤110,响应于目标识别指令,获取待识别的原始图像帧;
[0069]
步骤120,通过所述移动终端中设置的目标识别模型,检测所述原始图像帧中的待识别目标;
[0070]
步骤130,如果成功检测所述原始图像帧中的待识别目标,截取所述待识别目标所在区域得到目标图像,并将所述目标图像上传至目标服务器,以通过所述目标服务器针对所述目标图像进行分类识别,并获取所述目标服务器返回的目标识别结果;
[0071]
其中,所述目标识别模型通过ssd物体识别框架构建得到,且在所述目标识别模型中通过轻量级物体分类网络替换所述ssd物体识别框架中的视觉几何群网络,并取消所述轻量级物体分类网络中前n个识别层,n为正整数。
[0072]
在本发明实施例中,为了避免现有的在服务器端进行目标检测的各种问题,可以
将运行在服务端的去噪网络前置到移动终端侧,并加入目标检测功能。例如,在车辆识别和车系识别应用场景中,可以将车辆识别过程前置到移动终端,仅在服务器端进行车系识别。
[0073]
其中,移动终端(端侧)指移动端平台,目前主流的移动端平台有ios和android等。车辆识别可以理解为在一张包含多个物体的场景图片中,如果有车辆存在,则识别并截图该车辆。车系识别可以理解为通过一张车辆图片,识别出该车辆所属的品牌、车系等信息。
[0074]
具体方案为:响应于目标识别指令,获取待识别的原始图像帧,进而通过所述移动终端中设置的目标识别模型,检测所述原始图像帧中的待识别目标,如果成功检测所述原始图像帧中的待识别目标,截取所述待识别目标所在区域得到目标图像,并将所述目标图像上传至目标服务器,以通过所述目标服务器针对所述目标图像进行分类识别,并获取所述目标服务器返回的目标识别结果,如果未能成功检测所述原始图像帧中的待识别目标,则可以返回步骤110,重新获取原始图像帧。
[0075]
在本发明实施例中,可以通过任何可用方式获取待识别的原始图像帧,例如通过相机拍摄的图片作为原始图像帧,或者通过截取相机拍摄的视频流中的视频帧作为原始图像帧,或者读取移动终端本地相册中的照片作为原始图像帧等等,对此本发明实施例不加以限定。目标服务器可以理解为设置的用于车系识别等分类识别的服务器,其可以通过任何可用方式完成分类识别,对此本发明实施例不加以限定。分类识别可以理解为识别目标图像中包含的待识别对象的详细类别信息,例如车辆所属的品牌、车系等详细类别信息。检测所述原始图像帧中的待识别目标的过程可以理解为检测并识别出原始图像帧中包含的车辆等待识别目标,但不会识别待识别目标的详细类别信息。
[0076]
其中,目标识别模型的框架选择ssd(single shot multibox detector,一种目标检测算法)物体识别框架,如图2所示为一种ssd的结构示意图,ssd的默认基础网络是vgg16(visual geometry group network,视觉几何群网络)。但是,由于上述目标识别模型需要在移动终端侧运行,为了保证其能够在移动终端侧正常运行,需要在一定程度上缩减目标识别模型的体积,提高其运行效率,而vgg16网络为16层网络,参数较多,运行效率相对较低,相对较落后。因此在本发明实施例中,可以通过轻量级物体分类网络替换ssd物体识别框架中原有的vgg16网络。其中,轻量级物体分类网络可以为任意一种可以实现车辆识别等目标检测的轻量级机器学习网络模型,例如mobilenet、squeezenet、xception、shufflenet、centernet、cornernet,等等。
[0077]
另外,在实际应用中,在进行车系识别等目标识别时,在相机拍摄视频的过程中,同一视频帧中可能存在多个大小不同的待识别目标,那么在进行后续分类识别之前,会对其中各个尺寸的待识别目标都进行分类识别,其中可能会出现截图到的待识别目标在原有画幅中占比较小,但是一般而言用户更倾向于识别其中占比较大的待识别目标,因此当车辆等待识别目标在画幅中占比过小时易出现遗漏或误判。而且,在实际应用中,对于物体分类网络而言,一般为多层网络,每个网络层都可以针对输入图像进行卷积、物体识别等操作,而且越后面的网络层的识别框的尺寸越来越大,直至识别框刚好把物体框出。
[0078]
因此,在本发明实施例中,为了确保识别并截图到的车辆等待识别目标在原始画幅,也即原始图像帧中保持较大占比,降低出现遗漏或误判的概率,可以取消目标识别模型中的轻量级物体分类网络中前n个识别层,n为正整数,也即取消前n个网络层的车辆识别等物体识别过程,保留其除物体识别之外的卷积等其他过程。其中n的具体取值可以根据需求
以及具体的应用场景等进行自定义设置,对此本法实施例不加以限定。而且n的取值小于轻量级物体分类网络中包含的网络层数。
[0079]
参照图3,在一实施例中,在程序安装包中不打包所述目标识别模型,所述步骤120进一步可以包括:
[0080]
步骤121,在所述移动终端安装所述程序安装包后首次触发所述目标识别指令的情况下,下载所述目标识别模型并安装至所述移动终端,并通过所述目标识别模型检测所述原始图像帧中的待识别目标;和/或,
[0081]
步骤122,在接收到针对所述目标识别模型的更新数据的情况下,根据所述更新数据更新所述移动终端的目标识别模型,并通过更新后的目标识别模型检测所述原始图像帧中的待识别目标。
[0082]
在实际应用中,对于不同的用户而言,可能存在用户不会触发目标识别,也即在一段时间内不存在目标识别的需求,而上述的目标识别模型必然需要占用一定的存储空间,如果将其与需要实现目标识别功能的应用程序的程序安装包一起打包,那么移动终端在安装相应应用程序时,则会默认安装相应目标识别模型,而对于不存在目标识别需求的移动终端而言,则会导致存储空间的浪费。
[0083]
因此,在本发明实施例中,为了尽可能避免上述情况下的存储空间浪费,可以设置在相应的程序安装包中不打包所述目标识别模型,而是在端侧加入模型下载和更新机制。该机制具体可以为:当安装app后第一次触发目标识别功能时,给出等待提示并通过网络将目标识别模型下载到移动终端,再通过目标识别模型进行识别。也即,在所述移动终端安装所述程序安装包后首次触发所述目标识别指令的情况下,下载所述目标识别模型并安装至所述移动终端,并通过所述目标识别模型检测所述原始图像帧中的待识别目标。
[0084]
同理,若后端返回了需要更新模型的标识,则先进行模型更新。也即,在接收到针对所述目标识别模型的更新数据的情况下,则可以根据所述更新数据更新所述移动终端的目标识别模型,并通过更新后的目标识别模型检测所述原始图像帧中的待识别目标。
[0085]
参照图3,在一实施例中,在所述步骤120之前,进一步还可以包括:
[0086]
步骤10,通过轻量级物体分类网络替换ssd物体识别框架中的视觉几何群网络,并取消所述轻量级物体分类网络中前n个识别层,得到目标识别模型;
[0087]
步骤20,通过已知目标检测结果的多个样本图像帧训练所述目标识别模型,并对所述目标识别模型进行模型转化,使转化后的目标识别模型可在移动终端正常运行。
[0088]
如上述,在本发明实施例中,需要预先设置目标识别模型,而且为了保证目标识别模型能够在移动终端正常运行,在通过已知目标检测结果的多个样本图像帧训练所述目标识别模型之后,还需要针对目标识别模型进行模型转化,使得转化后的目标识别模型可在移动终端正常运行。已知目标检测结果的样本图像帧可以理解为已知其中包含的待识别目标的样本图像帧。
[0089]
在本发明实施例中,可以通过任何可用方式针对目标识别模型进行模型转化,使其大小、格式满足部署在端侧的要求,其中部署在端侧的要求也可以根据需求进行自定义设置,对此本发明实施例均不加以限定。
[0090]
例如,未转化前的目标识别模型需要32位的浮点型存储其参数,导致训练后的模型参数较大,那么则可以通过模型转化将其参数处理后改成8位整型参数,以提升端侧目标
识别模型的运算效率。
[0091]
另外,在实际应用中,上述步骤10-20中的目标识别模型的设置过程可以在移动终端侧进行,也可以在其他专门用于调整目标识别模型的机器(例如服务器、第三方电子设备等)端执行,一般而言,为了避免给移动终端造成过多负担,上述步骤10-20可以在用于调整目标识别模型的机器侧执行,并将设置完成后的目标识别模型以及其更新数据等存储至某一服务器中,移动终端可以从该服务器侧下载目标识别模型,或者下载目标识别模型的更新数据,以在移动终端侧进行目标检测。
[0092]
可选地,在一实施例中,对所述目标识别模型进行模型转化的过程,具体可以包括:通过tf-lite对所述目标识别模型进行模型转化。
[0093]
tf-lite(tensorflow lite)是为了将深度学习模型部署在移动端和嵌入式设备的工具包,可以把训练好的tf模型通过转化、部署和优化三个步骤,达到提升运算速度,减少内存、显存占用的效果。因此在本发明实施例中,模型训练完毕后,优选地可以通过tf-lite对所述目标识别模型进行模型转化。
[0094]
可选地,在一实施例中,通过目标识别模型检测原始图像帧中的待识别目标的过程,具体可以包括:将所述原始图像帧的格式转化为位图文件,并通过所述移动终端中设置的目标识别模型,检测所述位图文件中的待识别目标。
[0095]
在实际应用中,对于经tf-lite转化后的目标识别模型而言,其一般处理的图片格式需要为位图文件。因此,在通过目标识别模型检测原始图像帧中的待识别目标时,具体可以包括:将所述原始图像帧的格式转化为位图文件,并通过所述移动终端中设置的目标识别模型,检测所述位图文件中的待识别目标。
[0096]
其中,在本发明实施例中,可以通过任何可用方式将原始图像帧的格式转化为位图文件(bitmap),对此本发明实施例不加以限定。例如,可以将原始图像帧按照yuv->rgb->bitmap的顺序,将其处理为位图文件,等等。
[0097]
可选地,在一实施例中,取消所述轻量级物体分类网络中前n个识别层的过程,具体可以包括:根据所述轻量级物体分类网络中每层网络的识别框增长斜率,以及预设的识别框最小尺寸,确定n的取值,并取消所述轻量级物体分类网络中前n个识别层。
[0098]
在实际应用中,轻量级物体分类网络中一般包含多个网络层,而且越向后的网络层,其识别框的尺寸越来越大,直至框刚好把物体框出,其中识别框的增长幅度也即增长斜率可以设置,因此在本发明实施例中,可以根据根据所述轻量级物体分类网络中每层网络的识别框增长斜率,以及预设的识别框最小尺寸,确定n的取值,并取消所述轻量级物体分类网络中前n个识别层。其中,轻量级物体分类网络中每层网络的识别框增长斜率、识别框最小尺寸等参数均可以根据需求进行自定义设置,对此本发明实施例不加以限定。
[0099]
例如,假设按照轻量级物体分类网络中每层网络的识别框增长斜率,在第4层网络时的识别框已达到识别框最小尺寸,或者在第4层网络的识别框大于识别框最小尺寸,且第3层网络的识别框小于识别框最小尺寸,那么则可以设置n的取值为3。
[0100]
当然,在本发明实施例中,为了提高n的精准性,还可以在确定n的取值范围后通过在设置n的其取值范围内的每个取值的条件下,多次模拟目标识别的过程,以从中确定更满足需求的n的取值,对此本发明实施例不加以限定。
[0101]
可选地,在一实施例中,所述轻量级物体分类网络包括mobilenet网络、centernet
网络中的任意一种;所述待识别目标包括车辆图像,所述分类识别包括车系分类识别。
[0102]
其中,mobilenet网络是google针对手机等嵌入式设备提出的一种轻量级的深层神经网络。centernet应该是one-stage目标检测方法中性能最好的方法,其利用关键点三元组即中心点、左上角点和右下角点三个关键点而不是两个点来确定一个目标,使网络花费了很小的代价便具备了感知物体内部信息的能力,从而能有效抑制误检。
[0103]
在实际应用中,根据需求待识别目标可以为人像、物品图像等,例如在车系识别应用场景下,待识别目标可以为车辆图像,相应地分类识别可以包括车系分类识别。
[0104]
参照图3,在一实施例中,所述步骤110进一步可以包括:初始化并启动所述移动终端的相机进行图像预览,并以指定频率截取所述相机的视频流中的图像帧,作为当前待识别的原始图像帧。
[0105]
相应地,所述方法,还可以包括:
[0106]
步骤140,响应于所述目标服务器返回的分类成功指令,停止所述相机预览并控制所述移动终端跳转至目标识别结果展示页面,所述分类成功指令中包括目标识别结果。
[0107]
其中,从相机预览的视频流中截取图像帧的指定频率可以根据需求进行自定义设置,对此本发明实施例不加以限定。其中,可以通过任何可用方式截取所述相机的视频流中的图像帧,对此本发明实施例不加以限定。例如,可以通过抽取视频流中的视频帧作为图像帧,或者是针对视频流中任一视频帧进行截图得到图像帧,等等。
[0108]
如果接收到目标服务器返回的分类成功指令,则无需继续提供原始图像帧,那么则可以停止相机预览,并控制所述移动终端跳转至目标识别结果展示页面,在目标识别结果展示页面中可以展示当前的目标识别结果,例如车系识别结果等。而如果没有接收到目标服务器返回的分类成功指令,或者接收到目标服务器返回的分类失败指令,则可以继续执行以指定频率截取所述相机的视频流中的图像帧,作为当前待识别的原始图像帧的步骤,并且基于最新获取的原始图像帧执行上述的步骤120-130,直至接收到目标服务器返回的分类成功指令,或者是目标识别时长超出上限。
[0109]
可选地,在本发明实施例中,为了提高目标识别反映效率,同时避免识别过快导致用户无法及时提供合适的原始图像帧,可以设置所述指定频率为每秒10次。
[0110]
如图4所示为一种车辆识别系统的整体流程示意图。若端侧已具有网络模型且无需更新,则触发目标识别功能后,移动终端可以调起系统相机,并以固定频率截取相机视频流中的一帧图像,输入到目标识别网络进行车辆识别计算,若识别到车辆,移动终端可以将车辆所在区域进行截图,形成一张只包含该车辆的图像,并通过网络将车辆图像传输到目标服务端进行车系识别。而且每次启动目标识别模型时,还可以将目标识别模型读取至移动终端的内存中并初始化该目标识别模型。
[0111]
可选地,在一实施例中,为了快速确定n的取值,同时避免确定n取值过程中计算量影响目标识别效率,可以根据经验设置所述n的取值为2。
[0112]
在本发明实施例中,通过更换ssd基础框架中的vgg-16网络和tf-lite技术,将目标识别模型部署在移动端平台上,从而达到移动平台进行车辆识别,后端服务器进行车型识别的结构。而且,目标识别功能在移动端平台上的落地,使得网络只需承载仅车辆图片等目标图像的传递,移动设备的流量消耗极大降低。同时优化了整套系统的使用体验。此外,服务端不再接收到不含有目标物体,例如车辆的图片,同时不再承担去噪计算,使得集群负
载大大降低,并且因为网络传输数据的大量减少,集群上游网络的带宽压力也得到极大缓解。
[0113]
参照图5,示出了本发明实施例中一种目标识别装置的结构示意图。
[0114]
本发明实施例的目标识别装置包括:图像获取模块210、目标检测模块220和分类识别模块230。
[0115]
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
[0116]
图像获取模块210,用于响应于目标识别指令,获取待识别的原始图像帧;
[0117]
目标检测模块220,用于通过所述移动终端中设置的目标识别模型,检测所述原始图像帧中的待识别目标;
[0118]
分类识别模块230,用于如果成功检测所述原始图像帧中的待识别目标,截取所述待识别目标所在区域得到目标图像,并将所述目标图像上传至目标服务器,以通过所述目标服务器针对所述目标图像进行分类识别,并获取所述目标服务器返回的目标识别结果;
[0119]
其中,所述目标识别模型通过ssd物体识别框架构建得到,且在所述目标识别模型中通过轻量级物体分类网络替换所述ssd物体识别框架中的视觉几何群网络,并取消所述轻量级物体分类网络中前n个识别层,n为正整数。
[0120]
参照图6,在一实施例中,在程序安装包中不打包所述目标识别模型,所述目标检测模块220,进一步可以包括:
[0121]
第一目标检测子模块221,用于在所述移动终端安装所述程序安装包后首次触发所述目标识别指令的情况下,下载所述目标识别模型并安装至所述移动终端,并通过所述目标识别模型检测所述原始图像帧中的待识别目标;和/或,
[0122]
第二目标检测子模块222,用于在接收到针对所述目标识别模型的更新数据的情况下,根据所述更新数据更新所述移动终端的目标识别模型,并通过更新后的目标识别模型检测所述原始图像帧中的待识别目标。
[0123]
参照图6,在一实施例中,还可以包括:
[0124]
目标识别模型构建模块30,用于通过轻量级物体分类网络替换ssd物体识别框架中的视觉几何群网络,并取消所述轻量级物体分类网络中前n个识别层,得到目标识别模型;
[0125]
目标识别模型转化模块40,用于通过已知目标检测结果的多个样本图像帧训练所述目标识别模型,并对所述目标识别模型进行模型转化,使转化后的目标识别模型可在移动终端正常运行。
[0126]
可选地,在一实施例中,所述目标识别模型转化模块40,还可以用于:通过tf-lite对所述目标识别模型进行模型转化。
[0127]
可选地,在一实施例中,所述目标检测模块220,具体可以用于:将所述原始图像帧的格式转化为位图文件,并通过所述移动终端中设置的目标识别模型,检测所述位图文件中的待识别目标。
[0128]
可选地,在一实施例中,所述目标识别模型构建模块30,还可以用于:根据所述轻量级物体分类网络中每层网络的识别框增长斜率,以及预设的识别框最小尺寸,确定n的取值,并取消所述轻量级物体分类网络中前n个识别层。
[0129]
可选地,在一实施例中,所述图像获取模块210,具体可以用于:
[0130]
初始化并启动所述移动终端的相机进行图像预览,并以指定频率截取所述相机的视频流中的图像帧,作为当前待识别的原始图像帧;
[0131]
所述装置,还可以包括:
[0132]
识别结果展示模块240,用于响应于所述目标服务器返回的分类成功指令,停止所述相机预览并控制所述移动终端跳转至目标识别结果展示页面,所述分类成功指令中包括目标识别结果。
[0133]
可选地,在一实施例中,所述指定频率为每秒10次。
[0134]
可选地,在一实施例中,所述轻量级物体分类网络包括mobilenet网络、centernet网络中的任意一种;所述待识别目标包括车辆图像,所述分类识别包括车系分类识别。
[0135]
可选地,在一实施例中,所述n的取值为2。
[0136]
本发明实施例提供的目标识别装置能够实现图1和图3的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
[0137]
优选的,本发明实施例还提供了一种移动终端,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述目标识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0138]
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述目标识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccess memory,简称ram)、磁碟或者光盘等。
[0139]
图7为实现本发明各个实施例的一种移动终端的硬件结构示意图。
[0140]
该移动终端500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图7中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
[0141]
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
[0142]
移动终端通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
[0143]
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与移动终端500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
[0144]
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器
(graphics processing unit,gpu)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的原始图像帧可以显示在显示单元506上。经图形处理器5041处理后的原始图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
[0145]
移动终端500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在移动终端500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
[0146]
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板5061。
[0147]
用户输入单元507可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
[0148]
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图7中,触控面板5071与显示面板5061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现移动终端的输入和输出功能,具体此处不做限定。
[0149]
接口单元508为外部装置与移动终端500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且
将接收到的输入传输到移动终端500内的一个或多个元件或者可以用于在移动终端500和外部装置之间传输数据。
[0150]
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0151]
处理器510是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
[0152]
移动终端500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0153]
另外,移动终端500包括一些未示出的功能模块,在此不再赘述。
[0154]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0155]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0156]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
[0157]
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0158]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0159]
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0160]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0161]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0162]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0163]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1