CN111768454B - 位姿确定方法、装置、设备及存储介质 - Google Patents
位姿确定方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111768454B CN111768454B CN202010779847.XA CN202010779847A CN111768454B CN 111768454 B CN111768454 B CN 111768454B CN 202010779847 A CN202010779847 A CN 202010779847A CN 111768454 B CN111768454 B CN 111768454B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- camera
- pose
- video frame
- determining
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000003384 imaging method Methods 0.000 claims abstract description 9
- 230000004044 response Effects 0.000 claims description 16
- 230000003190 augmentative effect Effects 0.000 claims description 12
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 18
- 238000010276 construction Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 13
- 230000001133 acceleration Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000000919 ceramic Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000272534 Struthio camelus Species 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
- G01C21/365—Guidance using head up displays or projectors, e.g. virtual vehicles or arrows projected on the windscreen or on the road itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/771—Feature selection, e.g. selecting representative features from a multi-dimensional feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20101—Interactive definition of point of interest, landmark or seed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/008—Cut plane or projection plane definition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种位姿确定方法、装置、设备及存储介质,属于即时定位与地图构建领域。所述方法包括:在第一视频帧中确定第一二维平面点,第一二维平面点在目标水平面的显示区域内,目标水平面是现实世界中的三维水平面在第一视频帧中的成像内容;获取相机在采集第一视频帧时的第一姿态信息;确定第一二维平面点在现实世界中对应的第一三维空间点在相机的相机坐标系中的第一坐标;根据第一姿态信息以及第一坐标,确定相机在世界坐标系中的位姿,世界坐标系的原点为第一三维空间点。在确定位姿的过程中,无需移动计算机设备对***进行初始化,简化了确定位姿的过程,提升了确定位姿的时效性。
Description
技术领域
本申请涉及即时定位与地图构建领域,特别涉及一种位姿确定方法、装置、设备及存储介质。
背景技术
增强现实(Augmented Reality,AR)是近年来热度较高的技术之一。客户端通过在相机实时采集到的视频帧上叠加显示AR模型,来实现对显示的真实世界“增强”。客户端在显示AR模型时,需要先确定相机在世界坐标系中的位姿。
目前,客户端通常通过使用iOS(iPhone Operation System)***提供的ARkit开发组件来确定相机的位姿。ARkit开发组件基于视觉惯性里程计(Visual InertialOdometry,VIO)技术,能够跟随相机在所处的现实世界中的位置与姿态,并与相机采集到的的视频帧中的像素点进行匹配,从而实现确定相机在世界坐标系中的位姿。
客户端通过ARkit开发组件来确定相机在世界坐标系中的位姿时,由于实现原理的限制,需要移动相机进行***初始化,才能实现确定相机的位姿。确定位姿的过程较繁琐且时效性较差。
发明内容
本申请提供了一种位姿确定方法、装置、设备及存储介质,可以简化确定位姿的过程从而提升确定位姿的时效性。所述技术方案如下:
根据本申请的一方面,提供了一种位姿确定方法,所述方法包括:
在第一视频帧中确定第一二维平面点,所述第一二维平面点在目标水平面的显示区域内,所述目标水平面是现实世界中的三维水平面在所述第一视频帧中的成像内容;
获取相机在采集所述第一视频帧时的第一姿态信息;
确定所述第一二维平面点在所述现实世界中对应的第一三维空间点在所述相机的相机坐标系中的第一坐标;
根据所述第一姿态信息以及所述第一坐标,确定所述相机在世界坐标系中的位姿,所述世界坐标系的原点为所述第一三维空间点。
根据本申请的另一方面,提供了一种位姿确定装置,所述装置包括:
第一确定模块,用于在第一视频帧中确定第一二维平面点,所述第一二维平面点在目标水平面的显示区域内,所述目标水平面是现实世界中的三维水平面在所述第一视频帧中的成像内容;
获取模块,关于获取相机在采集所述第一视频帧时的第一姿态信息;
第二确定模块,用于确定所述第一二维平面点在所述现实世界中对应的第一三维空间点在所述相机的相机坐标系中的第一坐标;
第三确定模块,用于根据所述第一姿态信息以及所述第一坐标,确定所述相机在世界坐标系中的位姿,所述世界坐标系的原点为所述第一三维空间点。
可选地,所述第一确定模块,包括:
识别子模块,用于在所述第一视频帧中识别所述目标水平面;
确定子模块,用于响应于针对所述第一视频帧的触控操作,在所述目标水平面上确定出与所述触控操作的触控位置对应的所述第一二维平面点。
可选地,所述识别子模块,用于:
采用基于图的平面物体跟随算法在所述第一视频帧中确定出所述目标水平面。
可选地,所述确定子模块模块,用于:
响应于针对所述目标水平面的单击操作,将所述单击操作在所述目标水平面上的点击位置确定为所述第一二维平面点。
可选地,所述获取模块,用于:
通过惯性测量单元,在所述相机采集所述第一视频帧时获取所述第一姿态信息。
可选地,所述第二确定模块,用于:
根据所述第一姿态信息确定所述三维水平面的描述信息,所述描述信息用于反映所述三维水平面在所述相机坐标系中的姿态;
根据所述描述信息、所述第一二维平面点在所述第一视频帧中的二维位置、所述相机到所述目标水平面的距离以及所述相机的相机内参数,确定所述第一三维空间点的第一深度,所述第一深度用于反映所述第一三维空间点在所述相机坐标系下与所述相机坐标系的原点之间的距离;
根据所述第一深度、所述相机内参数以及所述二维位置,确定所述第一三维空间点在所述相机坐标系中的第一坐标。
可选地,所述装置还包括:
建立模块,用于响应于所述触控操作,以所述触控位置为中心建立第一方形框,所述第一方形框的边长为第一边长;
第四确定模块,用于响应于所述第一二维平面点在第二视频帧中发生位移,确定所述第一方形框在所述第二视频帧中对应的第二方形框,所述第二方形框的边长为第二边长,所述第二视频帧为所述第一视频帧的后一个视频帧。
第五确定模块,用于根据所述第二方形框在所述第二视频帧中确定与所述第一二维平面点对应的第二二维平面点;
第六确定模块,用于根据所述第一边长与所述第二边长的比值以及所述第一深度,确定所述第二二维平面点在所述现实世界中对应的第二三维空间点的第二深度,所述第二深度用于反映所述第二三维空间点在所述相机坐标系下与所述相机坐标系的原点之间的距离;
执行模块,用于根据所述第二二维平面点以及所述第二深度,再次执行确定所述位姿的步骤。
可选地,所述第四确定模块,用于:
响应于所述第一二维平面点在所述第二视频帧中发生位移,跟随所述第一方形框在所述第一视频帧中对应的区域内容在所述第二视频帧中所处的目标区域;
将所述目标区域的外边框确定为所述第二方形框。
可选的,所述第五确定模块,用于:
将所述第二方形框的中心确定为所述第二二维平面点。
可选地,所述第三确定模块,用于:
根据所述第一姿态信息确定所述位姿中的姿态;
根据所述第一姿态信息以及所述第一坐标,确定所述位姿中的位置。
可选地,所述装置还包括:
显示模块,用于响应于所述触控操作触发的模型显示指令,根据所述位姿在所述第一二维平面点显示增强现实模型。
根据本申请的又一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的位姿确定方法。
根据本申请的再一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的位姿确定方法。
根据本申请的还一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的位姿确定方法。
本申请提供的技术方案带来的有益效果至少包括:
通过根据相机在采集第一视频帧时的第一姿态信息,以及第一视频帧中的第一二维平面点在现实世界中对应的第一三维空间点在相机坐标系中的第一坐标,能够确定出相机在世界坐标系中的位姿,从而能够根据该位姿在第一视频帧中显示AR模型。在确定该位姿的过程中,无需移动计算机设备对***进行初始化,简化了确定位姿的过程,提升了确定位姿的时效性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的确定位姿的原理的示意图;
图2是本申请实施例提供的一种位姿确定方法的流程示意图;
图3是本申请实施例提供的另一种位姿确定方法的流程示意图;
图4是本申请实施例提供的确定第一二维平面点的实现过程的示意图;
图5是本申请实施例提供的确定第一二维平面点的第一坐标的实现过程的示意图;
图6是本申请实施例提供的显示增强显示模型的示意图;
图7是本申请实施例提供的确定第二二维平面点的实现过程的示意图;
图8是本申请实施例提供的一种位姿确定装置的框图;
图9是本申请实施例提供的一种第一确定模块的框图;
图10是本申请实施例提供的另一种位姿确定装置的框图;
图11是本申请实施例提供的又一种位姿确定装置的框图;
图12是本申请实施例提供的一种终端的结构示意图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于对本申请实施例提供的方法的理解,首先对本申请实施例中涉及的名词进行介绍:
图像坐标系:图像坐标系是以相机采集到的图像的左上顶点为坐标原点的坐标系。图像坐标系的x轴与y轴为采集到的图像的长宽方向。
相机坐标系:相机坐标系是以相机的聚焦中心为原点,以光轴为z轴建立的三维直角坐标系。其中,相机坐标系的x轴与采集到的图像的图像坐标系的x轴平行,相机坐标系的y轴与采集到的图像的图像坐标系的y轴平行。
世界坐标系:世界坐标系能够描述相机在现实世界中的位置,同样还能够描述相机采集到的图像中的物体在现实世界中的位置。可以通过相机在世界坐标系中的位姿,将相机坐标系转换为世界坐标系。通常,该世界坐标系的x轴水平指向正东方向,y轴水平指向正北方向,z轴竖直向上。
位姿:位姿用于描述相机的位置和姿态。位置可以用相机在世界坐标系中的坐标来表示,姿态指相机在世界坐标系中的朝向,可以用旋转矩阵来表示。
惯性测量单元(Inertial measurement unit,IMU):IMU是用于测量物体三轴姿态角(或角速率)以及加速度的装置。IMU通常包含三个单轴的加速度计和三个单轴的陀螺,加速度计用于检测物体在载体坐标***独立三轴的加速度信号,陀螺用于检测载体相对于导航坐标系的角速度信号。IMU能够测量物体在三维空间中的角速度和加速度,并以此确定出物体的姿态。
图1是本申请实施例提供的确定位姿的原理的示意图,如图1的(a)所示,AR客户端在安装该AR客户端的计算机设备采集到的第一视频帧101中的目标水平面103的显示区域内获取第一二维平面点104,该第一二维平面点104是根据用户的触控操作的触控位置确定的。该计算机设备上集成有相机。该目标水平面是现实世界中的三维水平面在第一视频帧中的成像内容。该目标水平面103是AR客户端在第一视频帧101中识别出的。
如图1的(b)所示,AR客户端以该第一二维平面点104为中心,建立第一方形框105,第一方形框105的边长为第一边长。之后AR客户端根据计算机设备上的IMU确定相机在采集该第一视频帧时的第一姿态信息。根据该第一姿态信息确定在相机的相机坐标系111中的目标水平面103在现实世界中对应的三维水平面110的描述信息。AR客户端根据该描述信息、第一二维平面点104在第一视频帧101中的二维位置、该相机到目标水平面的距离(通常设置为1m)以及相机的相机内参数,能够确定出用于反映第一三维空间点108在相机坐标系111下与相机之间的距离的第一深度。该第一三维空间点108为第一二维平面点104在现实世界中的对应点。AR客户端根据该第一深度、相机内参数以及第一二维平面点104在第一视频帧101中的二维位置,确定出第一三维空间点108在相机的相机坐标系111中的第一坐标。之后AR客户端根据相机在采集该第一视频帧101时的第一姿态信息以及第一三维空间点108在相机的相机坐标系111中的第一坐标,确定相机在世界坐标系109中的位姿。该世界坐标系109的原点为第一三维空间点108。AR客户端能够根据该位姿,在第一视频帧101的第一二维平面点104显示AR模型。
如图1的(c)所示,当AR客户端显示第二视频帧102时,根据第一方形框105在第二视频帧102中,跟随第一方形框105在第一视频帧101中对应的区域内容在第二视频帧102中的目标区域,并将该目标区域的外边框确定为第二方形框107,第二方形框的边长为第二边长。将第二方形框107的中心确定为第二二维平面点106。该第二视频帧为第一视频帧的后一个视频帧。AR客户端根据第一边长与第二边长的比值以及第一深度,能够确定出第二二维平面点在现实世界中对应的第二三维空间点的第二深度。AR客户端能够根据该第二二维平面点106以及第二深度,通过上述步骤在第二视频帧102中继续显示AR模型。
根据相机在采集第一视频帧时的姿态以及第一视频帧中的第一二维平面点在现实世界中对应的第一三维空间点在相机坐标系中的第一坐标,能够确定出相机在世界坐标系中的位姿,从而能够根据该位姿在第一视频帧中显示AR模型。通过第一方形框在第一视频帧之后的第二视频帧中确定出与第一二维平面点对应的第二二维平面点,以及第二二维平面点在现实世界中对应的第二三维空间点的第二深度。根据该第二二维平面点以及第二深度同样能够确定出相机在世界坐标系中的位姿。在确定相机的位姿的过程中,无需移动计算机设备对***进行初始化,简化了确定位姿的过程,提升了确定位姿的时效性。
图2是本申请实施例提供的一种位姿确定方法的流程示意图。该方法可以用于计算机设备或计算机设备上的AR客户端。如图2所示,该方法包括:
步骤201、在第一视频帧中确定第一二维平面点,第一二维平面点在目标水平面的显示区域内。
可选地,该第一视频帧是安装AR客户端的计算机设备采集到的视频中的任一视频帧。可选地,计算机设备集成有相机,例如集成有摄像头的手机和具备计算能力的数码照相机等,该计算机设备也可称为相机。
该目标水平面是现实世界中的三维水平面在第一视频帧中的成像内容。该目标水平面是AR客户端在该第一视频帧中识别到的。可选地,AR客户端采用基于图的平面物体跟随算法(Gracker),在第一视频帧中识别出该目标水平面。Gracker是一种已被人工智能领域的期刊录用的算法。AR客户端通过Gracker,能够将需要进行平面识别的图像与已知的现实世界中的平面的图像进行匹配,从而识别出目标水平面。在进行图像的匹配的过程中,Gracker能够实现对图像的特征进行匹配,同时还能够估计图像对应的姿态来提升匹配准确度,从而能够有效提升识别目标平面的准确度。例如在第一视频帧中识别出桌面或地面。
在一个示例中,第一二维平面点用于在第一视频帧中显示AR模型。可选地,AR客户端根据针对第一视频帧的触控操作的触控位置确定该第一二维平面点。
步骤202、获取相机在采集第一视频帧时的第一姿态信息。
可选地,该第一姿态信息用于反映相机当前的姿态相较于水平向北时的姿态的变化。示例地,计算机设备为手机,相机为手机上的摄像头,手机水平放置且屏幕朝上,当手机充电口与听筒的连线方向水平朝北时相机水平向北。
可选地,AR客户端通过计算机设备上的IMU获取相机在采集第一视频帧时的第一姿态信息。
步骤203、确定第一二维平面点在现实世界中对应的第一三维空间点在相机的相机坐标系中的第一坐标。
该第一坐标用于确定相机在世界坐标系中的位姿中的位置。可选地,AR客户端根据第一姿态信息、第一二维平面点在第一视频帧中的二维位置、相机到目标水平面的距离以及相机的相机内参数,确定该第一坐标。
步骤204、根据第一姿态信息以及第一坐标,确定相机在世界坐标系中的位姿。
该世界坐标系的原点为第一三维空间点。AR客户端能够根据相机的第一姿态信息以及第一三维空间点的第一坐标,确定出相机在世界坐标系中的坐标,从而确定出相机在世界坐标系中的位姿中的位置。
其中,根据第一姿态信息和第一三维空间点能够确定出相机在世界坐标系中的位姿中的姿态,从而确定出相机在世界坐标系中的位姿。
综上所述,本申请实施例提供的位姿确定方法,根据相机在采集第一视频帧时的第一姿态信息,以及第一视频帧中的第一二维平面点在现实世界中对应的第一三维空间点在相机坐标系中的第一坐标,能够确定出相机在世界坐标系中的位姿,从而能够根据该位姿在第一视频帧中显示AR模型。在确定该位姿的过程中,无需移动计算机设备对***进行初始化,简化了确定位姿的过程,提升了确定位姿的时效性。
图3是本申请实施例提供的另一种位姿确定方法的流程示意图。该方法可以用于计算机设备或计算机设备上的AR客户端。如图3所示,该方法包括:
步骤301、在第一视频帧中确定第一二维平面点,第一二维平面点在目标水平面的显示区域内。
该目标水平面是现实世界中的三维水平面在第一视频帧中的成像内容。该第一二维平面点在第一视频帧中的目标水平面上,指该第一二维平面点所在的像素点,在目标水平面包括的像素点内。
可选地,如图4所示,步骤301的实现过程包括以下步骤3011以及步骤3012:
在步骤3011中,在第一视频帧中识别目标水平面。
可选地,AR客户端采用基于图的平面物体跟随算法(Gracker)在第一视频帧中确定出目标水平面。AR客户端还能够通过EasyAR中的平面图像跟随(Planar ImageTracking)功能,在第一视频帧中确定出目标水平面。EasyAR是一种目前已广泛应用的AR引擎,EasyAR提供的平面图像跟随功能,能够在需要识别平面的图像中查找到已建立的现实世界中的平面的图像,从而实现在第一视频帧中识别出目标水平面。可选地,AR客户端在显示第一视频帧时,能够在第一视频帧中识别出该目标水平面。例如在第一视频帧中识别出桌面和地面等。
在步骤3012中,响应于针对第一视频帧的触控操作,在目标水平面上确定出与触控操作的触控位置对应的第一二维平面点。
可选地,该触控操作包括单击操作、双击操作、滑动操作以及长按操作等。示例地,当用户触摸计算机设备的显示屏时,会在显示屏表面形成电流,该电流会从显示屏的四角上的四个电极中流出。流经四个电极的电流的大小与手指到四角的距离成正比,计算机设备通过流经四个电极的电流的大小的比例,能够确定出触控操作在第一视频帧中的位置,即第一二维平面点的位置。当AR客户端在第一视频帧中识别出至少两个水平面时,AR客户端根据该触控操作,将该触控操作对应的水平面确定为目标水平面。可选地,第一二维平面点用于在第一视频帧中显示AR模型。
可选地,该触控操作为单击操作。AR客户端响应于针对目标水平面的单击操作,将单击操作在目标水平面上的点击位置确定为第一二维平面点。该点击位置指用户单击第一视频帧中的目标水平面时点击的像素点的位置。
步骤302、获取相机在采集第一视频帧时的第一姿态信息。
可选地,该第一姿态信息用于反映相机当前的姿态相较于水平向北时的姿态的变化。可选地,相机的姿态指计算机设备的姿态。安装AR客户端的计算机设备中集成有惯性测量单元。AR客户端通过该惯性测量单元,在相机采集第一视频帧时获取IMU的姿态信息,并根据IMU的姿态信息以及相机坐标系相对于IMU的坐标系的旋转姿态,确定出第一姿态信息。IMU的坐标系是在IMU在生产时标定的坐标系。
示例地,相机在采集第一视频帧时的第一姿态信息为:
R0=Ric -1*Rimu,0*Ric。其中,Rimu,0为相机在采集第一视频帧时的IMU的姿态信息。Ric是已知量,为相机坐标系相对于IMU坐标系的旋转姿态。
步骤303、确定第一二维平面点在现实世界中对应的第一三维空间点在相机的相机坐标系中的第一坐标。
相机在采集图像的过程中,会将在现实世界中采集到的信息转换为二维平面中的信息,从而实现图像的采集。第一三维空间点是第一二维平面点在现实世界中的对应点。第一视频帧中的第一三维空间点在相机的相机坐标系中的第一坐标用于确定相机在世界坐标系中的位姿中的位置。
可选地,如图5所示,步骤303的实现过程包括以下步骤3031至3033:
在步骤3031中,根据第一姿态信息确定三维水平面的描述信息,描述信息用于反映三维水平面在相机坐标系中的姿态。
该三维水平面为目标水平面在显示世界中对应的水平面。该第一姿态信息能够反映出相机当前的姿态相较于水平向北时的姿态的变化,则能够根据该第一姿态信息,确定出相机在水平时的姿态信息,也即是三维水平面的描述信息。
示例地,相机的第一姿态信息为R0,三维水平面的描述信息为三维水平面的法向量,三维水平面的描述信息n=R0 -1*(0,0,-1)T。
在步骤3032中,根据描述信息、第一二维平面点在第一视频帧中的二维位置、相机到目标水平面的距离以及相机的相机内参数,确定第一三维空间点的第一深度。
可选地,相机到目标水平面的距离通常设置为1m。AR客户端还能够通过计算机设备上的红外测距仪,确定相机到目标水平面的距离。或者,AR客户端通过单目测距算法,确定出相机到目标水平面的距离。第一三维空间点的第一深度用于反映第一三维空间点在相机坐标系下与相机坐标系的原点之间的距离。相机内参数(也称为相机内参矩阵)用于实现相机坐标系与像平面坐标系之间的坐标转换。
示例地,目标水平面的描述信息为n,第一二维平面点的二维位置为p0=(u,v),表示第一二维平面点在第一视频帧对应的图像坐标系下的坐标。相机到目标水平面的距离为d,相机的相机内参数为K。为便于计算,将第一二维平面点的二维位置转换为齐次坐标形式p′0=(u,v,1),则第一三维空间点的第一深度为:
其中,相机的相机内参数为:
其中,f为相机的焦距。u0表示相机的光心在采集到的图像对应的图像坐标系中的横坐标,v0表示相机的光心在采集到的图像对应的图像坐标系中的纵坐标。根据K-1p0′能够得到第一二维平面点在相机坐标系中的xy坐标,根据第一二维平面点在相机坐标系中的xy坐标,进而能够得到第一三维空间点在相机坐标系中的坐标。
在步骤3033中,根据第一深度、相机内参数以及二维位置,确定第一三维空间点在相机坐标系中的第一坐标。
AR客户端根据第一深度、相机内参数以及二维位置,能够确定出第一三维空间点在相机坐标系中,相对于原点的距离以及方向,从而确定出第一三维空间点在相机坐标系中的第一坐标。示例地,第一三维空间点在相机坐标系中的第一坐标为:
P0=s0(K-1p0′)。
步骤304、根据第一姿态信息以及第一坐标,确定相机在世界坐标系中的位姿。
该世界坐标系的原点为第一三维空间点。可选地,AR客户端根据第一姿态信息确定位姿中的姿态。并根据第一姿态信息以及第一坐标,确定位姿中的位置。
示例地,C0表示相机坐标系,W表示相机坐标系。相机的第一姿态信息为R0,第一三维空间点的第一坐标为P0。则相机在世界坐标系中的位姿为:
其中,R0是一个3行3列的矩阵,即第一姿态信息,用于表示相机的位姿中的姿态。-R0P0是一个3行1列的矩阵,用于表示相机的位姿中的位置。最下面的1行,是0,0,0,1,是位姿矩阵的形式,位姿矩阵的最后一行通常是0,0,0,1。
步骤305、响应于触控操作触发的模型显示指令,根据位姿在第一二维平面点显示增强现实模型。
可选地,针对第一视频帧的触控操作还能够触发模型显示指令,AR客户端根据该模型显示指令,能够根据确定出的相机在世界坐标系中的位姿在第一视频帧中的第一二维平面点显示增强现实模型。
示例地,图6是本申请实施例提供的显示增强显示模型的示意图。如图6的(a)所示,相机采集到的第一视频帧601中包括AR客户端识别出的目标平面602,该目标平面602为地面,第一视频帧中还包括放置在目标平面602上的衣架。在目标平面602中,AR客户端根据触控操作确定出第一二维平面点604。如图6的(b),AR客户端根据基于该第一二维平面点604确定的相机在世界坐标系中的位姿,在第一二维平面点604显示增强现实模型605。该增强现实模型605为鸵鸟的模型。
步骤306、响应于触控操作,以触控位置为中心建立第一方形框。
该第一方形框的边长为第一边长。AR客户端根据针对第一视频帧的触控操作,还能够建立该第一框。该第一方形框的中心为触控操作的触控位置。该第一方形框的边长是AR客户端设置的。例如第一方形框的边长为第一视频帧的窄边长的四分之一。可选地,该第一方形框还能够为圆形框等。
步骤307、响应于第一二维平面点在第二视频帧中发生位移,确定第一方形框在第二视频帧中对应的第二方形框。
该第二方形框的边长为第二边长。该第二视频帧为第一视频帧的后一个视频帧。可选地,当采集第一视频帧的相机发生位移时,第一二维平面点在第二视频帧中会发生位移。AR客户端能够根据步骤306中建立的第一方形框,对第一方形框在第一视频帧中对应的区域内容进行跟随,从而在第二视频帧中确定与第一方形框对应的第二方形框。
可选地,如图7所示,步骤307的实现过程包括以下步骤3071以及步骤3072:
在步骤3071中,响应于第一二维平面点在第二视频帧中发生位移,跟随第一方形框在第一视频帧中对应的区域内容在第二视频帧中所处的目标区域。
可选地,AR客户端采用光流法(optic flow),在第二视频帧中检测第一方形框在第一视频帧中对应的区域内容,从而确定出该区域内容在第二视频帧中所处的目标区域。例如,在第一视频帧中,第一方形框对应的区域内容包括地面上的纸屑。则在第二视频帧中,AR客户端采用光流法,在第二视频帧中跟随第一方形框在第一视频帧中对应的区域内容,即在第二视频帧中跟随第一视频帧中的地面上的纸屑,从而确定出区域内容在第二视频帧中所处的目标区域。可选地,客户端还能够采用相关滤波跟随算法(KernelCorrelation Filter,KCF)和TLD(Tracking-Learning-Detection)算法,实现跟随第一方形框在第一视频帧中对应的区域内容在第二视频帧中所处的目标区域。可选地,当AR客户端显示的第一方形框中的区域内容出现缩放操作时,即相机移动位置,或用户进行缩放操作。AR客户端会跟随第一方形框,实现在第二视频帧中同步对第一方形框进行缩放得到第二方形框。
在步骤3072中,将目标区域的外边框确定为第二方形框。
步骤308、根据第二方形框在第二视频帧中确定与第一二维平面点对应的第二二维平面点。
可选地,AR客户端将第二方形框的中心确定为该第二二维平面点。该第二二维平面点用于AR客户端在第二视频帧中继续显示AR模型。
步骤309、根据第一边长与第二边长的比值以及第一深度,确定第二二维平面点在现实世界中对应的第二三维空间点的第二深度。
该第二深度用于反映第二三维空间点在相机坐标系下与相机坐标系的原点之间的距离。示例地,第二三维空间点的第二深度为:
其中s0为第一三维空间点的第一深度,w0为第一方形框的第一边长,w2为第二方形框的第二边长。
步骤310、根据第二二维平面点以及第二深度,再次执行确定位姿的步骤。
AR客户端根据确定出的第二二维平面点,再次执行确定位姿的步骤,能够确定出相机在采集第二视频帧时,在世界坐标系中的位姿。AR客户端从而能够在第二视频帧中的第二二维平面点继续显示第一视频帧中的AR模型。并且,AR客户端在确定采集第二视频帧之后的视频帧时的位姿时,将需要确认位姿的视频帧作为第二视频帧,将需要确认位姿的视频帧的前一个视频帧作为第一视频帧。AR客户端能够根据上述方法,继续确定相机在采集第二视频帧之后的视频帧时的位姿,并根据位姿显示AR模型。
示例地,第二三维空间点在相机坐标系下的第二坐标为:
P2=s2(K-1p2′),其中p2′为第二二维平面点的齐次坐标形式。
C2表示相机采集第二视频帧时的相机坐标系,W表示世界坐标系。相机的第二姿态信息为R2,该第二姿态信息是AR客户端通过IMU在相机采集第二视频帧时获取到的。相机在世界坐标系中的位姿为:
综上所述,本申请实施例提供的位姿确定方法,根据相机在采集第一视频帧时的第一姿态信息,以及第一视频帧中的第一二维平面点在现实世界中对应的第一三维空间点在相机坐标系中的第一坐标,能够确定出相机在世界坐标系中的位姿,从而能够根据该位姿在第一视频帧中显示AR模型。通过第一方形框在第一视频帧之后的第二视频帧中确定出与第一二维平面点对应的第二二维平面点,以及第二二维平面点在现实世界中对应的第二三维空间点的第二深度。根据该第二二维平面点以及第二深度同样能够确定出相机在世界坐标系中的位姿。在确定该位姿的过程中,无需移动计算机设备对***进行初始化,简化了确定位姿的过程,提升了确定位姿的时效性。
另外,通过VIO技术确定相机的位姿时,VIO技术需要通过加速度计的积分计算位姿中的位置,需要依赖高精度的IMU。使用本申请实施例提供的位姿确定方法,可以不要求高精度的IMU,扩大了兼容的计算机设备的范围,提升了设备覆盖率。通过VIO技术确定相机的位姿时,需要重建视频帧中的像素点,对计算机设备的性能要求较高,使用本申请实施例提供的位姿确定方法,计算资源主要消耗在跟随视频帧中的框,能够减少计算资源的消耗。本申请实施例提供的位姿确定方法是基于目标平面的,因此也能够将用户的手部作为目标平面,即显示的增强现实模型能够跟随用户的手部进行移动,提供了一种具有趣味性的交互方式。通过框确定第二二维平面点,能够实现在第二视频帧中自动继续显示增强现实模型,提升了用户体验。
需要说明的是,本申请实施例提供的方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
图8是本申请实施例提供的一种位姿确定装置的框图。该装置可以用于计算机设备或计算机设备上的AR客户端。如图8所示,该装置80包括:
第一确定模块801,用于在第一视频帧中确定第一二维平面点。第一二维平面点在目标水平面的显示区域内。目标水平面是现实世界中的三维水平面在第一视频帧中的成像内容。
获取模块802,关于获取相机在采集第一视频帧时的第一姿态信息。
第二确定模块803,用于确定第一二维平面点在现实世界中对应的第一三维空间点在相机的相机坐标系中的第一坐标。
第三确定模块804,用于根据第一姿态信息以及第一坐标,确定相机在世界坐标系中的位姿。世界坐标系的原点为第一三维空间点。
可选地,如图9所示,第一确定模块801,包括:
识别子模块8011,用于在第一视频帧中识别目标水平面。
确定子模块8012,用于响应于针对第一视频帧的触控操作,在目标水平面上确定出与触控操作的触控位置对应的第一二维平面点。
可选地,识别子模块8011,用于:
采用基于图的平面物体跟随算法在第一视频帧中确定出目标水平面。
可选地,确定子模块8012,用于:
响应于针对目标水平面的单击操作,将单击操作在目标水平面上的点击位置确定为第一二维平面点。
可选地,获取模块802,用于:
通过惯性测量单元,在相机采集第一视频帧时获取第一姿态信息。
可选地,第二确定模块803,用于:
根据第一姿态信息确定三维水平面的描述信息。描述信息用于反映三维水平面在相机坐标系中的姿态。
根据描述信息、第一二维平面点在第一视频帧中的二维位置、相机到目标水平面的距离以及相机的相机内参数,确定第一三维空间点的第一深度。第一深度用于反映第一三维空间点在相机坐标系下与相机坐标系的原点之间的距离。
根据第一深度、相机内参数以及二维位置,确定第一三维空间点在相机坐标系中的第一坐标。
可选地,如图10所示,装置80还包括:
建立模块805,用于响应于触控操作,以触控位置为中心建立第一方形框,第一方形框的边长为第一边长;
第四确定模块806,用于响应于第一二维平面点在第二视频帧中发生位移,确定第一方形框在第二视频帧中对应的第二方形框,第二方形框的边长为第二边长,第二视频帧为第一视频帧的后一个视频帧。
第五确定模块807,用于根据第二方形框在第二视频帧中确定与第一二维平面点对应的第二二维平面点;
第六确定模块808,用于根据第一边长与第二边长的比值以及第一深度,确定第二二维平面点在现实世界中对应的第二三维空间点的第二深度,第二深度用于反映第二三维空间点在相机坐标系下与相机坐标系的原点之间的距离;
执行模块809,用于根据第二二维平面点以及第二深度,再次执行确定位姿的步骤。
可选地,第四确定模块806,用于:
响应于第一二维平面点在第二视频帧中发生位移,跟随第一方形框在第一视频帧中对应的区域内容在第二视频帧中所处的目标区域;
将目标区域的外边框确定为第二方形框。
可选的,第五确定模块807,用于:
将第二方形框的中心确定为第二二维平面点。
可选地,第三确定模块804,用于:
根据第一姿态信息确定位姿中的姿态。
根据第一姿态信息以及第一坐标,确定位姿中的位置。
可选地,如图11所示,装置80还包括:
显示模块810,用于响应于触控操作触发的模型显示指令,根据位姿在第一二维平面点显示增强现实模型。
需要说明的是:上述实施例提供的位姿确定装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的位姿确定装置与位姿确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请的实施例还提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的位姿确定方法。
可选地,该计算机设备上安装有AR客户端,该计算机设备为终端。示例地,图12是本申请实施例提供的一种终端的结构示意图。
通常,终端1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、12核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的位姿确定方法。
在一些实施例中,终端1200还可选包括有:***设备接口1203和至少一个***设备。处理器1201、存储器1202和***设备接口1203之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1203相连。具体地,***设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207和电源1208中的至少一种。
***设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和***设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和***设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本申请实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端1200的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
电源1208用于为终端1200中的各个组件进行供电。电源1208可以是交流电、直流电、一次性电池或可充电电池。当电源1208包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1200还包括有一个或多个传感器1209。该一个或多个传感器1209包括但不限于:加速度传感器1210、陀螺仪传感器1211、压力传感器1212、光学传感器1213以及接近传感器1214。
加速度传感器1210可以检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1210可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1210采集的重力加速度信号,控制触摸显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1210还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1211可以检测终端1200的机体方向及转动角度,陀螺仪传感器1211可以与加速度传感器1210协同采集用户对终端1200的3D动作。处理器1201根据陀螺仪传感器1211采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1212可以设置在终端1200的侧边框和/或触摸显示屏1205的下层。当压力传感器1212设置在终端1200的侧边框时,可以检测用户对终端1200的握持信号,由处理器1201根据压力传感器1212采集的握持信号进行左右手识别或快捷操作。当压力传感器1212设置在触摸显示屏1205的下层时,由处理器1201根据用户对触摸显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1213用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1213采集的环境光强度,控制触摸显示屏1205的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1205的显示亮度;当环境光强度较低时,调低触摸显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1213采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1214,也称距离传感器,通常设置在终端1200的前面板。接近传感器1214用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1214检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制触摸显示屏1205从亮屏状态切换为息屏状态;当接近传感器1214检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制触摸显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例中还提供了一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,当该至少一条指令、至少一段程序、代码集或指令集由计算机设备的处理器加载并执行时,实现上述各方法实施例提供的位姿确定方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例提供的位姿确定方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的可读存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种位姿确定方法,其特征在于,所述方法包括:
在第一视频帧中确定第一二维平面点,所述第一二维平面点在目标水平面的显示区域内,所述目标水平面是现实世界中的三维水平面在所述第一视频帧中的成像内容;位姿用于描述相机的位置和姿态,所述位置是指所述相机在世界坐标系中的坐标,所述姿态指相机在所述世界坐标系中的朝向;
获取相机在采集所述第一视频帧时的第一姿态信息;
根据所述第一姿态信息确定所述三维水平面的描述信息,所述描述信息用于反映所述三维水平面在所述相机坐标系中的姿态;
根据所述描述信息、所述第一二维平面点在所述第一视频帧中的二维位置、所述相机到所述目标水平面的距离以及所述相机的相机内参数,确定第一三维空间点的第一深度,所述第一深度用于反映所述第一三维空间点在所述相机坐标系下与所述相机坐标系的原点之间的距离;所述第一三维空间点为所述第一二维平面点在所述现实世界中的对应点;
根据所述第一深度、所述相机内参数以及所述二维位置,确定所述第一三维空间点在所述相机坐标系中的第一坐标;
根据所述第一姿态信息以及所述第一坐标,确定所述位姿中的所述位置;
根据所述第一姿态信息确定所述位姿中的所述姿态;
响应于触控操作触发的模型显示指令,根据所述位姿在第一二维平面点显示增强现实模型;
其中,所述世界坐标系的原点为所述第一三维空间点。
2.根据权利要求1所述的方法,其特征在于,所述在第一视频帧中确定第一二维平面点,包括:
在所述第一视频帧中识别所述目标水平面;
响应于针对所述第一视频帧的触控操作,在所述目标水平面上确定出与所述触控操作的触控位置对应的所述第一二维平面点。
3.根据权利要求2所述的方法,其特征在于,所述响应于针对所述第一视频帧的触控操作,在所述目标水平面上确定出与所述触控操作的触控位置对应的所述第一二维平面点,包括:
响应于针对所述目标水平面的单击操作,将所述单击操作在所述目标水平面上的点击位置确定为所述第一二维平面点。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述触控操作,以触控位置为中心建立第一方形框,所述第一方形框的边长为第一边长;
响应于所述第一二维平面点在第二视频帧中发生位移,确定所述第一方形框在所述第二视频帧中对应的第二方形框,所述第二方形框的边长为第二边长,所述第二视频帧为所述第一视频帧的后一个视频帧;
根据所述第二方形框在所述第二视频帧中确定与所述第一二维平面点对应的第二二维平面点;
根据所述第一边长与所述第二边长的比值以及所述第一深度,确定所述第二二维平面点在所述现实世界中对应的第二三维空间点的第二深度,所述第二深度用于反映所述第二三维空间点在所述相机坐标系下与所述相机坐标系的原点之间的距离;
根据所述第二二维平面点以及所述第二深度,再次执行确定所述位姿的步骤。
5.根据权利要求4所述的方法,其特征在于,所述响应于所述第一二维平面点在第二视频帧中发生位移,确定所述第一方形框在所述第二视频帧中对应的第二方形框,包括:
响应于所述第一二维平面点在所述第二视频帧中发生位移,跟随所述第一方形框在所述第一视频帧中对应的区域内容在所述第二视频帧中所处的目标区域;
将所述目标区域的外边框确定为所述第二方形框。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二方形框在所述第二视频帧中确定与所述第一二维平面点对应的第二二维平面点,包括:
将所述第二方形框的中心确定为所述第二二维平面点。
7.一种位姿确定装置,其特征在于,所述装置包括:
第一确定模块,用于在第一视频帧中确定第一二维平面点,所述第一二维平面点在目标水平面的显示区域内,所述目标水平面是现实世界中的三维水平面在所述第一视频帧中的成像内容;位姿用于描述相机的位置和姿态,所述位置是指所述相机在世界坐标系中的坐标,所述姿态指相机在所述世界坐标系中的朝向;
获取模块,关于获取相机在采集所述第一视频帧时的第一姿态信息;
第二确定模块,用于根据所述第一姿态信息确定所述三维水平面的描述信息,所述描述信息用于反映所述三维水平面在所述相机坐标系中的姿态;根据所述描述信息、所述第一二维平面点在所述第一视频帧中的二维位置、所述相机到所述目标水平面的距离以及所述相机的相机内参数,确定第一三维空间点的第一深度,所述第一深度用于反映所述第一三维空间点在所述相机坐标系下与所述相机坐标系的原点之间的距离;所述第一三维空间点为所述第一二维平面点在所述现实世界中的对应点;根据所述第一深度、所述相机内参数以及所述二维位置,确定所述第一三维空间点在所述相机坐标系中的第一坐标;
第三确定模块,用于根据所述第一姿态信息以及所述第一坐标,确定所述位姿中的所述位置;根据所述第一姿态信息确定所述位姿中的所述姿态;
显示模块,用于响应于触控操作触发的模型显示指令,根据所述位姿在第一二维平面点显示增强现实模型;
其中,所述世界坐标系的原点为所述第一三维空间点。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至6任一所述的位姿确定方法。
9.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至6任一所述的位姿确定方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779847.XA CN111768454B (zh) | 2020-08-05 | 2020-08-05 | 位姿确定方法、装置、设备及存储介质 |
EP21853854.4A EP4109404A4 (en) | 2020-08-05 | 2021-06-18 | METHOD AND DEVICE FOR ATTITUDE DETERMINATION AND ELECTRONIC DEVICE AND STORAGE MEDIUM |
PCT/CN2021/101028 WO2022028129A1 (zh) | 2020-08-05 | 2021-06-18 | 位姿确定方法、装置、电子设备及存储介质 |
US17/891,996 US20220398767A1 (en) | 2020-08-05 | 2022-08-19 | Pose determining method and apparatus, electronic device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010779847.XA CN111768454B (zh) | 2020-08-05 | 2020-08-05 | 位姿确定方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111768454A CN111768454A (zh) | 2020-10-13 |
CN111768454B true CN111768454B (zh) | 2023-12-22 |
Family
ID=72729650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010779847.XA Active CN111768454B (zh) | 2020-08-05 | 2020-08-05 | 位姿确定方法、装置、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220398767A1 (zh) |
EP (1) | EP4109404A4 (zh) |
CN (1) | CN111768454B (zh) |
WO (1) | WO2022028129A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111768454B (zh) * | 2020-08-05 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 位姿确定方法、装置、设备及存储介质 |
CN112669381B (zh) * | 2020-12-28 | 2021-09-21 | 北京达佳互联信息技术有限公司 | 一种位姿确定方法、装置、电子设备及存储介质 |
CN112887793B (zh) * | 2021-01-25 | 2023-06-13 | 脸萌有限公司 | 视频处理方法、显示设备和存储介质 |
CN113689484B (zh) * | 2021-08-25 | 2022-07-15 | 北京三快在线科技有限公司 | 深度信息的确定方法、装置、终端及存储介质 |
CN115690194B (zh) * | 2022-10-17 | 2023-09-19 | 广州赤兔宸行科技有限公司 | 一种车载xr设备定位方法、装置、设备及存储介质 |
CN116758157B (zh) * | 2023-06-14 | 2024-01-30 | 深圳市华赛睿飞智能科技有限公司 | 一种无人机室内三维空间测绘方法、***及存储介质 |
CN117033862A (zh) * | 2023-10-08 | 2023-11-10 | 西安道达天际信息技术有限公司 | 地理坐标转换为ar坐标的转换方法、***及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361575A (zh) * | 2014-10-20 | 2015-02-18 | 湖南戍融智能科技有限公司 | 深度图像中的自动地面检测及摄像机相对位姿估计方法 |
CN110057352A (zh) * | 2018-01-19 | 2019-07-26 | 北京图森未来科技有限公司 | 一种相机姿态角确定方法及装置 |
CN110599605A (zh) * | 2019-09-10 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 图像处理方法及装置、电子设备和计算机可读存储介质 |
CN111464749A (zh) * | 2020-05-07 | 2020-07-28 | 广州酷狗计算机科技有限公司 | 进行图像合成的方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109215077B (zh) * | 2017-07-07 | 2022-12-06 | 腾讯科技(深圳)有限公司 | 一种相机姿态信息确定的方法及相关装置 |
CN111768454B (zh) * | 2020-08-05 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 位姿确定方法、装置、设备及存储介质 |
-
2020
- 2020-08-05 CN CN202010779847.XA patent/CN111768454B/zh active Active
-
2021
- 2021-06-18 EP EP21853854.4A patent/EP4109404A4/en active Pending
- 2021-06-18 WO PCT/CN2021/101028 patent/WO2022028129A1/zh unknown
-
2022
- 2022-08-19 US US17/891,996 patent/US20220398767A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361575A (zh) * | 2014-10-20 | 2015-02-18 | 湖南戍融智能科技有限公司 | 深度图像中的自动地面检测及摄像机相对位姿估计方法 |
CN110057352A (zh) * | 2018-01-19 | 2019-07-26 | 北京图森未来科技有限公司 | 一种相机姿态角确定方法及装置 |
CN110599605A (zh) * | 2019-09-10 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 图像处理方法及装置、电子设备和计算机可读存储介质 |
CN111464749A (zh) * | 2020-05-07 | 2020-07-28 | 广州酷狗计算机科技有限公司 | 进行图像合成的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4109404A4 (en) | 2023-10-11 |
WO2022028129A1 (zh) | 2022-02-10 |
US20220398767A1 (en) | 2022-12-15 |
CN111768454A (zh) | 2020-10-13 |
EP4109404A1 (en) | 2022-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111768454B (zh) | 位姿确定方法、装置、设备及存储介质 | |
US11205282B2 (en) | Relocalization method and apparatus in camera pose tracking process and storage medium | |
CN108682036B (zh) | 位姿确定方法、装置及存储介质 | |
JP7305249B2 (ja) | 画像特徴点の動き情報の決定方法、タスク実行方法およびデバイス | |
CN110148178B (zh) | 相机定位方法、装置、终端及存储介质 | |
CN110986930B (zh) | 设备定位方法、装置、电子设备及存储介质 | |
CN109166150B (zh) | 获取位姿的方法、装置存储介质 | |
CN109886208B (zh) | 物体检测的方法、装置、计算机设备及存储介质 | |
CN111897429A (zh) | 图像显示方法、装置、计算机设备及存储介质 | |
CN111256676A (zh) | 移动机器人定位方法、装置和计算机可读存储介质 | |
CN114092655A (zh) | 构建地图的方法、装置、设备及存储介质 | |
CN113384880A (zh) | 虚拟场景显示方法、装置、计算机设备及存储介质 | |
WO2022199102A1 (zh) | 图像处理方法及装置 | |
CN111385525B (zh) | 视频监控方法、装置、终端及*** | |
CN111928861B (zh) | 地图构建方法及装置 | |
CN111784841B (zh) | 重建三维图像的方法、装置、电子设备及介质 | |
CN111179628B (zh) | 自动驾驶车辆的定位方法、装置、电子设备及存储介质 | |
CN113824902B (zh) | 红外摄像机***时延确定方法、装置、***、设备及介质 | |
CN112241987A (zh) | 确定防区的***、方法、装置及存储介质 | |
CN111369684B (zh) | 目标跟踪方法、装置、设备及存储介质 | |
CN113592874B (zh) | 图像显示方法、装置和计算机设备 | |
CN112243083B (zh) | 抓拍方法、装置及计算机存储介质 | |
CN110443841B (zh) | 地面深度的测量方法、装置及*** | |
CN111583339A (zh) | 获取目标位置的方法、装置、电子设备及介质 | |
CN113689484B (zh) | 深度信息的确定方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030631 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |