專利名稱:用于增強的圖像對準的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及圖像片段對準。更具體地,本發(fā)明涉及位移信息的確定。
背景技術:
在生物計量圖像分析的領域中,傳統(tǒng)技術是在諸如指紋的圖像橫越感測機構(gòu)移動 或刷過時,對該圖像抽樣。該感測機構(gòu)可以是指紋傳感器,它在單次刷過期間采集手指的部 分圖像。該單次刷過在不同時間和在不同坐標系統(tǒng)內(nèi)產(chǎn)生數(shù)據(jù)的組。然后,計算機視覺技 術能夠通過對這些數(shù)據(jù)組抽樣并組合各部分圖像以形成該指紋的完整圖像,被用于重構(gòu)整 個指紋的圖像。把這些不同的數(shù)據(jù)組變換成一個坐標系統(tǒng)的處理,在本領域熟練技術人員中被稱 為圖像配準。為了能夠比較或整合從不同測量獲得的數(shù)據(jù),配準是必不可少的。慣用的圖像配準技術歸入兩類分類方法內(nèi)(1)基于區(qū)域和(2)基于特征。原始 圖像常常被稱為參考圖像,而將被映射到該參考圖像上的圖像被稱為目標圖像。對基于區(qū) 域的圖像配準方法,該技術經(jīng)由相關度量、Fourier性質(zhì)和其他結(jié)構(gòu)分析手段,著眼于圖像 的結(jié)構(gòu)。在圖像配準中使用的技術能夠是低效和緩慢的。因為必須處理相對大量的信息, 在復雜圖像的圖像片段之間計算位移,在計算上能夠是十分繁重。因此,需要的是能夠增加圖像配準技術的效率和速度的方法和系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明涉及用于分析圖像片段的系統(tǒng)和方法。在一個實施例中,一種分析圖像片 段的方法包含分別從第一和第二圖像片段抽取第一和第二子片段,以及根據(jù)該第一和第二 子片段,計算該第一和第二圖像片段之間的位移。該第一和第二子片段重疊。在另一個實施例中,一種用于分析圖像片段的系統(tǒng)包含抽取模塊和位移計算模 塊,該抽取模塊被構(gòu)造成分別從第一和第二圖像片段抽取第一和第二子片段,該位移計算 模塊被構(gòu)造成根據(jù)該抽取的子片段的第一和第二子片段,計算該第一和第二圖像片段之間 的位移。本發(fā)明進一步的實施例、特征和優(yōu)點,以及本發(fā)明各個實施例的結(jié)構(gòu)和操作,在下 面參照附圖詳細描述。
附圖示出本發(fā)明并與描述一起,進一步起解釋本發(fā)明原理的作用,并能使有關領 域的熟練技術人員制作和使用本發(fā)明。圖1是慣用刷過型生物計量感測裝置的例圖。圖2是指紋圖像的一系列重疊圖像的例圖。圖3A和IBB示出按照本發(fā)明實施例的圖像片段。
圖4-6示出按照本發(fā)明實施例的指紋圖像。圖7是按照本發(fā)明實施例的分析圖像片段的系統(tǒng)的例圖。圖8是按照本發(fā)明實施例的位移確定引擎的例圖。圖9是按照本發(fā)明實施例的用于分析圖像片段的方法的流程圖。圖10是按照本發(fā)明實施例的用于分析圖像片段的系統(tǒng)的例圖。圖11是按照本發(fā)明實施例的用于分析圖像片段的方法的流程圖。圖12是本發(fā)明能夠在其上實施的示例性計算機系統(tǒng)的框圖例圖?,F(xiàn)在將參照附圖描述本發(fā)明。附圖中,相同的參考數(shù)字一般指示相同的、功能類似 的、和/或結(jié)構(gòu)類似的元件。凡某元件首次在其中出現(xiàn)的圖,用參考數(shù)字中最左邊的數(shù)字指
7J\ ο
具體實施例方式本說明書公開含有本發(fā)明特征的一個或多個實施例。所描述的實施例,并在說明 書中寫成“一個實施例”、“實施例”、“示例性實施例”等等,指明該被描述的實施例可以包含 某種特定特性、結(jié)構(gòu)或特征,但各個實施例可以不必包含該特定特性、結(jié)構(gòu)或特征。另外,這 樣的短語不一定指相同的實施例。還有,當某一特定特性、結(jié)構(gòu)或特征被與某個實施例相結(jié) 合描述時,無論是否被明顯描述,都被認為本領域熟練技術人員知道要實現(xiàn)這種特性、結(jié)構(gòu) 或特征與其他實施例的結(jié)合。圖1是按照本發(fā)明實施例的慣用刷過型生物計量感測裝置100的例圖。在圖1中, 裝置100包含用于獲得生物計量數(shù)據(jù)(如指紋數(shù)據(jù))的傳感器102。在一些實施例中,傳感 器102能夠是聲學超聲阻抗描計術或壓電裝置。傳感器102被用于采集生物計量裝置,諸 如上面討論的手指的部分圖像。圖2是指紋的一系列重疊的部分圖像或圖像片段200的例圖,該部分圖像或圖像 片段200可以從圖1的刷過型傳感器102產(chǎn)生。通過確定圖像片段200的相鄰圖像片段之 間的位移,圖像片段200能夠被對準以形成相干的圖像。圖3A示出按照本發(fā)明實施例的第一圖像片段302和第二圖像片段304。在某個實 施例中,第一圖像片段302和第二圖像片段304能夠是掃描的指紋的圖像片段。要形成指 紋的相干圖像,第一與第二片段302與304必須被對準。有關領域的熟練技術人員根據(jù)本 文描述將能明白,第一和第二片段302和304之間沿X和Y方向的位移,能夠被用于對準第 一與第二片段302與304。圖;3B示出按照本發(fā)明實施例的當?shù)谝缓偷诙?02和304被恰當對準時的第 一和第二片段302和304。如圖;3B中Dy所示的沿Y方向的位移和如圖中Dx所示的沿X 方向的位移,被用于對準第一與第二片段302與304。例如,通過計算第一和第二片段302 和304的PHAse變換,能夠確定第一片段302和第二片段304之間沿X和/或Y方向的位 移。更多的關于PHAse變換的信息,請參考授予Jahromi的2008年1月9日提交的美國 專利申請No. 12/007,344,本文引用該專利申請全部內(nèi)容以供參考。另外,通過計算第一片 段302和第二片段304之間的相關,能夠確定第一片段302和第二片段304之間沿Y和/ 或X方向的位移。關于通過計算相關以確定圖像片段之間的位移的更多信息,請參考授予 Mainguet的2002年10月1日發(fā)布的美國專利No. 6,459,804,本文引用該專利全部內(nèi)容以供參考。如在圖;3B中所示,第一和第二片段302和304在重疊區(qū)310重疊。有關領域的熟 練技術人員根據(jù)本文描述將能明白,被用于計算圖像片段之間的位移的方法,通常使用包 含在圖像片段重疊區(qū)中的信息。例如,被用于計算第一和第二片段302和304之間的位移 的方法,可以主要集中在包含在重疊區(qū)310中的信息上。在某個實施例中,重疊區(qū)310以外 的信息在確定圖像片段302和304之間的位移中不是那樣有用。再者,這種信息能夠成為 錯誤的位移計算原因之一并能夠使位移計算減慢下來。然而,在本文描述的實施例中,是根 據(jù)從每一圖像片段抽取的、導致更快速和/或更精確的位移確定的子片段,計算圖像片段 之間的位移。如在圖3A中所示,第一和第二片段302和304分別包含子片段306和308。子片 段306有L1個像素乘H1個像素的尺寸。子片段308有L2個像素乘H2個像素的尺寸。第一 和第二片段302和304兩者都有L個像素乘H個像素的尺寸。在某個實施例中,Ll1和L2 能夠指圖像片段或子片段的長度(即該片段或子片段沿X方向的尺寸)。類似地,H、H1和 H2能夠指圖像片段或子片段的高度(即該片段或子片段沿Y方向的尺寸)。子片段306和 308的長度能夠分別從一個像素直到第一和第二片段302和304的長度(如L個像素)變 化范圍。類似地,子片段306和308的高度能夠分別從一個像素直到第一和第二片段302 和304的高度(如H個像素)變化范圍。在圖3A和;3B的實施例中,第一和第二片段302 和304被畫成有相同長度和高度。然而,在別的實施例中,第一和第二片段302和304能夠 有不同的長度和/或高度。在一個實施例中,根據(jù)子片段306和308確定第一和第二片段302和304之間沿X 和Y方向的位移。在這樣的實施例中,上面描述的位移計算方法,或有關領域的熟練技術人 員熟知的其他方法,被應用于子片段306和308而不是第一和第二片段302和304。因此, 子片段306和308作為要在它們之間計算位移的片段被有效地處理。如上面所描述,包含在重疊區(qū)310中的信息在確定第一和第二片段302和304之 間的位移中能夠是有重要意義的。子片段306和308分別相對于第一和第二片段302和 304的長度、高度和位置被確定,以便使子片段306和308基本上與重疊區(qū)310重疊。因此, 當子片段306和308分別從第一和第二片段302和304被抽取時,重疊區(qū)310的基本部分 被包含在子片段306和308重疊的重疊區(qū)312中。以此方式,對位移計算不那么重要的信 息,如重疊區(qū)310以外的信息被忽略,而對位移的確定有用的信息,如重疊區(qū)310,被用于位 移計算中。子片段306和308分別相對于第一和第二片段302和304的尺寸(如長度和寬 度)和位置,能夠影響用其確定圖像片段302和304之間的位移的精度。在某個實施例中, 隨著被子片段306和308重疊的該部分重疊區(qū)310的增加,和被子片段306和/或子片段 308重疊的重疊區(qū)310以外的第一和第二片段302和304部分的減小,按照子片段306和 308的位移計算的精度和速度將增加。如在圖;3B中所示,子片段306和308的每一個基本上與重疊區(qū)310重疊。例如,子 片段306和308兩者基本上沿Y方向與重疊區(qū)310重疊。子片段306和308還沿X方向與 重疊區(qū)310的基本部分重疊。在第一和第二片段302和304是指紋掃描的圖像片段的實施 例中,采集重疊區(qū)310沿Y方向的范圍可能比采集重疊區(qū)310沿X方向的范圍更重要。例如,一般知道,被掃描的手指幾乎都相對于掃描器沿Y方向移動。再有,傳感器,從而它產(chǎn)生 的圖像片段,可以有基本上大于它的高度的長度。因此,能夠確定的是,沿X方向的位移將 基本上小于第一和第二片段302和304的長度,而且沿Y方向的位移可與第一和第二片段 302和304的高度相比。因此,只有重疊區(qū)310沿X方向的一部分和盡可能多的沿Y方向的 重疊區(qū)310,可以被用于精確地計算位移信息。如果在子片段306和308分別被抽取之前,已知第一和第二片段302和304之間 的位移,那么能夠確定子片段306和308的尺寸以便采集重疊區(qū)310的需要的部分。例如, 在圖像片段302和304有16個像素的高度(如,H= 16)和已知沿Y方向的位移為6個像 素的實施例中,子片段306和308的高度能夠是10個像素(如,H1 = H2 = 16-6 = 10) 0以 此方式,子片段306和308兩者能夠在重疊區(qū)310中沿Y方向完全重疊而依然不包含沿Y 方向的多余的信息,例如重疊區(qū)310以外的信息。更一般地說,從圖像片段抽取的子片段的 高度,可以作為相應圖像片段與從該相應圖像片段的高度抽取的另一個圖像片段(例如, 該相應圖像片段將被與之對準的相鄰圖像片段)之間沿Y方向的位移而被確定。然而,有關領域的熟練技術人員根據(jù)本文描述將能明白,在子片段306和308被抽 取之前,要知道第一和第二片段302和304之間的位移通常是困難的。在這樣的實施例中, 子片段306和308的尺寸可以根據(jù)圖像片段302和304之間的預期位移被確定。例如,如 果第一和第二片段302和304之間沿Y方向的預期位移被確定為6個像素且第一和第二片 段302和304的高度是16個像素,則子片段306和308的高度可以被確定為10個像素。在一個實施例中,可以按基本上類似的方式,根據(jù)第一和第二片段302和304之間 沿X方向的預期位移,確定子片段306和308的長度。在另一個實施例中,根據(jù)沿X方向典型位移的已知范圍,能夠確定子片段306和 308的長度,以便子片段306和308被完全包含在沿X方向的重疊區(qū)310中。例如,可以知 道,沿X方向的位移將不超過5個像素。在圖像片段302和304的長度是120個像素(如,L =120)的實施例中,子片段306和308的長度可以被選擇成小于或等于115個像素(120-5 =115),例如64個像素。與子片段306和308的高度相反,該高度被確定為包含盡可能多 的重疊區(qū)310的高度,子片段306和308的長度能夠被確定,以便子片段306和308被完全 包含在重疊區(qū)310中,因為如上所描述,第一和第二片段302和304之間沿X方向的位移遠 小于第一和第二片段302和304的長度,而在指紋掃描中的手指可以主要地和可預測地沿 Y方向移動。除尺寸外,第一和第二片段302和304中分別被抽取子片段306和308的位置,在 精確地和快速地計算第一和第二片段302和304之間的位移中也是重要的。如在圖3A中 所示,子片段306和308是非對稱的。換句話說,子片段306和308不占據(jù)它們相應的圖像 片段的同一區(qū)。在一個實施例中,子片段306和308可以是非對稱的,以便它們能夠使它們 與重疊區(qū)310的重疊最大化。例如,在子片段306和308的抽取之前可以知道,重疊區(qū)310 將包含第一片段302的下部邊緣的一部分和第二片段304的上部邊緣的一部分,例如,因為 第一片段302是在第二片段304之前被從傳感器接收的,且已知手指是沿Y方向向下相對 于傳感器移動的。因此,子片段306能夠被定位,使它的下部邊緣與第一片段302的下部邊 緣重合,且子片段308能夠被定位,使它的上部邊緣與第二片段304的上部邊緣重合。在另一個實施例中,子片段306和308被從那里抽取的沿X方向的位置能夠按類似的方式,如以左側(cè)和右側(cè)邊緣代替上部和下部邊緣而被確定。然而,在另外的實施例中, 沿X方向的位移方向(如,數(shù)學符號)在子片段306和308被抽取之前是不知道的。例如, 手指在刷過期間可以不可預測地沿X方向移動。因此,子片段306和308能夠分別從第一 和第二片段的中央位置被抽取,以試圖確保它們至少部分地與重疊區(qū)310重疊。在一個實 施例中,非對稱的一對子片段能夠是相對于X方向、Y方向或兩者非對稱的。因此,如上面所描述,子片段從那里被抽取的位置可以是非對稱的,且該位置可以 在子片段從它們相應的圖像片段中被抽取之前,部分地根據(jù)該相應片段將與其它圖像片段 在下部、上部、左側(cè)、右側(cè)或不可預測區(qū)中重疊而被確定。然而,圖像片段之間的位移在子片 段被抽取之前一般是不知道的。因此,子片段的尺寸是根據(jù)預期位移或相應圖像片段之間 的預期位移的范圍被確定。圖4-6示出按照本發(fā)明的實施例的指紋圖像,這些指紋圖像包含用不同高度的子 片段對準的圖像片段。已被對準以形成指紋圖像的圖像片段,高度為8個像素和長度為192 個像素。如上面所描述的,被抽取的子片段相對于Y方向是非對稱的,根據(jù)相應圖像片段被 預期要與下一個圖像片段在何處重疊,子片段要么與圖像片段的上部邊緣共享邊緣,要么 與它的相應圖像片段的下部邊緣共享邊緣。子片段相對于X方向被定位在相應圖像片段的 中央部分。圖4示出指紋圖像402-414。指紋圖像402、404、406、408、410、412和414被用由 高度分別為2、3、4、5、6、7和8個像素的子片段確定的位移對準。在圖4中,被用于形成圖 像402-414的圖像片段的每一個與相鄰圖像片段有5個像素的位移。因此,如上面所描述, 與高度為3個像素,如8-5 = 3,的子片段對準的指紋圖像將產(chǎn)生最精確的指紋圖像。如在 圖4中所示,包含用有3個像素的高度的子片段對準的圖像片段的指紋圖像404是指紋圖 像402-414中最精確的指紋圖像。圖5示出指紋圖像502到514,它們包含用不同高度的子片段對準的圖像片段。尤 其是,被對準的指紋圖像502、504、506、508、510、512和514包含用由高度分別為2、3、4、5、 6、7和8個像素的子片段確定的位移對準的圖像片段。已知被用于形成指紋圖像502-514 的圖像片段沿Y方向與相鄰圖像片段有2個像素的位移。根據(jù)用高度為6個像素,如8-6 =2,的子片段確定的位移,應當使已知沿Y方向有2個像素位移的圖像片段被最佳地對準。 如在圖5中所示,根據(jù)用高度為6個像素的子片段確定的位移對準的指紋圖像510是圖5 中所示指紋圖像502-514中最精確的指紋圖像。圖6示出用使用不同高度的子片段確定的位移對準的指紋圖像602到614。尤其 是,指紋圖像602、604、606、608、610、612和614包含用使用高度為2、3、4、5、6、7和8個像 素的子片段確定的位移對準的圖像片段。已知被用于形成指紋圖像602-614的圖像片段沿 Y方向與相鄰圖像片段有6個像素的位移。因此,包含用使用高度為2個像素,如8-6 = 2, 的子片段確定的位移對準的圖像片段的指紋圖像,應當預期產(chǎn)生最精確的指紋圖像。如圖 6中所示,指紋圖像602是指紋圖像602-614中最精確的指紋圖像。因此,如果一對圖像片段之間的位移能夠被估算,則子片段的尺寸能夠被確定,于 是圖像片段之間的位移能夠被精確確定。再有,如圖4-6中所示,包含用使用高度接近最佳 高度的子片段確定的位移對準的圖像片段的圖像,同樣產(chǎn)生相對地精確的圖像。因此,即使 在預期的位移不是恰好正確的情形中,也可以獲得精確的位移信息并且圖像片段能夠被精
8確地對準。例如,圖4的圖像402、406和408,圖5的圖像508、412和514,以及圖6的圖像 604和606,雖然都沒有用使用相應的每一組圖像片段沿Y方向位移的最佳高度確定的位移 對準,但是仍然可以是一般精確的指紋圖像。圖7示出按照本發(fā)明的實施例的用于處理圖像片段的系統(tǒng)700。系統(tǒng)700包含傳 感器702和位移確定模塊704。傳感器702被構(gòu)造成輸出圖像片段。例如,傳感器702能夠 是刷過式指紋掃描器。在另外的實施例中,傳感器702能夠是其他類型的產(chǎn)生圖像片段的 傳感器,如視網(wǎng)膜掃描器。位移確定模塊704包含位移確定引擎706a_706g,統(tǒng)稱為位移確定引擎706,以及 控制模塊708。圖8示出按照本發(fā)明的實施例的位移確定引擎800。一個或多個位移確定 引擎706能夠作為圖8中所示的位移確定引擎800被實現(xiàn)。位移確定引擎706以及控制模 塊708可以作為硬件、軟件、固件或它們的任何組合被實現(xiàn)。系統(tǒng)700的操作將在下面參照 圖9描述。圖9示出按照本發(fā)明的實施例的用于分析圖像片段的方法的流程圖900。流程圖 900參照圖7和8的實施例描述。無論如何,流程圖900不受那些實施例限制。圖9中所示 步驟不一定都按圖示順序出現(xiàn)。下面詳細描述圖9的步驟。流程圖900以步驟902開始。在步驟902中,從一對圖像片段的每一個圖像片段 抽取子片段。例如,在圖7中,位移確定引擎706的每一個引擎從傳感器702接收一對圖像 片段并從該對被接收的圖像片段的每一個圖像片段抽取子片段。例如,如上面所描述的,位移確定引擎706可以作為圖8中所示位移確定引擎800 被實現(xiàn)。位移確定引擎800的抽取模塊802可以接收該對圖像片段并從該對子片段的每一 個抽取子片段。在一個實施例中,每一個位移確定引擎706抽取有不同尺寸(如,按照不同的預期 位移)的子片段。例如,在傳感器702輸出的圖像片段有8個像素高度的實施例中,位移確 定引擎706a、706b、706c、706d、706e、706f和706g能夠抽取高度分別為分別對應于預期位 移為6、5、4、3、2、1和0個像素的2、3、4、5、6、7和8個像素的子片段。再者,每一個位移確定引擎706能夠抽取有相同長度的子片段。子片段的長度能 夠根據(jù)沿X方向的典型位移的范圍確定,如上面參照子片段306和308的長度所描述的。由每一個位移確定引擎706抽取的子片段也可以是非對稱的。例如,抽取的子片 段可以沿Y方向是非對稱的而沿X方向是對稱的。尤其是,取決于該圖像片段將與該對接 收的圖像片段的另一個圖像片段在何處重疊,這些子片段能夠與相應圖像片段的上部或下 部邊緣共享邊緣,并能夠相對于X方向被定位在相應圖像片段的中央部分,如上面相對于 子片段306和308所描述的。在步驟904中,根據(jù)抽取的子片段,計算該對圖像片段之間的位移。例如,如上面 所描述的,通過計算抽取的子片段的PHAse變換或抽取的子片段之間的相關,可以計算這 些位移。位移可以沿X和Y方向的每一個方向計算。例如,在圖7中,位移確定引擎706使用抽取的子片段,計算被接收的圖像片段對 之間的位移。例如,在位移確定引擎706作為圖8中所示的位移確定引擎800被實現(xiàn)的實施 例中,位移計算模塊804從抽取模塊802接收抽取的子片段并通過計算抽取的片段的PHAse 變換計算位移。如上面所描述的,每一個位移確定引擎706能夠抽取有不同尺寸的子片段。因此,在步驟904中,根據(jù)抽取的有不同尺寸(如,不同的高度)的子片段,能夠計算該對圖 像片段之間的位移。在步驟906中,位移是根據(jù)計算的位移被確定的。被確定的位移可以被用于對準 該對圖像片段。例如,可以計算一組已計算的位移的中值或均值以確定該位移。在另外的 實施例中,有關領域的熟練技術人員熟知的其他統(tǒng)計算子能夠被用于從已計算的位移確定 某一位移。在另一個實施例中,位移是按這種方式沿X和Y兩個方向被確定的。例如,在圖7中,控制模塊708從位移確定引擎706接收計算的位移??刂颇K 708計算被接收的計算的位移的均值或中值以便確定用于對準接收的圖像片段對的這些位 移。在控制模塊708計算均值的實施例中,該均值可以是十進制數(shù)。在這種實施例中,該十 進制數(shù)可以舍入成整數(shù)以便能夠使該兩個圖像片段被對準。在又一個實施例中,控制模塊 708接收沿X方向的第一組位移和沿Y方向的第二組位移,并確定沿X和Y的位移以便被用 于按上面所描述的方式對準該對圖像片段。在步驟908中,要識別最佳尺寸。例如,該最佳尺寸可以是子片段的最佳高度。例 如,在圖7中,控制模塊708可以識別子片段的最佳高度。該最佳高度可以對應于位移確定 引擎706中的輸出在步驟906中確定的位移的某一位移確定引擎。例如,根據(jù)被接收的已計 算的位移,控制模塊708可以確定與由位移確定引擎706a計算的位移匹配的位移。然后, 控制模塊708可以把位移確定引擎706a識別為輸出精確的已計算的位移。因此,控制模塊 708確定由位移確定引擎706a抽取的子片段的高度,如高度為兩個像素是最佳的尺寸。在步驟910中,要確定該最佳尺寸是否可靠。例如可以確定,有最佳尺寸的子片段 能否被用于精確地確定另一對圖像片段之間的位移。例如,在圖7中,控制模塊708可以確 定由位移確定引擎706a計算的位移用于隨后的一對圖像片段是否會是精確的。例如,通過 對預定數(shù)量的片段的對,確定被位移確定引擎706a輸出的已計算的位移是否已經(jīng)等于被 控制模塊708確定的位移,控制模塊708可以作出這種確定。如果確定了可靠的最佳尺寸還沒有被確定,流程圖900返回步驟902。要不,如果 最佳尺寸已經(jīng)被確定,流程圖900前進到步驟912。在步驟912中,是從另一對圖像片段抽取子片段。抽取的子片段有最佳尺寸。例 如,在圖7中,如果確定由位移確定引擎706a抽取的子片段的高度是可靠的最佳尺寸,控制 模塊708可以停用位移確定引擎706b-706g。在這樣的實施例中,由控制模塊708輸出的位 移等同于由位移確定引擎706a計算的位移。通過停用位移確定引擎706b-706g,功率可以 被節(jié)省且位移計算可以變得更快。在步驟914中,是根據(jù)抽取的子片段計算位移。在一個實施例中,步驟914基本上 類似于步驟904。然而,在步驟914中,根據(jù)抽取的只是有最佳尺寸的子片段計算位移。例 如,在圖7中,位移確定引擎706a根據(jù)有最佳尺寸的子片段計算兩個圖像片段之間的位移。在步驟914之后,流程圖900返回步驟910。因此,要再次確定該最佳尺寸是否仍 然可靠。如果確定該最佳尺寸仍然可靠,則根據(jù)有最佳尺寸的子片段,仍然能夠確定圖像片 段之間的位移。如果否,則如上面所描述的,根據(jù)有變化尺寸的子片段計算一組位移,并從 該組位移確定某一位移。如在圖9中所示,在步驟906完成之后,流程圖900可以返回步驟902。在這樣的 實施例中,位移能夠連續(xù)地從一組計算的位移中被確定,該組位移的每一個是根據(jù)抽取的有不同尺寸(如,不同的高度)的子片段計算的。例如,在圖7中,每一個位移確定引擎706 使用不同尺寸的子片段連續(xù)地計算位移?;蛘?,能夠使用先前的數(shù)據(jù),使一個或多個位移確 定引擎706被關閉或者被停用以節(jié)省功率和計算時間(如,通過最佳尺寸的識別)。在這樣 的實施例中,控制模塊708有效地確定預期位移,例如作為如上面所描述的該預期位移的 函數(shù)的子片段的高度,并根據(jù)有高度對應于該預期位移的子片段確定位移。只要該預期位 移維持可靠,控制模塊708能夠保持一個或多個位移確定引擎706被關閉或被停用。圖10示出按照本發(fā)明實施例的用于處理圖像片段的系統(tǒng)1000。系統(tǒng)1000包含傳 感器1002和位移確定模塊1004。傳感器1002可以是基本上類似于上面所描述的傳感器 702。位移確定模塊1004包含位移確定引擎1006和控制模塊1008。位移確定引擎1006包 含抽取模塊1010和位移計算模塊1012。系統(tǒng)1000的操作將在下面參照圖11描述。圖11示出按照本發(fā)明實施例的用于分析圖像片段的方法的流程圖1100。流程圖 1100參照圖10的實施例描述。無論如何,流程圖1100不受該實施例限制。圖11中所示步 驟不一定都按圖示順序出現(xiàn)。下面詳細描述圖11的步驟。在步驟1102中,從第一和第二圖像片段中的每一個抽取子片段。抽取的子片段的 尺寸可以是根據(jù)初始預期位移和/或預期位移的范圍。可以根據(jù)以前的信息(如,關于指 紋掃描中產(chǎn)生的初始圖像片段的以前信息)確定該初始預期位移。例如,在圖10中,位移確定引擎1006的抽取模塊1010從傳感器1002接收第一和 第二圖像片段。抽取模塊1010還從控制模塊1008接收初始位移。根據(jù)從控制模塊1008 接收的沿Y方向的初始預期位移,抽取模塊1010確定子片段的高度?;蛘?,該初始預期位 移可以被編程進抽取模塊1010。例如,抽取模塊1010能夠確定這些子片段的高度為從該第一和第二圖像片段抽 取的沿Y方向的初始預期位移。如關于子片段306和308所描述的,根據(jù)從控制模塊1008 接收的或在抽取模塊1010中被編程的沿X方向的預期位移的范圍,可以確定這些子片段的 長度。這些子片段相對第一和第二圖像片段的位置,能夠按類似于關于流程圖900的步驟 902所描述的方式被確定。在步驟1104中,根據(jù)抽取的子片段計算第一和第二圖像片段之間的位移。如上面 所描述的,通過計算抽取的子片段的PHAse變換或抽取的子片段之間的相關,可以計算第 一和第二圖像片段之間的位移。例如,在圖10中,位移計算模塊1012根據(jù)抽取的子片段計算第一和第二圖像片段 之間的位移。位移計算模塊1010通過計算抽取的子片段的PHAse變換可以計算這些位移。在步驟1106中,要確定是否已經(jīng)接收了足夠的數(shù)據(jù)以便能夠確定預期位移。在一 個實施例中,預期位移可以根據(jù)過去的位移信息被確定。例如,在圖10中,控制模塊1008 在預期位移能夠被確定之前可以要求3個過去位移。因此,如果控制模塊1008還沒有接收 至少3個位移,則預期位移不能被控制模塊1008確定。如果確定預期位移的足夠的數(shù)據(jù)還沒有被接收,流程圖1100返回步驟1102。在一 個實施例中,步驟1102到1106被重復,直到確定預期位移的足夠數(shù)據(jù)被接收。一旦確定預 期位移的足夠數(shù)據(jù)已經(jīng)被接收,流程圖1100前進到步驟1108。在步驟1108中,預期位移被 確定。例如,該預期位移可以作為過去的一組值的均值或中值被確定。例如,在圖10中,控 制模塊1008可以計算由位移計算模塊1012輸出的最后3個位移的中值,以確定預期位移。
11在別的實施例中,控制模塊1008可以用其他統(tǒng)計算子計算預期位移。例如,控制模塊1008 可以計算由位移計算模塊1012輸出的最后3個位移的平均以計算該預期位移。因此,沿X 和/或Y方向的預期位移可以根據(jù)過去位移信息被確定。在步驟1110中,從第三和第四圖像片段的每一個抽取子片段。在一個實施例中, 步驟1110基本上類似于上面所描述的步驟1102。然而在步驟1110中,根據(jù)該預期位移而 不是初始預期位移確定這些子片段的一個或多個尺寸。例如,在圖10中,抽取模塊1010根 據(jù)由控制模塊1008計算的預期位移,從第三和第四圖像片段抽取子片段。尤其是,可以以 上面參照子片段306和308所描述的類似方式,根據(jù)該預期位移確定從第三和第四圖像片 段抽取的子片段的高度。子片段相對于第一和第二圖像片段的長度和位置,能夠是類似于 上面參照步驟1102所描述的那樣。在步驟1112中,根據(jù)抽取的子片段計算第三和第四圖像片段之間的位移。在一個 實施例中,步驟1112基本上類似于步驟1104,然而,步驟1112中使用的子片段有由預期位 移而不是由初始預期位移確定的一個或多個尺寸。如在圖11中所示,流程圖1100在步驟1112之后返回步驟1108。因此,一旦確定 預期位移的足夠數(shù)據(jù)被接收,則根據(jù)該確定的預期位移而不是根據(jù)初始預期位移確定抽取 的子片段的一個或多個尺寸。圖7和圖10示出按照本發(fā)明實施例的用于處理圖像片段的系統(tǒng)700和1000。在 系統(tǒng)700中,多個位移確定引擎被并行運行且從這些位移確定引擎選出的位移被用于對準 圖像片段。如果確定這些位移確定引擎之一能夠提供精確的位移信息,那么系統(tǒng)700能夠 有一個或多個位移確定引擎被關閉或停用。系統(tǒng)1000利用反饋環(huán),該反饋環(huán)允許子片段的尺寸根據(jù)先前的位移信息而被實 時調(diào)整。因為系統(tǒng)1000只有單個位移確定引擎在單一時間上運行,所以系統(tǒng)1000比系統(tǒng) 700對功率的使用更有效和速度更快。此外,在位移確定引擎是作為硬件實施的實施例中, 要實施這種系統(tǒng),系統(tǒng)1000的實施例比系統(tǒng)700的實施例需要較小空間。如上面所描述的, 用于確定預期位移的統(tǒng)計算子,根據(jù)過去的位移信息計算該預期位移。確定該預期位移所 考慮的位移的數(shù)量,可以根據(jù)系統(tǒng)中的儲存器可用性而被改變。例如,如果系統(tǒng)有大量可用 的儲存器,則預期位移的確定可以包含更多的位移值。本發(fā)明(即圖7、8和10的元件以及流程圖900和1100或它們的任何部分或功 能)可以用硬件、軟件或它們的組合實施,并可以在一個或多個計算機系統(tǒng)或其他處理系 統(tǒng)中實施。然而,由本發(fā)明所進行的操縱在術語上常常被稱為諸如相加或比較,這些術語一 般地與人類操作員進行的腦力操作關聯(lián)。在構(gòu)成本發(fā)明一部分的本文描述的任何操作中, 在大多數(shù)情形下,不需要,或不希望具有這種能力的人類操作員。相反,這些操作是機器操 作。用于進行本發(fā)明的操作的有用的機器包含通用數(shù)字計算機或類似的裝置。事實上,在一個實施例中,本發(fā)明指向一個或多個能夠完成本文描述的功能的計 算機系統(tǒng)。計算機系統(tǒng)1200的例子示于圖12中。計算機系統(tǒng)1200包含一個或多個處理器,諸如處理器1204。處理器1204被連接 到通信基礎結(jié)構(gòu)1206(如通信總線、交叉桿(crossover bar)或網(wǎng)絡)。各種軟件的實施例 通過該示例性計算機系統(tǒng)描述。有關領域的熟練技術人員在閱讀該描述后,將能明白如何 用其他計算機系統(tǒng)和/或體系結(jié)構(gòu)實施本發(fā)明。
12
計算機系統(tǒng)1200能夠包含顯示器接口 1202,它傳送來自通信基礎結(jié)構(gòu)1206(或來 自未畫出的幀緩存器)的圖形、文本和其他數(shù)據(jù),以便在顯示器單元1230上顯示。計算機系統(tǒng)1200還包含主存儲器1208,最好是隨機存取存儲器(RAM),并還可以 包含副存儲器1210。該副存儲器1210可以包含,例如作為軟盤驅(qū)動器、磁帶驅(qū)動器、光盤驅(qū) 動器等等代表的硬盤驅(qū)動器1212和/或可移動存儲器驅(qū)動器1214。可移動存儲器驅(qū)動器 1214按眾所周知的方式從可移動存儲器單元1218讀取和/或向可移動存儲器單元1218寫 入。可移動存儲器單元1218代表軟盤、磁帶、光盤等等,它們由可移動存儲器驅(qū)動器1214 讀取和寫入。正如應當意識到的,可移動存儲器單元1218包含計算機可用存儲媒體,其中 存儲有計算機軟件和/或數(shù)據(jù)。在別的實施例中,副儲存器1210可以包含用于讓計算機程序或其他指令被裝入 計算機系統(tǒng)1200的其他類似的裝置。這類裝置可以包含,例如可移動儲存器單元1222 和接口 1220。這類裝置的例子可以包含程序盒(cartridge)和盒式接口(cartridge interface)(諸如在視頻游戲裝置中看到的)、可移動存儲器芯片(諸如可擦除可編程只讀 儲存器(EPROM),或可編程只讀儲存器(PROM))和關聯(lián)的插座、以及其他可移動存儲器單元 1222和接口 1220,該接口 1220允許軟件和數(shù)據(jù)從可移動儲存器單元1222傳輸?shù)接嬎銠C系 統(tǒng) 1200。計算機系統(tǒng)1200還可以包含通信接口 12M。通信接口 12M允許軟件和數(shù)據(jù)在 計算機系統(tǒng)1200和外部裝置之間傳遞。通信接口 12 的例子可以包含調(diào)制解調(diào)器、網(wǎng)絡 接口(諸如以太網(wǎng)卡)、通信端口、個人計算機內(nèi)存卡國際聯(lián)合會(PCMCIA)槽和卡,等等。 軟件和數(shù)據(jù)是按信號12 的形式經(jīng)由通信接口 12M傳遞,該信號12 可以是電子的、電 磁的、光學的或其他能被通信接口 12M接收的信號。這些信號12 經(jīng)由通信路徑(如信 道)12 被提供給通信接口 1224。這個信道12 傳送信號12 并可以用導線或電纜、光 纖、電話線、蜂窩鏈路、射頻(RF)鏈路和其他通信信道實現(xiàn)。在本文獻中,術語“計算機程序媒體”和“計算機可用媒體” 一般被用于指諸如可 移動存儲器驅(qū)動器1214這樣的媒體和安裝在硬盤驅(qū)動器1212中的硬盤。這些計算機程序 產(chǎn)品向計算機系統(tǒng)1200提供軟件。本發(fā)明指向這類計算機程序產(chǎn)品。計算機程序(亦稱為計算機控制邏輯)被存儲在主儲存器1208和/或副存儲器 1210中。計算機程序亦可以經(jīng)由通信接口 12M被接收。如在本文所討論,這類計算機程序 當被執(zhí)行時,能使計算機系統(tǒng)1200實現(xiàn)本發(fā)明的特性。尤其是,該計算機程序當被執(zhí)行時, 能使處理器1204實現(xiàn)本發(fā)明的特性。由此,這類計算機程序代表計算機系統(tǒng)1200的控制器。在本發(fā)明用軟件實施的實施例中,該軟件可以被存儲在計算機程序產(chǎn)品中并用可 移動存儲器驅(qū)動器1214、硬盤驅(qū)動器1212或通信接口 12M裝入計算機系統(tǒng)1200。如本文 所描述,該控制邏輯(軟件)當被處理器1204執(zhí)行時,使該處理器1204實現(xiàn)本發(fā)明的功能。在另一個實施例中,本發(fā)明主要按硬件實施,該硬件例如用硬件部件,諸如專用集 成電路(ASIC)。為執(zhí)行本文所描述的功能的硬件狀態(tài)機器的實施對有關領域的熟練技術人 員是明白的。在再一個實施例中,本發(fā)明是用硬件和軟件兩者的組合實施的。結(jié)論
本發(fā)明的方法、系統(tǒng)和部件的舉例實施例已經(jīng)在本文描述。如在各處所指出,已經(jīng) 描述的這些舉例實施例,只為舉例的目的而不是限制。別的實施例是可能的并由本發(fā)明所 覆蓋。根據(jù)包含在本文中的教導,這類別的實施例對有關領域的熟練技術人員是明白的。因 此,本發(fā)明的廣度和范圍應當不受任何上述示例性實施例的限制,而只能被下面的權(quán)利要 求書及其等價敘述所限定。前面具體實施例的描述是如此充分地揭示本發(fā)明的一般本性,以致其他人能夠通 過應用本領域技術內(nèi)的知識,在不偏離本發(fā)明的一般概念下,無需過度的實驗,就容易地為 各種應用而修改和/或改編上述具體的實施例。因此,這種改編和修改將被認為是根據(jù)本 文給出的教導和指導并在所公開實施例的等效意義和范圍之內(nèi)。應當理解,本文的短語或 術語是為了描述的目的而不是限制,以便使本說明書的術語或短語被熟練的技術人員借助 該教導和指導進行解釋。本發(fā)明的廣度和范圍應當不受任何上述示例性實施例的限制,而只能被下面的權(quán) 利要求書及其等價敘述所限定。
權(quán)利要求
1.一種用于分析圖像片段的方法,包括(1)分別從第一和第二圖像片段抽取第一和第二子片段,其中該第一和第二子片段重 疊;和(2)根據(jù)該第一和第二子片段,計算該第一和第二圖像片段之間的位移。
2.權(quán)利要求1的方法,還包括(3)分別從第一和第二圖像片段抽取第三和第四子片段,其中該第三和第四子片段重 疊,其中該第三和第四子片段各有不同于第一子片段尺寸的尺寸;(4)根據(jù)該第三和第四子片段,計算第一和第二圖像片段之間的第二位移;和(5)至少根據(jù)該第一和第二位移,確定該第一和第二圖像片段之間的第三位移,其中該 第三位移被用于對準第一與第二圖像片段。
3.權(quán)利要求2的方法,還包括(6)識別最佳尺寸,其中第三位移等于第二位移,其中第三子片段的尺寸和第四子片段 的尺寸與該最佳尺寸匹配;(7)分別從第三和第四圖像片段抽取第一和第二子片段,該第三和第四圖像片段的第 一和第二子片段各有與該最佳尺寸匹配的尺寸;和(8)分別根據(jù)該第三和第四圖像片段的第一和第二子片段,計算該第三和第四圖像片 段之間的位移。
4.權(quán)利要求1的方法,還包括 (3)計算多對圖像片段中每一對圖像片段之間的位移;(4)根據(jù)步驟(3)中計算的位移,確定預期位移;和(5)根據(jù)該預期位移確定最佳尺寸;其中第一和第二子片段中的每一個有與該最佳尺寸匹配的尺寸。
5.權(quán)利要求4的方法,其中步驟(4)包括 計算位移的均值或中值。
6.權(quán)利要求1的方法,其中步驟( 包括 計算該第一和第二子片段的PHAse變換。
7.權(quán)利要求1的方法,其中步驟( 包括 計算該第一和第二子片段之間的相關。
8.權(quán)利要求1的方法,還包括(3)根據(jù)計算的位移,對準第一與第二片段。
9.權(quán)利要求1的方法,其中該第一和第二子片段是非對稱的。
10.一種用于分析圖像片段的系統(tǒng),包括抽取模塊,被構(gòu)造成分別從第一和第二圖像片段抽取第一和第二子片段;和 位移計算模塊,被構(gòu)造成根據(jù)該第一和第二子片段,計算該第一和第二圖像片段之間 的位移。
11.權(quán)利要求10的系統(tǒng),還包括對準模塊,被構(gòu)造成根據(jù)由位移計算模塊計算的位移,對準第一與第二圖像片段。
12.權(quán)利要求10的系統(tǒng),還包括第二抽取模塊,被構(gòu)造成分別從該第一和第二圖像片段抽取第三和第四子片段,其中該第三和第四子片段重疊,其中該第三和第四子片段各有不同于第一子片段尺寸的尺寸;第二位移計算模塊,被構(gòu)造成根據(jù)第三和第四子片段,計算該第一和第二圖像片段之 間的第二位移;和控制模塊,被構(gòu)造成至少根據(jù)該第一和第二位移,確定第一和第二圖像片段之間的第 三位移,其中該第三位移被用于對準第一與第二圖像片段。
13.權(quán)利要求10的系統(tǒng),其中該位移確定模塊被構(gòu)造成分別從該第一和第二圖像片段接收第三和第四子片段,其 中該第三和第四子片段重疊,其中該第三和第四子片段各有不同于該第一子片段尺寸的尺 寸,并根據(jù)該第三和第四子片段計算該第一和第二圖像片段之間的第二位移;還包括控制模塊,被構(gòu)造成至少根據(jù)該第一和第二位移,確定第一和第二圖像片段之間的第 三位移,其中該第三位移被用于對準第一與第二圖像片段。
14.權(quán)利要求10的系統(tǒng),還包括控制模塊,被構(gòu)造成基于多個被接收的位移確定預期位移;其中該抽取模塊被構(gòu)造成至少根據(jù)該預期位移,確定第一子片段的尺寸和第二子片段 的尺寸。
15.權(quán)利要求10的系統(tǒng),其中該位移計算模塊被構(gòu)造成通過計算該第一和第二子片段 的PHAse變換,確定該第一和第二圖像片段之間的位移。
16.權(quán)利要求10的系統(tǒng),其中該位移計算模塊被構(gòu)造成通過計算第一和第二子片段之 間的相關技術,確定該第一和第二圖像片段之間的位移。
全文摘要
本發(fā)明涉及用于增強的圖像對準的方法和系統(tǒng)。提供一種用于分析圖像片段的方法。該方法包含分別從第一和第二圖像片段抽取第一和第二子片段,以及根據(jù)該第一和第二子片段,計算該第一和第二圖像片段之間的位移。該第一和第二子片段重疊。還提供一種用于分析圖像片段的系統(tǒng)。該系統(tǒng)包含抽取模塊和位移計算模塊,該抽取模塊被構(gòu)造成分別從第一和第二圖像片段抽取第一和第二子片段,該位移計算模塊被構(gòu)造成根據(jù)該抽取的子片段的第一和第二子片段,計算該第一和第二圖像片段之間的位移。
文檔編號G06K9/00GK102067152SQ200980123446
公開日2011年5月18日 申請日期2009年5月5日 優(yōu)先權(quán)日2008年5月5日
發(fā)明者O·S·加赫羅米 申請人:索納維森股份有限公司