本申請涉及但不限于計算機技術領域,尤指一種虛擬現實設備和虛擬現實設備的透鏡調節方法。
背景技術:
隨著計算機技術的不斷發展,虛擬現實(virtualreality,簡稱為:vr)設備成為人們生活娛樂的一種重要工具。vr設備(例如vr頭盔)通過左右眼屏幕分別顯示左右眼的圖像,人眼獲取這種帶有差異的信息后在腦海中產生立體感。
在虛擬現實領域中,人眼通過兩塊透鏡注視屏幕上影像,影像分別在兩眼視網膜處成像,并在大腦視覺中樞重疊起來,成為一個完整的、具有立體感的影像。現有技術中的vr設備,一般將顯示的內容分屏,切成兩半,通過透鏡實現疊加成像;上述成像方式往往會導致人眼瞳孔中心、透鏡中心,以及分屏后的屏幕分屏后中心不在一條直線上,使得視覺效果不好,出現不清晰、變形等問題;另外,不同用戶的瞳孔距也不相同,不同用戶在使用vr設備時需要調節透鏡位置。針對上述問題,目前的vr設備中透鏡都配置為位置可以調節,調節透鏡位置的方式為手動調節,但是手動調節的精度較差,容易出現偏移,從而導致用戶在看到圖像時模糊而影響體驗效果。另外,手動調節透鏡位置的調節方式較為復雜,會給用戶帶來不便利因素。
綜上所述,現有技術中的vr設備,由于需要通過手動方式調節透鏡位置,調節的精準度較差,從而導致用戶在觀看圖像時效果模糊而影響體驗效果的問題。
技術實現要素:
為了解決上述技術問題,本發明實施例提供了一種虛擬現實設備和虛擬現實設備的透鏡調節方法,以解決現有技術中的vr設備,由于需要通過手動方式調節透鏡位置,調節的精準度較差,從而導致用戶在觀看圖像時效果模糊而影響體驗效果的問題。
本發明實施例提供一種虛擬現實設備,包括:處理器、透鏡控制模塊和攝像模塊;
所述攝像模塊,用于拍攝用戶的眼部圖像,并向所述處理器發送所述眼部圖像;
所述處理器,用于根據所述眼部圖像,計算所述用戶的瞳孔距和兩個透鏡的移動距離,并向所述透鏡控制模塊發送計算結果和控制指令;
所述透鏡控制模塊,用于根據所述計算結果和所述控制指令分別調節每個所述透鏡的位置,使得所述兩個透鏡的中心一一對應的與所述用戶的兩個眼睛的瞳孔中心重合。
可選地,如上所述的虛擬現實設備中,所述攝像模塊包括:第一攝像頭和第二攝像頭,所述第一攝像頭和所述第二攝像頭一一對應的設置于所述虛擬現實設備頂部的左右兩端;
所述第一攝像頭,用于拍攝所述用戶的左眼部圖像;
所述第二攝像頭,用于拍攝所述用戶的右眼部圖像。
可選地,如上所述的虛擬現實設備中,所述透鏡控制模塊包括:所述兩個透鏡、控制單元,以及與所述兩個透鏡一一對應的兩個電機;
所述控制單元,用于接收所述處理器發送的所述計算結果和所述控制指令,并通過所述電機將每個所述透鏡的中心調節到與對應眼睛的瞳孔中心重合的位置。
可選地,如上所述的虛擬現實設備中,所述處理器計算所述用戶的瞳孔距,包括:
所述處理器計算出所述用戶的瞳孔距為:
o1o2=l-(o1a+o2b)=l-k*(x+y);
其中,所述l為所述兩個攝像頭的視場邊緣距離,所述o1a和所述o2b分別為左眼和右眼的瞳孔中心到對應攝像頭的視場邊緣的實際距離,所述x和所述y分別為左眼和右眼的瞳孔中心到對應攝像頭的視場邊緣的圖像距離,所述k為實際距離與圖像距離的比值;
k=o1a/x=o2b/y=w/w=2h*tan(α)/w;
其中,所述w為所述攝像頭拍攝圖像的實際寬度,所述w為所述攝像頭拍攝圖像的圖像寬度,所述h為攝像頭到人眼的垂直距離,所述α為水平方向視場角的一半。
可選地,如上所述的虛擬現實設備中,所述處理器計算所述兩個透鏡的移動距離,包括:
獲取每個所述透鏡中心的當前位置;
計算所述用戶的左眼瞳孔中心到所述虛擬現實設備的左邊緣的第一距離,以及右眼瞳孔中心到所述虛擬現實設備的右邊緣的第二距離;
根據每個所述透鏡的當前位置、所述第一距離和所述第二距離,以及所述用戶的瞳孔距,分別計算所述兩個透鏡的移動距離。
可選地,如上所述的虛擬現實設備中,所述計算所述第一距離和所述第二距離,包括:
計算出所述第一距離為:o1c=o1a-(w/2-s);
計算出所述第二距離為:o2d=o2b-(w/2-s);
其中,所述s為所述攝像頭中心到所述虛擬現實設備邊緣的距離,所述w為所述攝像頭拍攝圖像的實際寬度;
w=2h*tan(α);
其中,所述h為攝像頭到人眼的垂直距離,所述α為水平方向視場角的一半。
本發明實施例還提供一種虛擬現實設備的透鏡調節方法,包括:
拍攝用戶的左右眼部圖像;
根據所拍攝的所述左右眼部圖像,計算所述用戶的瞳孔距和兩個透鏡的移動距離;
根據所述計算結果和控制指令分別調節每個所述透鏡的位置,使得所述兩個透鏡的中心一一對應的與所述用戶的兩個眼睛的瞳孔中心重合。
可選地,如上所述的虛擬現實設備的透鏡調節方法中,所述計算所述用戶的瞳孔距,包括:
計算出所述用戶的瞳孔距為:
o1o2=l-(o1a+o2b)=l-k*(x+y);
其中,所述l為所述兩個攝像頭的視場邊緣距離,所述o1a和所述o2b分別為左眼和右眼的瞳孔中心到對應攝像頭的視場邊緣的實際距離,所述x和所述y分別為左眼和右眼的瞳孔中心到對應攝像頭的視場邊緣的圖像距離,所述k為實際距離與圖像距離的比值;
k=o1a/x=o2b/y=w/w=2h*tan(α)/w;
其中,所述w為所述攝像頭拍攝圖像的實際寬度,所述w為所述攝像頭拍攝圖像的圖像寬度,所述h為攝像頭到人眼的垂直距離,所述α為水平方向視場角的一半。
可選地,如上所述的虛擬現實設備的透鏡調節方法中,所述計算所述兩個透鏡的移動距離,包括:
獲取每個所述透鏡中心的當前位置;
計算所述用戶的左眼瞳孔中心到所述虛擬現實設備的左邊緣的第一距離,以及右眼瞳孔中心到所述虛擬現實設備的右邊緣的第二距離;
根據每個所述透鏡的當前位置、所述第一距離和所述第二距離,以及所述用戶的瞳孔距,分別計算所述兩個透鏡的移動距離。
可選地,如上所述的虛擬現實設備的透鏡調節方法中,所述計算所述第一距離和所述第二距離,包括:
計算出所述第一距離為:o1c=o1a-(w/2-s);
計算出所述第二距離為:o2d=o2b-(w/2-s);
其中,所述s為所述攝像頭中心到所述虛擬現實設備邊緣的距離,所述w為所述攝像頭拍攝圖像的實際寬度;
w=2h*tan(α);
其中,所述h為攝像頭到人眼的垂直距離,所述α為水平方向視場角的一半。
本發明實施例提供的虛擬現實設備和虛擬現實設備的透鏡調節方法,該虛擬現實設備通過配置的攝像模塊在用戶使用該虛擬現實設備時拍攝用戶的眼部圖像,并由處理器對拍攝的眼部圖像的處理,計算出用戶的瞳孔距和兩個透鏡的移動距離,隨后,透鏡控制模塊根據處理器發送的計算結果和控制指令分別調節每個透鏡的位置,使得兩個透鏡的中心一一對應的與所述用戶的兩個眼睛的瞳孔中心重合。本發明實施例提供的虛擬現實設備在使用過程中,不需要用戶手動調節透鏡的位置,通過虛擬現實設備自動進行瞳孔距的計算和透鏡位置的調節,提高了調節透鏡位置的智能性和便捷性,解決了現有技術中的vr設備,由于需要通過手動方式調節透鏡位置,調節的精準度較差,從而導致用戶在觀看圖像時效果模糊而影響體驗效果的問題。
附圖說明
附圖用來提供對本發明技術方案的進一步理解,并且構成說明書的一部分,與本申請的實施例一起用于解釋本發明的技術方案,并不構成對本發明技術方案的限制。
圖1為本發明實施例提供的一種虛擬現實設備的模塊構架示意圖;
圖2為本發明實施例提供的一種虛擬現實設備的硬件結構示意圖;
圖3為本發明實施示例提供的虛擬現實設備的一種透鏡調節原理示意圖;
圖4為本發明實施例提供的另一種虛擬現實設備的模塊構架示意圖;
圖5為一種攝像頭的fov角度的原理示意圖;
圖6為本發明實施例提供的虛擬現實設備中一種攝像頭到用戶眼部的示意圖;
圖7為本發明實施例提供的虛擬現實設備中一種拍攝圖像的示意圖;
圖8為本發明實施例提供的虛擬現實設備中一種計算瞳孔中心位置的示意圖;
圖9為本發明實施例提供的一種虛擬現實設備的透鏡調節方法的流程圖;
圖10為本發明實施例提供的另一種虛擬現實設備的透鏡調節方法的流程圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本發明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
本發明提供以下幾個具體的實施例可以相互結合,對于相同或相似的概念或過程可能在某些實施例不再贅述。
圖1為本發明實施例提供的一種虛擬現實設備的模塊構架示意圖。本發明實施例提供的虛擬現實設備10,可以包括:處理器11、透鏡控制模塊12和攝像模塊13。
其中,攝像模塊13,用于拍攝用戶的眼部圖像,并向處理器11發送眼部圖像;
處理器11,用于根據該眼部圖像,計算用戶的瞳孔距和兩個透鏡121的移動距離,并向透鏡控制模塊12發送計算結果和控制指令;
透鏡控制模塊12,用于根據計算結果和控制指令分別調節每個透鏡121的位置,使得兩個透鏡121的中心一一對應的與用戶的兩個眼睛的瞳孔中心重合。
本發明實施例提供的虛擬現實設備10,例如可以為一虛擬顯示頭盔,該虛擬現實設備10的頂部兩端分別設置有攝像模塊13,該攝像模塊13例如可以為紅外攝像頭,用于拍攝用戶的眼部圖像。由于用戶在使用虛擬現實設備10時,臉部貼合在虛擬現實設備10上,距離攝像頭的位置較近,而攝像頭的視場角(fov)有限,若采用單攝像頭拍攝,很難全面覆蓋到兩只眼睛,因此采用雙攝像頭拍攝,并將兩個攝像頭設置在虛擬現實設備10頂部的左右兩端,分別拍攝左右眼部圖像。在實際拍攝時,用戶的眼睛自然注視前方,以便得到正常情況下的瞳孔大小并減小瞳孔的偏移。
根據上述對虛擬現實設備10可以采用雙攝像頭的描述,以下通過一個具體示例予以示出,如圖2所示,為本發明實施例提供的一種虛擬現實設備的硬件結構示意圖,本發明實施例中的攝像模塊13可以包括:第一攝像頭131和第二攝像頭132,第一攝像頭131和第二攝像頭132一一對應的設置于虛擬現實設備10頂部的左右兩端,例如,第一攝像頭131設置于虛擬現實設備10頂部的左端,第二攝像頭132設置于虛擬現實設備10頂部的右端,則第一攝像頭131,用于拍攝用戶的左眼部圖像,第二攝像頭132,用于拍攝用戶的右眼部圖像。
由于虛擬現實設備10的使用者可以為不同用戶,每個用戶的瞳孔距的大小都有差距,例如,成年男性的瞳孔距大約在60~73毫米(mm)之間,成年女性的瞳距大約在53~68mm之間。因此,本發明實施例設計出種虛擬現實設備10,可以實現根據使用者的實際情況對透鏡121的位置進行調節,其實現方式為:處理器11在接收到攝像模塊13發送的眼部圖像后,可以根據用戶的眼部圖像計算出該用戶的瞳孔距,并根據瞳孔距的大小和虛擬現實設備10中每個透鏡121的當前位置,計算出每個透鏡121需要移動的距離,隨后,向透鏡控制模塊12發送計算結果和控制指令,控制指令可以為處理器11根據已計算得到的結果,發送的指示透鏡121移動的相應指令,例如,該控制指令可以指示其中一個透鏡向左移動,指示另一個透鏡向右移動,移動的距離分別為l1和l2,即為上述計算出的每個透鏡121對應的移動距離。透鏡控制模塊12在接收到上述計算結果和控制指令后,根據控制指令的命令和已知的移動距離分別調節每個透鏡121的位置,即控制透鏡121移動相位的位置,最終達到的移動效果為兩個透鏡的中心一一對應的與用戶的兩個眼睛的瞳孔中心重合,圖3為本發明實施示例提供的虛擬現實設備的一種透鏡調節原理示意圖,如圖3所示,可以為左邊的透鏡121的中心與用戶左眼的瞳孔中心重合,右邊的透鏡121的中心與用戶右眼的瞳孔中心重合。
需要說明的是,本發明實施例通過調節兩個透鏡121的位置可以使得每個透鏡121的中心與對應眼睛的瞳孔中心重合,而理想的狀態如圖3所示,人眼的瞳孔中心、透鏡中心、分屏后的屏幕中心在一條直線上,從而獲得最佳的視覺效果;由于屏幕的中心通常是固定不變的,在設計虛擬現實設備10的硬件結構時可以使其屏幕的寬度適合大多數人的眼睛位置,并通過調節透鏡121的位置使透鏡中心與對應眼睛的瞳孔中心重合。
現有技術中的vr設備,雖然其透鏡也配置為位置可調節,但是調節透鏡位置的方式為手動調節,手動調節的精度較差,容易出現偏移,從而導致用戶在看到圖像時模糊而影響體驗效果;另外,手動調節透鏡位置的調節方式較為復雜,會給用戶帶來麻煩。與現有技術中vr設備相比,由于本發明實施例的虛擬現實設備10通過配置的攝像模塊13在用戶使用該虛擬現實設備10時拍攝用戶的眼部圖像,并由處理器11對拍攝的眼部圖像的處理,指示和透鏡控制模塊12調節每個透鏡121的位置,以實現最佳的顯示效果;本發明實施例中的虛擬現實設備10在使用過程中,不需要用戶手動調節透鏡121的位置,通過虛擬現實設備10自動進行瞳孔距的計算和透鏡位置的調節,提高了調節透鏡位置的智能性和便捷性。
本發明實施例提供的虛擬現實設備,通過配置的攝像模塊在用戶使用該虛擬現實設備時拍攝用戶的眼部圖像,并由處理器對拍攝的眼部圖像的處理,計算出用戶的瞳孔距和兩個透鏡的移動距離,隨后,透鏡控制模塊根據處理器發送的計算結果和控制指令分別調節每個透鏡的位置,使得兩個透鏡的中心一一對應的與所述用戶的兩個眼睛的瞳孔中心重合。本發明實施例提供的虛擬現實設備在使用過程中,不需要用戶手動調節透鏡的位置,通過虛擬現實設備自動進行瞳孔距的計算和透鏡位置的調節,提高了調節透鏡位置的智能性和便捷性,解決了現有技術中的vr設備,由于需要通過手動方式調節透鏡位置,調節的精準度較差,從而導致用戶在觀看圖像時效果模糊而影響體驗效果的問題。
可選地,圖4為本發明實施例提供的另一種虛擬現實設備的模塊構架示意圖,本發明實施例中的透鏡控制模塊12可以包括:兩個透鏡121、控制單元122,以及與兩個透鏡121一一對應的兩個電機123。
其中,控制單元122,用于接收處理器11發送的計算結果和控制指令,并通過電機123將每個透鏡121的中心調節到與對應眼睛的瞳孔中心重合的位置。
在本發明實施例中,控制單元122分別與兩個電機123相連接,兩個電機123一一對應的與兩個透鏡121相連接,控制單元122在接收到計算結果和控制指令時,指示左邊的電機123調節左邊透鏡121的位置,指示右邊的電機123調節右邊透鏡121的位置。
在實際應用中,攝像模塊13中攝像頭的參數會給出fov角,通常會給出垂直方向的fov角度,圖5為一種攝像頭的fov角度的原理示意圖,如圖5所示,垂直方向的fov角(∠cfd)為β,本發明實施例提供的虛擬現實設備10在透鏡調節過程中,使用水平方向的fov角(∠afb)為γ,設定攝像模塊13拍攝出的圖像的分辨率為w*h,則水平方向的fov角為:
γ=β*w/h。
如圖6所示,為本發明實施例提供的虛擬現實設備中一種攝像頭到用戶眼部的示意圖。圖6中的o1和o2分別為用戶的左眼和右眼的瞳孔中心處,即o1o2為瞳孔距,兩個攝像頭可以安裝在虛擬現實設備上部的左右兩側,分別拍攝用戶的左右眼部圖像,兩個攝像頭的間距為l0,左邊攝像頭中心到設備左邊緣的距離和右邊攝像頭中心到設備右邊緣的距離均為s,攝像頭距離用戶眼部的垂直距離為h。以左邊攝像頭的計算方式為例予以示出,可以得到fov角γ,并且α=γ/2,w為攝像頭的拍攝角度2α對應的實際距離w,則w為:
w=2h*tan(α)。
如圖7所示,為本發明實施例提供的虛擬現實設備中一種拍攝圖像的示意圖,由于攝像頭拍攝出的拍攝圖像的圖像距離,即(分辨率w*h)與實際距離存在一定的誤差,若采用拍攝圖像的分辨率計算瞳孔距和透鏡的移動距離,得到的計算結果會存在一定的誤差,為了盡可能減小并消除上述誤差,可以定義系數k為實際距離與圖像距離的比值。圖7中示出了左攝像頭的拍攝圖像,拍攝圖像的圖像寬度為w,對應的實際寬度為圖6中的w,左眼瞳孔中心到左攝像頭的視場邊緣的圖像距離為x,對應的實際距離為o1a,則o1a的計算方式如下:
k=o1a/x=o2b/y=w/w=2h*tan(α)/w;
o1a=2h*tan(α)/w*x;
同理可得:o2b=2h*tan(α)/w*x;
因此,本發明實施例中處理器11計算出用戶的瞳孔距o1o2為:
o1o2=l-(o1a+o2b)=l-k*(x+y);(1)
上述式(1)中,l為兩個攝像頭的視場邊緣距離,o1a和o2b分別為左眼和右眼的瞳孔中心到對應攝像頭的視場邊緣的實際距離,x和y分別為左眼和右眼的瞳孔中心到對應攝像頭的視場邊緣的圖像距離,k為實際距離與圖像距離的比值。
上述式(1)的計算方式中,圖像距離x和y,通過圖像識別后得到的值可能存在較大的誤差,所以可以采用測量左右瞳孔中心到對應攝像頭的視場邊緣的實際距離,即實測o1a和o2b,并計算平均值的方式,計算用戶的瞳孔距o1o2。如圖8所示,為本發明實施例提供的虛擬現實設備中一種計算瞳孔中心位置的示意圖,同樣以左眼為例予以示出,其中,o1a和o2b與圖6中的定義相同,o1a1和o1a2分別為左眼的瞳孔的最左側和最右側到左攝像頭的視場邊緣的實際距離,o2b1和o2b2分別為右眼的瞳孔的最右側和最左側到右攝像頭的視場邊緣的實際距離,可以得到:
o1a=(o1a1+o1a2)/2,o2b=(o2b1和o2b2)/2;
其中,對上述o1a1、o1a2、o2b1和o2b2的值可以通過多次測量求平均值的方式以減小誤差。
可選地,在本發明實施例中,處理器11計算兩個透鏡的移動距離的實現方式,可以包括:
獲取每個透鏡中心的當前位置;
計算用戶的左眼瞳孔中心到虛擬現實設備的左邊緣的第一距離,以及右眼瞳孔中心到虛擬現實設備的右邊緣的第二距離;
根據每個透鏡的當前位置、第一距離和第二距離,以及用戶的瞳孔距,分別計算兩個透鏡的移動距離。
參考圖6所示,第一距離為o1c,第二距離為o2d,在上述已知o1a和o2b的情況下,可以計算出:
第一距離為:o1c=o1a-(w/2-s);
第二距離為:o2d=o2b-(w/2-s);
其中,上述實施例中已經說明s為攝像頭中心到虛擬現實設備相應邊緣的距離,s的值在虛擬現實設備的結構設計過程中已經確定,w為攝像頭拍攝圖像的實際寬度,并且w=2h*tan(α),h為攝像頭到人眼的垂直距離,α為水平方向視場角的一半。
本發明實施例提供的虛擬現實設備10,在計算出瞳孔距,以及上述第一距離和第二距離后,結合每個攝像頭的當前距離,通過透鏡控制模塊12對每個透鏡121的位置進行調節,使得透鏡121的中心與對應人眼的瞳孔中心重合,以實現最佳顯示效果。在實際移動透鏡121時,可以以虛擬現實設備10的左右邊緣為基準進行調節。
基于本發明上述實施例提供的虛擬現實設備10,用戶在使用虛擬現實設備10時開啟設備,帶上虛擬現實頭盔,設備的處理器11向攝像模塊13發送指令,進行用戶眼部圖像的拍攝,并將拍攝的眼部圖像傳輸給處理器11進行處理,處理器11采用預設的算法進行圖像處理,根據上述方式計算出瞳孔距o1o2,以及上述第一距離和第二距離,從而可以得到每個透鏡的移動距離,然后由處理器11向透鏡控制模塊12發送控制指令,透鏡控制模塊12通過控制步進式電機123使兩個透鏡121分別移動到相應的位置,使得兩個透鏡121的中心距離與瞳孔距相同(即為o1o2),本發明實施例通過比例系統k計算得到的瞳孔距o1o2,同時可以滿足人眼瞳孔距不對稱的情況,計算方式具有普遍適用性。
基于本發明上述各實施例提供的虛擬現實設備10,本發明實施例還提供一種虛擬現實設備的透鏡調節方法,該虛擬現實設備的透鏡調節方法由本發明上述任一實施例提供的虛擬現實設備10執行。
如圖9所示,為本發明實施例提供的一種虛擬現實設備的透鏡調節方法的流程圖。本實施例提供的方法可以由圖1到圖8所示任一實施例中的虛擬現實設備10執行,本發明實施例提供的方法,可以包括如下步驟:
s110,拍攝用戶的左右眼部圖像。
s120,根據所拍攝的左右眼部圖像,計算用戶的瞳孔距和兩個透鏡的移動距離。
本發明實施例提供的虛擬現實設備的透鏡調節方法,用于對虛擬現實設備中的透鏡位置進行調節,該虛擬現實設備例如可以為一虛擬顯示頭盔,該虛擬現實設備的頂部兩端分別設置有攝像頭,可以為紅外攝像頭。由于用戶在使用虛擬現實設備時,臉部貼合在虛擬現實設備上,距離攝像頭的位置較近,而攝像頭的fov角有限,若采用單攝像頭拍攝,很難全面覆蓋到兩只眼睛,因此采用雙攝像頭拍攝,并將兩個攝像頭設置在虛擬現實設備頂部的左右兩端,分別拍攝左右眼部圖像,可以參考圖2所示虛擬現實設備的硬件結構。在實際拍攝時,用戶的眼睛自然注視前方,以便得到正常情況下的瞳孔大小并減小瞳孔的偏移。
由于虛擬現實設備的使用者可以為不同用戶,每個用戶的瞳孔距的大小都有差距,例如,成年男性的瞳孔距大約在60~73mm之間,成年女性的瞳距大約在53~68mm之間。因此,本發明實施例設計出一種虛擬現實設備的透鏡調節方法,可以實現根據使用者的實際情況對透鏡的位置進行調節,其實現方式為:根據已拍攝的用戶的眼部圖像計算出該用戶的瞳孔距,并根據瞳孔距的大小和虛擬現實設備中每個透鏡的當前位置,計算出每個透鏡需要移動的距離。
s130,根據計算結果和控制指令分別調節每個透鏡的位置,使得兩個透鏡的中心一一對應的與用戶的兩個眼睛的瞳孔中心重合。
在本發明實施例中,在計算出用戶的瞳孔距和兩個透鏡的移動距離后,可以根據上述計算結果和控制指令執行調節透鏡的操作,該控制指令可以為虛擬現實設備的處理器根據已計算得到的結果,發送的指示透鏡移動的相應指令,例如,該控制指令可以指示其中一個透鏡向左移動,指示另一個透鏡向右移動,移動的距離分別為l1和l2,即為上述計算出的每個透鏡對應的移動距離;隨后,根據控制指令的命令和已知的移動距離分別調節每個透鏡的位置,即控制透鏡移動相位的位置,最終達到的移動效果為兩個透鏡的中心一一對應的與用戶的兩個眼睛的瞳孔中心重合,可以參考圖3所示調節原理,可以為左邊的透鏡的中心與用戶左眼的瞳孔中心重合,右邊的透鏡的中心與用戶右眼的瞳孔中心重合。
需要說明的是,本發明實施例通過調節兩個透鏡的位置可以使得每個透鏡的中心與對應眼睛的瞳孔中心重合,而理想的狀態如圖3所示,人眼的瞳孔中心、透鏡中心、分屏后的屏幕中心在一條直線上,從而獲得最佳的視覺效果;由于屏幕的中心通常是固定不變的,在設計虛擬現實設備的硬件結構時可以使其屏幕的寬度適合大多數人的眼睛位置,并通過調節透鏡的位置使透鏡中心與對應眼睛的瞳孔中心重合。
現有技術中的vr設備,雖然其透鏡也配置為位置可調節,但是調節透鏡位置的方式為手動調節,手動調節的精度較差,容易出現偏移,從而導致用戶在看到圖像時模糊而影響體驗效果;另外,手動調節透鏡位置的調節方式較為復雜,會給用戶帶來麻煩。與現有技術中vr設備相比,由于本發明實施例的虛擬現實設備的透鏡調節方法,在用戶使用該虛擬現實設備時通過拍攝用戶的眼部圖像,并拍攝的眼部圖像的進行處理,從而調節每個透鏡的位置,以實現最佳的顯示效果;通過本發明實施例提供的虛擬現實設備的透鏡調節方法,在使用虛擬現實設備的過程中,不需要用戶手動調節透鏡的位置,通過虛擬現實設備自動進行瞳孔距的計算和透鏡位置的調節,提高了調節透鏡位置的智能性和便捷性。
發明實施例提供的虛擬現實設備的透鏡調節方法,在用戶使用該虛擬現實設備時通過拍攝用戶的眼部圖像,并對拍攝的眼部圖像的進行處理,計算出用戶的瞳孔距和兩個透鏡的移動距離,隨后,根據上述計算結果和控制指令分別調節每個透鏡的位置,使得兩個透鏡的中心一一對應的與所述用戶的兩個眼睛的瞳孔中心重合。通過本發明實施例提供的虛擬現實設備的透鏡調節方法,在虛擬現實設備在使用過程中,不需要用戶手動調節透鏡的位置,通過虛擬現實設備自動進行瞳孔距的計算和透鏡位置的調節,提高了調節透鏡位置的智能性和便捷性,解決了現有技術中的vr設備,由于需要通過手動方式調節透鏡位置,調節的精準度較差,從而導致用戶在觀看圖像時效果模糊而影響體驗效果的問題。
在實際應用中,虛擬現實設備中攝像頭的參數會給出fov角,通常會給出垂直方向的fov角度,參考圖5所示的fov角度,如圖5所示,垂直方向的fov角(∠cfd)為β,虛擬現實設備在透鏡調節過程中,使用水平方向的fov角(∠afb)為γ,設定攝像頭拍攝出的圖像的分辨率為w*h,則水平方向的fov角為:
γ=β*w/h;
參考圖6所示,o1和o2分別為用戶的左眼和右眼的瞳孔中心處,即o1o2為瞳孔距,兩個攝像頭可以安裝在虛擬現實設備上部的左右兩側,分別拍攝用戶的左右眼部圖像,兩個攝像頭的間距為l0,左邊攝像頭中心到設備左邊緣的距離和右邊攝像頭中心到設備右邊緣的距離均為s,攝像頭距離用戶眼部的垂直距離為h。以左邊攝像頭的計算方式為例予以示出,可以得到fov角γ,并且α=γ/2,w為攝像頭的拍攝角度2α對應的實際距離w,則w為:
w=2h*tan(α)。
參考圖7所示的拍攝圖像,由于攝像頭拍攝出的拍攝圖像的圖像距離,即(分辨率w*h)與實際距離存在一定的誤差,若采用拍攝圖像的分辨率計算瞳孔距和透鏡的移動距離,得到的計算結果會存在一定的誤差,為了盡可能減小并消除上述誤差,可以定義系數k為實際距離與圖像距離的比值。圖7中示出了左攝像頭的拍攝圖像,拍攝圖像的圖像寬度為w,對應的實際寬度為圖6中的w,左眼瞳孔中心到左攝像頭的視場邊緣的圖像距離為x,對應的實際距離為o1a,則o1a的計算方式如下:
k=o1a/x=o2b/y=w/w=2h*tan(α)/w;
o1a=2h*tan(α)/w*x;
同理可得:o2b=2h*tan(α)/w*x;
圖10為本發明實施例提供的另一種虛擬現實設備的透鏡調節方法的流程圖,由此上述計算方式可知,本發明實施例的s120中計算用戶的瞳孔距的實現方式,可以包括:
s121,計算出用戶的瞳孔距o1o2為:
o1o2=l-(o1a+o2b)=l-k*(x+y);(1)
上述式(1)中,l為兩個攝像頭的視場邊緣距離,o1a和o2b分別為左眼和右眼的瞳孔中心到對應攝像頭的視場邊緣的實際距離,x和y分別為左眼和右眼的瞳孔中心到對應攝像頭的視場邊緣的圖像距離,k為實際距離與圖像距離的比值。
上述式(1)的計算方式中,圖像距離x和y,通過圖像識別后得到的值可能存在較大的誤差,所以可以采用測量左右瞳孔中心到對應攝像頭的視場邊緣的實際距離,即實測o1a和o2b,并計算平均值的方式,計算用戶的瞳孔距o1o2。如圖8所示,為本發明實施例提供的虛擬現實設備中一種計算瞳孔中心位置的示意圖,同樣以左眼為例予以示出,其中,o1a和o2b與圖6中的定義相同,o1a1和o1a2分別為左眼的瞳孔的最左側和最右側到左攝像頭的視場邊緣的實際距離,o2b1和o2b2分別為右眼的瞳孔的最右側和最左側到右攝像頭的視場邊緣的實際距離,可以得到:
o1a=(o1a1+o1a2)/2,o2b=(o2b1和o2b2)/2;
其中,對上述o1a1、o1a2、o2b1和o2b2的值可以通過多次測量求平均值的方式以減小誤差。
可選地,本發明實施例的s120中計算兩個透鏡的移動距離的實現方式,可以包括:
s122,獲取每個透鏡中心的當前位置;
s123,計算用戶的左眼瞳孔中心到虛擬現實設備的左邊緣的第一距離,以及右眼瞳孔中心到虛擬現實設備的右邊緣的第二距離;
s124,根據每個透鏡的當前位置、第一距離和第二距離,以及用戶的瞳孔距,分別計算兩個透鏡的移動距離。
參考圖6所示,第一距離為o1c,第二距離為o2d,在上述已知o1a和o2b的情況下,可以計算出:
第一距離為:o1c=o1a-(w/2-s);
第二距離為:o2d=o2b-(w/2-s);
其中,上述實施例中已經說明s為攝像頭中心到虛擬現實設備相應邊緣的距離,s的值在虛擬現實設備的結構設計過程中已經確定,w為攝像頭拍攝圖像的實際寬度,并且w=2h*tan(α),h為攝像頭到人眼的垂直距離,α為水平方向視場角的一半。
通過本發明實施例提供的虛擬現實設備的透鏡調節方法,在計算出瞳孔距,以及上述第一距離和第二距離后,結合每個攝像頭的當前距離,對每個透鏡的位置進行調節,使得透鏡的中心與對應人眼的瞳孔中心重合,以實現最佳顯示效果。在實際移動透鏡時,可以以虛擬現實設備的左右邊緣為基準進行調節。
雖然本發明所揭露的實施方式如上,但所述的內容僅為便于理解本發明而采用的實施方式,并非用以限定本發明。任何本發明所屬領域內的技術人員,在不脫離本發明所揭露的精神和范圍的前提下,可以在實施的形式及細節上進行任何的修改與變化,但本發明的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。