相關(guān)申請的交叉引用
本申請要求于2014年9月22日提交的美國臨時專利申請序列號62/053,545的優(yōu)先權(quán),其全部內(nèi)容通過引用并入本文。
本公開總體上涉及使用眼球追蹤的用戶界面和控制,更具體地,涉及基于眼睛會聚(eyeconvergence)來調(diào)整顯示能見度的系統(tǒng)和方法。
附圖說明
一些示例實施例通過示例但非在附圖的圖中進行限制的方式進行了說明。
圖1是耦接到根據(jù)一些實施例的能夠基于眼睛會聚來調(diào)整顯示能見度的對接設(shè)備的示例計算設(shè)備的設(shè)備圖。
圖2是耦接到根據(jù)一些實施例的能夠基于眼睛會聚來調(diào)整顯示能見度的對接設(shè)備的計算設(shè)備的另一示例的設(shè)備圖。
圖3a至圖3b是根據(jù)一些實施例的能夠基于眼睛會聚來調(diào)整顯示能見度的示例計算設(shè)備的設(shè)備圖。
圖4是根據(jù)一些實施例的用于基于眼睛會聚來調(diào)整顯示能見度的示例系統(tǒng)架構(gòu)的框圖。
圖5是根據(jù)一些實施例的用于基于眼睛會聚來調(diào)整顯示能見度的示例性數(shù)據(jù)流的框圖。
圖6a至圖6b是根據(jù)一些實施例的描繪相對于顯示器的眼球追蹤技術(shù)的示意圖。
圖7a至圖7b是根據(jù)一些實施例的描繪眼睛會聚的示意圖。
圖8a至圖8b是描繪根據(jù)一些實施例的車輛中的眼睛會聚的示意圖。
圖9a至圖9b是根據(jù)一些實施例的描述修改車輛中的平視顯示器的示意圖。
圖10是根據(jù)一些實施例的基于眼睛會聚來調(diào)整顯示能見度的示例方法的流程圖。
圖11是根據(jù)一些實施例的按照計算機系統(tǒng)的示例形式的機器的框圖,在該系統(tǒng)中可以執(zhí)行用于使機器執(zhí)行本文所討論的任何一種或多種方法的指令集。
具體實施方式
術(shù)語表
在此上下文中的“顯示器”是指用于視覺信息的輸出設(shè)備。顯示技術(shù)可能包括cstn、tft、tfd或oled。還有觸摸屏顯示器(例如電容和電阻)類型。顯示設(shè)備包括用于以視覺或觸覺形式呈現(xiàn)信息的輸出設(shè)備。
在此上下文中“hud”是指平視顯示器或多個平視顯示器,并且包括呈現(xiàn)數(shù)據(jù)而不需要用戶遠離其通常注視點的任何透明顯示器。
描述
描述了基于眼睛會聚來調(diào)整顯示能見度的示例系統(tǒng)和方法。在下面的描述中,為了說明的目的,闡述了許多特定細節(jié)以便提供對示例實施例的透徹理解。然而,對于本領(lǐng)域技術(shù)人員顯而易見的是,可以在沒有這些特定細節(jié)的情況下實踐本技術(shù)。
示例實施例包括眼球追蹤系統(tǒng),其使用眼球追蹤信息來確定在透明顯示器(例如,平視顯示器或頭戴式顯示器)上顯示的信息是否應該對于用戶是可讀的。當眼球追蹤系統(tǒng)檢測到用戶沒有看顯示器上的信息時,該信息變得更加透明。當用戶看顯示器時,可以增強信息(和顯示環(huán)境)的呈現(xiàn)以允許用戶容易地看顯示器上的信息。
眼球追蹤信息可以用于與顯示器上的對象交互。例如,檢測到用戶看顯示器上的特定對象達特定時間量,可以調(diào)用命令,使得更多的信息出現(xiàn)在顯示器上??梢栽诓煌膱鼍?例如投射在汽車的擋風玻璃上,或者投射在用戶佩戴在眼前的頭戴式屏幕上)上使用平視顯示器(hud)。在一些示例實施例中,信息被呈現(xiàn)在透明顯示器上,使得用戶可以透過顯示器看到“真實世界”。例如,在汽車的擋風玻璃上存在的平視顯示器可以向駕駛員提供例如速度、rpm、導航方向等信息。在擋風玻璃上呈現(xiàn)信息防止用戶從道路看向別處以檢查導航方向或其他汽車信息。
然而,覆蓋在平視顯示器上的信息可能在用戶正在看現(xiàn)實世界對象時干擾和/或分散他或她的注意力。在汽車的平視顯示器的情況下,當駕駛員關(guān)注于道路、其他汽車和行人時,擋風玻璃上顯示的信息可能會分散注意力,甚至可能構(gòu)成安全隱患。
本文描述的示例實施例旨在通過以下事項來解決該問題:即,將眼球追蹤信息與“顯示器”相結(jié)合使得當用戶正在看現(xiàn)實世界中的對象時,可以以非常隱約的方式呈現(xiàn)信息(例如,以便幾乎不可見),并且當用戶看顯示器中所呈現(xiàn)的信息時,增強該信息。用于增強信息的不同方式可能包括增加信息顯示的不透明度(而不是在不看顯示器時幾乎是透明的),以使其更加集中(而不是模糊),以擴展界面(而不是在例如一個角落被折疊),以改變顏色,使文本更易讀等。
例如,如果用戶駕駛可以呈現(xiàn)信息的汽車,該信息在擋風玻璃上顯示的hud上,當系統(tǒng)檢測到用戶正在看道路或其上的物體時,hud可以終止顯示任何信息,或以大部分透明的方式顯示任何信息。以這種方式,用戶不會因hud分心。當用戶看擋風玻璃時,系統(tǒng)可以檢測到事件(例如,通過計算用戶凝視和/或分析3d空間中用戶眼睛的會聚點的方式)并顯示相關(guān)信息,或增加正在顯示的信息的不透明度,以幫助用戶看到這種信息。一旦駕駛員再次看道路,平視顯示器上的信息會淡出,因此駕駛員不會分心。
進一步的實施例設(shè)想用戶佩戴具有透明顯示器的一副眼鏡。該系統(tǒng)可以通過使用(例如,眼睛會聚)來檢測用戶何時將他或她的目光聚焦在顯示器上。眼睛會聚信息可以與關(guān)于信息的屏幕上點組合,以便確定用戶凝視的關(guān)注點。
示例性實施例也可以應用于虛擬現(xiàn)實環(huán)境中。例如,虛擬現(xiàn)實頭盔可以包括實時追蹤用戶眼球運動的眼球追蹤系統(tǒng)。以與上述相似的方式,當該系統(tǒng)檢測到用戶正在看該信息時,在虛擬場景中顯示的信息可以被增強。
計算設(shè)備的用戶可以通過該用戶的眼球運動與顯示在計算設(shè)備上的對象和應用進行交互和控制。可以使用諸如眼球追蹤和凝視檢測算法之類的計算機視覺算法,來分析由計算設(shè)備上的或由耦接到計算設(shè)備的設(shè)備上的相機所拍攝的用戶的眼睛或臉部的圖像。例如,捕獲的圖像可以被處理以提取與用戶的眼睛或臉部的特征有關(guān)的信息。然后,計算設(shè)備可以使用所提取的信息,來確定用戶眼睛的位置和方位并且估計用戶的凝視信息。用戶的凝視信息是用戶正在看哪里的估計,并且凝視信息可以包括用戶的視線、注視點、用戶凝視的會聚深度等信息。用戶的注視點是3d空間中用戶聚焦的點,并且被定義為用戶眼睛的視軸相交的點。用戶的視線是定義從用戶到用戶的關(guān)注點的方向的矢量。視線在注視點上對視軸形成的角度進行平分,并且位于與視軸相同的平面內(nèi)。用戶凝視的會聚深度是作為沿著視線測量的從用戶到注視點的距離。術(shù)語“聚焦深度”和“會聚深度”可以互換使用。
例如,計算設(shè)備可以能夠估計聚焦深度。聚焦深度可以對應于用戶聚焦的平面(例如,在用戶附近的屏幕或更遠的對象)。例如,當相同方向上的多個平面可用時,可以通過將聚焦深度與平面距用戶的距離相匹配來識別聚焦平面。當聚焦深度與到任一平面的距離不精確匹配時,可以使用最接近的匹配平面。對于用戶看哪里的估計可以用于指向一個或多個對象、應用等以執(zhí)行特定的操作。一種此類操作是更改屏幕上的信息的能見度(例如,暗度、亮度、透明度、不透明度、半透明度、模糊度、清晰度、大小或位置的屬性)。例如,當用戶正在穿過屏幕上的內(nèi)容看時,屏幕上的內(nèi)容可能更透明,并且當用戶正在看屏幕上的內(nèi)容時,其更不透明。作為另一個示例,當用戶正在看其他地方時,內(nèi)容可能小并且位于屏幕的一個角落中,然后當用戶看該角落時內(nèi)容被移動到屏幕的中心并且放大,然后當用戶再次穿過該內(nèi)容所在的以外的屏幕看時內(nèi)容恢復到其原始位置和大小。
當用戶開始使用計算設(shè)備時可以進行用戶校準過程以便計算與用戶相關(guān)聯(lián)的校準參數(shù)。可以考慮這些校準參數(shù)以精確地確定用戶的眼睛的位置并且估計用戶正在看的地點與用戶的距離。還可以考慮校準參數(shù)以確定用戶的每只眼睛的凝視方向為空間(例如視線)中的三維(3d)矢量。在這種情況下,可能需要關(guān)于硬件幾何形狀的信息,諸如相機參數(shù)、屏幕相對于相機的位置等。
圖1是示例組合設(shè)備100的設(shè)備圖,其包括耦接到能夠促進眼球追蹤控制的對接設(shè)備104的計算設(shè)備102。眼球追蹤控制是指基于對用戶的眼睛活動進行追蹤來控制設(shè)備或在設(shè)備上運行的軟件。例如,根據(jù)用戶眼睛的位置或動作,可以移動屏幕上的對象、可以輸入文本,可以更改能見度屬性,可以與用戶界面進行交互等。能見度屬性是可以影響屏幕或顯示器或者屏幕或顯示器上的任何項或?qū)ο蟮哪芤姸鹊娜魏螌傩?。因此,能見度屬性可以是在顯示器上呈現(xiàn)的信息的屬性或顯示器本身的屬性。在顯示器是hud的情況下,顯示信息的玻璃的不透明度作為示例本身的屬性。示例能見度屬性包括透明度、半透明度、不透明度、對比度、亮度、大小、顏色等。計算設(shè)備102可以是任何類型的計算設(shè)備,包括但不限于智能電話、個人數(shù)字助理(pda)、移動電話、計算平板電腦、電子閱讀器、電視機、膝上型計算機、臺式計算機、顯示設(shè)備、頭戴式顯示器等。在眼球追蹤控制期間,計算設(shè)備102可以由用戶通過用一只手、兩只手,或者當計算設(shè)備102在支架上或擱置在表面上時保持計算設(shè)備102來使用。在一些實施例中,計算設(shè)備102安裝在交通工具(例如,汽車、船或飛行器)中。計算設(shè)備102的屏幕可以具有可變的半透明度。
對接設(shè)備104可以按照任何方式(諸如通過計算設(shè)備102上的通用串行總線(usb)端口,計算設(shè)備102上的微型usb端口等)耦接到計算設(shè)備102。盡管圖1的對接設(shè)備104描繪在計算設(shè)備102的底部,本領(lǐng)域普通技術(shù)人員將理解,對接設(shè)備104可以位于相對于計算設(shè)備102的任何合適的位置,并且可以被附接(例如,經(jīng)由直接電連接器),或未附接(例如,通過藍牙或無線網(wǎng)絡進行通信)。對接設(shè)備104可以包括相機模塊108和一個或多個發(fā)光二極管(led)106。為了說明的目的,本文的討論將繼續(xù)提及l(fā)ed106。然而,可以使用任何適當?shù)陌l(fā)光源(例如,紅外(ir)激光器))來代替一個或多個led106。
對接設(shè)備104可以包括任何數(shù)量的紅外led106,其可以按照對接設(shè)備104內(nèi)的任何方式(例如,以一定角度傾斜使得其指向用戶的臉部)放置在合適的位置。在一些實施例中,一個或多個led106可以按照如下的方式與一個或多個相機同步,使得當一個或多個相機正在抓取幀時一個或多個led被開啟,否則關(guān)閉。在一些實施例中,如果沒有檢測到移動或者如果對接設(shè)備104或計算設(shè)備102進入睡眠模式,則led可以被關(guān)閉。
在一些實施例中,對接設(shè)備104還可以包括合適類型的紅外濾過器(例如,有源、機械、高通、帶通等)。在一些實施例中,紅外濾過器(infraredpassfilter)是阻擋波長800nm以下的光并允許波長在800nm以上的光的高通濾波器。在一些實施例中,紅外帶通濾波器可以僅允許波長在800nm和900nm之間的光進入相機模塊108的一個或多個相機。
相機模塊108可以包括以任何方式(例如,以一定角度傾斜使得其指向用戶的臉部)放置在對接設(shè)備104內(nèi)的任何適當位置的一個或多個正面相機,并且可以用于捕獲用戶眼睛或臉部的圖像。在一些實施例中,計算設(shè)備102上的相機與立體聲模式下的相機模塊108組合使用。在一些實施例中,相機模塊108可以包括以下各項中的一個或多個:黑色和白色(例如,單色)傳感器、彩色(例如,rgb)傳感器或ir-rgb傳感器,以適當?shù)膸俾蔬\行(例如,以每秒30幀高清晰度),沒有紅外塊濾波器和具有適當視野的鏡頭(例如,足夠大以在單個幀中捕獲用戶的眼睛并且包含用戶頭部預計移動的區(qū)域)以及視野深度(例如,對于移動設(shè)備為大約30cm至80cm,對于電視為約2米至5米)等。相機模塊108中的一個或多個相機可以被定位成使得一個或多個相機朝向用戶的臉部傾斜。
眼球追蹤控制軟件可以分析由相機模塊108拍攝的圖像以提供用戶正在看計算設(shè)備102的顯示器上的屏幕坐標(x,y)。這些坐標可以用于任何數(shù)量的應用(例如滾動、移動對象、選擇圖標、玩游戲等)。眼球追蹤控制軟件可以進一步確定用戶正在看的深度(例如,z值)?;谏疃?,可以識別除屏幕之外的平面(例如,第二屏幕或道路),并且確定該平面中的坐標(x,y)。例如,用戶的焦點可以在與第一屏幕相鄰或在第一屏幕后面的第二屏幕上。作為另一示例,駕駛用戶的焦點可以在汽車前方的緊鄰用戶汽車前方的道路上,包含迎面而來的交通路線等。平面識別以及平面內(nèi)的坐標可以用于任何數(shù)量的應用(例如,在第二屏幕上控制軟件應用,如果駕駛員焦點離開道路太長時間,轉(zhuǎn)向車頭燈的方向等,則會產(chǎn)生警告)。
圖2是耦接到能夠促進眼球追蹤控制的對接設(shè)備204的計算設(shè)備202的另一示例的設(shè)備圖200。圖2所示的示例可以類似于圖1所示的示例來操作,并且可以包括為圖1描述的特征的任何一個或組合。然而,圖2示出對接設(shè)備204可以與led206集成,并且可以使用計算設(shè)備202的相機模塊208(而不是相機模塊108與對接設(shè)備104集成)。在使用usb、微型usb端口或?qū)S卸丝趯⒂嬎阍O(shè)備202與對接設(shè)備204耦接的一些實施例中,圖2所示的配置可以允許從相機更快地傳輸圖像,原因在于計算設(shè)備202的相機用于捕獲圖像??梢允褂糜糜谘矍蜃粉櫩刂频囊粋€或多個前置相機,同時使用一個或多個前置和后置相機。
圖3a至圖3b是能夠促進眼球追蹤控制的示例計算設(shè)備的設(shè)備圖。圖3a所示的示例可以類似于圖1所示的示例來操作,并且可以包括為圖1描述的特征的任何一個或組合。然而,led和相機模塊被集成到計算設(shè)備中(而不是對接設(shè)備的一部分)。計算設(shè)備轉(zhuǎn)而可以集成到另一車輛或器具(例如,冰箱、洗碗機、洗衣機或干衣機)中。
圖3b示出了未附接到計算設(shè)備的屏幕的眼球追蹤設(shè)備。在一些實施例中,眼球追蹤設(shè)備的硬件元件可以集成到另一車輛、器具等中。例如,一個或多個相機和led可以集成到車輛的儀表板中并連接到計算設(shè)備。
圖4是用于促進眼球追蹤控制的示例系統(tǒng)架構(gòu)400的框圖。系統(tǒng)架構(gòu)400的任何一個或多個組件402至412可以在計算設(shè)備的控制處理單元(cpu)、計算設(shè)備的圖形處理單元(gpu)、計算設(shè)備的專用芯片、基于云的計算設(shè)備,或這些的任何組合上運行。在一些實施例中,系統(tǒng)架構(gòu)400的組件402至412中的任何一個或多個可以包括在專用芯片上運行的軟件。軟件可以作為后臺進程運行(例如,作為操作系統(tǒng)(os)的一部分,在web瀏覽器等中),并且可以提供其他應用可以訪問的應用編程接口(api)404。api404可以引發(fā)事件或使用一些其他類似的機制,以將用戶正看屏幕上或3d空間中的哪里的信息發(fā)送到其他應用。在一些實施例中,這些應用可以在一不同的計算設(shè)備上執(zhí)行。
系統(tǒng)架構(gòu)400可以分成不同的層。硬件層可以包括可以對應于相應硬件(例如,相機、紅外照明等)的相機模塊414和紅外照明模塊416。相機層可以包括相機控制模塊410,其可以負責與一個或多個相機進行通信,以執(zhí)行相機操作,諸如例如啟動相機、抓取圖像、控制相機屬性等。該層還可以包括相機和光同步模塊412,其可以同步一個或多個相機和紅外發(fā)射器,使得眼球追蹤軟件開啟燈,以便改善對于用戶眼睛的追蹤并最小化能耗。在一些實施例中,相機層可以被配置為以相機觸發(fā)輸出的頻率使紅外led閃光。
相機層可以將圖像傳送到眼球追蹤層或眼球追蹤引擎。在眼球追蹤層中,凝視估計模塊406可以處理圖像以找到諸如面部位置、眼睛區(qū)域位置、瞳孔中心、瞳孔大小、角膜反射的位置、眼角、虹膜中心、虹膜尺寸等的特征。這些特征可以由眼睛檢測和追蹤模塊408在凝視估計階段中使用,其可以負責計算用戶的注視點。用戶的注視點可以是用戶正在看的顯示器上的位置、用戶正在看的另一平面上的位置、用戶正在看的3維點、或用戶正在看的平面。凝視估計模塊406還可以計算用戶眼睛的光軸和視軸,并基于用戶的特定特征校準該計算。
api層可以用于眼球追蹤層和使用眼睛凝視信息的應用(例如,osapi、使用眼睛凝視信息的游戲等)之間的通信。api模塊404可以發(fā)送由眼球追蹤層計算的數(shù)據(jù),諸如注視點的坐標、用戶的眼睛的3d位置、瞳孔大小、眼睛之間的距離、頭部方位、頭部移動等。api模塊404還可以接受來自應用的、對眼球追蹤層的命令(例如,啟動或停止眼球追蹤引擎、查詢特定信息等)。應用模塊402可以連接到眼球追蹤器的api模塊404,并且為了任何合適的目的(例如,控制應用或游戲、記錄眼睛數(shù)據(jù)用于視覺行為研究、調(diào)整屏幕上的信息的透明度、調(diào)暗或關(guān)閉顯示屏、控制前燈的方向等)使用眼睛凝視信息。
圖5是示例性的用于促進眼球追蹤控制的數(shù)據(jù)流的框圖。一個或多個相機和紅外led照明模塊502可以捕獲用戶的圖像。眼睛特征檢測模塊504可以使用所捕獲的數(shù)據(jù)來檢測眼睛特征(例如,眼睛的位置和取向、瞳孔、虹膜、角膜反射等)。使用檢測到的眼睛特征,凝視估計模塊506可以估計用戶的注視點或視線,其然后可以用于由眼睛控制模塊508控制應用的方面。在一些實施例中,凝視估計模塊506可以使用一組校準參數(shù)結(jié)合檢測到的眼睛特征以估計用戶的注視點或視線。
在一些示例性實施例中,當用戶最初使用眼球追蹤功能時,自動進行校準過程。在其他示例實施例中,僅在用戶的請求下執(zhí)行校準過程。校準過程計算專用于該用戶的校準參數(shù)(例如,光軸和視軸之間的垂直和水平偏移)或映射功能(其將圖像坐標系上的眼睛特征映射到顯示坐標系、深度坐標系、或另一個平面的坐標系)的參數(shù)。然后可以使用這些校準參數(shù)以及面部和眼睛的信息來通過凝視估計算法,估計用戶正在看屏幕或平面上何處或用戶的視線。可以使用任何合適的校準過程來計算專用于用戶的校準參數(shù)。專用于用戶的校準參數(shù)可以包括任何相關(guān)參數(shù),諸如光學和視角之間的偏移、角膜半徑、角膜中心和瞳孔中心之間的距離、從圖像坐標系映射到另一個坐標系的映射函數(shù)等。
為了適應用戶在四處移動的同時保持所估計的注視點的精度,可以使用硬件校準的設(shè)置,使得3d空間中的硬件組件的相對大小、位置和特性(其包括顯示器尺寸,一個或多個相機對于顯示器的位置和相對角度、光源的位置、固有的相機參數(shù)等)是已知的。
圖6a和6b是描繪相對于顯示器的眼球追蹤技術(shù)的示意圖。在圖6a中,o是坐標系xyz的中心,并且已知一個或多個相機和一個或多個光源l相對于o的位置。
如上所述,在一些實施例中,將眼球追蹤系統(tǒng)內(nèi)置在屏幕中或安裝在屏幕上的特定位置。在一些其他實施例中,眼球追蹤系統(tǒng)的組件(例如,一個或多個相機和一個或多個光源)被集成到如汽車儀表板、頭戴式顯示器、頭盔等的另一元件中。
在用戶校準過程中,可以在屏幕上顯示一個或多個對象,并且用戶可以在這些對象顯示時看它們。如果在任何給定時間顯示兩個或更多個校準對象,則系統(tǒng)可以通過例如將校準對象跟隨的路徑與用戶看對象時眼睛跟隨的路徑進行比較,來識別用戶正在看哪一個。在一些實施例中,當用戶被指示看顯示器的一部分(諸如屏幕的角)、看在光源等時,可能發(fā)生用戶校準。當顯示校準對象時,眼睛信息由眼球追蹤軟件捕獲。這種眼睛信息可以包括瞳孔中心、瞳孔橢圓、角膜反射、眼角、臉部特征等。瞳孔中心是檢測瞳孔中心所處的點。瞳孔橢圓是(圓形)瞳孔的圖像中的橢圓形表示。瞳孔橢圓的偏心度與用戶凝視的方向和從相機到眼睛的線之間的角度有關(guān)。角膜反射是來自角膜的反射光。當光源和相機之間的關(guān)系是已知的時,可以使用相對于瞳孔中心所測量的光源的角膜反射的位置來識別凝視方向。在校準過程中,眼睛的聚焦深度可能被假定為(或測量為)在顯示器上。該信息可用于校準沿z軸(距用戶的距離)的眼球追蹤。
在一些實施例中,校準過程發(fā)生在用戶執(zhí)行與眼球追蹤系統(tǒng)校準無關(guān)的任務時。例如,用戶可以首次設(shè)置設(shè)備,并且在這樣做的同時眼球追蹤軟件可以校準。
在一些實施例中,不需要對用戶眼睛參數(shù)的校準,并且僅從圖像數(shù)據(jù)計算注視點或視線。
圖6b示出了相對于原點o在3d空間中要被計算的眼睛特征,使得可以計算視軸或光軸并與顯示平面相交。圖像平面上角膜反射的位置g可以與3d空間中的光源的位置l結(jié)合使用,其相對于一個或多個相機和相機的固有參數(shù),以計算角膜中心在3d空間中的位置c。例如,可以經(jīng)由角膜從每個光源l到每個相機追蹤光線。每個光源相機對提供單獨的光線,并且識別角膜表面上的點。通過在這些點之間進行三角測量,可以確定c的角膜半徑和位置。當使用更多的相機或光源時,可以提高測量的精度。
瞳孔中心在圖像平面上的位置p可以與3d空間中角膜中心的位置c、眼睛和空氣的光學特性,以及相機的固有參數(shù)相結(jié)合,以計算瞳孔中心在3d空間中的位置e。例如,相機拍攝瞳孔的圖像,但角膜中心的實際位置與圖像直接指示的位置不同,因為瞳孔位于角膜后面,并且光線在角膜和空氣之間的交界處折射。因此,調(diào)節(jié)瞳孔中心的表面位置(apparentposition)以考慮這種折射。
瞳孔中心的位置e和角膜中心在3d空間中的位置c定義了稱為光軸的矢量。也可以稱為視軸的視線具有相對于光軸的角度偏移,其在光軸不能提供足夠的精度的情況下可以通過用戶校準來計算。x和y方向上的角度偏移稱為α和β,并且通常水平方向約為5°且垂直方向為1.5°,但這些值是個人的,因此需要根據(jù)每個用戶進行計算。
可以通過要求用戶看顯示器和3d空間中在已知位置上顯示的校準目標序列來計算α和β,并計算校準目標與在屏幕平面上的光軸的相應交點之間的偏移量。
一旦視覺軸已知,光線可以與屏幕平面相交。交叉點提供用戶正在看的屏幕上的凝視坐標。還可以在用戶校準過程中計算其他眼睛參數(shù)(如角膜半徑,瞳孔中心和角膜中心之間的距離),以提高屏幕上的凝視坐標的計算準確性(由于更好地估計角膜中心,因此光軸和視軸的估計更好)。否則,可以使用平均值(例如,對于角膜半徑為7.8mm)。
圖7a和圖7b是根據(jù)一些實施例的描繪眼睛會聚的示意圖。圖7a顯示沿著兩只眼睛的視軸投射的光線。光線幾乎平行,并且在超越平面(例如,顯示器的平面、監(jiān)視器的平面,擋風玻璃等的平面)的一距離處會聚。因此,可以確定眼睛沒有聚焦在平面上。圖7b還顯示沿著兩只眼睛的視軸投射的光線。光線會聚在平面上的一個點處。因此,可以確定眼睛聚焦在平面上。上面參照6a和圖6b討論的方法可以用于確定圖7a和圖7b中的每只眼睛的視軸或光軸。
作為另一示例,識別3d注視點可以與虛擬現(xiàn)實頭盔結(jié)合使用,虛擬現(xiàn)實頭盔為每個眼睛提供一個畫面以為用戶創(chuàng)建虛擬3d世界。應用402可以識別虛擬世界中的、與所識別的3d注視點對應的點?;诮邮沼脩絷P(guān)注點的點或虛擬世界中相關(guān)對象的識別,應用402可以采取不同的動作。例如,關(guān)注遠處的物品可能使得用戶人物走向該物品或使得相機聚焦于物品。聚焦于附近的物品上可能使得人物拾起或以其他方式與物品互動。聚焦于模糊不清的標志可能使得該標志上的文字清晰顯示,例如,使用可視區(qū)域底部的字幕,作為與該標志相關(guān)聯(lián)的工具提示,通過增加該標志的顯示分辨率,通過放大該標志,或以其他方式。另外,可以同時使用多個此類方法。
作為另一個例子,將3d注視點與增強現(xiàn)實頭盔結(jié)合使用,其提供現(xiàn)實世界以及在真實世界之上顯示或投影的虛擬對象的視圖?;谟脩舻淖⒁朁c,應用402可以確定用戶是看現(xiàn)實世界還是看虛擬對象,并且可以采取不同的動作。例如,如果用戶正在看現(xiàn)實世界,則顯示器可能變得更加透明。當用戶專注于虛擬對象時,顯示器可能變得更加不透明或可能會增強對象。
圖8a和圖8b是根據(jù)一些實施例的描繪車輛中的眼睛會聚的示意圖。圖8a顯示沿著兩只眼睛的視軸投射的光線。光線幾乎平行,并且會在超過車輛擋風玻璃的一定距離處會聚。因此,凝視估計模塊406可以確定眼睛沒有聚焦在擋風玻璃上。圖8b還顯示沿著兩只眼睛的視軸投射的光線。光線會聚在擋風玻璃上的一個點處。因此,凝視估計模塊406可以確定眼睛聚焦在擋風玻璃上。上面參照圖6a和圖6b所討論的方法可以用于確定圖8a和圖8b中每只眼睛的視軸或光軸。
圖9a和9b是根據(jù)一些實施例的描述更改車輛中的平視顯示器(hud)910的示意圖。圖9a的插圖顯示用戶的注視點在道路上。因此,擋風玻璃上的hud910(顯示左箭頭和“750米”)幾乎完全透明。圖9b的插圖顯示了用戶的注視點在擋風玻璃上。因此,擋風玻璃上的hud910增加了不透明度。
圖10是根據(jù)一些實施例的基于眼睛會聚來調(diào)整顯示透明度的示例方法1000的流程圖。在檢測眼睛會聚之前,可以執(zhí)行用戶特定的眼球追蹤校準。例如,通過使用于2014年2月14日提交的題為“眼球追蹤校準的系統(tǒng)和方法”的美國專利申請序列號14/180,974中所描述的系統(tǒng)和方法,其通過引用并入本文。
在操作1010中,在hud上顯示信息。hud是一種被設(shè)計用于與另一視圖同時看的顯示器。例如,hud可以投影在擋風玻璃或其他半反射表面上(例如,如圖9a和圖9b所示)、顯示在用戶可以看穿的透明lcd屏幕上、顯示在用戶眼睛附近的小的不透明屏幕上等。在一個示例實施例中,駕駛員擋風玻璃上的hud顯示以下各項中的一個或多個:車輛的速度、發(fā)動機的rpm和要去到預定目的地的下一個轉(zhuǎn)彎。
在操作1020中確定用戶在3d空間中的注視點。上面參考圖6b描述的算法可以用于確定用戶的注視點。如果用戶正在看hud(操作1030),則在hud上顯示高能見度信息(操作1050)。例如,可以增加信息的亮度或不透明度。如果用戶沒有看hud,則信息顯示得更隱約(操作1040)。例如,信息可以變暗或更透明地渲染。
可以連續(xù)或反復調(diào)整信息的能見度,這是基于用戶在3d空間中的注視點的連續(xù)或重復計算。例如,基于用戶可能看hud的確定(或估計),可以增加信息的不透明度。然后,基于用戶可能從hud看向別處或看穿hud的確定(或估計),可以減少信息的不透明度。在一些示例實施例中,使用能見度屬性的固定值。例如,當用戶看hud時,可以使用預設(shè)的亮度值,并且在用戶沒看hud時使用不同的亮度存在值。在其他示例實施例中,能見度屬性基于用戶滿足一個條件或另一個條件的時間量而改變。例如,在用戶從hud看向別處達長時間之后,可以將hud的能見度最小化或設(shè)置為最小(例如,具有最小亮度、最小不透明度、最小清晰度、最小對比度或任何其適合的組合)。然后,在用戶看hud之后,hud的能見度可以按預設(shè)速率增加,直到達到最大能見度(例如,最大亮度、最大不透明度、最大清晰度、最大亮度或任何其合適的的組合)。類似地,當用戶再次從hud看向別處時,能見度可以按預設(shè)速率降低,直到返回到最小能見度。預設(shè)速率可能不同。例如,為了獲得令人愉快的效果,不透明度增加的速度可能是緩慢的,而不透明度的降低速度是快速的,以便用戶能夠快速地對用戶的視野中發(fā)生的任何事情做出反應。經(jīng)調(diào)整的屬性的最小值和最大值可以是絕對值(例如,能夠由系統(tǒng)提供的最小值和最大值)或任意預定值(例如,由系統(tǒng)配置、由用戶配置、由管理員配置等)。經(jīng)調(diào)整的屬性的最小值和最大值可能取決于外部因素,例如環(huán)境照明。例如,最大亮度在夜間條件下可能具有較低的值,并且在日光下可能具有較高的值。
本文所描述的方法和系統(tǒng)可以提供優(yōu)于現(xiàn)有方法和系統(tǒng)的技術(shù)優(yōu)點,具體地是關(guān)于人機(或人-車輛)界面。例如,當用戶關(guān)注于其他可見事物時,在hud上顯示的具有高能見度的信息可能會分散用戶的注意力。當用戶關(guān)注于其他地方時,通過降低hud的能見度,可以降低用戶分心。在某些情況下,例如當用戶駕駛或操縱車輛時,分心的減少會提高安全性。
在一些實施例中,方法可以包括基于用戶的兩只眼睛的凝視信息來確定用戶的聚焦深度,在顯示器上顯示對象和/或基于用戶的聚焦深度調(diào)整顯示在顯示器上的對象的能見度。
在一些實施例中,基于用戶的兩只眼睛的凝視信息來確定聚焦深度可以包括確定用戶的每只眼睛的視軸或光軸。
在一些實施例中,對象的能見度的調(diào)整可以包括調(diào)整對象的能見度的屬性。
在一些實施例中,可以基于用戶的聚焦深度來顯示對象的能見度的調(diào)整。
在一些實施例中,對象的能見度的屬性可以包括對象的透明度。
在一些實施例中,對象的能見度的屬性可以包括對象的亮度。
在一些實施例中,對象的能見度的屬性可以包括對象的位置。
在一些實施例中,對象的能見度的屬性可以包括對象的大小。
在一些實施例中,對象的能見度的調(diào)整可以包括調(diào)整顯示器的屬性。
在一些實施例中,該顯示器是平視顯示器,并且顯示器的屬性可以包括顯示器的透明度。
某些實施例在本文中被描述為包括邏輯或多個組件、模塊或機構(gòu)。模塊可以構(gòu)成軟件模塊(例如,在機器可讀介質(zhì)上或傳輸信號中實現(xiàn)的代碼)或硬件模塊。硬件模塊是能夠執(zhí)行某些操作并且可以以某種方式配置或布置的有形單元。在示例實施例中,計算機系統(tǒng)(例如,處理器或處理器組)的一個或多個計算機系統(tǒng)(例如,獨立的客戶機或服務器計算機系統(tǒng))或一個或多個硬件模塊可以由軟件(例如,應用或應用部分)作為操作以執(zhí)行如本文所述的某些操作的硬件模塊。
在各種實施例中,硬件模塊可以機械地或電子地實現(xiàn)。例如,硬件模塊可以包括永久配置的專用電路或邏輯(例如,作為專用處理器諸如現(xiàn)場可編程門陣列(fpga)或?qū)S眉呻娐?asic))來執(zhí)行某些操作。硬件模塊還可以包括由軟件臨時配置以執(zhí)行某些操作的可編程邏輯或電路(例如,如包含在通用處理器或其他可編程處理器內(nèi))。應當理解,在專用和永久配置的電路中或在臨時配置的電路(例如,由軟件配置)中,機械地實現(xiàn)硬件模塊的決定可以由成本和時間考慮來驅(qū)動。
因此,術(shù)語“硬件模塊”應理解為包括有形實體,即物理構(gòu)造、永久配置(例如,硬連線)或臨時配置(例如,編程)以某種方式操作的實體或執(zhí)行本文所述的某些操作??紤]到其中硬件模塊被臨時配置(例如,被編程)的實施例,每個硬件模塊不需要適時在任何一個實例配置或?qū)嵗?。例如,在硬件模塊包括使用軟件配置的通用處理器的情況下,通用處理器可以在不同時間經(jīng)配置為相應的不同的硬件模塊。因此,軟件可以配置處理器,例如,在一個時間點構(gòu)成特定的硬件模塊,并在不同的時間點構(gòu)成不同的硬件模塊。
硬件模塊可以向其他硬件模塊提供信息和從其他硬件模塊接收信息。因此,所描述的硬件模塊可以被認為是通信耦接的。在同時存在多個此類硬件模塊的情況下,可以通過連接硬件模塊的信號傳輸(例如,通過適當?shù)碾娐泛涂偩€)實現(xiàn)通信。在其中在不同時間配置或?qū)嵗鄠€硬件模塊的實施例中,此類硬件模塊之間的通信可以例如通過存儲和檢索多個硬件模塊具有訪問的存儲器結(jié)構(gòu)中的信息來實現(xiàn)。例如,一個硬件模塊可以執(zhí)行操作,并將該操作的輸出存儲在與其通信耦接的存儲器件中。然后,進一步的硬件模塊可以在稍后的時間訪問存儲器設(shè)備以檢索和處理存儲的輸出。硬件模塊還可以發(fā)起與輸入設(shè)備或輸出設(shè)備的通信,并且可以對資源(例如,信息的集合)進行操作。
至少部分地由臨時配置(例如通過軟件)或永久地配置為執(zhí)行相關(guān)操作的一個或多個處理器,來執(zhí)行本文所描述的示例方法的各種操作。無論是臨時還是永久配置,此類處理器可以構(gòu)成操作以執(zhí)行一個或多個操作或功能的處理器實現(xiàn)的模塊。在一些示例實施例中,本文引用的模塊可以包括處理器實現(xiàn)的模塊。
類似地,本文所描述的方法可以至少部分地由處理器實現(xiàn)。例如,方法的至少一些操作可由一個或多個處理器或處理器實現(xiàn)的模塊執(zhí)行。某些操作的性能可以分布在一個或多個處理器中,不僅駐留在單個機器內(nèi),而且部署在多個機器上。在一些示例實施例中,處理器或多個處理器可以位于單個位置(例如,在家庭環(huán)境、辦公環(huán)境或服務器場內(nèi)),而在其他實施例中,處理器可以分布在多個位置。
一個或多個處理器還可以操作以支持“云計算”環(huán)境中的相關(guān)操作的性能或作為“軟件即服務”(saas))。例如,至少一些操作可以由一組計算機執(zhí)行(作為包括處理器的機器的示例),這些操作可經(jīng)由網(wǎng)絡(例如,因特網(wǎng))以及經(jīng)由一個或多個適當?shù)慕涌?例如,api)來訪問。
示例實施例可以在數(shù)字電子電路中實現(xiàn),或者在計算機硬件、固件,軟件或它們的組合中實現(xiàn)。示例實施例可以使用計算機程序產(chǎn)品來實現(xiàn),例如有形地體現(xiàn)在信息載體中的計算機程序,該信息載體在用于由數(shù)據(jù)處理裝置(例如可編程處理器、計算機或多個計算機)執(zhí)行或控制數(shù)據(jù)處理裝置的操作的機器可讀介質(zhì)中。
計算機程序可以以任何形式的編程語言編寫,包括編譯或解釋語言,并且可以以任何形式部署,包括作為獨立程序或作為模塊、子程序或其他適用于在計算環(huán)境中使用的。計算機程序可以部署在一個計算機上或在一個站點的多個計算機上執(zhí)行或分布在多個站點上并由通信網(wǎng)絡互連。
在示例實施例中,可以由執(zhí)行計算機程序的一個或多個可編程處理器執(zhí)行操作,以通過對輸入數(shù)據(jù)進行操作并產(chǎn)生輸出來執(zhí)行功能。方法操作也可由執(zhí)行,示例實施例的裝置可被實現(xiàn)為專用邏輯電路(例如,fpga或asic)。
計算系統(tǒng)可以包括客戶端和服務器。客戶端和服務器通常彼此遠離,并且通常通過通信網(wǎng)絡進行交互??蛻舳撕头掌髦g的關(guān)系是由于在相應計算機上運行的計算機程序和彼此之間具有客戶端-服務器關(guān)系而產(chǎn)生的。在部署可編程計算系統(tǒng)的實施例中,應當理解,硬件和軟件架構(gòu)都需要考慮。具體地,應當理解,是否在永久配置的硬件(例如,asic)中,在臨時配置的硬件(例如,軟件和可編程處理器的組合)中實現(xiàn)某些功能的選擇,或者永久和臨時配置的硬件的組合可以是設(shè)計選擇。下面列出了在各種示例實施例中可以部署的硬件(例如,機器)和軟件體系架構(gòu)。
圖11是計算機系統(tǒng)1100的示例形式的機器的框圖,其中可以執(zhí)行用于使機器執(zhí)行本文所討論的任何一種或多種方法的指令。在另選實施例中,機器作為獨立設(shè)備操作或者可以連接(例如,聯(lián)網(wǎng))到其他機器。在聯(lián)網(wǎng)部署中,機器可以在服務器-客戶端網(wǎng)絡環(huán)境中的服務器中或客戶機的能力下操作,或者作為對等(或分布式)網(wǎng)絡環(huán)境中的對等機器運行。該機器可以是個人計算機(pc)、平板電腦、機頂盒(stb)、pda、蜂窩電話、網(wǎng)絡器具、網(wǎng)絡路由器、交換機或網(wǎng)橋,或者能夠執(zhí)行指令的任何機器(順序的或其他)指定該機器要采取的操作。進一步地,雖然僅示出了單個機器,但是術(shù)語“機器”還應被視為包括單獨或共同執(zhí)行一組(或多組)指令以執(zhí)行本文所討論的任何一種或多種方法的機器集合。
示例計算機系統(tǒng)1100包括經(jīng)由總線1108彼此通信的處理器1102(例如,cpu、gpu或兩者)、主存儲器1104和靜態(tài)存儲器1106。計算機系統(tǒng)1100可以進一步包括視頻顯示設(shè)備1110(例如,液晶顯示器(lcd)或陰極射線管(crt))。計算機系統(tǒng)1100還包括字母數(shù)字輸入設(shè)備1112(例如,鍵盤)、用戶界面(ui)導航設(shè)備1114(例如,鼠標或觸敏顯示器)、磁盤驅(qū)動單元1116、信號生成設(shè)備1118(例如,揚聲器)和網(wǎng)絡接口設(shè)備1120。
磁盤驅(qū)動單元1116包括機器可讀介質(zhì)1122,其上存儲了一組或多組指令和數(shù)據(jù)結(jié)構(gòu)(例如,軟件)1124,這些指令和數(shù)據(jù)結(jié)構(gòu)(例如,軟件)1124由本文所描述的任何一種或多種方法或功能所體現(xiàn)或使用。指令1124也可以完全地或至少部分地駐留在主存儲器1104內(nèi)、在靜態(tài)存儲器1106內(nèi),或者在由計算機系統(tǒng)1100執(zhí)行期間在處理器1102內(nèi),主存儲器1104和處理器1102也構(gòu)成機器可讀介質(zhì)。
雖然在示例實施例中將機器可讀介質(zhì)1122示出為單個介質(zhì),但是術(shù)語“機器可讀介質(zhì)”可以包括單個介質(zhì)或多個介質(zhì)(例如,集中式或分布式數(shù)據(jù)庫,或相關(guān)聯(lián)的高速緩存和服務器),其存儲一個或多個指令或數(shù)據(jù)結(jié)構(gòu)。術(shù)語“機器可讀介質(zhì)”還應被視為包括能夠存儲、編碼或攜帶由機器執(zhí)行的指令的任何有形介質(zhì),并且使機器執(zhí)行本技術(shù)的任何一種或多種方法,或者能夠存儲、編碼或攜帶由此類指令使用或與之相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)的指令。因此,術(shù)語“機器可讀介質(zhì)”應被視為包括但不限于固態(tài)存儲器以及光學和磁性介質(zhì)。機器可讀介質(zhì)的具體示例包括非易失性存儲器,其包括例如半導體存儲器件,例如可擦除可編程只讀存儲器(eprom)、電可擦除可編程只讀存儲器(eeprom)和閃存器件;磁盤,諸如內(nèi)部硬盤和可移動盤;磁光盤;以及cd-rom和dvd-rom磁盤。
可以使用傳輸介質(zhì)進一步通過通信網(wǎng)絡1126發(fā)送或接收指令1124。指令1124可以使用網(wǎng)絡接口設(shè)備1120和多個公知的傳輸協(xié)議(例如,http)中的任何一個傳輸。通信網(wǎng)絡的示例包括局域網(wǎng)(lan)、廣域網(wǎng)(wan)、因特網(wǎng)、移動電話網(wǎng)、普通老式電話(pots)網(wǎng)絡和無線數(shù)據(jù)網(wǎng)絡(例如,wifi和wimax網(wǎng)絡)。術(shù)語“傳輸介質(zhì)”應被視為包括能夠存儲、編碼或攜帶由機器執(zhí)行的指令的任何無形介質(zhì),并且包括數(shù)字或模擬通信信號或其他無形介質(zhì)以便于此類軟件的通信。
雖然已經(jīng)參考具體示例實施例描述了本發(fā)明的主題,但是顯而易見的是,在不脫離本發(fā)明的范圍的情況下,可以對這些實施例進行各種修改和改變。因此,說明書和附圖被認為是說明性的而不是限制性的。形成其一部分的附圖通過說明而非限制的方式示出其中可以實踐該主題的具體實施例。所示實施例足夠詳細地描述,以使本領(lǐng)域技術(shù)人員能夠?qū)嵺`本文所公開的教導??梢允褂煤蛷钠鋵С銎渌麑嵤├?,使得可以在不脫離本公開的范圍的情況下進行結(jié)構(gòu)和邏輯替換和改變。因此,該具體實施方式不應被認為是限制性的,并且各種實施例的范圍僅由所附權(quán)利要求書以及此類權(quán)利要求所賦予的等價物的全部范圍來限定。