回环检测方法、装置、电子设备、存储介质和程序产品转让专利

申请号 : CN202211652681.0

文献号 : CN115661821B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 请求不公布姓名

申请人 : 摩尔线程智能科技(北京)有限责任公司摩尔线程智能科技(上海)有限责任公司

摘要 :

本公开涉及图像数据处理技术领域,尤其涉及一种回环检测方法、装置、电子设备、存储介质和程序产品。所述方法包括:对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果;根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量;根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果。本公开能够基于更深层次的、更全面的场景语义信息,提高对场景的理解能力,从而能够提高回环检测的鲁棒性,提高复杂动态场景下回环检测的准确性。

权利要求 :

1.一种回环检测方法,其特征在于,包括:

对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果;

根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量;

根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果;

其中,所述预设类别包括预设的静态前景类别和/或预设的静态背景类别;所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态前景类别的对象的数量、所述全景分割结果中所述预设的静态前景类别的对象的位置和所述全景分割结果中所述预设的静态背景类别的对象包含的像素数中的至少之一,生成所述待检测图像对应的特征向量。

2.根据权利要求1所述的方法,其特征在于,所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:去除所述全景分割结果中的动态对象,得到修正的全景分割结果;

根据所述修正的全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量。

3.根据权利要求1或2所述的方法,其特征在于,所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态前景类别的对象的数量,生成所述待检测图像对应的静态前景向量;

至少根据所述静态前景向量,生成所述待检测图像对应的特征向量。

4.根据权利要求1或2所述的方法,其特征在于,所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量;

至少根据所述位置向量,生成所述待检测图像对应的特征向量。

5.根据权利要求4所述的方法,其特征在于,所述预设的静态前景类别包括至少两种;

所述根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量,包括:将至少两种预设的静态前景类别中,对象数量最多的类别确定为目标类别;其中,任意一种预设的静态前景类别的对象数量,表示所述全景分割结果中所述预设的静态前景类别的对象的数量;

从所述目标类别的对象中确定参考对象;

根据所述全景分割结果中的对象相对于所述参考对象的位置,生成所述待检测图像对应的位置向量。

6.根据权利要求5所述的方法,其特征在于,所述从所述目标类别的对象中确定参考对象,包括:将所述目标类别的对象中,距离所述待检测图像的几何中心最近的对象,确定为参考对象。

7.根据权利要求1或2所述的方法,其特征在于,所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态背景类别的对象包含的像素数,生成所述待检测图像对应的背景向量;

至少根据所述背景向量,生成所述待检测图像对应的特征向量。

8.根据权利要求1或2所述的方法,其特征在于,所述对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,包括:通过第二全景分割模型对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,其中,所述第二全景分割模型是基于训练完成的第一全景分割模型进行知识蒸馏和/或剪枝得到的,所述第一全景分割模型是采用预设数据集训练得到的。

9.根据权利要求1或2所述的方法,其特征在于,所述根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果,包括:响应于所述待检测图像对应的特征向量与任一已检测图像对应的特征向量之间的相似度大于或等于预设的相似度阈值,确定所述待检测图像为回环节点;

或者,

响应于所述待检测图像对应的特征向量与各个已检测图像对应的特征向量之间的相似度均小于所述预设的相似度阈值,确定所述待检测图像不为回环节点。

10.一种回环检测装置,其特征在于,包括:

全景分割模块,用于对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果;

生成模块,用于根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量;

确定模块,用于根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果;

其中,所述预设类别包括预设的静态前景类别和/或预设的静态背景类别;所述生成模块具体用于:根据所述全景分割结果中所述预设的静态前景类别的对象的数量、所述全景分割结果中所述预设的静态前景类别的对象的位置和所述全景分割结果中所述预设的静态背景类别的对象包含的像素数中的至少之一,生成所述待检测图像对应的特征向量。

11.一种电子设备,其特征在于,包括:

一个或多个处理器;

用于存储可执行指令的存储器;

其中,所述一个或多个处理器被配置为调用所述存储器存储的可执行指令,以执行权利要求1至9中任意一项所述的方法。

12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至9中任意一项所述的方法。

说明书 :

回环检测方法、装置、电子设备、存储介质和程序产品

技术领域

[0001] 本公开涉及图像数据处理技术领域,尤其涉及一种回环检测方法、装置、电子设备、存储介质和程序产品。

背景技术

[0002] 目前,SLAM(Simultaneous Localization And Mapping,同步定位与建图)算法的经典框架主要包括前端里程计‑后端非线性优化‑回环检测‑建图。回环检测作为SLAM算法的一个重要组成部分,在消除建图累计误差上具有重要作用。

发明内容

[0003] 本公开提供了一种回环检测技术方案。
[0004] 根据本公开的一方面,提供了一种回环检测方法,包括:
[0005] 对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果;
[0006] 根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量;
[0007] 根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果。
[0008] 在一种可能的实现方式中,所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:
[0009] 去除所述全景分割结果中的动态对象,得到修正的全景分割结果;
[0010] 根据所述修正的全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量。
[0011] 在一种可能的实现方式中,所述预设类别包括预设的静态前景类别;
[0012] 所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:
[0013] 根据所述全景分割结果中所述预设的静态前景类别的对象的数量,生成所述待检测图像对应的静态前景向量;
[0014] 至少根据所述静态前景向量,生成所述待检测图像对应的特征向量。
[0015] 在一种可能的实现方式中,所述预设类别包括预设的静态前景类别;
[0016] 所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:
[0017] 根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量;
[0018] 至少根据所述位置向量,生成所述待检测图像对应的特征向量。
[0019] 在一种可能的实现方式中,所述预设的静态前景类别包括至少两种;
[0020] 所述根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量,包括:
[0021] 将至少两种预设的静态前景类别中,对象数量最多的类别确定为目标类别;其中,任意一种预设的静态前景类别的对象数量,表示所述全景分割结果中所述预设的静态前景类别的对象的数量;
[0022] 从所述目标类别的对象中确定参考对象;
[0023] 根据所述全景分割结果中的对象相对于所述参考对象的位置,生成所述待检测图像对应的位置向量。
[0024] 在一种可能的实现方式中,所述从所述目标类别的对象中确定参考对象,包括:
[0025] 将所述目标类别的对象中,距离所述待检测图像的几何中心最近的对象,确定为参考对象。
[0026] 在一种可能的实现方式中,所述预设类别包括预设的静态背景类别;
[0027] 所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:
[0028] 根据所述全景分割结果中所述预设的静态背景类别的对象包含的像素数,生成所述待检测图像对应的背景向量;
[0029] 至少根据所述背景向量,生成所述待检测图像对应的特征向量。
[0030] 在一种可能的实现方式中,所述对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,包括:
[0031] 通过第二全景分割模型对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,其中,所述第二全景分割模型是基于训练完成的第一全景分割模型进行知识蒸馏和/或剪枝得到的,所述第一全景分割模型是采用预设数据集训练得到的。
[0032] 在一种可能的实现方式中,所述根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果,包括:
[0033] 响应于所述待检测图像对应的特征向量与任一已检测图像对应的特征向量之间的相似度大于或等于预设的相似度阈值,确定所述待检测图像为回环节点;
[0034] 或者,
[0035] 响应于所述待检测图像对应的特征向量与各个已检测图像对应的特征向量之间的相似度均小于所述预设的相似度阈值,确定所述待检测图像不为回环节点。
[0036] 根据本公开的一方面,提供了一种回环检测装置,包括:
[0037] 全景分割模块,用于对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果;
[0038] 生成模块,用于根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量;
[0039] 确定模块,用于根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果。
[0040] 在一种可能的实现方式中,所述生成模块用于:
[0041] 去除所述全景分割结果中的动态对象,得到修正的全景分割结果;
[0042] 根据所述修正的全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量。
[0043] 在一种可能的实现方式中,所述预设类别包括预设的静态前景类别;
[0044] 所述生成模块用于:
[0045] 根据所述全景分割结果中所述预设的静态前景类别的对象的数量,生成所述待检测图像对应的静态前景向量;
[0046] 至少根据所述静态前景向量,生成所述待检测图像对应的特征向量。
[0047] 在一种可能的实现方式中,所述预设类别包括预设的静态前景类别;
[0048] 所述生成模块用于:
[0049] 根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量;
[0050] 至少根据所述位置向量,生成所述待检测图像对应的特征向量。
[0051] 在一种可能的实现方式中,所述预设的静态前景类别包括至少两种;
[0052] 所述生成模块用于:
[0053] 将至少两种预设的静态前景类别中,对象数量最多的类别确定为目标类别;其中,任意一种预设的静态前景类别的对象数量,表示所述全景分割结果中所述预设的静态前景类别的对象的数量;
[0054] 从所述目标类别的对象中确定参考对象;
[0055] 根据所述全景分割结果中的对象相对于所述参考对象的位置,生成所述待检测图像对应的位置向量。
[0056] 在一种可能的实现方式中,所述生成模块用于:
[0057] 将所述目标类别的对象中,距离所述待检测图像的几何中心最近的对象,确定为参考对象。
[0058] 在一种可能的实现方式中,所述预设类别包括预设的静态背景类别;
[0059] 所述生成模块用于:
[0060] 根据所述全景分割结果中所述预设的静态背景类别的对象包含的像素数,生成所述待检测图像对应的背景向量;
[0061] 至少根据所述背景向量,生成所述待检测图像对应的特征向量。
[0062] 在一种可能的实现方式中,所述全景分割模块用于:
[0063] 通过第二全景分割模型对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,其中,所述第二全景分割模型是基于训练完成的第一全景分割模型进行知识蒸馏和/或剪枝得到的,所述第一全景分割模型是采用预设数据集训练得到的。
[0064] 在一种可能的实现方式中,所述确定模块用于:
[0065] 响应于所述待检测图像对应的特征向量与任一已检测图像对应的特征向量之间的相似度大于或等于预设的相似度阈值,确定所述待检测图像为回环节点;
[0066] 或者,
[0067] 响应于所述待检测图像对应的特征向量与各个已检测图像对应的特征向量之间的相似度均小于所述预设的相似度阈值,确定所述待检测图像不为回环节点。
[0068] 根据本公开的一方面,提供了一种电子设备,包括:一个或多个处理器;用于存储可执行指令的存储器;其中,所述一个或多个处理器被配置为调用所述存储器存储的可执行指令,以执行上述方法。
[0069] 根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
[0070] 根据本公开的一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述方法。
[0071] 在本公开实施例中,通过对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,并根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果,由此能够基于更深层次的、更全面的场景语义信息,提高对场景的理解能力,从而能够提高回环检测的鲁棒性,提高复杂动态场景下回环检测的准确性。另外,通过全景分割获取待检测图像的语义信息,不再需要构造视觉词典,省去了词典查询的过程,简化了回环检测的流程,提升了回环检测的速度。
[0072] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
[0073] 根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

[0074] 此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
[0075] 图1示出本公开实施例提供的回环检测方法的流程图。
[0076] 图2示出本公开实施例提供的回环检测装置的框图。
[0077] 图3示出本公开实施例提供的电子设备1900的框图。

具体实施方式

[0078] 以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0079] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0080] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
[0081] 另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
[0082] 相关技术中的SLAM回环检测方法以词袋模型为主。基于词袋模型的回环检测方法的主要步骤为:构造数据集;对数据集中的图像进行特征点检测,获得特征点和对应的描述子;基于描述子,采用聚类的方法离线创建字典;加载离线创建好的字典;机器人实时采集图像,并按照一定规则生成关键帧图像数据库;对采集的图像进行特征点检测及描述子生成;通过字典将图像中每一局部特征点的描述子转换为字典中的单词,从而将整张图像表示为一个词袋向量;按照一定规则(如时间或距离)对采集的图像进行检索,找到关键帧图像数据库中与当前图像具有相同单词的关键帧图像,并根据词袋向量计算相似度,根据阈值判断是否为回环。
[0083] 其中,特征点检测受弱纹理、强光照、动态场景等的影响,导致容易出现回环检测失败或回环检测错误,系统鲁棒性较差。另外,特征点检测所提取的图像特征较为浅层次,所描述的图像信息不够完全。基于深度学习的特征点检测虽然在一定程度上可以获取更深层次的特征,但对于场景的理解还不够完全。
[0084] 为了解决类似上文所述的技术问题,本公开实施例提供了一种回环检测方法、装置、电子设备、存储介质和程序产品,通过对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,并根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果,由此能够基于更深层次的、更全面的场景语义信息,提高对场景的理解能力,从而能够提高回环检测的鲁棒性,提高复杂动态场景下回环检测的准确性。另外,通过全景分割获取待检测图像的语义信息,不再需要构造视觉词典,省去了词典查询的过程,简化了回环检测的流程,提升了回环检测的速度。
[0085] 下面结合附图对本公开实施例提供的回环检测方法进行详细的说明。
[0086] 图1示出本公开实施例提供的回环检测方法的流程图。在一种可能的实现方式中,所述回环检测方法的执行主体可以是回环检测装置,例如,所述回环检测方法可以由终端设备或服务器或其它电子设备执行。其中,终端设备可以是移动机器人、车载设备、用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备或者可穿戴设备等。在一些可能的实现方式中,所述回环检测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,所述回环检测方法包括步骤S11至步骤S13。
[0087] 在步骤S11中,对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果。
[0088] 在步骤S12中,根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量。
[0089] 在步骤S13中,根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果。
[0090] 在本公开实施例中,待检测图像可以表示待进行回环检测的任意图像。
[0091] 在一种可能的实现方式中,所述对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,包括:通过全景分割模型对待检测图像进行全景分割,得到待检测图像对应的全景分割结果。
[0092] 在另一种可能的实现方式中,所述对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,包括:通过语义分割模型对待检测图像进行语义分割,得到待检测图像对应的语义分割结果;通过实例分割模型对待检测图像进行实例分割,得到待检测图像对应的实例分割结果;根据待检测图像对应的语义分割结果和待检测图像对应的实例分割结果,得到待检测图像对应的全景分割结果。
[0093] 其中,语义分割(semantic segmentation)用于对图像中的所有像素进行分类,即,语义分割用于对图像中的每个像素分别打上类别标签。在语义分割中,属于同一类别的不同对象不需要单独分割出来。
[0094] 实例分割(instance segmentation)是目标检测和语义分割的结合,用于在图像中将目标对象检测出来(目标检测),得到目标对象的边界框,并对目标对象的边界框中的每个像素分别打上类别标签(语义分割)。相对于语义分割,实例分割需要分割出图像中属于同一类别的不同对象。
[0095] 全景分割(panoptic segmentation)是语义分割和实例分割的结合,既要将图像中的所有对象都检测出来,也要区分属于同一类别中的不同对象。与实例分割不同的是,实例分割只对图像中的目标对象进行检测,并对检测到的目标对象进行分割,而全景分割是对图像中的所有对象(包括背景)进行检测和分割。
[0096] 在一种可能的实现方式中,所述对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,包括:通过第二全景分割模型对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,其中,所述第二全景分割模型是基于训练完成的第一全景分割模型进行知识蒸馏和/或剪枝得到的,所述第一全景分割模型是采用预设数据集训练得到的。
[0097] 在该实现方式中,预设数据集可以包括公开数据集和/或根据实际任务场景采集的数据集。例如,可以获取COCO数据集、Cityscapes、ADE20K等公开数据集,还可以根据任务需要补充实际任务场景的数据集,构成预设数据集。作为该实现方式的一个示例,可以将预设数据集按预设比例划分成训练集、验证集和测试集。例如,预设比例可以为6:2:2,在此不做限定。可以采用训练集对第一全景分割模型进行训练,采用验证集验证第一全景分割模型的效果,采用测试集对第一全景分割模型进行泛化能力的测试,直至第一全景分割模型满足预设的精度要求等要求,从而得到训练完成的第一全景分割模型。在一个例子中,训练完成的第一全景分割模型可以采用m1表示。
[0098] 在该实现方式中,第一全景分割模型可以包括第一语义分割子网络、第一实例分割子网络和第一融合子网络。其中,第一语义分割子网络表示第一全景分割模型中的语义分割子网络,第一实例分割子网络表示第一全景分割模型中的实例分割子网络,第一融合子网络表示第一全景分割模型中的融合子网络。第一语义分割子网络可以采用U‑Net、FCN、SegNet等网络结构,第一实例分割子网络可以采用Mask‑RCNN、PANet、DeepMask等网络结构,在此不做限定。第一语义分割子网络可以用于对输入图像进行语义分割,得到输入图像对应的语义分割结果;第一实例分割子网络可以用于对输入图像进行实例分割,得到输入图像对应的实例分割结果;第一融合子网络可以用于对第一语义分割子网络输出的语义分割结果和第一实例分割子网络输出的实例分割结果进行融合,得到输入图像对应的全景分割结果。
[0099] 在该实现方式中,第二全景分割模型可以包括第二语义分割子网络、第二实例分割子网络和第二融合子网络。其中,第二语义分割子网络表示第二全景分割模型中的语义分割子网络,第二实例分割子网络表示第二全景分割模型中的实例分割子网络,第二融合子网络表示第二全景分割模型中的融合子网络。第二语义分割子网络的参数量小于第一语义分割子网络的参数量,第二语义分割子网络的计算量小于第一语义分割子网络的计算量,即,第二语义分割子网络与第一语义分割子网络相比,更轻量。第二实例分割子网络的参数量小于第一实例分割子网络的参数量,第二实例分割子网络的计算量小于第一实例分割子网络的计算量,即,第二实例分割子网络与第一实例分割子网络相比,更轻量。第二融合子网络与第一融合子网络的网络结构可以相同或不同。第二语义分割子网络可以用于对输入图像进行语义分割,得到输入图像对应的语义分割结果;第二实例分割子网络可以用于对输入图像进行实例分割,得到输入图像对应的实例分割结果;第二融合子网络可以用于对第二语义分割子网络输出的语义分割结果和第二实例分割子网络输出的实例分割结果进行融合,得到输入图像对应的全景分割结果。在一个例子中,第二全景分割模型可以采用m2表示。
[0100] 作为该实现方式的一个示例,可以基于训练完成的第一全景分割模型进行知识蒸馏和剪枝,得到第二全景分割模型。
[0101] 作为该实现方式的另一个示例,可以基于训练完成的第一全景分割模型进行知识蒸馏,得到第二全景分割模型。
[0102] 作为该实现方式的另一个示例,可以基于训练完成的第一全景分割模型进行剪枝,得到第二全景分割模型。
[0103] 作为该实现方式的一个示例,可以获得第三全景分割模型。第三全景分割模型可以包括第三语义分割子网络、第三实例分割子网络和第三融合子网络。其中,第三语义分割子网络表示第三全景分割模型中的语义分割子网络,第三实例分割子网络表示第三全景分割模型中的实例分割子网络,第三融合子网络表示第三全景分割模型中的融合子网络。第三语义分割子网络的参数量小于第一语义分割子网络的参数量,第三语义分割子网络的计算量小于第一语义分割子网络的计算量,即,第三语义分割子网络与第一语义分割子网络相比,更轻量。第三实例分割子网络的参数量小于第一实例分割子网络的参数量,第三实例分割子网络的计算量小于第一实例分割子网络的计算量,即,第三实例分割子网络与第一实例分割子网络相比,更轻量。第三融合子网络与第一融合子网络的网络结构可以相同或不同。第三语义分割子网络可以用于对输入图像进行语义分割,得到输入图像对应的语义分割结果;第三实例分割子网络可以用于对输入图像进行实例分割,得到输入图像对应的实例分割结果;第三融合子网络可以用于对第三语义分割子网络输出的语义分割结果和第三实例分割子网络输出的实例分割结果进行融合,得到输入图像对应的全景分割结果。
[0104] 在一个例子中,可以减少第一全景分割模型的网络层,得到第三全景分割模型。例如,可以在第一全景分割模型的基础上,手动减少卷积层和/或池化层的层数,得到第三全景分割模型。
[0105] 在另一个例子中,第三全景分割模型的第三语义分割子网络和第三实例分割子网络可以采用预设的网络结构。例如,第三语义分割子网络可以采用BiSeNet、BiSeNetV2等网络结构,第三实例分割子网络可以采用YOLACT、YOLACT++等网络结构。
[0106] 在该示例中,在获得第三全景分割模型之后,可以采用预设数据集和训练完成的第一全景分割模型对第三全景分割模型进行训练,得到训练完成的第三全景分割模型。在一个例子中,第三全景分割模型可以采用m1’表示。其中,在第三全景分割模型的训练过程中,第三全景分割模型对应的损失函数可以为第一子损失函数与第二子损失函数的加权和。第一子损失函数可以根据第三全景分割模型输出的全景分割预测结果与第一全景分割模型输出的全景分割预测结果之间的差异信息确定,第二子损失函数可以根据第三全景分割模型输出的全景分割预测结果与标注数据之间的差异信息确定。其中,第一子损失函数可以称为软损失,第二子损失函数可以称为硬损失。第一全景分割模型为教师模型,第三全景分割模型为学生模型。在得到训练完成的第三全景分割模型之后,可以对第三全景分割模型进行剪枝,得到第二全景分割模型。
[0107] 深度学习网络模型从卷积层到全连接层通常存在着大量冗余的参数,大量神经元的激活值趋近于0,仅有少部分(通常为5‑10%)的权值参与主要的计算。将这些神经元去除后可以表现出同样的模型表达能力,这种情况被称为过参数化,而对应的技术则被称为模型剪枝。模型剪枝的一般分为如下几个步骤:第一步,评估神经元的重要性;第二步,去掉最不重要的神经元;第三步,对模型进行精细化调整;第四步,根据精度要求判断是否进行剪枝;第五步,如继续剪枝,则重复第一步至第五步,否则执行步骤六;第六步,停止剪枝,得到剪枝后的模型。
[0108] 作为该实现方式的另一个示例,第二全景分割模型的第二语义分割子网络和第二实例分割子网络可以采用预设的网络结构。例如,第二语义分割子网络可以采用BiSeNet、BiSeNetV2等网络结构,第二实例分割子网络可以采用YOLACT、YOLACT++等网络结构。可以采用预设数据集和训练完成的第一全景分割模型对第二全景分割模型进行训练,得到训练完成的第二全景分割模型。其中,在第二全景分割模型的训练过程中,第二全景分割模型对应的损失函数可以为第三子损失函数与第四子损失函数的加权和。第三子损失函数可以根据第二全景分割模型输出的全景分割预测结果与第一全景分割模型输出的全景分割预测结果之间的差异信息确定,第四子损失函数可以根据第二全景分割模型输出的全景分割预测结果与标注数据之间的差异信息确定。其中,第三子损失函数可以称为软损失,第四子损失函数可以称为硬损失。第一全景分割模型为教师模型,第二全景分割模型为学生模型。
[0109] 在该实现方式中,通过采用预设数据集训练第一全景分割模型,基于训练完成的所述第一全景分割模型进行知识蒸馏和/或剪枝,得到第二全景分割模型,并通过所述第二全景分割模型对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,由此基于训练完成的第一全景分割模型进行知识蒸馏,得到轻量化的第二全景分割模型,由此有利于在边缘端进行部署,实现实时的全景分割。
[0110] 在本公开实施例中,通过对待检测图像进行全景分割,得到待检测图像对应的全景分割结果。其中,待检测图像对应的全景分割结果可以包括待检测图像中的每个像素的语义信息和实例信息。
[0111] 在得到待检测图像对应的全景分割结果之后,可以根据全景分割结果中预设类别的对象的信息,生成待检测图像对应的特征向量。其中,预设类别可以均为静态类别。通过基于全景分割结果中静态类别的对象的信息进行回环检测,能够减少动态类别的对象对回环检测带来的干扰,从而能够提高回环检测的准确率。其中,动态类别可以根据经验预先定义。例如,动态类别可以包括车辆、行人、骑自行车的人等。
[0112] 在一种可能的实现方式中,所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:去除所述全景分割结果中的动态对象,得到修正的全景分割结果;根据所述修正的全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量。
[0113] 其中,动态对象可以表示属于动态类别的对象。其中,动态类别可以根据经验预先定义。例如,动态类别可以包括车辆、行人、骑自行车的人等。
[0114] 在该实现方式中,通过去除所述全景分割结果中的动态对象,得到修正的全景分割结果,并根据所述修正的全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,由此基于全景分割结果中静态类别的对象的信息进行回环检测,能够减少动态对象对回环检测带来的干扰,从而能够提高回环检测的准确率。
[0115] 在一种可能的实现方式中,所述预设类别包括预设的静态前景类别;所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态前景类别的对象的数量,生成所述待检测图像对应的静态前景向量;至少根据所述静态前景向量,生成所述待检测图像对应的特征向量。
[0116] 在该实现方式中,静态前景类别既属于静态类别又属于前景类别。即,属于任一预设的静态前景类别的对象,既为静态对象,又为前景对象。预设的静态前景类别的数量可以为一种或两种以上。例如,预设的静态前景类别可以包括交通灯等,在此不做限定。
[0117] 在该实现方式中,静态前景向量中的元素的数量,可以等于预设的静态前景类别的种数。静态前景向量中的任一元素的值,可以与该元素对应的预设的静态前景类别的对象的数量正相关。在一个例子中,静态前景向量可以表示为f=[w1f1,w2f2,…,wnfn],其中,n表示预设的静态前景类别的数量。若全景分割结果中第i种预设的静态前景类别的对象的数量大于0,则fi=1;若全景分割结果中第i种预设的静态前景类别的对象的数量为0,则fi=0。wi等于第i种预设的静态前景类别的对象的数量。其中,1≤i≤n。
[0118] 在该实现方式中,通过根据所述全景分割结果中所述预设的静态前景类别的对象的数量,生成所述待检测图像对应的静态前景向量,至少根据所述静态前景向量,生成所述待检测图像对应的特征向量,由此基于待检测图像中的静态前景对象的数量进行回环检测,能够提高回环检测的准确性。
[0119] 在另一种可能的实现方式中,所述预设类别包括预设的静态前景类别;所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量;至少根据所述位置向量,生成所述待检测图像对应的特征向量。
[0120] 在该实现方式中,静态前景类别既属于静态类别又属于前景类别。即,属于任一预设的静态前景类别的对象,既为静态对象,又为前景对象。预设的静态前景类别的数量可以为一种或两种以上。例如,预设的静态前景类别可以包括交通灯等,在此不做限定。
[0121] 在该实现方式中,位置向量中的元素的数量,可以等于全景分割结果中属于预设的静态前景类别的对象的数量。
[0122] 通过根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量,并至少根据所述位置向量,生成所述待检测图像对应的特征向量,由此基于待检测图像中的静态前景对象的位置进行回环检测,能够提高回环检测的准确性。
[0123] 作为该实现方式的一个示例,所述预设的静态前景类别包括至少两种;所述根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量,包括:将至少两种预设的静态前景类别中,对象数量最多的类别确定为目标类别;其中,任意一种预设的静态前景类别的对象数量,表示所述全景分割结果中所述预设的静态前景类别的对象的数量;从所述目标类别的对象中确定参考对象;根据所述全景分割结果中的对象相对于所述参考对象的位置,生成所述待检测图像对应的位置向量。
[0124] 在该示例中,根据所述全景分割结果,可以确定待检测图像中各个预设的静态前景类别的对象的数量。根据待检测图像中各个预设的静态前景类别的对象的数量,可以确定各个预设的静态前景类别中,对象数量最多的类别,即目标类别。
[0125] 在该示例中,通过将至少两种预设的静态前景类别中,对象数量最多的类别确定为目标类别,从所述目标类别的对象中确定参考对象,并根据所述全景分割结果中的对象相对于所述参考对象的位置,生成所述待检测图像对应的位置向量,由此基于待检测图像中对象数量最多的预设的静态前景类别中的对象的位置,确定待检测图像对应的位置信向量,从而有利于提高回环检测的准确性。
[0126] 在一个示例中,所述从所述目标类别的对象中确定参考对象,包括:将所述目标类别的对象中,距离所述待检测图像的几何中心最近的对象,确定为参考对象。
[0127] 在一个例子中,位置向量可以表示为p=[(x1,y1),(x2,y2),…,(xm,ym)],其中,m表示属于预设的静态前景类别的对象的数量,(xj,yj)表示第j个对象相对于参考对象的位置,其中,1≤j≤m。
[0128] 在该示例中,通过将所述目标类别的对象中,距离所述待检测图像的几何中心最近的对象,确定为参考对象,由此有助于进一步提高回环检测的准确性。
[0129] 在另一个示例中,所述从所述目标类别的对象中确定参考对象,包括:将所述目标类别的任一对象确定为参考对象。
[0130] 作为该实现方式的另一个示例,所述预设的静态前景类别包括一种;所述根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量,包括:将所述预设的静态前景类别的对象中,距离所述待检测图像的几何中心最近的对象,确定为参考对象;根据所述全景分割结果中的对象相对于所述参考对象的位置,生成所述待检测图像对应的位置向量。
[0131] 作为该实现方式的另一个示例,所述根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量,包括:将所述预设的静态前景类别的任一对象确定为参考对象;根据所述全景分割结果中的对象相对于所述参考对象的位置,生成所述待检测图像对应的位置向量。
[0132] 在另一种可能的实现方式中,所述预设类别包括预设的静态前景类别;所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态前景类别的对象的数量,生成所述待检测图像对应的静态前景向量;根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量;至少根据所述静态前景向量和所述位置向量,生成所述待检测图像对应的特征向量。
[0133] 在另一种可能的实现方式中,所述预设类别包括预设的静态背景类别;所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态背景类别的对象包含的像素数,生成所述待检测图像对应的背景向量;至少根据所述背景向量,生成所述待检测图像对应的特征向量。
[0134] 在该实现方式中,静态背景类别既属于静态类别又属于背景类别。即,属于任一预设的静态背景类别的对象,既为静态对象,又为背景对象。预设的静态背景类别的数量可以为一种或两种以上。例如,预设的静态背景类别可以包括天空、道路、建筑物、树木等,在此不做限定。
[0135] 在该实现方式中,静态背景向量中的元素的数量,可以等于预设的静态背景类别的种数。静态背景向量中的任一元素的值,可以与该元素对应的预设的静态背景类别的对象包含的像素数正相关。在一个例子中,静态背景向量可以表示为b=[v1b1,v2b2,…,vqbq],其中,q表示预设的静态背景类别的数量。若全景分割结果中存在第k种预设的静态背景类别的对象,则bk=1;若全景分割结果中不存在第k种预设的静态背景类别的对象,则bk=0。vk表示第k种预设的静态背景类别的对象包含的像素数对应的归一化权重。该归一化权重与第k种预设的静态背景类别的对象包含的像素数正相关。其中,1≤k≤n。
[0136] 在另一种可能的实现方式中,所述预设类别包括预设的静态前景类别和预设的静态背景类别;所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态前景类别的对象的数量,生成所述待检测图像对应的静态前景向量;根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量;根据所述全景分割结果中所述预设的静态背景类别的对象包含的像素数,生成所述待检测图像对应的背景向量;至少根据所述静态前景向量、所述位置向量和所述背景向量,生成所述待检测图像对应的特征向量。在该实现方式中,采用静态前景向量、位置向量和背景向量对待检测图像进行描述,可以获得更全面的图像信息。
[0137] 在另一种可能的实现方式中,所述预设类别包括预设的静态前景类别和预设的静态背景类别;所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态前景类别的对象的数量,生成所述待检测图像对应的静态前景向量;根据所述全景分割结果中所述预设的静态背景类别的对象包含的像素数,生成所述待检测图像对应的背景向量;至少根据所述静态前景向量和所述背景向量,生成所述待检测图像对应的特征向量。
[0138] 在另一种可能的实现方式中,所述预设类别包括预设的静态前景类别和预设的静态背景类别;所述根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,包括:根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量;根据所述全景分割结果中所述预设的静态背景类别的对象包含的像素数,生成所述待检测图像对应的背景向量;至少根据所述位置向量和所述背景向量,生成所述待检测图像对应的特征向量。
[0139] 图像库中的任一已检测图像对应的特征向量,可以根据上文中构建待检测图像对应的特征向量的方法进行构建,在此不再赘述。
[0140] 在一种可能的实现方式中,可以根据s=a1×f×f’+ a2×p×p’+ a3×b×b’,确定待检测图像对应的特征向量I=[f,p,b]与已检测图像对应的特征向量I’=[f’,p’,b’]之间的相似度。其中,f表示待检测图像对应的静态前景向量,p表示待检测图像对应的位置向量,b表示表示待检测图像对应的静态背景向量;f’表示已检测图像对应的静态前景向量,p’表示已检测图像对应的位置向量,b’表示表示已检测图像对应的静态背景向量;a1表示静态前景向量对应的权重,a2表示位置向量对应的权重,a3表示静态背景向量对应的权重。
[0141] 在一种可能的实现方式中,所述根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果,包括:响应于所述待检测图像对应的特征向量与任一已检测图像对应的特征向量之间的相似度大于或等于预设的相似度阈值,确定所述待检测图像为回环节点;或者,响应于所述待检测图像对应的特征向量与各个已检测图像对应的特征向量之间的相似度均小于所述预设的相似度阈值,确定所述待检测图像不为回环节点。
[0142] 在该实现方式中,若待检测图像对应的特征向量与任一已检测图像对应的特征向量之间的相似度大于或等于预设的相似度阈值,则可以确定待检测图像为回环节点,即检测到回环;若待检测图像对应的特征向量与各个已检测图像对应的特征向量之间的相似度均小于预设的相似度阈值,则可以确定待检测图像不为回环节点,即未检测到回环,并可以将待检测图像加入图像库中。
[0143] 本公开实施例提供的回环检测方法可以应用于自动驾驶、移动机器人等应用场景中。
[0144] 下面通过一个具体的应用场景说明本公开实施例提供的回环检测方法。
[0145] 在该应用场景中,首先对第一全景分割模型进行训练。其中,第一全景分割模型可以包括第一语义分割子网络、第一实例分割子网络和第一融合子网络。第一语义分割子网络可以采用U‑Net,第一实例分割子网络可以采用Mask‑RCNN。
[0146] 可以获取COCO数据集、Cityscapes、ADE20K等公开数据集,还可以根据任务需要补充实际任务场景的数据集,构成预设数据集。可以采用训练集对第一全景分割模型进行训练,采用验证集验证第一全景分割模型的效果,采用测试集对第一全景分割模型进行泛化能力的测试,直至第一全景分割模型满足预设的精度要求等要求,从而得到训练完成的第一全景分割模型m1。
[0147] 在第一全景分割模型训练完成后,可以在第一全景分割模型的基础上,手动减少卷积层和/或池化层的层数,得到第三全景分割模型。可以采用预设数据集和训练完成的第一全景分割模型对第三全景分割模型进行训练,得到训练完成的第三全景分割模型m1’。 在得到训练完成的第三全景分割模型之后,可以对第三全景分割模型进行剪枝,得到第二全景分割模型m2。
[0148] 可以采用第二全景分割模型对待检测图像进行全景分割,得到待检测图像对应的全景分割结果。可以根据全景分割结果中预设的静态前景类别的对象的数量,生成待检测图像对应的静态前景向量f=[w1f1,w2f2,…,wnfn]。可以根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量p=[(x1,y1),(x2,y2),…,(xm,ym)]。可以根据所述全景分割结果中所述预设的静态背景类别的对象包含的像素数,生成所述待检测图像对应的背景向量b=[v1b1,v2b2,…,vqbq]。可以根据待检测图像对应的静态前景向量、位置向量和静态背景向量,得到待检测图像对应的特征向量I=[f,p,b]。
[0149] 可以根据待检测图像对应的特征向量与图像库中的已检测图像对应的特征向量之间的相似度,确定待检测图像的回环检测结果。
[0150] 可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0151] 此外,本公开还提供了回环检测装置、电子设备、计算机可读存储介质、计算机程序产品,上述均可用来实现本公开提供的任一种回环检测方法,相应技术方案和技术效果可参见方法部分的相应记载,不再赘述。
[0152] 图2示出本公开实施例提供的回环检测装置的框图。如图回环检测所示,所述回环检测装置包括:
[0153] 全景分割模块21,用于对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果;
[0154] 生成模块22,用于根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量;
[0155] 确定模块23,用于根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果。
[0156] 在一种可能的实现方式中,所述生成模块22用于:
[0157] 去除所述全景分割结果中的动态对象,得到修正的全景分割结果;
[0158] 根据所述修正的全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量。
[0159] 在一种可能的实现方式中,所述预设类别包括预设的静态前景类别;
[0160] 所述生成模块22用于:
[0161] 根据所述全景分割结果中所述预设的静态前景类别的对象的数量,生成所述待检测图像对应的静态前景向量;
[0162] 至少根据所述静态前景向量,生成所述待检测图像对应的特征向量。
[0163] 在一种可能的实现方式中,所述预设类别包括预设的静态前景类别;
[0164] 所述生成模块22用于:
[0165] 根据所述全景分割结果中所述预设的静态前景类别的对象的位置,生成所述待检测图像对应的位置向量;
[0166] 至少根据所述位置向量,生成所述待检测图像对应的特征向量。
[0167] 在一种可能的实现方式中,所述预设的静态前景类别包括至少两种;
[0168] 所述生成模块22用于:
[0169] 将至少两种预设的静态前景类别中,对象数量最多的类别确定为目标类别;其中,任意一种预设的静态前景类别的对象数量,表示所述全景分割结果中所述预设的静态前景类别的对象的数量;
[0170] 从所述目标类别的对象中确定参考对象;
[0171] 根据所述全景分割结果中的对象相对于所述参考对象的位置,生成所述待检测图像对应的位置向量。
[0172] 在一种可能的实现方式中,所述生成模块22用于:
[0173] 将所述目标类别的对象中,距离所述待检测图像的几何中心最近的对象,确定为参考对象。
[0174] 在一种可能的实现方式中,所述预设类别包括预设的静态背景类别;
[0175] 所述生成模块22用于:
[0176] 根据所述全景分割结果中所述预设的静态背景类别的对象包含的像素数,生成所述待检测图像对应的背景向量;
[0177] 至少根据所述背景向量,生成所述待检测图像对应的特征向量。
[0178] 在一种可能的实现方式中,所述全景分割模块21用于:
[0179] 通过第二全景分割模型对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,其中,所述第二全景分割模型是基于训练完成的第一全景分割模型进行知识蒸馏和/或剪枝得到的,所述第一全景分割模型是采用预设数据集训练得到的。
[0180] 在一种可能的实现方式中,所述确定模块23用于:
[0181] 响应于所述待检测图像对应的特征向量与任一已检测图像对应的特征向量之间的相似度大于或等于预设的相似度阈值,确定所述待检测图像为回环节点;
[0182] 或者,
[0183] 响应于所述待检测图像对应的特征向量与各个已检测图像对应的特征向量之间的相似度均小于所述预设的相似度阈值,确定所述待检测图像不为回环节点。
[0184] 在本公开实施例中,通过对待检测图像进行全景分割,得到所述待检测图像对应的全景分割结果,根据所述全景分割结果中预设类别的对象的信息,生成所述待检测图像对应的特征向量,并根据所述待检测图像对应的特征向量与已检测图像对应的特征向量之间的相似度,确定所述待检测图像的回环检测结果,由此能够基于更深层次的、更全面的场景语义信息,提高对场景的理解能力,从而能够提高回环检测的鲁棒性,提高复杂动态场景下回环检测的准确性。另外,通过全景分割获取待检测图像的语义信息,不再需要构造视觉词典,省去了词典查询的过程,简化了回环检测的流程,提升了回环检测的速度。
[0185] 在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现和技术效果可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0186] 本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。其中,所述计算机可读存储介质可以是非易失性计算机可读存储介质,或者可以是易失性计算机可读存储介质。
[0187] 本公开实施例还提出一种计算机程序,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述方法。
[0188] 本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述方法。
[0189] 本公开实施例还提供一种电子设备,包括:一个或多个处理器;用于存储可执行指令的存储器;其中,所述一个或多个处理器被配置为调用所述存储器存储的可执行指令,以执行上述方法。
[0190] 电子设备可以被提供为终端、服务器或其它形态的设备。
[0191] 图3示出本公开实施例提供的电子设备1900的框图。例如,电子设备1900可以被提供为一终端或服务器。参照图3,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
[0192] 电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入/输出接口1958(I/O接口)。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微TM软服务器操作系统(Windows Server ),苹果公司推出的基于图形用户界面操作系统(Mac TM TM
OS X ),多用户多进程的计算机操作系统(Unix ), 自由和开放原代码的类Unix操作系统TM TM
(Linux ),开放原代码的类Unix操作系统(FreeBSD )或类似。
[0193] 在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
[0194] 本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的AR效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、SLAM、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
[0195] 本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
[0196] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD‑ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0197] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0198] 用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0199] 这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0200] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0201] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0202] 附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0203] 该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
[0204] 上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
[0205] 若本公开实施例的技术方案涉及个人信息,应用本公开实施例的技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本公开实施例的技术方案涉及敏感个人信息,应用本公开实施例的技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
[0206] 以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。