基于空间拓扑关系的新型标志区域校验方法

文档序号:6538572阅读:178来源:国知局
基于空间拓扑关系的新型标志区域校验方法
【专利摘要】本发明是一种基于空间拓扑关系的新型标志区域校验方法,解决在室内大型三维仿真射击指向游戏中,在红外识别技术对于指向的目标不准确甚至是错误的情况下,根据标志点的排布的空间关系,判断出所指向的标志点区域是否为完好的。由于摄像头所拍摄到的区域是整个屏幕的一部分,而且因为是大规模多人游戏,很有可能因阻挡而造成标志点部分区域的不完整性,得出不正确的区域中心坐标,从而得出错误的区域指向定位坐标。为了解决前面的红外灯识别可能造成的不正确的区域中心坐标以及区域标志点数量,要应用本技术对区域检测结果进行错误排除,保留正确区域,放弃错误区域,从而能够大幅度提高射击指向定位准确性。
【专利说明】基于空间拓扑关系的新型标志区域校验方法
[0001]【【技术领域】】
本发明应用于仿真射击游戏产业的指向定位校验系统,涉及一种基于空间拓扑关系的新型标志区域校验算法。
[0002]【【背景技术】】
随着大型游戏产业的发展,人们越来越追求室内游戏的三维逼真效果。在仿真射击游戏方面,游戏者对画面的实时效果要求较高,需要开发出比较实时和精确的指向定位技术。本校验算法应用于大规模的指向定位系统,对指向定位的结果进行校验和纠正,以便于完成对指向区域更加精确更加快速地定位。本发明采用了一种类似于计算机网络的路由表算法,将红外灯标志点排布于划分好的各个区域,以标志点的数量作为区域的编码。每个区域作为中心区域,即路由表的表头,区域的邻域按照空间顺时针排列作为子网拓扑。本算法通过读取中心区域,及其所对应的邻域的空间统计关系,来进行空间标志点区域校验。
[0003]本发明要解决的技术问题以及目的在于:本发明的目的在于提供一种能够大幅度提高射击指向定位准确性的新型标志区域校验的方法,解决在室内大型三维仿真射击指向游戏中,在红外识别技术对于指向的目标不准确甚至是错误的情况下,根据标志点的排布的空间关系,判断出所指向的标志点区域是否为完好的。由于摄像头所拍摄到的区域是整个屏幕的一部分,而且因为是大规模多人游戏,很有可能因阻挡而造成标志点部分区域的不完整性,得出不正确的区域中心坐标,从而得出错误的区域指向定位坐标。为了解决前面的红外灯识别可能造成的不正确的区域中心坐标以及区域标志点数量,要应用本技术对区域检测结果进行错误排除,保留正确区域,放弃错误区域。
[0004]本发明解决其技术问题所采用的技术方案是:
将需要定位的大屏幕按照等距离等面积的方式划分为多个区域,在每一个区域内排布不同数量的标志点。区域间的最小距离大于区域内标志点之间距离最大值的2倍,避免在图像畸变情况下区域识别出现错误,即将不是同一个区域的红外标志点划分为同一个区域。区域的个数最为η个(η ≥3),具体的区域个数根据屏幕大小来设计。每个区域内标志点的个数表征了区域的属性,即若某区域内有5个标志点,那么我们称这个区域为5号区域,以此来表征与其他区域的不同;
每个区域都有相对应的邻域,按照各个区域的相邻与否划分出每个区域的邻域。当选定邻域半径时,距离待 判定区域近于邻域半径的区域都是邻域区域。由于待判定区域与邻域之间的关系具有旋转不变性,包括待判定区域与邻域的标志点个数关系以及邻域的角度关系。这种某特定区域与其邻域间的空间拓扑关系可以用路由表的形式表征出来。为了路由表的唯一性,我们将邻域中标志点最少的区域排在邻域表的首位。为了便于理解,以下文中的图1为例,屏幕上布置了 11个区域,固定邻域半径后,可以得到如图2所示的路由表。当待判定的区域为I号区域时,其邻域为2号区域和7号区域,且2号区域排在最前面。当待判定的区域为2号区域时,其邻域按照顺时针方向排列,且I号区域排在最前面,依次为I号区域、3号区域、8号区域和7号区域。可见,按照这种设计,待判定区域与其邻域间可以通过路由表唯一确定。因此,由具有唯一性的路由表可以判定中心区域的对错,保留正确的区域进行坐标计算;
将摄像头所拍摄到的各个区域进行统计,算出所有区域的个数和每个区域的标志点数
量;
求出上述各个区域之间的距离并排序得出区域间最小距离Dis_Reg_Min,设定区域间阈值为Threshold_Region = (1.3~1.9)* Dis_Reg_Min,区域间最小距离的倍数是根据整个大屏幕的的大小、区域的排布数量以及排布方式等具体实验环境来进行确定;
根据区域间阈值ThresholcLRegion判断每个区域的邻域,如果满足两个区域之间的距离小于或者等于区域间阈值,则可以认为一个区域为另一个区域的邻域,并求出每个区域的所有邻域Neighbour_Region以及邻域的个数nTotalNeighbour ;
对比路由表,查找并判断一个区域的邻域是否与路由表里的相应邻域对应,如果能够找到路由表里相对应的邻域,则正确邻域数加上I ;如果没能找到,则错误的邻域数加上1,并判断每个区域的邻域的正确率PercentCorrectNeighbour,以此为依据判断此区域是否正确;正确率的计算方法为正确的邻域的个数除以所有的邻域的个数,如果一个区域的正确率大于0.5,则初步判断此区域为正确区域,并将此区域保存下来,存为正确区域;然后算出正确区域的个数为ReserveRegion,正确区域的坐标为X_Region_Reserve, Y_Region_Reserve ;如果一个区域的正确率小于或者等于0.5,则初步判断此区域为错误区域;
求出保留后各个区域之间的距离Dis_Reg_C0nfirm,然后再次求保留后各个区域的距离邻域的阈值Threshold_Region_Confirm,先求出保留区域之间的最小距离Dis_Reg_Min,然后根据最小距离的1.3^1.9倍来求出保留区域距离的阈值;再对每个保留区域为中心求出邻域 Neighbour_Region_Confirm ;
判断邻域的角度Reg_Angle,判断方法如下:首先求出中心区域与邻域的X轴和Y轴坐标差值Dist_x, Dist_y。然后根据Dist_x和Dist_y的正负判断其角度Reg_Angle ;
将邻域的角度按照由小到大排列,对比按照顺时针排序的路由表,判断保留区域的正误,如果有任何一个邻域不满足角度关系,判断该初步保留的中心区域是错误的,则排除这个区域是射击的区域;如果所有邻域满足路由表所规定的角度顺序,则继续保留这个区域,并最终确定为是射击的区域。
[0005]本发明是一种应用于大规模指向定位校验系统的基于空间拓扑关系的新型标志区域校验算法,具有以下优点:
(1)在本发明的技术方案中,采用了区域化分型标志点,将屏幕按照均面积和均距离的规律划分为多个区域,区域之间具有邻域的相互关系,将各个区域的邻域计入路由表中,各个区域相互关联形成固定的拓扑关系。
[0006](2)在本发明的技术方案中,由于相邻区域的距离相等,每个区域都有不同的邻域,这样无论旋转还是障碍物遮挡都不能改变区域的相对位置,使得该校验方法抗干扰能力(鲁棒性)强,准确性高,从而能够大幅度提高射击指向定位准确性。
【专利附图】

【附图说明】
[0007]图1是本发明实施例一的标志点的排布示意图(在屏幕上布设11个标志点区域时),其中每个格子方块代表一个标志点排布编码区域,每个格子方块中黑点代表排布的标志点。这只是以上技术的一个实现案例,便于讲述后面的【具体实施方式】;图2是本发明实施例一的空间排布路由表;
图3是本发明实施例二的标志点的排布示意图(在屏幕上布设8个标志点区域);
图4是本发明实施例二的空间排布路由表;
图5是本发明实施例三的标志点的排布示意图(在屏幕上布设22个标志点区域)
图6是本发明实施例三的空间排布路由表。
[0008]上述三个路由表,是区域排布对应其中每个区域的邻域按照空间方位顺时针排列的,其中第一列是待判定区域所具有的标志点数量,即中心区域的编号,后面各列是邻域所对应的编号。
【具体实施方式】
[0009]在实施例一中,一种基于空间拓扑关系的新型标志区域校验方法包括如下步骤:
1、划分区域:如图1所 示,将用于射击的大屏幕按照等距离等面积的方式划分成11个
区域,根据本发明要求,在每个区域内排布不同数量的标志点,每个区域内标志点的数量作为该区域的编号。标志点的排布必须遵循下面的要求,即各个区域间的最小距离大于区域内标志点之间距离最大值的2倍;
2、建立标志点区域空间排布路由表:将每个区域作为中心区域,即路由表的表头;将该区域的相邻区域(下面简称为邻域)按照空间顺时针排列作为子网拓扑,然后将每个区域的邻域按照空间方位顺时针排列制成路由表,其中第一列是待判定区域所具有的标志点数量,后面各列是各邻域所对应的编号,如图2所示,这是根据各个区域之间的空间相互关联形成固定的拓扑关系;
3、将摄像头所拍摄到的区域进行统计,这部分区域可能包括几个完整的区域(及该区域的所有标志点都能被拍到)或部分不完整的区域,算出所有区域的个数和每个区域的中心坐标及标志点数量。区域中心坐标为数组X_Region, Y_Region (X_Region是X轴方向坐标,对应于水平方向;Y_Region是Y方向坐标,对应于竖直方向),每个区域的标志点数量为nLabelRegion,得到的所有区域的个数为NumberAlIRegion。
[0010]4、首先求出各个区域之间的距离Dis_Reg,距离公式运用了数学上基本的两点间距离公式。将区域距离排序得出区域间最小距离Dis_Reg_Min,设定区域间阈值为Threshold_Region =(1.3~1.9) * Dis_Reg_Min。即区域间阈值设定为区域间最小距离的的1.3^1.9倍,这个倍数不是固定的,他应该根据整个大屏幕的的大小、区域的排布数量以及排布方式等具体实验环境来进行确定,这个倍数的范围在1.3^1.9之间。
[0011]5、根据区域间阈值Threshold_Region判断每个区域的邻域。如果满足两个区域之间的距离小于或者等于区域间阈值,则可以认为一个区域为另一个区域的邻域。按照这个公式求出每个区域的所有邻域Neighbour_Region以及邻域的个数nTotalNeighbour。
[0012]6、对比路由表TabRoute (如图2所示),查找并判断一个区域的邻域是否与路由表里的相应邻域对应。如果能够找到路由表里相对应的邻域,则正确邻域数加上I ;如果没能找到,则错误的邻域数加上I。判断每个区域的邻域的正确率PercentCorrectNeighbour,以此为依据判断此区域是否正确。正确率的计算方法为正确的邻域的个数除以所有的邻域的个数(正确区域与错误区域之和)。如果一个区域的正确率大于0.5,则初步判断此区域为正确区域,并将此区域保存下来,存为正确区域。正确区域的个数为ReserveRegion,正确区域的坐标为X_Region_Reserve, Y_Region_Reserve。如果一个区域的正确率小于或者等于
0.5,则初步判断此区域为错误区域。
[0013]7、求出保留后各个区域之间的距离Dis_Reg_C0nfirm,距离公式运用了数学上基本的两点间距离公式。然后再次求保留后各个区域的距离邻域的阈值Thresh0ld_Regi0n_Confirm,先求出保留区域之间的最小距离Dis_Reg_Min,然后根据1.3至1.9倍的最小距离求出保留区域距离的阈值。以每个保留区域为中心求出邻域Neighbour_Region_Confirm。
[0014]8、判断邻域的角度Reg_Angle,判断方法如下:首先求出中心区域与邻域的X轴和Y轴坐标差值Dist_x,Dist_y。然后根据Dist_x和Dist_y的正负判断其角度Reg_Angle。这个方法根据区间及其坐标的正负关系,准确的判断出每个保留区域的邻域的对应角度Reg—Angle。
[0015]9、将邻域的角度按照由小到大排列。对比按照顺时针排序的路由表,判断保留区域的正误。如果有任何一个邻域不满足角度关系,判断该初步保留的中心区域是错误的,则排除这个区域。如果所有邻域满足路由表所规定的角度顺序,则继续保留这个区域。这个保留的区域就成为射击的正确区域,从而完成区域的校验。
[0016]其中,所述【具体实施方式】的步骤3到步骤6属于通过路由表中的区域内标志点数目关系对指向区域进行初次的判断,可能会出现少许的错判和误判。
[0017]其中,所述【具体实施方式】的步骤7到步骤9是对前面初次判断的结果利用角度排列顺序进行再次的检查和纠正。
[0018]由于先对比路由表,初次判断某一区域的正确性;再次通过对比角度顺时针排列路由表,对初次判断的结果进行再次的检查和纠正。无论角度的旋转还是障碍物遮挡都不能改变区域的相对位置,通过这两个环节的校验,使得该校验方法抗干扰能力(鲁棒性)强,准确性高,从而能够大幅度提高射击指向定位准确性。
[0019]在图3、4所示的实施例二中,【具体实施方式】和实施例一基本一致,但由于其屏幕尺寸比实施例一的小,为此将屏幕分成8个标志点区域;另外屏幕上各个标志点区域的大小和标志点区域之间的距离是基本一致的。
[0020]在图5、6所不的实施例三中,【具体实施方式】也和实施例一基本一致,但由于其屏幕尺寸比实施例一的大,为此将屏幕分割成22个标志点区域;另外,屏幕上各个标志点区域的大小和标志点区域之间的距离是基本一致的。
[0021]以上所具体描述的,是一种应用于大规模的指向定位校验系统的基于空间拓扑关系的新型标志区域校验算法。文中对本发明的原理,技术方案和实施方式进行了详细的阐述,以上具体实施步骤内容只是为了帮助理解,并不限定本发明的保护范围,本发明适用于三个区域以上的具有唯一路由表所限定的空间拓扑关系的空间定位场合,凡在本发明的核心思想和原则之内,做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于空间拓扑关系的新型标志区域校验方法,其特征在于包括如下步骤: 1)、划分区域:将用于射击的大屏幕按照等距离等面积的方式划分成不少于3个区域,在每个区域内排布不同数量的标志点,区域间的最小距离大于区域内标志点之间距离最大值的2倍; 2)、建立路由表:将每个区域作为中心区域,即路由表的表头,区域的邻域按照空间顺时针排列作为子网拓扑,然后将每个区域的邻域按照空间方位顺时针排列制成路由表,其中第一列是待判定区域所具有的标志点数量,后面各列是各邻域所对应的编号; 3)、将摄像头所拍摄到的各个区域进行统计,算出所有区域的个数和每个区域的标志点数量; 4)、求出上述各个区域之间的距离并排序得出区域间最小距离Dis_Reg_Min,设定区域间阈值为 Threshold_Region = (1.3~1.9)* Dis_Reg_Min ; 5)、根据区域间阈值ThresholcLRegion判断每个区域的邻域,如果满足两个区域之间的距离小于或者等于区域间阈值,则可以认为一个区域为另一个区域的邻域,并求出每个区域的所有邻域Neighbour_Region以及邻域的个数nTotalNeighbour ; 6)、对比路由表,查找并判断一个区域的邻域是否与路由表里的相应邻域对应,如果能够找到路由表里相对应的邻域,则正确邻域数加上I ;如果没能找到,则错误的邻域数加上I,并判断每个区域的邻域的正确率PercentCorrectNeighbour,以此为依据判断此区域是否正确;正确率的计算方法为正确的邻域的个数除以所有的邻域的个数,如果一个区域的正确率大于0.5,则初步判断此区域为正确区域,并将此区域保存下来,存为正确区域;然后算出正确区域的个数为ReserveRegion,正确区域的坐标为X_Region_Reserve, Y_Region_Reserve ;如果一个区域的正确率小于或者等于0.5,则初步判断此区域为错误区域; 7)、求出保留后各个区域之间的距离Dis_Reg_C0nfirm,然后再次求保留后各个区域的距离邻域的阈值Thresho I d_Region_Conf irm,先求出保留区域之间的最小距离Di s_Reg_Min,然后根据最小距离的1.3^1.9倍来求出保留区域距离的阈值;再对每个保留区域为中心求出邻域 Neighbour_Region_Confirm ; 8)、判断邻域的角度Reg_Angle,判断方法如下:首先求出中心区域与邻域的X轴和Y轴坐标差值Dist_x, Dist_y,然后根据Dist_x和Dist_y的正负判断其角度Reg_Angle ; 9)、将邻域的角度按照由小到大排列,对比按照顺时针排序的路由表,判断保留区域的正误,如果有任何一个邻域不满足角度关系,判断该初步保留的中心区域是错误的,则排除这个区域是射击的区 域;如果所有邻域满足路由表所规定的角度顺序,则继续保留这个区域,并最终确定为是射击的区域。
【文档编号】G06F19/00GK103793615SQ201410062261
【公开日】2014年5月14日 申请日期:2014年2月25日 优先权日:2014年2月25日
【发明者】种衍文, 张大胜, 潘少明, 王莹莹, 王泽文 申请人:武汉大学, 中山市金马科技娱乐设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1