样本中至少一个预定目标的位置确定方法及装置与流程

文档序号:17624561发布日期:2019-05-10 23:30阅读:179来源:国知局
样本中至少一个预定目标的位置确定方法及装置与流程

本发明涉及人工智能技术领域,具体涉及样本中至少一个预定目标的位置确定方法及装置。



背景技术:

在人工智能领域,不可能避免地需要通过深度学习的方法确定预定目标在样本中的位置,例如,识别人在图片或视频中的位置,识别一句话在一段对话中的位置、识别某个字或词在一段文本中的位置等等。由于人工智能所需要信息较多,通常会需要处理多个预定目标在样本中的位置。

现有方法通常是采用所有待确定目标在训练样本中的位置进行训练后,得到一个模型,从而通过该模型对任意样本进行处理即可得到待确定目标的位置。

然而,发明人发现,现有方法存在以下问题:1、通常待确定目标的信息粒度相差较大,且可能具有包含关系,由此会导致模型较大,从而容易出错且响应较慢;而且对于不同信息粒度的目标,模型处理的结果准确性相差较大;2、采用上述模型确定目标在任意样本中的位置时,必须对一个样本处理完,才能够处理下一样本,如图1所示,模型对样本1处理完之后,才能够对样本2进行处理,对多个样本的处理效率较低。



技术实现要素:

有鉴于此,本发明实施例提供了样本中至少一个预定目标的位置确定方法及装置,以解决现有方法对于不同信息粒度的目标处理的准确率相差较大、对多个样本的处理效率较低的问题。

根据第一方面,本发明实施例提供了一种样本中至少一个预定目标的位置确定方法,包括:s1:获取至少一个主目标在样本中的位置,并将所述至少一个主目标确定为当前目标;其中,每个主目标直接包含或间接包含至少一个预定目标;s2:判断当前目标中是否存在下一级子目标;当当前目标中存在下一级子目标时,执行步骤s3;否则,无操作;s3:判断所述当前目标的下一级子目标是否为预定目标;当所述当前目标的下一级子目标是为预定目标时,执行步骤s4;否则,执行步骤s5;s4:获取主目标在样本中的位置,预定目标在上一级目标中的位置,以及直接包含或间接包含预定目标的子目标在上一级目标中的位置,据此获取多个预定目标在样本中的位置;继续执行步骤s5;s5:判断所述当前目标的下一级子目标是否直接包含或间接包含至少一个预定目标;当所述当前目标的下一级子目标直接包含或间接包含至少一个预定目标时,执行步骤s6;否则,无操作;s6:分别获取当前目标的下一级子目标在所述当前目标中的位置,并将当前目标的子目标确定为当前目标;继续执行步骤s2。

可选地,所述样本包括图片、音频、视频、文本。

可选地,步骤s6中,还确定当前目标的下一级子目标或当前目标的等级标识。

可选地,根据分级结构表确定每个目标的下一级子目标或上一级子目标。

根据第二方面,本发明实施例提供了一种样本中至少一个预定目标的位置确定装置,包括:第一获取单元,用于获取至少一个主目标在样本中的位置,并将所述至少一个主目标确定为当前目标;其中,每个主目标直接包含或间接包含至少一个预定目标;第一判断单元,用于判断当前目标中是否存在下一级子目标;第二判断单元,用于当当前目标中存在下一级子目标时,判断所述当前目标的下一级子目标是否为预定目标;第二获取单元,用于当所述当前目标的下一级子目标是为预定目标时,获取主目标在样本中的位置,预定目标在上一级目标中的位置,以及直接包含或间接包含预定目标的子目标在上一级目标中的位置,据此获取多个预定目标在样本中的位置;第三判断单元,用于判断所述当前目标的下一级子目标是否直接包含或间接包含至少一个预定目标;获取单元,用于当所述当前目标的下一级子目标直接包含或间接包含至少一个预定目标时,分别获取当前目标的下一级子目标在所述当前目标中的位置,并将当前目标的子目标确定为当前目标。

可选地,所述样本包括图片、音频、视频、文本。

可选地,当所述当前目标的下一级子目标是为预定目标,或者直接包含或间接包含至少一个预定目标时,还确定当前目标的下一级子目标或当前目标的等级标识。

可选地,根据预先确定的分级结构表确定每个目标的下一级子目标或上一级子目标。

根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者其任意可选实施方式所述的样本中至少一个预定目标的位置确定方法。

根据第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面或者其任意可选实施方式所述的样本中至少一个预定目标的位置确定方法。

上述样本中至少一个预定目标的位置确定方法及装置,根据包含关系一级一级确定直接包含或间接包含预定目标在上一级目标中的位置,以及预定目标在上一级目标中的位置,以确定样本中至少一个预定目标的位置,具有如下优点:(1)由于每一级目标与其上一级目标之间的差别较小,因此,每一级目标在其上一级目标中的位置确定较为准确,从而最终预定目标在样本中的位置确定较为准确;(2)可以根据样本中可能存在的目标的级数灵活确定模型的大小,不容易出错且响应较快;(3)能够将预定目标的位置逐级输出,方便在线分析及实时监控;(4)由于同一个模型能够识别不同等级的目标,因此,同一模型的第一级别程序在处理样本1时、第二级别程序可以同时处理样本2、第三级别程序可以同时处理样本3……由此可见,上述样本中至少一个预定目标的位置确定方法能够使得同一模型对多个不同样本并行处理,即在一个样本未处理完便开始处理另一个样本,对多个样本的处理效率较高。

附图说明

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

图1示出了现有方法中的模型的时间分配示意图;

图2示出了根据本发明实施例的一种样本中至少一个预定目标的位置确定方法的流程图;

图3示出了根据本发明实施例的模型的时间分配示意图;

图4示出了一个分级结构表的示意图;

图5示出了根据本发明实施例的分级结构表;

图6示出了根据本发明实施例的深度学习推理基本子模块的原理框图;

图7示出了多个深度学习推理基本子模块所组成的程序系统结构示意图;

图8示出了通过该程序系统实现上述方法的流程示意图;

图9示出了根据本发明实施例的样本中至少一个预定目标的位置确定装置的原理框图;

图10示出了根据本发明实施例的一种电子设备的结构示意图。

具体实施方式

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

实施例一

图2示出了根据本发明实施例的一种样本中至少一个预定目标的位置确定方法的流程图。该方法可以用于确定样本中至少一个目标的位置,该样本可以为图片、音频、视频、文本等类型。下面以样本为视频图像类型为例来说明本方法。如图2所示,该方法包括如下步骤:

s101:获取至少一个主目标在样本中的位置,并将至少一个主目标确定为当前目标;其中,每个主目标直接包含或间接包含至少一个预定目标。

例如,视频监控图像中有人,目标是获取人的眼睛和鼻子的位置,则视频图像的主目标为人。需要说明的是,样本的主目标可以为一个,也可以为多个,在此仅以前者为例。

s102:判断当前目标中是否存在下一级子目标。当当前目标中存在下一级子目标时,执行步骤s103;否则,无操作。

s103:判断当前目标的下一级子目标是否为预定目标。当当前目标的下一级子目标为预定目标时,执行步骤s104;否则,执行步骤s105。

s104:获取主目标在样本中的位置,预定目标在上一级目标中的位置,以及直接包含或间接包含预定目标的子目标在上一级目标中的位置,据此获取多个预定目标在样本中的位置。继续执行步骤s105。

s105:判断当前目标的下一级子目标是否直接包含或间接包含至少一个预定目标。当当前目标的下一级子目标直接包含或间接包含至少一个预定目标时,执行步骤s106;否则,无操作。

s106:分别获取当前目标的下一级子目标在当前目标中的位置,并将当前目标的子目标确定为当前目标;继续执行步骤s102。

沿用上例,上述步骤s102至s106的循环步骤具体为:

第一次循环:当前目标为主目标,也即人。判断视频图像中显示的人的下一级子目标包括:头、胳膊、腿,也即当前目标中存在下一级子目标。判断头、胳膊、腿是否为预定目标,由于均不是,因此转入判断头、胳膊、腿是否包含或间接包含至少一个预定目标。由于头包含眼睛和鼻子,因此获取眼睛和鼻子在头中的位置,并将头确定为当前目标。

由此可见,第一次循环后,当前目标为头,没有确定出预定目标的位置。

第二次循环:当前目标为头。判断视频图像中显示的头的下一级子目标包括眼睛、鼻子、耳朵,也即当前目标中存在下一级子目标。判断眼睛、鼻子、耳朵是否为预定目标。由于鼻子不是预定目标,判断鼻子是否直接包含或间接至少一个预定目标,由于否,因此不再有后续操作;由于眼睛和鼻子是预定目标,因此确定出主目标人在视频图像中的位置,眼睛和鼻子在头中的位置,头在人中的位置,据此获得眼睛和鼻子在视频图像中的位置。继续判断眼睛和鼻子是否之间包含或间接包含其他预定目标,由于否,不再有后续操作。

由此可见,第二次循环之后,确定了眼睛和鼻子在视频图像中的位置。

上述样本中至少一个预定目标的位置确定方法,根据包含关系一级一级确定直接包含或间接包含预定目标在上一级目标中的位置,以及预定目标在上一级目标中的位置,以确定样本中至少一个预定目标的位置,具有如下优点:(1)由于每一级目标与其上一级目标之间的差别较小,因此,每一级目标在其上一级目标中的位置确定较为准确,从而最终预定目标在样本中的位置确定较为准确;(2)可以根据样本中可能存在的目标的级数灵活确定模型的大小,不容易出错且响应较快;(3)能够将预定目标的位置逐级输出,方便在线分析及实时监控;(4)由于同一个模型能够识别不同等级的目标,因此,同一模型的第一级别程序在处理样本1时、第二级别程序可以同时处理样本2、第三级别程序可以同时处理样本3……如图3所示,由此可见,上述样本中至少一个预定目标的位置确定方法能够使得同一模型对多个不同样本并行处理,即在一个样本未处理完便开始处理另一个样本,对多个样本的处理效率较高。

作为本实施例的一种可选实施方式,步骤s106中还确定当前目标的下一级子目标或当前目标的等级标识,以便于记录某一级目标在上一级目标中的位置,例如,上述例子中各个目标对应的等级标识可以如图5所示。

作为本实施例的一种可选实施方式,根据分级结构表确定每个目标的下一级子目标或上一级子目标。图4示出了一个分级结构表的示意图,其中标签1、标签2、标签3、标签4为根节点的下一级子节点,也即标签1、标签2、标签3、标签4中的项目为根节点中项目的下一级子项目;标签11、标签12为标签1的下一级子节点,也即标签11、标签12中的项目为标签1中项目的下一级子项目……图5示出了上述例子对应的分级结构表。

可选地,可以采用至少两个图6所示的深度学习推理基本子模块(程序模块)来实现上述例子中的方法。图7示出了多个深度学习推理基本子模块所组成的程序系统结构示意图。图8示出了通过该程序系统实现上述方法的流程示意图,其采用两级神经网络推理模块的多级神经网络模块来实现,第一级包含一个深度学习推理基本子模块,识别目标包括类别1.1,类别1.2;第二级包含两个深度学习推理基本子模块,其中基本子模块1识别目标为类别2.1.1,基本子模块2识别目标为2.2.1,每个类别对应关系为,类别1.1空间包含类别2.1.1,类别1.2空间包含类别2.2.1,因而建立为“类别1.1->第二级基本子模块1”和“类别1.2->第二级基本子模块2”的对应输入关系。

所述的深度学习推理基本子模块,可部署于gpu、fpga、深度学习专用处理器等加速设备上进行优化。其中,深度学习推理基本子模块包括图像处理子模块、图像目标检测子模块、结果处理子模块,各子模块按顺序串行连接。

图像预处理子模块,用于接收图像采集模块的输出图像或某上一级图像预处理模块预处理后特征图像,此外,第一级以后级别中的图像预处理子模块还需接收上一级输出中与本模块识别目标具有父子关联性的识别结果;之后根据预设策略对图像进行预处理操作。预处理操作包括但不仅限于以下一种或多种:缩放至固定大小、裁剪、去雾、去躁等。

所述的图像目标检测子模块,包含一个深度学习目标检测模型,用于对图像预处理子模块输出的图像进行解析,获得目标检测结果,最终输出到与之连接的识别结果处理子模块。

结果处理子模块,用于整合目标检测信息及附加信息并输出到结果收集模块,并根据预先制定的父子关联对上述整合信息分类汇总后输入到下一级中对应的基本子模块。

所述的深度学习目标检测模型,输入图像信息,输出为一个目标检测信息集合。

所述目标检测信息集合中的每个目标检测信息对应于图中的一个被识别出的目标,并至少包含目标类别信息及目标位置信息。所述的附加信息,包含但不仅限于:空(必要信息已包含在目标检测信息中),所在级别编号、所在基本子模块编号、图片文件名、该输入在上一级中的识别结果编号,识别结果编号。

实施例二

图9示出了根据本发明实施例的样本中至少一个预定目标的位置确定装置的原理框图,该装置可以用于实现实施例一或者其任意可选实施方式所述的方法。如图9所示,该装置包括第一获取单元10、第一判断单元20、第二判断单元30、第二获取单元40、第三判断单元50和获取单元60。

第一获取单元10用于获取至少一个主目标在样本中的位置,并将至少一个主目标确定为当前目标;其中,每个主目标直接包含或间接包含至少一个预定目标。

第一判断单元20用于判断当前目标中是否存在下一级子目标。

第二判断单元30用于当当前目标中存在下一级子目标时,判断当前目标的下一级子目标是否为预定目标。

第二获取单元40用于当当前目标的下一级子目标是为预定目标时,获取主目标在样本中的位置,预定目标在上一级目标中的位置,以及直接包含或间接包含预定目标的子目标在上一级目标中的位置,据此获取多个预定目标在样本中的位置。

第三判断单元50用于判断当前目标的下一级子目标是否直接包含或间接包含至少一个预定目标。

获取单元60用于当当前目标的下一级子目标直接包含或间接包含至少一个预定目标时,分别获取当前目标的下一级子目标在当前目标中的位置,并将当前目标的子目标确定为当前目标。

上述样本中至少一个预定目标的位置确定装置,具有如下优点:(1)最终预定目标在样本中的位置确定较为准确;(2)可以根据样本中可能存在的目标的级数灵活确定模型的大小,不容易出错且响应较快;(3)能够将预定目标的位置逐级输出,方便在线分析及实时监控;(4)能够使得同一模型对多个不同样本并行处理,即在一个样本未处理完便开始处理另一个样本,对多个样本的处理效率较高。具体请参见实施例一。

可选地,样本包括图片、音频、视频、文本。

可选地,获取单元60还用于确定当前目标的下一级子目标或当前目标的等级标识。

可选地,根据预先确定的分级结构表确定每个目标的下一级子目标或上一级子目标。

本发明实施例还提供了一种电子设备,如图10所示,该电子设备可以包括处理器1001和存储器1002,其中处理器1001和存储器1002可以通过总线或者其他方式连接,图10中以通过总线连接为例。

处理器1001可以为中央处理器(centralprocessingunit,cpu)。处理器1001还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器1002作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的样本中至少一个预定目标的位置确定方法所对应的程序指令/模块(例如,图9所示的第一获取单元10、第一判断单元20、第二判断单元30、第二获取单元40、第三判断单元50和获取单元60)。处理器1001通过运行存储在存储器1002中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的样本中至少一个预定目标的位置确定方法。

存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器1001所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至处理器1001。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器1002中,当被所述处理器1001执行时,执行如图2所示实施例中的样本中至少一个预定目标的位置确定方法。

上述电子设备具体细节可以对应参阅实施例一或实施例二所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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