本發(fā)明屬于眼球追蹤技術(shù)領(lǐng)域,具體涉及一種基于視線的VR顯示方法及VR設(shè)備。
背景技術(shù):
互聯(lián)網(wǎng)時(shí)代的來(lái)臨使得人類(lèi)的交流采用了新的方式,進(jìn)入了新的領(lǐng)域。具體發(fā)展過(guò)程如下:命令界面—圖形用戶(hù)界面—多媒體界面—虛擬現(xiàn)實(shí)。虛擬現(xiàn)實(shí)(Virtual Reality,簡(jiǎn)稱(chēng)VR),是利用計(jì)算機(jī)圖形系統(tǒng)和各種現(xiàn)實(shí)及控制等接口設(shè)備,在計(jì)算機(jī)上生成的、可交互的三維環(huán)境中提供沉浸感覺(jué)的技術(shù)。目前,VR虛擬現(xiàn)實(shí)技術(shù)可廣泛地應(yīng)用于城市規(guī)劃、室內(nèi)設(shè)計(jì)、工業(yè)仿真、古跡復(fù)原、橋梁道路設(shè)計(jì)、房地產(chǎn)銷(xiāo)售、旅游教學(xué)、水利電力、地質(zhì)災(zāi)害等眾多領(lǐng)域,能夠提供切實(shí)可行的解決方案。
目前,VR頭戴設(shè)備的市場(chǎng)正在逐步擴(kuò)大,對(duì)應(yīng)的應(yīng)用方式也在不斷擴(kuò)大。其中,通過(guò)VR頭戴設(shè)備可對(duì)播放的視頻進(jìn)行暫停、快進(jìn)、快退等操作,但操作方式只能是利用體感手柄,體感戒指,體感手環(huán)等外部設(shè)備完成。另外,若用戶(hù)需要查看視頻畫(huà)面中的某個(gè)細(xì)節(jié),更是無(wú)法實(shí)現(xiàn)的,因此現(xiàn)有VR頭戴設(shè)備是無(wú)法實(shí)現(xiàn)VR顯示的具體化,用戶(hù)體驗(yàn)性較差。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明提供了一種基于視線的VR顯示方法及VR設(shè)備。
本發(fā)明的一個(gè)實(shí)施例提供了一種基于視線的VR顯示方法,應(yīng)用于VR設(shè)備的局部顯示控制,包括:
接收初始化指令后顯示測(cè)試圖像并采集用戶(hù)的第一瞳孔圖像以完成所述用戶(hù)的視線定位初始化;
播放視頻時(shí),采集所述用戶(hù)的第二瞳孔圖像并根據(jù)所述第二瞳孔圖像確定所述用戶(hù)的第二瞳孔中心點(diǎn);
判斷所述第二瞳孔中心點(diǎn)在設(shè)定時(shí)間閾值內(nèi)是否發(fā)生變化,并在未發(fā)生變化時(shí)局部放大當(dāng)前視線方向的視頻畫(huà)面。
在本發(fā)明的一個(gè)實(shí)施例中,接收初始化指令后顯示測(cè)試圖像并采集用戶(hù)的第一瞳孔圖像以完成所述用戶(hù)的視線定位初始化,包括:
接收初始化指令后在視場(chǎng)范圍內(nèi)按照預(yù)設(shè)的程序依次顯示M個(gè)觀測(cè)點(diǎn)以引導(dǎo)所述用戶(hù)依次觀察所述M個(gè)觀測(cè)點(diǎn);
采集所述用戶(hù)在M個(gè)觀測(cè)點(diǎn)的所述第一瞳孔圖像;
根據(jù)所述第一瞳孔圖像確定所述用戶(hù)的第一瞳孔中心點(diǎn);
根據(jù)所述M個(gè)觀測(cè)點(diǎn)和所述M個(gè)觀測(cè)點(diǎn)對(duì)應(yīng)的所述第一瞳孔中心點(diǎn)完成對(duì)所述用戶(hù)的視線定位初始化。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)所述第一瞳孔圖像確定所述用戶(hù)的第一瞳孔中心點(diǎn),包括:
處理所述第一瞳孔圖像形成第一灰度圖像;
從所述第一灰度圖像中獲取所述第一瞳孔的邊緣點(diǎn),并根據(jù)所述邊緣點(diǎn)擬合形成第一類(lèi)橢圓曲線;
將所述第一類(lèi)橢圓曲線的中心作為所述第一瞳孔中心點(diǎn)。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)所述M個(gè)觀測(cè)點(diǎn)和所述M個(gè)觀測(cè)點(diǎn)對(duì)應(yīng)的所述第一瞳孔中心點(diǎn)完成對(duì)所述用戶(hù)的視線定位初始化,包括:
選取觀測(cè)點(diǎn)與對(duì)應(yīng)的第一瞳孔中心點(diǎn)之間的映射模型,所述映射模型為:其中(X,Y)為觀測(cè)點(diǎn)在自設(shè)坐標(biāo)系下的坐標(biāo)信息,(x,y)為第一瞳孔中心點(diǎn)在自設(shè)坐標(biāo)系下的坐標(biāo)信息,a、b、c、d、e、f、g、h、k、l、m及n為所述映射模型的參數(shù);
根據(jù)所述M個(gè)觀測(cè)點(diǎn)的坐標(biāo)和所述M個(gè)觀測(cè)點(diǎn)對(duì)應(yīng)的所述第一瞳孔中心點(diǎn)的坐標(biāo)計(jì)算所述映射模型中的參數(shù)以完成所述映射模型的設(shè)立。
在本發(fā)明的一個(gè)實(shí)施例中,采集所述用戶(hù)的第二瞳孔圖像并根據(jù)所述第二瞳孔圖像確定所述用戶(hù)的第二瞳孔中心點(diǎn),包括:
采集所述第二第二瞳孔圖像并對(duì)所述第二瞳孔圖像進(jìn)行灰度化處理形成第二灰度圖像;
從所述第二灰度圖像中獲取第二瞳孔的邊緣點(diǎn),并根據(jù)所述邊緣點(diǎn)擬合形成第二類(lèi)橢圓曲線;
將所述第二類(lèi)橢圓曲線的中心作為所述第二瞳孔中心點(diǎn)。
在本發(fā)明的一個(gè)實(shí)施例中,判斷所述第二瞳孔中心點(diǎn)在設(shè)定時(shí)間閾值內(nèi)是否發(fā)生變化,包括:
步驟a、將當(dāng)前時(shí)刻采集的所述第二瞳孔圖像與前一時(shí)刻采集的所述第二瞳孔圖像進(jìn)行第二瞳孔中心點(diǎn)比對(duì);
步驟b、若無(wú)變化,從前一時(shí)刻開(kāi)始記錄時(shí)間;
步驟c、采集下一時(shí)刻的所述第二瞳孔圖像;
步驟d、將下一時(shí)刻采集的所述第二瞳孔圖像與當(dāng)前時(shí)刻采集的所述第二瞳孔圖像進(jìn)行第二瞳孔中心點(diǎn)比對(duì);
如無(wú)變化,則累加時(shí)間并判斷累計(jì)時(shí)長(zhǎng)是否大于等于所述設(shè)定的時(shí)間閾值,若是,則停止;若否,繼續(xù)執(zhí)行步驟c;
若有變化,則重新執(zhí)行步驟a。
在本發(fā)明的一個(gè)實(shí)施例中,局部放大當(dāng)前視線方向的視頻畫(huà)面,包括:
根據(jù)所述視線定位初始化中確定的映射模型及所述第二瞳孔中心點(diǎn)獲得對(duì)應(yīng)在視場(chǎng)畫(huà)面中的觀測(cè)點(diǎn);
調(diào)用內(nèi)存資源局部放大所述觀測(cè)點(diǎn)位置處的視頻畫(huà)面。
在本發(fā)明的一個(gè)實(shí)施例中,所述映射模型為:
其中(X,Y)為觀測(cè)點(diǎn)在自設(shè)坐標(biāo)系下的坐標(biāo)信息,(x,y)為第二瞳孔中心點(diǎn)在自設(shè)坐標(biāo)系下的坐標(biāo)信息,a、b、c、d、e、f、g、h、k、l、m及n為所述映射模型的參數(shù)。
在本發(fā)明的一個(gè)實(shí)施例中,調(diào)用內(nèi)存資源局部放大所述觀測(cè)點(diǎn)位置處的視頻畫(huà)面,包括:
以觀測(cè)點(diǎn)為中心,調(diào)用所述VR設(shè)備的內(nèi)存資源,以視場(chǎng)形狀按照預(yù)設(shè)規(guī)則擴(kuò)大局部的視頻畫(huà)面;其中,用于局部放大的視頻畫(huà)面所采用的內(nèi)存資源為由放大后已不在視場(chǎng)范圍的視頻畫(huà)面所采用的內(nèi)存資源形成。
本發(fā)明的另一個(gè)實(shí)施例提供了一種VR設(shè)備,包括:處理器及瞳孔圖像采集設(shè)備;其中,所述處理器用于執(zhí)行上述實(shí)施例中的任一方法。
本發(fā)明實(shí)施例,通過(guò)采用眼球追蹤技術(shù),精確定位視場(chǎng)內(nèi)的觀測(cè)點(diǎn)并以視線滯留作為視頻播放中的局部放大操作,解決了當(dāng)前VR設(shè)備播放視頻無(wú)法局部放大的問(wèn)題。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的一種VR設(shè)備的外形結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的一種基于視線的VR顯示方法的示意圖;
圖3為本發(fā)明實(shí)施例提供的一種視線定位的初始化方法示意圖;
圖4為本發(fā)明實(shí)施例提供的一種第二瞳孔中心的定位方法示意圖;以及
圖5為本發(fā)明實(shí)施例提供的一種視線滯留判斷方法的示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。
實(shí)施例一
請(qǐng)參見(jiàn)圖1,圖1為本發(fā)明實(shí)施例提供的一種VR設(shè)備的外形結(jié)構(gòu)示意圖。該VR設(shè)備10包括本體11、處理器12和瞳孔圖像采集設(shè)備13。其中,瞳孔圖像采集設(shè)備13為包括至少一個(gè)紅外光源的圖像采集設(shè)備。因?yàn)榧t外光源對(duì)瞳孔內(nèi)、外的反射有很明顯的差異,在瞳孔區(qū)域光線較強(qiáng),亮度高;在非瞳孔區(qū)則圖像較暗,亮度低,因此可以有效協(xié)助圖像采集設(shè)備完成瞳孔處的拍攝。該VR設(shè)備10例如為頭戴式設(shè)備,當(dāng)然本發(fā)明不限于圖中所示的外形結(jié)構(gòu),任何可以實(shí)現(xiàn)VR顯示功能的設(shè)備均為本發(fā)明的保護(hù)范圍。
請(qǐng)參見(jiàn)圖2,圖2為本發(fā)明實(shí)施例提供的一種基于視線的VR顯示方法的示意圖。該方法可以包括:
初始化階段:接收初始化指令后顯示測(cè)試圖像并采集用戶(hù)的第一瞳孔圖像以完成所述用戶(hù)的視線定位初始化。
播放階段:播放視頻時(shí),采集所述用戶(hù)的第二瞳孔圖像并根據(jù)所述第二瞳孔圖像確定所述用戶(hù)的第二瞳孔中心點(diǎn);
局部放大階段:判斷所述第二瞳孔中心點(diǎn)在設(shè)定時(shí)間閾值內(nèi)是否發(fā)生變化,并在未發(fā)生變化時(shí)局部放大當(dāng)前視線方向的視頻畫(huà)面。
其中,請(qǐng)參見(jiàn)圖3,圖3為本發(fā)明實(shí)施例提供的一種視線定位的初始化方法示意圖。在初始化階段,具體方法包括如下步驟:
步驟1、接收初始化指令后在視場(chǎng)范圍內(nèi)按照預(yù)設(shè)的程序依次顯示M個(gè)觀測(cè)點(diǎn)以引導(dǎo)所述用戶(hù)依次觀察所述M個(gè)觀測(cè)點(diǎn);
步驟2、采集所述用戶(hù)在M個(gè)觀測(cè)點(diǎn)的所述第一瞳孔圖像;
步驟3、根據(jù)所述第一瞳孔圖像確定所述用戶(hù)的第一瞳孔中心點(diǎn);
步驟4、根據(jù)所述M個(gè)觀測(cè)點(diǎn)和所述M個(gè)觀測(cè)點(diǎn)對(duì)應(yīng)的所述第一瞳孔中心點(diǎn)完成對(duì)所述用戶(hù)的視線定位初始化。
其中,步驟3可以包括:
步驟31、處理所述第一瞳孔圖像形成第一灰度圖像;
步驟32、從所述第一灰度圖像中獲取所述第一瞳孔的邊緣點(diǎn),并根據(jù)所述邊緣點(diǎn)擬合形成第一類(lèi)橢圓曲線;
步驟33、將所述第一類(lèi)橢圓曲線的中心作為所述第一瞳孔中心點(diǎn)。
具體地,在步驟31中,首先對(duì)瞳孔圖像進(jìn)行預(yù)處理形成修正后的紅外圖像,采用增強(qiáng)算子作用在所述紅外圖像的每個(gè)像素以使圖像亮度增強(qiáng)進(jìn)而實(shí)現(xiàn)灰度對(duì)比度的增大,之后對(duì)所述紅外圖像采用拉普拉斯法進(jìn)行圖像濾波處理;其中,所述增強(qiáng)算子的公式為:En=c*lg(1+double(f0));其中,En為增強(qiáng)算子,f0為原函數(shù)灰度值,c是常系數(shù)。其中,c的具體取值可根據(jù)實(shí)際情況設(shè)置,本發(fā)明在此不做限制。
步驟32中,首先估算瞳孔中心點(diǎn)的初步位置,假設(shè)采用灰度積分法的方式完成:
其中,(xmin,ymin)為估算瞳孔中心點(diǎn)的初步坐標(biāo),min表示取最小值運(yùn)算,sum表示求和運(yùn)算,f(i,j)表示在坐標(biāo)(x,y)處圖像的灰度值。
其次,找出邊緣點(diǎn):
以坐標(biāo)(xmin,ymin)為起點(diǎn)沿指定射線方向在所述修正紅外圖像上計(jì)算灰度的梯度值,并將梯度值達(dá)到最大值時(shí)所在的位置確定為瞳孔邊緣點(diǎn)的位置。
之后,根據(jù)多個(gè)邊緣點(diǎn)擬合類(lèi)橢圓曲線:
第一步、從N個(gè)邊緣點(diǎn)中選取任意5個(gè)點(diǎn),使用最小二乘法進(jìn)行橢圓擬合形成類(lèi)橢圓方程1;
第二步、對(duì)N個(gè)邊緣點(diǎn)利用隨機(jī)采樣一致性算法通過(guò)所述類(lèi)橢圓方程1進(jìn)行局內(nèi)點(diǎn)和局外點(diǎn)甄別,統(tǒng)計(jì)得到K個(gè)局內(nèi)點(diǎn)和N-K個(gè)局外點(diǎn);
落在所述類(lèi)橢圓上的點(diǎn),視為局內(nèi)點(diǎn)。
第三步、判斷局內(nèi)點(diǎn)占有率σ=K/N是否小于閾值t1;若是,則確定這5個(gè)點(diǎn)為非典型特征點(diǎn),擬合橢圓為非典型特征橢圓,則重新執(zhí)行第一步;若否,則確定所述5個(gè)點(diǎn)為典型特征點(diǎn),則執(zhí)行第四步;
第四步、從K個(gè)局內(nèi)點(diǎn)任意選取5個(gè)點(diǎn),利用最小二乘法對(duì)類(lèi)橢圓方程1進(jìn)行優(yōu)化形成類(lèi)橢圓方程2,并對(duì)N個(gè)邊緣點(diǎn)利用隨機(jī)采樣一致性算法通過(guò)類(lèi)橢圓方程2進(jìn)行局內(nèi)點(diǎn)和局外點(diǎn)甄別,最終統(tǒng)計(jì)得到K1個(gè)局內(nèi)點(diǎn)和N-K1局外點(diǎn);
第五步、判斷局內(nèi)點(diǎn)占有率σ=K1/N是否大于第二閾值t2;如是,則終止迭代,認(rèn)為所述類(lèi)橢圓方程2為最優(yōu)方程;若否,則執(zhí)行第四步。
步驟33具體為:從類(lèi)橢圓方程2中找到長(zhǎng)軸和短軸的交點(diǎn),作為瞳孔中心點(diǎn)。
可選地,步驟4可以包括:
選取觀測(cè)點(diǎn)與對(duì)應(yīng)的第一瞳孔中心點(diǎn)之間的映射模型,所述映射模型為:其中(X,Y)為觀測(cè)點(diǎn)在自設(shè)坐標(biāo)系下的坐標(biāo)信息,(x,y)為第一瞳孔中心點(diǎn)在自設(shè)坐標(biāo)系下的坐標(biāo)信息,a、b、c、d、e、f、g、h、k、l、m及n為所述映射模型的參數(shù);
根據(jù)所述M個(gè)觀測(cè)點(diǎn)的坐標(biāo)和所述M個(gè)觀測(cè)點(diǎn)對(duì)應(yīng)的所述第一瞳孔中心點(diǎn)的坐標(biāo)計(jì)算所述映射模型中的參數(shù)以完成所述映射模型的設(shè)立。
具體地,假設(shè)視場(chǎng)中依次出現(xiàn)的M個(gè)點(diǎn)的坐標(biāo)記錄為X=(X1,X2,X3…Xk),Y=(Y1,Y2,Y3…Yk),對(duì)應(yīng)的瞳孔中心坐標(biāo)為x=(x1,x2,x3…xk),y=(y1,y2,y3…yk),模型的建立則可以用下面的矩陣表達(dá):
f(x,y)表示x和y的一種關(guān)系,代表著映射關(guān)系函數(shù)F絕非簡(jiǎn)單的一次線性關(guān)系,[M]表示瞳孔中心位置和屏幕坐標(biāo)之間的映射參數(shù)。
本發(fā)明建立的模型如下:
將該模型使用矩陣形式表達(dá)為:
則
在本模型中,取M=6時(shí),X,Y對(duì)應(yīng)有6個(gè)觀測(cè)點(diǎn)坐標(biāo),瞳孔相應(yīng)也有6個(gè)對(duì)應(yīng)中心坐標(biāo),X=|X1,X2,X3,X4,X5,X6|,Y=|Y1,Y2,Y3,Y4,Y5,Y6|,同理,x=|x1,x2,x3,x4,x5,x6|,y=|y1,y2,y3,y4,y5,y6|,那么上面的矩陣可以進(jìn)一步改寫(xiě)為:
通過(guò)方程組求出a、b、c、d、e、f、g、h、k、l、m及n,進(jìn)而得到所述映射模型。
對(duì)于播放階段,請(qǐng)參見(jiàn)圖4,圖4為本發(fā)明實(shí)施例提供的一種第二瞳孔中心的定位方法示意圖。對(duì)于瞳孔的定位包括如下步驟:
采集所述第二瞳孔圖像并對(duì)所述第二瞳孔圖像進(jìn)行灰度化處理形成第二灰度圖像;
從所述第二灰度圖像中獲取第二瞳孔的邊緣點(diǎn),并根據(jù)所述邊緣點(diǎn)擬合形成第二類(lèi)橢圓曲線;
將所述第二類(lèi)橢圓曲線的中心作為所述第二瞳孔中心點(diǎn)。
其中,對(duì)于第二瞳孔中心點(diǎn)的確定方式類(lèi)似于上述的步驟3中的方法,此處不再贅述。
在局部放大階段,請(qǐng)參見(jiàn)圖5,圖5為本發(fā)明實(shí)施例提供的一種視線滯留判斷方法的示意圖。判斷所述瞳孔中心點(diǎn)在設(shè)定時(shí)間閾值內(nèi)是否發(fā)生變化,可以包括如下步驟:
步驟a、將當(dāng)前時(shí)刻采集的所述第二瞳孔圖像與前一時(shí)刻采集的所述第二瞳孔圖像進(jìn)行第二瞳孔中心點(diǎn)比對(duì);
步驟b、若無(wú)變化,從前一時(shí)刻開(kāi)始記錄時(shí)間;
步驟c、采集下一時(shí)刻的所述第二瞳孔圖像;
步驟d、將下一時(shí)刻采集的所述第二瞳孔圖像與當(dāng)前時(shí)刻采集的所述第二瞳孔圖像進(jìn)行第二瞳孔中心點(diǎn)比對(duì);
如無(wú)變化,則累加時(shí)間并判斷累計(jì)時(shí)長(zhǎng)是否大于等于所述設(shè)定的時(shí)間閾值,若是,則停止;若否,繼續(xù)執(zhí)行步驟c;
若有變化,則重新執(zhí)行步驟a。
在上述判斷中確定第二瞳孔中心點(diǎn)未發(fā)生變化時(shí),局部放大當(dāng)前視線方向的視頻畫(huà)面。具體地:
首先,根據(jù)所述視線定位初始化中確定的映射模型及所述第二瞳孔中心點(diǎn)獲得對(duì)應(yīng)在視場(chǎng)畫(huà)面中的觀測(cè)點(diǎn)。其中,映射模型與前述的映射模型一致,此處不再贅述。
其次,調(diào)用內(nèi)存資源局部放大所述觀測(cè)點(diǎn)位置處的視頻畫(huà)面。即以觀測(cè)點(diǎn)為中心,調(diào)用所述VR設(shè)備的內(nèi)存資源,以視場(chǎng)形狀按照預(yù)設(shè)規(guī)則擴(kuò)大局部的視頻畫(huà)面;其中,用于局部放大的視頻畫(huà)面所采用的內(nèi)存資源為由放大后已不在視場(chǎng)范圍的視頻畫(huà)面所采用的內(nèi)存資源形成。
對(duì)于VR設(shè)備,尤其是頭戴設(shè)備,其視場(chǎng)空間是一定的,如果局部放大視頻畫(huà)面的話,就必然有原視頻畫(huà)面中的部分畫(huà)面不在視場(chǎng)內(nèi)。為了節(jié)省內(nèi)存空間,可以將不在視場(chǎng)內(nèi)的視頻畫(huà)面所使用的內(nèi)存資源釋放,同時(shí)由處理器控制將釋放的內(nèi)存資源用于實(shí)現(xiàn)被放大的部分,這樣的內(nèi)存調(diào)用可以節(jié)省內(nèi)存占用率,降低VR設(shè)備的內(nèi)存成本。至于放大倍數(shù)和放大范圍可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,此處不作任何限制。
本發(fā)明實(shí)施例的VR顯示方法的應(yīng)用例如是:用戶(hù)在VR場(chǎng)景下觀看視頻時(shí),如果對(duì)某一處視頻比較感興趣的話,可以利用視線滯留這種方式來(lái)讓VR設(shè)備執(zhí)行局部放大的功能,提高用戶(hù)的體驗(yàn)感。同時(shí),該操作可以不暫停視頻的播放,類(lèi)似于用戶(hù)在模擬世界感觀的真實(shí)體驗(yàn),擴(kuò)大VR設(shè)備的應(yīng)用場(chǎng)景。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。