CN107977977B - 一种vr游戏的室内定位方法、装置以及存储介质 - Google Patents
一种vr游戏的室内定位方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN107977977B CN107977977B CN201710984634.9A CN201710984634A CN107977977B CN 107977977 B CN107977977 B CN 107977977B CN 201710984634 A CN201710984634 A CN 201710984634A CN 107977977 B CN107977977 B CN 107977977B
- Authority
- CN
- China
- Prior art keywords
- image
- identification code
- coordinate
- preset
- images
- 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 47
- 230000000007 visual effect Effects 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 5
- 238000003384 imaging method Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- 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/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Studio Devices (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明提供了一种VR游戏的室内定位方法、装置以及存储介质,所述方法包括:在天花板上按照预设规则布设若干摄像头,并通过所述若干摄像头同步拍摄地面上粘贴有标识码的移动物体;每间隔预设时间获取所述标识码对应的图像,并根据所述图像确定标识码在图像中的第二坐标,以及所述图像对应的摄像头在世界坐标系内的第一坐标;根据所述第一坐标和第二坐标计算所述移动物体在世界坐标系内的运动信息,并通过服务器将所述运动信息分别发送至其相连的所有VR设备,以使得VR设备按照各自的视角显示室内场景。本发明通过为每一摄像头分配固定的世界坐标,以根据摄像头拍摄的标识码反算出标识码的世界坐标与角度,从而实现移动物体精确的室内定位。
Description
技术领域
本发明涉及室内定位技术领域,特别涉及一种VR游戏的室内定位方法、装置以及存储介质。
背景技术
VR游戏中,至关重要的一个技术点就是精确且经济实用的室内精确定位技术。由于VR游戏对室内定位的精度要求较高(<10CM),而传统的GPS定位系统的定位精度远无法达到室内定位精度的要求。因此许多公司研究开发出其他的定位系统,如基于GPS进行定位并用无线网络(WIFI)进行辅助校准,基于蓝牙进行室内短距离定位,通过超宽带技术进行精确定位的方案等室内定位技术。但是,前两种室内定位技术虽然在GPS定位的基础上精度有所提高,但是仍然无法满足室内定位的要求,无法使用在VR游戏定位中;而超宽带技术进行精确定位的方案,虽然精度达到了室内定位的要求,但是布设成本很高,无法达到商业用途
因而现有技术还有待改进和提高。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种室内定位方法、装置以及存储介质,以解决现有室内定位精度无法满足精度要求以及成本高的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种VR游戏的室内定位方法,其包括:
在室内天花板上按照预设规则布设若干摄像头,并通过所述若干摄像头同步拍摄粘贴有标识码的移动物体;
每间隔预设时间获取所述标识码对应的图像,并确定所述图像对应的摄像头在预设世界坐标系内的第一坐标,以及所述标识码在所述图像中的第二坐标;
根据所述第一坐标和第二坐标计算所述标识码在预设世界坐标系内的第三坐标,以得到所述移动物体的运动信息;
依次将所述移动物体的运动信息发送至服务器,以使得服务器根据接收到的运动信息更新室内场景的显示数据,并将更新后的显示数据发送至与其相连的所有VR设备;
VR设备接收所述显示数据,并按照其对应的预设视角显示所述显示数据对应的室内场景。
所述VR游戏的室内定位方法,其中,所述每间隔预设时间获取所述标识码对应的图像,并确定所述图像对应的摄像头在预设世界坐标系内的第一坐标,以及所述标识码在所述图像中的第二坐标具体包括:
每间隔预设时间获取所述若干摄像头采集到的第一图像,并在获取到的第一图像中筛选出第二图像,其中,所述第二图像中包含所述标识码;
按照预设规则在筛选出的第二图像中选择所述标识码对应的图像,并将所述图像对应的摄像头作为参照物;
确定参照物在预设世界坐标系内的第一坐标,以及所述标识码在所述图像中的第二坐标。
所述VR游戏的室内定位方法,所述每间隔预设时间获取所述若干摄像头采集到的第一图像,并在获取到的第一图像中筛选出第二图像,其中,所述第二图像中包含所述标识码具体包括:
每间隔预设时间获取所述若干摄像头采集到的第一图像,并分别识别获取到的所有第一图像,以判断所述第一图像中是否包含所述标识码;
保留包含有所述标识码的第一图像,并记为第二图像。
所述VR游戏的室内定位方法,其中,所述每间隔预设时间获取所述若干摄像头采集到的第一图像,并分别识别获取到的所有第一图像,以判断所述第一图像中是否包含所述标识码具体包括:
每间隔预设时间获取所述若干摄像头采集到的第一图像,并分别对获取到的第一图像进行识别以提取候选码轮廓;
对提取到的所有候选码轮廓中的图案进行识别,以得到每个候选码轮廓对应的标识码ID;
根据识别到的所有标识码ID分别判断获取到的第一图像中是否包含有标识码。
所述VR游戏的室内定位方法,其中,所述按照预设规则在筛选出的第二图像中选择所述标识码对应的图像具体包括:
分别在所有第二图像中建立预设图像坐标系,并分别在所述预设图像坐标系中计算所述标识码距离每个第二图像中心点的欧氏距离;
选择欧氏距离最小的第二图像作为所述标识码对应的图像,并将所述图像对应的摄像头作为参照物。
所述VR游戏的室内定位方法,其中,所述根据所述第一坐标和第二坐标计算所述标识码在预设世界坐标系内的第三坐标,以得到所述移动物体的运动信息具体包括:
采用旋转矩阵计算所述图像对应的预设图像坐标系与所述预设世界坐标系之间的旋转角,并获取图像的宽度和高度;
根据图像的宽度和高度、所述旋转角、所述第一坐标以及所述第二坐标计算出所述标识码在所述预设世界坐标系内的第三坐标。
所述VR游戏的室内定位方法,其中,所述根据图像的宽度和高度、所述旋转角、所述第一坐标以及所述第二坐标计算出所述标识码在所述预设世界坐标系内的第三坐标具体为:
其中,xf、yf为图像坐标系中标识码相对于图像中心点的坐标偏移量,可由标识码在图像坐标系中的坐标(X,Y)以及图像的宽Image_width、图像的高Image_height计算得出;a为不同坐标系之间的缩放系数;d1为图像坐标系中标识码边长,d2为世界坐标系中标识码边长;(x0、y0)为摄像头中心点在世界坐标系中的坐标;(xt、yt)为标识码在世界坐标系中的坐标。
所述VR游戏的室内定位方法,其中,所述依次将所述移动物体的运动信息发送至服务器,以使得服务器根据接收到的运动信息更新室内场景的显示数据,并将更新后的显示数据发送至与其相连的所有VR设备具体包括:
依次将每帧图像对应的运动信息发送至服务器;
服务器对接收到的运动信息进行插值和滤波处理后,根据处理后的运动信息更新室内场景的显示数据;
将更新后的显示数据发送至与其相连的所有VR设备。
一种存储介质,其存储有多条指令,所述指令适于由处理器加载并执行如上任一所述VR游戏的室内定位方法。
一种VR游戏的室内定位装置,其包括:
处理器,适于实现各指令;以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行如上任一所述VR游戏的室内定位方法。
有益效果:与现有技术相比,本发明提供了一种VR游戏的室内定位方法、装置以及存储介质,所述方法包括:在天花板上按照预设规则布设若干摄像头,并通过所述若干摄像头同步拍摄地面上粘贴有标识码的移动物体;每间隔预设时间获取所述标识码对应的图像,并根据所述图像确定标识码在图像中的第二坐标,以及所述图像对应的摄像头在世界坐标系内的第一坐标;根据所述第一坐标和第二坐标计算所述移动物体在世界坐标系内的运动信息,并通过服务器将所述运动信息分别发送至其相连的所有VR设备,以使得VR设备按照各自的视角显示室内场景。本发明通过为每一摄像头分配固定的世界坐标,以根据摄像头拍摄的标识码反算出标识码的世界坐标与角度,从而实现移动物体精确的室内定位。
附图说明
图1为本发明提供的VR游戏的室内定位方法较佳实施的流程图。
图2为本法明提供的VR游戏的室内定位方法中摄像头的布设示意图。
图3为本发明提供的VR游戏的室内定位方法的使用场景图。
图4为本发明提供的VR游戏的室内定位装置的结构原理图。
具体实施方式
本发明提供一种VR游戏的室内定位方法、装置以及存储介质,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。 应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。 应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
请参照图1,图1为本发明提供的室内定位方法的较佳实施例的流程图。所述方法用于定位一可在室内空间的一底面上移动的移动物体的室内定位,其包括:
S100、在室内天花板上按照预设规则布设若干摄像头,并通过所述若干摄像头同步拍摄粘贴有标识码的移动物体;
S200、每间隔预设时间获取所述标识码对应的图像,并确定所述图像对应的摄像头在预设世界坐标系内的第一坐标,以及所述标识码在所述图像中的第二坐标;
S300、根据所述第一坐标和第二坐标计算所述标识码在预设世界坐标系内的第三坐标,以得到所述移动物体的运动信息;
S400、依次将所述移动物体的运动信息发送至服务器,以使得服务器根据接收到的运动信息更新室内场景的显示数据,并将更新后的显示数据发送至与其相连的所有VR设备;
S500、VR设备接收所述显示数据,并按照其对应的预设视角显示所述显示数据对应的室内场景。
本发明通过在天花板上布设若干摄像头,同时为每一标识码分配一世界坐标,并在每一移动物体上粘贴一标识码,使得摄像头采集包含有标识码的图像后,识别图像中的标识码并根据标识码的图像坐标和已知的摄像头的世界坐标反算出标识码的世界坐标和偏转角度,从而移动物体的世界坐标与偏转角度,实现移动物体的室内定位。这样不仅同时采用标识码与移动物体一一对应,且天花板上安装摄像头的布设方式使得摄像头固定牢靠,拍摄角度稳定,从而能够获取精确的定位坐标和角度数据
具体的来说,在所述步骤S100中,所述标识码指的是携带有特征信息的编码图案,例如,Aruco码。在本实施例中,所述标识码的特征信息为标识码ID,每个标识码对应一个标识码ID。所述标识码的规格为0.5m*0.5m,作为碰碰车识别的参照物。当然,所述标识码的规格还可以根据场景的大小、碰碰车的规格进行设置。
所述预设规则指的是所述若干摄像头在天花板上的排列规则,例如,将的摄像头的向下铺放在天花板上,且摄像头镜头水平朝下防止,不同标摄像头在X、Y方向的间距相同(如,均为0.5m)。当然,摄像头的铺放密度(单位距离)与摄像头的视场角和摄像头距Aruco码平面距离有关,摄像头视场角越大、摄像头距离Aruco码平面距离越远则所需布置的高速摄像头数量越少。所述预设世界坐标系指的是预先指定的世界坐标系,最终要得到移动物体在预设世界坐标系中的坐标和移动方向。本实施例以室内天花板平面左下角为坐标原点建立世界坐标系,摄像头从天花板左下角开始逐个铺放,布设示意图如图2所示。这样,每一摄像头在所述预设世界坐标系中均有一个第一坐标。在实际应用中,为每一摄像头分配一标号,可以建立摄像头标号与第一坐标的对应关系,后续在图像中识别到标识码ID后,可以通过拍摄到所述图像的摄像头标号确定其对应第一坐标。
所述移动物体指的是进行低运动复杂度、高精度运动的物体。例如,游乐园中的碰碰车、遥控汽车等游戏设备。在每个移动物体上配置一标识码,并将标识码平铺在移动物体上,使其所处的平面与水平面平行,这样使得摄像头的成像平面(与天花板平行)与标识码所处的平面平行。这样在后续的坐标变换中只要考虑摄像头拍摄的图像绕世界坐标的z轴的旋转角即可,简化了运算,从而提高了定位效率。
在所述步骤S200中,所述第二坐标指的是在图像中建立预设图像坐标系后,所述标识码的中心点在所述预设图像坐标系内的坐标。由于受到摄像头拍摄视角的限制,当移动物体在场景内移动时,并不是所有摄像头在同一时刻均能够拍摄到移动物体上的标识码。因此,在本实施例中,需要首先在所述若干摄像头在同一时刻采集到的所有第一图像中筛选出包含有所述标识码的第二图像。
示例性的,所述每间隔预设时间获取所述标识码对应的图像,并确定所述图像对应的摄像头在预设世界坐标系内的第一坐标,以及所述标识码在所述图像中的第二坐标具体可以包括:
S201、每间隔预设时间获取所述若干摄像头采集到的第一图像,并在获取到的第一图像中筛选出第二图像,其中,所述第二图像中包含所述标识码;
S202、按照预设规则在筛选出的第二图像中选择所述标识码对应的图像,并将所述图像对应的摄像头作为参照物;
S203、确定参照物在预设世界坐标系内的第一坐标,以及所述标识码在所述图像中的第二坐标。
具体来说,在所述步骤S201中,所述预设时间指的是预先设置的摄像头采集移动物体的图像的时间。其可以根据室内定位的精度,以及室内场景的大小,摄像头的安装高度以及拍摄参数而决定。所述第一图像指的是在同一时刻所述若干摄像头拍摄到的图像。所述第二图像指的是在所述第一图像中筛选出的包含有标识码的图像。
示例性的,所述每间隔预设时间获取所述若干摄像头采集到的第一图像,并在获取到的第一图像中筛选出第二图像,其中,所述第二图像中包含所述标识码具体可以包括:
S2011、每间隔预设时间获取所述若干摄像头采集到的第一图像,并分别识别获取到的所有第一图像,以判断所述第一图像中是否包含所述标识码;
S2012、保留包含有所述标识码的第一图像,并记为第二图像。
具体的来说,在所述步骤S2011中,由于每个标识码都携带有特征信息,即标识码ID,因此可以分别对所有的第一图像进行边缘和去噪处理后提取其中的候选码轮廓,并识别候选码轮廓内的图案以获取标识码ID。
示例性的,所述每间隔预设时间获取所述若干摄像头采集到的第一图像,并分别识别获取到的所有第一图像,以判断所述第一图像中是否包含所述标识码具体过程可以为:
N1、每间隔预设时间获取所述若干摄像头采集到的第一图像,并分别对获取到的第一图像进行识别以提取候选码轮廓;
N2、对提取到的所有候选码轮廓中的图案进行识别,以得到每个候选码轮廓对应的标识码ID;
N3、根据识别到的所有标识码ID分别判断获取到的第一图像中是否包含有标识码。
具体来说,在所述步骤N1中,所述候选码轮廓指的是在每一帧图像中提取的由标识码轮廓线组成的四边形边框。在本实施例中,所述候选码轮廓的具体提取过程为:
M1、将图像进行边缘检测和滤波处理,以消除图像中的噪点。
M2、在检测出的边缘图像中提取轮廓线,并在提取到的轮廓线中查找四边形,查找到的四边形即为候选码轮廓。
具体地,在所述步骤M1中,首先从高速摄像头获取实时图片,随后进行canny边缘检测,然后使用自适应滤波器来对图像进行滤波,滤除噪点使边界更清晰。在所述步骤M2中,在检测处的边缘图像中提取轮廓线。进一步,为了保证提取轮廓线的清晰度和完整性,设置一个数阈值,并统计每个提取到的轮廓线包含的像素点个数。然后将每个像素点个数与所述个数阈值进行比较,若像素点个数小于所述个数阈值,则判定其对应的轮廓线不清楚,剔除所述不清楚的轮廓线。若像素点个数大于等于所述个数阈值,则判定其对应的轮廓线清楚,并保留清楚的轮廓线。然后在保留的轮廓线中查找四边形,并将查找到的四边形作为候选码轮廓。
进一步,为了避免查找到的四边形距离过近,从而导致候选码轮廓内的图像识别错误。设置一距离阈值,并按照预设方向(顺时针/逆时针)计算每相邻的两个四边形对应的四个顶点之间的距离,将四个定点之间的距离取平均值,以得到相邻两个四边形之间的平均距离。将所述平均距离与所述距离阈值进行比较,若所述平均距离小于所述距离阈值,说明两个四边形之间的距离过近,则删除两个距离过近的四边形;若所述平均距离大于所述距离阈值,说明两个四边形之间的距离达到识别要求,保留两个四边形,作为候选码轮廓。
在所述步骤N2和N3中,由于在同一时间帧中,所述若干摄像头采集的视频图像中可能存在未采集到或识别到标识码的图像,因此在获取到每帧图像中的候选码轮廓之后,根据每个候选码轮廓中的识别结果来判断在每帧图像中是否识别到标识码。
示例性的,所述根据识别到的所有标识码ID分别判断获取到的第一图像中是否包含有标识码具体包括:
H1、分别判断每个第一图像中识别到的标识码ID是否均为0;
H2、当识别到的所有标识码ID不全为0时,判定所述第一图像中包含标识码。
具体地,对提取到的所有候选码轮廓中的图案进行解码,以得到多个标识码ID。然后依次判断解码得到的所述多个标识码ID是否为0。当标识码ID为0时,说明其对应的候选码轮廓不是标识码;当标识码ID不为0时,说明其对应的候选码轮廓为标识码。进一步,当一帧图像中存在不为0的标识码ID,说明在这一帧图像中识别到了标识码,当在一帧图像中识别到标识码时,执行步骤S2012,即将识别到标识码的第一图像记为第二图像。
在本发明的一个实施例中,当第一图像中提取到的候选码轮廓对应的第一标识码ID均为0时,说明所述第一图像中未识别到标识码。说明所述第一图像对应的摄像头在当前时刻未拍摄到标识码(移动物体),因此所述排出未包含标识码的第一图像及其对应的摄像头。
在本发明的一个实施例中,由于每间隔所述预设时间采集到的图像对应移动物体的一个运动信息。当所有第一图像中均未包含所述标识码时,说明当前时刻未拍摄到标识码或未识别到标识码,也就是说当前时刻无法得到对应的运动信息,即表现为移动物体的坐标数据在这一帧图像的时刻为断点(没有坐标),因此为了避免移动物体的坐标和方向数据不连贯的问题可以采用插值算法,来消除数据的不连贯性,其具体过程可以为:
H10、当所有第一图像均不包含所述标识码时,判定所述若干摄像头均未拍摄到移动物体;
H20、采用线性插值算法在未识别到标识码的图像处,插入所述未识别到标识码的图像对应的移动物体的坐标和移动方向。
具体地,由于本实施例中的定位算法是采用Unity游戏开发引擎,并且使用了OpencvForUnity工具包。因此,当获取到标识码中心点的预设世界坐标以及方向信息后,对所得到的世界坐标和方向角的数值进行线性插值来消除数据不连贯性,该线性插值函数为Unity游戏开发引擎自带插值函数,只需将想要插值的数据输入函数接口,然后调整函数参数直至插值效果达到要求即可,由于线性插值算法为成熟算法,在此不再赘述。当然,在实际应用中,对移动物体的坐标的平滑处理可以在定位装置中进行,可以在定位装置将运动信息发送至服务器之后,由服务器进行后续的数据处理。
在所述步骤S202中,由于为了避免出现拍摄死角,因此在天花板上的布设有多个摄像头,从而当移动物体在移动过程中可能出现有多个摄像头在同一时间(同一帧图像的拍摄期间)均采集到移动物体上的标识码,即存在多个第二图像,因此需要在多个第二图像中选择一个图像作为所述标识码对应的图像。
示例性的,所述按照预设规则在筛选出的第二图像中选择所述标识码对应的图像具体包括:
S2021、分别在所有第二图像中建立预设图像坐标系,并分别在所述预设图像坐标系中计算所述标识码距离每个第二图像中心点的欧氏距离;
S2022、选择欧氏距离最小的第二图像作为所述标识码对应的图像,并将所述图像对应的摄像头作为参照物。
具体来说,在所述步骤S2021中,所述预设图像坐标系指的是以所述第二图像的左下角为原点建立的图像坐标系。所述标识码距离图像中心点的欧式距离指的是标识码的投影在图像中与摄像头之间的距离。利用此欧式距离来筛选在世界坐标系中,每个第二图像对应的摄像头中距离所述标识码最近的摄像头。这样,在每个第二图像对应的摄像头(即拍摄到第二图像的摄像头)中选择一距离最近的摄像头作为计算标识码坐标的参照物,可以精简计算规模,避免重复计算,提高定位装置的定位效率。
具体实施时,在每个第二图像中以图像的左下角为原点建立图像坐标系,然后分别确定识别到的每个标识码的中心点坐标。确定标识码的中心点坐标具体过程为:分别识别标识码的四个顶点的坐标,记为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),然后根据四个顶点坐标计算标识码的中心点坐标,其计算公式为:
其中,X为中心点横坐标,Y为中心点纵坐标。
进一步,首先分别获取图像的中心点坐标(摄像头在图像坐标系的坐标),及图像中的标识码的中心点坐标,然后分别计算标识码的中心点坐标与图像的中心点坐标之间的欧氏距离,最后在计算能得到的所有欧式距离中,选取最小的欧式距离并确定其对应的第二图像。将所述第二图像作为所述标识码对应的图像,并将所述图像对应的摄像头作为参照物。然后获取所述未所述参照物分配的第一坐标,并将所述标识码在所述图像中的中心点作为第二坐标。
在所述步骤S300中,所述第三坐标指的是采用投影变换原理得到的所述第二坐标在预设世界坐标系中对应的坐标。
示例性的,所述根据所述第一坐标和第二坐标计算所述标识码在预设世界坐标系内的第三坐标,以得到所述移动物体的运动信息具体可以包括:
S301、采用旋转矩阵计算所述图像对应的预设图像坐标系与所述预设世界坐标系之间的旋转角,并获取图像的宽度和高度;
S302、根据图像的宽度和高度、所述旋转角、所述第一坐标以及所述第二坐标计算出所述标识码在所述预设世界坐标系内的第三坐标。
具体来说,在所述步骤S301中,采用投影变换原理计算所述图像坐标系与所述预设世界坐标系之间的旋转角。根据标识码所在平面的旋转矩阵和转移矩阵计算旋转角。其中,旋转矩阵的表达公式为:
其中,ψ为图片绕世界坐标系x轴旋转的角度;θ为图片绕世界坐标系y轴旋转的角度;φ为图片绕世界坐标系z轴旋转的角度。以上角度的计算是在世界坐标系下进行的,其中x轴y轴在天花板平面,z轴垂直于天花板平面。
在本实施例中,由于摄像头的成像面水平向下铺放在天花板上,而标识码平铺粘贴在碰碰车上,摄像头成像平面与标识码平面是平行的。故而角度的变化只有绕z轴的旋转角,旋转矩阵中绕x轴的旋转角ψ以及绕y轴的旋转角都为定值。绕z轴的旋转角是摄像头在X0Y平面上的方向角,也就是需要计算出的碰碰车实时朝向。对于旋转角φ,使用的计算公式为:
这样即可计算得出图像坐标系与世界坐标系之间的旋转角度。然后,分别获取每一帧图像的宽度和高度,最后将得到的第一坐标、第二坐标、图像的宽度和高度以及旋转角等参数,采用下列公式计算摄像头中心点的世界坐标:
其中,xf、yf为图像坐标系中Aruco码相对于图像中心点的坐标偏移量,可由Aruco码在图像坐标系中的坐标(X,Y)以及图像的宽Image_width、图像的高Image_height计算得出;a为不同坐标系之间的缩放系数;d1为图像坐标系中标识码边长,d2为世界坐标系中标识码边长;x0、y0为摄像头中心点在世界坐标系中的坐标,;xt、yt为标识码在世界坐标系中的坐标。
在本实施例中,通过标识码码在图像坐标系中相对于图像中心点的偏移量,等比放大到世界坐标系中,从而得出标识码在世界坐标系中相对于摄像机中心点的偏移量,最后利用每个高速摄像头在世界坐标系中已知坐标来计算出碰碰车上标识码的中心点世界坐标,即第三坐标。
在所述步骤S302中,所述运动信息指的是移动物体在世界坐标系内的运动信息,其包括坐标和方向。其中,所述坐标指的是所述第三坐标,所述方向用所述旋转角表示。由于所述若干摄像头同步拍摄,每一采集的时刻对应一个运动信息。进一步,在实际应用中,由于摄像头拍摄图像的速率要大于所述移动物体的移动速率,因此可以每间隔预设帧图像计算第三坐标和旋转角度,这样可以减小定位装置的运算符合,同时能够满足移动物体的定位需求。
在所述步骤S400中,所述显示数据指的是服务器根据所述运动信息生成的用于显示室内场景的数据。如图3所示,所述室内场景还包括与每个移动物体一一对应的VR设备(例如,VR头盔,VR眼镜等)。在所述场景中,由于获取得到的标识码的中心点的世界坐标即为移动物体的世界坐标,所述旋转角度为所述移动物体的偏转角度(即朝向),因此定位装置将获取得到的第三坐标和旋转角度发送至服务器,由服务器发布移动物体的坐标和方向信息。其具体过程为:
S401、依次将每帧图像对应的运动信息发送至服务器;
S402、服务器对接收到的运动信息进行插值和滤波处理后,根据处理后的运动信息更新室内场景的显示数据;
S403、将更新后的显示数据发送至与其相连的所有VR设备。
具体地,在所述步骤S402中,Aruco的demo算法有时无法识别出高速摄像头视野中的Aruco码,也就是说摄像头获取图像的某些帧无法得到坐标与方向的信息,这就会导致坐标与方向数据不连贯。与此同时,每一次计算Aruco码在图像坐标系中的坐标(X,Y)以及绕z轴的旋转角φ时都会产生些许误差,从而导致坐标与方向的数据抖动。对于第一个问题,在获取到Aruco码的中心点世界坐标以及方向信息后,对所得到的世界坐标和方向角的数值进行线性插值来消除数据不连贯性,该线性插值函数为Unity游戏开发引擎自带插值函数,因此只需将想要插值的数据输入函数接口,然后调整函数参数直至插值效果达到要求即可;对于第二个问题,分别对所得到的世界坐标与方向角数据使用了卡尔曼滤波器来消除因误差而产生的抖动,卡尔曼滤波器函数来自OpencvForUnity工具包,因此只需将想要滤波的数据输入函数接口,然后调整过程噪声和测量噪声这两个参数直到滤波效果达到要求即可。
进一步,可以预先设置移动物体与VR设备的对应关系,使得二者一一对应。即每一个碰碰车上配置有一个定位装置及一个VR设备。对于每一个碰碰车都设置了一个IP用来将该车上的定位装置与VR设备相关联。因此,服务器在接收到定位装置发送的所述定位装置相对应的碰碰车的坐标和移动方向信息时,获取所述坐标和移动方向信息中携带的IP,并根据所述IP查找到其对应的第一VR设备,以将所述坐标和移动方向信息分配给所述IP对应的第一VR设备,以标定所述坐标和移动方向信息为所述第一VR设备对应的定位信息。然后将标定有第一VR设备的坐标和移动方向信息通过UDP广播传输给局域网内的所有VR设备这样,通过服务器,一方面可以同时接收并发送所有定位端的数据,另一方面可以通过指定IP来让每一个碰碰车上的VR头盔都可以在游戏场景中看到自己的碰碰车与别人的碰碰车。
相对应地,在所述步骤S500中,局域网内的VR设备接收服务器发送的携带有坐标和移动信息的广播,并根据所述坐标和移动信息在预设的游戏场景中更新所述第一VR设备对应的碰碰车的位置信息。。在本实施例中,每个VR设备对应一个视角,因此在此之前还包括为每以VR设备分配视角的步骤,当VR设备接收到服务器发送的显示数据时,将所述显示数据按照其对应的预设视角来显示所述室内场景。这样,每个碰碰车上的玩家都会通过VR头盔看到自己的车和其他玩家的车的实时动态,这样就可以在将VR游戏场景与预设世界坐标系相关联,以增强玩家身临其境的感受,从而增加了游戏的趣味性。
本发明还提供了一种存储介质,其存储有多条指令,所述指令适于由处理器加载并执行如上任一所述的室内定位方法。
本发明还提供了一种定位装置,如图4所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据定位装置的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及定位装置中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种VR游戏的室内定位方法,其特征在于,其包括:
在室内天花板上按照预设规则布设若干摄像头,并通过所述若干摄像头同步拍摄粘贴有标识码的移动物体,所述标识码平铺在移动物体上,所述标识码所处的平面与水平面平行,与天花板平行的摄像头成像平面也与所述标识码所处的平面平行;
每间隔预设时间获取所述标识码对应的图像,并确定所述图像对应的摄像头在预设世界坐标系内的第一坐标,以及所述标识码在所述图像中的第二坐标;
根据所述第一坐标和第二坐标计算所述标识码在预设世界坐标系内的第三坐标,以得到所述移动物体的运动信息;
依次将所述移动物体的运动信息发送至服务器,以使得服务器根据接收到的运动信息更新室内场景的显示数据,并将更新后的显示数据发送至与其相连的所有VR设备;
VR设备接收所述显示数据,并按照其对应的预设视角显示所述显示数据对应的室内场景;
其中,所述根据所述第一坐标和第二坐标计算所述标识码在预设世界坐标系内的第三坐标,以得到所述移动物体的运动信息具体包括:
采用旋转矩阵计算所述图像对应的预设图像坐标系与所述预设世界坐标系之间的旋转角,并获取图像的宽度和高度;
根据图像的宽度和高度、所述旋转角、所述第一坐标以及所述第二坐标计算出所述标识码在所述预设世界坐标系内的第三坐标。
2.根据权利要求1所述VR游戏的室内定位方法,其特征在于,所述每间隔预设时间获取所述标识码对应的图像,并确定所述图像对应的摄像头在预设世界坐标系内的第一坐标,以及所述标识码在所述图像中的第二坐标具体包括:
每间隔预设时间获取所述若干摄像头采集到的第一图像,并在获取到的第一图像中筛选出第二图像,其中,所述第二图像中包含所述标识码;
按照预设规则在筛选出的第二图像中选择所述标识码对应的图像,并将所述图像对应的摄像头作为参照物;
确定参照物在预设世界坐标系内的第一坐标,以及所述标识码在所述图像中的第二坐标。
3.根据权利要求1所述VR游戏的室内定位方法,所述每间隔预设时间获取所述若干摄像头采集到的第一图像,并在获取到的第一图像中筛选出第二图像,其中,所述第二图像中包含所述标识码具体包括:
每间隔预设时间获取所述若干摄像头采集到的第一图像,并分别识别获取到的所有第一图像,以判断所述第一图像中是否包含所述标识码;
保留包含有所述标识码的第一图像,并记为第二图像。
4.根据权利要求3所述VR游戏的室内定位方法,其特征在于,所述每间隔预设时间获取所述若干摄像头采集到的第一图像,并分别识别获取到的所有第一图像,以判断所述第一图像中是否包含所述标识码具体包括:
每间隔预设时间获取所述若干摄像头采集到的第一图像,并分别对获取到的第一图像进行识别以提取候选码轮廓;
对提取到的所有候选码轮廓中的图案进行识别,以得到每个候选码轮廓对应的标识码ID;
根据识别到的所有标识码ID分别判断获取到的第一图像中是否包含有标识码。
5.根据权利要求2所述VR游戏的室内定位方法,其特征在于,所述按照预设规则在筛选出的第二图像中选择所述标识码对应的图像具体包括:
分别在所有第二图像中建立预设图像坐标系,并在每个预设图像坐标系中计算所述标识码距离每个第二图像中心点的欧氏距离;
选择欧氏距离最小的第二图像作为所述标识码对应的图像,并将所述图像对应的摄像头作为参照物。
7.根据权利要求1所述VR游戏的室内定位方法,其特征在于,所述依次将所述移动物体的运动信息发送至服务器,以使得服务器根据接收到的运动信息更新室内场景的显示数据,并将更新后的显示数据发送至与其相连的所有VR设备具体包括:
依次将每帧图像对应的运动信息发送至服务器;
服务器对接收到的运动信息进行插值和滤波处理后,根据处理后的运动信息更新室内场景的显示数据;
将更新后的显示数据发送至与其相连的所有VR设备。
8.一种存储介质,其特征在于,其存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-7任一所述的VR游戏的室内定位方法。
9.一种VR游戏的室内定位装置,其特征在于,其包括:
处理器,适于实现各指令;以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行如权利要求1-7任一所述的VR游戏的室内定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710984634.9A CN107977977B (zh) | 2017-10-20 | 2017-10-20 | 一种vr游戏的室内定位方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710984634.9A CN107977977B (zh) | 2017-10-20 | 2017-10-20 | 一种vr游戏的室内定位方法、装置以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107977977A CN107977977A (zh) | 2018-05-01 |
CN107977977B true CN107977977B (zh) | 2020-08-11 |
Family
ID=62012538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710984634.9A Active CN107977977B (zh) | 2017-10-20 | 2017-10-20 | 一种vr游戏的室内定位方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107977977B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108771866B (zh) * | 2018-05-29 | 2021-09-24 | 网易(杭州)网络有限公司 | 虚拟现实中的虚拟对象控制方法及装置 |
CN110826375B (zh) * | 2018-08-10 | 2022-08-12 | 广东虚拟现实科技有限公司 | 显示方法、装置、终端设备及存储介质 |
CN109063799B (zh) * | 2018-08-10 | 2020-06-16 | 珠海格力电器股份有限公司 | 设备的定位方法和装置 |
TWI668464B (zh) * | 2018-09-10 | 2019-08-11 | 和碩聯合科技股份有限公司 | 移動式電子裝置的定位方法及定位系統 |
CN109374003A (zh) * | 2018-11-06 | 2019-02-22 | 山东科技大学 | 一种基于ArUco码的移动机器人视觉定位与导航方法 |
CN109544472B (zh) * | 2018-11-08 | 2022-06-21 | 苏州佳世达光电有限公司 | 对象驱动装置及对象驱动方法 |
CN109540144A (zh) * | 2018-11-29 | 2019-03-29 | 北京久其软件股份有限公司 | 一种室内定位方法及装置 |
CN109743675A (zh) * | 2018-12-30 | 2019-05-10 | 广州小狗机器人技术有限公司 | 室内定位方法及装置、存储介质和电子设备 |
CN109886278A (zh) * | 2019-01-17 | 2019-06-14 | 柳州康云互联科技有限公司 | 一种基于ARMarker的图像特征采集方法 |
CN113465600B (zh) * | 2020-03-30 | 2024-05-28 | 浙江宇视科技有限公司 | 一种导航方法、装置及电子设备和存储介质 |
CN112631431B (zh) * | 2021-01-04 | 2023-06-16 | 杭州光粒科技有限公司 | Ar眼镜的位姿确定方法、装置及设备、存储介质 |
CN113108793A (zh) * | 2021-03-25 | 2021-07-13 | 深圳宏芯宇电子股份有限公司 | 室内协同定位方法、设备以及计算机可读存储介质 |
CN113436178A (zh) * | 2021-07-02 | 2021-09-24 | 鹏城实验室 | 机器人状态检测方法、装置、设备、程序产品及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1696606A (zh) * | 2004-05-14 | 2005-11-16 | 佳能株式会社 | 用于获得目标物体的位置和方位的信息处理方法和设备 |
CN101026778A (zh) * | 2007-03-14 | 2007-08-29 | 北京理工大学 | Ccd摄像系统的畸变测量校正方法和综合测试靶 |
CN101809993A (zh) * | 2007-07-29 | 2010-08-18 | 奈米光子有限公司 | 利用旋转对称广角透镜获得全景图像的方法及其设备 |
CN102592124A (zh) * | 2011-01-13 | 2012-07-18 | 汉王科技股份有限公司 | 文本图像的几何校正方法、装置和双目立体视觉系统 |
CN105737820A (zh) * | 2016-04-05 | 2016-07-06 | 芜湖哈特机器人产业技术研究院有限公司 | 一种室内机器人定位导航方法 |
CN106352871A (zh) * | 2016-08-31 | 2017-01-25 | 杭州国辰牵星科技有限公司 | 一种基于天花板人工信标的视觉室内定位系统和方法 |
-
2017
- 2017-10-20 CN CN201710984634.9A patent/CN107977977B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1696606A (zh) * | 2004-05-14 | 2005-11-16 | 佳能株式会社 | 用于获得目标物体的位置和方位的信息处理方法和设备 |
CN101026778A (zh) * | 2007-03-14 | 2007-08-29 | 北京理工大学 | Ccd摄像系统的畸变测量校正方法和综合测试靶 |
CN101809993A (zh) * | 2007-07-29 | 2010-08-18 | 奈米光子有限公司 | 利用旋转对称广角透镜获得全景图像的方法及其设备 |
CN102592124A (zh) * | 2011-01-13 | 2012-07-18 | 汉王科技股份有限公司 | 文本图像的几何校正方法、装置和双目立体视觉系统 |
CN105737820A (zh) * | 2016-04-05 | 2016-07-06 | 芜湖哈特机器人产业技术研究院有限公司 | 一种室内机器人定位导航方法 |
CN106352871A (zh) * | 2016-08-31 | 2017-01-25 | 杭州国辰牵星科技有限公司 | 一种基于天花板人工信标的视觉室内定位系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107977977A (zh) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107977977B (zh) | 一种vr游戏的室内定位方法、装置以及存储介质 | |
CN108810473B (zh) | 一种在移动平台上实现gps映射摄像机画面坐标的方法及系统 | |
US9424649B1 (en) | Moving body position estimation device and moving body position estimation method | |
EP3335153B1 (en) | Managing feature data for environment mapping on an electronic device | |
CN112880687A (zh) | 一种室内定位方法、装置、设备和计算机可读存储介质 | |
KR101879855B1 (ko) | 영상의 왜곡보정을 통해 공간모델링을 수행하는 수치지도제작 시스템 | |
CN107980138A (zh) | 一种虚警障碍物检测方法及装置 | |
CN107992793A (zh) | 一种室内定位方法、装置以及存储介质 | |
KR20110059506A (ko) | 복수의 이미지들로부터 카메라 파라미터를 얻기 위한 시스템과 방법 및 이들의 컴퓨터 프로그램 제품 | |
CN109903330A (zh) | 一种处理数据的方法和装置 | |
CN108668108B (zh) | 一种视频监控的方法、装置及电子设备 | |
CN107592922A (zh) | 用于对地面实施作业的方法 | |
CN111476876B (zh) | 一种三维影像渲染方法、装置、设备及可读存储介质 | |
US20210065397A1 (en) | Method and system for calculating spatial coordinates of region of interest, and non-transitory computer-readable recording medium | |
CN108460333B (zh) | 基于深度图的地面检测方法及装置 | |
CN110896331B (zh) | 一种测量天线工程参数的方法、装置和存储介质 | |
CN114034296A (zh) | 一种导航信号干扰源检测与识别方法及系统 | |
CN112967344A (zh) | 相机外参标定的方法、设备、存储介质及程序产品 | |
KR101234961B1 (ko) | 항공사진과 MMS(Mobile Mapping System) 기술을 이용한 자동 3D 공간 모델링 방법 및 시스템 | |
CN110765926B (zh) | 图画书识别方法、装置、电子设备和存储介质 | |
CN113034347A (zh) | 倾斜摄影图像处理方法、装置、处理设备及存储介质 | |
KR101234917B1 (ko) | 가중치 적용된 임계값에 의한 영상 보정을 이용하는 3차원 공간 데이터 생성 방법 및 시스템 | |
CN114494582A (zh) | 一种基于视觉感知的三维模型动态更新方法 | |
CN113610702A (zh) | 一种建图方法、装置、电子设备及存储介质 | |
KR101879858B1 (ko) | 보정 영상으로부터 추출된 대상 객체의 좌표 정보와 항공사진의 좌표 정보를 비교하여 공통점을 추출함으로써 공간데이터를 모델링하는 공간 모델링 시스템 |
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 |