视觉定位方法、装置、电子设备和计算机可读存储介质转让专利

申请号 : CN202010118570.6

文献号 : CN111324746B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李照虎

申请人 : 北京百度网讯科技有限公司

摘要 :

本申请提出一种视觉定位方法、装置、电子设备和计算机可读存储介质,涉及计算机视觉和图像处理技术领域,其中,方法包括:通过对采集的图像进行语义识别,生成语义图谱,在建立的语义图谱中,通过随机游走算法确定每个实体的描述信息,进而在预先建立的实体地图中,基于实体的描述信息,确定每一个实体匹配的候选实体,根据候选实体在预先建立的实体地图中的所处区域,定位当前图像的采集区域,通过随机游走算法构造的每个实体节点的描述信息,不仅包含有相应节点的语义信息,还包含语义之间的局部约束信息,提高了采集的图像视觉定位的鲁棒性、准确性和稳定性,解决了现有技术中视觉定位鲁棒性和准确性较低的技术问题。

权利要求 :

1.一种视觉定位方法,其特征在于,所述方法包括:

采集第一图像;

识别所述第一图像,以对所述第一图像中呈现的多个第一实体确定实体类别,以及确定任意两第一实体的间距,其中,实体为图像中包含的实质物体或虚拟物体;

根据所述间距,生成第一图谱;其中,所述第一图谱中包含与所述多个第一实体一一对应的节点,以及用于连接不同节点的边;所述节点,用于指示相应第一实体的实体类别;所述边,用于指示连接的两节点对应第一实体之间的间距小于阈值距离;

对所述第一图谱中各节点对应的第一实体,根据以相应节点为起点随机游走路径中各节点指示的实体类别,确定相应第一实体的描述信息;

根据预存的多个第二实体的描述信息,对每一第一实体,从所述多个第二实体中确定描述信息匹配的候选实体;其中,各第二实体的描述信息,用于指示与相应第二实体具有相邻关系的各第二实体的实体类别;

根据所述候选实体所处区域,定位所述第一图像的采集区域。

2.根据权利要求1所述的视觉定位方法,其特征在于,所述根据预存的多个第二实体的描述信息,对每一第一实体,从所述多个第二实体中确定描述信息匹配的候选实体之前,还包括:获取在已知位置采集的多帧第二图像;

对所述多帧第二图像中呈现的第二实体进行识别,以确定各第二实体的实体类别和任意两第二实体的间距;

根据所述任意两第二实体的间距,生成第二图谱;其中,所述第二图谱中包含与所述多个第二实体一一对应的节点,以及用于连接所述第二图谱中不同节点的边;对应第二实体的节点,用于指示相应第二实体的实体类别;所述第二图谱中的边,用于指示连接的两节点对应第二实体的间距小于所述阈值距离;

对所述第二图谱中各节点对应的第二实体,根据以相应节点为起点的随机游走路径中各节点指示的实体类别,确定相应第二实体的描述信息。

3.根据权利要求1或2所述的视觉定位方法,其特征在于,所述根据所述候选实体所处区域,定位所述第一图像的采集区域之前,还包括:从已知位置采集的多帧第二图像中,确定多帧目标图像;每一帧所述目标图像中呈现有至少一候选实体;

根据不同目标图像中呈现的相同候选实体,建立所述多帧目标图像的连接关系;

根据所述连接关系,从所述多帧目标图像中,确定至少两帧候选图像;其中,所述至少两帧候选图像为连接关系构成的连接路径所经过的目标图像;

根据所述至少两帧候选图像的采集位置,确定所述候选实体所处区域。

4.根据权利要求3所述的视觉定位方法,其特征在于,所述根据不同目标图像中呈现的相同候选实体,建立所述多帧目标图像的连接关系,包括:若所述多帧目标图像中的两帧目标图像,呈现的相同候选实体个数大于阈值个数,则建立所述两帧目标图像之间的连接关系。

5.根据权利要求3所述的视觉定位方法,其特征在于,所述根据所述至少两帧候选图像的采集位置,确定所述候选实体所处区域,包括:将包含所述至少两帧候选图像的采集位置的最大连通区域,确定为所述候选实体所处区域。

6.根据权利要求3所述的视觉定位方法,其特征在于,所述根据所述候选实体所处区域,定位所述第一图像的采集区域之后,还包括:从所述至少两帧候选图像中,确定呈现的候选实体个数最多的候选图像;

对所述呈现的候选实体个数最多的候选图像,查询采集位置,以作为所述第一图像的采集位置。

7.根据权利要求3所述的视觉定位方法,其特征在于,所述根据所述候选实体所处区域,定位所述第一图像的采集区域之后,还包括:将所述至少两帧候选图像采集位置的中心作为所述第一图像的采集位置。

8.根据权利要求7所述的视觉定位方法,其特征在于,所述将所述至少两帧候选图像采集位置的中心作为所述第一图像的采集位置,包括:对每一帧候选图像的采集位置,确定相应的位置坐标;

根据各采集位置的位置坐标均值,确定所述中心的位置坐标。

9.根据权利要求2所述的视觉定位方法,其特征在于,所述对所述多帧第二图像中呈现的第二实体进行识别,以确定各第二实体的实体类别和任意两第二实体的间距,包括:对每一帧第二图像进行语义分割,以识别得到每一个语义分割图像区中呈现的第二实体的实体类别;

若两第二实体呈现于同一帧第二图像,则根据对应两语义分割图像区域的中心距离,确定相应两第二实体的间距;

若两第二实体呈现于不同的两第二图像,则根据所述不同的两第二图像之间的采集位置距离,确定相应两第二实体的间距。

10.一种视觉定位装置,其特征在于,所述装置包括:

采集模块,用于采集第一图像;

识别模块,用于识别所述第一图像,以对所述第一图像中呈现的多个第一实体确定实体类别,以及确定任意两第一实体的间距,其中,实体为图像中包含的实质物体或虚拟物体;

生成模块,用于根据所述间距,生成第一图谱;其中,所述第一图谱中包含与所述多个第一实体一一对应的节点,以及用于连接不同节点的边;所述节点,用于指示相应第一实体的实体类别;所述边,用于指示连接的两节点对应第一实体之间的间距小于阈值距离;

第一确定模块,用于对所述第一图谱中各节点对应的第一实体,根据以相应节点为起点的游走路径中各节点指示的实体类别,确定相应第一实体的描述信息;

选择模块,用于根据预存的多个第二实体的描述信息,对每一第一实体,从所述多个第二实体中确定描述信息匹配的候选实体;其中,各第二实体的描述信息,用于指示与相应第二实体具有相邻关系的各第二实体的实体类别;

定位模块,用于根据所述候选实体所处区域,定位所述第一图像的采集区域。

11.根据权利要求10所述的视觉定位装置,其特征在于,所述装置,还包括:获取模块,用于获取在已知位置采集的多帧第二图像;

所述识别模块,还用于对所述多帧第二图像中呈现的第二实体进行识别,以确定各第二实体的实体类别和任意两第二实体的间距;

所述生成模块,还用于根据所述任意两第二实体的间距,生成第二图谱;其中,所述第二图谱中包含与所述多个第二实体一一对应的节点,以及用于连接所述第二图谱中不同节点的边;对应第二实体的节点,用于指示相应第二实体的实体类别;所述第二图谱中的边,用于指示连接的两节点对应第二实体的间距小于所述阈值距离;

所述第一确定模块,还用于对所述第二图谱中各节点对应的第二实体,根据以相应节点为起点的随机游走路径中各节点指示的实体类别,确定相应第二实体的描述信息。

12.根据权利要求10或11所述的视觉定位装置,其特征在于,所述装置,还包括:第二确定模块,用于从已知位置采集的多帧第二图像中,确定多帧目标图像;每一帧所述目标图像中呈现有至少一候选实体;

建立模块,用于根据不同目标图像中呈现的相同候选实体,建立所述多帧目标图像的连接关系;

所述第二确定模块,还用于根据所述连接关系,从所述多帧目标图像中,确定至少两帧候选图像;其中,所述至少两帧候选图像为连接关系构成的连接路径所经过的目标图像;根据所述至少两帧候选图像的采集位置,确定所述候选实体所处区域。

13.根据权利要求12所述的视觉定位装置,其特征在于,所述建立模块,具体用于:若所述多帧目标图像中的两帧目标图像,呈现的相同候选实体个数大于阈值个数,则建立所述两帧目标图像之间的连接关系。

14.根据权利要求12所述的视觉定位装置,其特征在于,所述第二确定模块,具体还用于:将包含所述至少两帧候选图像的采集位置的最大连通区域,确定为所述候选实体所处区域。

15.根据权利要求12所述的视觉定位装置,其特征在于,所述装置,还包括:第一位置确定模块,用于从所述至少两帧候选图像中,确定呈现的候选实体个数最多的候选图像;对所述呈现的候选实体个数最多的候选图像,查询采集位置,以作为所述第一图像的采集位置。

16.根据权利要求12所述的视觉定位装置,其特征在于,所述装置,还包括:第二位置确定模块,用于将所述至少两帧候选图像采集位置的中心作为所述第一图像的采集位置。

17.根据权利要求16所述的视觉定位装置,其特征在于,所述第二位置确定模块,具体用于:对每一帧候选图像的采集位置,确定相应的位置坐标;

根据各采集位置的位置坐标均值,确定所述中心的位置坐标。

18.根据权利要求11所述的视觉定位装置,其特征在于,所述识别模块,具体用于:对每一帧第二图像进行语义分割,以识别得到每一个语义分割图像区中呈现的第二实体的实体类别;

若两第二实体呈现于同一帧第二图像,则根据对应两语义分割图像区域的中心距离,确定相应两第二实体的间距;

若两第二实体呈现于不同的两第二图像,则根据所述不同的两第二图像之间的采集位置距离,确定相应两第二实体的间距。

19.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1‑9中任一所述的视觉定位方法。

20.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑9中任一所述的视觉定位方法。

说明书 :

视觉定位方法、装置、电子设备和计算机可读存储介质

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及计算机视觉和图像处理技术领域,具体涉及一种视觉定位方法、装置、电子设备和计算机可读存储介质。

背景技术

[0002] 视觉定位技术是虚拟现实技术(Virtua lReality,VR)、增强现实技术AR、无人驾驶等领域的核心,只有在精确定位的前提下才能完成后续的复杂处理。
[0003] 目前室内外定位采用的通用技术方案是首先使用图像检索image retrieval技术进行粗定位,然后在粗定位的基础上进行精确匹配以确定图像位置。但是当前图像检索技术在场景视角、光照变化较大,长时间定位场景表现不好,尤其是对室内动态物体多、重复纹理严重的情况,传统的基于CNN的图像检索的技术方案经常得到错误的粗定位结果,导致之后没有办法得到精确的位置,定位的准确性和鲁棒性均较差。

发明内容

[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] 图1为本申请实施例所提供的一种视觉定位方法的流程示意图;
[0030] 图2为本申请提供的第一图像语义分割的结果示意图;
[0031] 图3为本申请提供的第一图谱的示意图;
[0032] 图4为本申请实施例的另一种视觉定位方法的流程示意图;
[0033] 图5为本申请提供的候选区域的示意图;
[0034] 图6为本申请实施例所提供的又一种视觉定位方法的流程示意图;
[0035] 图7为本申请实施例所提供的再一种视觉定位方法的流程示意图;
[0036] 图8为本申请提供的第二图谱的示意图之一;
[0037] 图9为本申请提供的第二图谱的示意图之二;
[0038] 图10为本申请实施例提供的一种视觉定位装置的结构示意图;以及[0039] 图11是本申请实施例的视觉定位方法的电子设备的框图。

具体实施方式

[0040] 下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0041] 下面参考附图描述本申请实施例的视觉定位方法、装置、电子设备和计算机可读存储介质。
[0042] 图1为本申请实施例所提供的一种视觉定位方法的流程示意图。
[0043] 如图1所示,该方法包括以下步骤:
[0044] 步骤101,采集第一图像。
[0045] 其中,第一图像可以是通过摄像装置实时采集,也可以是从预设的图像库中获取的,第一图像可以为一个图像也可以为多个图像。
[0046] 本实施例中的第一图像即为用于进行视觉定位的图像。
[0047] 步骤102,识别第一图像,以对第一图像中呈现的多个第一实体确定实体类别,以及确定任意两第一实体的间距。
[0048] 其中,实体即图像中包含的实质物体或虚拟物体,例如,人、物体或地名等。
[0049] 具体地,对第一图像进行语义分割,作为一种可能的实现方式,基于深度学习的方法进行语义分割,得到多个语义块,进而确定每个语义块的中心,然后再以图像中的像素为单位阈值识别得到语义分割图像中每一个语义块中呈现的第一实体,以及第一实体的实体类别,实体类别用于指示实体的类型或类别。如图2所示,图2中示出了对一个第一图像进行语义分割后得到的对应不同语义的各个实体,并确定对应的实体类别,其中,实体类别可以用数字进行编号对应,每一个数字对应一种实体,用相同的数字指示的即为相同的实体,例如,图2中,数字4指示的实体类别为植物盆栽,数字3指示的实体类别为地毯,数字2指示的实体类别为黑板,数字1指示的实体类别为家电风扇。图2中摆放了多盆盆栽,每一盆盆栽均对应同一种实体的类别,即实体类别为植物盆栽,用数字4指示。
[0050] 同时,还需要确定任意两第一实体间的间距,具体来说,对第一图像均进行语义分隔后,识别得到多个第一实体,对呈现于同一帧第一图像中的两第一实体,则根据对应两语义分割图像区域的中心距离,确定相应两第一实体的间距。
[0051] 需要说明的是,本实施例中的距离是实体世界坐标系下的距离。
[0052] 需要理解的是,图2中对实体的语义识别仅为示意,实际应用中可以识别出更多的实体,本实施例中不进行限定。
[0053] 步骤103,根据间距,生成第一图谱。
[0054] 其中,第一图谱中包含与多个第一实体一一对应的节点,以及用于连接不同节点的边;节点,用于指示相应第一实体的实体类别;边,用于指示连接的两节点对应第一实体之间的间距小于阈值距离。
[0055] 具体来说,对图片进行语义识别得到的不同实体间的距离是不同的,将第一实体间的距离小于阈值距离的第一实体之间用边进行连接,以生成第一图谱。当两个第一实体间的距离小于阈值,也就是两个第一实体间的距离较小时,在采集一个第一实体时,也可以看到距离较近的另一个第一实体,也就是说在采集的第一图像中会分别包含距离较近的两个实体,也就是说两个第一实体之间语义上具有关联关系,通过语谱图可以将两个第一实体间的关联关系表示出来,从而体现实体间的语义约束关系。
[0056] 图3为本申请提供的第一图谱的示意图,如图3所示,该第一图谱为根据图2对应的第一图像生成的第一图谱,该第一图谱中的所有的节点均为对第一图像识别得到的实体对应的节点。如图3所示,该第一图谱中每一个实心点代表一个节点,该节点和图2中进行语义识别得到的实体一一对应,每一个节点指示相应第一实体的实体类别,如,编号为4的节点指示了实体类别为植物盆栽,编号为1的节点指示的实体类别为电器风扇,此处不一一列举。
[0057] 步骤104,对第一图谱中各节点对应的第一实体,根据以相应节点为起点的随机游走路径中各节点指示的实体类别,确定相应第一实体的描述信息。
[0058] 如图3所示,将不同的实体类别分别用不同的数字进行编号,例如,利用数字1-N进行顺序编号,其中N为自然数。进而将各个第一实体对应的节点用实体类别对应的数字进行表示,例如,节点1表示该节点对应的实体类别编号为1,如图3所示,以节点1对应的第一实体为例,从节点1为起点,采用随机游走的算法游走箭头指示的路径1中的各节点指示的实体类别,得到2个维度的表示1,2。其中,节点1为起点,还可以游走其它路径,得到2个维度的表示1,4;还可以随机游走得到2个维度的表示为1,3。从而,根据各个节点所对应的路径,可以将每一个节点对应的第一实体的描述信息表示为N*M的描述信息,其中,N为相应节点对应的路径,M为每个路径中包含的节点的个数,即实体类别的维度,通过随机游走路径中各节点指示的实体类别得到相应第一实体的描述信息,使得每一个实体的描述信息中不仅包含了识别到的对应的第一实体的语义信息,即实体的语义类别,还包含了与其它不同的节点对应的第一实体之间的语义的约束信息,提高了图片视觉定位的准确定和鲁棒性。
[0059] 需要说明的是,当需要进行定位的第一图像为多个时,则按照上述的方法依次确定对应的图谱,以及采用随机游走算法确定各个实体的描述信息和图3对应图谱中确定各实体的描述信息的方法相同,此处不再赘述。
[0060] 步骤105,根据预存的多个第二实体的描述信息,对每一第一实体,从多个第二实体中确定描述信息匹配的候选实体。
[0061] 其中,各第二实体的描述信息,用于指示与相应第二实体具有相邻关系的各第二实体的实体类别。
[0062] 具体地,通过将每一第一实体的描述信息,与预存的多个第二实体的描述信息进行相似度匹配,以确定与每一个第一实体匹配度最高的第二实体,作为相应的第一实体对应的候选实体,以确定每一个候选实体对应的候选实体。
[0063] 其中,预存的多个第二实体的描述信息的确定方法,下述实施例中会详细介绍,此处不再赘述。
[0064] 步骤106,根据候选实体所处区域,定位第一图像的采集区域。
[0065] 具体地,由于每一个第二实体的采集区域是预先确定的,根据确定的每一个第一实体对应的候选实体所处的区域,即可定位得到第一图像的采集区域,提高了第一图像视觉定位的鲁棒性和准确性。
[0066] 本申请实施例的视觉定位方法中,采集第一图像,识别第一图像,以对第一图像中呈现的多个第一实体确定实体类别,以及确定任意两第一实体的间距,根据间距,生成第一图谱,对第一图谱中各节点对应的第一实体,根据以相应节点为起点的随机游走路径中各节点指示的实体类别,确定相应第一实体的描述信息,根据预存的多个第二实体的描述信息,对每一第一实体,从多个第二实体中确定描述信息匹配的候选实体,根据候选实体所处区域,定位第一图像的采集区域,通过生成语义图谱,并利用随机游走算法构造每个实体节点的描述信息,使得描述信息中不仅包含有相应节点的语义信息,还包含语义之间的局部约束信息,提高了采集的图像视觉定位的鲁棒性、准确性和稳定性。
[0067] 基于上一实施例,本实施例提供了另一种视觉定位方法的可能的实现方式,说明了如何在多帧图像对应的特征空间中进行进一步约束,以提高定位的鲁棒性。图4为本申请实施例的另一种视觉定位方法的流程示意图,如图4所示,步骤106之前还可以包含以下步骤:
[0068] 步骤401,从已知位置采集的多帧第二图像中,确定多帧目标图像,每一帧目标图像中呈现有至少一候选实体。
[0069] 具体地,根据确定的多个候选实体,从多帧第二图像中选择呈现有至少一个候选实体的第二图像作为目标图像,目标图像可以为多帧,其中,由于第二图像的采集位置是已知的,从而从第二图像中确定的多帧目标图像的采集位置也是已知的。
[0070] 步骤402,根据不同目标图像中呈现的相同候选实体,建立多帧目标图像的连接关系。
[0071] 具体地,若多帧目标图像中的两帧目标图像,呈现的相同候选实体个数大于阈值个数,则建立两帧目标图像之间的连接关系,实现了建立不同帧图像之间的约束,也就是建立了不同特征空间之间的约束。
[0072] 步骤403,根据连接关系,从多帧目标图像中,确定至少两帧候选图像,其中,至少两帧候选图像为连接关系构成的连接路径所经过的目标图像。
[0073] 需要说明的是,目标图像即为有连接关系构成的连接路径经过的目标图像,其中,经过目标图像的连接路径并不限于一条,可以为多条,也就是说只要有一条连接路径经过目标图像,该目标图像则为候选图像。
[0074] 步骤404,根据至少两帧候选图像的采集位置,确定候选实体所处区域。
[0075] 具体地,将包含至少两帧候选图像的采集位置的最大连通区域,确定为候选实体所处区域,具体来说,是将确定的至少两帧候选图像的采集位置进行连接时对应的最大联通区域,即包含至少两帧候选图像的最小区域,例如,以图5为例,若确定的4帧候选图像的采集位置分别为a,b,d和h,则将包含4帧候选图像的采集位置的图示区域的最大联通区域,确定为候选实体所处区域,实现了粗略定位候选实体所处的区域,进而可以根据候选实体所处区域,对需要进行定位的第一图像的采集区域进行定位。
[0076] 需要说明的是,图5中的最大联通区域和外形仅为示意性表示,并不构成对本实施例的最大联通区域的限定。
[0077] 本实施例的视觉定位方法中,从已知位置采集的多帧第二图像中,确定多帧目标图像,每一帧目标图像中呈现有至少一候选实体,根据不同目标图像中呈现的相同候选实体,建立多帧目标图像的连接关系,根据连接关系,从多帧目标图像中,确定至少两帧候选图像,其中,至少两帧候选图像为连接关系构成的连接路径所经过的目标图像,将包含至少两帧候选图像的采集位置的最大连通区域,确定为候选实体所处区域,通过建立不同位置采集的多帧图像间的连接关系,实现了在不同的多帧图像对应的特征空间中进一步对定位结果进行约束,使视觉定位系统更加鲁棒和稳定。
[0078] 基于上述实施例,本实施例还提供了一种视觉定位方法的可能的实现方式,说明了在确定了第一图像的采集区域后,可在采集区域中进行第一图像的采集位置的精准定位。图6为本申请实施例所提供的又一种视觉定位方法的流程示意图,如图6所示,在定位第一图像的采集区域之后,还可以包括以下步骤:
[0079] 步骤601,根据第一图像的采集区域,确定第一图像的采集位置。
[0080] 由于确定的候选实体的个数不至一个,因此,作为一种可能的实现方式,从至少两帧候选图像中,确定呈现的候选实体个数最多的候选图像,对呈现的候选实体个数最多的候选图像,查询采集位置,将查询到的采集位置作为第一图像的采集位置,实现了在确定的采集区域中进行第一图像采集位置的精准定位,可用于图像检索场景下。
[0081] 作为另一种可能的实现方式,将至少两帧候选图像采集位置的中心作为第一图像的采集位置,具体来说,对每一帧候选图像的采集位置,确定相应的位置坐标,根据各采集位置的位置坐标均值,确定中心的位置坐标,将中心的位置坐标作为第一图像的采集位置,实现了在确定的采集区域中进行第一图像采集位置的进一步定位。
[0082] 作为第三种可能的实现方式,对每一帧候选图像的采集位置,确定相应的位置坐标,根据各采集位置的位置坐标进行加权计算,将计算得到的位置坐标作为第一图像的采集位置,实现了在确定的采集区域中进行第一图像采集位置的精准定位,以满足具体场景的定位需求。
[0083] 本申请实施例的视觉定位方法中,在确定的第一图像的采集区域中,进一步确定第一图像的采集位置,实现了在确定的采集区域中进行第一图像采集位置的进一步定位,以满足具体场景的定位精度需求。
[0084] 基于上述实施例,本实施例提供了又一种视觉定位方法的可能的实现方式,具体说明了如何获取预存的多个第二实体的描述信息,图7为本申请实施例所提供的再一种视觉定位方法的流程示意图。
[0085] 如图7所示,在步骤105之前,该方法还包括以下步骤:
[0086] 步骤701,获取在已知位置采集的多帧第二图像。
[0087] 其中,多帧第二图像的位置是在已知位置拍摄的,多帧第二图像可以是利用一个摄像终端通过不断的改变位置拍摄的,在拍摄过程中,每一帧的拍摄时间和位置均被记录下来,从而可以根据已知的位置确定多帧第二图像中每一个第二实体所处的位置。
[0088] 步骤702,对多帧第二图像中呈现的第二实体进行识别,以确定各第二实体的实体类别和任意两第二实体的间距。
[0089] 具体地,依次对多帧第二图像中呈现的第二实体进行识别,识别得到各个第二图像中包含的多个第二实体的实体类别,同时,还需要确定任意两第二实体间的间距,由于需要进行视觉定位的第二图像为多个,当对每一帧第二图像均进行语义分割后,识别得到多个第二实体,其中,任意两个第二实体可以是仅呈现于同一帧第二图像中,也可能是呈现于不同的两第二图像中,从而,在确定任意两第二实体间的间距时,需要区分以下两种场景进行确定。
[0090] 在一种场景下,若两第二实体呈现于同一帧第二图像,则根据对应两语义分割图像区域的中心距离,确定相应两第二实体的间距。
[0091] 在另一种场景下,若两第二实体呈现于不同的两第二图像,则根据不同的两第二图像之间的采集位置距离,确定相应两第二实体的间距。
[0092] 需要说明的是,本实施例中的距离均是实体世界坐标系下的距离。步骤703,根据任意两第二实体的间距,生成第二图谱。
[0093] 其中,第二图谱中包含与多个第二实体一一对应的节点,以及用于连接第二图谱中不同节点的边;对应第二实体的节点,用于指示相应第二实体的实体类别;第二图谱中的边,用于指示连接的两节点对应第二实体的间距小于阈值距离。
[0094] 图8为本申请提供的第二图谱的示意图之一,如图8所示,该第二图谱为采集的第二图像为三个时生成的第二图谱,如图8所示,不同形式的实心球对应的节点代表属于不同的第二图像,例如,网格实心球属于同一个第二图像,而灰色实心球则表示属于另一个第二图像,此处不一一列举,同时第二节点间的距离小于阈值阈值。由于在上一步骤中识别到了不同的第二图像中中各个第二实体和第二实体间的距离,从而将第二实体间的距离小于阈值距离的第二实体之间用边进行连接,这是因为,当两个第二实体间的距离小于阈值,也就是两个第二实体间的距离较小时,在采集一个第二实体时,也可以看到距离较近的另一个第二实体,也就是说在不同位置采集的两个第二图像可以分别包含距离较近的两个实体,也就是说两个第二图像包含的实体之间语义上具有关联关系,通过语谱图可以将两个第二图像包含的实体间的关联关系表示出来,从而体现了不同图像中不同实体间的语义约束关系。
[0095] 步骤704,对第二图谱中各节点对应的第二实体,根据以相应节点为起点的随机游走路径中各节点指示的实体类别,确定相应第二实体的描述信息。
[0096] 图9为本申请提供的第二图谱的示意图之二,如图9所示,将不同的实体类别分别用不同的数字进行编号,例如,利用数字1-N进行顺序编号,其中N为自然数。进而将各个第一实体对应的节点用实体类别对应的数字进行表示,例如,节点1表示该节点对应的实体类别编号为1,如图9所示,以节点1对应的第二实体为例,从节点1为起点,采用随机游走的算法游走箭头指示的路径1中的各节点指示的实体类别,得到4个维度的表示1,2,3,3。其中,节点1为起点,还可以游走其它路径,得到4个维度的表示1,4,3,3;还可以随机游走得到4个维度的表示为1,5,7,8等,本实施例中不一一列举;从而,根据各个节点所对应的路径,可以将每一个节点对应的第二实体的描述信息表示为N*M的描述信息,其中,N为相应节点对应的路径,M为每个路径中包含的节点的个数,即实体类别的维度,通过随机游走路径中各节点指示的实体类别得到相应第二实体的描述信息,使得每一个第二实体的描述信息中不仅包含了识别到的对应的第二实体的语义信息,即实体的语义类别,还包含了不同节点对应的第二实体之间的语义的约束信息,提高了定位的准确定和鲁棒性。
[0097] 需要说明的是,当需要进行定位的第二图像为多余3个时,确定的图谱的方法和第二图像为3个时的方法原理相同,同时,采用随机游走算法确定各个实体的描述信息和图9对应图谱中确定各实体的描述信息的方法原理相同,此处不再赘述。
[0098] 需要说明的是,通过多帧的第二图像预先生成的第二图谱中,包含了更多帧第二图像及图像之间的连接关系,生成了一个包含已知采集位置的多帧第二图像包含的实体构成的语义地图,即第二图谱,从而利用随机游走算法构造出的每个实体节点的描述信息中,不仅包含有相应节点的语义信息,还包含不同帧图像包含的实体间语义之间的局部约束信息,提高了采集的图像视觉定位的鲁棒性、准确性和稳定性。
[0099] 本实施例的视觉定位方法中,多帧第二图像的位置是在已知位置拍摄的,通过对第二图像进行语义识别,识别得到每一帧第二图像中的多个第二实体,从而根据已知的位置确定多帧第二图像中每一个第二实体所处的区域,并得到第二图像对应的第二图谱,根据第二图谱,利用随机游走算法确定每一个第二实体的描述信息,从而可以预先建立包含多个第二实体的描述信息,和第二实体的位置信息的数据库,从而在需要对第一图像进行定位时,将确定的第一图像中相应实体的描述信息,与预存的多个第二实体的描述信息进行匹配,从多个第二实体中确定匹配的候选实体,根据候选实体所处的区域,定位第一图像的采集区域,提高了采集的图像视觉定位的鲁棒性、准确性和稳定性。
[0100] 为了实现上述实施例,本申请还提出一种视觉定位装置。
[0101] 图10为本申请实施例提供的一种视觉定位装置的结构示意图。
[0102] 如图10所示,该装置包括:采集模块91、识别模块92、生成模块93、第一确定模块94、选择模块95和定位模块96。
[0103] 采集模块91,用于采集第一图像。
[0104] 识别模块92,用于识别第一图像,以对第一图像中呈现的多个第一实体确定实体类别,以及确定任意两第一实体的间距。
[0105] 生成模块93,用于根据所述间距,生成第一图谱;其中,第一图谱中包含与多个第一实体一一对应的节点,以及用于连接不同节点的边;节点,用于指示相应第一实体的实体类别;边,用于指示连接的两节点对应第一实体之间的间距小于阈值距离。
[0106] 第一确定模块94,用于对第一图谱中各节点对应的第一实体,根据以相应节点为起点的游走路径中各节点指示的实体类别,确定相应第一实体的描述信息。
[0107] 选择模块95,用于根据预存的多个第二实体的描述信息,对每一第一实体,从多个第二实体中确定描述信息匹配的候选实体;其中,各第二实体的描述信息,用于指示与相应第二实体具有相邻关系的各第二实体的实体类别。
[0108] 定位模块96,用于根据候选实体所处区域,定位第一图像的采集区域。
[0109] 进一步地,在本申请实施例的一种可能的实现方式中,该装置还包括:获取模块、第二确定模块,建立模块、第一位置确定模块和第二位置确定模块。
[0110] 作为一种可能的实现方式,在利用定位模块96定位第一图像的采集区域之前,其中,
[0111] 第二确定模块,用于从已知位置采集的多帧第二图像中,确定多帧目标图像;每一帧目标图像中呈现有至少一候选实体。
[0112] 建立模块,用于根据不同目标图像中呈现的相同候选实体,建立多帧目标图像的连接关系。
[0113] 上述第二确定模块,还用于根据连接关系,从多帧目标图像中,确定至少两帧候选图像;其中,至少两帧候选图像为连接关系构成的连接路径所经过的目标图像;根据至少两帧候选图像的采集位置,确定候选实体所处区域。
[0114] 获取模块,用于获取在已知位置采集的多帧第二图像。
[0115] 作为一种可能的实现方式,第一位置确定模块,用于从至少两帧候选图像中,确定呈现的候选实体个数最多的候选图像;对呈现的候选实体个数最多的候选图像,查询采集位置,以作为第一图像的采集位置。
[0116] 作为另一种可能的实现方式,第二位置确定模块,用于将所述至少两帧候选图像采集位置的中心作为所述第一图像的采集位置。
[0117] 可选地,第二位置确定模块,具体用于:
[0118] 对每一帧候选图像的采集位置,确定相应的位置坐标;
[0119] 根据各采集位置的位置坐标均值,确定所述中心的位置坐标。
[0120] 作为一种可能的实现方式,在利用上述的选择模块,得到匹配的候选实体之前,获取模块,用于获取在已知位置采集的多帧第二图像。
[0121] 上述识别模块92,还用于对多帧第二图像中呈现的第二实体进行识别,以确定各第二实体的实体类别和任意两第二实体的间距。
[0122] 上述生成模块93,还用于根据任意两第二实体的间距,生成第二图谱;其中,第二图谱中包含与所述多个第二实体一一对应的节点,以及用于连接第二图谱中不同节点的边;对应第二实体的节点,用于指示相应第二实体的实体类别;第二图谱中的边,用于指示连接的两节点对应第二实体的间距小于阈值距离。
[0123] 上述第一确定模块94,还用于对第二图谱中各节点对应的第二实体,根据以相应节点为起点的随机游走路径中各节点指示的实体类别,确定相应第二实体的描述信息。
[0124] 作为一种可能的实现方式,上述识别模块92,具体用于:
[0125] 对每一帧第二图像进行语义分割,以识别得到每一个语义分割图像区中呈现的第二实体的实体类别;
[0126] 若两第二实体呈现于同一帧第二图像,则根据对应两语义分割图像区域的中心距离,确定相应两第二实体的间距;若两第二实体呈现于不同的两第二图像,则根据不同的两第二图像之间的采集位置距离,确定相应两第二实体的间距。
[0127] 需要说明的是,前述对视觉定位方法实施例的解释说明也适用于该实施例的视觉定位装置,原理相同,此处不再赘述。
[0128] 本申请实施例的视觉定位装置中,采集第一图像,识别第一图像,以对第一图像中呈现的多个第一实体确定实体类别,以及确定任意两第一实体的间距,根据间距,生成第一图谱,对第一图谱中各节点对应的第一实体,根据以相应节点为起点的随机游走路径中各节点指示的实体类别,确定相应第一实体的描述信息,根据预存的多个第二实体的描述信息,对每一第一实体,从多个第二实体中确定描述信息匹配的候选实体,根据候选实体所处区域,定位第一图像的采集区域,通过生成语义图谱,并利用随机游走算法构造每个实体节点的描述信息,使得描述信息中不仅包含有相应节点的语义信息,还包含语义之间的局部约束信息,提高了采集的图像视觉定位的鲁棒性、准确性和稳定性。
[0129] 为了实现上述实施例,本申请实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如前述方法实施例所述的视觉定位方法。
[0130] 为了实现上述实施例,本申请实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述方法实施例所述的视觉定位方法。
[0131] 根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
[0132] 如图11所示,是根据本申请实施例的视觉定位方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
[0133] 如图11所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图11中以一个处理器1001为例。
[0134] 存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的视觉定位方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的视觉定位方法。
[0135] 存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的视觉定位方法对应的程序指令/模块(例如,附图10所示的采集模块91、识别模块92、生成模块93、第一确定模块94、选择模块95和定位模块96)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的视觉定位方法。
[0136] 存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据对视觉定位的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至视觉定位的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0137] 视觉定位的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图11中以通过总线连接为例。
[0138] 输入装置1003可接收输入的数字或字符信息,以及产生与视觉定位的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
[0139] 此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0140] 这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0141] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0142] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0143] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
[0144] 根据本申请实施例的技术方案,采集第一图像,识别第一图像,以对第一图像中呈现的多个第一实体确定实体类别,以及确定任意两第一实体的间距,根据间距,生成第一图谱,对第一图谱中各节点对应的第一实体,根据以相应节点为起点的随机游走路径中各节点指示的实体类别,确定相应第一实体的描述信息,根据预存的多个第二实体的描述信息,对每一第一实体,从多个第二实体中确定描述信息匹配的候选实体,根据候选实体所处区域,定位第一图像的采集区域,通过生成语义图谱,并利用随机游走算法构造每个实体节点的描述信息,使得描述信息中不仅包含有相应节点的语义信息,还包含语义之间的局部约束信息,提高了采集的图像视觉定位的鲁棒性、准确性和稳定性。
[0145] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
[0146] 上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。