本發(fā)明涉及虛擬現(xiàn)實和增強現(xiàn)實技術(shù),尤其涉及一種虛擬現(xiàn)實系統(tǒng)中的空間定位裝置和定位方法。
背景技術(shù):
虛擬現(xiàn)實(VR)或增強現(xiàn)實(AR)技術(shù)(本發(fā)明統(tǒng)稱為VR技術(shù)),就是通過計算機技術(shù)以及各類傳感器技術(shù)在特定范圍內(nèi)產(chǎn)生出在視覺、聽覺、觸覺的虛擬環(huán)境或在真實環(huán)境上進行疊加效果疊加。
在VR系統(tǒng)中,很多應(yīng)用場景會涉及到室內(nèi)空間定位,利用室內(nèi)空間定位技術(shù)可以實現(xiàn)真實世界與虛擬世界的更好互動。但是,目前現(xiàn)有的室內(nèi)空間定位技術(shù)主要通過以下兩種方式:第一種是在人體上布置反光點,通過在場景外圍布置多個攝像頭采集這些反光點的圖像,然后通過圖像處理的方法確定空間位置關(guān)系。這種定位方式需要架設(shè)多個攝像頭,成本高并且布置繁瑣,同時人體在活動過程中會出現(xiàn)反光點被遮擋等情況而影響定位,準(zhǔn)確性不高。第二種是通過在場景外布置激光發(fā)射器,通過激光掃描整個使用區(qū)域,人體佩戴激光接收設(shè)備,激光接收設(shè)備接收到激光發(fā)送的信號后,通過計算得到當(dāng)前位置。和第一種定位方法一樣,第二種定位方式同樣需要在在場景外圍布置激光發(fā)射器,并且也會受到遮擋的影響。此外,上述兩種方式都會嚴(yán)格限制使用者的活動范圍,超出范圍后就會定位失敗。而且,現(xiàn)有的慣性動捕設(shè)備技術(shù)無法提供準(zhǔn)確的空間定位。
技術(shù)實現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種在虛擬現(xiàn)實系統(tǒng)中使用的空間定位方法和定位裝置,通過在人體上佩戴一個或一個以上的攝像頭,攝像頭固定在人體的某一部位,根據(jù)攝像頭連續(xù)獲取圖像信息,通過圖像處理算法對圖像信息進行分析處理,從而判斷人體的位移,能夠簡化VR定位場景的布置攝像頭等外圍設(shè)備,更加方便使用。
本發(fā)明的原理是:在虛擬現(xiàn)實系統(tǒng)中,需要通過定位跟蹤人體在真實世界中的活動軌跡,使得虛擬世界中的人體模型也按照這個軌跡移動,來實現(xiàn)在虛擬現(xiàn)實系統(tǒng)中的空間定位,達到真實世界中的人體和虛擬世界中的人體模型同步。本發(fā)明在人體上安裝垂直于屋頂和/或墻面的攝像頭,由于攝像頭會隨著人體的移動而移動,使得攝像頭所采集的圖像也會隨之移動(圖像中的物體在圖像中的位置隨之移動),所以,通過攝像頭連續(xù)采集得到周圍墻壁等物體的圖像,通過對這些物體的圖像進行分析處理,獲取圖片中位置連續(xù)變化的信息,由此實現(xiàn)虛擬現(xiàn)實系統(tǒng)中的空間定位。
本發(fā)明提供的技術(shù)方案是:
一種虛擬現(xiàn)實系統(tǒng)中的空間定位裝置,包括攝像頭姿態(tài)校準(zhǔn)模塊、攝像頭姿態(tài)固定模塊、初始化圖像采集處理模塊和連續(xù)圖像處理模塊;攝像頭姿態(tài)校準(zhǔn)模塊包括成像單元、校準(zhǔn)平面和參照圖形,或者包括成像單元和IMU單元(慣性測量裝置IMU單元是測量物體三軸姿態(tài)的裝置,Inertial Measurement Unit);成像單元包括一個或多個攝像頭;攝像頭姿態(tài)校準(zhǔn)模塊用于對攝像頭姿態(tài)進行初始校準(zhǔn);攝像頭姿態(tài)固定模塊包括穩(wěn)定器或云臺,用于將成像單元中的攝像頭通過穩(wěn)定器或云臺固定連接到人體上,使得攝像頭在后續(xù)的使用過程中一直保持與校準(zhǔn)平面垂直;初始化圖像采集處理模塊采用初始化圖像參照圖案或激光測距儀(或超聲波測距儀),通過攝像頭采集圖像并獲取攝像頭采集的圖像與圖像所對應(yīng)的實物之間的空間比例數(shù)值關(guān)系;連續(xù)圖像處理模塊通過在人體移動過程中對連續(xù)采集得到的圖像進行圖像處理,計算得到攝像頭在其軸向方向的移動和在垂直于軸向的平面的移動距離和方向,獲得人體的位移,由此實現(xiàn)虛擬現(xiàn)實系統(tǒng)中的空間定位。
其中,成像單元中的一個或多個攝像頭可以安裝在人體同一部位或不同部位,攝像頭可以是單目攝像頭、雙目攝像頭或多目攝像頭。校準(zhǔn)平面可以為屋頂和(或)墻面;固定在人體上的攝像頭垂直于屋頂和/或墻面。
具體實施中,攝像頭姿態(tài)校準(zhǔn)模塊可包括成像單元、校準(zhǔn)平面和參照圖形,這種情況在校準(zhǔn)平面上設(shè)置參照標(biāo)記圖形(如十字形或圓形、正方形、正多邊形等的圖案),可通過采用參照標(biāo)記圖形方法進行攝像頭姿態(tài)的初始校準(zhǔn),實現(xiàn)攝像頭軸向與校準(zhǔn)平面垂直;攝像頭姿態(tài)校準(zhǔn)模塊也可包括成像單元和IMU單元,這種情況采用在攝像頭上放置輸出姿態(tài)信息裝置(IMU單元)的方法實現(xiàn)攝像頭姿態(tài)的初始校準(zhǔn),當(dāng)安裝輸出姿態(tài)信息裝置和攝像頭鏡頭平面平行并和攝像頭軸線垂直時,輸出姿態(tài)信息裝置輸出的姿態(tài)歐拉角,就是攝像頭鏡頭平面的姿態(tài)歐拉角。
具體實施中,初始化圖像采集處理模塊可在校準(zhǔn)平面上放置參照圖案;或?qū)⒓す鉁y距儀(或超聲波測距儀)與攝像頭相連接;可分別通過已知尺寸的參照圖案對攝像頭進行標(biāo)定,或采用激光測距或超聲波測距方法進行初始化圖像采集。
上述空間定位裝置可以和慣性動作捕捉設(shè)備配合使用,其中,攝像頭姿態(tài)校準(zhǔn)模塊包括成像單元和IMU單元,慣性動作捕捉設(shè)備中的一個IMU單元和攝像頭組成一體化成像裝置,例如,IMU單元安裝在攝像頭底部,平行于攝像頭鏡頭平面;由于慣性動作捕捉設(shè)備包括多個IMU單元,在真實人體上安裝所述空間定位裝置要使得所述攝像頭垂直于屋頂或墻面,或者同時垂直于屋頂和墻面;通過該空間定位裝置中的攝像頭采集圖像進行處理,確定真實人體的空間坐標(biāo)位置;再利用慣性動作捕捉設(shè)備自身建立的相對坐標(biāo)系,計算得到慣性動作捕捉設(shè)備任意一個節(jié)點的空間坐標(biāo);還可通過一體化裝置中的IMU單元反映的攝像頭抖動情況來輔助攝像頭進行防抖處理。本發(fā)明實施例中,攝像頭和慣性動作捕捉設(shè)備中的一個IMU單元結(jié)合,解決了慣性動捕不能提供準(zhǔn)確空間定位的問題。在攝像頭拍攝的位置為反光特別強烈導(dǎo)致無法通過連續(xù)拍照獲取圖像的連續(xù)變化時,可以通過IMU慣性單元計算位移,作為補充。同時,通過與攝像頭一體的IMU單元,可以根據(jù)攝像頭抖動的情況來輔助攝像頭進行防抖處理。
本發(fā)明還提供一種虛擬現(xiàn)實系統(tǒng)中的空間定位方法,通過在人體上安裝垂直于屋頂和/或墻面的攝像頭,使得攝像頭所采集的圖像隨著人體的移動而發(fā)生移動,圖像中的物體或者是圖像中的特征點或物體邊緣即隨著人體的移動而發(fā)生移動;通過攝像頭連續(xù)采集周圍物體的圖像,通過對物體的圖像進行分析處理,獲取圖片中位置連續(xù)變化的信息,由此實現(xiàn)虛擬現(xiàn)實系統(tǒng)中的空間定位;主要包括初始校準(zhǔn)攝像頭姿態(tài)過程、固定攝像頭姿態(tài)過程、初始化圖像采集處理過程和連續(xù)圖像處理過程;
1)初始校準(zhǔn)攝像頭姿態(tài)過程:實現(xiàn)攝像頭軸向與校準(zhǔn)平面垂直;
2)固定攝像頭姿態(tài)使得攝像頭在使用過程中一直保持初始校準(zhǔn)攝像頭姿態(tài);
3)初始化圖像采集過程通過攝像頭采集圖像并根據(jù)已知量獲取攝像頭采集的圖像與圖像所對應(yīng)的實物之間的數(shù)值關(guān)系(空間比例關(guān)系);
4)連續(xù)圖像處理過程進行連續(xù)圖像采集,通過提取圖像輪廓和特征點,分析當(dāng)前幀和前一幀圖像中特征點的變化,根據(jù)圖像輪廓和特征點的變化,計算得到攝像頭在其軸向方向的移動和在垂直于軸向的平面的移動,根據(jù)移動的距離和方向?qū)崿F(xiàn)虛擬現(xiàn)實系統(tǒng)中的空間定位。
針對上述空間定位方法,步驟1)可以采用參照標(biāo)記圖形方法進行攝像頭姿態(tài)的初始校準(zhǔn);也可以采用在攝像頭上放置輸出姿態(tài)信息裝置的方法實現(xiàn)攝像頭姿態(tài)的初始校準(zhǔn)。
采用參照標(biāo)記圖形這種校準(zhǔn)方式時,初始校準(zhǔn)攝像頭姿態(tài)過程可以通過利用在校準(zhǔn)平面上設(shè)置圖案作為參照標(biāo)記圖形,將攝像頭拍攝到參照標(biāo)記圖形時得到的圖像與參照標(biāo)記圖形進行比較,判斷是否變形失真(本發(fā)明中的失真是指發(fā)生形變,等比例放縮不是失真),如果失真說明鏡頭平面與拍攝面不平行,若沒有失真說明兩者平行,校準(zhǔn)過程就是要使得攝像頭內(nèi)的成像與標(biāo)記圖案不失真。初始校準(zhǔn)攝像頭姿態(tài)過程包括如下步驟:
11)在校準(zhǔn)平面上設(shè)置十字形或其他形狀(如圓形、正方形、正多邊形等)的圖案,作為參照標(biāo)記圖形;
12)通過攝像頭對上述參照標(biāo)記圖案進行圖像采集,得到攝像頭內(nèi)成像圖案;
13)分析攝像頭內(nèi)成像圖案與上述參照標(biāo)記圖案是否有失真;調(diào)整攝像頭姿態(tài),使得攝像頭內(nèi)的成像與上述參照標(biāo)記圖案沒有失真,即完成攝像頭姿態(tài)的初始校準(zhǔn)。
采用參照標(biāo)記圖形進行校準(zhǔn)時,通過判斷成像后在照片上的形狀還是不是原來的形狀來識別圖案是否有失真(僅大小變化不算失真)。例如,當(dāng)校準(zhǔn)采用的參照標(biāo)記圖形為正十字形時,可以通過比較成像后兩條邊長是否相等且夾角是否為直角來識別是否有失真。
采用在攝像頭上放置輸出姿態(tài)信息裝置的方法實現(xiàn)攝像頭姿態(tài)的初始校準(zhǔn)時,具體通過在攝像頭上加裝可以輸出姿態(tài)信息的裝置(如姿態(tài)傳感器、IMU),根據(jù)裝置輸出的姿態(tài)信息,對攝像頭進行姿態(tài)調(diào)整;具體校準(zhǔn)步驟如下:
21)在攝像頭上固定輸出姿態(tài)信息裝置;
22)獲取上述輸出姿態(tài)信息裝置的姿態(tài)信息;
23)根據(jù)上述姿態(tài)信息和該輸出姿態(tài)信息裝置和攝像頭的固定位置關(guān)系,計算得到攝像頭的姿態(tài);
具體地,當(dāng)安裝輸出姿態(tài)信息裝置和鏡頭平面平行和攝像頭軸線垂直時,根據(jù)輸出姿態(tài)信息裝置輸出的姿態(tài)歐拉角,就是鏡頭平面的姿態(tài)歐拉角。
24)調(diào)整攝像頭的姿態(tài),直至攝像頭與校準(zhǔn)面(墻面或屋頂)垂直。
針對上述空間定位方法,進一步地,步驟2)固定攝像頭姿態(tài)過程通過穩(wěn)定器或云臺,使得攝像頭在后續(xù)的使用過程中一直保持與校準(zhǔn)平面垂直,然后進入初始化圖像采集過程。
針對上述空間定位方法,進一步地,步驟3)初始化圖像采集過程的目的是根據(jù)已知量獲取攝像頭采集的圖像與圖像所對應(yīng)的實物之間的數(shù)值關(guān)系(成像時兩者之間的比例關(guān)系),具體實施時,可以采用參照圖案方法、激光測距或超聲波測距方法實現(xiàn)。
采用參照圖案方法進行初始化圖像采集過程,具體通過已知尺寸的十字線或其他形狀(可以是初始校準(zhǔn)攝像頭姿態(tài)中用于校準(zhǔn)攝像頭姿態(tài)時用的圖案也可以是新的圖案)對攝像頭進行標(biāo)定,攝像頭獲取到上述形狀后,根據(jù)已知的圖形尺寸信息以及根據(jù)拍照時焦距的長度、視角的大小,推算出此時攝像頭與已知形狀的距離以及單位長度所對應(yīng)的像素點數(shù)目;由此獲取攝像頭采集的圖像與圖像所對應(yīng)的實物之間的數(shù)值關(guān)系;具體步驟如下:
31)在校準(zhǔn)平面上放置參照圖案,該參照圖案的尺寸已知;
32)對上述已知尺寸的參照圖案進行圖像采集;
33)根據(jù)上述32)所得圖像在照片上呈現(xiàn)的像素數(shù),得到每個像素點對應(yīng)的實際物體的尺寸;
具體地,假設(shè)已知參照圖案長為X,在照片上成像的長為y個像素點,則每個像素點對應(yīng)的實際物體尺寸是x/y。
34)根據(jù)整幅圖片的像素,獲得整幅畫面拍攝景物的實際尺寸W;
整幅畫面的實際尺寸就是長和寬分別為(z1*x/y)和(z2*x/y),其中,每個像素點對應(yīng)的實際物體尺寸為x/y;照片當(dāng)前已知的分辨率為z1*z2像素;
35)根據(jù)攝像頭的拍攝時的視角α的大小,通過三角函數(shù)關(guān)系計算出鏡頭與實際拍攝物體之間的距離L為:
式1中,α為攝像頭拍攝時的視角;W為整幅畫面拍攝景物的實際尺寸;
由此得到攝像頭與實際拍攝物體之間的距離。
采用激光測距或超聲波測距方法進行初始化圖像采集過程,具體是:通過激光測距或超聲波測距等方式測得攝像頭與攝像頭采集的圖像實物之間直接的距離L,或直接采用雙目攝像頭直接實現(xiàn)測距以及圖像采集;再根據(jù)拍照時視角的大小得到圖像中的像素對應(yīng)圖像實物實際尺寸的對應(yīng)關(guān)系;具體步驟如下:
41)進行圖像采集;
42)采用激光測距儀和超聲波測距儀,通過激光測距或超聲波測距等方式測得攝像頭與攝像頭采集的圖像實物之間的距離L;
43)根據(jù)上述攝像頭與拍攝實物之間的距離L以及拍攝時的視角α,根據(jù)三角函數(shù)關(guān)系獲得拍攝圖像對應(yīng)實際物體的尺寸:
W=2×L×tanα (式2)
44)再根據(jù)整幅圖片的像素就可以知道每個像素對應(yīng)的實際尺寸;
上述步驟43)獲得拍攝圖像對應(yīng)實際物體的尺寸,還可根據(jù)成像感光片的尺寸W′以及鏡頭到感光片的距離L′,計算得到圖像中的像素對應(yīng)圖像實物實際尺寸的對應(yīng)關(guān)系;具體地,根據(jù)上述攝像頭與拍攝實物之間的距離L以及拍攝時的焦距L′,根據(jù)相似三角形比例關(guān)系可知拍攝圖像對應(yīng)實際物體的尺寸為:
同理,根據(jù)拍攝圖片中已知物體的尺寸,根據(jù)該物體在圖片中對應(yīng)的像素點的個數(shù),可以得到全幅畫面對應(yīng)的實際尺寸;再根據(jù)已知感光片的尺寸W′和焦距L′時,利用相似三角形比例關(guān)系:得到拍攝物體到鏡頭的距離L;
初始化圖像采集成像中,可以利用已有的墻面或屋頂進行計算,為簡化處理,也可以在墻面或屋頂上增加明顯標(biāo)記簡化圖像分析,如采用可見光或非可見光投影在屋頂或墻面上進行標(biāo)記,此時,攝像頭要根據(jù)可見光或非可見光的特征對應(yīng)選擇合適攝像頭。例如,當(dāng)采用某一波長的紅外光進行投影時,選擇可以接收同樣波長的紅外成像的攝像頭。
針對上述空間定位方法,進一步地,步驟4)后續(xù)連續(xù)計算過程首先提取圖像輪廓和特征點(可利用邊緣檢測算子方法和特征點檢測算子方法),在初始化圖像采集并固定攝像頭姿態(tài)之后,攝像頭進行連續(xù)圖像采集,提取圖像輪廓和特征點并分析當(dāng)前幀和前一幀圖像中特征點的變化,根據(jù)輪廓和特征點的變化,計算出攝像頭在其軸向方向的移動或在垂直于軸向的平面的移動,具體流程如下:
51)對攝像頭連續(xù)獲取的圖片,通過邊緣檢測算法和/或特征點檢測算法或其他算法提取得到圖像輪廓和/或特征點;
52)將當(dāng)前幀圖像與前一幀圖像提取的圖像輪廓和/或特征點進行比較;
53)當(dāng)圖像輪廓或特征點的直接尺寸信息不變時,說明攝像頭在軸向上沒有移動;當(dāng)圖像輪廓或特征點的直接尺寸信息發(fā)生變化時,說明攝像頭在軸向上有位移;
54)當(dāng)攝像頭在軸向上有位移時,得到變化后的像素和實際尺寸的對應(yīng)關(guān)系,再根據(jù)當(dāng)前的視角,得到當(dāng)前攝像頭鏡面與拍攝面的距離;當(dāng)攝像頭在軸向上沒有移動時,判斷圖像輪廓或特征點的在圖片中的位置是否發(fā)生變化,如果有變化,根據(jù)初始化圖像采集過程中的成像比例關(guān)系,得到實際攝像頭的移動距離和方向;再根據(jù)初始化過程中成像與真實方向的夾角,確定攝像頭真實的移動方向。
為簡化攝像頭軸向位移的計算,可以增加與原攝像頭垂直且垂直于墻面或屋頂?shù)臄z像頭,這樣可以只計算與成像平面平行平面內(nèi)的移動,就可以得到攝像頭的空間移動軌跡;也可以用三個攝像頭組成相互垂直的系統(tǒng),這三個攝像頭分別垂直于屋頂和兩個相互垂直的墻面,這樣可以只處理攝像頭軸向的位移,就可以確定攝像頭的空間位移;當(dāng)增加攝像頭時,還是全部計算水平和垂直方向的位移,由此達到增加系統(tǒng)冗余,增強可靠性和精度。
上述連續(xù)計算過程中,步驟54)根據(jù)連續(xù)每幀圖像的移動確定與成像平面平行方向上的位移可采用如下方法替代:用實物、可見光或非可見光按一定的編碼方式經(jīng)過編碼得到數(shù)字或符號(例如矩陣),將編碼呈現(xiàn)在墻面或屋頂上,并對墻面或屋頂進行覆蓋,經(jīng)攝像頭成像后,進行編碼識別,根據(jù)識別的編碼確定攝像頭所在的與成像平面平行平面位置。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明提供一種虛擬現(xiàn)實系統(tǒng)中的空間定位裝置和定位方法,通過在人體上佩戴一個或一個以上的攝像頭,攝像頭固定在人體的某一部位,根據(jù)攝像頭連續(xù)獲取圖像信息,通過圖像處理算法對圖像信息進行分析處理,從而判斷人體的位移,簡化了VR定位場景的布置攝像頭等外圍設(shè)備,更加方便使用。
附圖說明
圖1是攝像頭成像原理示意圖;
其中,α為攝像頭拍攝時的視角;W為整幅畫面拍攝景物的實際尺寸;L為攝像頭與拍攝實物之間的距離;L′為拍攝時的焦距;W′為成像感光片的尺寸;V為攝像頭鏡頭。
圖2是本發(fā)明提供的虛擬現(xiàn)實系統(tǒng)中的空間定位裝置的結(jié)構(gòu)框圖。
圖3是本發(fā)明實施例中成像單元為攝像頭和慣性動作捕捉設(shè)備一體化裝置的結(jié)構(gòu)框圖。
圖4是本發(fā)明實施例中空間定位裝置的成像單元包括相互垂直的雙目攝像頭在人體上安裝的位置示意圖。
圖5是本發(fā)明提供的空間定位方法的流程框圖。
具體實施方式
下面結(jié)合附圖,通過實施例進一步描述本發(fā)明,但不以任何方式限制本發(fā)明的范圍。
本發(fā)明提供一種虛擬現(xiàn)實系統(tǒng)中的空間定位裝置和定位方法,通過在人體上佩戴一個或一個以上的攝像頭,攝像頭通過穩(wěn)定器或云臺固定在人體部位上,根據(jù)攝像頭連續(xù)獲取圖像信息,通過圖像處理器對圖像信息進行分析處理,從而判斷人體的位移,簡化了VR定位場景的布置攝像頭等外圍設(shè)備,更加方便使用。
圖1是攝像頭成像原理示意圖;圖1中,通過實際物體通過鏡頭成像到感光片上,其中,α為攝像頭拍攝時的視角;W為整幅畫面拍攝景物的實際尺寸;L為攝像頭與拍攝實物之間的距離;L′為拍攝時的焦距;W′為成像感光片的尺寸;V為攝像頭鏡頭。
本發(fā)明提供的虛擬現(xiàn)實系統(tǒng)中的空間定位裝置的結(jié)構(gòu)如圖2所示,空間定位裝置包括攝像頭姿態(tài)校準(zhǔn)模塊、攝像頭姿態(tài)固定模塊、初始化圖像采集處理模塊和連續(xù)圖像處理模塊;攝像頭姿態(tài)校準(zhǔn)模塊包括成像單元和校準(zhǔn)平面,成像單元包括一個或多個攝像頭,攝像頭姿態(tài)校準(zhǔn)模塊實現(xiàn)攝像頭軸向與校準(zhǔn)平面垂直;攝像頭姿態(tài)固定模塊包括穩(wěn)定器或云臺,用于將成像單元中的攝像頭通過穩(wěn)定器或云臺固定連接到人體上;初始化圖像采集處理模塊通過攝像頭采集圖像并獲取攝像頭采集的圖像與圖像所對應(yīng)的實物之間的空間比例數(shù)值關(guān)系;連續(xù)圖像處理模塊通過在人體移動過程中對連續(xù)采集得到的圖像進行圖像處理,計算得到攝像頭在其軸向方向的移動和在垂直于軸向的平面的移動距離和方向,獲得人體的位移,由此實現(xiàn)虛擬現(xiàn)實系統(tǒng)中的空間定位。
本發(fā)明提供的空間定位裝置可以和慣性動作捕捉設(shè)備配合使用,圖3是成像單元中攝像頭和慣性動作捕捉設(shè)備一體化裝置的結(jié)構(gòu)框圖,攝像頭和慣性動作捕捉設(shè)備中的一個IMU單元結(jié)合,通過該攝像頭確定的空間坐標(biāo)位置,以及慣性動作捕捉設(shè)備自身建立的相對坐標(biāo)系結(jié)合,可以解算出慣性動捕設(shè)備任意一個節(jié)點的空間坐標(biāo)。解決了由于慣性動捕不能提供準(zhǔn)確空間定位的問題。在攝像頭拍攝的位置為反光特別強烈導(dǎo)致無法通過連續(xù)拍照獲取圖像的連續(xù)變化時,可以通過IMU慣性單元計算位移,作為補充。同時,通過與攝像頭一體的IMU單元可以根據(jù)攝像頭抖動的情況來輔助攝像頭進行防抖處理。
以下實施例將窄視角攝像頭安裝在頭頂位置朝上,成像單元中的攝像頭通過USB線或其他連接方式與VR背負(fù)式計算機主機、外置主機或其他處理器(包括圖像處理單元)相連,通過激光測距儀進行激光測距獲取攝像頭與屋頂直接的距離,并通過攝像頭獲取圖像信息,根據(jù)攝像頭拍照時的焦距、視角計算出整幅照片(獲取到的圖像)所對應(yīng)的實際尺寸,由于攝像頭的像素信息是已知的,所以可以得到當(dāng)前實際尺寸與像素的對應(yīng)關(guān)系,然后通過處理器對攝像頭獲取的連續(xù)圖像信息進行分析處理,提取圖像的特征信息,例如進行灰度處理然后提高對比度獲取圖像的輪廓信息或特征點,根據(jù)這些特征信息的連續(xù)變動就可以計算出攝像頭的位置變化,也就是佩戴者的位置變化。
也可以在身體上安裝兩個或兩個以上的攝像頭(可以是安裝的人體不同位置的多個攝像頭,攝像頭可以是單目攝像頭、雙目攝像頭或多目攝像頭),避免一個攝像頭在獲取不到合適的圖像特征標(biāo)記或者拍攝到正在移動的物體時,可以相互補充,兩個攝像頭的處理結(jié)果也可以相互融合,例如,如圖4所示,當(dāng)兩個攝像頭相互垂直時,一個攝像頭的Z軸(攝像頭軸線方向)方向也是另外一個攝像頭的X或Y軸方向,就可以在圖像處理方面每個攝像頭只處理兩個軸向的分析,降低處理程序的復(fù)雜度。
采用上述虛擬現(xiàn)實系統(tǒng)中的空間定位裝置進行空間定位時,在人體上安裝垂直于屋頂和/或墻面的攝像頭,使得攝像頭所采集的圖像隨著人體的移動而發(fā)生移動,圖像中的物體或者是圖像中的特征點或物體邊緣即隨著人體的移動而發(fā)生移動;通過攝像頭連續(xù)采集周圍物體的圖像,通過對物體的圖像進行分析處理,獲取圖片中位置連續(xù)變化的信息,由此實現(xiàn)虛擬現(xiàn)實系統(tǒng)中的空間定位;主要包括初始校準(zhǔn)攝像頭姿態(tài)、固定攝像頭姿態(tài)、初始化圖像采集處理和連續(xù)圖像處理過程;
1)初始校準(zhǔn)攝像頭姿態(tài)過程:實現(xiàn)攝像頭軸向與校準(zhǔn)平面垂直;
2)固定攝像頭姿態(tài)使得攝像頭在使用過程中一直保持初始校準(zhǔn)攝像頭姿態(tài);
3)初始化圖像采集過程通過攝像頭采集圖像并根據(jù)已知量獲取攝像頭采集的圖像與圖像所對應(yīng)的實物之間的數(shù)值關(guān)系(空間比例關(guān)系);
4)連續(xù)圖像處理過程進行連續(xù)圖像采集,通過提取圖像輪廓和特征點,分析當(dāng)前幀和前一幀圖像中特征點的變化,根據(jù)圖像輪廓和特征點的變化,計算得到攝像頭在其軸向方向的移動和在垂直于軸向的平面的移動,根據(jù)移動的距離和方向?qū)崿F(xiàn)虛擬現(xiàn)實系統(tǒng)中的空間定位。
其中,初始校準(zhǔn)攝像頭姿態(tài)過程是為了實現(xiàn)攝像頭軸向與校準(zhǔn)平面垂直,也就是攝像頭鏡頭平面與攝像頭所對的拍攝面平行,校準(zhǔn)平面可以是屋頂或墻面。
在具體實施中,可以采用參照標(biāo)記圖形方法進行攝像頭姿態(tài)的初始校準(zhǔn);也可以采用在攝像頭上放置輸出姿態(tài)信息裝置的方法實現(xiàn)攝像頭姿態(tài)的初始校準(zhǔn)。
參照標(biāo)記圖形方法具體是:初始校準(zhǔn)攝像頭姿態(tài)過程可以通過利用在校準(zhǔn)平面上設(shè)置十字形或其他形狀(如圓形、正方形、正多邊形等)的圖案作為參照標(biāo)記圖形,將攝像頭拍攝到參照標(biāo)記圖形時得到的圖像與參照標(biāo)記圖形進行比較,判斷是否變形失真(本發(fā)明中的失真是指發(fā)生形變,等比例放縮不是失真),如果失真說明鏡頭平面與拍攝面不平行,若沒有失真說明兩者平行,校準(zhǔn)過程就是要使得攝像頭內(nèi)的成像與標(biāo)記圖案不失真。
采用參照標(biāo)記圖形這種校準(zhǔn)方式時,初始校準(zhǔn)攝像頭姿態(tài)過程包括如下步驟:
11)在校準(zhǔn)平面上設(shè)置十字形或其他形狀(如圓形、正方形、正多邊形等)的圖案,作為參照標(biāo)記圖形
12)通過攝像頭對上述參照標(biāo)記圖案進行圖像采集,得到攝像頭內(nèi)成像圖案;
13)分析攝像頭內(nèi)成像圖案與上述參照標(biāo)記圖案是否有失真;調(diào)整攝像頭姿態(tài),使得攝像頭內(nèi)的成像與上述參照標(biāo)記圖案沒有失真,即完成攝像頭姿態(tài)的初始校準(zhǔn)。
校準(zhǔn)時,通過判斷成像后在照片上的形狀還是不是原來的形狀來識別圖案是否有失真(僅大小變化不算失真)。例如,當(dāng)校準(zhǔn)采用的參照標(biāo)記圖形為正十字形時,可以通過比較成像后兩條邊長是否相等且夾角是否為直角來識別是否有失真。
在具體實施中,還可以采用在攝像頭上放置輸出姿態(tài)信息裝置的方法實現(xiàn)攝像頭姿態(tài)的初始校準(zhǔn);具體通過在攝像頭上加裝可以輸出姿態(tài)信息的裝置(如:姿態(tài)傳感器),根據(jù)裝置輸出的姿態(tài)信息,對攝像頭進行姿態(tài)調(diào)整,直到控制攝像頭實現(xiàn)與校準(zhǔn)平面垂直,具體校準(zhǔn)步驟如下:
21)在攝像頭上固定輸出姿態(tài)信息裝置;
22)獲取上述輸出姿態(tài)信息裝置的姿態(tài)信息;
23)根據(jù)上述姿態(tài)信息和該輸出姿態(tài)信息裝置和攝像頭的固定位置關(guān)系,計算得到攝像頭的姿態(tài);
具體地,當(dāng)安裝輸出姿態(tài)信息裝置和鏡頭平面平行和攝像頭軸線垂直時,根據(jù)輸出姿態(tài)信息裝置輸出的姿態(tài)歐拉角,就是鏡頭平面的姿態(tài)歐拉角。
24)調(diào)整攝像頭的姿態(tài),直至攝像頭與校準(zhǔn)面(墻面或屋頂)垂直。
針對上述虛擬現(xiàn)實系統(tǒng)中的空間定位方法,進一步地,在完成上述校準(zhǔn)過程后,通過穩(wěn)定器或云臺,使得攝像頭在后續(xù)的使用過程中一直保持與校準(zhǔn)平面垂直,然后進入初始化圖像采集過程。
初始化圖像采集過程的目的是根據(jù)已知量獲取攝像頭采集的圖像與圖像所對應(yīng)的實物之間的數(shù)值關(guān)系(成像時兩者之間的比例關(guān)系),具體實施時,可以采用參照圖案方法、激光測距或超聲波測距方法實現(xiàn)。
采用參照圖案方法進行初始化圖像采集過程,具體通過已知尺寸的十字線或其他形狀(可以是初始校準(zhǔn)攝像頭姿態(tài)中用于校準(zhǔn)攝像頭姿態(tài)時用的圖案也可以是新的圖案)對攝像頭進行標(biāo)定,攝像頭獲取到上述形狀后,根據(jù)已知的圖形尺寸信息以及根據(jù)拍照時焦距的長度、視角的大小,推算出此時攝像頭與已知形狀的距離以及單位長度所對應(yīng)的像素點數(shù)目;由此獲取攝像頭采集的圖像與圖像所對應(yīng)的實物之間的數(shù)值關(guān)系;具體步驟如下:
31)在校準(zhǔn)平面上放置參照圖案,該參照圖案的尺寸已知;
32)對上述已知尺寸的參照圖案進行圖像采集;
33)根據(jù)上述32)所得圖像在照片上呈現(xiàn)的像素數(shù),得到每個像素點對應(yīng)的實際物體的尺寸;
具體地,假設(shè)已知參照圖案長為X,在照片上成像的長為y個像素點,則每個像素點對應(yīng)的實際物體尺寸是x/y。
34)根據(jù)整幅圖片的像素,獲得整幅畫面拍攝景物的實際尺寸W;
整幅畫面的實際尺寸就是長和寬分別為(z1*x/y)和(z2*x/y),其中,每個像素點對應(yīng)的實際物體尺寸為x/y;照片分辨率為z1*z2像素;
35)根據(jù)攝像頭的拍攝時的視角α的大小,通過三角函數(shù)關(guān)系計算出鏡頭與實際拍攝物體之間的距離L為:
式1中,α為攝像頭拍攝時的視角;W為整幅畫面拍攝景物的實際尺寸;
由此得到攝像頭與實際拍攝物體之間的距離。
采用激光測距或超聲波測距方法進行初始化圖像采集過程,具體是:通過激光測距或超聲波測距等方式測得攝像頭與攝像頭采集的圖像實物之間直接的距離L,或直接采用雙目攝像頭直接實現(xiàn)測距以及圖像采集;再根據(jù)拍照時視角的大小得到圖像中的像素對應(yīng)圖像實物實際尺寸的對應(yīng)關(guān)系;具體步驟如下:
41)進行圖像采集;
42)采用激光測距儀和超聲波測距儀,通過激光測距或超聲波測距等方式測得攝像頭與攝像頭采集的圖像實物之間的距離L;
43)根據(jù)上述攝像頭與拍攝實物之間的距離L以及拍攝時的視角α,根據(jù)三角函數(shù)關(guān)系獲得拍攝圖像對應(yīng)實際物體的尺寸:
W=2×L×tanα (式2)
44)再根據(jù)整幅圖片的像素就可以知道每個像素對應(yīng)的實際尺寸;
上述步驟43)獲得拍攝圖像對應(yīng)實際物體的尺寸,還可根據(jù)成像感光片的尺寸W′以及鏡頭到感光片的距離L′,計算得到圖像中的像素對應(yīng)圖像實物實際尺寸的對應(yīng)關(guān)系;具體地,根據(jù)上述攝像頭與拍攝實物之間的距離L以及拍攝時的焦距L′,根據(jù)相似三角形比例關(guān)系可知拍攝圖像對應(yīng)實際物體的尺寸為:
同理,根據(jù)拍攝圖片中已知物體的尺寸,根據(jù)該物體在圖片中對應(yīng)的像素點的個數(shù),可以得到全幅畫面對應(yīng)的實際尺寸;再根據(jù)已知感光片的尺寸W′和焦距L′時,利用相似三角形比例關(guān)系:得到拍攝物體到鏡頭的距離L;
初始化圖像采集成像中,可以利用已有的墻面或屋頂進行計算,為簡化處理,也可以在墻面或屋頂上增加明顯標(biāo)記簡化圖像分析,如采用可見光或非可見光投影在屋頂或墻面上進行標(biāo)記,此時,攝像頭要根據(jù)可見光或非可見光的特征對應(yīng)選擇合適攝像頭。例如,當(dāng)采用某一波長的紅外光進行投影時,選擇可以接收同樣波長的紅外成像的攝像頭。
后續(xù)連續(xù)計算過程首先提取圖像輪廓和特征點(可利用邊緣檢測算子和特征點檢測算子對圖像輪廓和特征點進行提取),在初始化圖像采集并固定攝像頭姿態(tài)之后,攝像頭進行連續(xù)圖像采集,提取圖像輪廓和特征點并分析當(dāng)前幀和前一幀圖像中特征點的變化,根據(jù)輪廓和特征點的變化,計算出攝像頭在其軸向方向的移動或在垂直于軸向的平面的移動,具體流程如下:
51)對攝像頭連續(xù)獲取的圖片,通過邊緣檢測算法或其他算法提取得到圖像輪廓和特征點;
52)將當(dāng)前幀圖像與前一幀圖像提取的圖像輪廓或特征點進行比較;
53)當(dāng)圖像輪廓或特征點的直接尺寸信息不變時,說明攝像頭在軸向上沒有移動;當(dāng)圖像輪廓或特征點的直接尺寸信息發(fā)生變化時,說明攝像頭在軸向上有位移;
54)當(dāng)攝像頭在軸向上有位移時,得到變化后的像素和實際尺寸的對應(yīng)關(guān)系,再根據(jù)當(dāng)前的視角,得到當(dāng)前攝像頭鏡面與拍攝面的距離;當(dāng)攝像頭在軸向上沒有移動時,判斷圖像輪廓或特征點的在圖片中的位置是否發(fā)生變化,如果有變化,根據(jù)初始化圖像采集過程中的成像比例關(guān)系,得到實際攝像頭的移動距離和方向;再根據(jù)初始化過程中成像與真實方向的夾角,確定攝像頭真實的移動方向。
為簡化攝像頭軸向位移的計算,可以增加與原攝像頭垂直且垂直于墻面或屋頂?shù)臄z像頭,這樣可以只計算攝像頭在成像平面平行平面內(nèi)的移動,就可以得到攝像頭的空間移動軌跡;也可以有三個攝像頭組成相互垂直的系統(tǒng),這三個攝像頭分別垂直于屋頂和兩個相互垂直的墻面,這樣可以只處理攝像頭軸向的位移,就可以確定攝像頭的空間位移;當(dāng)增加攝像頭時,還是全部計算水平和垂直方向的位移,由此達到增加系統(tǒng)冗余,增強可靠性和精度。
上述連續(xù)計算過程中,步驟54)根據(jù)連續(xù)每幀圖像的移動確定水平方向上的位移可采用如下方法替代:用實物、可見光或非可見光按一定的編碼方式經(jīng)過編碼得到數(shù)字或符號(例如矩陣),將編碼呈現(xiàn)在墻面上對墻面進行覆蓋,經(jīng)攝像頭成像后,進行編碼識別,根據(jù)識別的編碼確定攝像頭所在的水平面位置。
在具體實施中,將上述空間定位裝置和定位方法應(yīng)用于動捕設(shè)備,空間定位裝置在工作時,攝像頭與動捕設(shè)備其中的一個節(jié)點結(jié)合,動捕設(shè)備自身會建立一個坐標(biāo)系,每個動捕節(jié)會有各個節(jié)點的坐標(biāo)位置,當(dāng)和攝像頭結(jié)合的動捕節(jié)點確定空間坐標(biāo)以后就可以實現(xiàn)動捕設(shè)備各個節(jié)點的坐標(biāo)轉(zhuǎn)換到空間坐標(biāo)系中,實現(xiàn)每個節(jié)點空間定位??稍谖蓓敾驂γ孀鰳?biāo)記,可以在攝像頭對準(zhǔn)標(biāo)記點時對位置進行標(biāo)定,從而減少誤差,標(biāo)記點可以是光點或特定圖案。標(biāo)記點可以是特定頻段的可見光或非可見光,配套相對應(yīng)的同一波段的攝像頭。測距也可以采用雙目攝像頭實現(xiàn)。
例如,通過激光燈照射有規(guī)律的數(shù)字矩陣到屋頂上,如矩陣然后直接通過攝像頭拍攝圖片,對圖片中的數(shù)字進行數(shù)字識別,然后根據(jù)矩陣和實際房間尺寸的對應(yīng)關(guān)系,確定當(dāng)前攝像頭的水平位置,然后再根據(jù)上述分析矩陣數(shù)字之間的距離或者數(shù)字的尺寸,計算得到垂直位置,從而實現(xiàn)空間定位。
需要注意的是,公布實施例的目的在于幫助進一步理解本發(fā)明,但是本領(lǐng)域的技術(shù)人員可以理解:在不脫離本發(fā)明及所附權(quán)利要求的精神和范圍內(nèi),各種替換和修改都是可能的。因此,本發(fā)明不應(yīng)局限于實施例所公開的內(nèi)容,本發(fā)明要求保護的范圍以權(quán)利要求書界定的范圍為準(zhǔn)。