基于空間拓撲關系的新型標志區(qū)域校驗方法
【專利摘要】本發(fā)明是一種基于空間拓撲關系的新型標志區(qū)域校驗方法,解決在室內大型三維仿真射擊指向游戲中,在紅外識別技術對于指向的目標不準確甚至是錯誤的情況下,根據標志點的排布的空間關系,判斷出所指向的標志點區(qū)域是否為完好的。由于攝像頭所拍攝到的區(qū)域是整個屏幕的一部分,而且因為是大規(guī)模多人游戲,很有可能因阻擋而造成標志點部分區(qū)域的不完整性,得出不正確的區(qū)域中心坐標,從而得出錯誤的區(qū)域指向定位坐標。為了解決前面的紅外燈識別可能造成的不正確的區(qū)域中心坐標以及區(qū)域標志點數量,要應用本技術對區(qū)域檢測結果進行錯誤排除,保留正確區(qū)域,放棄錯誤區(qū)域,從而能夠大幅度提高射擊指向定位準確性。
【專利說明】基于空間拓撲關系的新型標志區(qū)域校驗方法
[0001]【【技術領域】】
本發(fā)明應用于仿真射擊游戲產業(yè)的指向定位校驗系統(tǒng),涉及一種基于空間拓撲關系的新型標志區(qū)域校驗算法。
[0002]【【背景技術】】
隨著大型游戲產業(yè)的發(fā)展,人們越來越追求室內游戲的三維逼真效果。在仿真射擊游戲方面,游戲者對畫面的實時效果要求較高,需要開發(fā)出比較實時和精確的指向定位技術。本校驗算法應用于大規(guī)模的指向定位系統(tǒng),對指向定位的結果進行校驗和糾正,以便于完成對指向區(qū)域更加精確更加快速地定位。本發(fā)明采用了一種類似于計算機網絡的路由表算法,將紅外燈標志點排布于劃分好的各個區(qū)域,以標志點的數量作為區(qū)域的編碼。每個區(qū)域作為中心區(qū)域,即路由表的表頭,區(qū)域的鄰域按照空間順時針排列作為子網拓撲。本算法通過讀取中心區(qū)域,及其所對應的鄰域的空間統(tǒng)計關系,來進行空間標志點區(qū)域校驗。
[0003]本發(fā)明要解決的技術問題以及目的在于:本發(fā)明的目的在于提供一種能夠大幅度提高射擊指向定位準確性的新型標志區(qū)域校驗的方法,解決在室內大型三維仿真射擊指向游戲中,在紅外識別技術對于指向的目標不準確甚至是錯誤的情況下,根據標志點的排布的空間關系,判斷出所指向的標志點區(qū)域是否為完好的。由于攝像頭所拍攝到的區(qū)域是整個屏幕的一部分,而且因為是大規(guī)模多人游戲,很有可能因阻擋而造成標志點部分區(qū)域的不完整性,得出不正確的區(qū)域中心坐標,從而得出錯誤的區(qū)域指向定位坐標。為了解決前面的紅外燈識別可能造成的不正確的區(qū)域中心坐標以及區(qū)域標志點數量,要應用本技術對區(qū)域檢測結果進行錯誤排除,保留正確區(qū)域,放棄錯誤區(qū)域。
[0004]本發(fā)明解決其技術問題所采用的技術方案是:
將需要定位的大屏幕按照等距離等面積的方式劃分為多個區(qū)域,在每一個區(qū)域內排布不同數量的標志點。區(qū)域間的最小距離大于區(qū)域內標志點之間距離最大值的2倍,避免在圖像畸變情況下區(qū)域識別出現錯誤,即將不是同一個區(qū)域的紅外標志點劃分為同一個區(qū)域。區(qū)域的個數最為η個(η ≥3),具體的區(qū)域個數根據屏幕大小來設計。每個區(qū)域內標志點的個數表征了區(qū)域的屬性,即若某區(qū)域內有5個標志點,那么我們稱這個區(qū)域為5號區(qū)域,以此來表征與其他區(qū)域的不同;
每個區(qū)域都有相對應的鄰域,按照各個區(qū)域的相鄰與否劃分出每個區(qū)域的鄰域。當選定鄰域半徑時,距離待 判定區(qū)域近于鄰域半徑的區(qū)域都是鄰域區(qū)域。由于待判定區(qū)域與鄰域之間的關系具有旋轉不變性,包括待判定區(qū)域與鄰域的標志點個數關系以及鄰域的角度關系。這種某特定區(qū)域與其鄰域間的空間拓撲關系可以用路由表的形式表征出來。為了路由表的唯一性,我們將鄰域中標志點最少的區(qū)域排在鄰域表的首位。為了便于理解,以下文中的圖1為例,屏幕上布置了 11個區(qū)域,固定鄰域半徑后,可以得到如圖2所示的路由表。當待判定的區(qū)域為I號區(qū)域時,其鄰域為2號區(qū)域和7號區(qū)域,且2號區(qū)域排在最前面。當待判定的區(qū)域為2號區(qū)域時,其鄰域按照順時針方向排列,且I號區(qū)域排在最前面,依次為I號區(qū)域、3號區(qū)域、8號區(qū)域和7號區(qū)域。可見,按照這種設計,待判定區(qū)域與其鄰域間可以通過路由表唯一確定。因此,由具有唯一性的路由表可以判定中心區(qū)域的對錯,保留正確的區(qū)域進行坐標計算;
將攝像頭所拍攝到的各個區(qū)域進行統(tǒng)計,算出所有區(qū)域的個數和每個區(qū)域的標志點數
量;
求出上述各個區(qū)域之間的距離并排序得出區(qū)域間最小距離Dis_Reg_Min,設定區(qū)域間閾值為Threshold_Region = (1.3~1.9)* Dis_Reg_Min,區(qū)域間最小距離的倍數是根據整個大屏幕的的大小、區(qū)域的排布數量以及排布方式等具體實驗環(huán)境來進行確定;
根據區(qū)域間閾值ThresholcLRegion判斷每個區(qū)域的鄰域,如果滿足兩個區(qū)域之間的距離小于或者等于區(qū)域間閾值,則可以認為一個區(qū)域為另一個區(qū)域的鄰域,并求出每個區(qū)域的所有鄰域Neighbour_Region以及鄰域的個數nTotalNeighbour ;
對比路由表,查找并判斷一個區(qū)域的鄰域是否與路由表里的相應鄰域對應,如果能夠找到路由表里相對應的鄰域,則正確鄰域數加上I ;如果沒能找到,則錯誤的鄰域數加上1,并判斷每個區(qū)域的鄰域的正確率PercentCorrectNeighbour,以此為依據判斷此區(qū)域是否正確;正確率的計算方法為正確的鄰域的個數除以所有的鄰域的個數,如果一個區(qū)域的正確率大于0.5,則初步判斷此區(qū)域為正確區(qū)域,并將此區(qū)域保存下來,存為正確區(qū)域;然后算出正確區(qū)域的個數為ReserveRegion,正確區(qū)域的坐標為X_Region_Reserve, Y_Region_Reserve ;如果一個區(qū)域的正確率小于或者等于0.5,則初步判斷此區(qū)域為錯誤區(qū)域;
求出保留后各個區(qū)域之間的距離Dis_Reg_C0nfirm,然后再次求保留后各個區(qū)域的距離鄰域的閾值Threshold_Region_Confirm,先求出保留區(qū)域之間的最小距離Dis_Reg_Min,然后根據最小距離的1.3^1.9倍來求出保留區(qū)域距離的閾值;再對每個保留區(qū)域為中心求出鄰域 Neighbour_Region_Confirm ;
判斷鄰域的角度Reg_Angle,判斷方法如下:首先求出中心區(qū)域與鄰域的X軸和Y軸坐標差值Dist_x, Dist_y。然后根據Dist_x和Dist_y的正負判斷其角度Reg_Angle ;
將鄰域的角度按照由小到大排列,對比按照順時針排序的路由表,判斷保留區(qū)域的正誤,如果有任何一個鄰域不滿足角度關系,判斷該初步保留的中心區(qū)域是錯誤的,則排除這個區(qū)域是射擊的區(qū)域;如果所有鄰域滿足路由表所規(guī)定的角度順序,則繼續(xù)保留這個區(qū)域,并最終確定為是射擊的區(qū)域。
[0005]本發(fā)明是一種應用于大規(guī)模指向定位校驗系統(tǒng)的基于空間拓撲關系的新型標志區(qū)域校驗算法,具有以下優(yōu)點:
(1)在本發(fā)明的技術方案中,采用了區(qū)域化分型標志點,將屏幕按照均面積和均距離的規(guī)律劃分為多個區(qū)域,區(qū)域之間具有鄰域的相互關系,將各個區(qū)域的鄰域計入路由表中,各個區(qū)域相互關聯(lián)形成固定的拓撲關系。
[0006](2)在本發(fā)明的技術方案中,由于相鄰區(qū)域的距離相等,每個區(qū)域都有不同的鄰域,這樣無論旋轉還是障礙物遮擋都不能改變區(qū)域的相對位置,使得該校驗方法抗干擾能力(魯棒性)強,準確性高,從而能夠大幅度提高射擊指向定位準確性。
【專利附圖】
【附圖說明】
[0007]圖1是本發(fā)明實施例一的標志點的排布示意圖(在屏幕上布設11個標志點區(qū)域時),其中每個格子方塊代表一個標志點排布編碼區(qū)域,每個格子方塊中黑點代表排布的標志點。這只是以上技術的一個實現案例,便于講述后面的【具體實施方式】;圖2是本發(fā)明實施例一的空間排布路由表;
圖3是本發(fā)明實施例二的標志點的排布示意圖(在屏幕上布設8個標志點區(qū)域);
圖4是本發(fā)明實施例二的空間排布路由表;
圖5是本發(fā)明實施例三的標志點的排布示意圖(在屏幕上布設22個標志點區(qū)域)
圖6是本發(fā)明實施例三的空間排布路由表。
[0008]上述三個路由表,是區(qū)域排布對應其中每個區(qū)域的鄰域按照空間方位順時針排列的,其中第一列是待判定區(qū)域所具有的標志點數量,即中心區(qū)域的編號,后面各列是鄰域所對應的編號。
【具體實施方式】
[0009]在實施例一中,一種基于空間拓撲關系的新型標志區(qū)域校驗方法包括如下步驟:
1、劃分區(qū)域:如圖1所 示,將用于射擊的大屏幕按照等距離等面積的方式劃分成11個
區(qū)域,根據本發(fā)明要求,在每個區(qū)域內排布不同數量的標志點,每個區(qū)域內標志點的數量作為該區(qū)域的編號。標志點的排布必須遵循下面的要求,即各個區(qū)域間的最小距離大于區(qū)域內標志點之間距離最大值的2倍;
2、建立標志點區(qū)域空間排布路由表:將每個區(qū)域作為中心區(qū)域,即路由表的表頭;將該區(qū)域的相鄰區(qū)域(下面簡稱為鄰域)按照空間順時針排列作為子網拓撲,然后將每個區(qū)域的鄰域按照空間方位順時針排列制成路由表,其中第一列是待判定區(qū)域所具有的標志點數量,后面各列是各鄰域所對應的編號,如圖2所示,這是根據各個區(qū)域之間的空間相互關聯(lián)形成固定的拓撲關系;
3、將攝像頭所拍攝到的區(qū)域進行統(tǒng)計,這部分區(qū)域可能包括幾個完整的區(qū)域(及該區(qū)域的所有標志點都能被拍到)或部分不完整的區(qū)域,算出所有區(qū)域的個數和每個區(qū)域的中心坐標及標志點數量。區(qū)域中心坐標為數組X_Region, Y_Region (X_Region是X軸方向坐標,對應于水平方向;Y_Region是Y方向坐標,對應于豎直方向),每個區(qū)域的標志點數量為nLabelRegion,得到的所有區(qū)域的個數為NumberAlIRegion。
[0010]4、首先求出各個區(qū)域之間的距離Dis_Reg,距離公式運用了數學上基本的兩點間距離公式。將區(qū)域距離排序得出區(qū)域間最小距離Dis_Reg_Min,設定區(qū)域間閾值為Threshold_Region =(1.3~1.9) * Dis_Reg_Min。即區(qū)域間閾值設定為區(qū)域間最小距離的的1.3^1.9倍,這個倍數不是固定的,他應該根據整個大屏幕的的大小、區(qū)域的排布數量以及排布方式等具體實驗環(huán)境來進行確定,這個倍數的范圍在1.3^1.9之間。
[0011]5、根據區(qū)域間閾值Threshold_Region判斷每個區(qū)域的鄰域。如果滿足兩個區(qū)域之間的距離小于或者等于區(qū)域間閾值,則可以認為一個區(qū)域為另一個區(qū)域的鄰域。按照這個公式求出每個區(qū)域的所有鄰域Neighbour_Region以及鄰域的個數nTotalNeighbour。
[0012]6、對比路由表TabRoute (如圖2所示),查找并判斷一個區(qū)域的鄰域是否與路由表里的相應鄰域對應。如果能夠找到路由表里相對應的鄰域,則正確鄰域數加上I ;如果沒能找到,則錯誤的鄰域數加上I。判斷每個區(qū)域的鄰域的正確率PercentCorrectNeighbour,以此為依據判斷此區(qū)域是否正確。正確率的計算方法為正確的鄰域的個數除以所有的鄰域的個數(正確區(qū)域與錯誤區(qū)域之和)。如果一個區(qū)域的正確率大于0.5,則初步判斷此區(qū)域為正確區(qū)域,并將此區(qū)域保存下來,存為正確區(qū)域。正確區(qū)域的個數為ReserveRegion,正確區(qū)域的坐標為X_Region_Reserve, Y_Region_Reserve。如果一個區(qū)域的正確率小于或者等于
0.5,則初步判斷此區(qū)域為錯誤區(qū)域。
[0013]7、求出保留后各個區(qū)域之間的距離Dis_Reg_C0nfirm,距離公式運用了數學上基本的兩點間距離公式。然后再次求保留后各個區(qū)域的距離鄰域的閾值Thresh0ld_Regi0n_Confirm,先求出保留區(qū)域之間的最小距離Dis_Reg_Min,然后根據1.3至1.9倍的最小距離求出保留區(qū)域距離的閾值。以每個保留區(qū)域為中心求出鄰域Neighbour_Region_Confirm。
[0014]8、判斷鄰域的角度Reg_Angle,判斷方法如下:首先求出中心區(qū)域與鄰域的X軸和Y軸坐標差值Dist_x,Dist_y。然后根據Dist_x和Dist_y的正負判斷其角度Reg_Angle。這個方法根據區(qū)間及其坐標的正負關系,準確的判斷出每個保留區(qū)域的鄰域的對應角度Reg—Angle。
[0015]9、將鄰域的角度按照由小到大排列。對比按照順時針排序的路由表,判斷保留區(qū)域的正誤。如果有任何一個鄰域不滿足角度關系,判斷該初步保留的中心區(qū)域是錯誤的,則排除這個區(qū)域。如果所有鄰域滿足路由表所規(guī)定的角度順序,則繼續(xù)保留這個區(qū)域。這個保留的區(qū)域就成為射擊的正確區(qū)域,從而完成區(qū)域的校驗。
[0016]其中,所述【具體實施方式】的步驟3到步驟6屬于通過路由表中的區(qū)域內標志點數目關系對指向區(qū)域進行初次的判斷,可能會出現少許的錯判和誤判。
[0017]其中,所述【具體實施方式】的步驟7到步驟9是對前面初次判斷的結果利用角度排列順序進行再次的檢查和糾正。
[0018]由于先對比路由表,初次判斷某一區(qū)域的正確性;再次通過對比角度順時針排列路由表,對初次判斷的結果進行再次的檢查和糾正。無論角度的旋轉還是障礙物遮擋都不能改變區(qū)域的相對位置,通過這兩個環(huán)節(jié)的校驗,使得該校驗方法抗干擾能力(魯棒性)強,準確性高,從而能夠大幅度提高射擊指向定位準確性。
[0019]在圖3、4所示的實施例二中,【具體實施方式】和實施例一基本一致,但由于其屏幕尺寸比實施例一的小,為此將屏幕分成8個標志點區(qū)域;另外屏幕上各個標志點區(qū)域的大小和標志點區(qū)域之間的距離是基本一致的。
[0020]在圖5、6所不的實施例三中,【具體實施方式】也和實施例一基本一致,但由于其屏幕尺寸比實施例一的大,為此將屏幕分割成22個標志點區(qū)域;另外,屏幕上各個標志點區(qū)域的大小和標志點區(qū)域之間的距離是基本一致的。
[0021]以上所具體描述的,是一種應用于大規(guī)模的指向定位校驗系統(tǒng)的基于空間拓撲關系的新型標志區(qū)域校驗算法。文中對本發(fā)明的原理,技術方案和實施方式進行了詳細的闡述,以上具體實施步驟內容只是為了幫助理解,并不限定本發(fā)明的保護范圍,本發(fā)明適用于三個區(qū)域以上的具有唯一路由表所限定的空間拓撲關系的空間定位場合,凡在本發(fā)明的核心思想和原則之內,做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種基于空間拓撲關系的新型標志區(qū)域校驗方法,其特征在于包括如下步驟: 1)、劃分區(qū)域:將用于射擊的大屏幕按照等距離等面積的方式劃分成不少于3個區(qū)域,在每個區(qū)域內排布不同數量的標志點,區(qū)域間的最小距離大于區(qū)域內標志點之間距離最大值的2倍; 2)、建立路由表:將每個區(qū)域作為中心區(qū)域,即路由表的表頭,區(qū)域的鄰域按照空間順時針排列作為子網拓撲,然后將每個區(qū)域的鄰域按照空間方位順時針排列制成路由表,其中第一列是待判定區(qū)域所具有的標志點數量,后面各列是各鄰域所對應的編號; 3)、將攝像頭所拍攝到的各個區(qū)域進行統(tǒng)計,算出所有區(qū)域的個數和每個區(qū)域的標志點數量; 4)、求出上述各個區(qū)域之間的距離并排序得出區(qū)域間最小距離Dis_Reg_Min,設定區(qū)域間閾值為 Threshold_Region = (1.3~1.9)* Dis_Reg_Min ; 5)、根據區(qū)域間閾值ThresholcLRegion判斷每個區(qū)域的鄰域,如果滿足兩個區(qū)域之間的距離小于或者等于區(qū)域間閾值,則可以認為一個區(qū)域為另一個區(qū)域的鄰域,并求出每個區(qū)域的所有鄰域Neighbour_Region以及鄰域的個數nTotalNeighbour ; 6)、對比路由表,查找并判斷一個區(qū)域的鄰域是否與路由表里的相應鄰域對應,如果能夠找到路由表里相對應的鄰域,則正確鄰域數加上I ;如果沒能找到,則錯誤的鄰域數加上I,并判斷每個區(qū)域的鄰域的正確率PercentCorrectNeighbour,以此為依據判斷此區(qū)域是否正確;正確率的計算方法為正確的鄰域的個數除以所有的鄰域的個數,如果一個區(qū)域的正確率大于0.5,則初步判斷此區(qū)域為正確區(qū)域,并將此區(qū)域保存下來,存為正確區(qū)域;然后算出正確區(qū)域的個數為ReserveRegion,正確區(qū)域的坐標為X_Region_Reserve, Y_Region_Reserve ;如果一個區(qū)域的正確率小于或者等于0.5,則初步判斷此區(qū)域為錯誤區(qū)域; 7)、求出保留后各個區(qū)域之間的距離Dis_Reg_C0nfirm,然后再次求保留后各個區(qū)域的距離鄰域的閾值Thresho I d_Region_Conf irm,先求出保留區(qū)域之間的最小距離Di s_Reg_Min,然后根據最小距離的1.3^1.9倍來求出保留區(qū)域距離的閾值;再對每個保留區(qū)域為中心求出鄰域 Neighbour_Region_Confirm ; 8)、判斷鄰域的角度Reg_Angle,判斷方法如下:首先求出中心區(qū)域與鄰域的X軸和Y軸坐標差值Dist_x, Dist_y,然后根據Dist_x和Dist_y的正負判斷其角度Reg_Angle ; 9)、將鄰域的角度按照由小到大排列,對比按照順時針排序的路由表,判斷保留區(qū)域的正誤,如果有任何一個鄰域不滿足角度關系,判斷該初步保留的中心區(qū)域是錯誤的,則排除這個區(qū)域是射擊的區(qū) 域;如果所有鄰域滿足路由表所規(guī)定的角度順序,則繼續(xù)保留這個區(qū)域,并最終確定為是射擊的區(qū)域。
【文檔編號】G06F19/00GK103793615SQ201410062261
【公開日】2014年5月14日 申請日期:2014年2月25日 優(yōu)先權日:2014年2月25日
【發(fā)明者】種衍文, 張大勝, 潘少明, 王瑩瑩, 王澤文 申請人:武漢大學, 中山市金馬科技娛樂設備有限公司