CN110152293B - 操控对象的定位方法及装置、游戏对象的定位方法及装置 - Google Patents
操控对象的定位方法及装置、游戏对象的定位方法及装置 Download PDFInfo
- Publication number
- CN110152293B CN110152293B CN201810149843.6A CN201810149843A CN110152293B CN 110152293 B CN110152293 B CN 110152293B CN 201810149843 A CN201810149843 A CN 201810149843A CN 110152293 B CN110152293 B CN 110152293B
- Authority
- CN
- China
- Prior art keywords
- scene
- frame
- image
- luminosity
- 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 121
- 230000033001 locomotion Effects 0.000 claims abstract description 99
- 238000003384 imaging method Methods 0.000 claims abstract description 87
- 230000008859 change Effects 0.000 claims description 39
- 239000011159 matrix material Substances 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 26
- 230000000875 corresponding effect Effects 0.000 claims description 22
- 238000005286 illumination Methods 0.000 claims description 17
- 238000013519 translation Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 3
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 93
- 238000010586 diagram Methods 0.000 description 27
- 238000013473 artificial intelligence Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 238000010408 sweeping Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping 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
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种操控对象的定位方法及装置、游戏对象的定位方法及装置,属于互联网信息处理领域。所述方法包括:获取连续的多帧场景图像;确定该多帧场景图像中,每相邻两帧场景图像的光度误差模型,该光度误差模型基于多个光度差值建立,每个光度差值为该三维场景中的一个空间点分别在该相邻两帧场景图像中形成的成像点的光度的差值;根据每相邻两帧场景图像的光度误差模型,确定该操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型;根据该运动模型,确定该操控对象在该三维场景中所处的位置。由于该运动模型是基于两帧场景图像的光度误差模型确定的,该定位方法能较为精准的确定出操控对象的位置,有效提高了定位的精度。
Description
技术领域
本发明涉及互联网信息处理领域,特别涉及一种操控对象的定位方法及装置、游戏对象的定位方法及装置。
背景技术
在通过深度强化学习(Deep Q-Learning Network,DQN)算法训练游戏人工智能(Artificial Intelligence,AI)自动玩游戏时,需要实时获取该游戏AI的操控对象(即游戏主角)在游戏场景中的位置,以便根据该操控对象所处的位置,进一步规划其移动轨迹。
相关技术中,一般采用基于图像模板匹配的方式获取操控对象在游戏场景中的位置。该方法可以先确定游戏AI所选择的操控对象的头像,然后可以在游戏应用运行的过程中,实时获取游戏场景的地图(该地图一般为缩小后的全景地图),并可以将该操控对象的头像作为图像模板,对获取到的地图进行图像匹配,以确定该操控对象所处的位置。
但是,当游戏场景中的游戏对象较多时,其他游戏对象可能会对游戏AI的操控对象的头像产生遮挡,导致无法准确匹配到该操控对象的头像,影响定位的精度,并且由于获取到的地图为缩小后的全景地图,因此也会影响定位精度。
发明内容
本发明实施例提供了一种操控对象的定位方法及装置、游戏对象的定位方法及装置,可以解决相关技术中对操控对象进行定位时,定位精度较低的问题。所述技术方案如下:
一方面,提供了一种操控对象的定位方法,所述方法包括:
获取连续的多帧场景图像,每一帧所述场景图像为相机将操控对象所在三维场景投影至成像平面所形成的图像,其中,所述三维场景中的光照变化率小于预设阈值,所述相机与所述操控对象同步移动;
确定所述多帧场景图像中,每相邻两帧场景图像的光度误差模型,所述光度误差模型基于多个光度差值建立,每个光度差值为所述三维场景中的一个空间点分别在所述相邻两帧场景图像中形成的成像点的光度的差值;
根据每相邻两帧场景图像的光度误差模型,确定所述操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型;
根据所述运动模型,确定所述操控对象在所述三维场景中所处的位置。
另一方面,提供了一种游戏对象的定位方法,所述方法包括:
在游戏应用运行的过程中,获取连续的多帧游戏界面图像,每一帧所述游戏界面图像为相机将游戏对象所在三维游戏场景投影至成像平面所形成的图像,其中,所述三维游戏场景中的光照变化率小于预设阈值,所述相机与所述游戏对象同步移动;
确定所述多帧游戏界面图像中,每相邻两帧游戏界面图像的光度误差模型,所述光度误差模型基于多个光度差值建立,每个光度差值为所述游戏对象所在三维游戏场景中的一个空间点分别在所述相邻两帧游戏界面图像中形成的成像点的光度的差值;
根据每相邻两帧游戏界面图像的所述光度误差模型,确定所述游戏对象在每相邻两帧场景图像的获取时间间隔内的运动模型;
根据所述运动模型,确定所述游戏对象在所述三维游戏场景中所处的位置。
又一方面,提供了一种操控对象的定位装置,所述装置包括:
获取模块,用于获取连续的多帧场景图像,每一帧所述场景图像为相机将操控对象所在三维场景投影至成像平面所形成的图像,其中,所述三维场景中的光照变化率小于预设阈值,所述相机与所述操控对象同步移动;
第一确定模块,用于确定所述多帧场景图像中,每相邻两帧场景图像的光度误差模型,所述光度误差模型基于多个光度差值建立,每个光度差值为所述三维场景中的一个空间点分别在所述相邻两帧场景图像中形成的成像点的光度的差值;
第二确定模块,用于根据每相邻两帧场景图像的光度误差模型,确定所述操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型;
第三确定模块,用于根据所述运动模型,确定所述操控对象在所述三维场景中所处的位置。
再一方面,提供了一种游戏对象的定位装置,所述装置包括:
获取模块,用于在游戏应用运行的过程中,获取连续的多帧游戏界面图像,每一帧所述游戏界面图像为相机将游戏对象所在三维游戏场景投影至成像平面所形成的图像,其中,所述三维游戏场景中的光照变化率小于预设阈值,所述相机与所述游戏对象同步移动;
第一确定模块,用于确定所述多帧游戏界面图像中,每相邻两帧游戏界面图像的光度误差模型,所述光度误差模型基于多个光度差值建立,每个光度差值为所述游戏对象所在三维游戏场景中的一个空间点分别在所述相邻两帧游戏界面图像中形成的成像点的光度的差值;
第二确定模块,用于根据每相邻两帧游戏界面图像的所述光度误差模型,确定所述游戏对象在每相邻两帧场景图像的获取时间间隔内的运动模型;
第三确定模块,用于根据所述运动模型,确定所述游戏对象在所述三维游戏场景中所处的位置。
再一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面提供的操控对象的定位方法,或者游戏对象的定位方法。
再一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面提供的操控对象的定位方法,或者游戏对象的定位方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明公开了一种操控对象的定位方法及装置、游戏对象的定位方法及装置,对于的光照变化率小于预设阈值且相机可以与操控对象同步移动的三维场景,该定位方法可以通过每相邻两帧场景图像的光度误差模型,确定操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型,并根据该运动模型确定操控对象在该三维场景中的位置,由于该运动模型是基于两帧场景图像的光度误差模型确定的,而不是基于操控对象的头像等特征确定的,因此不论操控对象是否被遮挡,该定位方法都能较为精准的确定出该操控对象的位置,有效提高了定位的精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本发明实施例提供的操控对象的定位方法所涉及的一种实施环境的结构示意图;
图2本发明实施例提供的操控对象的定位方法所涉及的另一种实施环境的结构示意图;
图3是本发明实施例提供的一种操控对象所在三维场景与场景图像之间的投影关系示意图;
图4是本发明实施例提供的一种操控对象的定位方法的流程图;
图5是本发明实施例提供的另一种操控对象的定位方法的流程图;
图6是本发明实施例提供的一种对场景图像进行预处理的方法流程图;
图7是本发明实施例提供的一种游戏界面图像的示意图;
图8是本发明实施例提供的一种三维场景中的空间点在相邻两帧场景图像中的成像点的示意图;
图9是本发明实施例提供的一种游戏对象的定位方法的流程图;
图10A是本发明实施例提供的一种定位分析设备获取到的第一帧游戏界面图像的示意图;
图10B为定位分析设备对图10A所示的第一帧游戏界面图像进行初始化时的示意图;
图10C是本发明实施例提供的一种定位分析设备在游戏运行过程中,获取到的一帧游戏界面图像的示意图;
图10D是定位分析设备在图10C所示的游戏界面图像中所确定的多个用于计算光度差值的成像点的示意图;
图10E是本发明实施例提供的一种定位分析设备所确定的游戏对象的移动轨迹的示意图;
图10F是本发明实施例提供的一种定位分析设备在游戏运行过程中,获取到的另一帧游戏界面图像的示意图;
图10G是定位分析设备在图10F所示的游戏界面图像中所确定的多个用于计算光度差值的成像点的示意图;
图10H是本发明实施例提供的另一种定位分析设备所确定的游戏对象的移动轨迹的示意图;
图11A是本发明实施例提供的一种操控对象的定位装置的结构示意图;
图11B是本发明实施例提供的一种第一确定模块的结构示意图;
图11C是本发明实施例提供的另一种操控对象的定位装置的结构示意图;
图12是本发明实施例提供的一种游戏对象的定位装置的结构示意图;
图13是本发明实施例提供的一种终端的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
相关技术中,在通过DQN算法训练游戏AI自动玩游戏的过程中,除了可以基于图像模板匹配的方式定位操控对象的位置,还可以通过游戏开发方所提供的游戏接口获取操控对象的位置;或者还可以基于图像特征点的帧间运动估计,来定位操控对象的位置,该基于图像特征点的帧间运动估计,来定位操控对象的位置的过程包括:通过特征点提取和描述算法确定游戏界面图像中的特征点,然后采用特征点匹配的算法来估计每个特征点在两帧游戏界面图像之间的位移,并通过该位移估计得到操控对象的位置信息。
其中,通过游戏接口对操控对象进行定位的方法需要游戏开发方的配合,限制了DQN算法训练游戏AI时的应用场景,该方法的应用灵活性较差。基于图像特征点进行帧间运动估计的方法,由于游戏界面图像中的特征点较多,变化较大,难以准确匹配两帧游戏界面图像的特征点,该方法的定位精度较低。
请参考图1,其示出了本发明实施例提供的操控对象的定位方法所涉及的一种实施环境的结构示意图。该实施环境可以包括包括定位分析设备01,该定位分析设备01可以为终端,例如可以为智能手机、多媒体播放器或者计算机等,该终端中可以安装有游戏应用程序,游戏AI在控制操控对象玩游戏的过程中,终端可以实时获取游戏界面图像(例如可以通过截屏或者屏幕扫描等方式获取),并根据该游戏界面图像确定操控对象在三维游戏场景中的位置。或者,如图1所示,该实施环境中还可以包括录制设备02,该录制设备02可以为摄像机或者智能手机等具有视频录制功能的设备,该录制设备02与该定位分析设备01之间建立有通信连接,该录制设备02可以在定位分析设备01运行游戏应用的过程中,实时录制游戏界面图像,并将该游戏界面图像发送至定位分析设备01,以便该定位分析设备01可以根据该游戏界面图像确定操控对象在游戏场景中的位置。
图2是本发明实施例提供的操控对象的定位方法所涉及的另一种实施环境的结构示意图。该实施环境可以包括包括定位分析设备01和安装有游戏应用程序的终端03,该定位分析设备01可以为是一台计算机或者一台服务器,或者可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心,该终端03可以为智能手机、多媒体播放器或者计算机等,并且该定位分析设备01与该终端03之间建立有通信连接。该终端03在运行游戏应用的过程中,可以通过截屏的方式实时获取游戏界面图像,并将该游戏界面图像发送至定位分析设备01,以便定位分析设备01根据该游戏界面图像确定操控对象在三维游戏场景中的位置。或者,该实施环境中也可以包括录制设备02,该录制设备02可以为摄像机或者智能手机等具有视频录制功能的设备,该录制设备02可以在终端03运行游戏应用的过程中,实时录制游戏界面图像,并将该游戏界面图像发送至定位分析设备01。
此外,本发明实施例提供的操控对象的定位方法,除了可以对游戏AI所操控的游戏对象在游戏场景中的位置进行定位,还可以对应用即时定位与地图构建(simultaneouslocalization and mapping,SLAM)算法的机器人进行定位,例如可以对扫地机器人在其工作场景中的位置进行定位,以便规划其移动轨迹。也即是,该操控对象可以为扫地机器人。相应的,如图1所示,该操控对象的定位方法所涉及的实施环境中需要设置有录制设备02,该录制设备02可以采集扫地机器人所在三维场景中的图像,并将该图像发送至定位分析设备01。并且,该录制设备02可以设置在扫地机器人上,能够随扫地机器人同步移动。
图3是本发明实施例提供的一种操控对象所在三维场景与场景图像之间的投影关系示意图。操控对象所在的三维场景中的任一空间点P0的位置可以以世界坐标系中的坐标来确定。相机在采集该三维场景的图像,将该三维场景投影至成像平面00,以形成场景图像时,该三维场景中的任一空间点P0的位置又可以以相机坐标系中的坐标来确定。如图3所示,该相机坐标系是以相机的光心OC为原点的三维坐标系。其中,若该每一帧场景图像为录制设备采集到的真实空间的场景图像,则该相机即为该录制设备,且该录制设备可以设置在操控对象上,能够与该操控对象同步移动;若该每一帧场景图像为录制设备或者定位分析设备获取的虚拟三维场景(例如游戏场景)的图像,则该相机可以为该虚拟三维场景中的虚拟相机,且该虚拟相机可以与操控对象同步移动。
在本发明实施例中,定位分析设备所获取到的每一帧场景图像即为该相机在成像平面00所形成的图像,即该每一帧场景图像是基于机器视觉原理获取到的。该成像平面00的坐标系可以称为图像坐标系,该图像坐标系可以是以主点O为原点的二维坐标系,该主点O为相机主轴Zc与成像区域00的交点,且该图像坐标系的度量单位为毫米。进一步的,为了便于对场景图像进行分析,还可以定义场景图像所在的坐标系为像素坐标系,该像素坐标系可以是以场景图像中的指定点为原点的二维坐标系,如图3所示,该指定点通常为场景图像左上角的像素O0,且该像素坐标系的度量单位为像素。从图3还可以看出,该图像坐标系的x轴、该像素坐标系的u轴以及该相机坐标系的XC轴均相互平行,该图像坐标系的y轴、该像素坐标系的v轴以及该相机坐标系的YC轴均相互平行。如图3所示,三维场景中的任一空间点P0与三维坐标系原点OC之间的连线会穿过成像区域00,该连线与该成像区域00的交点p即为该空间点P0在成像区域的成像点。
需要说明的是,由于本发明实施例提供的操控对象的定位方法是基于两帧场景图像的光度误差(photometric error)来确定操控对象的位置的,因此需要保证该操控对象所在的三维场景中的光照变化率小于预设阈值(该预设阈值可以为预先根据经验确定的固定值),即该三维场景中的光照变化率较小,或者该三维场景中不存在动态光照,由此可以保证该三维场景中每个空间点在任一帧场景图像上的成像点的光度变化率也较小。
图4是本发明实施例提供的一种操控对象的定位方法的流程图,该方法可以应用于图1或图2所示的定位分析设备01中,参考图4,该方法可以包括:
步骤101、获取连续的多帧场景图像。
在本发明实施例中,定位分析设备可以获取录制设备采集的连续的多帧场景图像,或者该定位分析设备中可以安装有图像采集程序,定位分析设备可以直接通过该图像采集程序获取连续的多帧场景图像。如前文所述,该每一帧场景图像可以为三维场景中的相机将该三维场景投影至成像平面所形成的图像。
步骤102、确定该多帧场景图像中,每相邻两帧场景图像的光度误差模型。
该光度误差模型可以是基于多个光度差值建立的。该操控对象所在三维场景中的一个空间点可以在每一帧场景图像中形成一个成像点,每个成像点为该场景图像中的一个像素,每个光度差值即为该三维场景中的一个空间点分别在该两帧场景图像中形成的成像点的光度的差值。对于YUV格式的场景图像,可以用像素的亮度衡量成像点的光度,对于红绿蓝(RGB)格式的场景图像,可以用像素的灰度来衡量成像点的光度。
可选的,该定位分析设备可以预先获取每一帧场景图像中各个像素的光度,进而可以确定该三维场景中的任一空间点在第一帧场景图像中的第一成像点(即第一帧场景图像中的一个像素)的光度,以及该任一空间点在第二帧场景图像中的第二成像点(即第二帧场景图像中的一个像素)的光度,该第一成像点的光度与第二成像点的光度的差值即为该任一空间点对应的光度差值。
进一步的,定位分析设备获取到多个光度差值后,可以将该多个光度差值的平方和确定为该光度误差模型,或者也可以先计算每个光度差值的绝对值,然后将各个光度差值的绝对值之和确定为该光度误差模型,本发明实施例对此不做限定。
步骤103、根据每相邻两帧场景图像的光度误差模型,确定操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型。
在本发明实施例中,由于该光度误差模型是基于多个光度差值建立的,而每个光度差值为两帧图像中对应于三维场景中同一空间点的成像点的光度的差值,由于在三维场景中的光照变化率小于预设阈值的前提下,两帧图像中对应于三维场景中同一空间点的成像点的光度应该相等或者接近,也即是,三维空间中每个空间点对应的光度差值应当接近于0。因此,定位分析设备可以根据光度差值的该特性,确定该三维场景中任一空间点分别在两帧图像中形成的成像点的相对位置关系,进而可以确定该操控对象在该三维场景中的运动模型,并且,该运动模型可以为该操控对象在两帧场景图像的获取时间间隔的运动模型。
步骤104、根据该运动模型,确定操控对象在该三维场景中所处的位置。
定位分析设备确定操控对象的运动模型之后,可以根据该操控对象在该三维场景中的初始位置,以及该操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型,实时确定该操控对象在该三维场景中所处的位置。
在本发明实施例中,定位分析设备可以在获取到第一帧场景图像之后,以该操控对象在该第一帧场景图像的获取时刻所处的初始位置为原点,构建三维运动坐标系,该三维运动坐标系可以用于描述该操控对象的运动轨迹。相应的,定位分析设备可以确定该操控对象在该三维场景的初始位置的坐标为(0,0,0)。之后,该定位分析设备即可在该操控对象在三维场景中移动的过程中,实时获取每一帧场景图像,并基于每相邻两帧场景图像,确定该操控对象在该相邻两帧场景图像的获取时间间隔内的运动模型,进而可以实时确定该操控对象在该三维场景中所处的位置,并且该位置可以采用该定位分析设备所构建的三维运动坐标系中的坐标来描述。
综上所述,本发明实施例提供了一种操控对象的定位方法,该方法通过每相邻两帧场景图像的光度误差模型,确定操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型,并根据该运动模型确定操控对象的位置,由于该运动模型是基于两帧场景图像的光度误差模型确定的,而不是基于操控对象的特征确定的,因此不论操控对象是否被遮挡,本发明实施例提供的定位方法都能较为精准的确定出该操控对象的位置,有效提高了定位的精度。
并且,本发明实施例提供的定位方法可以基于光度误差模型确定操控对象的运动模型,由于该光度误差模型的确定需要比较相邻两帧场景图像中多个像素的光度的差值,对于光照变化较小的三维场景,例如游戏场景,尤其是多人在线战术竞技(MultiplayerOnline Battle Arena,MOBA)类游戏,可以获得较好的定位效果。而且由于该光度误差模型考虑了场景图像整个画面的光度变化,因此本发明实施例提供的定位方法相比于基于图像特征点的帧间运动估计方法,其抗干扰能力更强。此外,由于本发明实施例提供的方法不依赖于游戏开发方提供的游戏接口,其应用灵活性更高。
图5是本发明实施例提供的另一种操控对象的定位方法的流程图,该方法可以应用于图1或图2所示的定位分析设备01中,参考图5,该方法可以包括:
步骤201、获取连续的多帧场景图像。
在本发明实施例中,一方面,定位分析设备可以与录制设备建立有通信连接,并可以获取该录制设备采集的连续的多帧场景图像;另一方面,当该操控对象为游戏对象,且该定位分析设备中安装有游戏应用时,则该定位分析设备中还可以安装有图像采集程序,该定位分析设备可以在运行游戏应用的过程中,直接通过该图像采集程序实时采集游戏对象所在的三维游戏场景的图像。其中,该图像采集程序可以为截屏程序,则定位分析设备可以在运行游戏应用的过程中,通过截屏的方式获取连续的多帧场景图像。
示例的,假设该定位分析设备为智能手机,该智能手机中安装有游戏应用,则在游戏AI控制游戏对象玩游戏的过程中,智能手机可以通过截屏程序实时截取游戏界面图像。
需要说明的是,在本发明实施例中,该定位分析设备可以根据预先设置的固定帧率采集场景图像;或者,该定位分析设备也可以在采集到连续的若干帧场景图像后,检测该若干帧场景图像的变化程度,并根据该变化程度确定图像获取帧率,之后可以按照该图像获取帧率,获取场景图像;其中,该图像获取帧率与该若干帧场景图像的变化程度正相关,也即是该若干帧场景图像的变化程度越高,图像获取帧率也越高,该定位分析设备每秒钟获取到的场景图像的帧数也越多。根据该若干帧场景图像的变化程度动态调整图像获取帧率,可以在保证定位精度的前提下,有效降低运算量。
示例的,若该场景图像为游戏场景的图像,则该若干帧场景图像的变化程度可以反映出该游戏场景中各个对象的移动速度或者变化速度,因此当游戏场景中各个对象的移动速度或者变化速度较慢时,定位分析设备可以以较低的图像获取帧率获取游戏界面图像,以降低运算量。
步骤202、对每一帧场景图像进行预处理。
其中,该预处理可以包括:裁剪、灰度图转换和畸变校正中的至少一种。并且,该定位分析设备可以采用开源计算机视觉库(Open Source Computer Vision Library,OpenCV)对该每一帧场景图像进行预处理。
可选的,如图6所示,该定位分析设备对每一帧场景图像进行预处理的过程具体可以包括:
步骤2021、按照预设的裁剪尺寸,对每一帧场景图像进行裁剪。
由于定位分析设备实际所获取到的场景图像中,可能存在与操控对象帧间运动无关的图像部分,因此为了降低计算光度差值时的运算量,定位分析设备可以按照预设的裁剪尺寸,对每一帧场景图像中与操控对象帧间运动无关的图像部分进行裁剪。
其中,该预设的裁剪尺寸可以为定位分析设备中预先设置的固定尺寸,或者在定位分析设备获取到第一帧场景图像后,可以由开发人员对该第一帧场景图像进行分析,识别出该场景图像中与操控对象帧间运动无关的图像部分所处的位置,进而确定该裁剪尺寸,以使得定位分析设备可以根据该裁剪尺寸,对后续获取到的每一帧场景图像进行裁剪。
示例的,假设该定位分析设备获取到的场景图像为通过截屏的方式获取到的游戏界面图像,则由于该游戏界面图像的四周可以显示有玩家的操作按钮、小地图信息或角色信息等与三维游戏场景无关的图像部分,因此开发人员在定位分析设备获取到第一帧游戏界面图像后,可以先确定出该游戏界面图像中与三维游戏场景无关的图像部分所处的位置。如图7所示,若该第一帧游戏界面图像10中,与操控对象帧间运动无关的图像部分11位于该第一帧游戏界面图像10的左右两侧,且左侧的图像部分所占的宽度d1与该第一帧游戏界面图像10的总宽度d0的比值为1/6,右侧的图像部分所占的宽度d2与该第一帧游戏界面图像10的总宽度d0的比值为1/7,则开发人员可以确定该裁剪尺寸为:每一帧游戏界面图像左侧1/6的部分,以及右侧1/7的部分。定位分析设备后续获取到的每一帧场景图像后,可以将每一帧游戏界面图像左侧1/6的部分,以及右侧1/7的部分裁剪掉。
需要说明的是,由于在本发明实施例中,相机(包括真实三维空间中的录制设备以及虚拟游戏场景中的虚拟相机)的位置是随着操控对象同步移动的,因此在定位分析设备所获取到的每一帧场景图像中,该操控对象的显示区域是固定不变的,一般位于场景图像的中央。也即是,在每相邻两帧场景图像中,操控对象的位置变化是通过其周围场景的变化体现出来的,因此定位分析设备在对每一帧场景图像进行裁剪时,还可以将每一帧场景图像中操控对象的显示区域裁减掉,以保证计算光度差值时的准确度。
步骤2022、将裁剪后的每一帧场景图像转换为灰度图。
由于定位分析设备获取到的场景图像一般为红绿蓝(RGB)格式的图像,光度计算无需RGB格式的图像,而灰度图像可以保留图像中大部分的光度信息,因此定位分析设备可以将裁剪后的场景图像转换为灰度图像,以进一步减小计算光度差值时的运算量。
步骤2023、根据预设的校正算法,对转换为灰度图后的每一帧场景图像进行畸变校正。
在本发明实施例中,当该定位分析设备获取到的场景图像为录制设备采集的时,由于该录制设备采集到的图像可能存在畸变,因此为了保证定位的精度,定位分析设备可以根据预设的校正算法对该每一帧场景图像进行畸变校正。具体的,定位分析设备中可以预先存储有录制设备的镜头内参,并可以根据该镜头内参,对每一帧场景图像进行畸变校正。该具体的校正过程可以参考相关技术,本发明实施例对此不做赘述。
需要说明的是,上述对每一帧场景图像进行预处理的方法的步骤的执行顺序可以根据情况进行调整,步骤也可以根据情况进行删除,例如,当该场景图像为YUV格式的图像时,步骤2022可以删除,当该每一帧场景图像是定位分析设备通过截屏的方式获取到的时,由于该获取到的场景图像不存在畸变,因此步骤2023可以删除。
步骤203、对于每相邻两帧场景图像,分别确定第一投影模型和第二投影模型。
其中,该第一投影模型为在第一帧场景图像的获取时刻,任一帧场景图像所在的像素坐标系与三维场景中任一空间点之间的第一投影模型,第二投影模型为在第二帧场景图像的获取时刻,该像素坐标系与该三维场景中任一空间点之间的第二投影模型。
当操控对象在三维场景中移动时,该三维场景中的相机(录制设备或者虚拟相机)也会随着操控对象同步移动,此时该相机的光心的位置也会随之发生变化。参考图3可知,当相机的光心的位置随着操控对象的移动发生变化时,三维场景中的空间点在世界坐标系中的坐标不变,但该空间点所处的相机坐标系会发生变化,相应的,该空间点在成像平面00上的成像点位置也会发生变化,且该成像点的位移与该相机的位移(即操控对象的位移)相同。
因此在本发明实施例中,对于每相邻两帧场景图像,定位分析设备通过分别确定场景图像所在的像素坐标系与三维场景中任一空间点之间的第一投影模型和第二投影模型,即可根据该两个投影模型之间的转换关系,确定出相机的运动模型,也即是操控对象的运动模型。根据图3所示的投影关系,定位分析设备可以确定该第一投影模型满足:
该第二投影模型可以满足:
上述公式(1)和公式(2)中,K为预设的相机内参矩阵,结合图8可以看出,p1为该三维场景中坐标为P(该坐标P为世界坐标系中的坐标)的空间点在该第一帧场景图像001中的成像点的像素坐标,且该坐标P可以以三维列向量的形式指示世界坐标系中三个坐标轴的坐标值;p2为该三维场景中坐标为P的空间点在该第二帧场景图像002中的成像点的像素坐标,并且p1和p2中的每个像素坐标可以通过二维列向量的形式指示像素坐标系中u轴的坐标值以及v轴的坐标值;Z1为该坐标为P的空间点在第一相机坐标系的深度坐标值,Z2为该坐标为P的空间点在第二相机坐标系的深度坐标值,该第一相机坐标系为三维场景在第一帧场景图像的获取时刻所处的相机坐标系,该第二相机坐标系为该三维场景在第二帧场景图像的获取时刻所处的相机坐标系。
R为该操控对象在两帧场景图像的获取时间间隔内旋转矩阵,该旋转矩阵R可以为3×3的矩阵,且该旋转矩阵R可以用于指示该操控对象在该三维场景中,绕世界坐标系的各个坐标轴旋转的角度;t为该操控对象在两帧场景图像的获取时间间隔内的平移向量,该平移向量t可以为三维的列向量,且该平移向量t可以用于指示该操控对象在该三维场景中,沿世界坐标系的各个坐标轴平移的距离。由于三维场景中,相机是随着操控对象同步移动的,因此该旋转矩阵R和平移向量t即可反映该相机在该两帧场景图像的获取时间间隔内的位姿变换。
D为坐标转换矩阵,且D满足:上述公式(1)和公式(2)中,p1和p2也可以称为该坐标为P的空间点在该两帧场景图像中的非齐次像素坐标,因此该坐标转换矩阵D也可以称为齐次坐标到非齐次坐标的转换矩阵。该相机内参矩阵K可以满足:fx和fy分别为操控对象位于初始位置时,三维空间中的相机的水平焦距和垂直焦距,u0和v0分别为主点在像素坐标系内的水平坐标和垂直坐标,该主点为相机主轴与成像区域的交点。
对比上述公式(1)和公式(2),以及结合图8可以看出,对于三维场景中坐标为P的同一空间点,若在两帧场景图像的获取时间间隔内,相机的位置随着操控对象发生了改变,且该位置变换可以由旋转矩阵R和平移向量t指示,则该坐标为P的空间点在两帧场景图像上形成的成像点的像素坐标也会发生改变,但该坐标为P的空间点在两帧场景图像上形成的成像点的光度应当相等。
由于定位分析设备在计算每相邻两帧场景图像的光度误差模型时,是为了确定操控对象在该两帧场景图像的获取时间间隔内的运动模型,因此可以无需考虑该相邻两帧场景图像中,第一帧场景图像与前一帧场景图像之间操控对象的位移;相应的,在上述公式(1)所示的第一投影模型中,可以设置该旋转矩阵R为3×3的单位矩阵,即该操控对象在第一帧场景图像与前一帧场景图像的获取时间间隔内没有旋转,并设置该平移向量t为0矩阵,即该操控对象在第一帧场景图像与前一帧场景图像的获取时间间隔内没有平移。
步骤204、根据该第一投影模型、该第二投影模型、该第一帧场景图像中各个像素的光度以及该第二帧场景图像中各个像素的光度,确定三维场景的多个目标空间点中,每个目标空间点分别在两帧场景图像中形成的成像点的光度差值,得到该多个目标空间点对应的光度差值。
在本发明实施例中,定位分析设备可以预先在该操控对象所在的三维场景中确定多个空间点,例如可以在该三维场景中随机确定多个空间点,或者可以在该三维场景中的各个区域均匀选取多个空间点,又或者,还可以根据场景图像的梯度在该三维场景中确定该多个空间点,例如可以在梯度较大的区域确定较多的空间点,在梯度较小的区域确定较少的空间点。并且,该确定的空间点的个数可以大于每一帧场景图像所包括的像素个数。
进一步的,作为一种可选的实现方式,定位分析设备可以直接将该多个空间点均确定为目标空间点。
作为另一种可选的实现方式,定位分析设备也可以分别计算该多个空间点中,每个空间点在第一相机坐标系内的第一深度坐标值,以及在第二相机坐标系内的第二深度坐标值,并可以将该多个空间点中,第一深度坐标值和第二深度坐标值均收敛的空间点确定为目标空间点。也即是,该目标空间点可以为三维场景中,在该第一帧场景图像和第二帧场景图像中均具有成像点的空间点。
若该定位分析设备确定了N个目标空间点,则该三维场景的N个目标空间点中,第i个目标空间点分别在两帧场景图像中形成的成像点的光度差值ei可以满足:ei=I1(p1,i)-I2(p2,i)。
其中,p1,i为该N个目标点中第i个目标点在第一帧场景图像中的第一成像点的像素坐标,I1(p1,i)为该第一成像点的灰度,p2,i为该第i个目标点在该第二帧场景图像中的第二成像点的像素坐标,I2(p2,i)为该第二成像点的灰度,N为大于1的整数,i为不大于N的正整数。
需要说明的是,对于其他格式的图像,I1(p1,i)和I2(p2,i)也可以分别为该其他格式的图像中,能够用于指示第一成像点和第二成像点的光度的参数。例如,若该场景图像为YUV格式的图像,则I1(p1,i)和I2(p2,i)也可以分别为该第一成像点和第二成像点的亮度,本发明实施例对该I1(p1,i)和I2(p2,i)所指示的参数类型不做限定。
步骤205、基于该多个目标空间点对应的光度差值,确定该光度误差模型。
在本发明实施例中,该光度误差模型e可以满足:其中,T表示转置,即该光度误差模型可以为N个光度差值的二范数。由于每个光度差值实际为一个一维向量,即每个光度差值为一个标量,因此该光度误差模型也可以是指该N个光度差值的平方和。
可选的,该光度误差模型还可以为各个光度差值的绝对值之和,即只要该光度误差模型能够反映相邻的两帧图像的整体光度误差即可,本发明实施例对此不做限定。
步骤206、在该光度误差模型的取值最小时,确定该第二投影模型与该第一投影模型之间的转换矩阵,将该转换矩阵确定为该运动模型。
由于在本发明实施例中,操控对象所在的三维场景中的光照变化率小于预设阈值,每相邻两帧图像中对应于三维场景中同一空间点的成像点的光度应该相等或者接近,即每个空间点对应的光度差值应当接近于0。因此在该光度误差模型的取值最小时,可以确定该光度误差模型中,每个光度差值均是基于同一个目标空间点在两帧场景图像中的成像点计算得到的,此时可以确定第二投影模型与第一投影模型之间的转换矩阵即为该操控对象在两帧场景图像的获取时间间隔内的运动模型。
其中,argmin表示光度误差模型e取值最小时的自变量R和t的取值。在本发明实施例中,定位分析设备在求解如上述公式(3)所示的无约束最优化问题时,可以采用开源的非线性优化库通用图优化算法(General Graph Optimization,g2o)来进行求解,并且在该求解过程中,可以采用李代数求导算法进行求解。
步骤207、根据该运动模型,确定操控对象在该三维场景中所处的位置。
在本发明实施例中,定位分析设备可以在获取到第一帧场景图像时,以该操控对象所在的初始位置为原点,构建三维运动坐标系,该三维运动坐标系用于描述该操控对象的运动轨迹。相应的,定位分析设备可以确定该操控对象的初始位置的坐标为(0,0,0)。之后,该定位分析设备即可在该操控对象在三维场景中移动的过程中,实时获取每一帧场景图像,并基于每相邻两帧场景图像,确定该操控对象在该相邻两帧场景图像的获取时间间隔内的运动模型,进而可以实时确定该操控对象在该三维场景中所处的位置,并且该位置可以采用该定位分析设备所构建的三维运动坐标系中的坐标来描述。
综上所述,本发明实施例提供了一种操控对象的定位方法,该方法通过每相邻两帧场景图像的光度误差模型,确定操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型,并根据该运动模型确定操控对象的位置,由于该运动模型是基于两帧场景图像的光度误差模型确定的,而不是基于操控对象的特征确定的,因此不论操控对象是否被遮挡,本发明实施例提供的定位方法都能较为精准的确定出该操控对象的位置,有效提高了定位的精度。
需要说明的是,本发明实施例提供的操控对象的定位方法的步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,例如,步骤202可以根据情况进行删除。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
图9是本发明实施例提供的一种游戏对象的定位方法的流程图,该方法可以应用于图1或图2所示的定位分析设备01中,参考图9,该方法可以包括:
步骤301、在游戏应用运行的过程中,获取连续的多帧游戏界面图像。
每一帧游戏界面图像为相机将游戏对象所在三维游戏场景投影至成像平面所形成的图像,其中,该三维游戏场景中的光照变化率小于预设阈值,且该相机与该游戏对象同步移动。
步骤302、确定该多帧游戏界面图像中,每相邻两帧游戏界面图像的光度误差模型。
该光度误差模型基于多个光度差值建立,每个光度差值为该游戏对象所在三维游戏场景中的一个空间点分别在该相邻两帧游戏界面图像中形成的成像点的光度的差值。
步骤303、根据每相邻两帧游戏界面图像的该光度误差模型,确定该游戏对象在每相邻两帧场景图像的获取时间间隔内的运动模型。
步骤304、根据该运动模型,确定该游戏对象在该三维游戏场景中所处的位置。
上述步骤301至步骤304中,每个步骤的具体实现过程可以参考图4或图5所示实施例中的对应步骤,本发明实施例对此不再赘述。
图10A是本发明实施例提供的一种定位分析设备获取到的第一帧游戏界面图像的示意图,如图10A所示,在该游戏场景中,可以包括英雄名称为“AA”、“BB”、“CC”和“DD”的多个游戏对象,其中,英雄名称为“AA”的游戏对象为游戏AI所操控的游戏对象,也即是定位分析设备所需定位的游戏对象。图10B为定位分析设备对图10A所示的第一帧游戏界面图像进行初始化时的示意图,定位分析设备在对第一帧游戏界面图像进行初始化时,可以从该第一帧游戏界面图像中确定多个用于计算光度差值的备选像素,该多个备选像素即为图10B中所示的多个白色方块。图10C是本发明实施例提供的一种定位分析设备在游戏运行过程中,获取到的一帧游戏界面图像的示意图,图10D是定位分析设备在图10C所示的游戏界面图像中所确定的多个用于计算光度差值的成像点的示意图,在图10D中,每个成像点即为一个像素,即图10D中白色方块。从图10D中可以看出,定位分析设备在一帧游戏界面图像中,可以确定出大量用于计算光度差值的成像点。图10E是本发明实施例提供的一种定位分析设备所确定的游戏对象的移动轨迹的示意图,图10E中1a所示的位置即为游戏场景中虚拟相机的位置,1b即为该游戏对象的移动轨迹。
图10F是本发明实施例提供的一种定位分析设备在游戏运行过程中,获取到的另一帧游戏界面图像的示意图,图10G是定位分析设备在图10F所示的游戏界面图像中所确定的多个用于计算光度差值的成像点的示意图,图10H是本发明实施例提供的一种定位分析设备所确定的游戏对象的移动轨迹的示意图,对比图10E和图10H可以看出,该游戏场景中虚拟相机的位置1a随着游戏对象的移动而发生了变化,对比图10E和图10H的移动轨迹1b可以看出,该游戏对象的正在向游戏场景的右上角移动。
由于本发明实施例提供的方法是基于光度误差模型确定的游戏对象在帧间的运动模型,因此适合于对MOBA类游戏和角色扮演游戏(Role-playing game,RPG)类游戏中的游戏对象进行定位,尤其适合于对游戏场景较大的游戏中的游戏对象进行定位,例如某些开放场景类游戏。对于游戏场景较大的游戏,如果采用图像模板匹配的方法对游戏小地图信息进行图像识别,最后确定的游戏对象的位置的误差会较大,而本发明实施例提供的方法基于基于光度误差模型确定的游戏对象在帧间的运动模型,能够精确捕捉到游戏对象的位移与旋转,该方法的鲁棒性和抗干扰能力较强,位置估计的准确率较高。
综上所述,本发明实施例提供了一种游戏对象的定位方法,该方法通过每相邻两帧游戏界面图像的光度误差模型,确定游戏对象在每相邻两帧游戏界面图像的获取时间间隔内的运动模型,并根据该运动模型确定游戏对象的位置,由于该运动模型是基于两帧游戏界面图像的光度误差模型确定的,而不是基于游戏对象的特征确定的,因此不论游戏对象是否被遮挡,本发明实施例提供的定位方法都能较为精准的确定出该游戏对象的位置,有效提高了定位的精度。
此外,由于本发明实施例提供的定位方法可以基于实时获取到的游戏界面图像进行定位,对游戏场景的适应性更好,不受游戏开发方是否开放地图信息的限制,即不依赖于游戏开发方提供额外的地图信息接口,也不依赖于游戏开发方是否提供小地图缩略信息,该定位方法只需要游戏界面图像即可,能够在DQN或者其它机器学习算法在对游戏AI进行训练时,提供有效的位置信息。
其次,本发明实施例提供的方法基于光度误差模型确定游戏对象在帧间的运动模型,能够精确捕捉到游戏对象的位移与旋转,因此不会出现图像模板匹配方法所导致的误差高或信息丢失等情况,其鲁棒性和抗干扰能力较强,位置估计的准确率较高。
最后,由于本发明实施例提供的方法是基于游戏界面图像的多个像素的光度的差值来估计游戏对象的运动模型,因此获取到的信息量较大,定位的精度会更高。例如,假设游戏界面图像的分辨率为640×360,则每一帧游戏界面图像中可以包括大约23万个像素,相应的,定位分析设备可以获取到上万个像素的光度差值。而基于图像特征点进行帧间运动估计的方法,通常只采用几百个特征点,其获取到的信息量较少,定位精度较低。由此可知,本发明实施例提供的方法相对于基于图像特征点进行帧间运动估计的方法,鲁棒性更好,抗干扰能力更强。
图11A是本发明实施例提供的一种操控对象的定位装置的结构示意图,该装置可以配置于如图1或图2所示的定位分析设备01中,如图11A所示,该装置可以包括:
获取模块401,用于获取连续的多帧场景图像,该场景图像为操控对象所在三维场景的图像,每一帧该场景图像为相机将操控对象所在三维场景投影至成像平面所形成的图像,其中,该三维场景中的光照变化率小于预设阈值,该相机与该操控对象同步移动。
第一确定模块402,用于确定该多帧场景图像中,每相邻两帧场景图像的光度误差模型,该光度误差模型基于多个光度差值建立,每个光度差值为该三维场景中的一个空间点分别在该相邻两帧场景图像中形成的成像点的光度的差值。
第二确定模块403,用于根据每相邻两帧场景图像的光度误差模型,确定该操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型。
第三确定模块404,用于根据该运动模型,确定该操控对象在该三维场景中所处的位置。
可选的,如图11B所示,该第一确定模块402可以包括:
第一确定子模块4021,用于分别确定第一投影模型和第二投影模型,该第一投影模型为在第一帧场景图像的获取时刻,任一帧场景图像所在的像素坐标系与该三维场景中任一空间点之间的第一投影模型,第二投影模型为在第二帧场景图像的获取时刻,该像素坐标系与该三维场景中任一空间点之间的第二投影模型。
第二确定子模块4022,用于根据该第一投影模型、该第二投影模型、该第一帧场景图像中各个像素的光度以及第二帧场景图像中各个像素的光度,确定该三维场景的多个目标空间点中,每个目标空间点分别在该两帧场景图像中的成像点的光度差值,以得到该多个目标空间点对应的光度差值。
第三确定子模块4023,用于基于该多个目标空间点对应的光度差值,确定该光度误差模型。
相应的,该第二确定模块403可以用于:在该光度误差模型的取值最小时,确定该第二投影模型与该第一投影模型之间的转换矩阵,将该转换矩阵确定为该运动模型。
其中,K为预设的相机内参矩阵,p1为该三维场景中坐标为P的空间点在该第一帧场景图像中的成像点的像素坐标,p2为该三维场景中坐标为P的空间点在该第二帧场景图像中的成像点的像素坐标,Z1为该坐标为P的空间点在第一相机坐标系的深度坐标值,Z2为该坐标为P的空间点在第二相机坐标系的深度坐标值,该第一相机坐标系为该三维场景在第一帧场景图像的获取时刻所处的相机坐标系,该第二相机坐标系为该三维场景在第二帧场景图像的获取时刻所处的相机坐标系;R为该操控对象在两帧场景图像的获取时间间隔内的旋转矩阵,t为该操控对象在该获取时间间隔内的平移向量,D为坐标转换矩阵,且D满足:
该三维场景的N个目标空间点中,第i个目标空间点分别在该两帧场景图像中的成像点的光度差值ei满足:ei=I1(p1,i)-I2(p2,i);
p1,i为该N个目标点中第i个目标点在该第一帧场景图像中的第一成像点的像素坐标,I1(p1,i)为该第一成像点的灰度,p2,i为该第i个目标点在该第二帧场景图像中的第二成像点的像素坐标,I2(p2,i)为该第二成像点的灰度,N为大于1的整数,i为不大于N的正整数。
可选的,该第三确定子模块4023可以用于:
可选的,该第二确定模块403可以用于:
计算该旋转矩阵R以及该平移向量t,使得该光度误差模型的取值最小,该旋转矩阵R以及该平移向量t满足:
图11C是本发明实施例提供的另一种操控对象的定位装置的结构示意图,如图11C所示,该装置还可以包括:
第四确定模块405,用于在该操控对象所在三维场景中确定多个空间点。
计算模块406,用于分别计算每个空间点在该第一相机坐标系的第一深度坐标值,以及在该第二相机坐标系的第二深度坐标值。
第五确定模块407,用于将该多个空间点中,第一深度坐标值和第二深度坐标值均收敛的空间点确定为目标空间点。
可选的,第一确定模块402,具体可以用于:
用于对每一帧场景图像进行预处理,该预处理包括:裁剪、灰度图转换和畸变校正中的至少一种;
基于预处理后的每一帧场景图像,确定相邻两帧场景图像的光度误差模型。
可选的,该第一确定模块402对每一帧场景图像进行预处理的过程可以包括:
按照预设的裁剪尺寸,对每一帧场景图像进行裁剪。
将裁剪后的每一帧场景图像转换为灰度图。
根据预设的校正算法,对转换为灰度图后的每一帧场景图像进行畸变校正。
综上所述,本发明实施例提供了一种操控对象的定位装置,该装置通过每相邻两帧场景图像的光度误差模型,确定操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型,并根据该运动模型确定操控对象的位置,由于该运动模型是基于两帧场景图像的光度误差模型确定的,而不是基于操控对象的特征确定的,因此不论操控对象是否被遮挡,本发明实施例提供的定位装置都能较为精准的确定出该操控对象的位置,有效提高了定位的精度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图12是本发明实施例提供的一种游戏对象的定位装置的结构示意图,该装置可以配置于如图1或图2所示的定位分析设备01中,如图12所示,该装置可以包括:
获取模块501,用于在游戏应用运行的过程中,获取连续的多帧游戏界面图像,每一帧游戏界面图像为相机将游戏对象所在三维游戏场景投影至成像平面所形成的图像,其中,该三维游戏场景中的光照变化率小于预设阈值,该相机与该游戏对象同步移动。
第一确定模块502,用于确定该多帧游戏界面图像中,每相邻两帧游戏界面图像的光度误差模型,该光度误差模型基于多个光度差值建立,每个光度差值为该游戏对象所在三维游戏场景中的一个空间点分别在该相邻两帧游戏界面图像中形成的成像点的光度的差值。
第二确定模块503,用于根据每相邻两帧游戏界面图像的该光度误差模型,确定该游戏对象在每相邻两帧场景图像的获取时间间隔内的运动模型。
第三确定模块504,用于根据该运动模型,确定该游戏对象在该三维游戏场景中所处的位置。
综上所述,本发明实施例提供了一种游戏对象的定位装置,该装置通过每相邻两帧游戏界面图像的光度误差模型,确定游戏对象在每相邻两帧游戏界面图像的获取时间间隔内的运动模型,并根据该运动模型确定游戏对象的位置,由于该运动模型是基于两帧游戏界面图像的光度误差模型确定的,而不是基于游戏对象的特征确定的,因此不论游戏对象是否被遮挡,本发明实施例提供的定位装置都能较为精准的确定出该游戏对象的位置,有效提高了定位的精度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图13示出了本发明一个示例性实施例提供的终端1300的结构框图。该终端1300可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的操控对象的定位方法,或者游戏对象的定位方法。
在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置终端1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在再一些实施例中,显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在终端1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,由处理器1301根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在终端1300的前面板。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本发明实施例还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述实施例提供的操控对象的定位方法,或者如上述实施例提供的游戏对象的定位方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种操控对象的定位方法,其特征在于,所述方法包括:
在游戏应用运行的过程中,采集连续的若干帧场景图像,检测所述若干帧场景图像的变化程度,所述若干帧场景图像的变化程度用于反映游戏场景中各个操控对象的移动速度或者变化速度,所述场景图像为游戏界面图像;
根据所述变化程度确定图像获取帧率,按照所述图像获取帧率获取多帧场景图像;其中,所述图像获取帧率与所述若干帧场景图像的变化程度正相关,每一帧所述场景图像为相机将操控对象所在三维场景投影至成像平面所形成的图像,所述三维场景中的光照变化率小于预设阈值,所述相机与所述操控对象同步移动;
对每一帧场景图像进行预处理;其中所述对每一帧场景图像进行预处理,包括:按照预设的裁剪尺寸,对每一帧场景图像中与操控对象帧间运动无关的图像部分进行裁剪,所述与操控对象帧间运动无关的图像部分包括:玩家的操作按钮、小地图信息、角色信息和所述操控对象的显示区域对应的信息中的至少一种;
基于预处理后的每一帧场景图像,确定所述多帧场景图像中,每相邻两帧场景图像的光度误差模型,所述光度误差模型基于所述三维场景中的多个目标空间点对应的光度差值建立,每个光度差值为所述三维场景中的一个目标空间点分别在所述相邻两帧场景图像中形成的成像点的光度的差值,所述多个目标空间点中的每个目标空间点为在第一相机坐标系的第一深度坐标值以及在第二相机坐标系的第二深度坐标值均收敛的空间点,其中,所述第一相机坐标系为所述三维场景在第一帧场景图像的获取时刻所处的相机坐标系,所述第二相机坐标系为所述三维场景在第二帧场景图像的获取时刻所处的相机坐标系;
根据每相邻两帧场景图像的光度误差模型,确定所述操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型;
根据所述运动模型,确定所述操控对象在所述三维场景中所处的位置。
2.根据权利要求1所述的方法,其特征在于,确定相邻两帧场景图像的光度误差模型,包括:
分别确定第一投影模型和第二投影模型,所述第一投影模型为在第一帧场景图像的获取时刻,任一帧场景图像所在的像素坐标系与所述三维场景中任一空间点之间的第一投影模型,所述第二投影模型为在第二帧场景图像的获取时刻,所述像素坐标系与所述三维场景中任一空间点之间的第二投影模型;
根据所述第一投影模型、所述第二投影模型、所述第一帧场景图像中各个像素的光度以及所述第二帧场景图像中各个像素的光度,确定所述三维场景的多个目标空间点中,每个目标空间点分别在所述两帧场景图像中的成像点的光度差值,以得到所述多个目标空间点对应的光度差值;
基于所述多个目标空间点对应的光度差值,确定所述光度误差模型;
所述根据所述光度误差模型,确定所述操控对象在所述三维场景中的运动模型,包括:
在所述光度误差模型的取值最小时,确定所述第二投影模型与所述第一投影模型之间的转换矩阵,将所述转换矩阵确定为所述运动模型。
3.根据权利要求2所述的方法,其特征在于,
其中,K为预设的相机内参矩阵,p1为所述三维场景中坐标为P的空间点在所述第一帧场景图像中的成像点的像素坐标,p2为所述三维场景中坐标为P的空间点在所述第二帧场景图像中的成像点的像素坐标,Z1为所述坐标为P的空间点在第一相机坐标系的深度坐标值,Z2为所述坐标为P的空间点在第二相机坐标系的深度坐标值,所述第一相机坐标系为所述三维场景在第一帧场景图像的获取时刻所处的相机坐标系,所述第二相机坐标系为所述三维场景在第二帧场景图像的获取时刻所处的相机坐标系;R为所述操控对象在两帧场景图像的获取时间间隔内的旋转矩阵,t为所述操控对象在所述获取时间间隔内的平移向量,D为坐标转换矩阵,且D满足:
所述三维场景的N个目标空间点中,第i个目标空间点分别在所述两帧场景图像中的成像点的光度差值ei满足:ei=I1(p1,i)-I2(p2,i);
p1,i为所述N个目标点中第i个目标点在所述第一帧场景图像中的第一成像点的像素坐标,I1(p1,i)为所述第一成像点的灰度,p2,i为所述第i个目标点在所述第二帧场景图像中的第二成像点的像素坐标,I2(p2,i)为所述第二成像点的灰度,N为大于1的整数,i为不大于N的正整数。
6.根据权利要求2所述的方法,其特征在于,在确定相邻两帧场景图像的光度误差模型之前,所述方法还包括:
在所述操控对象所在三维场景中确定多个空间点;
分别计算每个空间点在第一相机坐标系的第一深度坐标值,以及在第二相机坐标系的第二深度坐标值;
将所述多个空间点中,第一深度坐标值和第二深度坐标值均收敛的空间点确定为目标空间点。
7.根据权利要求1至6任一所述的方法,其特征在于,所述预处理还包括:灰度图转换和畸变校正中的至少一种。
8.根据权利要求7所述的方法,其特征在于,在所述按照预设的裁剪尺寸,对每一帧场景图像中与操控对象帧间运动无关的图像部分进行裁剪步骤之后,所述方法还包括:
将裁剪后的每一帧场景图像转换为灰度图;
根据预设的校正算法,对转换为灰度图后的每一帧场景图像进行畸变校正。
9.一种操控对象的定位装置,其特征在于,所述装置包括:
获取模块,用于在游戏应用运行的过程中,采集连续的若干帧场景图像,检测所述若干帧场景图像的变化程度,所述若干帧场景图像的变化程度用于反映游戏场景中各个操控对象的移动速度或者变化速度;根据所述变化程度确定图像获取帧率,按照所述图像获取帧率获取多帧场景图像;其中,所述图像获取帧率与所述若干帧场景图像的变化程度正相关,每一帧所述场景图像为相机将操控对象所在三维场景投影至成像平面所形成的图像,所述三维场景中的光照变化率小于预设阈值,所述相机与所述操控对象同步移动,所述场景图像为游戏界面图像;
第一确定模块,用于确定所述多帧场景图像中,每相邻两帧场景图像的光度误差模型,所述光度误差模型基于所述三维场景中的多个目标空间点对应的光度差值建立,每个光度差值为所述三维场景中的一个空间点分别在所述相邻两帧场景图像中形成的成像点的光度的差值,所述多个目标空间点中的每个目标空间点为在第一相机坐标系的第一深度坐标值以及在第二相机坐标系的第二深度坐标值均收敛的空间点,其中,所述第一相机坐标系为所述三维场景在第一帧场景图像的获取时刻所处的相机坐标系,所述第二相机坐标系为所述三维场景在第二帧场景图像的获取时刻所处的相机坐标系;
第二确定模块,用于根据每相邻两帧场景图像的光度误差模型,确定所述操控对象在每相邻两帧场景图像的获取时间间隔内的运动模型;
第三确定模块,用于根据所述运动模型,确定所述操控对象在所述三维场景中所处的位置;
所述第一确定模块,用于:对每一帧场景图像进行预处理;基于预处理后的每一帧场景图像,确定相邻两帧场景图像的光度误差模型;
其中,所述对每一帧场景图像进行预处理,包括:按照预设的裁剪尺寸,对每一帧场景图像中与操控对象帧间运动无关的图像部分进行裁剪,所述与操控对象帧间运动无关的图像部分包括:玩家的操作按钮、小地图信息、角色信息和所述操控对象的显示区域对应的信息中的至少一种。
10.根据权利要求9所述的装置,其特征在于,所述第一确定模块,包括:
第一确定子模块,用于分别确定第一投影模型和第二投影模型,所述第一投影模型为在第一帧场景图像的获取时刻,任一帧场景图像所在的像素坐标系与所述三维场景中任一空间点之间的第一投影模型,所述第二投影模型为在第二帧场景图像的获取时刻,所述像素坐标系与所述三维场景中任一空间点之间的第二投影模型;
第二确定子模块,用于根据所述第一投影模型、所述第二投影模型、所述第一帧场景图像中各个像素的光度以及所述第二帧场景图像中各个像素的光度,确定所述三维场景的多个目标空间点中,每个目标空间点分别在所述两帧场景图像中的成像点的光度差值,以得到所述多个目标空间点对应的光度差值;
第三确定子模块,用于基于所述多个目标空间点对应的光度差值,确定所述光度误差模型;
所述第二确定模块,用于:
在所述光度误差模型的取值最小时,确定所述第二投影模型与所述第一投影模型之间的转换矩阵,将所述转换矩阵确定为所述运动模型。
11.根据权利要求10所述的装置,其特征在于,
其中,K为预设的相机内参矩阵,p1为所述三维场景中坐标为P的空间点在所述第一帧场景图像中的成像点的像素坐标,p2为所述三维场景中坐标为P的空间点在所述第二帧场景图像中的成像点的像素坐标,Z1为所述坐标为P的空间点在第一相机坐标系的深度坐标值,Z2为所述坐标为P的空间点在第二相机坐标系的深度坐标值,所述第一相机坐标系为所述三维场景在第一帧场景图像的获取时刻所处的相机坐标系,所述第二相机坐标系为所述三维场景在第二帧场景图像的获取时刻所处的相机坐标系;R为所述操控对象在两帧场景图像的获取时间间隔内的旋转矩阵,t为所述操控对象在所述获取时间间隔内的平移向量,D为坐标转换矩阵,且D满足:
所述三维场景的N个目标空间点中,第i个目标空间点分别在所述两帧场景图像中的成像点的光度差值ei满足:ei=I1(p1,i)-I2(p2,i);
p1,i为所述N个目标点中第i个目标点在所述第一帧场景图像中的第一成像点的像素坐标,I1(p1,i)为所述第一成像点的灰度,p2,i为所述第i个目标点在所述第二帧场景图像中的第二成像点的像素坐标,I2(p2,i)为所述第二成像点的灰度,N为大于1的整数,i为不大于N的正整数。
12.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至8任一所述的操控对象的定位方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至8任一所述的操控对象的定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810149843.6A CN110152293B (zh) | 2018-02-13 | 2018-02-13 | 操控对象的定位方法及装置、游戏对象的定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810149843.6A CN110152293B (zh) | 2018-02-13 | 2018-02-13 | 操控对象的定位方法及装置、游戏对象的定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110152293A CN110152293A (zh) | 2019-08-23 |
CN110152293B true CN110152293B (zh) | 2022-07-22 |
Family
ID=67635456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810149843.6A Active CN110152293B (zh) | 2018-02-13 | 2018-02-13 | 操控对象的定位方法及装置、游戏对象的定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110152293B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111862348B (zh) * | 2020-07-30 | 2024-04-30 | 深圳市腾讯计算机系统有限公司 | 视频显示方法、视频生成方法、装置、设备及存储介质 |
CN114330400B (zh) * | 2020-10-12 | 2023-12-08 | 珠海格力电器股份有限公司 | 二维码图像处理方法、系统、装置、电子设备及存储介质 |
CN112822503B (zh) * | 2020-12-30 | 2022-04-22 | 腾讯科技(深圳)有限公司 | 直播视频流的播放方法、装置、设备及存储介质 |
CN112884838B (zh) * | 2021-03-16 | 2022-11-15 | 重庆大学 | 一种机器人自主定位方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8570320B2 (en) * | 2011-01-31 | 2013-10-29 | Microsoft Corporation | Using a three-dimensional environment model in gameplay |
US9674507B2 (en) * | 2013-04-30 | 2017-06-06 | Qualcomm Incorporated | Monocular visual SLAM with general and panorama camera movements |
US20140323148A1 (en) * | 2013-04-30 | 2014-10-30 | Qualcomm Incorporated | Wide area localization from slam maps |
CN105865454B (zh) * | 2016-05-31 | 2019-09-24 | 西北工业大学 | 一种基于实时在线地图生成的无人机导航方法 |
WO2017222558A1 (en) * | 2016-06-24 | 2017-12-28 | Isee, Inc. | Laser-enhanced visual simultaneous localization and mapping (slam) for mobile devices |
CN106303274A (zh) * | 2016-08-01 | 2017-01-04 | 凌云光技术集团有限责任公司 | 一种高动态范围图像合成方法及装置 |
CN107300917B (zh) * | 2017-05-23 | 2019-07-09 | 北京理工大学 | 一种基于分层架构的视觉slam后端优化方法 |
CN107341814B (zh) * | 2017-06-14 | 2020-08-18 | 宁波大学 | 基于稀疏直接法的四旋翼无人机单目视觉测程方法 |
CN107610175A (zh) * | 2017-08-04 | 2018-01-19 | 华南理工大学 | 基于半直接法和滑动窗口优化的单目视觉slam算法 |
-
2018
- 2018-02-13 CN CN201810149843.6A patent/CN110152293B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110152293A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11205282B2 (en) | Relocalization method and apparatus in camera pose tracking process and storage medium | |
CN110544280B (zh) | Ar系统及方法 | |
US11481923B2 (en) | Relocalization method and apparatus in camera pose tracking process, device, and storage medium | |
CN108537845B (zh) | 位姿确定方法、装置及存储介质 | |
CN110502954B (zh) | 视频分析的方法和装置 | |
CN109947886B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110097576B (zh) | 图像特征点的运动信息确定方法、任务执行方法和设备 | |
CN110148178B (zh) | 相机定位方法、装置、终端及存储介质 | |
CN110427110B (zh) | 一种直播方法、装置以及直播服务器 | |
CN110152293B (zh) | 操控对象的定位方法及装置、游戏对象的定位方法及装置 | |
KR20210111833A (ko) | 타겟의 위치들을 취득하기 위한 방법 및 장치와, 컴퓨터 디바이스 및 저장 매체 | |
CN108682036A (zh) | 位姿确定方法、装置及存储介质 | |
CN108830186B (zh) | 文本图像的内容提取方法、装置、设备及存储介质 | |
CN112287852B (zh) | 人脸图像的处理方法、显示方法、装置及设备 | |
CN110599593B (zh) | 数据合成的方法、装置、设备及存储介质 | |
CN109302632B (zh) | 获取直播视频画面的方法、装置、终端及存储介质 | |
CN109522863B (zh) | 耳部关键点检测方法、装置及存储介质 | |
CN112272311B (zh) | 花屏修复方法、装置、终端、服务器及介质 | |
CN111723803A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN112308103B (zh) | 生成训练样本的方法和装置 | |
CN110503159B (zh) | 文字识别方法、装置、设备及介质 | |
CN111932604A (zh) | 人耳特征距离测量的方法和装置 | |
CN111385481A (zh) | 图像处理方法及装置、电子设备及存储介质 | |
CN112767453B (zh) | 人脸跟踪方法、装置、电子设备及存储介质 | |
CN112967261B (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 |