可以由深度(1或/決定,而且可以由焦距設置{fn}114和光圈設置{an}116決 定。變量HU)和義(〖)表示全景對焦圖像的傅里葉變換并且分別可以表示噪聲。
[0053] 雖然由于隨機項,可能存在完全消除不明確性的挑戰,然而,當確定項使得錯的深 度假設的似然與來自地面實況深度的似然形成顯著對照時,似然函數可以被定義為弱單峰 的。
[0054] 在一些示例中,遍及深度假設的集合D由場景和配置設置元組(h,{fn},{a n})提 供的深度信息可以被定義為:
[0055] Khf\fni{an}) ^ (2)
[0056] 在一些示例中,第一階段可以包括優化{fj和{an},而不管場景的紋理。在已經捕 獲幾個圖像之后,并且關于全景對焦圖像場景紋理的附加知識h、{f n}和{an}可以以關于h 的知識為條件被優化。
[0057] 方程2中的深度信息可以如下限制:
(3)
[0059] 其中,
[0060]
[0061]
p)
[0062] 一個草解可以表示為:
[0065] 并且可以如下示出。
[0067] 在一些示例中,考慮深度假設的序列D,并且遍及D中的所有的d和/的對來計算 最小能量辨別能力:
(9)
[0069] 在一些示例中,當對于其中HU )顯著的所有的頻率〖通過最大化
和]^選擇配置設置112時,本文所討論的某些定理可以允許用于很多可能的補丁的正確 深度估計。可以期望a),wNa))的軌跡均勻地位于用于這些顯 著頻率的單位球的表面上。當存在很少或沒有關于HU)的分布的信息時,可以期望針對 所有頻率最大化
[0070] 在一些示例中,散焦不變紋理可以與周期性的顯著不同,并且因此可以不被直接 地應用于本文所討論的定理。在一些示例中,圖像可以利用拉普拉斯算子進行預濾波以使 得場景紋理更加周期性。在這種情況下,I |H(〖)| |2可能不再是陡峭的紋理中的強度方差 的測量,而且可以相反測量場景紋理中的深度變化部分的顯著性。
[0071] 在一些示例中,本文所討論的定理可以暗示關于選擇配置設置的某些事情。例如, 為學習可以暗示的內容,可以期望首先將w na)關于模糊核半徑〇n進行表示,
[0072] (1〇)
[0073] 在這里,A表示艾里函數,并且隊表示一階貝塞爾函數。
[0074] 在選擇用于圖像對的配置設置112中,可以考慮用于深度獲取的優化的配置設置 對。共享相同深度的兩個圖像中的散焦核半徑的關系可以滿足:
n)
[0076] 經驗性地,可以觀察到,對于相同的光圈,散焦核半徑關于用于焦距設置的深度倒 數的變化速度近似相同
(12:|
[0078] 并且參考深度平面和對象側上的光圈圖像之間的距離可以不明顯改變,即, Bp B2,并且因此
U3)
[0080] 因此方程11可以簡化為:
[0082] 然后,可以形成對于每個頻率具有各種
的軌跡(A( 〇 i 〇, A(〇j)的圖。
[0083] 可以觀察到,當
[0084] a:= a 2 (15)
[0085] 和
_
[0087] 時;^和備,兩者被最小化。
[0088] 在實踐中,可以期望從高頻(例如,JI/2S € < Ji)中獲得深度信息,使得可以 保證高空間分辨率。因此,如上文所提及的,可以期望兩個圖像之間的散焦水平的差異為1 至2像素。
[0089] 注意,甚至在這樣的情況下,當〇 3或者〇 A走出[-31,31]的范圍時,,k和 顯著地降低。這可以對應于將兩個圖像的散焦模糊半徑限制在1至2像素內。
[0090] 在一些示例中,對于感興趣的非常寬的深度范圍,可能甚至在非常小的光圈的情 況下也無法實現上述條件。因此,在一些示例中,圖像捕獲指令108可以指示捕獲具有相同 光圈設置116的多個圖像。在一些示例中,直接的選擇可以是捕獲場景的頻率保存的焦點 堆棧。在一些示例中,圖像捕獲指令108可以指示應當捕獲焦點堆棧。在一些示例中,這可 以意味著圖像118應當在相同的光圈設置114的情況下捕獲,并且具有均勻分布在感興趣 的焦點范圍內的焦距設置116。在一些示例中,對于每個感興趣的深度,在至少兩個圖像中, 對應的散焦模糊可以小于1. 5像素。
[0091] 在一些示例中,用于獲取用于深度圖的圖像118的圖像捕獲指令108可以與用于 獲取全景對焦圖像的相同。因此,在一些示例中,通過根據圖像捕獲指令108捕獲圖像118, 可以生成深度圖和全景對焦圖像的估計。不像常規方法,圖像捕獲指令108可以不指示應 當拍攝圖像的緊湊焦點堆棧。相反,為降低計算成本,可以期望使用較小的光圈設置以便減 少圖像118的數目。在一些示例中,在最小數目的待捕獲圖像118的情況下,從由深度范圍 信息104標識的感興趣的用戶指定深度范圍中,可以標識最優配置設置112,而不管場景紋 理。根據一個示例,以下數據對應于使用佳能EF50mml. 2L透鏡的校準數據對于各種深度范 圍的圖像數和它們的對應的光圈。
[0092] a.當深度范圍信息104指示場景中的最近對象在兩米和無窮大之間,拍攝四個圖 像。
[0093] b.當深度范圍信息104指示場景中的最近對象在三米之外時,拍攝三個圖像。
[0094] c.當深度范圍信息104指示整個場景在五米之外時,拍攝兩個圖像。
[0095] 在一些示例中,上面標識的圖像118可以使用相對小的光圈捕獲。例如,對于很多 室外場景,小于f/8的光圈可以提供合適的結果。甚至對于非常遠的場景,所選擇的最大光 圈可以仍然小于f/2. 2,這可能是手機上的最大可能的光圈之一。
[0096] 以下討論描述了可以根據至少一個示例使用本文所描述的技術執行的示例動作 和/或程序。圖5描繪了包括關于確定用于在如本文所描述的深度圖生成中使用的圖像捕 獲指令的示例功能的過程500。過程500中的一些或全部(或者本文所描述的任何其他過 程,或其變化和/或組合)可以在配置有可執行指令的一個或者多個計算機系統的控制下 執行,并且可以實現為通過硬件或其組合共同地在一個或者多個處理器上執行的代碼(例 如,可執行指令、一個或者多個計算機程序或者一個或者多個應用)。代碼可以例如以包括 由一個或者多個處理器可執行的多個指令的計算機程序的形式存儲在計算機可讀存儲介 質上。計算機可讀存儲介質可以是非瞬態的。不管實現在用戶設備402(1)-402(N)(圖4) 中的一個中,還是在圖像編輯服務404 (圖4)內,圖像特征引擎102 (圖1)可以執行圖5的 過程500。在一些示例中,過程500適于具有遵照任何合適的透明模型的任何透鏡的相機。 例如,過程500可以適于遵照厚透鏡模型或者薄透鏡模型的透鏡。
[0097] 過程500通過接收深度范圍信息而在502處開始。深度范圍信息可以包括距離估 計。接收距離估計可以包括含場景內的最近對象的估計的接收距離估計。在一些示例中, 距離估計可以指示場景的平均距離。在一些示例中,距離估計可以包括場景的部分與觀察 點的距離。在一些示例中,深度范圍信息可以用于標識深度范圍。例如,深度范圍信息可以 指示最小深度(例如,兩米),并且可以估計最大深度。在一些示例中,深度范圍信息指示 最小深度和最大深度兩者。這些深度中的一個或者兩個可以由用戶輸入,或者使用設備或 者自動方法收集。在一些示例中,深度范圍被分割為分立深度值的集合。深度值的集合的 至少一部分通過過程500評估以確定焦距設置、光圈設置和最小數量的圖像。在一些示例 中,深度范圍信息包括圖像的目標數量的輸入。圖像的目標數量可以指示用于希望拍攝的 圖像數,或者相機在某個時間閾值(例如,五秒)內可能拍攝的圖像數。在一些示例中,過 程500在確定圖像捕獲指令和相應地調整輸出時考慮圖像的目標數量。在一些示例中,這 可以導致超過或者達不到最優模糊半徑范圍的深度信息。在一些示例中,當圖像的目標數 量超過圖像的最小數量時,在景深中可以存在重疊和/或可以存在過量的深度信息。在一 些示例中,當圖像的目標數量小于圖像的最小數量時,在景深中可以存在間隙和/或可以 存在深度信息的缺乏。
[0098] 在504處,過程500將第一深度值設置為等于基于深度范圍信息的最小深度值。例 如,如果深度范圍信息指示深度范圍(例如,兩米至五十米),則第一深度值是兩米。以這 種方式,過程500以最小的深度開始,并且迭代遍及所有深度值直到達到大于最大深度(例 如,五十米)的深度值。
[0099] 在506處,過程500針對待捕獲的圖像標識最優模糊半徑的范圍。在一些示例中, 最優模糊半徑范圍在過程500執行之前確定。例如,最優模糊半徑范圍可以被預計算并且 提供給執行過程500的計算機。在一些示例中,最優模糊半徑范圍部分地通過評估包括場 景依賴部分和場景獨立部分的深度辨別力函數的場景獨立部分而確定。場景獨立部分獨立 于場景,因為它依賴于用于捕獲圖像的數碼相機的校準數據,而不依賴于下面的場景。在一 些示例中,深度辨別力函數包括如本文所描述的方程(3)。評估深度辨別力函數使得最大化 深度辨別力函數的場景獨立部分。在一些示例中,最優模糊半徑的范圍被分解為圖像捕獲 指令的確定以便確保將存在足夠的信息使得可以從捕獲的圖像生成質量深度圖。以這種方 式,確定圖像捕獲指令使得最大化深度信息的數量,而且最小化待捕獲的圖像數。在一些示 例中,最優模糊半徑范圍是約1像素至約2像素。
[0100] 在508處,過程500標識光圈設置。在一些不例中,相同的光圈設置可以用于待捕 獲的圖像中的至少兩個。在一些示例中,光圈設置是基于相機的可用光圈設置的最小可允 許光圈設置之一。在一些示例中,最優地,光圈設置作為評估深度辨別力函數的場景獨立部 分的一部分進行選擇。在一些示例中,光圈設置可以大于最小可允許光圈。在一些示例中, 過程500在508處使用不同的光圈設置被評估。以這種方式,光圈設置可以針對不同的光 圈設置而確定。
[0101] 在510處,過程500確定第一焦距設置使得第一焦距設置大于最小深度值并且使 得在使用光圈設置和第一焦距設置捕獲的圖像中由最小深度值處的像素經受的模糊在最 優模糊半徑的范圍內。在一些示例中,這可以包括計算第一焦距設置使得考慮將在圖像內 的其他位置處可用的深度信息的數量。
[0102] 在512處,過程500輸出第一焦距設置。在一些示例中,這包括存儲第一焦距設置。 在一些示例中,第一焦距設置輸出至焦距設置表。這可以包括使用第一焦距設置和光圈設 置捕獲圖像。在一些示例中,輸出第一焦距設置可以包括生成包括第一焦距設置的圖像捕 獲指令。
[0103] 在514處,過程500確定下一深度值使得該下一深度值大于先前的焦距設置并且 使得在使用光圈設置和對應于該下一深度值的焦距設置捕獲的圖像中由該下一深度值處 的像素經受的模糊在最優模糊半徑的范圍內。例如,如果先前的焦距設置(例如,第一焦距 設置)在三米處,則所選擇的該下一深度值大于三米。
[0104] 在516處,確定該下一深度值大于還是等于最大深度值。在一種示例中,最大深度 值對應于從深度范圍信息確定的深度范圍。如果是,則過程在518處結束。如果否,則過程 繼續至520,其中過程500確定附加的焦距設置使得附加的焦距設置大于該下一深度值并 且使得在使用光圈設置和附加的焦距設置捕獲的圖像中由該下一深度值處的像素經受的 模糊在最優模糊半徑的范圍內。
[0105] 在522處,過程500輸出附加的焦距設置。在一些示例中,這包括存儲附加的焦距 設置。在一些示例中,附加的焦距設置輸出值焦距設置表。這可以包括使用第一焦距設置 和光圈設置捕獲圖像。在一些示例中,輸出附加的焦距設置可以包括生成包括附加的焦距 設置的圖像捕獲指令。在522處輸出附加的焦距設置之后,過程返回514,并且確定下一深 度值使得該下一深度值大于先前的焦距設置并且使得在使用光圈設置和對應于該下一深 度值的焦距設置所捕獲的圖像中由該下一深度值處的像素