CN110544280B - Ar系统及方法 - Google Patents

Ar系统及方法 Download PDF

Info

Publication number
CN110544280B
CN110544280B CN201910834018.4A CN201910834018A CN110544280B CN 110544280 B CN110544280 B CN 110544280B CN 201910834018 A CN201910834018 A CN 201910834018A CN 110544280 B CN110544280 B CN 110544280B
Authority
CN
China
Prior art keywords
initial
image
camera
attitude
variation
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
CN201910834018.4A
Other languages
English (en)
Other versions
CN110544280A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910834018.4A priority Critical patent/CN110544280B/zh
Publication of CN110544280A publication Critical patent/CN110544280A/zh
Application granted granted Critical
Publication of CN110544280B publication Critical patent/CN110544280B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • G06T3/02
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请是201810495056.7的分案申请。本申请公开了一种AR系统及方法,属于计算机视觉中的SLAM领域。所述AR系统包括:所述第一设备,用于启动AR场景的初始化过程;根据所述初始化过程中确定的初始标记图像和初始姿态参数进行相机姿态追踪过程;向所述第二设备发送所述初始标记图像和初始姿态参数;所述第二设备,用于接收所述第一设备发送的所述初始标记图像和所述初始姿态参数;获取所述相机采集的当前图像;获取所述当前图像相对于所述初始标记图像的相机姿态变化量;根据所述初始姿态参数和所述相机姿态变化量,计算得到所述相机采集所述当前图像时的当前相机姿态参数。

Description

AR系统及方法
本申请是申请号为201810495056.7、申请日为2018年05月22日、发明名称为“相机姿态追踪方法、装置、设备及存储介质”的中国申请的分案申请
技术领域
本申请实施例涉及计算机视觉中的SLAM领域,特别涉及一种AR系统及方法。
背景技术
在AR(Augmented Reality,增强显示)领域,搭载相机的设备需要在没有环境先验信息的情况下,于运动过程中追踪相机在现实环境中的运动姿态。在相机姿态追踪过程中,设备会对现实环境建立三维坐标系。
相关技术中针对单个设备的相机姿态追踪已经存在成熟的解决方案。示意性的,设备以初始采集到的第一个图像作为标记图像,对后续图像相对于标记图像进行特征点追踪,根据特征点追踪结果计算后续图像和标记图像之间的单应性矩阵,对单应性矩阵进行分解,从而根据分解结果得到相机在采集后续图像时的相机姿态。
在AR应用程序中存在多个设备协同的多人模式,由于每个设备的硬件参数以及相机拍摄角度各不相同,每个设备对现实环境中所建立的三维坐标系是不同的,从而导致每个设备追踪到的相机姿态是不同的。若需要两个设备基于相同的基准进行相机姿态追踪,则需要将第一设备上构建的环境地图(包含大量图像帧和三维点)同步至第二设备上,同步过程需要传输大量的数据量,不利于采用移动网络的电子设备上的实施。
发明内容
本申请实施例提供了一种AR系统及方法,可以用于解决若将第一设备上构建的环境地图(包含大量图像帧和三维点)同步至第二设备上,同步过程需要传输大量的数据量的问题。所述技术方案如下:
根据本申请的一个方面,提供了一种相机姿态追踪方法,应用于设置有相机的第二设备中,所述方法包括:
接收第一设备发送的初始标记图像和初始姿态参数;
获取所述相机采集的当前图像;
获取所述当前图像相对于所述初始标记图像的相机姿态变化量;
根据所述初始姿态参数和所述相机姿态变化量,计算得到所述相机采集所述当前图像时的当前相机姿态参数。
根据本申请的另一方面,提供了一种相机姿态追踪装置,应用于设置有相机的第二设备中,所述装置包括:
数据接收模块,用于接收第一设备发送的初始标记图像和初始姿态参数;
图像获取模块,用于获取所述相机采集的当前图像;
变化量获取模块,用于获取所述当前图像相对于所述初始标记图像的相机姿态变化量;
姿态计算模块,用于根据所述初始姿态参数和所述相机姿态变化量,计算得到所述相机采集所述当前图像时的当前相机姿态参数。
根据本申请的另一方面,提供了一种电子设备,所述电子设备包括存储器和处理器;
所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上方面所述的相机姿态追踪方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的相机姿态追踪方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过第二设备接收第一设备发送的初始标记图像和初始姿态参数,计算第二设备的相机采集的当前图像相对于初始标记图像的相机姿态变化量,根据初始姿态参数和相机姿态变化量,计算得到相机采集当前图像时的相机姿态参数,使得第二设备将自身采集的图像相对于第一设备的初始标记图像进行相机姿态追踪,也即第一设备和第二设备使用相同的初始标记图像和初始姿态参数进行相机姿态追踪,保证两者的相机姿态追踪结果是相同的,从而解决了若需要将第一设备上构建的环境地图同步至第二设备上,需要传输大量的数据量的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的AR应用场景的场景示意图;
图2是本申请一个示例性实施例提供的AR应用场景的场景示意图;
图3是本申请一个示例性实施例提供的AR系统的结构框图;
图4是本申请另一个示例性实施例提供的AR系统的结构框图;
图5是本申请另一个示例性实施例提供的电子设备的结构框图;
图6是本申请一个示例性实施例提供的相机姿态追踪方法的流程图;
图7是本申请一个示例性实施例提供的Anchor-Switching AR System算法的原理示意图;
图8是本申请另一个示例性实施例提供的相机姿态追踪方法的流程图;
图9是本申请另一个示例性实施例提供的相机姿态追踪方法的流程图;
图10是本申请一个示例性实施例提供的相机姿态追踪装置的框图;
图11是本申请一个示例性实施例提供的电子设备的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的若干个名词进行简介:
AR:一种在相机采集图像的过程中,实时地计算相机在现实世界(或称三维世界、真实世界)中的相机姿态参数,根据该相机姿态参数在相机采集的图像上添加虚拟元素的技术。虚拟元素包括但不限于:图像、视频和三维模型。AR技术的目标是在屏幕上把虚拟世界套接在现实世界上进行互动。该相机姿态参数包括旋转矩阵和位移向量,旋转矩阵用于表征相机在现实世界中发生的旋转角度,位移向量用于表征相机在现实世界中发生的位移距离。
例如,参见图1和参见图2,设备在相机拍摄到的图像中添加了一个虚拟人物形象。随着相机在现实世界中的运动,相机拍摄到的图像会发生变化,虚拟人物的拍摄方位也发生变化,模拟出了虚拟人物在图像中静止不动,而相机随着位置和姿态的变化同时拍摄图像和虚拟人物的效果,为用户呈现了一幅真实立体的画面。
Anchor-Switching AR System:是基于连接多个标记图像(Anchor)的相机姿态追踪来确定在自然场景下的相机姿态参数,进而根据相机姿态参数在相机采集的图像上叠加虚拟世界的AR系统。
IMU(Inertial Measurement Unit,惯性测量单元):是用于测量物体的三轴姿态角(或角速率)以及加速度的装置。一般的,一个IMU包含了三个单轴的加速度计和三个单轴的陀螺,加速度计用于检测物体在三维坐标系中每个坐标轴上的加速度信号,进而计算得到位移向量(可能会跟随时间的增加累积误差);而陀螺用于检测物体在三维坐标系中的旋转矩阵。可选地,IMU包括陀螺仪、加速度计和地磁传感器。
示意性的,三维坐标系的建立方式为:1、X轴使用向量积Y*Z来定义,在X轴在设备当前的位置上,沿与地面相切的方向指向东方;2、Y轴在设备当前的位置上,沿与地面相切的方向指向地磁场的北极;3、Z轴指向天空并垂直于地面。
重定位:在基于第i个标记图像的相机姿态追踪过程中,若目标图像相对于第i个标记图像进行特征点追踪失败,无法顺利进行相机姿态追踪过程时,将目标图像相对于其它图像(初始标记图像或其它有代表性的关键帧图像)重新进行特征点追踪,以便在特征点追踪成功时,根据重新得到的追踪过程实现相机采集对当前图像时的相机姿态进行定位的技术。
图3示出了本申请一个示例性实施例提供的AR系统的结构框图。该AR系统包括:第一设备120和第二设备140。
第一设备120是诸如智能手机、平板电脑、安装有智能操作系统的MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携式游戏终端之类的电子设备。第一设备120上运行有目标AR程序,该目标AR程序可以是多人协同使用的AR程序。该目标AR程序的程序类型包括但不限于AR教学程序、AR游戏程序、AR翻译程序、AR社交程序、AR运动程序、AR驾驶辅助程序中的至少一种。
第一设备120通过数据线、有线网络、蓝牙或WIFI(WIreless Fidelity,无线保真网络)与第二设备140相连。也即,第一设备120和第二设备140之间可以直接进行数据通信。
第二设备140是诸如智能手机、平板电脑、安装有智能操作系统的MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携式游戏终端之类的电子设备。第二设备140中也安装有目标AR程序。
可选地,第一设备120和第二设备140上安装的目标AR程序可以是相同的,也可以是不同的。在一些实施例中,第一设备120和第二设备140之间没有主次之分;在另一些实施例中,第一设备120是主设备,第二设备140是从设备。
本领域技术人员还可以预见到,该AR系统中的设备数量可以为两个以上,当存在多个设备时,第一设备120和第二设备140可以是多个设备中的任意两个设备,本申请对此不加以限定。
图4示出了本申请另一个示例性实施例提供的AR系统的结构框图。该AR系统包括:第一设备120、服务器160和第二设备140。
与图1不同的是,本实施例中的AR系统增加了服务器160。其中:
第一设备120通过网络与服务器160相连。该网络可以是无线网络或有线网络。第一设备120上安装和运行有目标AR程序。
第二设备140通过网络与服务器160相连。该网络可以是无线网络或有线网络。第二设备120上也安装和运行有目标AR程序。
服务器160可以是一台服务器、多台服务器构成的服务器集群、云计算中心、虚拟化计算中心或分布式计算中心。服务器160可以用来提供目标AR程序的后台服务。
在一些实施例中,第一设备120和第二设备140是服务器的“客户机”;在另一些实施例中,第一设备120和第二设备140与服务器之间采用分布式计算策略进行协同计算,本实施例对此不加以限定。
图5示出了本申请一个示例性实施例提供的电子设备的结构框图。该电子设备可以是上述的第一设备120和/或第二设备140。该电子设备包括:处理器320、存储器340、相机360和IMU 380。
处理器320包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器320用于执行存储器340中存储的指令、代码、代码片段和程序中的至少一种。
处理器320与存储器340电性相连。可选地,处理器320通过总线与存储器340相连。存储器340存储有一个或多个指令、代码、代码片段和/或程序。该指令、代码、代码片段和/或程序在被处理器320执行时,用于实现如下实施例中提供的相机姿态追踪方法。
处理器320还与相机360电性相连。可选地,处理器320通过总线与相机360相连。相机360是具有图像采集能力的传感器件。相机360还可称为摄像头、感光器件等其它名称。相机360具有连续采集图像或多次采集图像的能力。可选地,相机360设置在电子设备的内部或设备外部。
可选地,处理器320还与IMU380电性相连。,IMU380用于每隔预定时间间隔采集相机的位姿向量,并记录每组位姿参数在采集时的时间戳。相机的位姿参数包括:位移向量和旋转矩阵。其中,IMU380采集的旋转矩阵相对准确,采集的位移向量受实际环境可能会有较大的误差。
可选地,该电子设备的具体形式可以是智能手机、平板电脑、AR眼镜、AR头盔、便携式笔记本电脑、电子书阅读器、MP3、MP4、掌上游戏终端等等。本申请实施例对此不加以限定。
图6示出本申请一个示例性实施例提供的相机姿态追踪方法的流程图。该方法可以用于如图1或图2所示的AR系统中。该方法包括:
步骤401,第一设备启动AR场景的初始化过程;
第一设备和第二设备中运行有支持多人模式的目标AR程序。
在目标AR程序启动后,比如一个AR场景或一局AR游戏开始后,第一设备进行AR场景的初始化过程。可选地,该初始化过程包括:
1、第一设备通过内置的相机采集现实环境中的一帧帧图像;
第一设备内设置有第一相机,在目标AR程序启动后,第一相机不断采集现实环境中的一帧帧图像,然后将图像发给处理器进行处理。
2、将第一帧图像(或用户指定的图像)作为初始标记图像;
第一设备将第一帧图像作为初始标记图像(英文:born-image),或者,第一设备将用户指定的图像作为初始标记图像。
3、接收用户设定的初始姿态参数;
可选地,初始姿态参数(英文:born-pose)是由用户设定的,或者说,由用户通过目标AR程序设定的。该初始姿态参数的设定过程可以是用户显式感知的,也可以是用户显式不感知的。
比如,目标AR程序是在现实世界中叠加虚拟玩偶的游戏程序,用户控制目标AR程序在相机采集的图像中叠加一个虚拟玩偶时,将叠加虚拟玩偶时的图像设定为初始标记图像,将叠加虚拟玩偶时的姿态参数设定为初始姿态参数,而该设定过程是用户不感知的。
4、根据初始标记图像和初始姿态参数进行相机姿态追踪过程。
第一设备根据初始标记图像和初始姿态参数,进行相机姿态追踪过程。该相机姿态追踪过程可以采用与单机形式相同或相似的相机姿态追踪技术。
步骤402,第一设备记录初始标记图像和初始姿态参数;
步骤403,第一设备向第二设备发送初始标记图像和初始姿态参数;
可选地,第一设备和第二设备安装有相同的目标AR程序。或者,第一设备和第二设备安装有相同的目标AR程序,且两个目标AR程序之间满足预设条件。以两个目标AR程序登录有各自的帐号为例,该预设条件包括但不限于:两个用户帐号是好友关系、两个用户帐号处于同一AR场景、两个用户帐号处于同一AR模式、两个用户帐号处于同一个AR游戏房间中的至少一种。
在一些实施例中,第一设备和第二设备之间直接建立有目标数据通道,第一设备通过目标数据通道向第二设备发送初始标记图像和初始姿态参数。目标数据通道包括:WIFI、蓝牙、有线网络、数据线中的至少一种。
在另一些实施例中,第一设备和第二设备之间的数据转发需要经过服务器的中转,第一设备先将初始标记图像和初始姿态参数发送至服务器,服务器将初始标记图像和初始姿态参数转发给第二设备。
步骤404,第二设备接收第一设备发送的初始标记图像和初始姿态参数;
第二设备通过目标数据通道或者服务器接收第一设备发送的初始标记图像和初始姿态参数。
其中,初始标记图像是第一设备在相机姿态追踪过程中的第一个标记图像,初始姿态参数是与第一个标记图像对应的相机姿态参数。初始标记图像和初始姿态参数均由第一设备产生的数据,并非第二设备产生的数据。
步骤405,第二设备获取相机采集的当前图像;
第二设备内设置有第二相机,在目标AR程序启动后,第二相机不断采集现实环境中的一帧帧图像,然后将图像发给处理器进行处理。
步骤406,第二设备获取当前图像相对于初始标记图像的相机姿态变化量;
第二设备将自身采集的当前图像相对于第一设备发送的初始标记图像进行相机姿态追踪,计算得到当前图像相对于初始标记图像的相机姿态变化量。
需要说明的是,第二设备的相机并未到初始标记图像,本步骤是将初始标记图像假设为第二设备采集的图像进行相机姿态追踪。因为在典型的AR场景中,第一设备和第二设备会对同一现实场景进行取景拍摄,比如对同一个桌面进行取景拍摄,所以两者拍摄到的图像存在一定的相关性,可以将第一设备采集的初始标记图像假定为第二设备采集的图像进行使用。
步骤407,第二设备根据初始姿态参数和相机姿态变化量,计算得到相机采集当前图像时的当前相机姿态参数。
可选地,第二设备按照如下公式计算得到第二相机采集当前图像时的相机姿态参数R和T:
Figure BDA0002191639920000081
其中,Rcf是当前图像相对于初始标记图像的相机姿态变化量中的旋转矩阵,Tcf是当前图像相对于初始标记图像的相机姿态变化量中的位移向量,Rborn是初始姿态参数中的旋转矩阵,Tborn是初始姿态参数中的位移向量。
综上所述,本实施例提供的相机姿态追踪方法,通过第二设备接收第一设备发送的初始标记图像和初始姿态参数,计算第二设备的相机采集的当前图像相对于初始标记图像的相机姿态变化量,根据初始姿态参数和相机姿态变化量,计算得到相机采集当前图像时的相机姿态参数,使得第二设备将自身采集的图像相对于第一设备的初始标记图像进行相机姿态追踪,也即第一设备和第二设备使用相同的初始标记图像和初始姿态参数进行相机姿态追踪,保证两者的相机姿态追踪结果是相同的,从而解决了若需要将第一设备上构建的环境地图同步至第二设备上,需要传输大量的数据量的问题。
由于第一设备和第二设备之间仅需要传输一个初始标记图像和一组初始姿态参数,因此两个设备之间需要交互的数据量非常小,适用于多个移动终端之间的AR场景下的实时同步,不会占用太多网络通信带宽。
需要说明的是,上述实施例中由第一设备执行的步骤可以单独实现成为第一设备侧的相机姿态追踪方法,由第二设备执行的步骤可以单独实现成为第二设备侧的相机姿态追踪方法。
在基于图6的可选实施例中,第一设备采用Anchor-Switching AR System算法进行相机姿态追踪。Anchor-Switching AR System算法在确定相机姿态的过程中,将第一相机的整个运动过程划分为至少两段追踪过程进行追踪,每段追踪过程对应各自的标记图像。具体地,首先基于初始标记图像(也称第1个标记图像)对相机拍摄到的当前图像进行相机姿态追踪,相机姿态追踪过程可以采用当第i个标记图像对应的追踪过程中,若当前图像相对于第i个标记图像的追踪效果差于预设条件(比如能够匹配到的特征点少于预设阈值)时,将当前图像的上一个图像确定为第i+1个标记图像,开启第i+1段追踪过程。其中,i为正整数。示意性的参考图7。在现实世界中存在物体50,设置有第一相机的第一设备120被用户手持进行移动,在移动过程中拍摄得到包括物体50的多帧图像1-6。设备将图像1确定为初始标记图像(英文:born-image或born-anchor)并记录初始位姿参数(英文:born-pose),该初始位姿参数可以是用户设定的初始位姿参数,IMU采集的相机采集图像1时的位姿参数。然后将图像2相对于图像1进行特征点追踪,根据初始位姿参数和特征点追踪结果计算出相机在拍摄图像2时的位姿参数;将图像3相对于图像1进行特征点追踪,根据初始位姿参数和特征点追踪结果计算出相机在拍摄图像3时的位姿参数;将图像4相对于图像1进行特征点追踪,根据初始位姿参数和特征点追踪结果计算出相机在拍摄图像4时的位姿参数。
然后,将图像5相对于图像1进行特征点追踪,如果特征点追踪效果差于预设条件(比如匹配的特征点数量较少),则将图像4确定为第2个标记图像,将图像5相对于图像4进行特征点追踪,计算出相机在拍摄图像4至图像5之间的位移变化量,再结合相机在拍摄图像4至图像1之间的位移变化量以及初始位姿参数,计算出相机在拍摄图像5时的位姿参数。然后再将图像6相对于图像4进行特征点追踪,以此类推,若当前图像的特征点追踪效果变差时,即可将当前图像的上一帧图像确定为新的标记图像,切换新的标记图像后重新进行特征点追踪。
可选地,特征点追踪可以采用基于视觉里程计原理的算法,比如特征点法或直接法。
在基于图6的可选实施例中,第二设备在接收到初始标记图像和初始姿态参数后,将第二设备内的第二相机采集的当前图像相对于初始标记图像进行相机姿态追踪。视当前图像的图像采集时机和/或图像内容不同,本步骤可以采用如下两种方式中的至少一种方式实现。
第一,第二设备将当前图像相对于初始标记图像进行重定位,得到相机姿态变化量。
第二,第二设备获取第i个标记图像相对于初始标记图像的第一姿态变化量,i>1;将当前图像相对于第i个标记图像进行特征点追踪,得到第二姿态变化量;根据第一姿态变化量和第二姿态变化量,计算得到相机姿态变化量。
以下采用图8对上述第一种实现方式进行介绍,采用图9对上述第二实现方式进行介绍。
在基于图6提供的可选实施例中,第二设备采用第一种方式获取当前图像相对于初始标记图像的相机姿态变化量。在当前图像是第二设备中的第二相机采集的前几帧图像(或者相机姿态追踪过程中发生丢失)时,由于此时第二设备还没有指定第一个标记图像,因此第二设备将接收到的初始标记图像设定为本机的第1个标记图像,第二设备将当前图像相对于初始标记图像进行重定位,得到相机姿态变化量。可选地,若当前图像相对于初始标记图像重定位成功,则将当前图像切换(或设置)为第二个标记图像,将当前图像之后采集的图像相对于第二个标记图像进行特征点追踪。步骤406包括但不限于如下步骤:
步骤406a,获取初始标记图像的初始特征点;
可选地,第一设备向第二设备发送初始标记图像时,还同时发送该初始标记图像中的初始特征点,第二设备直接读取初始标记图像的初始特征点。初始特征点是从初始标记图像上提取到的特征点,初始特征点可以是多个,比如10-500个。
可选地,若第一设备没有向第二设备发送初始标记图像中的初始特征点,则第二设备提取初始标记图像中的初始特征点。可选地,第一设备提取特征点时采用的特征提取算法可以为FAST(Features from Accelerated Segment Test,加速段测试特征点)检测算法、Shi-Tomasi(史托马西)角点检测算法、Harris Corner Detection(Harris角点检测)算法、SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)算法、ORB(OrientedFAST and Rotated BRIEF,快速特征点提取和描述)算法等。
由于SIFT特征的实时计算难度较大,为了保证实时性,设备可以提取第一个标记图像中的ORB特征点。一个ORB特征点包括FAST角点(Key-point)和BRIER描述子(BinaryRobust Independent Elementary Feature Descirptor)两部分。ORB特征的计算速度较快,因此适用于移动设备上实施。
FAST角点是指该ORB特征点在图像中所在的位置。FAST角点主要检测局部像素灰度变化明显的地方,以速度快著称。FAST角点的思想时:如果一个像素与邻域的像素差别较大(过亮或过暗),则该像素可能是一个角点。
BRIEF描述子是一个二进制表示的向量,该向量按照某种人为设计的方式描述了该关键点周围像素的信息。BRIEF描述子的描述向量由多个0和1组成,这里的0和1编码了FAST角点附近的两个像素的大小关系。
步骤406b,将当前图像相对于初始标记图像进行特征点追踪,得到与初始特征点匹配的目标特征点;
特征点追踪可采用基于视觉里程计的追踪算法,本申请对此不加以限定。在一个实施例中,特征点追踪采用KLT(Kanade-Lucas)光流追踪算法;在另一个实施例中,特征点追踪采用基于ORB(Oriented FAST and Rotated BRIEF,快速特征点提取和描述)算法提取的ORB特征描述子进行特征点跟踪。本申请对特征点追踪的具体算法不加以限定,特征点追踪过程可以采用特征点法或直接法。
在一个实施例中,第二设备对当前图像进行特征点提取,得到M个候选特征点;然后将M个候选特征点逐一与N个初始特征点进行匹配,确定出至少一组匹配特征点对。每组匹配特征点对包括:一个初始特征点和一个目标特征点。初始特征点是初始标记图像上的特征点,目标特征点是当前图像上与该初始特征点匹配度最高的候选特征点。
可选地,初始特征点的数量大于或等于目标特征点的数量。比如,初始特征点的数量是450个,目标特征点为320组。
步骤406c,根据初始特征点和目标特征点,计算初始标记图像和当前图像之间的单应性矩阵;
单应性矩阵描述了相机的两个成像平面之间的映射关系,也即初始标记图像的成像平面和当前图像的成像平面之间的映射关系,若两张图像拍摄到的自然场景(现实环境)中的特征点都落在同一物理平面上,则可以通过单应性矩阵进行相机姿态的运动估计。
步骤406d,分解单应性矩阵得到相机姿态变化量。
当存在至少四对相匹配的初始特征点和目标特征点时,设备通过ransac对该单应性矩阵进行分解,得到相机姿态变化量。可选地,该相机姿态变化量包括旋转矩阵Rcf和平移向量Tcf
在一种可能的实现方式中,若当前图像的重定位成功,则第二设备可以将当前图像切换(或设置)为第2个标记图像,将第二相机在后续采集的其它图像相对于第2个标记图像进行相机姿态追踪。相关原理可以参考图5所示。
综上所述,本实施例提供的相机姿态追踪方法,第二设备通过将当前图像相对于初始标记图像进行重定位计算得到相机姿态变化量,从而能够在尚不存在标记图像或发生丢失时,根据自身采集的当前图像和第一设备采集的初始标记图像构建相机姿态追踪过程的各项信息,采用与第一设备相同的基准进行相机姿态追踪,从而实现多人模式AR场景的相机姿态追踪过程的同步。
在基于图6提供的可选实施例中,第二设备采用第二种方式获取当前图像相对于初始标记图像的相机姿态变化量。若当前图像是第二设备在相机姿态追踪过程进行一段时间后采集的图像,则第二设备已经按照Anchor-Switching AR System算法进行相机姿态追踪了一段时间,此时正在进行基于第i个标记图像的相机姿态追踪过程,i为大于1的整数。步骤406包括但不限于如下步骤,如图9所示:
步骤4061,获取第i个标记图像相对于初始标记图像的第一姿态变化量,i>1;
可选地,第i个标记图像是第2个标记图像、第3个标记图像、第4个标记图像等等。也即,第i个标记图像是初始标记图像之后的标记图像。
第i个标记图像是历史过程已经追踪成功的图像,第二设备上缓存有第i个标记图像相对于初始标记图像的第一姿态变化量。第一姿态变化量包括第一旋转矩阵Rmf和第一位移向量Tmf
步骤4062,将当前图像相对于第i个标记图像进行特征点追踪,得到第二姿态变化量;
特征点追踪可采用基于视觉里程计的追踪算法,本申请对此不加以限定。在一个实施例中,特征点追踪采用KLT光流追踪算法;在另一个实施例中,特征点追踪采用基于ORB算法提取的ORB特征描述子进行特征点跟踪。本申请对特征点追踪的具体算法不加以限定,特征点追踪过程可以采用特征点法或直接法。
在一个实施例中,本步骤包括如下子步骤:
1、将当前图像相对于第i个标记图像上的参考特征点进行特征点追踪,得到与参考特征点匹配的目标特征点;
第二设备在设置第i个标记图像时,会提取第i个标记图像上的N个参考特征点。在将当前图像相对于第i个标记图像上的参考特征点进行特征点追踪时,第二设备对当前图像进行特征点提取,得到M个候选特征点;然后将M个候选特征点逐一与N个参考特征点进行匹配,确定出至少一组匹配特征点对。每组匹配特征点对包括:一个参考特征点和一个目标特征点。参考特征点是第i个标记图像上的特征点,目标特征点是当前图像上与该参考特征点匹配度最高的候选特征点。
可选地,参考特征点的数量大于或等于目标特征点的数量。比如,初始特征点的数量是500个,目标特征点为430组。
2、根据参考特征点和目标特征点,计算第i个标记图像和当前图像之间的单应性矩阵;
单应性矩阵描述了相机的两个成像平面之间的映射关系,也即初始标记图像的成像平面和当前图像的成像平面之间的映射关系,若两张图像拍摄到的自然场景(现实环境)中的特征点都落在同一物理平面上,则可以通过单应性矩阵进行相机姿态的运动估计。
3,分解单应性矩阵得到第二姿态变化量;
当存在至少四对相匹配的参考特征点和目标特征点时,设备通过ransac对该单应性矩阵进行分解,得到第二姿态变化量。可选地,该第二姿态变化量包括旋转矩阵Rcm和平移向量Tcm
步骤4063,根据第一姿态变化量和第二姿态变化量,计算得到相机姿态变化量。
第二设备按照如下公式计算得到相机姿态变化量Rcf和Tcf
Figure BDA0002191639920000141
其中,Smf是第i个标记图像的尺度。
可选地,Smf为预设值,或者,Smf是将初始标记图像上的初始特征点映射至第i个标记图像上得到投影特征点,根据投影特征点的平均深度计算得到第i个图像对应的尺度。
综上所述,本实施例提供的相机姿态追踪方法,第二设备通过将当前图像相对于第i个标记图像进行特征点追踪后,利用第一姿态变化量和第二姿态变化量计算得到相机姿态变化量,根据相机姿态变化量和初始姿态参数计算得到当前相机姿态参数,从而能够使第二设备在已经进行了一段时间的相机姿态追踪时,根据自身采集的当前图像和第一设备采集的初始标记图像构建相机姿态追踪过程的各项信息,采用与第一设备相同的基准进行相机姿态追踪,从而实现多人模式AR场景的相机姿态追踪过程的同步。
在基于图9的可选实施例中,第二设备将第一个标记图像上的初始特征点映射至第i个标记图像上得到投影特征点,根据投影特征点的平均深度计算得到第i个标记图像对应的尺度的过程如下:
1、获取初始标记图像中的初始特征点的二维坐标;
第二设备预先提取和缓存有初始标记图像中的初始特征点的二维坐标。该二维坐标采用齐次表示。
2、对初始特征点的二维坐标进行反投影,得到初始特征点在三维空间中的第一三维坐标Xborn
第二设备通过如下公式将初始特征点的二维坐标变换至三维空间,得到这些初始特征点在三维空间中的第一三维坐标Xborn
Figure BDA0002191639920000151
其中,fx、fy、cx、cy为相机的内置参数。初始特征点的二维坐标xborn是第一个标记图像上的齐次表示,三维点Xborn是非齐次表示。假设第一个标记图像的初始深度d为1。
3、将第一三维坐标Xborn通过如下公式进行三维旋转平移,得到初始特征点在第i个标记图像上对应的第二三维坐标Xcurrent
Xcurrent=R*Xborn+T;
其中,Rmf是第一位姿变化量中的旋转矩阵,Tmf是第一位姿变化量中的位移向量。
4、将第二三维坐标Xcurrent投影至第i个标记图像,得到投影特征点在第i个标记图像中的二维坐标;
通过如下公式将第二三维坐标Xcurrent投影至第i个标记图像,得到投影特征点在第i个标记图像中的二维坐标xcurrent
Figure BDA0002191639920000152
其中,fx、fy、cx、cy为第二相机的内置参数。
5、根据投影特征点在第i个标记图像中的平均深度,计算得到第i个标记图像的尺度smf
第一设备和第二设备均假设初始标记图像对应的三维点的深度为1,同时初始姿态参数也相同,因此第一设备和第二设备对现实世界所建立的三维世界必然相同,因此两个设备之间直接实现了三维坐标系的对齐。
本申请实施例提供的相机姿态追踪方法,能够应用于AR领域中实现没有环境先验信息的情况下,于运动过程中追踪相机在现实环境中的运动姿态。典型的应用场景包括:
实时多人同时在线的AR游戏:
多个设备接入同一个游戏或游戏室,第一用户使用其中任意一台设备进行初始化过程得到初始标记图像和初始姿态参数,然后将初始标记图像和初始姿态参数同步至第二用户使用的其它设备,其它设备基于该初始标记图像和初始姿态参数进行相机姿态追踪。最终实现多个设备基于相同的相机追踪基准,进行实时的多人AR游戏。
基于AR的藏宝游戏:
第一用户使用第一设备在现实世界的地点A埋下宝藏(虚拟宝藏),其它用户经过现实世界的地点A时,使用第二设备在地点A寻找宝藏,并且可以使用第二设备上的AR程序打开和取走该宝藏。
以下为本申请的装置实施例,对于装置实施例中未详细描述的技术细节,可以参考上述方法实施例中的相关描述,本申请对此不加以限定。
图10示出了本申请一个示例性实施例提供的相机姿态追踪装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为电子设备(第二设备)的全部或一部分,该装置包括:
接收模块1020,用于接收第一设备发送的初始标记图像和初始姿态参数;
图像获取模块1040,用于获取所述相机采集的当前图像;
变化量获取模块1060,用于获取所述当前图像相对于所述初始标记图像的相机姿态变化量;
姿态计算模块1080,用于根据所述初始姿态参数和所述相机姿态变化量,计算得到所述相机采集所述当前图像时的当前相机姿态参数。
在一个可选的实施例中,所述变化量获取模块1060,用于将所述当前图像相对于所述初始标记图像进行重定位,得到所述相机姿态变化量;和/或,所述变化量获取模块1060,用于获取第i个标记图像相对于所述初始标记图像的第一姿态变化量,i>1;将所述当前图像相对于所述第i个标记图像进行特征点追踪,得到第二姿态变化量;根据所述第一姿态变化量和所述第二姿态变化量,计算得到所述相机姿态变化量。
在一个可选的实施例中,所述变化量获取模块1060,用于获取所述初始标记图像的初始特征点;将所述当前图像相对于所述初始标记图像进行特征点追踪,得到与所述初始特征点匹配的目标特征点;根据所述初始特征点和所述目标特征点,计算所述初始标记图像和所述当前图像之间的单应性矩阵;分解所述单应性矩阵得到所述相机姿态变化量。
在一个可选的实施例中,设所述第一姿态变化量包括第一旋转矩阵Rmf和第一位移向量Tmf,所述第二姿态变化量包括第二旋转矩阵Rcm和第二位移向量Tcm
所述变化量获取模块1060,用于按照如下公式计算得到所述相机姿态变化量Rcf和Tcf
Figure BDA0002191639920000171
其中,Smf是所述第i个标记图像的尺度。
在一个可选的实施例中,所述姿态计算模块1080,用于按照如下公式计算得到所述相机姿态参数R和T:
Figure BDA0002191639920000172
其中,Rcf是所述相机姿态变化量中的旋转矩阵,Tcf是所述相机姿态变化量中的位移向量,Rborn是所述初始姿态参数中的旋转矩阵,Tborn是所述初始姿态参数中的位移向量。
在一个可选的实施例中,所述接收模块1020,用于接收所述第一设备通过目标数据通道发送的所述初始标记图像和所述初始姿态参数,所述目标数据通道包括:无线保真网络、蓝牙、有线网络、数据线中的至少一种;和/或,所述接收模块1020,用于接收服务器发送的所述初始标记图像和所述初始姿态参数,所述初始标记图像和所述初始姿态参数是所述第一设备发送给所述服务器的。
需要说明的是:上述实施例提供的相机姿态追踪装置在进行相机姿态追踪时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的相机姿态追踪装置与相机姿态追踪方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11示出了本申请一个示例性实施例提供的终端1100的结构框图。该终端1100可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中方法实施例提供的相机姿态追踪方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、触摸显示屏1105、摄像头1106、音频电路1107、定位组件1108和电源1109中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置终端1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1108可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1111。
加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制触摸显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1113可以设置在终端1100的侧边框和/或触摸显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在触摸显示屏1105的下层时,由处理器1101根据用户对触摸显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商Logo时,指纹传感器1114可以与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制触摸显示屏1105的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1105的显示亮度;当环境光强度较低时,调低触摸显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,通常设置在终端1100的前面板。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制触摸显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制触摸显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上所述的相机姿态追踪方法。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的相机姿态追踪方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种AR系统,其特征在于,所述AR系统包括:第一设备和第二设备,所述第一设备和第二设备运行有多人协同使用的目标AR程序;
所述第一设备,用于启动AR场景的初始化过程;根据所述初始化过程中确定的初始标记图像和初始姿态参数进行相机姿态追踪过程;向所述第二设备发送所述初始标记图像和初始姿态参数;
所述第二设备,用于接收所述第一设备发送的所述初始标记图像和所述初始姿态参数;获取所述相机采集的当前图像;获取所述当前图像相对于所述初始标记图像的相机姿态变化量;根据所述初始姿态参数和所述相机姿态变化量,计算得到所述相机采集所述当前图像时的当前相机姿态参数。
2.根据权利要求1所述的AR系统,其特征在于,
所述第一设备,用于将所述初始化过程中的第一帧图像作为所述初始标记图像;通过所述目标AR程序设定所述初始姿态参数;
或,
所述第一设备,用于将用户指定的图像作为所述初始标记图像;接收所述用户设定的所述初始姿态参数。
3.根据权利要求1所述的AR系统,其特征在于,
所述第二设备,用于将所述当前图像相对于所述初始标记图像进行重定位,得到所述相机姿态变化量;
和/或,
所述第二设备,用于获取第i个标记图像相对于所述初始标记图像的第一姿态变化量,i>1;将所述当前图像相对于所述第i个标记图像进行特征点追踪,得到第二姿态变化量;根据所述第一姿态变化量和所述第二姿态变化量,计算得到所述相机姿态变化量。
4.根据权利要求1至3任一所述的AR系统,其特征在于,
所述第一设备和第二设备之间直接建立有目标数据通道,所述第一设备用于通过目标数据通道向所述第二设备发送所述初始标记图像和所述初始姿态参数,所述目标数据通道包括:无线保真网络WIFI、蓝牙、有线网络、数据线中的至少一种。
5.根据权利要求1至3任一所述的AR系统,其特征在于,所述AR系统还包括服务器;
所述第一设备,用于将所述初始标记图像和所述初始姿态参数发送至所述服务器;
所述服务器,用于将所述初始标记图像和所述初始姿态参数转发给所述第二设备。
6.一种AR方法,其特征在于,所述AR方法应用于包括第一设备和第二设备的AR系统,所述第一设备和第二设备运行有多人协同使用的目标AR程序;
所述第一设备启动AR场景的初始化过程;根据所述初始化过程中确定的初始标记图像和初始姿态参数进行相机姿态追踪过程;向所述第二设备发送所述初始标记图像和所述初始姿态参数;
所述第二设备接收所述第一设备发送的所述初始标记图像和所述初始姿态参数;获取所述相机采集的当前图像;获取所述当前图像相对于所述初始标记图像的相机姿态变化量;根据所述初始姿态参数和所述相机姿态变化量,计算得到所述相机采集所述当前图像时的当前相机姿态参数。
7.根据权利要求6所述的AR方法,其特征在于,所述方法还包括:
所述第一设备将所述初始化过程中的第一帧图像作为所述初始标记图像;通过所述目标AR程序设定所述初始姿态参数;
或,
所述第一设备将用户指定的图像作为所述初始标记图像;接收所述用户设定的所述初始姿态参数。
8.根据权利要求6所述的AR方法,其特征在于,所述第二设备获取所述当前图像相对于所述初始标记图像的相机姿态变化量,包括:
所述第二设备将所述当前图像相对于所述初始标记图像进行重定位,得到所述相机姿态变化量;
和/或,
所述第二设备获取第i个标记图像相对于所述初始标记图像的第一姿态变化量,i>1;将所述当前图像相对于所述第i个标记图像进行特征点追踪,得到第二姿态变化量;根据所述第一姿态变化量和所述第二姿态变化量,计算得到所述相机姿态变化量。
9.根据权利要求6至8任一所述的AR方法,其特征在于,所述第一设备和第二设备之间直接建立有目标数据通道,
所述第一设备向所述第二设备发送所述初始标记图像和所述初始姿态参数,包括:
所述第一设备通过所述目标数据通道向所述第二设备发送所述初始标记图像和所述初始姿态参数,所述目标数据通道包括:无线保真网络WIFI、蓝牙、有线网络、数据线中的至少一种。
10.根据权利要求6至8任一所述的AR方法,其特征在于,所述第一设备向所述第二设备发送所述初始标记图像和所述初始姿态参数,包括;
所述第一设备将所述初始标记图像和所述初始姿态参数发送至服务器,所述服务器用于将所述初始标记图像和所述初始姿态参数转发给所述第二设备。
CN201910834018.4A 2018-05-22 2018-05-22 Ar系统及方法 Active CN110544280B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910834018.4A CN110544280B (zh) 2018-05-22 2018-05-22 Ar系统及方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810495056.7A CN108734736B (zh) 2018-05-22 2018-05-22 相机姿态追踪方法、装置、设备及存储介质
CN201910834018.4A CN110544280B (zh) 2018-05-22 2018-05-22 Ar系统及方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201810495056.7A Division CN108734736B (zh) 2018-05-22 2018-05-22 相机姿态追踪方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110544280A CN110544280A (zh) 2019-12-06
CN110544280B true CN110544280B (zh) 2021-10-08

Family

ID=63937866

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910834018.4A Active CN110544280B (zh) 2018-05-22 2018-05-22 Ar系统及方法
CN201810495056.7A Active CN108734736B (zh) 2018-05-22 2018-05-22 相机姿态追踪方法、装置、设备及存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810495056.7A Active CN108734736B (zh) 2018-05-22 2018-05-22 相机姿态追踪方法、装置、设备及存储介质

Country Status (4)

Country Link
US (1) US11321870B2 (zh)
EP (1) EP3798983B1 (zh)
CN (2) CN110544280B (zh)
WO (1) WO2019223468A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110544280B (zh) * 2018-05-22 2021-10-08 腾讯科技(深圳)有限公司 Ar系统及方法
CN109544615B (zh) * 2018-11-23 2021-08-24 深圳市腾讯信息技术有限公司 基于图像的重定位方法、装置、终端及存储介质
CN109847350A (zh) * 2019-03-25 2019-06-07 深圳初影科技有限公司 基于ar技术的游戏实现方法、游戏系统、及存储介质
CN109992111B (zh) * 2019-03-25 2021-02-19 联想(北京)有限公司 增强现实扩展方法和电子设备
CN109908589B (zh) * 2019-03-25 2022-09-02 深圳初影科技有限公司 基于ar技术的游戏实现方法、游戏系统、及存储介质
CN110286768B (zh) * 2019-06-27 2022-05-17 Oppo广东移动通信有限公司 虚拟物体显示方法、终端设备及计算机可读存储介质
CN110276794B (zh) * 2019-06-28 2022-03-01 Oppo广东移动通信有限公司 信息处理方法、信息处理装置、终端设备及服务器
CN110473259A (zh) * 2019-07-31 2019-11-19 深圳市商汤科技有限公司 位姿确定方法及装置、电子设备和存储介质
CN110989825B (zh) * 2019-09-10 2020-12-01 中兴通讯股份有限公司 增强现实互动实现方法及系统、增强现实设备、存储介质
CN110866977B (zh) * 2019-10-31 2023-06-16 Oppo广东移动通信有限公司 增强现实处理方法及装置、系统、存储介质和电子设备
CN111078003B (zh) * 2019-11-27 2021-10-22 Oppo广东移动通信有限公司 数据处理方法、装置、电子设备及存储介质
CN111179435B (zh) * 2019-12-24 2024-02-06 Oppo广东移动通信有限公司 增强现实处理方法及装置、系统、存储介质和电子设备
CN111338474B (zh) * 2020-02-19 2022-11-08 Oppo广东移动通信有限公司 虚拟对象位姿校准方法及装置、存储介质和电子设备
CN113781548A (zh) * 2020-06-10 2021-12-10 华为技术有限公司 多设备的位姿测量方法、电子设备及系统
CN111582385B (zh) * 2020-05-11 2023-10-31 杭州易现先进科技有限公司 Slam质量的量化方法、系统、计算机设备和存储介质
CN111798489B (zh) * 2020-06-29 2024-03-08 北京三快在线科技有限公司 一种特征点跟踪方法、设备、介质及无人设备
CN112242008B (zh) * 2020-10-17 2021-09-07 郑州西亚斯学院 一种用于透明容器的ar交互视觉感知方法及系统
CN112650422B (zh) * 2020-12-17 2022-07-29 咪咕文化科技有限公司 设备的ar交互方法、装置、电子设备及存储介质
CN112767455B (zh) * 2021-01-08 2022-09-02 合肥的卢深视科技有限公司 一种双目结构光的校准方法及系统
CN114812381B (zh) * 2021-01-28 2023-07-18 华为技术有限公司 电子设备的定位方法及电子设备
CN112945207B (zh) * 2021-02-24 2021-11-26 上海商汤临港智能科技有限公司 目标定位方法及装置、电子设备和存储介质
US11961201B2 (en) * 2021-05-21 2024-04-16 Meta Platforms Technologies, Llc Viewing 3D photo galleries in VR
CN113223007A (zh) * 2021-06-28 2021-08-06 浙江华睿科技股份有限公司 视觉里程计的实现方法、装置及电子设备
CN115797815B (zh) * 2021-09-08 2023-12-15 荣耀终端有限公司 Ar翻译的处理方法及电子设备
CN114898084B (zh) * 2022-04-18 2023-08-25 荣耀终端有限公司 视觉定位方法、设备和存储介质
WO2024061238A1 (zh) * 2022-09-21 2024-03-28 海信电子科技(深圳)有限公司 一种估计手柄位姿的方法及虚拟显示设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171523A (ja) * 2012-02-22 2013-09-02 Micronet Co Ltd Ar画像処理装置及び方法
CN106780601A (zh) * 2016-12-01 2017-05-31 北京未动科技有限公司 一种空间位置追踪方法、装置及智能设备
CN106843456A (zh) * 2016-08-16 2017-06-13 深圳超多维光电子有限公司 一种基于姿态追踪的显示方法、装置和虚拟现实设备
CN107111996A (zh) * 2014-11-11 2017-08-29 本特图像实验室有限责任公司 实时共享的增强现实体验

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4991395B2 (ja) * 2007-05-28 2012-08-01 キヤノン株式会社 情報処理方法及び情報処理装置
US10354407B2 (en) * 2013-03-15 2019-07-16 Spatial Cam Llc Camera for locating hidden objects
US9020187B2 (en) * 2011-05-27 2015-04-28 Qualcomm Incorporated Planar mapping and tracking for mobile devices
AU2011253973B2 (en) * 2011-12-12 2015-03-12 Canon Kabushiki Kaisha Keyframe selection for parallel tracking and mapping
WO2013086678A1 (zh) * 2011-12-12 2013-06-20 北京航空航天大学 平面模型下点匹配与位姿同步确定方法及计算机程序产品
CN103971400B (zh) 2013-02-06 2018-02-02 阿里巴巴集团控股有限公司 一种基于标识码的三维交互的方法和系统
WO2015051834A1 (en) * 2013-10-09 2015-04-16 Metaio Gmbh Method and system for determining a pose of a camera
WO2016017245A1 (ja) * 2014-07-31 2016-02-04 ソニー株式会社 情報処理装置及び情報処理方法、並びに画像表示システム
WO2016078728A1 (en) * 2014-11-21 2016-05-26 Metaio Gmbh Method and system for determining spatial coordinates of a 3d reconstruction of at least part of a real object at absolute spatial scale
CN106296598B (zh) * 2016-07-29 2019-11-26 厦门美图之家科技有限公司 三维姿态处理方法、系统及拍摄终端
EP3296950A1 (en) * 2016-09-15 2018-03-21 Thomson Licensing Method and device for blurring a virtual object in a video
JP2018055589A (ja) * 2016-09-30 2018-04-05 セイコーエプソン株式会社 プログラム、物体の追跡方法、表示装置
CN108022264B (zh) * 2016-11-01 2023-06-13 北京墨土科技有限公司 相机位姿确定方法及设备
CN106873784A (zh) * 2017-03-29 2017-06-20 联想(北京)有限公司 一种显示控制方法、装置及电子设备
GB2561368B (en) * 2017-04-11 2019-10-09 Nokia Technologies Oy Methods and apparatuses for determining positions of multi-directional image capture apparatuses
CN107194968B (zh) * 2017-05-18 2024-01-16 腾讯科技(上海)有限公司 图像的识别跟踪方法、装置、智能终端和可读存储介质
CN107590453B (zh) * 2017-09-04 2019-01-11 腾讯科技(深圳)有限公司 增强现实场景的处理方法、装置及设备、计算机存储介质
US10515458B1 (en) * 2017-09-06 2019-12-24 The United States Of America, As Represented By The Secretary Of The Navy Image-matching navigation method and apparatus for aerial vehicles
CN108615247B (zh) 2018-04-27 2021-09-14 深圳市腾讯计算机系统有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN108596976B (zh) 2018-04-27 2022-02-22 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN108682037B (zh) 2018-04-27 2022-03-08 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN108682038B (zh) 2018-04-27 2021-12-14 腾讯科技(深圳)有限公司 位姿确定方法、装置及存储介质
CN108876854B (zh) 2018-04-27 2022-03-08 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN108648235B (zh) 2018-04-27 2022-05-17 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置及存储介质
CN110555882B (zh) 2018-04-27 2022-11-15 腾讯科技(深圳)有限公司 界面显示方法、装置及存储介质
CN108615248B (zh) 2018-04-27 2022-04-05 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN108682036B (zh) 2018-04-27 2022-10-25 腾讯科技(深圳)有限公司 位姿确定方法、装置及存储介质
CN110544280B (zh) * 2018-05-22 2021-10-08 腾讯科技(深圳)有限公司 Ar系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171523A (ja) * 2012-02-22 2013-09-02 Micronet Co Ltd Ar画像処理装置及び方法
CN107111996A (zh) * 2014-11-11 2017-08-29 本特图像实验室有限责任公司 实时共享的增强现实体验
CN106843456A (zh) * 2016-08-16 2017-06-13 深圳超多维光电子有限公司 一种基于姿态追踪的显示方法、装置和虚拟现实设备
CN106780601A (zh) * 2016-12-01 2017-05-31 北京未动科技有限公司 一种空间位置追踪方法、装置及智能设备

Also Published As

Publication number Publication date
EP3798983A4 (en) 2021-07-21
CN110544280A (zh) 2019-12-06
EP3798983B1 (en) 2024-02-07
EP3798983A1 (en) 2021-03-31
CN108734736A (zh) 2018-11-02
US11321870B2 (en) 2022-05-03
US20200388051A1 (en) 2020-12-10
CN108734736B (zh) 2021-10-26
WO2019223468A1 (zh) 2019-11-28

Similar Documents

Publication Publication Date Title
CN110544280B (zh) Ar系统及方法
US11481923B2 (en) Relocalization method and apparatus in camera pose tracking process, device, and storage medium
US11205282B2 (en) Relocalization method and apparatus in camera pose tracking process and storage medium
CN108682038B (zh) 位姿确定方法、装置及存储介质
CN108682036B (zh) 位姿确定方法、装置及存储介质
CN108537845B (zh) 位姿确定方法、装置及存储介质
CN110992493B (zh) 图像处理方法、装置、电子设备及存储介质
CN110148178B (zh) 相机定位方法、装置、终端及存储介质
CN110427110B (zh) 一种直播方法、装置以及直播服务器
CN108876854B (zh) 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN109522863B (zh) 耳部关键点检测方法、装置及存储介质
CN109558837B (zh) 人脸关键点检测方法、装置及存储介质
WO2022052620A1 (zh) 图像生成方法及电子设备
CN111897429A (zh) 图像显示方法、装置、计算机设备及存储介质
CN111068323A (zh) 智能速度检测方法、装置、计算机设备及存储介质
CN112967261B (zh) 图像融合方法、装置、设备及存储介质
CN110443841B (zh) 地面深度的测量方法、装置及系统
CN114093020A (zh) 动作捕捉方法、装置、电子设备及存储介质
CN113033590A (zh) 图像特征匹配方法、装置、图像处理设备及存储介质
CN112767453B (zh) 人脸跟踪方法、装置、电子设备及存储介质
CN113409235B (zh) 一种灭点估计的方法及装置
CN113139919A (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