至少一個示例實施例涉及眼睛跟蹤技術。
背景技術:
存在與使用雙眼視差原理提供三維(3D)效果的裸眼3D顯示器關聯的用于跟蹤用戶的位置的技術。可基于用戶的位置控制3D顯示器。精確地跟蹤用戶的位置是在不劣化圖像質量的情況下向裸眼3D顯示器輸出3D圖像的一部分。
技術實現要素:
至少一些示例實施例涉及眼睛跟蹤方法。
在至少一些示例實施例中,所述方法可包括:獲取圖像中與用戶的臉部區域的至少一部分相應的特征點;基于特征點確定用戶的第一眼睛的眼睛區域的內部區域;基于內部區域的至少一個像素的像素值確定用戶的瞳孔區域;基于瞳孔區域的每個像素的位置值確定用戶的眼睛位置。
確定內部區域的步驟包括:基于眼睛區域的像素的位置和眼睛區域的特征點的位置確定眼睛區域的內部區域,其中,內部眼睛區域在由特征點限定的邊界內。
確定瞳孔區域的步驟可包括:基于內部區域的像素的第一亮度平均值和圖像的眼睛中心特征點的鄰近像素的第二亮度平均值確定瞳孔區域的像素,眼睛中心特征點是特征點中的與用戶的第一眼睛的中心相應的特征點。
確定瞳孔區域的像素的步驟可包括:確定內部區域的選擇的像素的亮度值是否小于第一閾值并小于第二閾值亮度平均值,第一閾值基于第一亮度值,第二閾值基于第二亮度平均值。
確定內部區域的步驟可包括:基于眼睛區域的選擇的像素和特征點中的第一眼睛輪廓特征點計算第一向量;基于特征點中的第一眼睛輪廓特征點和第二眼睛輪廓特征點計算第二向量,第二眼睛輪廓特征點鄰近第一眼睛輪廓 特征點,基于第一向量和第二向量確定選擇的像素是否在內部區域中,第一眼睛輪廓特征點和第二眼睛輪廓特征點與眼睛區域的眼睛輪廓相應。
確定選擇的像素是否在內部區域中的步驟可包括:當第一眼睛輪廓特征點和第二眼睛輪廓特征點中的每個眼睛輪廓特征點的向量計算結果由同一符號表示時,確定選擇的像素在內部區域中。
所述方法還可包括:基于確定的用戶的眼睛位置控制裸眼顯示器。
至少其它示例實施例涉及眼睛跟蹤設備。
在至少一些示例實施例中,所述眼睛跟蹤設備可包括:存儲器,被配置為存儲計算機可讀指令;處理器,被配置為執行所述計算機可讀指令,以使處理器被配置為:獲取圖像中與用戶的臉部區域的至少一部分相應的特征點;基于特征點確定用戶的第一眼睛的眼睛區域的內部區域;基于內部區域的至少一個像素的像素值確定用戶的瞳孔區域;基于瞳孔區域的每個像素的位置值確定用戶的眼睛位置。
存儲器,被配置為存儲計算機可讀指令;處理器,被配置為執行所述計算機可讀指令,以使處理器被配置為:基于眼睛區域的特征點確定圖像中用戶的眼睛區域,基于眼睛區域的像素的位置和眼睛區域的特征點的位置確定眼睛區域的內部區域,基于內部區域的每個像素的像素值確定用戶的瞳孔區域,基于瞳孔區域的每個像素的位置值確定用戶的眼睛位置。
處理器可被配置為響應于基于特征點與圖像的眼睛區域的像素之間的位置關系的向量計算結果,確定內部區域的像素。
處理器可被配置為基于內部區域的像素的亮度值、圖像的內部眼睛區域的像素的第一亮度平均值和特征點中的眼睛中心特征點的鄰近像素的第二亮度平均值確定瞳孔區域的像素,眼睛中心特征點與用戶的眼睛的中心相應。
至少其它示例實施例涉及眼睛跟蹤設備。
在至少一些示例實施例中,所述眼睛跟蹤設備可包括:存儲器,被配置為存儲計算機可讀指令;處理器,被配置為執行所述計算機可讀指令,以使處理器被配置為:基于特征點確定圖像中用戶的眼睛區域;檢測眼睛區域的垂直方向的邊緣組分,并基于檢測的邊緣組分檢測與瞳孔區域關聯的橢圓組分;基于橢圓組分確定橢圓的中心作為用戶的眼睛位置。
至少一個示例實施例公開一種眼睛跟蹤方法。所述方法包括:基于眼睛區域的特征點確定圖像中用戶的第一眼睛的眼睛區域;基于眼睛區域的像素 的位置與眼睛區域的特征點的位置確定眼睛區域的內部區域,基于內部區域的每個像素的像素值確定用戶的瞳孔區域,基于瞳孔區域的每個像素的位置值確定用戶的眼睛位置。
示例實施例的另外的方面將在下面描述中部分進行闡述,部分從該描述將是清楚的,或者可以通過本公開的實踐獲知。
附圖說明
從以下結合附圖對示例實施例進行的描述,這些和/或其它方面將變得明顯和更容易理解,其中:
圖1示出根據至少一個示例實施例的眼睛跟蹤設備的示例;
圖2至圖8示出根據至少一個示例實施例的眼睛跟蹤設備跟蹤圖像中用戶的眼睛位置的示例;
圖9至圖14示出根據至少一個示例實施例的眼睛跟蹤設備跟蹤圖像中用戶的眼睛位置的其它示例;
圖15A至圖15B示出根據至少一個示例實施例的顯示裝置的示例;
圖16是示出根據至少一個示例實施例的眼睛跟蹤方法的示例的流程圖。
具體實施方式
以下,將參照附圖詳細描述一些示例實施例。關于附圖中為元件分配的附圖標記,應該注意的是:在任何可能的情況下,即使相同的元件在不同的附圖中被示出,也將通過相同的附圖標記來指示相同的元件。此外,在實施例的描述中,當認為公知的現有結構或功能的詳細描述將模糊本公開的說明時,可省略公知的現有結構或功能的詳細描述。
然而,應理解,不意在將本公開限制到所公開的具體示例實施例。相反地,示例實施例將涵蓋落入示例實施例的范圍內的所有修改、等同物和替代。貫穿附圖的描述,相同的標號表示相同的元件。
此外,這里可使用諸如第一、第二、A、B、(a)、(b)等的術語來描述組件。這些術語中的每個術語不用于限定相應組件的本質、順序或序列,而僅用于將相應組件與其它組件進行區分。應該注意,如果在說明書描述了一個組件“連接”、“結合”或“接合”至另一組件,則盡管第一組件可直接地連接、結合或接合至第二組件,但第三組件可“連接”、“結合”或“接合” 在第一組件和第二組件之間。
在此使用的術語僅為了描述具體示例實施例的目的,不意在限制。如在此使用的,除非上下文另外明確地指示,否則單數形式也意在包括復數形式。還將理解,當在此使用時,術語“包括”和/或“包含”指定存在所敘述的特征、整體、步驟、操作、元件和/或組件,但是不排除存在或添加一個或多個其它特征、整體、步驟、操作、元件、組件和/或它們的組。
還應注意,在一些選擇性的實施例中,示出的功能/動作可不按附圖中示出的順序發生。例如,連續示出的兩個圖上可基本上同時執行或有時可以以相反的順序執行,這取決于所包含的功能/動作。
示例實施例可被應用于在各種應用(例如,裸眼三維(3D)顯示器、眼鏡型可穿戴裝置、虛擬現實(VR)、視頻游戲、個人計算機(PC)、平板計算機、移動裝置、智能家居設備和智能汽車)中跟蹤用戶的眼睛視點。例如,示例實施例可被應用于在裸眼3D顯示器中通過跟蹤用戶的眼睛位置來基于用戶的眼睛位置顯示3D圖像。
現在將參照附圖更全面地描述各種示例實施例,在附圖中示出一些示例實施例。在附圖中,為了清楚起見,夸大層和區域的厚度。
圖1示出根據至少一個示例實施例的眼睛跟蹤設備的示例。
參照圖1,眼睛跟蹤設備100從拍攝了用戶的眼睛區域的圖像確定用戶的眼睛位置。該圖像可通過圖像獲取設備(未示出)(例如,相機)來獲取,獲取的圖像可被發送到眼睛跟蹤設備100。眼睛跟蹤設備100可針對每個接收的圖像幀確定用戶的眼睛位置,并輸出關于確定的眼睛位置的信息。輸出的信息可被用于基于關于用戶的眼睛位置的信息的各種應用。
眼睛跟蹤設備100包括:特征點檢測器110、眼睛區域確定器120、內部眼睛區域確定器130、瞳孔區域確定器140和眼睛位置確定器150。可由執行存儲在存儲器中的計算機可讀指令的至少一個處理器或由現場可編程門陣列(FPGA)來執行特征點檢測器110、眼睛區域確定器120、內部眼睛區域確定器130、瞳孔區域確定器140和眼睛位置確定器150的操作。
特征點檢測器110從圖像檢測眼睛的特征點。特征點檢測器110可檢測圖像中用戶的臉部區域或者眼睛和鼻子區域,并在檢測的臉部區域或者眼睛和鼻子區域中檢測眼睛中心特征點和至少一個眼睛輪廓特征點。眼睛中心特征點指在眼睛區域的中心附近檢測的特征點,眼睛輪廓特征點指在眼睛的輪 廓上檢測的特征點。
特征點檢測器110可提取圖像的局部特征(例如,局部二值模式(LBP)、尺寸不變特征轉換(SIFT)、方向梯度直方圖(HOG)、修正統計變換(MCT)和伽柏系數(Gabor jet)),并通過將檢測的特征點輸入到預先訓練的眼睛和鼻子區域識別器(未示出)來從圖像檢測眼睛和鼻子區域。在一個示例中,特征點檢測器110可使用主動輪廓模型(ACM)、主動形狀模型(ASM)、主動外觀模型(AAM)或監督下降法(SDM)來在眼睛和鼻子區域中檢測眼睛輪廓特征點,并確定檢測的眼睛輪廓特征點之間的中心點作為眼睛中心特征點。
眼睛區域確定器120基于由特征點檢測器110檢測的特征點確定圖像中用戶的眼睛區域。眼睛區域確定器120可通過計算眼睛中心特征點與每個眼睛輪廓特征點之間的距離來確定眼睛中心特征點與眼睛輪廓特征點之間的距離中的最大距離,并基于眼睛中心特征點和最大距離確定眼睛區域。例如,眼睛區域確定器120可基于眼睛中心特征點確定位于最大距離內的區域作為眼睛區域,或基于眼睛中心特征點確定水平、垂直地位于最大距離內的區域作為眼睛區域。
內部眼睛區域確定器130確定眼睛區域中的內部眼睛區域。內部眼睛區域指與用戶的真實眼睛相應的區域。內部眼睛區域確定器130可響應于基于眼睛輪廓特征點與眼睛區域的像素之間的位置關系的向量計算結果確定內部眼睛區域。例如,內部眼睛區域確定器130可基于眼睛區域的當前像素的位置和眼睛輪廓特征點的位置計算第一向量,基于眼睛輪廓特征點的位置和鄰近眼睛輪廓特征點的位置計算第二向量。位于所述眼睛輪廓特征點的順時針方向的另一眼睛輪廓特征點可被確定為鄰近眼睛輪廓特征點。內部眼睛區域確定器130可基于第一向量和第二向量執行向量的外積計算。
內部眼睛區域確定器130還可針對其它眼睛輪廓特征點計算第一向量和第二向量并執行外積計算。當針對當前像素和每個眼睛輪廓特征點的外積計算結果由同一符號表示時,內部眼睛區域確定器130可確定當前像素包括在內部眼睛區域中。當外積計算結果由不同的符號表示時,內部眼睛區域確定器130可確定當前像素包括在外部眼睛區域中而非內部眼睛區域中。
瞳孔區域確定器140基于內部眼睛區域的像素的像素值確定瞳孔區域。瞳孔區域確定器140可基于內部眼睛區域的像素的第一亮度平均值和眼睛中 心特征點的鄰近像素的第二亮度平均值來確定瞳孔區域的像素。例如,當內部眼睛區域的當前像素的亮度值小于基于第一亮度平均值的第一閾值和基于第二亮度平均值的第二閾值時,瞳孔區域確定器140確定當前像素包括在瞳孔區域中。在一個示例中,第一閾值可等于第一亮度平均值,第二閾值可具有大于或等于第二亮度平均值的值。
眼睛位置確定器150基于瞳孔區域的每個像素的位置值(例如,2D坐標)確定用戶的眼睛位置。例如,眼睛位置確定器150確定瞳孔區域的像素的位置值的平均值作為用戶的眼睛位置。
在另一示例中,特征點檢測器110針對圖像中的眼睛區域不完全檢測特征點。以下,將描述當特征點檢測器110從圖像檢測較少數量的眼睛輪廓特征點時,眼睛跟蹤設備100從圖像確定用戶的眼睛位置的處理。
眼睛區域確定器120基于在圖像中檢測的眼睛輪廓特征點確定圖像中用戶的眼睛區域。例如,當檢測到位于眼睛輪廓中的眼睛輪廓特征點時,眼睛區域確定器120可計算眼睛輪廓特征點之間的中心,并基于確定的中心計算眼睛輪廓特征點之間水平方向的距離。眼睛區域確定器120可通過將水平方向的距離與預定值和/或選擇的值相乘來確定垂直方向的距離,并根據眼睛輪廓特征點之間的中心基于水平方向的距離和垂直方向的距離確定區域作為眼睛區域。瞳孔區域確定器140可檢測確定的眼睛區域中垂直方向的邊緣組分,并基于檢測的邊緣組分確定與瞳孔區域關聯的橢圓組分。這里,橢圓組分的橢圓包括圓。眼睛位置確定器150可基于檢測的橢圓組分估計與瞳孔區域重疊的虛擬橢圓,并確定橢圓的重心作為用戶的眼睛位置。
眼睛位置確定器150可將基于上述處理確定的二維(2D)坐標值的眼睛位置信息轉換為3D坐標值。例如,眼睛位置確定器150可基于關于兩只眼睛之間的距離的距離信息和關于用戶的臉部的方位信息將眼睛位置信息轉換為3D坐標值。在此示例中,標準值(例如,65毫米(mm))可被用作關于兩只眼睛之間的距離的距離信息。然而,關于兩只眼睛之間的距離的距離信息不限于此。例如,眼睛位置確定器150可通過將在圖像中檢測的特征點與3D臉部模型進行匹配來產生個性化3D臉部模型,并基于關于個性化臉部模型的方位信息估計關于用戶的臉部的方位信息。
以下,描述可基于上述處理準確地檢測圖像中用戶的眼睛位置的眼睛跟蹤設備100。眼睛跟蹤設備100可通過跟蹤每個圖像幀的兩個瞳孔區域的中 心來減小圖像幀之間產生的眼睛位置的振動。
圖2至圖8示出根據至少一個示例實施例的眼睛跟蹤設備跟蹤圖像中用戶的眼睛位置的示例。
參照圖2,眼睛跟蹤設備可檢測圖像中被估計為位于眼睛中心的眼睛中心特征點210以及位于眼睛輪廓中的眼睛輪廓特征點222、224、226、228、230和232。眼睛跟蹤設備可計算眼睛中心特征點210與眼睛輪廓特征點222、224、226、228、230和232中的每個眼睛輪廓特征點之間的距離,并基于每個計算的距離的值確定最大距離值dmax(例如,計算的距離中的最大距離)。
參照圖3,眼睛跟蹤設備可基于圖2中確定的最大距離值dmax確定眼睛區域310。眼睛跟蹤設備可基于眼睛中心特征點210確定水平、垂直位于最大距離值dmax內的區域。眼睛區域310可以是圖4中所示的矩形形狀,或者眼睛區域310可以是基于眼睛中心特征點210的半徑與最大距離值dmax相應的圓形,然而,示例實施例的范圍不限于此。
參照圖4,眼睛跟蹤設備可確定眼睛區域310中的內部眼睛區域。眼睛跟蹤設備可基于眼睛區域310的像素410與眼睛輪廓特征點222、224、226、228、230和232之間的位置關系,確定像素410是否包括在內部眼睛區域中。眼睛跟蹤設備可在基于眼睛輪廓特征點224和像素410的第一向量V1與基于眼睛輪廓特征點224和順時針方向鄰近眼睛輪廓特征點224的眼睛輪廓特征點226的第二向量V2之間執行外積計算。以同樣的方式,眼睛跟蹤設備可在基于眼睛輪廓特征點226和像素410的第一向量V3與基于眼睛輪廓特征點226和順時針方向鄰近眼睛輪廓特征點226的眼睛輪廓特征點228的第二向量V4之間執行外積計算。眼睛跟蹤設備可基于相同的處理針對其它眼睛輪廓特征點222、228、230和232執行外積計算,并確定是否所有的外積計算結果由同一符號表示。在像素410的情況下,外積計算結果由同一符號表示,因此確定像素410包括在內部眼睛區域中。
如圖5所示,當針對存在于眼睛區域310中但實際上位于外部眼睛區域中的像素510執行與圖4的處理相同的處理時,像素510與眼睛輪廓特征點222、224、226、228、230和232中的每個眼睛輪廓特征點之間的外積計算結果不由同一符號表示。例如,當基于眼睛輪廓特征點228和像素510的第一向量V5與基于眼睛輪廓特征點228和順時針方向鄰近眼睛輪廓特征點228的眼睛輪廓特征點230的第二向量V6之間的外積計算結果由符號“+”表示 時,基于眼睛輪廓特征點230和像素510的第一向量V7與基于眼睛輪廓特征點230和順時針方向鄰近眼睛輪廓特征點230的眼睛輪廓特征點232的第二向量V8之間的外積計算結果由符號“-”表示。由于像素510與眼睛輪廓特征點222、224、226、228、230和232中的每個眼睛輪廓特征點之間的外積計算結果的符號不相同,因此眼睛跟蹤設備可確定像素510未包括在內部眼睛區域中。
眼睛跟蹤設備可通過針對包括在眼睛區域310中的每個像素執行圖4和圖5的處理,來確定眼睛區域310中內部眼睛區域的像素。圖6示出基于圖4和圖5的處理從眼睛區域310檢測的內部眼睛區域610。
參照圖7,眼睛跟蹤設備可基于關于內部眼睛區域610中的像素的像素值信息確定內部眼睛區域610中的瞳孔區域。眼睛跟蹤設備可計算與內部眼睛區域610的像素的亮度值的平均值相應的第一亮度平均值,并計算與內部眼睛區域610的像素中眼睛中心特征點210的鄰近區域710的像素的亮度值的平均值相應的第二亮度平均值。
例如,當包括在內部眼睛區域610中的預定像素和/或選擇的像素滿足等式1時,眼睛跟蹤設備可確定預定像素和/或選擇的像素包括在瞳孔區域中。
[等式1]
像素的亮度值<第一亮度平均值,并且
像素的亮度值<第二亮度平均值+補償值
如等式1所示,補償值是用于調整等式1的條件的預定值和/或選擇的值,并且補償值具有大于或等于“0”的值。
在大部分情況下,由于瞳孔區域的亮度值小于瞳孔區域的鄰近區域的亮度值,因此針對內部眼睛區域610的第一亮度平均值可被認為是閾值。然而,由于瞳孔區域的大小小于內部眼睛區域610中瞳孔區域的鄰近區域的大小,因此當僅考慮第一亮度平均值時包括在瞳孔區域的鄰近區域中的像素可能被錯誤地確定為瞳孔區域。如等式1所示,眼睛跟蹤設備可通過除考慮第一亮度平均值之外還考慮針對眼睛中心特征點210的鄰近區域710的第二亮度平均值來更準確地確定內部眼睛區域610中的瞳孔區域。
眼睛跟蹤設備可針對包括在內部眼睛區域610中的所有像素執行上述處理,并存儲關于被確定為瞳孔區域的像素的信息,例如,位置值。
圖8示出基于參照圖7描述的跟蹤處理確定的瞳孔區域810。眼睛跟蹤 設備可確定包括在確定的瞳孔區域810中的像素的位置值的平均值作為用戶的眼睛位置820。
圖9至圖14示出根據至少一個示例實施例的眼睛跟蹤設備跟蹤圖像中用戶的眼睛位置的其它示例。
參照圖9,眼睛跟蹤設備可檢測圖像中的眼睛和鼻子區域910,并檢測眼睛的特征點922、924、926和928。在圖9至圖14中,特征點是假設在如圖9中所示的每只眼睛的輪廓中檢測的特征點。眼睛跟蹤設備可通過使用較少數量的特征點更快地檢測用戶的眼睛的位置。
參照圖10,眼睛跟蹤設備可基于在每只眼睛中檢測的兩個特征點之間的位置關系計算特征點之間的中心。眼睛跟蹤設備可計算特征點922與特征點924之間的中心1010,并計算特征點926與特征點928之間的中心1020。
參照圖11,眼睛跟蹤設備可基于檢測的中心1010和1020以及特征點922、924、926和928的位置確定眼睛區域1110和1120。例如,眼睛跟蹤設備可計算特征點922與特征點924之間的水平距離,并通過將計算的水平距離與預定比率和/或選擇的比率(例如,“1/3”)相乘來確定垂直距離。眼睛跟蹤設備可基于距中心1010的水平距離和垂直距離確定區域作為眼睛區域1110。針對中心1020以及特征點926和928,眼睛跟蹤設備可基于上述處理確定眼睛區域1120。
參照圖12,眼睛跟蹤設備可檢測確定的眼部區域中沿垂直方向的邊緣組分1212、1214、1216和1218。例如,眼睛跟蹤設備可基于索貝爾(Sobel)邊緣提取方案、普魯伊特(Prewitt)邊緣提取方案、羅伯茨(Robets)邊緣提取方案和坎尼(Canny)邊緣提取方案,來檢測邊緣組分1212、1214、1216和1218。
參照圖13,眼睛跟蹤設備可通過基于檢測的邊緣組分1212、1214、1216和1218調試橢圓,來檢測與眼睛區域中的瞳孔區域關聯的橢圓1310和1320。參照圖14,眼睛跟蹤設備可計算檢測的橢圓1310和1320中的每個橢圓的重心,并將計算的重心確定為用戶的眼睛位置1410和1420。
圖15A示出根據至少一個示例實施例的顯示裝置的示例。
參照圖15A,顯示裝置1510可以是,例如,用于在沒有3D眼鏡的情況下輸出3D圖像的裸眼3D顯示器。顯示裝置1510可跟蹤用戶的眼睛位置,并通過基于跟蹤的用戶的眼睛位置重建3D圖像來輸出3D圖像。顯示裝置 1510包括:相機1520、眼睛位置檢測器1520、圖像處理器1540和顯示器1550。
相機1520可通過拍攝位于顯示裝置1510前面的用戶來獲取呈現用戶的臉部區域的臉部圖像。
眼睛位置檢測器1530可檢測臉部圖像中用戶的眼睛位置。眼睛位置檢測器1530可檢測臉部圖像中的臉部區域或者眼睛和鼻子區域中的眼睛的特征點,并基于檢測的特征點檢測用戶的眼睛位置。眼睛位置檢測器1530可根據檢測的特征點的數量基于不同的方法檢測眼睛的位置。例如,當在臉部圖像中檢測到眼睛中心特征點和大量的眼睛輪廓特征點時,眼睛位置檢測器1530可從臉部圖像檢測用戶的眼睛位置。眼睛位置檢測器1530可基于圖1至圖14中描述的處理檢測眼睛的位置。在另一示例中,眼睛位置檢測器1530可通過在眼睛和鼻子區域中匹配的樣板來檢測眼睛位置,并確定樣板的中心值作為眼睛中心的位置。
眼睛位置檢測器1530可將基于上述處理確定的2D坐標值的眼睛位置信息轉換為3D坐標值。為了通過顯示裝置1510產生與3D空間中用戶的左眼和右眼的位置相應的3D圖像,用戶的兩只眼睛的位置需要從2D坐標值被轉換為3D坐標值。眼睛位置檢測器1530可基于關于用戶的兩只眼睛之間的距離的距離信息和關于用戶的臉部的方位信息,將眼睛位置信息轉換為3D坐標值。預定值和/或選擇的值(例如,65mm)可被用作關于兩只眼睛的距離信息,然而,距離信息不限于此。可通過將從臉部圖像檢測的特征點與3D臉部模型進行匹配并計算3D臉部模型旋轉的角度,來獲取關于用戶的臉部的方位信息。在另一示例中,眼睛位置檢測器1530可基于使用至少兩個相機(例如,相機1520)的三角測量方法來確定用戶的眼睛位置的3D坐標值。
在一個示例中,眼睛位置檢測器1530可將眼睛位置信息轉換為3D坐標值,通過估計眼睛位置校正眼睛位置信息,并將眼睛位置信息傳送到圖像處理器1540。在圖像處理器1540從眼睛位置檢測器1530接收到眼睛位置信息之后,可需要預定時間量和/或選擇的時間量來產生與用戶的眼睛位置相應的3D圖像。當用戶運動時,由于檢測到用戶的眼睛位置的時間點與圖像處理器1540產生并輸出3D圖像的時間點之間的時間延遲,因此關于用戶的眼睛位置信息可需要校正。因此,眼睛位置檢測器1530可基于用戶的運動信息估計用戶的眼睛位置路徑,圖像處理器1540可基于估計的眼睛位置路徑重建3D圖像。
圖像處理器1540可基于由眼睛位置檢測器1530確定的用戶的眼睛位置重建3D圖像,例如,立體圖像或3D圖形數據。圖像處理器1540可重建將通過顯示器1550輸出的3D圖像,從而3D圖像到達用戶的眼睛位置。
顯示器1550可顯示由圖像處理器1540處理的3D圖像。例如,顯示器1550可使用柱狀透鏡、視差屏障和定向背光來顯示3D圖像。
圖15B示出顯示裝置1510的硬件框圖。圖15B示出處理器1560,處理器1560被配置為將數據/指令發送到相機1520并從相機1520接收數據/指令以及將數據/指令發送到非暫時性計算機可讀介質1570并從非暫時性計算機可讀介質1570接收數據/指令。
非暫時性計算機可讀介質1570存儲用于執行圖1至圖14描述的功能的指令。更具體地講,處理器1560可通過執行存儲在非暫時性計算機可讀介質1570中的指令,來執行眼睛跟蹤設備100、眼睛位置檢測器1530和圖像處理器1540的功能。因此,通過執行由非暫時性計算機可讀介質1570存儲的指令,處理器1560變為執行以上參照圖1至圖14描述的眼睛跟蹤和眼睛位置確定的專用計算裝置。處理器1560可包括一個或多個處理裝置,例如,中央處理器(CPU)、數字信號處理器(DSP)、專用集成電路、現場可編程門陣列(FPGA)計算機等。
處理器1560還可被配置為指示顯示器1550來顯示處理的3D圖像。
圖16是示出根據至少一個示例實施例的眼睛跟蹤方法的示例的流程圖。例如,可由眼睛跟蹤設備100執行眼睛跟蹤方法。
參照圖16,在操作1610,眼睛跟蹤設備從圖像檢測特征點。例如,眼睛跟蹤設備可檢測拍攝了用戶的臉部的圖像中的眼睛和鼻子區域,并檢測眼睛和鼻子區域中的眼睛中心特征點以及至少一個眼睛輪廓特征點。
在操作1620,眼睛跟蹤設備基于檢測的特征點確定圖像中的眼睛區域。例如,眼睛跟蹤設備可通過計算眼睛中心特征點與每個眼睛輪廓特征點之間的距離來確定眼睛中心特征點與每個眼睛輪廓特征點之間的距離中的最大距離,并基于眼睛中心特征點與最大距離確定眼睛區域。
在操作1630,眼睛跟蹤設備基于眼睛區域的像素的位置和特征點的位置確定內部眼睛區域。眼睛跟蹤設備可基于眼睛區域的當前(選擇的)像素的位置和眼睛輪廓特征點的位置計算第一向量,并基于眼睛輪廓特征點的位置和鄰近眼睛輪廓特征點的位置計算第二向量。眼睛跟蹤設備可基于第一向量 和第二向量執行向量的外積計算。眼睛跟蹤設備可同樣地計算針對其它眼睛輪廓特征點的第一向量和第二向量。當針對眼睛輪廓特征點的外積計算結果由同一符號表示時,眼睛跟蹤設備可確定當前像素包括在內部眼睛區域中,當外積計算結果由不同的符號表示時,眼睛跟蹤設備確定當前像素未包括在內部眼睛區域中。眼睛跟蹤設備可存儲關于被確定為包括在內部區域中的像素的信息,例如,亮度和位置。
在操作1640,眼睛跟蹤設備基于內部眼睛區域的每個像素的像素值確定瞳孔區域。當內部眼睛區域的當前像素的亮度值小于基于第一亮度平均值的第一閾值和基于第二亮度平均值的第二閾值時,眼睛跟蹤設備可確定當前像素包括在瞳孔區域中。在這樣的示例中,第一亮度平均值指內部眼睛區域的像素的亮度值的平均值,第二亮度平均值指眼睛中心特征點的鄰近像素的亮度值的平均值。眼睛跟蹤設備可存儲關于被確定為包括在瞳孔區域中的像素的信息,例如,位置。
在操作1650,眼睛跟蹤設備基于瞳孔區域的每個像素的位置值確定用戶的眼睛位置。眼睛跟蹤設備確定瞳孔區域的像素的位置值的平均值作為用戶的眼睛位置。
在操作1660,處理器1560基于確定的用戶的眼睛位置控制顯示器。
可使用硬件組件和執行軟件組件的硬件組件來實施在此描述的單元和/或模塊(例如,特征點確定器110、眼睛區域確定器120、內部眼睛區域確定器130、瞳孔區域確定器140、眼睛位置確定器150、眼睛位置檢測器1530和圖像處理器1540)。例如,硬件組件可包括麥克風、放大器、帶通濾波器、音頻數字轉換器和處理裝置。處理裝置可使用一個或多個硬件裝置被實施,其中,所述一個或多個硬件裝置被配置為通過執行算術、邏輯和輸入/輸出操作來執行和/或運行程序代碼。處理裝置可包括:處理器、控制器和算術邏輯單元、數字信號處理器、微計算機、現場可編程陣列、可編程邏輯單元、微處理器或能夠以限定的方式響應和執行指令的任何其它裝置。處理裝置可運行操作系統(OS)以及一個或多個在OS上運行的軟件應用。處理裝置還可響應于軟件的運行而訪問、存儲、操作、處理和創建數據。為了簡潔的目的,對處理裝置的描述被用作單數;然而,本領域技術人員將理解,處理裝置可包括多個處理元件以及多種類型的處理元件。例如,處理裝置可包括多個處理器或一個處理器和一個控制器。此外,不同的處理配置是可行的,例如, 并行處理器。
軟件可包括用于獨立地或共同地命令和/或配置處理裝置按照需要進行操作的計算機程序、一段代碼、指令或它們的一些組合,從而將處理裝置轉換為專用處理器。可在任何類型的機器、組件、物理或虛擬設備、計算機存儲介質或裝置中或者以能夠將指令或數據提供給處理裝置或被處理裝置解釋的傳輸信號波來永久地或暫時地實施軟件和數據。軟件還可被分布在聯網的計算機系統中,從而以分布式存儲和執行軟件。可通過一個或多個非暫時性計算機可讀記錄介質來存儲軟件和數據。
根據上述示例實施例的方法可被記錄在包括程序指令的非暫時性計算機可讀介質中以實現上述示例實施例的各種操作。介質還可包括單獨的或與程序指令結合的數據文件、數據結構等。記錄在介質上的程序指令可以是針對示例實施例的目的而專門設計和構造的那些程序指令,或者它們可以是對計算機軟件領域的技術人員公知和可用的類型。非暫時性計算機可讀介質的示例包括:磁介質(例如,硬盤、軟盤和磁帶);光介質(例如,CD ROM盤、DVD和/或藍光光盤);磁光介質(例如,光盤);和專門配置為存儲和執行程序指令的硬件裝置(例如,只讀存儲器(ROM)、隨機存取存儲器(RAM)、閃存(例如,USB閃速驅動器、存儲卡、記憶棒等)等)。程序指令的示例包括機器代碼(例如,由編譯器所產生的)和包含計算機使用解釋器可執行的高級代碼的文件。上述裝置可被配置為充當一個或多個軟件模塊以執行上述示例實施例的操作,反之亦然。
以上已經描述了多個示例實施例。然而,應理解,可對這些示例實施例進行各種修改。例如,如果以不同的順序執行描述的技術,和/或如果描述的系統、架構、裝置或電路中的組件以不同的方式組合和/或被其它組件或其等同物代替或補充,則可實現合適的結果。因此,其它實施方式落入權利要求的范圍內。