蘋果專利分享了眼動追蹤數據的過濾方法
眼動追蹤數據過濾
眼動追蹤技術在注視點檢測、眼睛姿態估計、面部分析與識別等領域都有廣泛的應用。然而,用于追蹤眼睛的傳感器經常移動或抖動,所以眼動追蹤數據并不總是完美校準,因而可能不穩定。
在名為“Eye tracking data filtering”的專利申請中,蘋果介紹了一種管理眼動追蹤數據的改進技術。具體來說,發明描述了一種眼動追蹤數據過濾方法。
圖2顯示了管理眼動追蹤技術的瞳孔位置信息的技術流程圖。從205開始,確定用戶的初始瞳孔位置相對于位于用戶前面的透鏡。例如,所述透鏡可位于確定初始瞳孔位置的用戶眼睛的前方。在210,可以檢測到瞳孔位置相對于晶狀體的變化。
在215,更新后的瞳孔位置與和透鏡關聯的邊界框進行比較。在220,確定更新的瞳孔位置是否在邊界框之外。如果在220處確定更新的瞳孔位置不在邊界框之外,則流程圖繼續到225,并且更新的瞳孔位置原樣用于眼動追蹤功能。
返回到220,如果確定瞳孔位置在邊界框之外,則流程圖轉向230。其中,在邊界框內確定一個替代瞳孔位置。
當眼睛移動時,利用替代瞳孔位置可能導致數據的跳躍。圖3顯示了用于細化用于眼動追蹤的瞳孔位置的技術流程圖。
從305開始,在邊界框內確定了替代瞳孔的位置。可基于距離實際瞳孔位置最近的邊界框內的位置來選擇替代瞳孔位置。
在310,根據實際瞳孔位置和替代瞳孔位置對瞳孔位置應用緩和功能。在315,不是簡單地將實際瞳孔位置替代為替代瞳孔位置,而是可以根據緩和功能確定一組中間瞳孔位置。根據一個或多個實施例,緩和函數可以是線性函數、三次緩和函數等。因此,中間瞳孔位置組可以將使用者的瞳孔位置緩和到替代瞳孔位置。
在320,中間瞳孔位置集應用于一系列幀。中間瞳孔位置的數量可以由實際瞳孔位置和替代瞳孔位置的差異來驅動。如果實際瞳孔位置與替代瞳孔位置之間的線性差很小,則可能需要更少的幀,亦即更少的中間值來達到替代像素位置。
如果實際瞳孔位置與替代瞳孔位置之間的線性差較大,則可能需要更多幀,從而需要更多的中間值才能達到替代瞳孔位置。
流程圖300在325結束。其中,在下一幀中使用替代瞳孔位置。換句話說,在一系列幀上利用中間瞳孔位置集后,根據替代瞳孔位置而不是實際瞳孔位置進行渲染。在一個實施例中,隨后可使用替代瞳孔位置來呈現內容以呈現給用戶,直到檢測到新的瞳孔位置。這時候,再次開始圖2中所述的過程。
在一個實施例中,基于用戶注視可能發生其他問題。例如,顯示器可以具有與包含有效像素信息的區域相關聯的區域。因此,可以細化注視方向以確保用戶注視有效可見區域內的像素。
圖4A給出了屏幕425的簡化框圖。屏幕425可以是位于用戶前面的任何類型的顯示器,例如頭戴式顯示設備。
圖4B描繪了從眼睛看屏幕的示例視圖。如圖所示,用戶的注視460引導到可見性區域435之外,但在屏幕440內。為了提供有效的數據,可以在可見區域內選擇一個替代注視位置。例如,可基于可見性區域435內最接近的像素來選擇替代像素。
在一個實施例中,可通過識別視場450的中心來選擇替代像素。視場450的中心可以基于眼睛相對于屏幕的位置。或者,視場450的中心可以基于用戶眼睛的中心相對于屏幕的位置。
在一個實施例中,可以選擇用于注視目標460的替代像素455,使得所述替代像素455位于可見區域內。所述替代像素可以沿著源自所述視場450的中心并指向所述注視460的目標位置的矢量470確定。根據一個或多個實施例,所述替代像素455然后可用于眼動追蹤技術。
圖5A顯示了用于管理眼動追蹤技術的注視信息的技術流程圖。具體而言,圖5A描述了一種重新計算用戶注視方向以利用有效像素數據的技術。
流程圖500從505開始,一個像素位置檢測為與注視方向相關聯。例如,像素位置可以與用戶注視的目標位置相關聯。像素位置可以相對于位于用戶眼睛前面的屏幕來確定。
在510,確定所檢測的像素位置是否在可見區域之外。如上所述,就圖4B而言,可見區域435可以是包括有效像素數據的屏幕425的子集。
如果確定像素位置不在510的可見區域之外,則流程圖500繼續到515。其中,根據檢測到的像素位置確定注視角值。注視角度可以根據所確定的像素位置描述用戶眼睛與屏幕之間的角度。所述流程圖在520結束,其中所確定的注視角度和像素位置用于處理下一幀。
返回到流程圖500的510,如果確定檢測到的像素位置在可見區域之外,則流程圖500在525繼續。在525,在可見區域內確定替代像素位置。在一個或多個實施例中,可以選擇替代像素,例如,作為可見區域內距離檢測到的像素最近的像素。
流程圖500在530繼續,其中根據所述替代像素的位置確定注視角度。注視角度可以根據所確定的替代像素位置描述用戶眼睛與屏幕之間的角度。所述流程圖在535結束,其中所述確定的注視角度和所述替代像素位置用于處理下一幀。
在一個實施例中,眼動追蹤數據可用于由客戶端和合成器在兩階段過程中呈現幀。可以通過在兩者之間共享至少一定的眼動追蹤參數來改善客戶端和合成器之間的一致性。
圖5B描述了用于在客戶端和合成器之間共享眼動追蹤數據的技術。從555開始,客戶端在其中處理幀并獲得眼動追蹤參數。
在560,在可選步驟中,客戶端基于歷史合成器眼動追蹤參數處理所述幀。換句話說,合成器將來自最近呈現的幀的與當前注視角度和/或可見區域相關的數據傳遞給客戶端,以便處理未來的幀。
然后在565,客戶端呈現幀。通過利用由合成器傳遞給客戶端的可見性區域,客戶端可以避免渲染可見性區域之外的像素,從而提高性能。通過利用合成器傳遞的注視角度,客戶端可以將幀渲染得更適合用戶的注視,從而提高圖像質量。
在570,合成器呈現所渲染的幀,并在這個過程中獲得合成器眼動追蹤參數。特別地,合成器可以執行關于上面圖5A所描述的步驟。例如,所述合成器可獲得注視角值和基于所述可見區域的像素位置或替代像素位置。合成器使用各種眼動追蹤參數來生成與注視角度和可見區域相一致的幀。
合成器可以選擇性地基于來自由合成器呈現的客戶端呈現幀的歷史客戶端數據處理當前幀。這樣在575,合成器基于歷史合成器眼動追蹤參數選擇性地處理當前幀。換句話說,眼動追蹤數據可以從一幀利用到另一幀。這樣做可以減少處理連續幀的延遲。
任選地,如580所示,合成器基于歷史客戶端眼動追蹤參數處理當前幀。即客戶端可以將呈現前一幀期間使用的數據傳遞給合成器以處理其他幀。例如,在渲染期間使用的注視角度可以與渲染的幀一起傳輸到客戶端嗎,從而更有效地確定和/或改進延遲。
在585。如果有額外的幀要處理,則流程圖返回到555并且客戶端處理額外的幀,可選地基于從合成器傳遞的眼動追蹤參數,直到沒有額外的幀被處理。
圖6描述了選擇更新的像素位置的流程圖。從605開始,在可見區域內識別與視場中心相關聯的像素。視場的中心可以是位于眼睛前方的屏幕的像素,并且可以基于源自眼睛中心并以垂直方式延伸到屏幕表面的矢量來確定。相應地,視場的中心可定位于或偏移于屏幕的中心或與屏幕和眼睛之間的透鏡的中心相關聯的像素。
在610,從與視場中心相關聯的像素和與注視方向相關聯的像素確定矢量。與注視方向相關聯的像素可以如上所述相對于流程圖500的505確定。所述流程圖600在615結束,其中所述替代像素是從沿所述確定的矢量并在可見區域內的一組像素中選擇。
在一個實施例中,系統設置可配置為追蹤兩只眼睛。如果一只眼睛沒有有效數據,系統可以配置為使用另一只眼睛使用無效數據預測眼睛的注視。
例如,可以獲得每只眼睛的注視數據。如果確定其中一組注視數據包含無效數據,則可以對另一組注視數據應用預測模型來預測缺失的注視數據。注視數據集可以確定為無效,例如,基于硬件或軟件反饋,基于對眼睛之間數據一致性的審查,基于預期運動中的閾值運動等等。
相關專利:Apple Patent | Eye tracking data filtering
https://patent.nweon.com/30685
名為“Eye tracking data filtering”的蘋果專利申請最初在2022年11月提交,并在日前由美國專利商標局公布。
來源:映維網
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。