<menu id="kei0a"><strong id="kei0a"></strong></menu>
  • <menu id="kei0a"></menu>
  • <dd id="kei0a"></dd>
  • <menu id="kei0a"><strong id="kei0a"></strong></menu>
    科技魔方

    微軟專利介紹用于AR/VR設備攝像頭校正滾動快門偽影的方法

    AR/VR

    2021年12月22日

      混合現實系統可以包括深度檢測系統,例如飛行時間攝像頭、測距儀、立體深度攝像頭等等。深度檢測系統提供關于混合現實系統周圍真實世界環境的深度信息,以使系統能夠準確呈現基于真實世界對象的混合現實內容。深度檢測可以作用于其他目的。例如,混合現實系統可以利用立體攝像頭獲得的圖像向用戶提供用戶環境的透視視圖。

      盡管現有的混合現實系統可以配置不同類型的攝像頭,但通過混合現實設備呈現攝像頭捕獲的圖像依然存在眾多挑戰,比如說滾動快門偽影。

      由于攝像頭的物理定位與用戶眼睛的物理定位屬于物理分離,所以不能簡單地直接向用戶渲染捕獲的圖像。具體地說,用戶眼睛定位和立體攝像頭定位之間的垂直偏移將導致視圖誤差,所以用戶將會感知到具有不正確深度的真實世界對象。

      提供視差校正功能的系統可以利用滾動快門攝像頭來獲得用于生成視差校正圖像的立體圖像。滾動快門攝像頭包括滾動快門傳感器,后者包括傳感器行(或列)陣列,傳感器行(或列)陣列按順序而不是同時集成和/或讀取傳感器數據。例如,滾動快門傳感器可在初始行或列開始積分,讀取初始行或列,然后繼續積分并讀取后續行或列。所以,當使用滾動快門傳感器拍攝圖像時,滾動快門攝像頭的每個傳感器行(或列)可以具有不同的積分和/或讀出時間戳。

      但在特定情況下,特別是在用戶移動頭部的情況下,系統可能在與滾動快門傳感器的不同傳感器行(或列)相關聯的不同積分和/或讀出時間戳處具有不同姿勢。這種情況尤其麻煩,因為與不同時間戳相關聯的每個不同姿勢將導致滾動快門偽影出現在由滾動快門傳感器捕獲的渲染圖像中。

      在名為“Systems and methods for correcting rolling shutter artifacts”的專利申請中,微軟就介紹了一種用于校正滾動快門偽影的方法和系統。

      圖1示出了視差問題的概念表示,其中立體攝像頭105A和105B對與用戶眼睛110A和1108物理分離。傳感器區域115A概念上描繪了攝像頭105A(和用戶眼睛110A的圖像感測區域。類似地,傳感器區域115B概念上描繪了攝像頭105B和用戶眼睛1108的圖像感測區域。

      圖3示出了攝像頭305-325中沒有一個與瞳孔330和335直接對準。偏移量340-345在攝像頭305-325和瞳孔330-335之間引入透視差異,亦即“視差”。

      由于偏移量340-345產生的視差,攝像頭305-325產生的原始圖像不能立即用作透視圖像350。相反,系統需要對原始圖像執行視差校正355。視差校正355包括執行深度計算以確定環境的深度,然后將圖像重新投影到確定的位置或具有確定的透視圖。

      重投影基于頭顯300相對于其周圍環境的當前姿勢375(例,通過視覺慣性SLAM確定)?;谏傻淖藙?75和深度映射,頭顯300和/或其他系統能夠通過重新投影由原始圖像體現的透視圖以與用戶的瞳孔330和335的透視圖一致來校正視差誤差。

      但正如前面所述,對于利用滾動快門攝像頭來獲得用于生成視差校正圖像的立體圖像的系統,其需要解決滾動快門攝像頭產生的滾動快門偽影。

      現在注意圖8A,其示出了滾動快門攝像頭805的示例。滾動快門攝像頭805包括滾動快門傳感器810,其包括一組傳感器行815。在一個實例中,滾動快門傳感器810的不同傳感器行815配置成按順序而不是同時集成和/或讀出由不同傳感器行815捕獲的傳感器數據。例如,滾動快門傳感器810可以在初始行(例如,傳感器行815的頂行或底行)處開始積分,讀取初始行,然后繼續積分并讀取傳感器行815的后續行。因此,當使用滾動快門傳感器810拍攝圖像時,每個傳感器行815具有不同的積分和/或讀出時間戳,并且從不同的傳感器行815輸出的傳感器數據之間將存在時間偏移。

      圖8B示出了包括第一滾動快門攝像頭805A和第二滾動快門攝像頭805B的立體對滾動快門攝像頭820的示例。在一個實例中,第一和第二滾動快門攝像頭805A和805B在曝光時間上同步,使得第一和第二滾動快門攝像頭805A和805B的對應傳感器行具有公共讀出/積分時間戳。

      在一個實現中,系統利用一對立體滾動快門攝像頭820來捕獲環境的圖像。例如,圖9A示出了頭顯900,其使用滾動快門攝像頭820的立體對捕獲包括物理對象905的環境的立體對。頭顯900對使用滾動快門攝像頭820的立體對捕獲的立體對圖像執行深度計算,以生成深度映射910,深度映射910包括代表環境中的物理對象905的深度數據915。

      但圖9A示出深度映射910包括滾動快門偽影。如圖9A所示,滾動快門攝像頭820在包括時間點1到N的時間間隔上捕獲立體圖像對。在某些情況下,在包括時間點1到N的整個時間間隔內,操作頭顯900的用戶改變其頭部位置,對于不同的時間點1到N中的每一個,其產生頭顯900的單獨姿勢(即姿勢1到N)。當每行在稍微不同的時間開始和結束曝光時間時,不同的拍攝姿勢1到N可在由立體對滾動快門攝像頭820拍攝的圖像中產生滾動快門偽影。因此,基于捕獲的圖像生成的深度映射910可以包括滾動快門偽影(如圖9A所示)。

      圖10A-12C說明了用于補償可能存在的滾動快門偽影的示例技術。

      如上所述,滾動快門傳感器810的傳感器行815具有不同的積分和讀出時間點(例如時間點1到N),并且與滾動快門傳感器810相關聯的頭顯可以在不同的時間點(例如姿勢1到N)具有單獨的姿勢。圖10A-10C示出了在不同積分/讀出時間點識別與頭顯1000相關聯的姿勢的示例,同時使用包括30個傳感器行的滾動快門傳感器拍攝圖像1010。

      例如,圖10A示出了在滾動快門傳感器的行1積分/讀出以生成圖像1010的時間點1期間處于姿勢1的頭顯1000。如所述,頭顯1000可以使用慣性追蹤和/或視覺追蹤系統來識別姿勢1。在一個實現中,頭顯1000將所識別的姿勢1與時間點1相關聯,時間點1是拍攝圖像1010時的行1的讀出/積分時間點。

      類似地,圖10B示出了在滾動快門傳感器的行15積分/讀出以生成圖像1010的時間點15期間姿勢15處的頭顯1000。圖10B示出了姿勢15與姿勢1分離,并且姿勢15不同于姿勢1。在一個實現中,頭顯1000將所識別的姿勢15與時間點15相關聯,時間點15是拍攝圖像1010時第15行的讀出/積分時間點。

      另外,圖10C示出了在滾動快門傳感器的行30積分/讀出以生成圖像1010的時間點30期間姿勢30處的頭顯1000。圖10C示出了姿勢30與姿勢1和15分開,并且姿勢30不同于姿勢1和15。在一個實現中,頭顯1000將所識別的姿勢30與時間點30相關聯,時間點30是拍攝圖像1010時第30行的讀出/積分時間點。

      當滾動快門傳感器捕獲環境的圖像時,頭顯1000可以將姿勢與滾動快門傳感器的任意數量的行和/或讀出/積分時間點相關聯。比如在一個情況下,,當滾動快門傳感器捕獲環境的圖像時,頭顯1000將單獨的姿勢與滾動快門傳感器的每一行和/或讀出/積分時間點相關聯。圖10C進一步示出,在一個實現中,使用滾動快門傳感器捕獲的圖像1010包括圖像1010中表示的對象的紋理信息1020。另外,圖10C示出了由滾動快門傳感器捕獲的圖像1010可以描述為具有多行圖像數據1015,其中每行圖像數據1015對應于滾動快門傳感器的傳感器行。

      圖11示出了至少使用由滾動快門傳感器捕獲的圖像1110生成深度映射1130的示例。圖11的圖像1110和圖像數據1115的行對應于圖10C的圖像1010和圖像數據1015的行。在一個實例中,頭顯對圖像1110執行深度處理1120(例如立體匹配),從而生成深度映射1130。另外,圖11示出深度映射1130可以描述為具有與圖像數據1115的行相對應的深度數據1135的行。因此,每行深度數據1135可對應于滾動快門傳感器的傳感器行。

      圖12A-12C示出了頭顯1200的示例,所述頭顯1200使用基于包括滾動快門偽影的圖像生成的深度映射1230來執行非投影操作1240,從而生成包括3D對象905的環境的3D表示1245。但與上面描述的圖9B相反,頭顯1200執行取消投影操作1240來生成3D表示1245。

      在一個實例中,頭顯1200按順序(例如,而不是并行地)對深度映射1230的每一行深度數據執行非投影操作1240。例如,圖12A描繪頭顯1200對位于深度映射1230的深度數據的行6上的點執行非投影操作1240-6。在某些情況下,頭顯在對第6行之前的深度數據行執行非投影操作之后,對深度數據的第6行執行非投影操作1240-6。

      在一個實現中,頭顯1200使用與頭顯1200相關聯的姿勢執行非投影操作1240-6,同時集成/讀出頭顯1200的滾動快門傳感器的傳感器行6,以形成用于生成深度映射1230的圖像(例如,圖11中的圖像1110)。例如,在一個實施例中,頭顯1200使用在時間點6處針對行6存在的姿勢6執行非投影操作1240-6。

      圖12B描繪了頭顯1200對位于深度映射1230的深度數據的第15行上的點執行非投影操作1240-15。在一個實現中,頭顯1200使用與頭顯1200相關聯的姿勢執行非投影操作1240-15,同時集成/讀出頭顯1200的滾動快門傳感器的傳感器行15,以形成用于生成深度映射1230的圖像。

      圖12C示出,通過每行執行非投影操作1240,每行深度數據使用在滾動快門傳感器捕獲對應行圖像數據的時間點存在的姿勢進行非投影,頭顯1200可以補償可能已經存在于深度映射1230和/或用于生成深度圖1230的圖像中的滾動快門偽影,并生成3D表示1245。例如,3D表示1245包括模擬物理對象905的真實世界形狀的物理對象905的表示。

      系統可將環境的3D表示用于各種目的。例如,圖13示出了頭顯1300生成包括物理對象905的環境的校正圖像1330的示例。在一個實現中,頭顯1300通過使用單個姿勢對3D表示1345的各個3D點執行投影操作1350來生成校正圖像1330。

      由于三維表示1345補償用于生成三維表示1345的深度映射中可能存在的滾動快門偽影(例如來自圖12A-12C的深度映射1230),因此基于三維表示1345生成的校正圖像1330同時將補償此類滾動快門偽影。

      圖13同時示出,在一些情況下,校正圖像1330包括紋理信息1310,紋理信息1310可以基于包括物理對象905的環境的一個或多個圖像。例如,在一個實現中,紋理信息1310基于用于形成三維表示1345的深度映射的環境的一個或多個圖像的紋理信息。例如,用于生成用于形成三維表示1345的深度映射的環境的一個或多個圖像同時可用于對三維表示進行紋理化。例如,對于每個像素,頭顯1300可以從對應像素識別紋理信息。

      在取消投影深度數據的像素以獲得三維表示1345的三維點之后,頭顯1300可以基于對三維表示1345的三維點的投影操作1350將識別出的紋理信息應用于校正圖像1330的像素。值得注意的是,校正圖像1330的紋理信息1310可以補償用于生成深度映射的圖像中可能存在的任何滾動快門偽影。

      名為“ Systems and methods for correcting rolling shutter artifacts”的微軟專利申請最初在2021年5月提交,并在日期由美國專利商標局公布。

    +1

    來源:映維網

    推薦文章

    肉H文老师好紧好大好爽
    <menu id="kei0a"><strong id="kei0a"></strong></menu>
  • <menu id="kei0a"></menu>
  • <dd id="kei0a"></dd>
  • <menu id="kei0a"><strong id="kei0a"></strong></menu>