用于全景攝影的位置傳感器輔助的圖像配準的制作方法
【專利摘要】本公開涉及用于在手持式個人電子設備中執(zhí)行位置傳感器輔助的全景攝影技術的設備、方法和計算機可讀介質。可用于執(zhí)行此處描述的全景攝影技術的一般化步驟包括但不限于:1)從電子設備的圖像傳感器獲取圖像數(shù)據(jù);2)對獲取的圖像數(shù)據(jù)執(zhí)行“運動過濾”,例如使用從電子設備的位置傳感器返回的信息來通知圖像數(shù)據(jù)的處理;3)在相鄰捕獲圖像之間執(zhí)行圖像配準;4)對捕獲圖像數(shù)據(jù)執(zhí)行幾何校正,例如由于視角變化和/或照相機繞非透視中心(COP)照相機點的旋轉;以及5)將捕獲圖像“拼接”在一起以創(chuàng)建全景場景,例如混合相鄰捕獲圖像之間的重疊區(qū)域中的圖像數(shù)據(jù)。合成拼接全景圖像可在最終存儲之前被剪裁。
【專利說明】用于全景攝影的位置傳感器輔助的圖像配準
[0001]相關申請的交叉引用
[0002]本申請涉及具有美國專利申請序列號13/109875、13/109878、13/109883和13/109941的共同已轉讓申請,這些申請中的每一個都提交于2011年5月17日,其整體通過引用合并于此。
【技術領域】
[0003]所公開的實施例總體上涉及全景攝影。更特別地,所公開的實施例涉及用于改善具有圖像傳感器的手持式個人電子設備的全景攝影。
【背景技術】
[0004]全景攝影一般可定義為用于利用延伸的視野捕捉圖像的攝影技術。表現(xiàn)出與人眼的視野接近或更大的視野(例如,大約160°寬乘75°高)的圖像可稱為“全景”。如此,全景圖像一般具有2:1或更大的縱橫比,意味著圖像的寬是高的至少兩倍(或相反,在垂直全景圖像的情況下,高是寬的兩倍)。在某些實施例中,全景圖像甚至可以覆蓋多達360度的視野,即,“完全旋轉”全景圖像。
[0005]與拍攝賞心悅目的全景圖像相關聯(lián)的許多挑戰(zhàn)在現(xiàn)有技術中得到了很好的描述并且是已知的。這些挑戰(zhàn)包括攝影問題,諸如:確定由跨全景場景的照明條件的差異所引起的合適的暴露量設置的困難;由對象在全景場景內的運動所引起的圖像條的模糊;以及視差問題,即,歸因于照像機繞其透視中心(COP)之外的軸的旋轉,連續(xù)捕獲圖像中全景場景中的對象的表觀位移或表觀位置的差異所導致的問題。COP可以被視為照像機查看的視線會聚的點。COP有時也稱為“入射光瞳”。取決于照像機的透鏡設計,照像機的光軸上的入射光瞳位置可以在透鏡系統(tǒng)的背后、內部或者甚至前面。通常需要某些預先捕捉實驗,并使用帶有照像機滑動組合件的可旋轉三腳架裝置,以確保照像機在捕捉全景場景過程中繞其COP旋轉。顯然,這種準備和計算在手持式個人電子設備中以及自組織(ad-hoc)全景圖像捕捉中是不期望的。
[0006]其他已知的與拍攝賞心悅目的全景圖像相關聯(lián)的挑戰(zhàn)包括后處理問題,諸如:適當?shù)貙R用來構建整體全景圖像的各種圖像;在用來構建整體全景圖像的各種圖像的重疊區(qū)域之間混合;選擇不會使全景照片的就照相而言重要的部分失真的圖像投影校正(例如,矩形、圓柱形、墨卡托投影);以及校正順序捕獲的圖像之間的透視變化。
[0007]相應地,需要改善諸如移動電話、個人數(shù)據(jù)助理(PDA)、便攜式音樂播放器、數(shù)碼相機以及膝上型計算機以及平板計算機系統(tǒng)之類的手持式個人電子設備上的全景照片的捕捉以及處理的技術。通過訪問從嵌入在手持式個人電子設備內或以別的方式與手持式個人電子設備進行通信的位置傳感器(例如,微機電系統(tǒng)(MEMS)加速度計和陀螺儀)返回的信息,可以使用諸如此處所描述的那些之類的更有效的全景攝影技術來以對用戶而言無縫且直觀的方式實現(xiàn)賞心悅目的全景攝影結果。
【發(fā)明內容】
[0008]此處公開的全景攝影技術設計成處理由手持式個人電子設備捕獲的一系列全景場景。實現(xiàn)此處描述的全景攝影技術的一般化步驟包括:1)從電子設備的圖像傳感器的圖像流獲取圖像數(shù)據(jù)(這能隨著用戶跨全景場景旋轉設備而以連續(xù)捕獲圖像幀的形式實現(xiàn));2)對所獲取的圖像數(shù)據(jù)執(zhí)行“運動過濾”(例如,使用從手持式個人電子設備的位置傳感器中獲得的信息來通知對圖像數(shù)據(jù)的處理);3)在相鄰捕獲圖像之間執(zhí)行圖像配準;4)對捕獲圖像數(shù)據(jù)執(zhí)行幾何校正(例如,由于透視變化和/或照相機圍繞非COP點的旋轉);以及5)將捕獲圖像“拼接”在一起,以創(chuàng)建全景場景,即,混合相鄰捕獲圖像之間的重疊區(qū)域中的圖像數(shù)據(jù)。由于圖像投影校正、透視校正、對準等,合成拼接全景圖像可能具有不規(guī)則的形狀。因此如果需要的話,合成拼接全景圖像可在最終存儲之前任選地被剪裁成矩形。下面將比較詳細地描述這些一般化步驟中的每一個。
[0009]1.圖像獲取
[0010]某些現(xiàn)代照像機的圖像傳感器可以以30幀每秒(fps)的速率(即每大約0.03秒一個幀)捕捉圖像幀。在如此高的圖像捕捉速率下,并且給定用戶所拍攝的平均全景照片的搖攝(panning)速度,由圖像傳感器捕捉到的許多圖像數(shù)據(jù)都是冗余的,S卩,與隨后或以前捕捉到的圖像幀中的圖像數(shù)據(jù)重疊。事實上,如下文將更詳細地描述的那樣,在某些實施例中,在捕捉每一圖像幀之后只保留狹窄的“條”或“切片”可能是有利的。在某些實施例中,條可以只包括圖像幀的中間的12.5%。只要保留相鄰的捕捉到的圖像條之間的足夠的重疊量,此處所描述的全景攝影技術就能夠創(chuàng)建在視覺上更使人愉快的全景結果,而由于大量的不需要的和/或冗余的數(shù)據(jù)可被丟棄,所以可以以提高的效率操作。現(xiàn)代圖像傳感器可以捕捉低動態(tài)范圍(LDR)和高動態(tài)范圍(HDR)圖像,此處所描述的技術可以應用于每一種圖像。
[0011]2.運動過濾
[0012]當前在手持式個人電子設備上的自組織(ad-hoc)全景圖像生成期間面臨的問題之一是,根據(jù)設備處理能力能夠處理的數(shù)據(jù)量和設備內部數(shù)據(jù)通道的容量來保留實際用于全景圖像生成的數(shù)據(jù)量。通過基于前一幀配準、來自設備的位置傳感器(例如,陀螺儀和/或加速度計)的加速度變化和照像機旋轉變化信息,使用照像機運動的啟發(fā)規(guī)則,可以“濾除”由于缺乏照像機位置的足夠變化而將只產(chǎn)生冗余圖像數(shù)據(jù)的圖像條。此過濾不是計算密集的,并且減少了傳遞到全景圖像處理操作的計算密集部分的圖像條的數(shù)量。運動過濾還通過只保留圖像數(shù)據(jù)的所需部分而減少了全景圖像處理操作的存儲器占用空間。
[0013]3.圖像配準
[0014]圖像配準涉及匹配一組圖像中的特征,或使用直接對準方法來搜索最小化重疊像素之間的絕對差異之和的圖像對準。在全景攝影的情況下,圖像配準一般應用在兩個連續(xù)捕獲或以其他方式重疊的圖像之間??梢允褂酶鞣N已知技術來幫助圖像配準,諸如特征檢測和交叉關聯(lián)。通過訪問從設備的位置傳感器返回的信息,可以改善諸如特征檢測和交叉關聯(lián)之類的圖像配準技術,并使它們更有效率。從設備傳感器接收到的位置信息可以充當對要配準的兩個圖像中的各個特征或區(qū)域之間計算的搜索矢量的檢查。例如,從一個圖像幀到下一圖像,全景場景內的對象的與用戶的搖攝運動相反的移動可表明與兩個圖像之間的實際運動相反的局部搜索矢量。通過對照從設備的位置傳感器接收到的信息檢查局部搜索矢量信息,可以從圖像配準計算中丟棄圖像的不一致的和/或無用的片段,如此,使計算從計算角度來看不太密集,并減少全景圖像處理操作的存儲器占用空間。
[0015]4.幾何校正
[0016]順序捕獲的圖像幀(或圖像條)之間的透視變化可能會導致位于連續(xù)圖像幀(或條)之間的重疊區(qū)域的對象的錯位。在此處所描述的技術中,從設備的位置傳感器(例如,MEMS陀螺儀)接收到的信息用于計算照像機從一個幀到另一個幀的旋轉變化。然后,可以使用此數(shù)據(jù)來對捕捉到的圖像幀進行完全透視校正。在某些情況下,對圖像數(shù)據(jù)執(zhí)行透視或其他幾何校正可以是在連續(xù)捕獲圖像幀的對準和拼接之前的關鍵的步驟??梢允褂弥T如立方內插或三次樣條函數(shù)(即,多項式解釋)之類的各種已知卷曲(warping)技術來校正透視并在連續(xù)捕獲圖像幀之間進行內插。
[0017]5.圖像拼接
[0018]根據(jù)某些實施例,組裝全景圖像的最后一個步驟是將連續(xù)保留圖像幀“拼接”在一起??梢詫D像幀置于組裝緩沖器中,在那里,可以確定圖像(或圖像的某些部分)之間的重疊區(qū)域,并可以根據(jù)混合公式,例如,線性、多項式或其他阿爾法混合公式,將重疊區(qū)域混合成最終的合成圖像區(qū)域。兩個連續(xù)保留圖像幀之間的混合試圖隱藏幀之間的小差異,但是還可具有使該區(qū)域中的圖像模糊的后果。對于出現(xiàn)在重疊區(qū)域中的所感興趣的任何對象,這不是理想的,對于出現(xiàn)在重疊區(qū)域中的人臉,特別不合乎需要,因為它們會通過混合變得失真,變得對全景圖像的人觀察者非常明顯。通過定位正在被拼接的圖像幀中的臉,此處所描述的全景攝影過程的一實施例通過創(chuàng)建場景圖形來避免跨臉混合,以便只使用來自正在被混合的圖像幀中的一個圖像幀的臉。由于大量的重疊圖像條被捕獲,所以還可對用作人臉信息的圖像幀的選擇進行進一步的細化,例如,可以跨連續(xù)保留的圖像條比較臉的存在,以便例如選擇其中臉中的眼睛是睜開的條,而并非選擇臉中的眼睛是閉著的條。
[0019]如此,在此處所描述的一個實施例中,公開了一種圖像處理方法,包括:從設備中的圖像傳感器接收第一圖像序列;接收設備的旋轉信息;至少部分地基于旋轉信息,選擇第一圖像序列的子集以生成第二圖像序列;組合第二圖像序列中的每一個的一部分,以便第二圖像序列中的每一圖像的每一部分重疊第二圖像序列中另一圖像的至少另一部分;以及混合第二圖像序列中的圖像的部分之間的重疊中的每一個,以產(chǎn)生全景圖像。
[0020]在此處所描述的另一個實施例中,公開了一種圖像處理方法,包括:對第一圖像執(zhí)行圖像配準,其中所述第一圖像是在第一位置利用設備拍攝的;接收表示設備從第一位置到第二位置的移動的數(shù)據(jù);至少部分地基于設備移動沒有超出閾值移動量的判斷,從多個圖像中濾除第二圖像,其中第二圖像是在第二位置拍攝的;對來自多個圖像中的一個或多個額外圖像執(zhí)行圖像配準;以及使用第一圖像和一個或多個額外圖像生成全景圖像。
[0021]在此處所描述的再一個實施例中,公開了一種圖像配準方法,包括:從設備獲得位置信息;從設備獲取第一和第二圖像;將所述第一圖像中的多個區(qū)域與所述第二圖像中的相應的多個區(qū)域對準,以識別多個相應的區(qū)域;確定多個相應的區(qū)域中的每一個的搜索矢量;從所述多個相應的區(qū)域中只選擇那些具有符合所述位置信息的搜索矢量的相應的區(qū)域,以識別多個一致的區(qū)域;以及,使用所述多個一致的區(qū)域來配準所述第一和第二圖像。
[0022]在此處所描述的再一個實施例中,公開了一種圖像配準方法,包括:接收由設備捕獲的第一圖像;從一個或多個位置傳感器接收設備移動數(shù)據(jù);接收由設備捕獲的第二圖像;以及使用所述設備移動數(shù)據(jù)和所述第一圖像,對所述第二圖像執(zhí)行圖像配準,其中所述設備移動數(shù)據(jù)提供在執(zhí)行圖像配準的動作中所使用的搜索矢量,其中所述第二圖像是由所述設備在比所述第一圖像稍晚的時間點捕捉到的。
[0023]在此處所描述的另一個實施例中,公開了一種圖像處理方法,包括:在第一時間從設備獲取第一圖像;在第二時間從設備獲取第二圖像;從設備中的傳感器接收位置信息,位置信息表示在第一和第二時間之間設備的位置的變化量;基于接收到的位置信息,對第一或者第二圖像應用幾何校正;以及,將第一圖像與第二圖像配準。
[0024]在此處所描述的另一個實施例中,公開了一種圖像處理方法,包括:接收設備中的多個圖像幀的圖像數(shù)據(jù);接收表示多個圖像幀中的第一圖像幀和多個圖像幀中的第二圖像幀的捕捉之間的設備移動的傳感器數(shù)據(jù);以及基于接收到的傳感器數(shù)據(jù),對多個圖像幀中的第一圖像幀或第二圖像幀應用透視校正。
[0025]在此處所描述的再一個實施例中,公開了一種生成全景圖像的方法,包括:獲取具有第一區(qū)域和第二區(qū)域的第一圖像,第二區(qū)域包括臉的第一表示,第一圖像存儲在第一存儲器中;獲取具有第三區(qū)域和第四區(qū)域的第二圖像,第三區(qū)域包括臉的第二表示,第二圖像存儲在第二存儲器中;對準第一和第二圖像,以便第二和第三區(qū)域重疊,以生成重疊區(qū)域;掩蓋重疊區(qū)域中與臉的第一表示對應的區(qū)域,以生成掩蓋區(qū)域;除了掩蓋區(qū)域外,混合重疊區(qū)中的第一和第二圖像,以生成混合區(qū)域;以及生成包括第一區(qū)域、第四區(qū)域和混合區(qū)域的結果圖像,其中混合區(qū)域中與掩蓋區(qū)域對應的區(qū)域被替換為臉的第一表示。
[0026]在此處所描述的再一個實施例中,公開了一種生成全景圖像的方法,包括:接收設備中的表示包括場景的多個圖像的數(shù)據(jù);確定來自多個圖像的第一圖像和第二之間的重疊區(qū)域;識別在第一圖像和第二圖像的每個中在一位置表示的感興趣的特征,其中每一表示都位于重疊區(qū)域中;從第一圖像選擇感興趣特征的表示;在重疊區(qū)域中在第一圖像和第二圖像之間進行混合,以生成合成重疊區(qū)域;以及使用合成重疊區(qū)域來替換第一圖像和第二圖像之間的重疊區(qū)域,組裝第一圖像和第二圖像,其中,混合的動作排除識別的感興趣的特征的位置,其中,所選表示用于識別的感興趣特征的位置處的合成重疊區(qū)域。
[0027]在此處所描述的再一個實施例中,公開了一種生成全景圖像的方法,包括:在設備中接收表示多個圖像的數(shù)據(jù);識別多個圖像中的一個或多個臉所在的一個或多個位置;以及混合多個圖像的重疊區(qū)域以形成全景圖像,其中混合動作排除圖像的在重疊區(qū)域中具有一個或多個臉位置的區(qū)域。
[0028]根據(jù)此處所描述的各實施例的用于手持式個人電子設備的位置傳感器輔助的全景攝影技術可以直接通過設備的硬件和/或軟件來實現(xiàn),如此,使這些實用的全景攝影技術輕松地適用于帶有合適的位置傳感器以及處理能力的任意數(shù)量的電子設備,諸如移動電話、個人數(shù)據(jù)助理(PDA)、便攜式音樂播放器、數(shù)碼相機、膝上型計算機以及平板計算機系統(tǒng)。
【專利附圖】
【附圖說明】
[0029]圖1示出了根據(jù)一實施例的位置傳感器輔助的全景攝影系統(tǒng)。
[0030]圖2示出了根據(jù)一實施例的位置傳感器輔助的創(chuàng)建全景圖像的過程。
[0031]圖3示出了根據(jù)一實施例由電子設備捕捉的示例性全景場景。[0032]圖4示出了根據(jù)一實施例的執(zhí)行位置傳感器輔助的運動過濾以用于全景攝影的過程。
[0033]圖5A示出了根據(jù)一實施例的由恒速跨場景搖攝的電子設備捕捉到的示例性全景場景。
[0034]圖5B示出了根據(jù)一實施例的由非恒速跨場景搖攝的電子設備捕捉到的示例性全景場景。
[0035]圖6示出了根據(jù)一實施例的圖像“條”或“切片”。
[0036]圖7A示出了根據(jù)一實施例的帶有拱(arch)的示例性全景掃視。
[0037]圖7B示出了根據(jù)一實施例的示例性近似線性全景掃視。
[0038]圖7C示出了根據(jù)一實施例的示例性“短臂”全景掃視。
[0039]圖7D示出了根據(jù)一實施例的示例性“長臂”全景掃視。
[0040]圖8示出了根據(jù)一實施例的執(zhí)行全景攝影的圖像配準的過程。
[0041]圖9示出了根據(jù)一實施例的位置信息輔助的特征檢測。
[0042]圖10示出了根據(jù)一實施例的給定圖像幀的搜索矢量段。
[0043]圖11示出了根據(jù)一實施例的圖像配準的判斷流程圖。
[0044]圖12示出了根據(jù)一實施例的執(zhí)行全景攝影的幾何校正的過程。
[0045]圖13示出了根據(jù)一實施例的在圖像條或切片的上下文中由于照相機旋轉而造成的透視變化。
[0046]圖14示出了根據(jù)一實施例的執(zhí)行全景攝影的圖像拼接的過程。
[0047]圖15示出了根據(jù)現(xiàn)有技術的示例性拼接圖像。
[0048]圖16示出了在根據(jù)現(xiàn)有技術的組裝的拼接全景圖像中發(fā)生的示例性混合誤差。
[0049]圖17示出了根據(jù)一實施例的拼接的全景圖像中的示例性關注區(qū)域。
[0050]圖18示出了根據(jù)一實施例的關注區(qū)域已知的拼接全景圖像的示例性場景圖形。
[0051]圖19示出了擁有顯示器的代表性電子設備的簡化功能框圖。
【具體實施方式】
[0052]本發(fā)明涉及用于在手持式個人電子設備中執(zhí)行位置傳感器輔助的全景攝影技術的設備、方法和計算機可讀介質。可以使用一般化的步驟來實現(xiàn)此處所描述的全景攝影技術,所述步驟包括:1)從電子設備的圖像傳感器獲取圖像數(shù)據(jù);2)對獲取的圖像數(shù)據(jù)執(zhí)行“運動過濾”,例如使用從電子設備的位置傳感器獲得的信息來通知對圖像數(shù)據(jù)的處理;3)在相鄰捕獲圖像之間執(zhí)行圖像配準;4)對捕獲圖像數(shù)據(jù)執(zhí)行幾何校正,例如由于透視變化和/或照相機繞非透視中心(COP)照相機點的旋轉;以及5)將捕獲圖像“拼接”在一起以創(chuàng)建全景場景,例如混合相鄰捕獲圖像之間的重疊區(qū)域中的圖像數(shù)據(jù)。如果需要,合成拼接全景圖像可以在最終存儲之前被剪裁。
[0053]此處所公開的技術適用于帶有光學傳感器的任意數(shù)量的電子設備,諸如數(shù)碼相機、數(shù)字視頻攝像機、移動電話、個人數(shù)據(jù)助理(PDA)、便攜式音樂播放器、膝上型計算機以及平板計算機系統(tǒng)。
[0054]為了清楚起見,并非實際實現(xiàn)的所有特征都被描述。當然,應理解,在任何實際實現(xiàn)的開發(fā)過程中(如在任何開發(fā)項目中那樣),必須作出很多判斷以實現(xiàn)開發(fā)人員的特定目標(例如,符合系統(tǒng)以及業(yè)務相關的約束),這些目標將在一個實現(xiàn)與另一個實現(xiàn)之間變化。還可以進一步理解,這樣的開發(fā)工作可能是復雜而耗時的,但是,是本領域技術人員的日常工作。
[0055]在以下描述中,為解釋起見,闡明了眾多具體細節(jié)以提供對發(fā)明構思的全面理解。作為描述的一部分,某些結構和設備可以以框圖形式示出,以便避免使本發(fā)明模糊。此外,本發(fā)明中所使用的語言主要用于可讀性和指導目的,可以不選擇這些語言來描繪或限定發(fā)明的主題,需要權利要求來確定這樣的發(fā)明主題。說明書中對“一個實施例”、“優(yōu)選實施例”、“實施例”等的引用意味著結合該實施例所描述的特定特征、結構或特性被包括在本發(fā)明的至少一個實施例中,對“一實施例”或“實施例”的多個引用不應理解為一定都引用同一實施例。
[0056]現(xiàn)在參考圖1,示出了根據(jù)一實施例的位置傳感器輔助的全景攝影系統(tǒng)100。圖1所示的系統(tǒng)100在邏輯上分為四個單獨的層。這樣的層簡單地呈現(xiàn)為在邏輯上組織全景攝影系統(tǒng)的功能的方式。在實踐中,各層可以在同一設備內或跨多個設備分散。可另選地,在一些實施例中,某些層可能根本不存在。
[0057]首先,將描述照像機層120。照像機層120包括個人電子設備122,個人電子設備122擁有能夠捕捉圖像數(shù)據(jù)流126 (例如,單獨圖像幀128的圖像流或視頻流的形式)的一個或多個圖像傳感器。在某些實施例中,圖像可以由設備122的圖像傳感器以30fps的速率來捕捉。設備122還可包括位置傳感器124。位置傳感器124可以包括例如用于計算照相設備從一個幀到另一個幀的旋轉變化的MEMS陀螺儀,或者MEMS加速度計,諸如超小型低功率三軸線性加速度計。加速度計可以包括感測元件和能夠通過串行接口提供設備測量的加速度的集成電路(IC)接口。如圖像流126中的圖像幀128所示,樹對象130由設備122在它跨全景場景搖攝時捕捉。圖1中的實線箭頭代表圖像數(shù)據(jù)的移動,虛線箭頭代表元數(shù)據(jù)或描述實際圖像數(shù)據(jù)的其他信息的移動。
[0058]接下來,將描述過濾層140。過濾層140包括可以從設備122的位置傳感器124接收輸入146的運動過濾模塊142。從位置傳感器124接收到的這樣的信息被運動過濾模塊142用來作出圖像流126中的哪些圖像幀128將被用來構建合成全景場景的判斷。如通過檢查示例性運動過濾了的圖像流144可以看到的那樣,運動過濾器只保留由設備122的圖像傳感器捕捉到的每大致三個圖像幀128中的一個。通過以智能和有效率的方式來消除冗余圖像數(shù)據(jù),例如,由從設備122的位置傳感器124接收到的位置信息驅動,運動過濾模塊142能夠濾除足夠量的外部圖像數(shù)據(jù),以便全景處理層160接收具有理想的重疊的圖像幀,且因此能夠實時地對圖像數(shù)據(jù)的高分辨率和/或低分辨率版本執(zhí)行全景處理,可任選地,在它被實時組裝時向設備122的顯示屏幕顯示全景圖像。
[0059]如上所述,全景處理層160擁有全景處理模塊162,全景處理模塊162從過濾層140接收經(jīng)過運動過濾了的圖像流144作為輸入。全景處理模塊162可以優(yōu)選地駐留在在設備122的操作系統(tǒng)中運行的應用級別。全景處理模塊162可以執(zhí)行諸如以下的任務:圖像配準、集合校正、對準和“拼接”或混合,下面將更詳細地描述這些功能中的每個。最后,全景處理模塊162可以任選地剪裁最終全景圖像,然后將它發(fā)送到存儲器層180以用于在儲存單元182中永久或臨時存儲。儲存單元182可以包括例如一個或多個不同類型的存儲器,例如高速緩存、ROM和/或RAM。全景處理模塊162還可將圖像配準信息164反饋到運動過濾模塊142以使運動過濾模塊142關于將設備位置移動與圖像流中的連續(xù)圖像幀之間的重疊量相關聯(lián)做出更準確的判斷。此信息反饋可以使運動過濾模塊142更有效率地選擇圖像幀以便放置到經(jīng)過運動過濾了的圖像流144中。
[0060]現(xiàn)在參考圖2,以流程圖的形式在高級別示出了根據(jù)一實施例的用于在位置傳感器的輔助下創(chuàng)建全景圖像的過程200。首先,電子設備例如包括一個或多個圖像傳感器以及一個或多個位置傳感器的手持式個人電子設備可以捕捉圖像數(shù)據(jù),其中捕捉到的圖像數(shù)據(jù)可以呈現(xiàn)為圖像幀的圖像流的形式(步驟202)。接下來,可以對獲取的圖像數(shù)據(jù)執(zhí)行運動過濾,例如,使用陀螺儀或加速度計來輔助運動過濾判斷(步驟204)。一旦創(chuàng)建了經(jīng)過運動過濾的圖像流,過程200可以嘗試在來自圖像流的連續(xù)捕獲圖像幀之間執(zhí)行圖像配準(步驟206)。如下面將討論的那樣,可以通過使用從設備內的位置傳感器接收到的信息來流水線化圖像配準過程206,并且使其更有效率。接下來,可以對捕捉到的圖像數(shù)據(jù)執(zhí)行任何必需的幾何校正(步驟208)。捕捉到的圖像幀的幾何校正的必要性可以由例如照像機在連續(xù)捕獲圖像幀之間的移動或旋轉(如果照像機不圍繞其COP點旋轉,可能會改變照像機的透視并導致視差)所導致。接下來,全景圖像處理200可以執(zhí)行獲取的圖像數(shù)據(jù)的“拼接”和/或混合(步驟210)。如下面將更詳細地說明的那樣,通過應用此處所公開的某些技術,可以避免在全景攝影中發(fā)現(xiàn)的常見混合誤差。如果更多圖像數(shù)據(jù)仍要被附加到合成全景圖像(步驟212),則過程200可以返回到步驟202,并執(zhí)行過程200以獲取要被處理并被附加到全景圖像的下一圖像幀。如果相反,在步驟212處沒有進一步的圖像數(shù)據(jù),則可以任選地剪裁最后的圖像(步驟214)和/或將其存儲到某種形式的易失性或非易失性存儲器中(步驟216)。還應注意,圖像獲取步驟202可以在現(xiàn)實中在全景圖像捕捉過程中連續(xù)地發(fā)生,即,與步驟204-210的執(zhí)行同時發(fā)生。如此,圖2僅用于說明,而不表明捕捉圖像數(shù)據(jù)的動作是在步驟204-210的執(zhí)行過程中停止的離散事件。圖像獲取持續(xù),直到步驟212,照相設備的用戶表示期望停止全景圖像捕捉過程或者照相設備用完分配給該過程的空閑存儲器時。
`[0061]現(xiàn)在已經(jīng)系統(tǒng)地且過程地在高級別描述了全景成像過程200,注意力將轉向到更詳細地說明有效率地并且有效地創(chuàng)建通過圖像捕捉設備本身中的位置傳感器輔助的全景照片的過程。
[0062]現(xiàn)在轉向圖3,示出了根據(jù)一實施例的由電子設備308捕捉的示例性全景場景300。如圖3所示,全景場景300包括一系列建筑物,包括城市的天際線。城市天際線是經(jīng)常希望被捕捉到全景照片中的廣視野場景的一個示例。理想地,全景照片可以以大致與人眼在場景采取的方式近似的方式來描繪場景,即,接近于180度的視野。如圖3所示,全景場景300包括160度視野。
[0063]標記有“X”的軸306表示在捕捉全景場景300過程中照相設備308的定向運動的軸。如圖3所示,照相設備308在給定時間間隔tl-t5關于X軸向右平移,隨著它沿著其全景路徑移動,捕捉全景場景300的連續(xù)圖像。在其他實施例中,全景掃視可涉及照相設備圍繞軸的旋轉,或照像機圍繞軸的旋轉和照像機沿軸的平移的組合。如照相設備308的虛線版本所示,在圖3所示的假設的全景場景捕捉過程中,照相設備308在時間h將在位置3081;然后在時間t2,在位置3082,依次類推,直到在時間t5,到達位置3085,此時,全景路徑將完成,照相設備308的用戶304將指示設備停止捕捉全景場景300的連續(xù)圖像。
[0064]圖像幀31(^-3%表示在圖3所示的假設的全景場景捕捉過程中在相應的時間和位置由照相設備308捕捉到的圖像幀。即,圖像幀SlO1對應于在位置308i和時間&由照相設備308捕捉到的圖像幀。注意,在位置SOS1時照相設備308的視野被標記為302i,與用戶304和正在被捕捉到的全景場景300之間的距離相結合,決定了可以在單一圖像幀310中捕捉到的全景場景的量。在傳統(tǒng)的全景攝影中,攝影者可以在若干個不同的設定位置拍攝全景場景的一系列單個照片,嘗試獲得全景場景的完全覆蓋,同時仍允許相鄰照片之間有足夠的重疊,以便它們可以對準并“拼接”在一起,例如使用在計算機或照相設備本身上運行的后處理軟件。在某些實施例中,需要在相鄰照片之間有足夠的重疊量,以便后處理軟件可以確定如何將相鄰照片彼此對準,以便然后可以將它們拼接在一起,并可任選地在它們的重疊區(qū)域進行混合,以創(chuàng)建合成全景場景。如圖3所示,單個幀310表現(xiàn)出與相鄰圖像幀有大致25%的重疊。在某些實施例中,取決于照相設備的存儲器和處理約束以及正在使用的后處理軟件,將需要相鄰圖像幀之間的更多重疊。
[0065]在照相設備308是視頻捕捉設備的情況下,照像機可以能夠每秒捕捉十五幀或更多幀。如下面將更詳細說明的那樣,以此捕捉速率,圖像數(shù)據(jù)中的許多數(shù)據(jù)可能是冗余的,在相鄰圖像之間提供比創(chuàng)建合成全景圖像的拼接軟件所需的重疊多得多的重疊。如此,發(fā)明人發(fā)現(xiàn)了用于位置傳感器輔助的全景攝影的新穎且令人吃驚的技術,該技術智能地并且有效率地確定在創(chuàng)建合成全景圖像時可以使用哪些捕獲圖像幀,哪些捕獲圖像幀可以作為過度冗余而被丟棄。
[0066]現(xiàn)在參考圖4,以流程圖的形式示出了根據(jù)一實施例的執(zhí)行全景攝影的位置傳感器輔助的運動過濾的過程204。圖4提供了上文參考圖2描述的運動過濾步驟204的更多細節(jié)。首先,從電子設備(例如手持式個人電子設備)的圖像傳感器獲取圖像幀,并指定為“當前圖像幀”,用于運動過濾(步驟400)。接下來,使用例如設備的陀螺儀或加速度計獲取位置數(shù)據(jù)(步驟402)。此時,如果尚未完成,則過程204可能需要將從加速度計和/或陀螺儀獲取的位置數(shù)據(jù)在時間上與獲取的圖像幀關聯(lián)。由于照相設備的圖像傳感器和位置傳感器可能具有不同的采樣速率和/或具有不同的數(shù)據(jù)處理速率,因此,準確地知道給定位置傳感器數(shù)據(jù)組鏈接到哪一個(哪些)圖像幀是重要的。在一實施例中,過程204可以使用第一系統(tǒng)中斷(interrupt)作為參考點,以將圖像數(shù)據(jù)與位置數(shù)據(jù)同步,然后,依賴于使用的各種傳感器的采樣速率知識使圖像數(shù)據(jù)與位置數(shù)據(jù)保持適當?shù)臅r間同步。在另一實施例中,可以使用周期性的系統(tǒng)中斷來更新或維持同步信息。
[0067]接下來,運動過濾過程204可以使用位置傳感器數(shù)據(jù)(以及來自圖像配準過程的反饋,如下面將更詳細地討論的那樣),確定當前圖像幀和前一已分析的圖像幀(如果有的話)之間的旋轉角(步驟406)。例如,運動過濾過程204 (例如,如由運動過濾模塊142執(zhí)行的那樣)可以通過對先前捕獲的圖像幀的間隔的旋轉角求積分,并計算當前圖像幀的平均旋轉角,來計算旋轉角。在某些實施例中,可以查詢“查詢表”(LUT)。在這樣的實施例中,LUT可以擁有各種旋轉量的條目,這些旋轉量鏈接到可以從合成全景圖像的組裝中濾除的圖像數(shù)量。如果當前圖像幀的旋轉角已經(jīng)超出旋轉閾值(步驟408),那么過程204可以轉到圖2所示的過程流程圖的步驟206以執(zhí)行圖像配準(步驟410)。如果相反,在步驟408中,判斷當前圖像幀未超出閾值旋轉量,那么可以丟棄當前圖像幀(步驟412),過程204可以返回到步驟400以獲取下一捕捉到的圖像幀,此時,過程204可以重復運動過濾分析以判斷下一幀是否值得保留以用于合成全景照片。換言之,利用運動過濾,丟棄的圖像幀不是僅每個第三幀或每個第五幀;相反,通過運動過濾模塊計算哪些圖像幀可能提供對于合成組裝全景圖像的完全覆蓋來確定要丟棄的圖像幀。在一實施例中,將旋轉角(以度為單位)轉換為大致圖像中心位置變化(即,平移量)的公式如下:平移=f*sin(3.1415926*角度/180),其中f是焦距。嚴格來說,由于旋轉帶來了透視變化,因此圖像中的每個像素具有不同的位置變化,但是當使用相對狹窄的成份圖像來構建全景圖像時,上面的公式給出了良好的估計。
[0068]現(xiàn)在轉向圖5A,示出了根據(jù)一實施例由恒速跨場景搖攝的電子設備308捕捉到的示例性全景場景300。圖5A示出了可以由運動過濾模塊142在跨全景場景的恒速全景掃視過程中作出的示例性判斷。如圖5A所示,全景掃視始于設備位置308miJ,并在位置308ff止結束。表示設備308的全景掃視路徑的平行于軸306的虛線標記有“(dx/dt>0,d2x/dt2=0)”,以指示當設備以某速度移動時,其速度在全景掃視過程中不改變。
[0069]在圖5A的示例性實施例中,設備308正在以一幀速(例如,30幀每秒)捕捉視頻圖像流500。如此,作為示例,持續(xù)2.5秒的掃視將捕捉75個圖像幀502,如圖5A所示。圖像幀502標記有502^502^的下標以指出在全景場景300的全景掃視過程中它們被捕捉的順序??梢詮拇罅坎蹲降降膱D像幀502看出,后處理軟件只需要圖像幀的不同子集來組裝合成全景照片。通過智能地消除冗余數(shù)據(jù),全景攝影過程200可以在設備308上更平穩(wěn)地運行,甚至使設備308在正在捕捉全景場景時實時地提供預覽并組裝合成全景照片。
[0070]選擇包 括在合成全景照片的組裝中的捕獲圖像幀的頻率可以取決于任意數(shù)量的因素,包括:設備308的視野302 ;照相設備308和正被捕捉的全景場景300之間的距離;以及照相設備308轉動的速度和/或加速度。在圖5A的示例性實施例中,運動過濾模塊判斷需要圖像幀5022、5022Q、50238、50256以及50274包括在合成全景照片的構建中。換言之,大致每第18個捕獲圖像幀將被包括在圖5A的示例中的合成全景照片的構建中。在下文中參考圖5B將看出,在由運動過濾模塊選擇的用于包括的圖像幀之間捕捉到的圖像幀的數(shù)量可以大于或小于18,并且可以實際上基于例如照相設備308在掃視過程中的速度、掃視過程中的加速度或減速度、照相設備308在全景掃視過程中的旋轉而在全景掃視過程中變化。
[0071]如圖5A所示,在相鄰選擇圖像幀之間有大致25%的重疊。在某些實施例中,取決于照相設備的存儲器和處理約束以及正在使用的后處理軟件,將需要選擇的相鄰圖像幀之間的更多重疊。如下文參考圖6比較詳細地描述的那樣,以足夠大每秒幀數(shù)的捕捉速率,可以通過只分析每一捕捉到的圖像幀的“條”或“切片”而非整個捕捉到的圖像幀,而在全景攝影過程200中實現(xiàn)甚至更大的效率。
[0072]現(xiàn)在轉向圖5B,示出了根據(jù)一實施例的由非恒速跨場景搖攝的電子設備308捕捉到的示例性全景場景300。圖5B示出了可以由運動過濾模塊在跨全景場景的非恒速全景掃視過程中作出的示例性判斷。如圖5B所示,全景掃視從設備位置308開始,并在位置308ff±結束。表示設備308的全景掃視路徑的平行于軸306的虛線標記有“(dx/dt>0,d2x/dt2辛0)”,以指示設備以某個非零速度移動,其速度沿全景路徑變化。
[0073]在圖5B的示例性實施例中,設備308正在以一幀速(例如,30幀每秒)捕捉視頻圖像流504。如此,作為示例,持續(xù)2.1秒的掃視將捕捉63個圖像幀506,如圖5B所示。圖像幀506標記有從506^506^的下標,以指出在全景場景300的全景掃視過程中它們被捕捉的順序。
[0074]在圖5B的示例性實施例中,運動過濾模塊判斷需要圖像幀5062、5068、50626、50644以及50662包括在合成全景照片的構建中。換言之,在由運動過濾模塊選擇的圖像幀之間捕捉到的圖像幀的數(shù)量可以基于,例如,照相設備308在掃視過程中的速度、掃視過程中的加速度或減速度、照相設備308在全景掃視過程中的旋轉而在全景掃視過程中變化。
[0075]如圖5B所示,設備308的移動在全景掃視的頭四分之一更快(比較全景掃視的開始處的虛線中的較大劃線和全景掃視的結束處的虛線中的較小劃線)。如此,運動過濾模塊判斷,在選擇圖像幀5062之后,到照相設備308剛剛捕捉6個隨后的圖像幀時,有跨全景場景300的照像機的足夠的移動(由于照相設備的旋轉、平移或兩者的組合),以至于必須選擇圖像幀5068以便包括在合成全景照片中。在捕捉圖像幀5068之后,在全景掃視過程中照相設備308的移動減慢到更近乎于上文參考圖5A所描述的全景掃視的速度的級別。如此,運動過濾模塊可以再次確定,捕捉每個第十八幀將提供全景場景的足夠覆蓋。如此,選擇圖像幀50626、50644以及50662用于包括在合成全景照片的構建中。通過實時地對照相設備308的運動作出反應,全景攝影過程200可以智能地并且有效率地選擇圖像數(shù)據(jù)以發(fā)送到全景攝影過程的需要更多計算的配準和拼接部分。換言之,運動過濾動作發(fā)生的速率可以直接與在圖像捕捉過程中設備正在被加速和/或旋轉的速率相關。
[0076]如上所述,現(xiàn)代圖像傳感器能夠以十分高的捕捉速率,例如30幀每秒,捕捉十分大的圖像,例如八兆像素的圖像。給定平均全景照片的搖攝速度,這些圖像傳感器能夠在非常短的時間內產(chǎn)生(但不一定處理)特大量的數(shù)據(jù)。此產(chǎn)生的圖像數(shù)據(jù)中許多在連續(xù)捕獲圖像幀之間具有大量的重疊。如此,發(fā)明人已經(jīng)認識到,通過只對選擇的圖像幀的一部分(例如,圖像幀的“條”或“切片”)進行操作,可以實現(xiàn)更大的效率。在優(yōu)選實施例中,條可以包括每一圖像幀的中間八分之一部分。在其他實施例中,可以使用圖像的其他部分來作為“條”或“切片”,例如,可以使用圖像的三分之一、四分之一,或五分之一。
[0077]現(xiàn)在轉向圖6,示出了根據(jù)一實施例的圖像“條”或“切片”604。在圖6中,通過標記為602^60?的選擇的圖像幀的序列,捕捉了全景場景600。如上文參考運動過濾所討論的那樣,標記為602^60?的所選圖像幀可以表示實現(xiàn)全景場景600的完全覆蓋所需的圖像幀。跟蹤線606表示全景場景600的對應于第一捕獲圖像幀的部分。每一捕捉到的圖像幀602的中心部分604都表示在構建合成全景照片時可以使用的所選圖像條或切片。如圖6所示,圖像條大致包括圖像幀的中間12.5%。圖像幀602的斜線陰影區(qū)域可以類似地作為其他捕獲圖像數(shù)據(jù)的過度冗余被丟棄。根據(jù)此處所描述的一實施例,標記為604-601的選擇的圖像條中的每一個都可以隨后對準,拼接在一起,并在它們的重疊區(qū)域進行混合,產(chǎn)生合成全景圖像部分608。部分608表示在四個圖像條601-601捕捉到的全景場景的區(qū)域。另外,發(fā)明人還驚訝地發(fā)現(xiàn),通過運動過濾器,只對選擇用于附加處理的每一圖像幀的一部分(例如,每一所選圖像幀的中心部分)進行操作,某些光學偽像諸如桶形畸變或枕形畸變、透鏡陰影、漸暈等(越接近捕獲圖像的邊緣,越顯著),可以減弱或完全消除。進一步地,只對每一所選圖像幀的某些部分進行操作可以為全景攝影過程創(chuàng)建較小的瞬時存儲器占用空間,當組裝完全分辨率的全景圖像時,這可能變得重要。
[0078]現(xiàn)在轉向圖7A,示出了根據(jù)一實施例的帶有拱700的示例性全景掃視。在圖7A中,當捕捉三個不同的圖像時,照相設備旋轉45度角。實線對應于捕捉圖像I時照像機的視野,粗實線表示圖像I的平面;虛線對應于捕捉圖像2時照像機的視野,粗虛線表示圖像2的平面;點線對應于捕捉圖像3時照像機的視野,粗點線表示圖像3的平面。標記為“目標混合區(qū)域”的區(qū)域表示圖像I和2之間的重疊區(qū)域。在圖像2和3之間將會有相應的目標混合區(qū)域,但是為簡明起見,沒有標記它。在旋轉全景掃視的情況下(照像機沒有也在空間中移動),目標混合區(qū)域的大小可以高度取決于連續(xù)捕獲圖像幀之間的照像機的角旋轉量。如上文所提及的那樣,在一優(yōu)選實施例中,連續(xù)捕獲圖像之間的重疊量大致是25%,但是可以更大或更小,這取決于所使用的圖像配準算法。
[0079]在圖7A上還標記了點[X1, yj和[x2, y2]。這些點的組對應于位于圖像I和圖像2二者中的示例性特征或邊緣或其他可檢測部分。通過定位圖像2中的圖像I的相同特征、邊緣或其他部分,并且然后記錄其在圖像2和圖像I中的位置之間的差異,可以為圖像2計算此處稱為[tx,ty]值的值。在一實施例中,可以根據(jù)下列公式來計算圖像2中的給定點的[tx, ty]: [ (X2-X1), (Y2-Y1)IL通過使用[tx, ty]值,全景攝影過程200然后可以能夠在正被討論的兩個圖像之間更好地對準,即,執(zhí)行圖像配準。除幫助圖像配準之外,[tx, ty]值的使用可以與從設備的位置傳感器獲得的位置信息相關聯(lián)。換言之,圖像配準過程206能夠精化由運動過濾模塊作出的涉及設備的多少移動對應于捕捉到的圖像的多少實際移動的計算。例如,如果運動過濾模塊在I度的旋轉對應于隨后捕獲圖像中的10個像素移動的假設條件下操作,但是圖像配準過程206判斷,對于連續(xù)捕獲圖像之間的10度旋轉,特定特征移動150像素,則運動過濾模塊可以向上調整其假設,從而I度的照像機旋轉此后與隨后捕獲圖像中的假設的15個像素的移動而并非只10個像素的移動相關聯(lián)。從圖像配準過程206到運動過濾模塊的此信息反饋在圖2中通過標記“反饋”的從步驟206指向步驟204的虛線箭頭來表示。
[0080]現(xiàn)在轉向圖7B,示出了根據(jù)一實施例的示例性接近線性的全景掃視725。在圖7B中,在捕獲五個不同圖像期間,照相設備在全景掃視初期旋轉15度角,然后位置發(fā)生平移而沒有進一步的旋轉。實線對應于捕捉圖像I時照像機的視野,粗實線表示圖像I的平面;虛線對應于捕捉圖像2到5時照像機的視野,粗虛線分別表示圖像2到5的平面。標記為“目標混合區(qū)域”的區(qū)域表示圖像I和2之間的重疊區(qū)域。在圖像2和3之間以及連續(xù)捕獲圖像的相互之間,將會有相應的目標混合區(qū)域,但是為簡明起見,沒有標記它們。在接近線性全景掃視的情況下,目標混合區(qū)域的大小可以高度取決于連續(xù)捕獲圖像幀之間的照像機的移動速度。對于接近線性全景掃視,可能潛在地需要更多圖像,因為照像機的視野可能比在僅僅旋轉掃視過程中更快地變化,然而,只要在連續(xù)捕獲圖像幀之間保持有足夠的重疊,全景過程200就可以產(chǎn)生合成圖像。
[0081]當然,其他類型的全景掃視也是可行的。例如,圖7C示出了“短臂”全景掃視750,即,具有相對更多的旋轉和更少的位移的全景掃視。另一方面,圖7D示出了 “長臂”全景掃視775的示例,即,對于每度的旋轉,比“短臂”全景掃視具有更多位移的全景掃視。通過使用照相設備內的位置傳感器能夠區(qū)別無限多類型的全景掃視,運動過濾模塊可以對全景攝影過程作出合適的調整,以便仍以高效率的方式生成在視覺上更使人愉快的全景攝影結果O
[0082]現(xiàn)在轉向圖8,以流程圖的形式示出了根據(jù)一實施例的執(zhí)行全景攝影的圖像配準的過程206。圖8提供了上文參考圖2所描述的圖像配準步驟206的更多細節(jié)。首先,過程206可以獲取將要被配準的兩個圖像(步驟800)。接下來,可以將每一圖像分成多個段(步驟802)。圖像段可以被定義為圖像的預定大小的一部分。除圖像信息之外,過程206可以獲取元數(shù)據(jù)信息,例如對應于要被配準的圖像幀的位置信息(步驟804)。通過使用涉及例如特征檢測算法(諸如“FAST”加“隨機樣本一致性”(RANSAC)算法、Harris, SIFT或Kanade-Lucas-Tomasi (KLT)特征跟蹤算法)或交叉關聯(lián)算法(即,通過關聯(lián)度量,將第一圖像中的強度圖案與第二圖像中的強度圖案交叉關聯(lián)的方法)的圖像配準算法,可以計算圖像的每一段的搜索矢量。段搜索矢量可以被定義為表示將需要應用于來自第一圖像的段以給予它第二圖像中的其位置的轉換的矢量。一旦計算了搜索矢量,過程206可以考慮從設備的位置傳感器獲取的位置信息,并且丟棄計算出的搜索矢量不符合所獲取的位置數(shù)據(jù)的段的任何搜索矢量(步驟808)。即,過程206可以丟棄與由位置信息指出的移動方向相反或基本相反的任何搜索矢量。例如,如果位置信息指出照像機在連續(xù)的圖像幀之間向右旋轉,并且從一個捕捉到的圖像到下一捕捉到的圖像,圖像中的對象向右移動(即,給定照相機移動,與預期方向相反)或者甚至保持固定,則過程206可以判斷特定段表示異常值或另外的無用的搜索矢量。給定位置傳感器信息,與預期運動相反的段搜索矢量可以從整體圖像配準計算中丟棄(步驟808)。
[0083]在為圖像配準使用交叉關聯(lián)算法的情況下,評估第一圖像(圖像A)中的給定像素(像素A)和第二圖像(圖像B)中的相應像素(像素A’)之間的直接差異。然后以同樣方式取像素B和B’之間的差異,等等,直到評估了所有的所需像素。此時,將全部差異相加在一起。接下來,交叉關聯(lián)過程滑動一個像素,求像素A和B’,B和C’之間的直接差異,等等,直到評估了所有的所需像素。此時,對于新的“滑動一個像素”的位置,將全部差異相加在一起。交叉關聯(lián)可以重復此過程,在所有相關方向將評估過程滑動一個像素,直到求出所有總和的最小值,這表示當?shù)谝粓D像在導致最小總和的方向移動時,圖像匹配。對于給定的要被配準的一對圖像,并非在每一可能的方向進行查詢來確定最小差異方向,在給定設備的位置傳感器的提示的情況下,查詢方向的數(shù)量可以僅限于有意義的那些。通過限制在交叉關聯(lián)算法的每一級別的查詢數(shù)量,可以潛在地顯著加快配準過程206。如果對于任何一個圖像丟棄了超過閾值數(shù)量的段(步驟810),則過程206可以使用為先前分析的圖像幀計算的平移矢量來執(zhí)行配準,對當前圖像幀進行從加速度計和/或陀螺儀接收到的位置信息建議的必要的調整(步驟816)。在某些實施例中,閾值段數(shù)量可以大致是圖像已經(jīng)分成的所有段的50%。過程206然后可以返回到步驟800,并等待下一對要配準的圖像。如果相反,在步驟810中,對于圖像,未丟棄超過閾值數(shù)量的段,則過程206可以基于從位置信息獲取的提示,利用未丟棄的剩余矢量,計算圖像的整體平移矢量,在返回到步驟800以等待下一對要配準的圖像之前,配準新獲取的圖像(步驟814)。
[0084]在給定位置信息提示的情況下,圖像段的移動可以與預期運動相反的一種特殊情況是在鏡子中的反射移動的情況。在這些情況下,如果上文參考圖8所描述的圖像配準過程206表明,在給定照像機的移動的情況下,大多數(shù)或全部矢量都是異常值/意外值,則過程206可以繼續(xù)所謂的“推算定位法”過程,即,使用先前計算的平移矢量,然后通過考慮例如來自加速度計或陀螺儀數(shù)據(jù)的任何提示,來修改它。
[0085]現(xiàn)在轉向圖9,示出了根據(jù)一實施例的位置信息輔助的特征檢測。在圖9中,示出了第一幀900,標記為“幀I”;示出了第二幀950,標記為“幀2”。幀I表示在搖攝過程中幀2緊之前或幾乎緊之前捕捉到的圖像。在幀I下面,照像機的運動被表示為在照相機搖攝過程中向右。如此,圖像中的固定對象的預期運動相對于圖像的查看者將是向左。如此,與照像機的運動方向相反的局部主體運動將是向右(或者甚至如果對象以與照像機大致相同的相對速度移動的話,則顯得靜止)。當然,局部主體運動可以在任意數(shù)量的方向,以任何速度,并位于整個圖像中。要作出的重要的觀察是,對于給定圖像,不與計算出的搜索矢量的大部分一致的局部主體運動將實際上妨礙圖像配準計算,而并非幫助它們。
[0086]轉向表975,詳細考察了位于幀I和幀2中的五個示例性特征的搜索矢量。特征I和2對應于全景場景中的建筑物之一的邊緣或角。如幀2所示,這兩個特征在幀之間向左方向移動。在給定照像機向右運動的方向的情況下,這是預期的移動(如由照像機的位置傳感器證明的那樣)。特征3同樣表示在給定照像機運動方向的情況下在幀之間沿預期方向移動的靜止特征,例如,樹。特征4和5對應于鳥的翼尖附近的邊緣。當正在捕捉全景場景時,鳥可能在照像機的運動方向上飛翔,如此,為特征4和5計算的搜索矢量指向右,與特征1、2和3的方向相反。這種局部主體運動可能會使圖像配準判斷惡化,因為它不會實際證明從幀I到幀2的整體平移矢量。這樣,并且使用從捕捉全景場景的設備中的位置傳感器接收到的提示,可以從圖像配準判斷中丟棄這樣的特征(或更準確地,圖像數(shù)據(jù)的圍繞這樣的特征的區(qū)域)。
[0087]現(xiàn)在轉向圖10,示出了根據(jù)一實施例的給定圖像幀1000的搜索矢量段1004。如上所述,每一圖像幀都可以被分成多個組成段,用于計算局部搜索矢量。圖像幀1000中的每一虛線框1004都表示搜索矢量段。如圖像巾貞1000中所示,某些搜索矢量例如1002明顯在預期的移動方向。在圖像幀1000的假設示例中,給定從設備獲取的位置傳感器信息,預期運動方向向左。另一些搜索矢量例如1006與預期移動方向相反。還有其他段例如1008可能存在于圖像配準過程206由于例如缺乏可辨別的特征或者由于幀之間無法成功地交叉關聯(lián)或特征匹配的隨機重復圖案,而不能計算搜索矢量的位置。這可能出現(xiàn)的情況的示例是無云的藍天或海灘上的沙地。如圖10的圖例所述,可以從圖像配準計算中丟棄帶有斜線陰影的搜索矢量段。如圖像幀1000所示,從計算中丟棄的搜索矢量段包括與由從設備接收到的位置信息表示的移動方向相反或基本相反的那些段和/或無法確定方向的那些段。通過策略地從配準計算中消除圖像的大部分,可以實現(xiàn)性能改善。
[0088]現(xiàn)在轉向圖11,圖11示出了根據(jù)一實施例的圖像配準的判斷流程圖1100。首先,判斷過程1100從步驟1102開始。此時,可以對要被配準的圖像執(zhí)行優(yōu)選特征檢測算法(步驟1004)。特征檢測算法可以是任何期望的方法,諸如FAST或KLT特征跟蹤器。如果這樣的算法能夠成功地配準圖像(步驟1106),那么,配準完成(步驟1114)。如果相反,特征檢測方法沒有產(chǎn)生令人滿意的結果,則可以使用交叉關聯(lián)算法(步驟1108 )。
[0089]如上文所提及的那樣,交叉關聯(lián)算法可以嘗試在圖像中的特定像素開始,并通過將源圖像中的強度圖案通過關聯(lián)度量與目標圖像中的強度圖案交叉關聯(lián),來針對圖像幀之間的最有可能的移動方向,連續(xù)地檢查更大級別的周圍像素。在檢查的每一增大的級別,可以由在檢查的前一級別計算出的移動方向來通知搜索方向。例如,在搜索的第一級別,交叉關聯(lián)算法可以提供兩像素相鄰(2°+1)的最可能方向?;诘谝患墑e的判定,下一級別可以提供三像素相鄰(2W1)的最可能方向,依此類推。在圖像大小大約5兆像素(MP)的情況下,已經(jīng)憑經(jīng)驗判斷,5級別的檢查,S卩17 (24+1)個像素的移動,可提供正在被配準的幀之間的移動的足夠的信息。
[0090]在交叉關聯(lián)算法的每一級別,對最可能移動方向的搜索可以通過從設備獲取的位置信息來精化。例如,當試圖執(zhí)行交叉關聯(lián)并且確定最可能移動方向時,并非查詢圍繞中間像素的八個像素中的每一個,過程1100可以基于從設備獲取的位置信息而將其查詢限制到最可能正確的那些方向。例如,如果設備的陀螺儀指出設備在連續(xù)地捕捉到的圖像幀之間向右旋轉,那么,可能的平移矢量在某種程度上向左。如此,并非查詢中間像素的周圍鄰近區(qū)域中的所有八個像素,只需要查詢三個像素,即,左上方、左邊以及左下方的像素。相對于沒有關于可能移動方向的任何先驗引導的傳統(tǒng)交叉關聯(lián)算法而言,這樣的精化可以提供高達62.5% (即,5/8)的性能改善。
[0091]如上文所提及的那樣,在某些圖像中,特征檢測和交叉關聯(lián)可能不能產(chǎn)生令人滿意的答案,例如,缺乏許多區(qū)別特征或邊緣的圖像,或帶有大量噪聲的圖像。如此,如果在步驟1110中交叉關聯(lián)也未能產(chǎn)生令人滿意的結果,則過程1100可以使用“推算定位法”方案,即,在來自位置傳感器信息的任何相關提示的輔助下,用為先前配準的圖像計算出的平移矢量繼續(xù)(步驟1112),以便完成配準(步驟1114)。例如,如果前一圖像被判斷為向右10個像素的平移,但是,加速度計表明對于當前圖像幀,照像機的移動突然停止,那么,過程1100可以調整10像素向右平移,降至零像素移動,而不是用10像素向右的假設簡單地繼續(xù)進行。另一方面,如果傳統(tǒng)特征檢測和交叉關聯(lián)方法兩者都失敗,并且從設備獲取的位置信息沒有指出運動的任何突然變化,那么,繼續(xù)使用向右10像素的假設可能是合適的,直到可以再次進行更準確的配準計算。
[0092]現(xiàn)在參考圖12,以流程圖的形式示出了根據(jù)一實施例的執(zhí)行全景攝影的幾何校正的過程208。圖12提供了上文參考圖2所描述的幾何校正步驟208的更多細節(jié)。首先,過程208可以從設備加速度計和/或陀螺儀獲取在整個全景攝影過程中引用的位置數(shù)據(jù)(步驟1200)。接下來,基于從設備接收到的位置信息,過程208可以確定需要應用于當前圖像幀的透視校正量(步驟1202)。例如,照像機的10度的旋轉可以關聯(lián)到40個像素的透視畸變,假設焦距無限遠。在某些實施例中,可以查詢LUT。在這樣的實施例中,LUT可以擁有各種旋轉量的條目,這些旋轉量鏈接到透視校正量。例如,可以至少部分地通過設備的圖像傳感器的分辨率或照相設備的透鏡的特性,來確定LUT中對應于旋轉量的透視校正量。接下來,如果需要的話,可以執(zhí)行可選的圖像投影校正(步驟1204)。然而,如果對其進行操作的圖像條或切片充分狹窄,則所需的投影校正量可以十分小,或者根本不需要。最后,可以根據(jù)已知的卷曲技術,例如,立方內插、雙三次內插、三次樣條函數(shù)或雙三次樣條函數(shù),來執(zhí)行透視校正(步驟1206)??闪磉x地,可以從步驟206執(zhí)行的特征檢測過程的結果來推斷透視變化,但是這樣的方式證明是計算量更大的。
[0093]現(xiàn)在參考圖13,在圖像條或切片的上下文中示出了根據(jù)一實施例由于照像機旋轉引起的透視變化。如圖13所示,由照相設備捕捉了圖像A和圖像B兩個圖像。在圖13中,圖像A通過細線來表示,圖像B通過粗線來表示。在此示例中,圖像B已經(jīng)針對照相設備的旋轉進行了透視校正,即,卷曲,以便同圖像A混合,如圖像B的梯形圖像輪廓所示。在每一圖像的中心部分內,有圖像條,即,每一圖像的將實際被分析的并有助于創(chuàng)建合成全景圖像的部分。如圖所示,圖像條A和圖像條B具有標記為“重疊區(qū)域”并有斜線陰影的重疊區(qū)域,這是圖像A和圖像B之間將被混合以創(chuàng)建合成全景圖像部分的區(qū)域。如圖13所示,由于正在對其進行操作的圖像條的相對窄的尺寸,以及重疊區(qū)域的甚至更窄的寬度,因此使圖像A和圖像B對準所需的透視校正的量可能十分小。進一步地,由于正在被透視對準的條的狹窄本質,可能不需要圖像投影校正。這是對圖像條進行操作而并非對由照相設備返回的整個圖像幀進行操作的再一個優(yōu)點。
[0094]現(xiàn)在參考圖14,以流程圖的形式示出了根據(jù)一實施例的執(zhí)行全景攝影的圖像拼接的過程210。圖14提供了上文參考圖2所描述的圖像拼接步驟210的更多細節(jié)。首先,過程210獲取要被拼接在一起的兩個或更多圖像幀,并將它們放置在組裝緩沖器中,以便處理它們(步驟1400)。在全景攝影過程中的此時,根據(jù)各實施例,兩個圖像可能已經(jīng)根據(jù)需要經(jīng)過了上文所描述的運動過濾、配準、幾何校正等。
[0095]在現(xiàn)有技術的全景攝影后處理軟件系統(tǒng)中,拼接過程的一部分包括混合兩個連續(xù)捕獲圖像幀之間的重疊區(qū)域,以試圖隱藏幀之間的小差異。然而,這種混合過程具有使重疊區(qū)域中的圖像模糊的后果。發(fā)明人發(fā)現(xiàn),此方法對于感興趣的對象位于重疊區(qū)域的全景照片是不理想的,對于出現(xiàn)在重疊區(qū)域中的人臉特別不合乎需要,因為它們會通過混合過程變得失真,變得對全景圖像的人觀察者非常明顯。如此,根據(jù)此處所公開的一實施例的拼接過程可以接下來定位當前正在拼接的兩個圖像幀之間的重疊區(qū)域中的任何所感興趣的對象(步驟1402)。如上文所提及的那樣,在一個實施例中,感興趣的對象包括人臉。人臉可以通過使用任意數(shù)量已知的臉檢測算法來定位,諸如Viola Jones框架或OpenCV (開源計算機視覺庫)。一旦已經(jīng)定位了人臉或其他感興趣的對象,過程210就可以基于準則從兩個圖像幀中的一個選擇感興趣的對象的表示(步驟1404)。例如,如果感興趣的對象是人臉,并且人臉出現(xiàn)在兩個重疊圖像幀中,則過程210可以選擇具有兩眼都睜開的臉的表示,或者臉正在微笑的表示,或者帶有較少的紅眼偽像的表示。選擇感興趣的對象的表示所實用的準則和所涉及的處理量可以基于單獨應用以及可用資源來確定。在一實施例中,從正在拼接的兩個圖像中的一個中選擇臉的表示的動作至少部分地基于每一個圖像中臉的表示的計算出的分數(shù)。對臉的表示的分數(shù)的計算可以包括例如考慮下列各項中的至少一項:臉的微笑自信、臉內紅眼偽像的檢測、或臉內睜開或閉著的眼睛的檢測。
[0096]一旦選擇了表示,過程210就可以根據(jù)選擇的混合公式來混合圖像之間的重疊區(qū)域中的圖像數(shù)據(jù),同時從混合過程中排除感興趣的對象周圍的圖像區(qū)域(步驟1406)。例如,可以基于正在被混合的像素與相關源圖像的中心的距離,根據(jù)阿爾法混合方案或者簡單線性或多項式混合函數(shù),跨重疊區(qū)域混合圖像數(shù)據(jù)。一旦在不包含感興趣的對象(例如,人臉等)的所有區(qū)域中混合了圖像之間的重疊區(qū)域,過程210可以將所選表示與重疊區(qū)域相加,可任選地在感興趣的對象的所選表示的區(qū)域周圍使用軟的或“羽化”邊緣(步驟1408)??梢允褂酶鞣N技術來準確地定義感興趣的對象周圍的區(qū)域。例如,在人臉的情況下,可以在感興趣的臉周圍創(chuàng)建皮膚色調掩飾(mask),例如,根據(jù)在2009年6月5日提出的共同轉讓的美國專利申請系列N0.12/479651中所公開的技術,該申請的整體內容通過引用合并于此。在另一個實施例中,可以定義限定感興趣的對象周圍的區(qū)域的邊界框。在其他實施例中,邊界框可以用感興趣的對象周圍的至少一個方向(優(yōu)選地,在感興趣的對象周圍的所有四個基本方向)的額外數(shù)量的像素來填充。指定來限定感興趣的對象周圍的區(qū)域的皮膚色調掩飾或其他這樣的區(qū)域可以根據(jù)模糊公式過渡到混合圖像數(shù)據(jù),例如10像素寬度上的邊界“羽化”,或其他區(qū)域衰減(falloff)函數(shù)。在插入的感興趣區(qū)域周圍創(chuàng)建“軟的”或“羽化的”邊緣的目標在于使得它對于圖像的觀察者而言不會像清楚地不同于重疊區(qū)域中的其他像素那樣明顯。最后,合成的拼接圖像(包括先前圖像、當前圖像以及已知感興趣對象的混合的重疊區(qū)域)可以存儲到照相設備本身上或別處的存儲器中(步驟1410)。
[0097]現(xiàn)在參考圖15,示出了根據(jù)現(xiàn)有技術的示例性拼接全景圖像1500。圖15所示出的全景圖像1500包括來自三個不同圖像的圖像數(shù)據(jù):圖像A、圖像B以及圖像C。每一圖像的輪廓都以虛線示出,每一圖像的范圍都通過帶有相應圖像標記的大括號來示出。另外,圖像中的重疊區(qū)域還通過帶有相應標記“A/B重疊”和“B/C重疊”的大括號來示出。在全景圖像1500中從左到右移動,有只包括來自圖像A的圖像數(shù)據(jù)的區(qū)域(標記有“A”),然后是包括來自圖像A和B的混合圖像數(shù)據(jù)的重疊區(qū)域(標記有“A/B”),然后是只包括來自圖像B的圖像數(shù)據(jù)的區(qū)域(標記有“B”),然后是包括來自圖像B和C的混合圖像數(shù)據(jù)的重疊區(qū)域(標記有“B/C”),最后是只包括來自圖像C的圖像數(shù)據(jù)的區(qū)域(標記有“C”)。
[0098]盡管上文所描述的用來組裝示例性全景圖像1500的全景圖像拼接方案可能對于某些全景場景令人滿意地有效,但是,它可能在其他全景場景中產(chǎn)生顯著不合乎需要的效果。具體來說,如果圖像中的諸如人臉之類的感興趣的對象出現(xiàn)在重疊區(qū)域之一中,則混合過程可能會導致不合乎需要的可視偽像。例如,在感興趣的對象出現(xiàn)在重疊區(qū)域的兩個版本中,一個可能是焦點對準的,一個可能焦點未對準??闪磉x地,一個可以包括帶有睜開的眼睛的臉,一個可以包括帶有閉眼的臉。取決于在重疊區(qū)域中表示的圖像中的哪一個具有感興趣的對象的比較合乎需要的表示,混合過程可能會在重疊區(qū)域導致次最佳的或者甚至奇形怪狀的圖像,例如,一只眼睛睜開,一只眼睛閉著的臉。在示例性全景圖像1500中,根據(jù)現(xiàn)有技術的拼接技術,位于“A/B重疊”區(qū)域中的人臉可能會導致次最佳混合,如下面將討論的那樣。
[0099]現(xiàn)在參考圖16,示出了根據(jù)現(xiàn)有技術組裝的拼接全景圖像1600中出現(xiàn)的示例性混合誤差1602。如上文參考圖15所討論的那樣,嘗試混合位于“A/B重疊”區(qū)域中的人臉可能會導致次最佳混合。如圖16所示,在虛線圈內有示例性混合誤差1602,這對于感興趣的人主體位于全景圖像中的兩個重疊圖像之間的“縫”處的全景圖像而言是常見的。具體而言,位于“A/B重疊”區(qū)域中的人主體看起來在捕捉圖像A時眼睛是睜開的,但是在捕捉圖像B時眨眼睛,導致他的眼睛在圖像B中是閉著的。根據(jù)現(xiàn)有技術的混合技術,來自圖像A的像素值支配“A/B重疊”區(qū)域中的左側,然后逐步混合到“A/B重疊”區(qū)域的右側,在右側,來自圖像B的像素值在最終拼接圖像中占支配地位。由于在人主體上對感興趣的臉的此混合,在最終拼接圖像中,他的左眼是睜開的,他的右眼是閉著的。此結果以及圖像中的感興趣區(qū)域中的其他明顯的混合誤差,將優(yōu)選地在智能圖像拼接過程中得到避免。
[0100]現(xiàn)在參考圖17,示出根據(jù)一實施例的拼接全景圖像1700中的示例性感興趣的區(qū)域1702/1704。為了解決上文參考圖16所描述的現(xiàn)有技術的全景拼接技術的問題,發(fā)明人使用了 “已知感興趣區(qū)域”的拼接過程210,過程210掃視潛在的感興趣區(qū)域的全景圖像成分,以在混合圖像之間的重疊區(qū)域之前創(chuàng)建場景圖形。在圖17所示的示例性圖像1700中,人臉是特殊的感興趣區(qū)域。如此,在對捕捉到的圖像數(shù)據(jù)執(zhí)行臉檢測算法之后,定位了對應于全景圖像1700中的人主體的臉的示例性感興趣區(qū)域1702/1704。每一感興趣區(qū)域都以粗黑線來勾勒。在圖17所示的示例性圖像1700中,在重疊區(qū)域中出現(xiàn)一個感興趣區(qū)域1702,而另一個感興趣區(qū)域1704沒有出現(xiàn)在重疊區(qū)域中。根據(jù)此處所描述的智能圖像拼接過程210的一實施例,這兩種類型的區(qū)域可以在最后的圖像混合過程中不同地對待。
[0101]現(xiàn)在參考圖18,示出了根據(jù)一實施例的已知感興趣區(qū)域的拼接全景圖像1800的示例性場景圖形。對應于人主體的臉的感興趣區(qū)域1802被定位,并確定為位于“A/B重疊”區(qū)域內。如此,示例性已知感興趣區(qū)域的拼接過程210確定為使用完全來自圖像A的人主體的臉的表示。使用來自圖像A而并非圖像B的臉的表示的判斷可以基于任意數(shù)量的因素,諸如:實際出現(xiàn)在圖像中的臉的量、圖像中臉的朝向、圖像中臉的焦點或曝光特性、或者甚至對圖像中的微笑或睜開的眼睛的檢測。如果在全景攝影實現(xiàn)中使用圖像條,則所感興趣的臉可能出現(xiàn)在多個圖像條上,但是只要感興趣的臉位于至少一個條中,則臉檢測過程可以定位臉,并從潛在地不希望有的混合中排除限定它的區(qū)域。
[0102]通過選擇來自圖像A的臉的表示,如此可以避免或減小可能由混合圖像A和圖像B中臉的表示所引起的可視的不和諧的混合誤差。如上文所提及的那樣,雖然圖18將感興趣的區(qū)域1802示為感興趣的臉上的矩形插入物,但是,也可以在感興趣的區(qū)域上構建更復雜的掩飾,以便感興趣的區(qū)域的邊界更緊密地跟蹤感興趣的對象的輪廓。在臉的示例中,使用皮膚色調的掩飾來定義感興趣的區(qū)域。可以使用若干個已知模糊技術中的任何技術來軟化從感興趣的區(qū)域的邊緣回到A/B重疊混合區(qū)域的過渡。將圖18與圖16進行比較,參考圖18所描述的技術使合成全景圖像中的人主體的表示的兩個眼睛都是睜開的,并減少人主體的臉上的任何其他潛在的模糊或混合誤差的影響。這可能特別重要,因為人臉上的混合誤差對全景照片的觀察者而言比在例如天空或墻上出現(xiàn)的混合更明顯。
[0103]一旦要被包括在合成全景圖像中的每個圖像都被拼接在一起,可以可任選地將它們剪裁為所需的形狀(步驟214),因為在組裝過程中應用于圖像的各種對準和/或透視校正可能會導致最終的拼接圖像具有不規(guī)則的形狀。一旦剪裁,最終的合成全景圖像可以本地存儲在照相設備處或存儲在照相設備的外部(步驟216)。由于使用此處所描述的技術獲得的效率,全景圖像可以在正在組裝它們時存儲和/或實時地顯示在設備上。這種存儲器靈活性還可允許用戶動態(tài)地定義全景掃視的起始和停止點,甚至允許大于360度的全景旋轉。
[0104]現(xiàn)在參考圖19,示出了根據(jù)說明性實施例的擁有顯示器1900的代表性的電子設備(例如,照相設備308)的簡化功能框圖。電子設備1900可以包括處理器1916、顯示器1920、接近度傳感器/環(huán)境光傳感器1926、麥克風1906、音頻/視頻編解碼器1902、揚聲器1904、通信電路1910、位置傳感器1924、帶有相關聯(lián)的照像機硬件1908的圖像傳感器、用戶界面1918、存儲器1912、儲存設備1914以及通信總線1922。處理器1916可以是任何合適的可編程控制設備,并可以控制許多功能的操作,諸如生成和/或處理圖像元數(shù)據(jù)以及由電子設備1900執(zhí)行的其他功能。處理器1916可以驅動顯示器1920,并可以從用戶界面1918接收用戶輸入。諸如帶有ARM? V7-A架構的Cortex? A8之類的嵌入式處理器,
提供可以用于實現(xiàn)所公開的技術的通用的并且健壯的可編程控制設備。(CORTEX?:
和ARM翁是英國的ARM有限公司的注冊商標。)
[0105]儲存設備1914可以存儲媒體(例如,圖像和視頻文件)、軟件(例如,用于在設備1900上實現(xiàn)各種功能)、偏好信息、設備簡檔信息、以及任何其他合適的數(shù)據(jù)。儲存設備1914可以包括用于有形地記錄圖像數(shù)據(jù)和程序指令的一個或多個存儲介質,包括例如硬盤驅動器、諸如ROM之類的永久性存儲器、諸如RAM或高速緩存之類的半永久性存儲器。程序指令可以包括以任何所需的語言(例如,C或C++)編碼的軟件實現(xiàn)。[0106]存儲器1912可以包括一個或多個不同類型的可以用于執(zhí)行設備功能的存儲器。例如,存儲器1912可以包括高速緩存、ROM和/或RAM。通信總線1922可以提供用于在至少儲存設備1914、存儲器1912以及處理器1916之間傳輸數(shù)據(jù)的數(shù)據(jù)傳輸路徑。用戶界面1918可以允許用戶與電子設備1900進行交互。例如,用戶輸入設備1918可以呈現(xiàn)各種形式,如按鈕、小鍵盤、轉盤、點擊輪或觸摸屏。
[0107]在一實施例中,個人電子設備1900可以是能夠處理并顯示諸如圖像和視頻文件之類的媒體的電子設備。例如,個人電子設備1900可以是諸如移動電話、個人數(shù)據(jù)助理(PDA)、便攜式音樂播放器、監(jiān)視器、電視機、膝上型計算機、臺式機以及平板計算機之類的設備,或其他合適的個人設備。
[0108]首選的實施例及其他實施例的前面的描述不限制 申請人:設想的發(fā)明構思的范圍或適用性。作為一個示例,雖然本發(fā)明關注手持式個人電子設備,但是可以理解,本發(fā)明的原理可以應用于諸如傳統(tǒng)的數(shù)碼相機之類的其他實現(xiàn)。作為對公開此處包含的發(fā)明構思的交換, 申請人:需要由所附權利要求提供的所有專利權。因此,所附權利要求包括歸入下列權利要求或其等效內容的范圍之內的所有修改和改變。
【權利要求】
1.一種圖像配準方法,包括: 從設備獲取位置信息; 從所述設備獲取第一圖像和第二圖像; 將所述第一圖像中的多個區(qū)域與所述第二圖像中的相應的多個區(qū)域對準,以識別多個對應區(qū)域; 確定所述多個對應區(qū)域中的每一個的搜索矢量; 從所述多個對應區(qū)域中僅選擇具有與所述位置信息一致的搜索矢量的那些對應區(qū)域,以識別多個一致區(qū)域;以及 使用所述多個一致區(qū)域配準所述第一圖像和所述第二圖像。
2.如權利要求1所述的方法,其中,獲取位置信息的動作包括從所述設備中的陀螺儀獲取位置信息。
3.如權利要求1所述的方法,其中,獲取位置信息的動作包括從所述設備中的加速度計獲取位置信息。
4.如權利要求1所述的方法,其中,獲取第一圖像和第二圖像的動作包括: 獲取第一全尺寸圖像; 選擇所述第一全尺寸圖像的小于全部,以生成所述第一圖像; 獲取第二全尺寸圖像;以及 選擇所述第二全尺寸圖像的小于全部,以生成所述第二圖像。
5.如權利要求1所述的方法,其中,將所述第一圖像中的多個區(qū)域與所述第二圖像中的相應的多個區(qū)域對準的動作包括使用特征檢測來識別所述第一圖像和所述第二圖像中的個體特征。
6.如權利要求1所述的方法,其中,將所述第一圖像中的多個區(qū)域與所述第二圖像中的相應的多個區(qū)域對準的動作包括使用交叉關聯(lián)。
7.如權利要求1所述的方法,其中,將所述第一圖像中的多個區(qū)域與所述第二圖像中的相應的多個區(qū)域對準以識別多個對應區(qū)域的動作包括: 如果所述選擇的動作識別了閾值數(shù)量或多于閾值數(shù)量的一致區(qū)域,則使用特征檢測;以及 如果所述選擇的動作識別了小于閾值數(shù)量的一致區(qū)域,則使用交叉關聯(lián)。
8.如權利要求1所述的方法,還包括如果使用交叉關聯(lián)的動作識別了小于第二閾值數(shù)量的一致區(qū)域,則使用所獲得的位置信息。
9.如權利要求1所述的方法,其中,確定所述多個對應區(qū)域中的每一個的搜索矢量的動作包括確定所述第一圖像中的特征與所述第二圖像中的對應特征對準所需要移動的方向。
10.如權利要求1所述的方法,其中,從所述多個對應區(qū)域中僅選擇具有與所述位置信息一致的搜索矢量的那些對應區(qū)域以識別多個一致區(qū)域的動作包括丟棄具有與所述位置信息指示的移動方向相反或基本相反的搜索矢量的區(qū)域。
11.如權利要求1所述的方法,其中,所述配準的動作生成包括所述第一圖像和所述第二圖像的全景圖像。
12.—種程序儲存設備,能由可編程控制設備讀取,包括儲存在其上的指令,所述指令用于使所述可編程控制設備執(zhí)行權利要求1的方法。
13.—種電子設備,包括: 存儲器; 圖像傳感器; 位置傳感器; 通信耦合到所述存儲器的顯示器;以及 通信耦合到所述存儲器、顯示器、位置傳感器和圖像傳感器的可編程控制設備,其中,所述存儲器包括用于使所述可編程控制設備執(zhí)行權利要求1的方法的指令。
14.一種圖像配準方法,包括: 接收由設備捕獲的第一圖像; 從一個或多個位置傳感器接收設備移動數(shù)據(jù); 接收由設備捕獲的第二圖像;以及 使用所述設備移動數(shù)據(jù)和所述第一圖像,對所述第二圖像執(zhí)行圖像配準, 其中,所述設備移動數(shù)據(jù)提供執(zhí)行圖像配準的動作中使用的搜索矢量,且 其中,所述第二圖像由所述設備在比所述第一圖像晚的時間點捕獲。
15.如權利要求14所述的方法,其中,執(zhí)行圖像配準的動作包括對所述第一圖像和所述第二圖像執(zhí)行特征檢測,`以及在所述第一圖像和所述第二圖像之間匹配對應的檢測到的特征。
16.如權利要求14所述的方法,其中,執(zhí)行圖像配準的動作包括通過關聯(lián)度量來將所述第一圖像中的強度圖案與所述第二圖像中的強度圖案交叉關聯(lián)。
17.如權利要求14所述的方法,其中,執(zhí)行圖像配準的動作包括: 執(zhí)行特征檢測,如果通過執(zhí)行特征檢測沒有生成足夠的數(shù)據(jù)來執(zhí)行圖像配準,則 執(zhí)行交叉關聯(lián),如果通過執(zhí)行交叉關聯(lián)沒有生成足夠的數(shù)據(jù)來執(zhí)行圖像配準,則 使用所接收到的設備移動數(shù)據(jù)來執(zhí)行圖像配準。
18.如權利要求14所述的方法,其中,從一個或多個位置傳感器接收設備移動數(shù)據(jù)的動作包括從所述設備中的陀螺儀獲取信息。
19.如權利要求14所述的方法,其中,從一個或多個位置傳感器接收設備移動數(shù)據(jù)的動作包括從所述設備中的加速度計獲取信息。
20.如權利要求14所述的方法,其中,所述設備移動數(shù)據(jù)還提供包括所述第二圖像的多個區(qū)域中的每一個的搜索矢量。
21.如權利要求20所述的方法,其中,每一搜索矢量指示所述第一圖像中的特征或強度圖案與所述第二圖像中的對應特征或強度圖案對準所需要移動的方向。
22.如權利要求21所述的方法,其中,執(zhí)行圖像配準的動作包括從包括所述第二圖像的所述多個區(qū)域中丟棄具有與由所接收到的設備移動數(shù)據(jù)表示的移動方向相反或基本相反的搜索矢量的那些區(qū)域。
23.一種程序儲存設備,能由可編程控制設備讀取,包括存儲在其上的用于使所述可編程控制設備執(zhí)行權利要求14的方法的指令。
24.如權利要求23所述的程序儲存設備,還包括存儲在其上的用于使所述可編程控制設備執(zhí)行權利要求17的方法的指令。
25.—種電子設備,包括: 存儲器; 圖像傳感器; 位置傳感器; 通信耦合到所述存儲器的顯示器;以及 通信耦合到所述存儲器、顯示器、位置傳感器和圖像傳感器的可編程控制設備,其中,所述存儲器包括用于使所述`可編程控制設備執(zhí)行權利要求14的方法的指令。
【文檔編號】G06T3/40GK103534726SQ201280022584
【公開日】2014年1月22日 申請日期:2012年4月23日 優(yōu)先權日:2011年5月17日
【發(fā)明者】F·多普克 申請人:蘋果公司