本發明涉及虛擬現實技術領域,特別是涉及一種虛擬現實與真實場景融合的方法。
背景技術:
虛擬現實(virtualreality,以下簡稱vr)技術是主要通過綜合利用計算機圖形系統和各種現實及控制等接口設備,在計算機上生成的、可交互的三維環境中提供沉浸感覺的技術。
增強現實(augmentedreality,以下簡稱ar)技術是一種將真實世界信息和虛擬世界信息“無縫”集成的新技術,是把原本在現實世界的一定時間空間范圍內很難體驗到的實體信息(視覺信息,聲音,味道,觸覺等),通過電腦等科學技術,模擬仿真后再疊加,將虛擬的信息應用到真實世界,被人類感官所感知,從而達到超越現實的感官體驗。真實的環境和虛擬的物體實時地疊加到了同一個畫面或空間同時存在。增強現實技術,不僅展現了真實世界的信息,而且將虛擬的信息同時顯示出來,兩種信息相互補充、疊加。在視覺化的增強現實中,用戶利用頭盔顯示器,把真實世界與電腦圖形多重合成在一起,便可以看到真實的世界圍繞著它。
現有技術中的一種頭盔顯示器,比如,類似oculus的產品,能夠讓用戶體驗vr效果,像google眼鏡類似的產品能夠讓用戶體驗ar效果。
發明人在實現本發明實施例的過程中發現:現有的vr頭盔能夠觀看虛擬的場景、人物等,但這些虛擬的場景人物都是預先設計好的,或者是按照特定算法渲染而成的,并沒有結合用戶使用vr頭盔時的場景,缺少與現實環境的互動。而現有的ar眼鏡能夠看到用戶眼前的真實環境,并能夠分析圖像,給出一些提示信息,但不能體驗逼真的虛擬場景帶來的愉悅,也即ar很難做好虛擬真實的結合。
技術實現要素:
基于此,有必要提供一種虛擬現實與真實場景融合的方法,以實現在虛擬現實過程中能夠結合真實場景,實現虛擬與現實融合的效果,能夠增進人機交互、提升用戶體驗。
一種虛擬現實與真實場景融合的方法,包括:
獲取虛擬現實設備內部的圖像信息,生成虛擬現實場景;
獲取3d攝像機采集的真實目標場景信息;
根據所述真實目標場景信息與虛擬現實場景,于虛擬現實設備內部生成融合場景;
呈現所述融合場景。
在其中一個實施例中,所述獲取虛擬現實設備內部的圖像信息,生成虛擬現實場景,包括:
對虛擬現實設備內部的圖像進行讀取、分析、識別,并利用識別結果生成不同的虛擬現實場景。
在其中一個實施例中,所述對虛擬現實設備內部的圖像進行讀取、分析、識別,并利用識別結果生成不同的虛擬現實場景,包括:
對虛擬現實設備內部的圖像進行讀取;
對讀取到的圖像進行數據分析獲取圖像的特征點;
將獲取的圖像特征點與數據庫中圖像進行對比得到識別結果;
利用所述識別結果生成不同的虛擬現實場景。
在其中一個實施例中,所述獲取3d攝像機采集的真實目標場景信息,包括:
追蹤人眼的視線變化;
根據所述人眼的視線變化,調整所述3d攝像機方向,以使所述3d攝像機的方向與所述人眼視線變化后的視線方向一致;
獲取所述3d攝像機按照調整后的方向實時采集的真實目標場景信息。
在其中一個實施例中,所述根據所述真實目標場景信息與虛擬現實場景,于虛擬現實設備內部生成融合場景,包括:
給圖像中每一個像素點賦予一個初始速度矢量形成圖像運動場;
根據各個像素點的速度矢量特征對圖像進行動態分析;
判斷圖像中是否有運動物體,若圖像中沒有運動物體,則光流矢量在整個圖像區域是連續變化的;若圖像中有運動物體,真實目標場景和圖像背景存在相對運動,運動物體所形成的速度矢量必然和鄰域背景速度矢量不同,從而檢測出運動物體及位置;
獲得圖像特征點新的位置;
根據獲得的圖像特征點新的位置與原始位置,基于3d攝像頭的物理參數計算出三維空間內物體的平移、旋轉與縮放矢量;
將虛擬現實場景賦予得到的平移、旋轉與縮放矢量完成虛擬現實場景與真實目標場景融合。
上述實施例中提供了一種虛擬現實與真實場景融合的方法,通過獲取虛擬現實設備內部的圖像信息,生成虛擬現實場景;獲取3d攝像機采集的真實目標場景信息;根據所述真實目標場景信息與虛擬現實場景,于虛擬現實設備內部生成融合場景;呈現所述融合場景。以實現在虛擬現實過程中能夠結合真實場景,實現虛擬與現實融合的效果,能夠增進人機交互、提升用戶體驗。
附圖說明
圖1為一個實施例中一種虛擬現實與真實場景融合的方法流程圖;
圖2為圖1中步驟s10的具體流程圖;
圖3為圖1中步驟s20的具體流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
除非上下文另有特定清楚的描述,本發明中的元件和組件,數量既可以單個的形式存在,也可以多個的形式存在,本發明并不對此進行限定。本發明中的步驟雖然用標號進行了排列,但并不用于限定步驟的先后次序,除非明確說明了步驟的次序或者某步驟的執行需要其他步驟作為基礎,否則步驟的相對次序是可以調整的。可以理解,本文中所使用的術語“和/或”涉及且涵蓋相關聯的所列項目中的一者或一者以上的任何和所有可能的組合。
需要說明的是,真實場景信息包括由3d攝像機實時拍攝的周圍環境信息,比如,左右兩個攝像頭分別按照用戶左右眼的視線方向實時拍攝真實場景的圖像序列,在某一時刻t,可以從左攝像頭提供的圖像序列中獲取一張圖像,作為左圖,從右攝像頭提供的圖像序列中獲取一張圖像,作為右圖,其中,左圖模擬了用戶左眼看到的內容,右圖模擬了用戶右眼看到的內容。虛擬現實場景信息包括虛擬現實模型的圖像信息,比如,虛擬現實場景模型的左視圖及右視圖。
在本發明實施例中,增強現實場景是指利用增強現實技術將真實場景信息進行呈現的場景,虛擬現實場景是指利用虛擬現實技術將虛擬現實場景信息進行呈現的場景。
在本發明實施例中,虛擬現實設備可以為智能穿戴設備,而智能穿戴設備可以包括具備ar及vr功能的頭戴式智能設備,比如,智能眼鏡或頭盔。
在一個實施例中,如圖1所示,一種虛擬現實與真實場景融合的方法,包括:
s10、獲取虛擬現實設備內部的圖像信息,生成虛擬現實場景;
具體的,虛擬現實設備對其內部的圖像進行讀取、分析、識別,并利用識別結果生成不同的虛擬現實場景。
在其中一個實施例中,如圖2所示,所述步驟s10包括:
s101、對虛擬現實設備內部的圖像進行讀取;
s102、對讀取到的圖像進行數據分析獲取圖像的特征點;
s103、將獲取的圖像特征點與數據庫中圖像進行對比得到識別結果;
s104、利用所述識別結果生成不同的虛擬現實場景。
在實際應用中,在將系統啟動初始化后,系統通過圖像讀取單元讀取虛擬現實設備中存取的指定圖像;在虛擬現實設備中存取的圖像文件均是用戶通過攝像拍攝的照片或是通過其他的途徑獲取的圖片,將這些照片及圖片存儲到虛擬現實設備中的圖像數據庫中,供給后續需要選擇各種圖像的來源。
在對圖像進行分析的過程中可以先將圖像文件的分辨率進行統一,將其分辨率壓縮到較低,例如分辨率320*240大小,在將分辨率調整后對圖像文件需要進行格式轉化,將圖像的彩色格式轉化為灰度格式,將轉化格式后的圖像利用二維圖像亮度變化距離的點或圖像邊緣曲線上具有曲率極大值的點分析圖像角點的特征,并以分析的圖像角點特征作為圖像特征點。
再利用局部隨機二值特征,分別計算在上述中獲取的特征點信息和數據庫中圖像的特征描述信息,在通過各個角點的描述信息來判斷他們在兩張圖像中的對應關系,去除兩張圖片中錯誤匹配的外點,保留下正確匹配的內點,當保留的正確北配特征點的數量超過了設定的閾值,則判斷為識別成功進入下一個步驟;若識別不成功,則返回上述步驟中重新對圖片進行循環處理直到識別成功為止。
利用上述步驟的識別結果得到識別到的目標編號,按照編號在數據庫中檢索出相對應的虛擬內容,并生成虛擬現實場景。
s20、獲取3d攝像機采集的真實目標場景信息;
在其中一個實施例中,如圖3所示,所述步驟s20包括:
s201、追蹤人眼的視線變化;
s202、根據所述人眼的視線變化,調整所述3d攝像機方向,以使所述3d攝像機的方向與所述人眼視線變化后的視線方向一致;
s203、獲取所述3d攝像機按照調整后的方向實時采集的真實目標場景信息。
在本發明實施例中,獲取3d攝像機采集的真實目標場景信息,具體包括:追蹤人眼的視線變化,根據所述人眼的視線變化,調整所述3d攝像機雙攝像頭方向,以使所述雙攝像頭的方向與所述人眼視線變化后的視線方向一致,獲取所述雙攝像頭按照調整后的方向實時采集的真實場景信息。為了實現雙攝像頭模擬人眼拍攝真實場景信息,需要攝像頭按照人眼視線方向,采集真實場景信息。為了獲取人眼的視線變化,在vr頭盔內部可以安裝眼部視線追蹤模塊,以追蹤視線變化。為了讓兩個攝像頭能夠更好的模擬雙眼看到的場景,智能穿戴設備例如vr頭盔內部的處理器需要根據雙眼視線變化參數來分別調節左右兩個攝像頭的觀看角度。雙攝像頭畫面的實時獲取并分別呈現給左右眼,此時能夠復現人眼的觀看效果。具體的,可以利用現有技術中的眼球跟蹤技術,例如根據眼球和眼球周邊的特征變化進行跟蹤、根據虹膜角度變化進行跟蹤、主動投射紅外線等光束到虹膜來提取特征進行跟蹤來確定人眼的視線變化等。當然,本發明實施例不限于此,在本發明的技術構思下,本領域技術人員可以利用任意可行的技術追蹤人眼的視線變化進而調整模擬人眼的左右眼攝像頭的采集方向,實時采集真實場景信息。
s30、根據所述真實目標場景信息與虛擬現實場景,于虛擬現實設備內部生成融合場景;
在本發明的一個實施例中,所述根據所述真實目標場景信息與虛擬現實場景,于虛擬現實設備內部生成融合場景,可具體包括:
將所述左攝像頭拍攝的左圖與虛擬場景的左視圖疊加,合成融合場景左圖;
將所述右攝像頭拍攝的右圖與虛擬場景的右視圖疊加,合成融合場景右圖;
根據所述融合場景左圖及右圖,生成融合場景。
具體而言,將虛擬場景信息與真實場景信息疊加,比如,將虛擬模型信息疊加至真實場景時,需要左右兩個攝像頭提供真實場景實時的圖像序列,在某一時刻t,可以從左攝像頭提供的圖像序列中獲取一張圖像,作為左圖,從右攝像頭提供的圖像序列中獲取一張圖像,作為右圖。左圖模擬了左眼看到的內容,右圖模擬了右眼看到的內容。左右攝像頭提供實時的圖像序列,這些圖像序列可以通過多種方法獲取,一種方法是使用攝像頭廠商提供的sdk(softwaredevelopmentkit)進行圖像獲取,另一種方法是使用一些常用的開源工具從攝像頭中讀取圖像,如opencv。為了得到真實場景的層次關系,可以計算視差后,用視差的層次關系表示場景的層次關系。計算左右圖之間的視差,可以使用bm、圖割、adcensus等任意一種視差計算方法進行計算。有了視差就得知了場景層次信息,場景的層次信息也稱為場景的景深信息,景深信息可以用來指導虛擬模型與真實場景的融合,讓虛擬模型更加合理放到真實場景中。具體方法為,虛擬模型在左右圖的最小視差要比虛擬模型在左右圖的覆蓋區域的最大視差大,并且使用視差之前需要對視差信息進行中值平滑。在左圖和右圖中分別加入虛擬模型,設虛擬模型在左右圖中的最小視差為d,d需要大于虛擬模型覆蓋區域的最大視差。將虛擬模型對應的左視圖疊加到左圖中,將虛擬模型對應的右視圖疊加到右圖中,就可以生成融合場景。
在本發明的另一個實施例中,所述根據所述真實目標場景信息與虛擬現實場景,于虛擬現實設備內部生成融合場景,可具體包括:
給圖像中每一個像素點賦予一個初始速度矢量形成圖像運動場;
根據各個像素點的速度矢量特征對圖像進行動態分析;
判斷圖像中是否有運動物體,若圖像中沒有運動物體,則光流矢量在整個圖像區域是連續變化的;若圖像中有運動物體,真實目標場景和圖像背景存在相對運動,運動物體所形成的速度矢量必然和鄰域背景速度矢量不同,從而檢測出運動物體及位置;
獲得圖像特征點新的位置;
根據獲得的圖像特征點新的位置與原始位置,基于3d攝像頭的物理參數計算出三維空間內物體的平移、旋轉與縮放矢量;
將虛擬現實場景賦予得到的平移、旋轉與縮放矢量完成虛擬現實場景與真實目標場景融合。
具體而言,圖像中每一個像素點賦予一個初始速度矢量,使其形成場景圖像運動場,在運行的特定時刻,使其圖像上的點與三維物體上的點一一對應,這種對應關系可以由投影關系得到,根據各個像素點的所讀矢量特征,對圖像進行動態分析,判斷圖像中是否有運動的物體,如果圖像中沒有物體在運動,則光流矢量在整個圖像區域是連續變化的;如果圖像中有運動的物體,則目標和圖像背景存在相對運動,運動物體所形成的速度矢量必然和鄰域背景矢量不同,從而檢測出運動物體及位置,使其得到場景圖像特征點的新位置。
將靜態圖像轉化成虛擬內容和動態的真實場景均準備妥當后,在攝像設備空間中將上述識別的虛擬內容置于跟蹤的特征點空間位置,將虛擬內容與真實場景進行融合;再根據上述步驟得到的場景圖像特征點新的位置與原始位置,依據攝像頭的物理參數計算出在三維圖像空間內物體的平移、旋轉與縮放矢量,這時將激發的虛擬內容賦予計算出來在三維空間內物體的平移、旋轉與縮放矢量上,就實現了虛擬內容與真實場景的完整融合。
在本實施例中,可通過采用單一圖片作為輸入源,識別該圖片從而激發虛擬內容;同時利用場景特征追蹤技術,將虛擬內容置于用戶的真實環境中,從而實現增強現實的效果,解除了特征圖像激發虛擬內容的限制,促進了產業的發展。
s40、呈現所述融合場景。
在本發明其中一個實施例中,將疊加有虛擬模型左視圖的左圖,以及疊加有虛擬模型右視圖的右圖進行合成后一起送入顯示器,分別在顯示器的左半部分和右半部分顯示,即可呈現所述融合場景,這樣,用戶分別通過左右眼觀看,此時就能夠體驗真實場景與虛擬模型的良好融合。
在本發明實施例中,除了實現真實場景信息與虛擬場景信息融合,生成融合場景外,還可以根據所述3d攝像機雙攝像頭采集的真實場景信息,生成增強現實場景,或者,根據所述虛擬現實場景信息,生成虛擬現實場景,在本發明實施例中,生成增強現實場景或虛擬現實場景,即ar功能或vr功能,本領域技術人員結合本發明實施例,可以實現,此處不再贅述。
上述實施例中提供了一種虛擬現實與真實場景融合的方法,通過獲取虛擬現實設備內部的圖像信息,生成虛擬現實場景;獲取3d攝像機采集的真實目標場景信息;根據所述真實目標場景信息與虛擬現實場景,于虛擬現實設備內部生成融合場景;呈現所述融合場景。以實現在虛擬現實過程中能夠結合真實場景,實現虛擬與現實融合的效果,能夠增進人機交互、提升用戶體驗。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。