CN111340887B - 视觉定位方法、装置、电子设备和存储介质 - Google Patents

视觉定位方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111340887B
CN111340887B CN202010120703.3A CN202010120703A CN111340887B CN 111340887 B CN111340887 B CN 111340887B CN 202010120703 A CN202010120703 A CN 202010120703A CN 111340887 B CN111340887 B CN 111340887B
Authority
CN
China
Prior art keywords
image frame
image
slave
host
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010120703.3A
Other languages
English (en)
Other versions
CN111340887A (zh
Inventor
苟清松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010120703.3A priority Critical patent/CN111340887B/zh
Publication of CN111340887A publication Critical patent/CN111340887A/zh
Application granted granted Critical
Publication of CN111340887B publication Critical patent/CN111340887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本申请提出一种实施例的视觉定位方法、装置、电子设备和存储介质,其中,方法包括:通过根据从机探测到的主机通信信号强度,确定从机相对主机的候选位置,获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置,按照拍摄位置与候选位置之间的距离从近到远的顺序,对各第一图像帧排序,按照排序,将各第一图像帧与从机采集的第二图像帧匹配,以确定与第二图像帧匹配的目标图像,根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时的目标位姿。由此,通过对各第一图像帧进行排序筛选,以确定与第二图像帧匹配的目标图像,进而根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时所处的目标位姿,减少了从机定位所需的时间,并且提高了定位从机的成功率。

Description

视觉定位方法、装置、电子设备和存储介质
技术领域
本申请涉及电子设备技术领域,尤其涉及一种视觉定位方法、装置、电子设备和存储介质。
背景技术
增强现实(Augmented Reality,简称AR),是指将虚拟对象添加到用户真实世界的视图中。多人AR是指多个用户体验相同的虚拟对象,其中一种实现方法是由一个主机扫描周围场景建立地图,然后将地图分享给其他用户,其他用户通过在建图周围进行重定位,确立自己在地图中的位姿,以加入多人AR体验。可见,快速稳定的重定位是多人AR中的关键技术。
传统的重定位方法通常采用基于视觉的重定位方法,通过将当前帧跟建图的关键帧进行特征匹配,然后进行几何验证,如果这些测试都通过了就表示定位成功。但是,基于视觉的重定位需要用户跟建图时扫描的位置和朝向几乎差不多的情况下才能重定位成功,这对用户操作要求较高,从而存在定位成功低的技术问题。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
本申请第一方面实施例提出了一种视觉定位方法,包括:
根据从机探测到的主机通信信号强度,确定所述从机相对主机的候选位置;
获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置;
按照所述拍摄位置与所述候选位置之间的距离从近到远的顺序,对各第一图像帧排序;
按照所述排序,将各第一图像帧与所述从机采集的第二图像帧匹配,以确定与所述第二图像帧匹配的目标图像;
根据所述目标图像的拍摄位姿,定位所述从机拍摄所述第二图像帧时所处的目标位姿。
作为本申请实施例的第一种可能的实现方式,所述根据从机探测到的主机通信信号强度,确定所述从机相对主机的候选位置,包括:
通知所述从机移动;
根据所述从机移动前探测的通信信号强度确定与所述主机之间的第一距离,根据所述从机移动后探测的通信信号强度确定与所述主机之间的第二距离;
根据所述第一距离和所述第二距离,确定所述从机移动后相对所述主机的候选位置;其中,所述从机移动前与所述主机符合所述第一距离,且移动至所述候选位置后与所述主机符合所述第二距离。
作为本申请实施例的第二种可能的实现方式,根据所述第一距离和所述第二距离,确定所述从机移动后相对所述主机的候选位置,包括:
在所述主机建立的地图中,确定与所述主机之间符合所述第一距离的圆形区域;
以所述圆形区域中各位置为起点,沿所述从机的移动方向移动所述从机的移动距离后,确定与所述主机符合所述第二距离的候选位置。
作为本申请实施例的第三种可能的实现方式,所述根据所述从机移动前探测的通信信号强度确定与所述主机之间的第一距离,根据所述从机移动后探测的通信信号强度确定与所述主机之间的第二距离,包括:
根据所述主机发出的通信信号强度,和所述从机移动前探测到的通信信号强度,确定通信信号的第一传输距离;
将所述第一传输距离,作为所述从机与所述主机之间的第一距离;
根据所述主机发出的通信信号强度和所述从机移动后探测到的通信信号强度,确定通信信号的第二传输距离;
将所述第二传输距离,作为所述从机与所述主机之间的第二距离。
作为本申请实施例的第四种可能的实现方式,所述按照所述排序,将各第一图像帧与所述从机采集的第二图像帧匹配,以确定与所述第二图像帧匹配的目标图像,包括:
按照所述排序,将各第一图像帧添加到帧队列中;
依次将所述帧队列中的第一图像与所述第二图像帧匹配,直至查询到与所述第二图像帧匹配的目标图像。
作为本申请实施例的第五种可能的实现方式,所述将各第一图像帧与所述从机采集的第二图像帧匹配,包括:
对一帧所述第一图像帧提取图像特征;
获取所述第二图像帧的图像特征;
若所述第一图像帧和所述第二图像帧中图像特征匹配的像素单元个数大于或等于阈值,则确定相应的一帧所述第一图像帧与所述第二图像帧匹配;
若所述第一图像帧和所述第二图像帧中图像特征匹配的像素单元个数小于所述阈值,则确定相应的一帧所述第一图像帧与所述第二图像帧不匹配。
作为本申请实施例的第六种可能的实现方式,所述根据所述目标图像的拍摄位姿,定位所述从机拍摄所述第二图像帧时所处的目标位姿,包括:
确定所述目标图像中的第一像素单元,以及所述第二图像帧中与所述第一像素单元图像特征匹配的第二像素单元;
将所述第一像素单元,根据所述拍摄位姿投射至三维世界坐标系中,以在所述三维世界坐标系中确定对应的实际点位;
将所述实际点位投射至处于初始目标位姿的所述第二图像帧中,以确定在所述第二图像帧中所述实际点位的投射位置与所述第二像素单元之间的误差;
根据所述误差调整所述目标位姿,以使所述误差小于误差阈值。
本申请实施例的视觉定位方法,通过根据从机探测到的主机通信信号强度,确定从机相对主机的候选位置,获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置,按照拍摄位置与候选位置之间的距离从近到远的顺序,对各第一图像帧排序,按照排序,将各第一图像帧与从机采集的第二图像帧匹配,以确定与第二图像帧匹配的目标图像,根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时的目标位姿。该方法通过对各第一图像帧进行排序筛选,以根据排序确定与各第一图像帧中与第二图像帧匹配的目标图像,进而根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时所处的目标位姿,通过对各第一图像帧进行排序筛选,加快了定位从机的速度,减少了从机定位所需的时间,并且提高了定位从机的成功率。
本申请第二方面实施例提出了一种视觉定位装置,包括:
确定模块,用于根据从机探测到的主机通信信号强度,确定所述从机相对主机的候选位置;
获取模块,用于获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置;
排序模块,用于按照所述拍摄位置与所述候选位置之间的距离从近到远的顺序,对各第一图像帧排序;
匹配模块,用于按照所述排序,将各第一图像帧与所述从机采集的第二图像帧匹配,以确定与所述第二图像帧匹配的目标图像;
定位模块,用于根据所述目标图像的拍摄位姿,定位所述从机拍摄所述第二图像帧时所处的目标位姿。
本申请实施例的视觉定位装置,通过根据从机探测到的主机通信信号强度,确定从机相对主机的候选位置,获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置,按照拍摄位置与候选位置之间的距离从近到远的顺序,对各第一图像帧排序,按照排序,将各第一图像帧与从机采集的第二图像帧匹配,以确定与第二图像帧匹配的目标图像,根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时的目标位姿。该方法通过对各第一图像帧进行排序筛选,以根据排序确定与各第一图像帧中与第二图像帧匹配的目标图像,进而根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时所处的目标位姿,通过对各第一图像帧进行排序筛选,加快了定位从机的速度,减少了从机定位所需的时间,并且提高了定位从机的成功率。
本申请第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如第一方面实施例所述的视觉定位方法。
本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的视觉定位方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的第一种视觉定位方法的流程示意图;
图2为本申请实施例提供的第二种视觉定位方法的流程示意图;
图3为本申请实施例提供的一种视觉定位方法的示例图;
图4为本申请实施例提供的第三种视觉定位方法的流程示意图;
图5为本申请实施例提供的第四种视觉定位方法的流程示意图;
图6为本申请实施例提供的一种视觉定位装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的视觉定位方法、装置、电子设备和存储介质。
图1为本申请实施例所提供的第一种视觉定位方法的流程示意图。
本申请实施例以该视觉定位方法被配置于视觉定位装置中来举例说明,该视觉定位装置可以应用于任一电子设备中,以使该电子设备可以执行视觉定位功能。
其中,电子设备可以为个人电脑(Personal Computer,简称PC)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统的硬件设备。
如图1所示,该视觉定位方法包括以下步骤:
步骤101,根据从机探测到的主机通信信号强度,确定从机相对主机的候选位置。
其中,主机通信信号强度,可以指主机蓝牙的接收信号强度(Received SignalStrength Indication,以下简称RSSI),它的实现是在反向通道基带接收滤波器之后进行的。
本申请实施例中,多个用户体验相同的虚拟对象时,可以通过其中一个用户对应的主机扫描周围场景建立地图,然后将地图分享给其他用户使用的从机。在主机完成地图绘制,并且固定在地图中的某一点后,打开通信模块,使得从机可以探测到主机的通信信号强度。其中,主机的通信模块可以为蓝牙模块、无线保真(Wireless-Fidelity,简称WiFi)模块,等等。
本申请实施例中,从机探测到主机通信信号强度后,可以根据从机探测到的主机通信信号强度,确定从机相对主机的候选位置。
作为一种可能的实现方式,主机向从机发送通知信息,以通知从机自行移动,根据从机移动前探测的通信信号强度确定从机与主机之间的第一距离,根据从机移动后探测的通信信号强度确定从机与主机之间的第二距离。进而,根据第一距离和第二距离,确定从机移动后相对主机的候选位置。
其中,根据第一距离和第二距离,确定从机移动后相对主机的候选位置时,可以根据即时定位与地图构建方法(Simultaneous Localization and Mapping,以下简称SLAM)来实现。其中,SLAM,是指从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。
步骤102,获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置。
其中,第一图像帧,是指主机在构建地图时拍摄的多帧图像,这里为了区别于从机拍摄的图像帧,将主机拍摄的图像帧命名为第一图像帧。当然,也可以为其他的命名方式,本申请中仅作为一种示例。
本申请实施例中,多人AR中,主机在构建地图时,会拍摄多帧图像帧,从而使得电子设备获取主机已经拍摄得到的多帧第一图像帧和相应的拍摄位置。
可以理解的是,主机在拍摄第一图像帧时,主机不是静止不动的,是运动的,拍摄不同的第一图像帧时,主机对应的拍摄位置不同。因此,在获取主机拍摄得到的多帧第一图像帧时,可以获取到拍摄各帧第一图像帧时,对应的主机的拍摄位置。
步骤103,按照拍摄位置与候选位置之间的距离从近到远的顺序,对各第一图像帧排序。
本申请实施例中,获取到主机已拍摄得到的多帧第一图像帧和相应的拍摄位置后,计算主机拍摄多帧第一图像帧对应的拍摄位置和当前从机相对主机的候选位置之间的距离。
进一步的,确定主机拍摄各帧第一图像帧的拍摄位置和从机相对主机的候选位置之间的距离后,按照拍摄位置与候选位置之间的距离从近到远的顺序,对各第一图像帧排序。
举例来说,假设主机拍摄得到3帧第一图像帧,分别为P1、P2和P3,主机拍摄3帧第一图像帧的拍摄位置与从机相对主机的候选位置之间的距离分别为R1、R2和R3。若R1>R2>R3,则按照拍摄位置与候选位置之间的距离从近到远的顺序,对各第一图像帧排序为P3、P2、P1。
步骤104,按照排序,将各第一图像帧与从机采集的第二图像帧匹配,以确定与第二图像帧匹配的目标图像。
本申请实施例中,按照主机拍摄多帧第一图像帧对应的拍摄位置与从机相对主机的候选位置之间的距离从近到远的顺序,对各第一图像帧排序后,按照各第一图像帧的排序,将各第一图像帧与从机采集的第二图像帧匹配,以确定主机拍摄的多帧第一图像帧中与第二图像帧匹配的目标图像。
作为一种可能的实现方式,按照主机拍摄多帧第一图像帧对应的拍摄位置与从机相对主机的候选位置之间的距离从近到远的顺序,对各第一图像帧排序后,可以按照排序,将各第一图像帧添加到帧队列中。进一步的,依次将帧队列中的第一图像与第二图像帧匹配,直至查询到与第二图像帧匹配的目标图像。
其中,将各第一图像帧与从机采集的第二图像帧匹配时,可以首先提取第一图像帧的图像特征,并且获取第二图像帧的图像特征,进而,根据各第一图像帧和第二图像帧中图像特征匹配的像素单元个数,以确定相应的第一图像帧与第二图像帧是否匹配,以将与第二图像帧匹配的第一图像帧作为目标图像。
本申请实施例中,图像特征提取,就是从图像中提取出关键点,例如,特征点、角点等。
步骤105,根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时所处的目标位姿。
本申请实施例中,从主机拍摄的多帧第一图像帧中,确定与从机拍摄的第二图像帧匹配的目标图像后,可以根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时所处的目标位姿。
本申请实施例的视觉定位方法,通过根据从机探测到的主机通信信号强度,确定从机相对主机的候选位置,获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置,按照拍摄位置与候选位置之间的距离从近到远的顺序,对各第一图像帧排序,按照排序,将各第一图像帧与从机采集的第二图像帧匹配,以确定与第二图像帧匹配的目标图像,根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时的目标位姿。该方法通过对各第一图像帧进行排序筛选,以根据排序确定与各第一图像帧中与第二图像帧匹配的目标图像,进而根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时所处的目标位姿,通过对各第一图像帧进行排序筛选,加快了定位从机的速度,减少了从机定位所需的时间,并且提高了定位从机的成功率。
在上述实施例的基础上,在步骤101中,根据从机探测到的主机通信信号强度,确定从机相对主机的候选位置时,可以通过控制从机移动,以根据从机移动前和移动后探测的主机通信信号强度,分别确定从机移动前后与主机之间的距离,以根据从机移动前后与主机之间的距离,确定从机相对主机的候选位置。下面结合图2对上述过程进行详细介绍,图2为本申请实施例提供的第二种视觉定位方法的流程示意图。
如图2所示,上述步骤101,还可以包括以下步骤:
步骤201,通知从机移动。
本申请实施例中,在多人AR过程中,主机完成地图绘制,并固定在地图中的某一点后,控制主机打开通信模块,进而向从机发送通知消息,以通知从机移动。
步骤202,根据从机移动前探测的通信信号强度确定与主机之间的第一距离,根据从机移动后探测的通信信号强度确定与主机之间的第二距离。
其中,第一距离,是指从机移动前与主机之间的距离。便于区别,将从机移动后与主机之间的距离命名为第二距离。
本申请实施例中,主机在建立的地图中的某一点位置打开通信模块后,可以根据从机探测到主机通信信号强度,确定从机与主机之间的距离。
作为一种可能的实现方式,根据主机发出的通信信号强度和从机移动前探测到的通信信号强度,确定该通信信号的第一传输距离,进而,可以将第一传输距离,作为从机与主机之间的第一距离。
同样的,在从机移动后,根据主机发出的通信信号强度和从机移动后探测到的通信信号强度,确定通信信号的第二传输距离,进而,将第二传输距离,作为从机与主机之间的第二距离。
作为一种示例,参见图3,假设主机建立的地图为Mw,主机位于地图中的Lw点位置处,并在此处打开通信模块。若从机位于L0点,此时从机探测到的主机通信信号强度为RSSI1,可以通过如下公式计算当前从机和主机之间的第一距离d0
d0=10^(abs(RSSI1)*A)/(10*n)
其中,d0为从机移动前与主机之间的第一距离,RSSI1为接收到的主机发出的通信信号强度,A为发射端与接收端相隔一米时的信号强度,n为环境衰减因子。
同样的,在从机移动后,从机位于L1点,此时从机探测到的主机通信信号强度为RSSI2,根据上述公式可以计算出当前从机和主机之间的第二距离d1
步骤203,根据第一距离和第二距离,确定从机移动后相对主机的候选位置;其中,从机移动前与主机符合第一距离,且移动至候选位置后与主机符合第二距离。
本申请实施例中,根据从机移动前后分别探测的主机通信信号强度,确定从机与主机之间的第一距离和第二距离后,可以根据第一距离和第二距离,确定从机移动后相对主机的候选位置。
作为一种可能的实现方式,在主机建立的地图中,确定与主机之间符合第一距离的圆形区域,以圆形区域中各位置为起点,沿从机的移动方向移动从机的移动距离后,确定从机与主机之间的距离符合第二距离的位置,为从机移动后相对主机的候选位置。
继续以上述示例为例,参见图3,假设主机建立的地图为Mw,主机位于地图中的Lw点位置处,确定从机移动前后,与主机之间的第一距离和第二距离分别为d0和d1。在主机建立的地图中,确定与主机之间符合第一距离d0的圆形区域,从机移动后,确定从机与主机之间符合第二距离的d1的候选位置L1点。
本申请实施例中的视觉定位方法,通过通知从机移动,根据从机移动前探测的通信信号强度确定与主机之间的第一距离,根据从机移动后探测的通信信号强度确定与主机之间的第二距离,根据第一距离和第二距离,确定从机移动后相对主机的候选位置;其中,从机移动前与主机符合第一距离,且移动至候选位置后与主机符合第二距离。由此,通过从机移动前后与主机之间的距离,确定从机相对主机的候选位置,实现了根据探测到的通信信号强度初步判断从机相对主机的位置,从而有利于提高定位从机的速度。
在上述实施例的基础上,作为一种可能的实现方式,在步骤104中,按照排序将各第一图像帧与从机采集的第二图像帧匹配,以确定与第二图像帧匹配的目标图像时,还可以按照排序,将各第一图像帧添加到帧队列中,依次将帧队列中的第一图像与第二图像帧匹配,直至查询到与第二图像帧匹配的目标图像。下面结合图4对上述过程进行详细介绍,图4为本申请实施例提供的第三种视觉定位方法的流程示意图。
如图4所示,上述步骤104还可以包括以下步骤:
步骤301,按照排序,将各第一图像帧添加到帧队列中。
本申请实施例中,按照主机拍摄多帧第一图像帧的拍摄位置与从机相对主机的候选位置之间的距离从近到远的顺序,对各第一图像帧进行排序后,按照各第一图像帧的排序,将各第一图像帧顺序添加到帧队列中。
步骤302,依次将帧队列中的第一图像帧与第二图像帧匹配,直至查询到与第二图像帧匹配的目标图像。
本申请实施例中,将各第一图像帧添加到帧队列中后,根据帧队列中各第一图像帧的排序,依次将帧队列中的第一图像帧与第二图像帧匹配,直至查询到与第二图像帧匹配的第一图像,作为目标图像。
本申请实施例中,将帧队列中的第一图像帧与第二图像帧匹配时,可以对一帧第一图像帧提取图像特征,并且获取第二图像帧的图像特征,进而根据第一图像帧和第二图像帧中图像特征匹配的像素单元个数,以确定相应的一帧第一图像帧与第二图像帧是否匹配。
在一种可能的情况下,确定第一图像帧和第二图像帧中图像特征匹配的像素单元个数大于或等于阈值,则确定相应的一帧第一图像帧与第二图像帧匹配。
在另一种可能的情况下,确定第一图像帧和第二图像帧中图像特征匹配的像素单元个数小于阈值,则确定相应的一帧第一图像帧与第二图像帧不匹配。
本申请实施例中,将各第一图像帧与从机采集的第二图像帧匹配时,还可以采用尺度不变特征变换匹配算法(Scale Invariant Feature Transform,以下简称SIFT),确定相应的一帧第一图像帧与第二图像帧是否匹配。其中,SIFT特征对于旋转和尺度均具有不变性,并且对于噪声、视角变化和光照变化具有良好的鲁棒性。
本申请实施例的视觉定位方法,通过按照排序,将各第一图像帧添加到帧队列中,依次将帧队列中的第一图像帧与第二图像帧匹配,直至查询到与第二图像帧匹配的目标图像。由此,通过图像特征匹配的方法,从各第一图像帧中确定与第二图像帧匹配的目标图像,从而加快了从机定位的速度。
在上述实施例的基础上,在步骤105中,定位从机拍摄第二图像帧时所处的目标位姿时,还可以根据误差函数调整目标位姿,以使误差小于误差阈值,使得从机定位更加精确。下面结合图5对上述过程进行详细介绍,图5为本申请实施例提供的第四种视觉定位方法的流程示意图。
如图5所示,上述步骤105还可以包括以下步骤:
步骤401,确定目标图像中的第一像素单元,以及第二图像帧中与第一像素单元图像特征匹配的第二像素单元。
本申请实施例中,确定主机拍摄的多帧第一图像帧中与从机采集的第二图像帧匹配的目标图像后,对目标图像进行图像特征提取,并且获取第二图像帧的图像特征。进一步的,确定目标图像中的第一像素单元,以及第二图像帧中与第一像素单元图像特征匹配的第二像素单元。
步骤402,将第一像素单元,根据拍摄位姿投射至三维世界坐标系中,以在三维世界坐标系中确定对应的实际点位。
本申请实施例中,将目标图像的第一像素单元,根据主机的拍摄位姿投射至三维世界坐标系中,以在三维世界坐标系中确定第一像素单元对应的实际点位。
可以理解的是,目标图像的第一像素单元的各像素点,投射至三维世界坐标系中后,第一像素单元的各像素点在三维世界坐标系中均有对应的实际点位。
步骤403,将实际点位投射至处于初始目标位姿的第二图像帧中,以确定在第二图像帧中实际点位的投射位置与第二像素单元之间的误差。
本申请实施例中,将第一像素单元投射至三维世界坐标系中对应的实际点位,投射至处于初始目标位姿的第二图像帧中,进一步的,确定在第二图像帧中实际点位的投射位置与第二像素单元之间的误差。
步骤404,根据误差调整目标位姿,以使误差小于误差阈值。
本申请实施例中,根据实际点位投射至处于初始目标位姿的第二图像帧中的投射位置与第二像素单元之间的误差,调整目标位姿,以使误差小于误差阈值。由此,确保定位到的从机拍摄第二图像帧时所处的目标位姿的误差最小,从而提高了从机定位的准确度。
作为一种可能的实现方式,可以通过如下优化函数对目标位姿进行调整。
其中,ρ(·)为鲁棒核函数,主要是用于减轻误匹配对最终定位结果的影响;是第一像素单元投射至三维世界坐标系的误差;π(·)是实际点位投射至处于初始目标位姿的第二图像帧的过程,∑ei,k是第一像素单元的信息矩阵,用于衡量第一像素单元的观测的不确定性;/>为第一像素单元在第二图像帧中的观测数据。
可以理解的是,第一像素单元投射至三维世界坐标系中对应的实际点位,投射至第二图像帧中的投射位置与第二像素单元之间的误差,误差小于误差阈值时,说明从机定位较准确。
本申请实施例的视觉定位方法,通过确定目标图像中的第一像素单元,以及第二图像帧中与第一像素单元图像特征匹配的第二像素单元,将第一像素单元,根据拍摄位姿投射至三维世界坐标系中,以在三维世界坐标系中确定对应的实际点位,将实际点位投射至处于初始目标位姿的所述第二图像帧中,以确定在第二图像帧中实际点位的投射位置与第二像素单元之间的误差,根据误差调整目标位姿,以使误差小于误差阈值。由此,通过第一像素单元投射至三维世界坐标系的实际点位投射至第二图像帧中的投射位置,与第二像素之间的误差调整目标位姿,从而提高了从机定位的成功率。
为了实现上述实施例,本申请还提出一种视觉定位装置。
图6为本申请实施例提供的一种视觉定位装置的结构示意图。
如图6所示,该视觉定位装置600,可以包括:确定模块610、获取模块620、排序模块630、匹配模块640和定位模块650。
其中,确定模块610,用于根据从机探测到的主机通信信号强度,确定从机相对主机的候选位置。
获取模块620,用于获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置。
排序模块630,用于按照拍摄位置与候选位置之间的距离从近到远的顺序,对各第一图像帧排序。
匹配模块640,用于按照排序,将各第一图像帧与从机采集的第二图像帧匹配,以确定与第二图像帧匹配的目标图像。
定位模块650,用于根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时所处的目标位姿。
作为一种可能的情况,确定模块610,还可以包括:
通知单元,用于通知从机移动。
第一确定单元,用于根据从机移动前探测的通信信号强度确定与主机之间的第一距离,根据从机移动后探测的通信信号强度确定与主机之间的第二距离。
第二确定单元,用于根据第一距离和第二距离,确定从机移动后相对主机的候选位置;其中,从机移动前与主机符合第一距离,且移动至候选位置后与主机符合第二距离。
作为另一种可能的情况,第二确定单元,还可以用于:
在主机建立的地图中,确定与主机之间符合第一距离的圆形区域;以圆形区域中各位置为起点,沿从机的移动方向移动从机的移动距离后,确定与主机符合第二距离的候选位置。
作为另一种可能的情况,第一确定单元,还可以用于:
根据主机发出的通信信号强度和从机移动前探测到的通信信号强度,确定通信信号的第一传输距离;
将第一传输距离,作为从机与主机之间的第一距离;
根据主机发出的通信信号强度和从机移动后探测到的通信信号强度,确定通信信号的的第二传输距离;
将第二传输距离,作为从机与主机之间的第二距离。
作为另一种可能的情况,排序模块630,还可以用于:
按照排序,将各第一图像帧添加到帧队列中;
依次将帧队列中的第一图像帧与第二图像帧匹配,直至查询到与第二图像帧匹配的目标图像。
作为另一种可能的情况,匹配模块640,还可以用于:
对一帧第一图像帧提取图像特征;
获取第二图像帧的图像特征;
若第一图像帧和第二图像帧中图像特征匹配的像素单元个数大于或等于阈值,则确定相应的一帧第一图像帧与第二图像帧匹配;
若第一图像帧和第二图像帧中图像特征匹配的像素单元个数小于阈值,则确定相应的一帧第一图像帧与第二图像帧不匹配。
作为另一种可能的情况,定位模块650,还可以用于:
确定目标图像中的第一像素单元,以及第二图像帧中与第一像素单元图像特征匹配的第二像素单元;
将第一像素单元,根据拍摄位姿投射至三维世界坐标系中,以在三维世界坐标系中确定对应的实际点位;
将实际点位投射至处于初始目标位姿的第二图像帧中,以确定在第二图像帧中实际点位的投射位置与第二像素单元之间的误差;
根据误差调整所述目标位姿,以使误差小于误差阈值。
需要说明的是,前述对视觉定位方法实施例的解释说明也适用于该实施例的视觉定位装置,此处不再赘述。
本申请实施例的视觉定位装置,通过根据从机探测到的主机通信信号强度,确定从机相对主机的候选位置,获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置,按照拍摄位置与候选位置之间的距离从近到远的顺序,对各第一图像帧排序,按照排序,将各第一图像帧与从机采集的第二图像帧匹配,以确定与第二图像帧匹配的目标图像,根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时的目标位姿。该方法通过对各第一图像帧进行排序筛选,以根据排序确定与各第一图像帧中与第二图像帧匹配的目标图像,进而根据目标图像的拍摄位姿,定位从机拍摄第二图像帧时所处的目标位姿,加快了定位从机的速度,减少了从机定位所需的时间,并且提高了定位从机的成功率。
为了实现上述实施例,本申请还提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如上述实施例所述的视觉定位方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所述的视觉定位方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (8)

1.一种视觉定位方法,其特征在于,所述方法包括:
根据从机探测到的主机通信信号强度,确定所述从机相对主机的候选位置;
获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置;
按照所述拍摄位置与所述候选位置之间的距离从近到远的顺序,对各第一图像帧排序;
按照所述排序,将各第一图像帧与所述从机采集的第二图像帧匹配,以确定与所述第二图像帧匹配的目标图像;
根据所述目标图像的拍摄位姿,定位所述从机拍摄所述第二图像帧时所处的目标位姿;
所述将各第一图像帧与所述从机采集的第二图像帧匹配,包括:
对一帧所述第一图像帧提取图像特征;
获取所述第二图像帧的图像特征;
若所述第一图像帧和所述第二图像帧中图像特征匹配的像素单元个数大于或等于阈值,则确定相应的一帧所述第一图像帧与所述第二图像帧匹配;
若所述第一图像帧和所述第二图像帧中图像特征匹配的像素单元个数小于所述阈值,则确定相应的一帧所述第一图像帧与所述第二图像帧不匹配;
所述根据所述目标图像的拍摄位姿,定位所述从机拍摄所述第二图像帧时所处的目标位姿,包括:
确定所述目标图像中的第一像素单元,以及所述第二图像帧中与所述第一像素单元图像特征匹配的第二像素单元;
将所述第一像素单元,根据所述拍摄位姿投射至三维世界坐标系中,以在所述三维世界坐标系中确定对应的实际点位;
将所述实际点位投射至处于初始目标位姿的所述第二图像帧中,以确定在所述第二图像帧中所述实际点位的投射位置与所述第二像素单元之间的误差;
根据所述误差调整所述目标位姿,以使所述误差小于误差阈值。
2.根据权利要求1所述的视觉定位方法,其特征在于,所述根据从机探测到的主机通信信号强度,确定所述从机相对主机的候选位置,包括:
通知所述从机移动;
根据所述从机移动前探测的通信信号强度确定与所述主机之间的第一距离,根据所述从机移动后探测的通信信号强度确定与所述主机之间的第二距离;
根据所述第一距离和所述第二距离,确定所述从机移动后相对所述主机的候选位置;其中,所述从机移动前与所述主机符合所述第一距离,且移动至所述候选位置后与所述主机符合所述第二距离。
3.根据权利要求2所述的视觉定位方法,其特征在于,所述根据所述第一距离和所述第二距离,确定所述从机移动后相对所述主机的候选位置,包括:
在所述主机建立的地图中,确定与所述主机之间符合所述第一距离的圆形区域;
以所述圆形区域中各位置为起点,沿所述从机的移动方向移动所述从机的移动距离后,确定与所述主机符合所述第二距离的候选位置。
4.根据权利要求2所述的视觉定位方法,其特征在于,所述根据所述从机移动前探测的通信信号强度确定与所述主机之间的第一距离,根据所述从机移动后探测的通信信号强度确定与所述主机之间的第二距离,包括:
根据所述主机发出的通信信号强度和所述从机移动前探测到的通信信号强度,确定通信信号的第一传输距离;
将所述第一传输距离,作为所述从机与所述主机之间的第一距离;
根据所述主机发出的通信信号强度和所述从机移动后探测到的通信信号强度,确定通信信号的第二传输距离;
将所述第二传输距离,作为所述从机与所述主机之间的第二距离。
5.根据权利要求1-4任一项所述的视觉定位方法,其特征在于,所述按照所述排序,将各第一图像帧与所述从机采集的第二图像帧匹配,以确定与所述第二图像帧匹配的目标图像,包括:
按照所述排序,将各第一图像帧添加到帧队列中;
依次将所述帧队列中的第一图像帧与所述第二图像帧匹配,直至查询到与所述第二图像帧匹配的目标图像。
6.一种视觉定位装置,其特征在于,所述装置包括:
确定模块,用于根据从机探测到的主机通信信号强度,确定所述从机相对主机的候选位置;
获取模块,用于获取主机已拍摄得到的多帧第一图像帧和相应的拍摄位置;
排序模块,用于按照所述拍摄位置与所述候选位置之间的距离从近到远的顺序,对各第一图像帧排序;
匹配模块,用于按照所述排序,将各第一图像帧与所述从机采集的第二图像帧匹配,以确定与所述第二图像帧匹配的目标图像;
定位模块,用于根据所述目标图像的拍摄位姿,定位所述从机拍摄所述第二图像帧时所处的目标位姿;
所述匹配模块还用于:
对一帧所述第一图像帧提取图像特征;
获取所述第二图像帧的图像特征;
在所述第一图像帧和所述第二图像帧中图像特征匹配的像素单元个数大于或等于阈值的情况下,确定相应的一帧所述第一图像帧与所述第二图像帧匹配;
在所述第一图像帧和所述第二图像帧中图像特征匹配的像素单元个数小于所述阈值的情况下,确定相应的一帧所述第一图像帧与所述第二图像帧不匹配;
所述定位模块还用于:
确定所述目标图像中的第一像素单元,以及所述第二图像帧中与所述第一像素单元图像特征匹配的第二像素单元;
将所述第一像素单元,根据所述拍摄位姿投射至三维世界坐标系中,以在所述三维世界坐标系中确定对应的实际点位;
将所述实际点位投射至处于初始目标位姿的所述第二图像帧中,以确定在所述第二图像帧中所述实际点位的投射位置与所述第二像素单元之间的误差;
根据所述误差调整所述目标位姿,以使所述误差小于误差阈值。
7.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-5中任一所述的视觉定位方法。
8.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的视觉定位方法。
CN202010120703.3A 2020-02-26 2020-02-26 视觉定位方法、装置、电子设备和存储介质 Active CN111340887B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010120703.3A CN111340887B (zh) 2020-02-26 2020-02-26 视觉定位方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010120703.3A CN111340887B (zh) 2020-02-26 2020-02-26 视觉定位方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111340887A CN111340887A (zh) 2020-06-26
CN111340887B true CN111340887B (zh) 2023-12-29

Family

ID=71183810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010120703.3A Active CN111340887B (zh) 2020-02-26 2020-02-26 视觉定位方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111340887B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117036663B (zh) * 2022-04-18 2024-07-09 荣耀终端有限公司 视觉定位方法、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108596976A (zh) * 2018-04-27 2018-09-28 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN109035334A (zh) * 2018-06-27 2018-12-18 腾讯科技(深圳)有限公司 位姿的确定方法和装置、存储介质及电子装置
CN110095792A (zh) * 2018-01-29 2019-08-06 腾讯科技(深圳)有限公司 定位终端的方法及装置
CN110493729A (zh) * 2019-08-19 2019-11-22 芋头科技(杭州)有限公司 增强现实设备的交互方法、设备、存储介质及程序产品
CN110727265A (zh) * 2018-06-28 2020-01-24 深圳市优必选科技有限公司 机器人重定位的方法、装置以及存储装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162362B2 (en) * 2016-08-29 2018-12-25 PerceptIn, Inc. Fault tolerance to provide robust tracking for autonomous positional awareness
CN108717710B (zh) * 2018-05-18 2022-04-22 京东方科技集团股份有限公司 室内环境下的定位方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110095792A (zh) * 2018-01-29 2019-08-06 腾讯科技(深圳)有限公司 定位终端的方法及装置
CN108596976A (zh) * 2018-04-27 2018-09-28 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN109035334A (zh) * 2018-06-27 2018-12-18 腾讯科技(深圳)有限公司 位姿的确定方法和装置、存储介质及电子装置
CN110727265A (zh) * 2018-06-28 2020-01-24 深圳市优必选科技有限公司 机器人重定位的方法、装置以及存储装置
CN110493729A (zh) * 2019-08-19 2019-11-22 芋头科技(杭州)有限公司 增强现实设备的交互方法、设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN111340887A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
JP5950973B2 (ja) フレームを選択する方法、装置、及びシステム
JP5722502B2 (ja) モバイルデバイスのための平面マッピングおよびトラッキング
JP7017689B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法
US9087403B2 (en) Maintaining continuity of augmentations
JP6290331B2 (ja) クラウド支援型拡張現実のための適応可能なフレームワーク
CN111311684B (zh) 一种进行slam初始化的方法与设备
EP2915138B1 (en) Systems and methods of merging multiple maps for computer vision based tracking
JP7715460B2 (ja) アバターサービス提供方法およびシステム
JP2021530821A (ja) 三次元無線モデル構築を実行するための方法、装置およびコンピュータプログラム
KR20160003066A (ko) 일반적인 카메라 움직임 및 파노라마 카메라 움직임을 갖는 단안 시각 slam
WO2015048046A1 (en) Multiview pruning of feature database for object recognition system
EP3100210A1 (en) Dynamically updating a feature database that contains features corresponding to a known target object
EP2710554A1 (en) Head pose estimation using rgbd camera
CN111094895A (zh) 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法
CN113132717A (zh) 数据处理方法、终端和服务器
CN113610967B (zh) 三维点检测的方法、装置、电子设备及存储介质
CN110648363A (zh) 相机姿态确定方法、装置、存储介质及电子设备
WO2020024845A1 (zh) 定位方法和装置
CN111340887B (zh) 视觉定位方法、装置、电子设备和存储介质
CN110765926B (zh) 图画书识别方法、装置、电子设备和存储介质
CN114937079B (zh) 一种障碍物检测方法、装置及一种机器人
CN108734721B (zh) 追踪系统以及追踪方法
CN115457231A (zh) 一种更新三维图像的方法及相关装置
JP7603794B2 (ja) 全方位画像処理方法及びこれを行うサーバ
CN113567149B (zh) 用户拍摄意图的识别方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant