一种户外场景AR游戏定位装置和方法与流程

文档序号:27548489发布日期:2021-11-24 21:45阅读:374来源:国知局
一种户外场景AR游戏定位装置和方法与流程
一种户外场景ar游戏定位装置和方法
技术领域:
1.本发明属于ar技术领域,具体涉及一种户外场景ar游戏定位装置和方法。


背景技术:

2.增强现实技术(augmented reality,简称ar),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3d模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。这种技术1990年提出。目前ar技术的实现主要依赖于ar设备,目前主流ar设备分为两种:手持ar设备:以苹果的arkit开发平台和安卓的arcode为代表的手持ar设备,其原理是通过摄像头录制真实世界,再通过算法混入虚拟物品,最后通过屏幕呈现出混合之后的结果。头戴ar设备:以微软的hololens为代表,普遍以眼镜的形式存在,玩家可以通过眼镜看到真实世界,系统直接在镜片上投射虚拟物品,最后混合成像。
3.在现有的ar游戏机设备上,通常采用三种方式对设备进行定位:
4.1、marker

based ar
5.2、marker

less ar
6.3、lbs

based ar
7.这三种定位方式的缺点分析如下:
8.1、marker

based ar
9.这种实现方法需要一个事先制作好的marker(例如:绘制着一定规格形状的模板卡片或者二维码),然后把marker放到现实中的一个位置上,相当于确定了一个现实场景中的平面,然后通过摄像头对marker进行识别和姿态评估(pose estimation),并确定其位置,然后将该marker中心为原点的坐标系称为marker coordinates即模板坐标系,我们要做的事情实际上是要得到一个变换从而使模板坐标系和屏幕坐标系建立映射关系,这样我们根据这个变换在屏幕上画出的图形就可以达到该图形依附在marker上的效果,理解其原理需要一点3d射影几何的知识,从模板坐标系变换到真实的屏幕坐标系需要先旋转平移到摄像机坐标系(camera coordinates)然后再从摄像机坐标系映射到屏幕坐标系。
10.缺点:在游戏场景中,这样的marker很突兀,不能跟周围的环境很好地融合在一起。
11.2、marker

less ar
12.基本原理与marker based ar相同,不过它可以用任何具有足够特征点的物体(例如:书的封面)作为平面基准,而不需要事先制作特殊的模板,摆脱了模板对ar应用的束缚。它的原理是通过一系列算法(如:surf,orb,fern等)对模板物体提取特征点,并记录或者学习这些特征点。当摄像头扫描周围场景,会提取周围场景的特征点并与记录的模板物体的特征点进行比对,如果扫描到的特征点和模板特征点匹配数量超过阈值,则认为扫描到该模板,然后根据对应的特征点坐标估计tm矩阵,之后再根据tm进行图形绘制(方法与marker

based ar类似)。
13.缺点:需要对环境进行分析,提取周围场景的特征点,这些特征点容易受到天气、
光照、改建、装饰等因素的影响。
14.3、lbs

based ar
15.其基本原理是通过gps获取玩家的地理位置,然后从某些数据源(比如wiki,google)等处获取该位置附近物体(如周围的餐馆,银行,学校等)的poi信息,再通过移动设备的电子指南针和加速度传感器获取玩家手持设备的方向和倾斜角度,通过这些信息建立目标物体在现实场景中的平面基准(相当于marker),之后坐标变换显示等的原理与marker

based ar类似。
16.这种ar技术利用设备的gps功能及传感器来实现,摆脱了应用对marker的依赖,玩家体验方面要比marker

based ar更好,而且由于不用实时识别marker姿态和计算特征点,性能方面也好于marker

based ar和marker

less ar,因此对比marker

based ar和marker

less ar,lbs

based ar可以更好的应用到移动设备上。
17.缺点:定位精度比前两种方法差,而且需要庞大的外部数据库(wiki,google等),由于附近物体的复杂性(数据库与实物的信息同步问题)导致运算任务沉重。
18.但是现有的定位方法在计算复杂度上比较高,对环境和光照条件的要求也比较高。目前没有一种装置和方法,能够在ar游戏机端的数据处理器中,通过简单的算法实现自身定位。


技术实现要素:

19.本发明借助于在户外场景中,设置发光目标物,极大地简化了ar游戏中摄像头定位所需的计算量,从而通过简单的算法实现定位计算。
20.一种户外场景ar游戏定位装置,该装置包括游戏指令服务器、发光目标物和可控制发光目标物的遥控器。
21.游戏指令服务器通过无线网络控制遥控器,遥控器通过无线网络控制发光目标物的发光颜色和亮度。其中,游戏指令服务器将发光目标物的发光特征和在游戏场景中的位置信号通过无线发送给ar游戏机,ar游戏机根据实体摄像头捕获图像中的特征计算出玩家所在的位置。
22.发光目标物设置在户外场景中,由底座、支撑部和灯光部构成;底座通过支撑部与灯光部相连;底座内设置有供能组件,发光目标物内设置有无线收发模块。优选的:底座可以采用耐腐蚀材料,也可采用钢筋水泥等低成本材质制造;可以将底座放置地面上和/或埋入地下,可以使得整体更加坚固稳定。
23.灯光部为可以发出两种以上颜色的灯组成,且两种颜色为非近似色。非近似色指的是例如红、黄、蓝、绿彼此之间对比度差别较大的颜色。优选的:灯光部可以设置为竖向柱形或球形或椭球形等形状,便于计算机通过霍夫变换从图像中提取有效线条。使之在实体摄像头捕获的包含被点亮的发光目标物的场景图像中呈现出明显的图像特征,以提高发光目标物被识别的准确率。
24.灯光部顶部设置有太阳能和/或风能发电模块,供能组件为蓄电池和/或充放电电池组,太阳能和/或风能发电模块与充放电电池组相连。目的是能够将多余的电能储存起来以便于太阳能和/或风能发电量不足时使用。
25.一种户外场景ar游戏定位方法,玩家带有ar设备,所述ar设备由实体摄像头、显示
屏、加速度传感器和数据处理器构成;所述ar设备通过无线与游戏指令服务器建立信号连通;
26.s1.玩家进入户外场景的游戏区域,游戏指令服务器通过控制遥控器,将本游戏区域的发光目标物点亮,发光目标物显示出指定颜色;
27.s2.通过实体摄像头收集游戏中包含被点亮的发光目标物的场景图像,根据游戏指令服务器指定的颜色滤镜对图像进行过滤处理,对发光目标物进行识别;利用霍夫变换将指定类型的线条从场景图像中提取出来;对霍夫变换提取出来的有效线条进行处理,使之成为连续线条;其中,由于树叶或其他物体遮挡目标物等原因,造成霍夫变换提取出的特定颜色的线条有可能是不连续的,需要经过膨胀腐蚀算法,才能够将这种不连续的线条连接成连续线条。
28.s3.收集有效线条的长度和位置数据,通过数据处理器的计算处理,得出在ar游戏中的虚拟摄像头位置坐标;
29.s4.得出虚拟摄像头位置后,通过3d游戏引擎获得3d世界的渲染画面,背景保持透明,再将3d世界的渲染画面与ar摄像头拍摄的画面相融合,即可合成ar画面,在玩家的显示屏上显示出来。
30.同一个游戏场景下被点亮的发光目标物不应少于3个,且不处于同一平面上;避免因视角问题,发光目标物之间互相遮挡而造成数据误差。
31.若摄像头识别到发光目标物小于3个或大于5个时,则重新识别;
32.若摄像头识别到发光目标物等于3或4或5个时,根据两两之间发光目标物推算出来的摄像头的位置,取一致值作为计算结果;若数值偏差较大,则去掉离群值后,取平均位置作为计算结果。
33.实体摄像头同时识别到3个发光目标物,发光目标物a、发光目标物b和发光目标物c,设得到虚拟摄像头的位置坐标为(c
x
,c
z
),其中发光目标物a和发光目标物b之间距离为2n,实体摄像头距离发光目标物a的距离为d
a
,实体摄像头距离发光目标物b的距离为d
b
,则可以得到:
[0034][0035]

[0036]
其中解得c
z
的值有两个,一正一负,舍弃正值取负值,得到虚拟摄像头的位置坐标(c
x
,c
z
);
[0037]
远近不同的两个发光目标物a和发光目标物c,设发光目标物a和发光目标物c顶部或中心到水平大地基准面的高度分别为h
a
和h
c
,到实体摄像头的距离分别为d
a
和d
c
,发光目标物a和发光目标物c的顶端在发光目标物图像的成像上的高度差为dh
prj
;d
scn
是虚拟摄像头到虚拟屏幕的距离,这是一个虚拟的距离,与屏幕分辨率和3d场景的设计有关,是已知的不变量;
[0038][0039]
综上,从而得到虚拟摄像头的位置坐标为(c
x
,c
y
,c
z
)。
[0040]
其中,加速度传感器通过收集玩家在行进过程中的加速度值,通过惯性导航与计算机视觉定位相融合,从而修正在ar游戏中的虚拟摄像头位置坐标信息。
[0041]
其中,霍夫变换(hough)是一个非常重要的检测间断点边界形状的方法。它通过将图像坐标空间变换到参数空间,来实现直线与曲线的拟合。其中,步骤s2将所需线条从目标物图像中提取出来后,通过腐蚀膨胀边界线条,使之成为连续线条。腐蚀膨胀是形态学图像处理的术语,腐蚀在二值图像的基础上做“收缩”或“细化”操作,膨胀在二值图像的基础上做“加长”或“变粗”的操作。
[0042]
腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。用3x3的结构元素,扫描图像的每一个像素,用结构元素与其覆盖的二值图像做“与”操作,如果都为1,结果图像的该像素为1,否则为0,结果会使二值图像小一圈。
[0043]
膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。用3x3的结构元素,扫描图像的每一个像素,用结构元素与其覆盖的二值图像做“与”操作,如果都为0,结果图像的该像素为0,否则为1。结果使二值图像扩大一圈。
[0044]
先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显的改变其面积。先膨胀后腐蚀的过程称为比运算,用来填充物体内细小空间、连接邻近物体、平滑其边界的同时并不明显改变其面积。
[0045]
其中,d
scn
是虚拟摄像头到虚拟屏幕的距离,这是一个虚拟的距离,与屏幕分辨率和3d场景的设计有关,是已知的不变量;该常数可通过摄像头的技术资料算得,也可以通过对标准物体拍照算得:例如实体摄像头对坐标原点上长度为h
obj
的杆子进行拍摄后,记下杆子在照片图像上的长度h
prj
,通过下述公式得出d
scn
的值:
[0046][0047]
从而得出虚拟摄像头到目标物的距离:
[0048][0049]
其中:设目标物a在虚拟游戏空间中的坐标为(

n,0),目标物b在虚拟游戏空间中的坐标为(n,0),摄像头距离目标物a的物理距离为d
a
,摄像头距离目标物b的物理距离为d
b
,摄像头的位置坐标为(c
x
,c
z
),
[0050]

[0051]
其中解得c
z
的值有两个,一正一负,舍弃正值取负值。
[0052]
最后,得出虚拟摄像头位置后,通过3d游戏引擎获得3d世界的渲染画面,除ar发光目标物之外,其他背景保持透明,再将3d世界的渲染画面与ar摄像头拍摄的画面相融合,即可合成ar画面,在玩家的显示屏上显示出来。
[0053]
本发明的有益效果:通过上述定位系统能够简单高效地运算出ar游戏机摄像头和玩家在该游戏场景中的对应位置,综合成本较低,算法精度较高,可以社会推广使用。
附图说明:
[0054]
图1为本发明游戏场景的模拟图;
[0055]
图2为本发明当前游戏场景区域拍摄到的目标物图片;
[0056]
图3为本发明利用霍夫变换获得所需线条;
[0057]
图4为本发明利用霍夫变换处理之后形成的连续线条;
[0058]
图5为本发明求出发光目标物到实体摄像机的位置图示;
[0059]
图6为本发明求出虚拟摄像机到虚拟屏幕的距离图示;
[0060]
图7为本发明求出虚拟摄像头的位置坐标为(c
x
,c
z
)图示;
[0061]
图8为本发明求出虚拟摄像头的位置坐标c
y
图示;
具体实施方式:
[0062]
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本技术所限定的范围。
[0063]
实施例1:
[0064]
一种户外场景ar游戏定位装置,该装置包括游戏指令服务器、发光目标物和可控制发光目标物的遥控器。
[0065]
游戏指令服务器通过无线网络控制遥控器,遥控器通过无线网络控制发光目标物的发光颜色和亮度。其中,游戏指令服务器将发光目标物的发光特征和在游戏场景中的位置信号通过无线发送给ar游戏机,ar游戏机根据实体摄像头捕获图像中的特征计算出玩家所在的位置。
[0066]
发光目标物设置在户外场景中,由底座、支撑部和灯光部构成;底座通过支撑部与灯光部相连;底座内设置有供能组件,发光目标物内设置有无线收发模块。底座采用钢筋水泥制造,并埋入地下,可以使得整体更加坚固稳定。
[0067]
灯光部为红、绿两种颜色的灯组成,灯光部设置为竖向柱形,便于计算机通过霍夫变换从图像中提取有效线条。使之在实体摄像头捕获的包含被点亮的发光目标物的场景图像中呈现出明显的图像特征,以提高发光目标物被识别的准确率。
[0068]
灯光部顶部设置有太阳能发电模块,供能组件为充放电电池组,太阳能发电模块与充放电电池组相连。目的是能够将多余的电能储存起来以便于太阳能发电量不足时使用。
[0069]
实施例2:
[0070]
一种户外场景ar游戏定位装置,该装置包括游戏指令服务器、发光目标物和可控制发光目标物的遥控器。
[0071]
游戏指令服务器通过无线网络控制遥控器,遥控器通过无线网络控制发光目标物的发光颜色和亮度。使之在摄像头捕获的包含被点亮的发光目标物的场景图像中呈现出明显的图像特征,以提高发光目标物被计算机算法所识别的准确率。同时,游戏指令服务器将发光目标物的发光特征和在游戏场景中的位置信号通过无线发送给ar游戏机,ar游戏机根据摄像头捕获图像中的特征计算出玩家所在的位置。
[0072]
发光目标物设置在户外场景中,由底座、支撑部和灯光部构成;底座通过支撑部与灯光部相连;底座内设置有供能组件,发光目标物内设置有无线收发模块。底座采用耐腐蚀材料,且放置在地面上。
[0073]
灯光部为可以发出红、黄、蓝颜色的灯组成,对于城市场景中的建筑物存在大量直线线条的,灯光部设置为球形,便于计算机通过霍夫变换从图像中提取有效线条。
[0074]
灯光部顶部设置有风能发电模块,供能组件为蓄电池和充放电电池组,风能发电模块与充放电电池组相连。目的是能够将多余的电能储存起来以便于风能发电量不足时使用。
[0075]
实施例3:
[0076]
采用实施例1或2的装置;一种户外场景ar游戏定位方法,玩家带有ar设备,所述ar设备由实体摄像头、显示屏、加速度传感器和数据处理器构成;所述ar设备通过无线与游戏指令服务器建立信号连通;
[0077]
s1.玩家进入户外场景的游戏区域,游戏指令服务器通过控制遥控器,将本游戏区域的发光目标物点亮,发光目标物显示出指定红、绿颜色;
[0078]
s2.通过实体摄像头收集游戏中包含被点亮的发光目标物的场景图像,根据游戏指令服务器指定的颜色滤镜对图像进行过滤处理,对发光目标物进行识别;利用霍夫变换将指定类型的线条从场景图像中提取出来;对霍夫变换提取出来的有效线条进行处理,使之成为连续线条;其中,由于树叶或其他物体遮挡目标物等原因,造成霍夫变换提取出的特定颜色的线条有可能是不连续的,需要经过膨胀腐蚀算法,才能够将这种不连续的线条连接成连续线条。
[0079]
s3.收集有效线条的长度和位置数据,通过数据处理器的计算处理,得出在ar游戏中的虚拟摄像头位置坐标;
[0080]
s4.得出虚拟摄像头位置后,通过3d游戏引擎获得3d世界的渲染画面,除ar发光目标物之外,其他背景保持透明,再将3d世界的渲染画面与ar摄像头拍摄的画面相融合,即可合成ar画面,在玩家的显示屏上显示出来。
[0081]
同一个游戏场景下被点亮的发光目标物为4个时,根据两两之间发光目标物推算出来的摄像头的位置,取一致值作为计算结果;若数值偏差较大,则去掉离群值后,取平均位置作为计算结果。
[0082]
实体摄像头同时识别到3个发光目标物,发光目标物a、发光目标物b和发光目标物c,设得到虚拟摄像头的位置坐标为(c
x
,c
z
),其中发光目标物a和发光目标物b之间距离为2n,实体摄像头距离发光目标物a的距离为d
a
,实体摄像头距离发光目标物b的距离为d
b
,则可以得到:
[0083]
[0084]

[0085]
其中解得cz的值有两个,一正一负,舍弃正值取负值,得到虚拟摄像头的位置坐标(c
x
,c
z
);
[0086]
远近不同的两个发光目标物a和发光目标物c,设发光目标物a和发光目标物c顶部或中心到水平大地基准面的高度分别为为h
a
和h
c
,到实体摄像头的距离分别为d
a
和d
c
,发光目标物a和发光目标物c的顶端在发光目标物图像的成像上的高度差为dh
prj
;d
scn
是虚拟摄像头到虚拟屏幕的距离,这是一个虚拟的距离,与屏幕分辨率和3d场景的设计有关,是已知的不变量;
[0087][0088]
综上,从而得到虚拟摄像头的位置坐标为(c
x
,c
y
,c
z
)。
[0089]
其中,加速度传感器通过收集玩家在行进过程中的加速度值,通过惯性导航与计算机视觉定位相融合,从而修正在ar游戏中的虚拟摄像头位置坐标信息。
[0090]
实施例4:
[0091]
采用实施例2中的方法,游戏场景中测量得到n=10(米),目标物a的位置为(

n,0),目标物b的位置为(n,0)。
[0092]
将高度为1米的标准杆放置在物理场景坐标系原点处(在游戏虚拟世界中,这个位置也设置为坐标原点,并且游戏虚拟世界的坐标轴方向与物理场景的坐标轴方向相同),h
obj
=1米,实体摄像头距离标准杆d
obj
=10米,实体摄像头光轴对准标准杆进行拍摄,标准杆在图像中的高度h
prj
=0.025米,代入公式
[0093][0094]
得到:
[0095][0096]
即d
scn
=0.25(米),在本系统中,d
scn
作为常数使用,一次性测定之后不再改变。
[0097]
已知实体发光目标物a、发光目标物b和发光目标物c的的灯光部均为0.8米,则h
a
=h
b
=h
c
=0.8米,在实体摄像头所拍摄图像上的高度分别为ha
prj
=0.016米,hb
prj
=0.014米,代入公式
[0098][0099]
得到:
[0100]
[0101][0102]
得到d
a
=12.5(米),d
b
=14.3(米)。
[0103]
代入公式
[0104][0105]
得到:
[0106][0107]
得到c
x
=1.2(米)
[0108]
代入公式
[0109][0110]
得到:
[0111][0112]
或:
[0113][0114]
两个算式的结果相同,得到cz=
±
8.88(米),取负值,得到cz=

8.88(米)虚拟摄像头的位置坐标(c
x
,c
z
)为(1.2,

8.88)。
[0115]
设另一个发光目标物c位置为(

p,q),在设置发光目标物a、发光目标物c时,已知它们的规格是相同的,灯光部顶端距离理想水平地面的高度也是相同的h
c
=h
b
=h
a
=3米,这是已知量,在实体摄像头所拍摄图像上发光目标物hc
prj
=0.0096米。代入公式:
[0116][0117]
得到:
[0118][0119]
得到d
c
=20.83(米)。
[0120]
其中,当实体摄像头处于水平放置情况下,即当镜头无俯仰或倾斜,可通过图像旋转法校正图像,也可借助于加速度传感器测量重力加速度g的方向,使摄像头水平面垂直于g,通过惯性导航与计算机视觉定位相融合。此时从图像中测得发光目标物a的顶端和发光目标物c的顶端的高度差dh
prj
为0.012米。代入公式:
[0121]
[0122]
得到:
[0123][0124]
得到c
y
=1.5(米),最终得出虚拟摄像头的位置坐标(c
x
,c
y
,c
z
)为(1.2,1.5,

8.88)。
[0125]
加速度传感器通过收集玩家在行进过程中的加速度值,通过惯性导航与计算机视觉定位相融合,从而修正在ar游戏中的虚拟摄像头位置坐标信息。
[0126]
其中,在3d虚拟世界中,也有一个摄像头;这个摄像头相对于3d世界的位置,决定了3d世界的“视角”;ar游戏的关键点,就是让现实世界和虚拟世界相重合,玩家在现实世界中移动ar游戏机,数据处理器要在3d虚拟世界中相应地移动虚拟摄像机的位置,这样才能保证虚拟世界的视角与现实世界的视角相一致。
[0127]
得到摄像头在物理世界中的位置,就等于得到了虚拟摄像头在虚拟世界中的位置,两个世界是等同的关系,图像才能叠加在一起。得出虚拟摄像头位置后,通过3d游戏引擎获得3d世界的渲染画面,背景保持透明,再将3d世界的渲染画面与ar摄像头拍摄的画面相融合,即可合成ar画面,在玩家的显示屏上显示出来。
[0128]
显而易见,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,这样,倘若本发明的这些修改和变型属于本发明的权利要求积极等同技术的范围之内,则本发明也意途包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1