亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于數(shù)字拼貼圖的圖像處理系統(tǒng)的制作方法

文檔序號:6456659閱讀:287來源:國知局

專利名稱::用于數(shù)字拼貼圖的圖像處理系統(tǒng)的制作方法
技術領域
:本說明書一般涉及用于從多個數(shù)字圖像創(chuàng)建數(shù)字拼貼圖(也被稱為數(shù)字合成圖(tapestry)及合成照片(photomontage))的圖像處理。祖且冃爾需要為用于從多個輸入圖像形成在視覺上吸引人的拼貼圖的自動化過程提供一種框架。形成這一拼貼圖尤其在輸入圖像的數(shù)量增加并且在需要產(chǎn)生擔當對觀眾有吸引力的可視圖像類型概述的拼貼圖時是個難題。此外,難以為這種類型的自動化過程提供靈活且穩(wěn)健并且可容易地與相關軟件應用程序接口的框架。手動生成圖像合成圖或圖像拼貼圖的方法是已知的。例如,通過手動分割并組合消費者照片的集合。這些照片可諸如通過使用商用圖像編輯軟件來手動裁剪并組合以形成手動生成的合成圖。然而,這是費時的且需要用戶方的大量技能和知識。先前的自動化方法依賴于使用供組裝的、己通過沿著接縫大致匹配而廣泛兼容的圖像。然后只需要調(diào)整接縫以使得這些接縫不可見。然而,需要使用可能尚未廣泛兼容的圖像。概述下面提供本發(fā)明的簡化概要以便為讀者提供基本的理解。本概要不是本發(fā)明的詳盡概觀,并且既不標識本發(fā)明的關鍵/決定性要素也不描繪本發(fā)明的范圍。其唯一目的是以簡化形式提供在此公開一些概念作為稍后提供的更詳細描述的序言。需要為用于從多個輸入圖像中形成在視覺上吸引人的拼貼圖的自動化過程提供一種框架。需要為這種類型的自動化過程提供靈活且穩(wěn)健并且可容易地與相關軟件應用程序接口的框架。一種圖像合成框架設置有模塊化體系結構,其具有第一模塊、多個先驗計算模塊和圖像合成模塊。第一模塊提供應用程序編程接口,先驗計算模塊計算關于輸入圖像的信息,而圖像合成模塊使用計算出的信息以及輸入圖像來形成數(shù)字拼貼圖。許多附帶特征將隨著參考下面的詳細描述并結合附圖進行理解而得到更好的認識??紤]附圖閱讀以下詳細描述,將更好地理解本說明書,在附圖中圖1是與軟件應用程序接口的圖像合成框架的示意圖;圖2是使用圖像合成框架來形成數(shù)字拼貼圖的方法的流程圖;圖3A是輸入圖像的示意圖3B是示出感興趣區(qū)域的圖3A的輸入圖像的示意圖;圖3C是從圖3A的輸入圖像中獲取的先驗矩陣的示意圖;圖4是使用圖像合成框架的方法的流程圖5是初始化圖像合成框架、配置該框架以及指定規(guī)范化方法的方法的流程圖6是使用圖像合成框架來對輸入圖像進行排序的方法的流程圖;圖7是使用圖像合成框架來執(zhí)行先驗計算和圖像合成的方法的流程圖8是用于圖像合成框架的狀態(tài)轉換圖9是用于提供圖像合成框架并允許形成數(shù)字拼貼圖的裝置的示意圖IO是創(chuàng)建供在創(chuàng)建拼貼圖時使用的能量函數(shù)的方法的流程圖;圖11是優(yōu)化過程的流程圖。附圖中使用相同的附圖標記來指代相同的部分。詳細描述下面結合附圖提供的詳細描述旨在作為對本示例的描述,而非表示用于解釋或利用本示例的唯一形式。本說明書闡述本示例的功能以及用于構7造和操作本示例的步驟序列。然而,相同或等價的功能與序列可由不同的示例來實現(xiàn)。雖然此處將各示例描述并示為在用于從數(shù)字照片產(chǎn)生拼貼圖的系統(tǒng)中實現(xiàn),但是所描述的系統(tǒng)只是作為示例而非限制來提供的。如本領域技術人員可以理解的,本發(fā)明的各示例適用于各種不同類型的選擇和/或標記系統(tǒng),這些系統(tǒng)使用任何類型的數(shù)字圖像,諸如來自視頻的靜止圖像、醫(yī)學圖像、紫外圖像、紅外圖像或任何其他合適類型的圖像等。圖1是圖像合成框架108的示意圖??蚣?08作為軟件框架或以任何其他合適的形式來提供并包括多個模塊??蚣?08接收任何合適形式的輸入圖像100并從輸入圖像100中的全部或部分產(chǎn)生數(shù)字拼貼圖104。輸入圖像和輸出的數(shù)字拼貼圖可以是任何合適的形式,包括但不限于,JPEG、BMP、GIF和PNG。這些輸入圖像可包括指示阿爾法通道是否存在的阿爾法(alpha)信息,并且可以是從單色到例如32位的任何圖像色彩深度。所輸出的數(shù)字拼貼圖的大小可被控制為具有任何寬度和高度。例如,多個輸入圖像IOO可以是諸如假期等事件的大約50張照片的個人數(shù)據(jù)集的集合。照片可以是不同大小的并且可彼此不同,這表現(xiàn)在它們并非已經(jīng)沿著供聯(lián)接的接縫大致匹配。例如,某些照片可能是在晚上拍攝的而某一些是在白天拍攝的。有些可能是風景而有些可能是人像。通過形成拼貼圖,產(chǎn)生作為輸入圖像中的部分或全部的各部分的混合物的單個圖像。拼貼圖由此擔當例如用于概括家庭假期的圖像的輸入圖像的視覺類型概述。該多個輸入圖像不必諸如通過全部來自特定事件來彼此相關。拼貼圖可例如作為圖像集合的"縮略圖"來向用戶提醒輸入圖像的集合。在某些情況下,拼貼圖可擔當圖像檢索系統(tǒng)。例如,用戶可選擇拼貼圖的一個或多個部分,并且拼貼系統(tǒng)可檢索具有類似圖像特性的一個或多個圖、可檢索提供所選區(qū)域中的所描繪圖像的輸入圖像等。圖像合成框架108包括第一模塊101,其具有應用程序編程接口(API)106,該API可以是公共的并被安排成允許與一個或多個軟件應用程序105接口。第一模塊101在圖1中用虛線示出以指示其與API106集成。圖像合成框架108還包括一個或多個先驗計算模塊102和圖像合成模塊103。第一模塊101、先驗計算模塊102和圖像合成模塊103中的一個或多個可作為動態(tài)鏈接庫來提供。這些模塊可以按任何合適的格式來提供。先驗計算模塊102和圖像合成模塊103各自具有與帶有集成公共API106的第一模塊101的專用接口。由此,先驗計算模塊102和圖像合成模塊經(jīng)由具有集成公共API106的第一模塊101來控制。圖像合成框架108由此包括作為模塊101、102、103的結果的模塊化體系結構并且這使得能夠在運行時加載和配置這些處理模塊的不同實例。該圖像合成框架提供了一個或多個圖像100擔當輸入而單個合成圖像104作為輸出的數(shù)據(jù)處理流水線。對該流水線的控制通過對公共API106的調(diào)用來實現(xiàn)。第一模塊101和所集成的API106提供加載、配置和運行諸如先驗計算模塊102和圖像合成模塊103等插入模塊的功能。第一模塊101還提供加載和卸載輸入圖像100以及為這些圖像創(chuàng)建相關聯(lián)的數(shù)據(jù)結構的功能。該模塊被安排成對輸入圖像IOO進行排序并且還為這些輸入圖像中的一個或多個計算感興趣區(qū)域(RoI)。另外,該模塊提供保存輸出圖像104的能力。先驗計算模塊102提供基于諸如顯著特征(saliency)和臉部檢測等因素來計算輸入圖像100的先驗信息的功能。這在下面將更詳細地描述。圖像合成模塊103提供從輸入圖像和先驗計算結果形成數(shù)字拼貼圖的功能。這以任何合適的方式實現(xiàn)。軟件應用程序105可提供用于控制和/或查看由圖像合成框架108執(zhí)行的過程的用戶界面107。該用戶界面和軟件應用程序105使用任何合適的編程語言來以任何合適的方式提供并且使用公共API106來與圖像合成框架接口。通過圖像合成框架108的數(shù)據(jù)流示例現(xiàn)在將參考圖2描述。信息流開始于被饋送(框200)到框架108中的圖像100的收集。例如通過按比例縮小以匹配預定尺寸并確保各輸入圖像100的尺寸沒有太大的變化來規(guī)范化每一個輸入圖像100(框201)。例如,輸入圖像被表示為24位位像,其作為臨時文件存儲在盤上。然而,這并非是必需的,可使用針對輸入圖9像的任何合適表示格式。以任何合適的方式來對經(jīng)規(guī)范化的輸入圖像進行排序(框202)。圖像排序方法的示例將在下文中更詳細地描述。通過規(guī)范化輸入圖像,減少用于產(chǎn)生合成圖像的部分或所有階段所需的處理時間。例如,通過使用圖像規(guī)范化來減少要處理的數(shù)據(jù)量來減少圖像排序、感興趣區(qū)域計算所需的處理、先驗計算模塊處理和圖像合成模塊處理。因此,在規(guī)范化期間盡可能多地減小輸入圖像的尺寸是有益的。所得合成圖像然后可按比例放大至用戶指定的尺寸。然而,提供輸入圖像的規(guī)范化并非是必需的。然后將諸如前n個經(jīng)規(guī)范化的圖像等經(jīng)排序、規(guī)范化的圖像的子集饋送至包括使用先驗計算模塊的下一階段(框203)。然后在經(jīng)規(guī)范化的圖像的子集上運行那些已被選為在實例化圖像合成框架時使用的先驗計算模塊(框203)。每一個先驗計算模塊都從圖像中提取諸如關于該圖像中的臉部或顯著特征圖的信息等指定類型的信息。所提取的信息可被表示為矩陣,其可任選地具有與相關聯(lián)的經(jīng)規(guī)范化的圖像相同的尺寸。通過使用諸如該矩陣表示等一般表示,可能使得先驗計算和圖像合成模塊變得可插入,艮P,容易地互換、移除和/或替換。然后為經(jīng)規(guī)范化的輸入圖像中的一個或多個計算感興趣區(qū)域(框204)。該感興趣區(qū)域計算過程可在必要時由圖像合成模塊來內(nèi)部地調(diào)用。該感興趣區(qū)域計算過程可使用來自先驗計算模塊中的一個或多個的結果。將先驗計算模塊的結果和經(jīng)規(guī)范化的圖像的子集提供給形成數(shù)字拼貼圖的圖像合成模塊(框205)。然后存儲該數(shù)字拼貼圖(框206)。圖像合成模塊103將由先驗計算模塊計算的矩陣表示和經(jīng)規(guī)范化的圖像本身取作輸入。例如,該模塊以被饋送到先驗計算模塊的相同的經(jīng)規(guī)范化的圖像工作。該模塊還可在輸入圖像中的一個或多個被規(guī)范化之前取這些圖像作為輸入。這些原始輸入圖像可以在將合成圖像按比例放大至用戶指定的尺寸時使用。該模塊較佳地也是可插入的。該模塊始終期望將多個經(jīng)規(guī)范化的圖像及其相關聯(lián)的先驗矩陣(或其他先驗計算模塊輸出)作為輸入。該模塊生成單個圖像作為輸出。例如,輸出圖像通過處理經(jīng)規(guī)范化的輸入圖像及其先驗矩陣,取決于先驗矩陣的用戶可定義的加權組合來取得圖像的各部分并將其放在該輸出圖像中的特定位置來生成。該輸出圖像然后可進行后處理并可任選地按比例放大至用戶指定的尺寸。圖3A是經(jīng)規(guī)范化的輸入圖像300的示意圖而圖3B示出了檢測到感興趣區(qū)域301的此相同的經(jīng)規(guī)范化的輸入圖像。該感興趣區(qū)域以如將在以下更詳細地描述的任何合適的方式來檢測。圖3C是從圖3A的經(jīng)規(guī)范化的輸入圖像中獲取的先驗矩陣304的示意圖。假設該先驗矩陣用于存儲臉部檢測過程的結果。該先驗矩陣具有與輸入圖像相同的尺寸(盡管這并非必需)并且該矩陣中處于對應于感興趣區(qū)域302的位置的值被賦予相同的指定值(諸如例如,1),因為這些值與檢測到臉的地方的圖像元素相關。矩陣中處于其他位置303的值被賦予一不同的相同指定值(諸如例如,0)。每一個先驗矩陣都包括圖像塊的二維數(shù)組,其中圖像塊是單個像素或者是諸如32X32像素或另一大小等的一組像素。先驗計算模塊用關于輸入圖像的信息來填充這一矩陣。例如,標識圖像中臉部的先驗計算模塊可在矩陣中在發(fā)現(xiàn)臉部的位置標記高位勢值而在別處標記低位勢值。在一個示例中,先驗計算模塊被安排成以位勢值的高斯分布來填充位勢矩陣。然后可使用該模塊來根據(jù)位置來對圖像中的信息進行差異化的加權。例如,在圖像中最重要的信息被包含在接近中心的地方的情況下,該先驗計算模塊能夠相應地對該圖像信息進行加權。在另一示例中,先驗計算模塊被安排成用從輸入圖像的相應區(qū)域計算出的對比度值來填充位勢矩陣。在另一示例中,先驗計算模塊標識輸入圖像中的一個或多個臉部并標記位勢矩陣中的相應值。通過對每一個先驗計算模塊的結果使用相同的矩陣表示,互換和/或使用先驗計算模塊的不同組合是可能的。另外,可快速且容易地差異化地調(diào)整賦予每一個先驗計算模塊的結果的權重。例如,在一個實施例中,圖1中的軟件應用程序105可被安排成提供用戶界面107,其提供復選框和滑塊的圖形顯示。復選框被安排成允許選擇要使用的先驗計算模塊而滑塊被安排成設置要在圖像合成過程中賦予所選先驗計算模塊的結果的相對權重。以此方式給予用戶控制以取決于所選先驗計算模塊和所選相對權重來獲取不同的結果。可使用任何適合的用戶界面項來代替復選框和滑塊。在一示例中,圖像合成框架使用面向對象的編程語言來提供,盡管這并非必需。使用通過使用面向對象的編程語言來提供的圖像合成框架的示例的方法現(xiàn)在將參考圖4來描述。加載外部圖像文件(作為輸入圖像100)。返回所得圖像作為圖像對象(框400)。為每一個輸入圖像創(chuàng)建并初始化根圖像對象(框401)。作為該過程的一部分,生成圖像的經(jīng)規(guī)范化的版本(框402)并創(chuàng)建和初始化位勢矩陣向量(框403)(矩陣向量的大小可等于要使用的先驗計算模塊的數(shù)量)。然后以任何合適的方式來對根圖像對象排序(框401)。例如,這些根圖像對象根據(jù)指定質量(一元)和相異性(二元)度量來排序并根據(jù)該排序來定序。然后將排在前N個的根圖像對象傳遞給每一個先驗計算模塊(框405)。這些先驗計算模塊對存儲在這些根圖像對象中的經(jīng)規(guī)范化的圖像執(zhí)行所需計算。將所得數(shù)據(jù)存儲在也可被包含在根圖像對象中的位勢矩陣對象中(框406)。然后將該根圖像對象傳遞給生成最終合成輸出圖像的圖像合成模塊(框407)。如上所述,圖像合成框架(ISF)包括公共API。換言之,該ISF展示可供軟件應用程序或其他實體用來控制圖像合成過程的一組公共API函數(shù)?,F(xiàn)在給出用于該公共API的合適的函數(shù)的示例。這只作為示例來提供;也可使用類似函數(shù)的其他組合。<table>tableseeoriginaldocumentpage12</column></row><table>ISFLoadConfigFile給定配置文件的完整路徑和文件名,ISFLoadConfigFile加載該指定文件,并且然后加載并初始化該文件中所列出的模塊。ISFSaveConfigFile給定XML配置文件的完整路徑和名稱,ISFSaveConfigFile將當前ISF模塊配置保存到該指定文件。ISFLoadPriorModule給定模塊的路徑和名稱,ISFLoadPriorModule加載并初始化所指定的PriorCompute(先驗計算)模塊。如果該同一模塊被加載多于一次,則該函數(shù)將失敗并返回ELOADMODULE。ISFLoadSynt固odule給定模塊的路徑和名稱,ISFLoadSynthModule加載并初始化所指定的ImageSynth(圖像同步)模塊。每次調(diào)用該函數(shù)時,都將會卸載先前加載的ImageSynth模塊(如果存在的話),并且將加載并使用新指定的模塊。ISFGetPriorlnfo該函數(shù)用于返回關于當前加載的PriorCompute模塊的信息。注意,ISFFreePriorlnfo應在調(diào)用該函數(shù)之后調(diào)用以確保模塊向量信息被正確地釋放。ISFFreePriorlnfo該函數(shù)用于釋放由ISFGetPriorlnfo函數(shù)返回的模塊向量信息。ISFSetPriorlnfo該函數(shù)用于配置先前加載的PriorCompute模塊,包括啟用/禁用它們并設置加權。ISFGetSynthlnfo該函數(shù)用于返回關于當前加載的ImageSynth模塊的信息。ISFFreeSynthlnfo該函數(shù)用于釋放由ISFGetSynthlnfo函數(shù)返回的{曰息。ISFSetSynthlnfo該函數(shù)用于設置所指定的合成信息。ISFSetNormalizationlnf0用于指定應如何執(zhí)行圖像規(guī)范化。ISFSetRankinglnfo用于指定在排序時使用的參數(shù)。ISFLoadlmage加載所指定的輸入圖像,規(guī)范化該圖像并創(chuàng)建相應的CRootlmage對象。ISFUnloadlmage卸載所指定的圖像并釋放相應CRootlmage對象。ISFUnloadAllImages卸載所有圖像并釋放相應CRootlmage對象。ISFSetBackgroundlmage指定在圖像合成過程期間應將哪一個輸入圖像用作背景圖像。ISFSetPriorStatusCallback該函數(shù)用于設置先前回調(diào)函數(shù)。該回調(diào)在已調(diào)用ISFRunPriorComputes之后周期性地調(diào)用,并13<table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table>圖5是用于初始化和配置ISF的實例化的方法的流程圖??赏ㄟ^調(diào)用ISFInit來初始化新ISF實例(框501)。在成功后,該函數(shù)返回當前ISF實例的句柄(框502)。該句柄然后可作為第一參數(shù)來傳遞給所有其他ISFAPI函數(shù)。每次調(diào)用ISFInit時,它都返回唯一的句柄,從而允許實例化多個ISF實例。當不再需要ISF實例時,可做出對ISFDelnit的調(diào)用,該函數(shù)釋放任何分配的資源??梢园炊喾N方式配置ISF(框503)。配置包括告訴ISF加載哪些先驗計算和圖像合成模塊。配置可單獨或組合使用以下方法中的任一種來實現(xiàn)通過調(diào)用ISFLoadConfigFile來使得ISF加載指定要加載哪些插件模塊的配置文件(框504);通過經(jīng)由調(diào)用ISFLoadModuleFolder來使得ISF加載位于指定文件夾中的所有模塊(框505);通過經(jīng)由調(diào)用ISFLoadModule來使得ISF個別地加載模塊(框506)。在該階段,可做出對ISFGetPriorlnfo的可任選調(diào)用(框507)。這返回指向可用于啟用或禁用各個先驗計算模塊并控制賦予先驗計算結果的加權的結構的指針向量。對ISFGetPriorlnfo的調(diào)用可以與對ISFFreePriorlnfo的調(diào)用匹配以確保釋放模塊信息。例如使用ISFSetNormalizationlnfo來指定要使用的圖像規(guī)范化方法(框508)。圖6是加載輸入圖像并運行圖像排序的方法的流程圖。一旦己初始化并配置了ISF,就可作出使得該ISF加載指定圖像的對ISFLoadlmage的調(diào)用(框600)??啥啻握{(diào)用該函數(shù)以允許加載一組輸入圖像。圖像可通過調(diào)用ISFUnloadAllImages或ISFUnloadlmage來在其間框架不忙于處理的任何時刻卸載所有圖像或僅僅一特定圖像。如果需要,則可設置回調(diào)函數(shù)(框601)。例如,可作出對ISFSetPriorS塗sCallback、ISFSetRankingStatusCallback禾口ISFSetSynthStatusCallback的調(diào)用。這設置了在排序、先驗計算和圖像合成處理階段期間調(diào)用的回調(diào)函數(shù)。該回調(diào)函數(shù)接收關于各處理操作的進展信息,并可用于向例如用戶顯示進展信息。該進展信息是任何合適的類型。例如,它包括0和100之間的數(shù)字,其中ioo用于宣告該特定階段已完成處理。接著例如通過作出對ISFRunlmageRanking的調(diào)用來執(zhí)行圖像排序(框602)??赏ㄟ^調(diào)用ISFGetRankingResults來査詢結果(框603),并且一旦不再需要結果,就作出對ISFFreeRankingResults的后續(xù)調(diào)用。用戶可通過調(diào)用ISFMovelmageToRank來將圖像移至指定排序(框604)。如圖6所示,可任選地暫停和恢復該排序過程。圖7是運行先驗計算模塊并合成圖像的方法的流程圖。例如通過作出對ISFRunPriorComputes的調(diào)用來運行所加載的先驗計算模塊(框700)并且可暫停(框702)和恢復(框701)該過程??赏ㄟ^對ISFGetPriorResults的調(diào)用來獲取任一輸入圖像的先驗結果(框703)。一旦不再需要這些結果,就可作出對ISFFreePriorResults的調(diào)用。一旦已獲取先驗計算結果,就可例如通過作出對ISFRunSynthlmage的調(diào)用來運行圖像合成模塊(框704)??蓵和?框706)和恢復(框705)該合成過程??衫缤ㄟ^調(diào)用ISFSaveSynthlmage來保存合成圖像(框707)。該合成圖像可經(jīng)由對ISFGetSynthlmage的調(diào)用來作為BITMAPINFOHEADER(位圖信息首部)和指向圖像數(shù)據(jù)的指針來返回在存儲器中。每一個ISF實例在某些示例中都維護內(nèi)部狀態(tài)變量。取決于當前狀態(tài),某些API函數(shù)可返回錯誤代碼。這指示該當前狀態(tài)禁止作出該特定函數(shù)調(diào)用。例如,需要確保所有模塊在輸入圖像加載進行之前加載??稍谌魏螘r刻作出對ISFGetState的調(diào)用以確定當前狀態(tài)。圖8是示出一個實施例中的ISF的各種狀態(tài)的示例狀態(tài)轉換圖。這些狀態(tài)中的不同狀態(tài)可以按各種組合來使用并且狀態(tài)可以按不同的次序來使用。同樣,從大多數(shù)狀態(tài)調(diào)用ISFDelnit以迫使清理所有分配的資源并迫使狀態(tài)回到ISF—UNINITIALIZED(ISF取消初始化)是可能的。在任何可允許狀態(tài)中對ISFLoadlmage的調(diào)用被安排成將該狀態(tài)重置為ISFLOADIMAGE(ISF加載圖像)。在這種情況下,新圖像尚未具有為其16計算的任何數(shù)據(jù),諸如排序、感興趣區(qū)域或先驗計算模塊結果等。將該狀態(tài)重置為ISF—LOADIMAGE允許計算這些數(shù)據(jù)。同樣,在某些實施例中,在可能的情況下高速緩存和重用先驗計算模塊的結果以減少處理時間。從其中ISF尚未被初始化的狀態(tài)開始(框800),ISF可變成經(jīng)初始化的(框801)并且它可被移至其中已加載先驗計算和圖像合成模塊的狀態(tài)中(框802)。下一狀態(tài)在己經(jīng)加載輸入圖像時發(fā)生(框803)并且之后狀態(tài)可以是排序過程正在運行(框804)并且然后完成(框806)。該排序過程可能處于暫停狀態(tài)(框805)。當先驗計算模塊正在運行時狀態(tài)在框807中示出并且該過程可被暫停(框808)。一旦先驗計算過程完成,該狀態(tài)就在框809中示出。接著圖像合成過程進行(框810)并且然后完成(框812)。該圖像合成過程也可被暫停(框811)。圖9是用于提供ISF904的裝置900的示意圖。該裝置具有被安排成接收輸入圖像的圖像輸入設備903。該輸入設備是任何合適的類型,諸如網(wǎng)絡連接、USB連接、盤驅動器、用戶界面或其他輸入設備。該裝置包括處理器905,其可作為計算機或任何其他合適類型的處理器來提供。操作系統(tǒng)906用于控制處理器和裝置900并且存在存儲器907。圖像合成框架904作為軟件或以任何其他合適的形式來提供,并且可使用操作系統(tǒng)906并在任何合適類型的軟件應用程序902的控制下在處理器905上執(zhí)行。軟件應用程序902可任選地連接到用戶界面901,諸如圖形用戶界面或其他類型的用戶界面等。在某些實施例中,為了簡化對于先驗計算和圖像合成模塊的加載和接口,使用包裝類。例如,這些類可從例如被稱為CpluglnWrapper類的自定義包裝類中導出,該包裝類提供對加載和卸載dll模塊的支持以及對獲取導出的dll函數(shù)的過程地址的通用支持。在一示例中,其他導出的類CpriorComputeWrapper和CimageSynthWrapper提供用于訪問導出的dll函數(shù)的特定元函數(shù)。這些包裝類在圖像合成框架、圖像合成模塊和先驗計算模塊客戶機側調(diào)用的任一個周圍提供面向對象的包裝器。例如,每一個ISF實例都維護CpriorComputeWrapper對象(每一個已加載的先驗計算模塊都有一個)和單個CimageSynthWrapper對象的向量。每一個ISF實例都還可維護在調(diào)用或者ISFLoadlmage或者ISFLoadlmageFolder時創(chuàng)建的根圖像對象的向量。在一示例中,根圖像對象被稱為Crootlmage對象,其是根圖像對象的面向對象的0++實現(xiàn)。先驗計算模塊各自實現(xiàn)與ISF的公共專用API接口。例如,先驗計算模塊底層的代碼被包含在CPCMain類中。每一個先驗計算模塊都維護CPCMain對象的向量。這允許不同的ISF實例使用不同且唯一的先驗計算模塊實例。以此方式,由每一個先驗計算模塊維護的狀態(tài)信息可被存儲在對于每一個實例是唯一的先驗信息結構中。每一個不同的先驗計算模塊都具有相關聯(lián)的GUID值。PCCompute函數(shù)可將該GUID值存儲在根圖像對象中。這使得圖像合成模塊能夠在稍后確定哪一個先驗計算模塊創(chuàng)建了哪一個位勢矩陣。在一示例中,由先驗計算模塊專用API提供的函數(shù)包括PCInit—用于初始化新的先驗計算模塊實例并返回句柄的初始化函數(shù)PCDelnit—用于將先驗計算模塊取消初始化,清理并釋放任何分配的資源PcGetPriorlnfo—用于獲取當前模塊信息PCFreePriorlnfo—用于釋放由PCGetPriorlnfo函數(shù)返回的信息PCSetPriorlnfo—用于設置模塊信息。例如,這包括啟用/禁用模塊并設置加權因子PCCompute—該函數(shù)運行先驗計算過程并將結果保存在Crootlmage對象中。圖像合成模塊實現(xiàn)與ISF的公共專用API接口。例如,這包括以下函數(shù)ISInit—用于初始化新圖像合成模塊實例ISDelnit—用于將圖像合成模塊取消初始化ISGetSynthlnfo—用于獲取當前模塊信息ISFreeSynthlnfo—用于釋放由ISGetSynthlnfo函數(shù)返回的信息ISSetSynthlnfo—用于設置指定信息ISSetStatusCallback—用于設置回調(diào)函數(shù)ISPause—用于暫停當前處理操作ISResume—用于在對ISPause的調(diào)用之后恢復處理操作ISStop—用于終止當前處理操作ISSaveSynthlmage—用于將合成圖像保存到指定文件ISGetSynthlmage—用于檢索合成圖像的副本ISFreeSynthImage—用于釋放由ISGetSynthlmage返回的圖像數(shù)據(jù)ISSynth—執(zhí)行合成過程ISSetlSFStateCallback—用于設置ISFcallback函數(shù)在一特定示例中,感興趣區(qū)域計算、圖像排序、先驗計算模塊中的某一個以及圖像合成過程是如在我們早先在2006年IO月24日提交的專利申請11/552,312中所描述的?,F(xiàn)在給出關于此的更多細節(jié)。自動形成拼貼圖的過程被表征為標記問題。拼貼圖中的標簽指定使用輸入圖像的哪些區(qū)域來形成這些拼貼圖。存在各自對應于不同的位勢拼貼圖的大量可能的標記。我們的任務是按照我們的準則來找到最優(yōu)標記以使得所得拼貼圖是令人滿意的、具信息性(informative)的并且是輸入圖像的良好概述。關于可使用的示例標記系統(tǒng)的更多細節(jié)將在以下給出。為標記的能量創(chuàng)建能量函數(shù),其包含被定制或設計成使得系統(tǒng)能夠考慮所指定的各種準則以產(chǎn)生良好的拼貼圖的各個方面。關于能量函數(shù)的更多細節(jié)將在以下給出。能量函數(shù)具有作為創(chuàng)建能量函數(shù)的一部分來指定的各種參數(shù)或權重。這些參數(shù)或權重影響考慮不同準則的程度。可任選地,輸入圖像的對象識別結果從一個或多個先驗計算模塊獲取并且該信息或者在能量函數(shù)本身中作為參數(shù)的一部分或者在可任選的約束指定過程期間使用。指定對能量函數(shù)的一個或多個約束,其可例如允許降低計算復雜度或可用于允許產(chǎn)生更好的拼貼圖。關于示例約束的更多細節(jié)將在以下給出。對能量函數(shù)執(zhí)行將任何指定約束考慮在內(nèi)的優(yōu)化過程??墒褂萌魏芜m合的優(yōu)化過程并且示例在以下給出。該優(yōu)化過程找出作為可能的標記的能量函數(shù)的最大值和最小值(或者局部最大值或者局部最小值)。每一個可能的標記都對應于拼貼圖。存儲或顯示這些拼貼圖中的一個或多個。標記19現(xiàn)在將給出關于指定問題的過程的更多細節(jié)。對自動拼貼圖(AutoCollage)的輸入是一組輸入圖像I={/,..,"}。為了標準化輸入,假設已應用先驗處理步驟,使得每一個圖像/"都被縮放成具有單位面積,同時保持各個圖像的高寬比。如上所述,拼貼圖的創(chuàng)建被視為標記問題,這將使用以下符號來描述。拼貼圖本身是在域p上定義的圖像/,并且將通過該算法來將標簽丄0^分配給拼貼圖的每一個像素位置peP。標記丄"zO^,pe尸l如下完全指定拼貼圖。單獨的標簽具有形式Z(^"",s),其中/"eI是從其中取得拼貼圖像素p的輸入圖像,而seS是輸入圖像M相對于拼貼圖的逐個像素二維移位,使得/(p)-407-s)。這簡潔地寫為/(p)=S(a丄(p》,其中S(.)由S(a(",s))=/(p-s)來定義并被規(guī)范化為S(…)exx。該方法尋求找出可能的標記空間L中的最佳標記丄eL。這被表達為找出最小化能量或成本E(丄)的標記丄,這將在以下詳細定義。定義在允許的標記空間中高效地搜索的優(yōu)化過程以獲得具有低能量的標記,但因為該方法是近似的,所以全局最小值并非必需。注意,通過比較,在其中預對齊所有輸入圖像的其他人的早先研究中,每一個像素標簽都單獨由圖像索引組成,而沒有任何移位變量s。在當前情況下,該優(yōu)化問題更為復雜,因為不僅在每一個像素處的圖像索引"-l,…,W上搜索,而且在允許的移位s上搜索是必需的。拼貼圖能量為標記L創(chuàng)建能量函數(shù)的過程現(xiàn)在將參考圖10來更詳細地描述。這包括一起添加一個或多個能量項,這些能量項中的每一個都被設計或定制成指定所需準則或特性以產(chǎn)生良好的標記(或拼貼圖)。在一特定示例中,能量函數(shù)包括如下給出的四個項。然而,這不是必須的。使用這些項中的任意一個或多個或在適當時使用其他能量項也是可能的。標記丄的能量包括以下四項=£rep(丄)+m;,£,,(丄)+>vtrans£trans(Z)+w。bj£。bj(丄)(1)第一個項AJ頃向于從最具代表性的輸入圖像集中選擇圖像,這有兩層意思第一層是所選圖像是紋理上"感興趣的"而第二層是它們互不相同。例如,這可具有將不會選擇接近重復的圖像的效果?!阇項確保從1中的每一個圖像中選擇實質的且感興趣的感興趣區(qū)域。接著,£,是處罰并非在視覺上吸引人的圖像之間的任何過渡的成對項。最后,E。bj結合關于對象識別的信息,并且偏愛按合理的配置(在此處的實現(xiàn)中為整體保存的臉部、頂部的天空)來放置對象。以下,這些能量項中的每一個與必需維護的約束一起詳細定義?,F(xiàn)在將給出能量項£rep的示例。第一可能能量項用于從變得可用的輸入圖像的集合中選擇一個或多個輸入圖像(圖10中的框3000)。例如,只選擇最感興趣的輸入圖像而不是例如,空白的或包含極少細節(jié)的輸入圖像。另外,可任選地選擇不同的圖像。例如,提供用于從該組可用的輸入圖像中選擇最具代表性且不同的圖像的能量項(圖10中的3000)。例如,選擇來自所有可用輸入圖像的在紋理上最具信息性的輸入圖像。圖像可在對圖像中的信息量的度量的基礎上選擇??扇芜x地,選擇可使用對象識別系統(tǒng)所提供的信息來基于關于圖像是否包含特定對象類的圖像,諸如臉部、人、建筑物、汽車或其他指定的對象類等的信息。為了拒絕非常相似的圖像,系統(tǒng)可使用任何合適的圖像相似度指示符,諸如顏色直方圖、相關性指示符或任何其他合適的度量等。以此方式減少了拼貼圖中的資料重復。在一特定示例中,與所選圖像的集合I相關聯(lián)的成本具有五邵=21五邵(")的形式,其中<formula>formulaseeoriginaldocumentpage21</formula>并且是附屬指示符變量,如果拼貼圖中存在圖像/,則取值l,否則取為0:<formula>formulaseeoriginaldocumentpage21</formula>一元項A07)是對圖像"中的信息的度量。該信息度量由下式來定義Dr(")+Entr0py(/)+氣^({圖像"包含臉部》(3)其中如果判定K為真,貝W(;r)-l,并且w細對包含臉部的圖像相對于該圖像中的一般紋理信息的影響加權。用于為給定圖像計算熵的直方圖在來自丄,"》顏色系統(tǒng)的二維fl》空間中構造并被離散成16x16個柱體。(2)中的第二個項按照圖像之間的成對距離",6來表達,并且對每一個圖像與其在集合I中的最近鄰居的距離求和。作為距離度量^e,可在一對圖像的顏色直方圖之間使用經(jīng)規(guī)范化的卡方(chi-squared)距離。這些直方圖如上所述地在",&空間中構造。該能量鼓勵使用盡可能多的圖像,同時也偏愛最具代表性的圖像??商峁┝硪豢赡艿哪芰宽?,其用于確保從每一個圖形中選擇實質的且感興趣的感興趣區(qū)域(框3100)。例如,該能量項考慮輸入圖像中一像素周圍的指定區(qū)域的局部熵度量。該局部熵度量是可能的圖像區(qū)域顯著特征指示符的示例。可改為使用其他顯著特征指示符。例如,Itti,L.、Koch,C.和Niebur,E.1998年在關于圖案分析和機器智能20,11的IEEE會報上發(fā)表的"Amodelofsaliencybasedvisualattentionforrapidsceneanalysis(用于快速場景分析的基于顯著特征的視覺關注模型)"中的顯著特征模型??扇芜x地,對該能量項加權以使得感興趣區(qū)域偏愛輸入圖像的中央。然而,這不是必需的。通過使用該能量項,降低小的、視覺上無意義的圖像片段出現(xiàn)在拼貼圖中的可能性是可能的。該"感興趣區(qū)域"能量項(也被稱為重要性成本能量項)現(xiàn)在將針對一特定示例來詳細描述。重要性成本由以下形式的一元項組成AmP(z)=—i:^np(p乂(p))(4)函數(shù)£,(a=g(a,其中r(Az(一)在"6坐標系中測量像素p周圍的(32X32像素)區(qū)域的局部熵,并被規(guī)范化以使得該局部熵在給定輸入圖像上的總和為1。高斯加權函數(shù)G(...)偏愛從中抽取p的輸入圖像的中央。另一可能的能量項基于對跨輸入圖像之間的邊界的失配的度量來處罰圖像之間的過渡(框3200)。例如,該能量項還被定制成鼓勵任一輸入圖像中的高對比度邊界上的過渡。在一特定示例中,這一能量項被稱為過渡成本并將在以下詳細描述。22示例過渡成本具有£_=1^,(^,^),^))的形式,其中iv是所有相鄰(8個鄰居)像素對的集合。將項r定義為<formula>formulaseeoriginaldocumentpage23</formula>(5)定義歐幾其中強度函數(shù)S(...)是如上所定義的,£=0.001防止下溢,并且1|里德模方??偠灾錨度量跨兩個輸入圖像之間的邊界的失配。為了看到這點,首先觀察^(/^,丄0^丄(《》=0,除非i^—)。然后注意,如果輸入圖像中的一個中存在強梯度,則r,fo-W丄fa^o是小的,因為相關分母隨后將變大。使用最小化操作,因為該問題中的鄰近圖像通常從通常不匹配的相當不同的場景中取得。除了鼓勵跨該邊界的良好匹配的普通效果之外,能量選擇然后大致在鼓勵任一場景中的高對比度邊界上的過渡時起效。另一可能能量項允許考慮來自對象識別系統(tǒng)(例如,先驗計算模塊)的信息(圖10中的框3300)。例如,為輸入圖像中所描繪的一個或多個對象標識對象類并使用該信息來影響拼貼圖的創(chuàng)建(參見框3400)。在一個示例中,檢測臉部并定制能量項以使得如果拼貼圖中包括臉部,則傾向于整體地包括該臉部。在另一個示例中,如果檢測到天空區(qū)域,則傾向于只在拼貼圖的頂部附近包括這些天空區(qū)域。在一個特定示例中,具有能量項=^-/&"0^(^,其中《,=oo,只要#并且是來自或丄()的圖像中的任一個中的同一臉部的像素,否則為O。對于天空,僅標記包含天空的圖像并將該信息傳遞給試圖將這些圖像只定位在拼貼圖的頂部的約束滿足引擎,而不是定義顯式能量。為該能量函數(shù)指定參數(shù)。這些參數(shù)可手動指定或可通過使用調(diào)整過程并對系統(tǒng)進行非正式測試來確定。例如,在一個實施例中,使用以下參數(shù)值,但要注意,這些參數(shù)值可在產(chǎn)生很大的變化的同時仍然提供可操作的結果。例如,取w,mp=10.0,mv如s=1.0,w。bj=1.0,wface=0.01??扇芜x地指定對能量函數(shù)優(yōu)化的約束。通過以此方式指定約束,可提高所產(chǎn)生的拼貼圖的質量并且還可降低計算復雜度。第一約束涉及感興趣區(qū)域相對于從其中取得該感興趣區(qū)域的整個圖像的所包含的信息量。例如,該約束用于針對只可選擇小的且不可識別的輸入圖像片段并在拼貼圖中使用的可能性進行保護。感興趣區(qū)域中所包含的信息量(或者絕對或者相對)必須多于例如指定閾值。在一特定示例中,感興趣區(qū)域必須捕捉相關聯(lián)的輸入圖像信息的至少90%。然而,可使用任何合適的閾值。在被稱為信息界限約束的該第一約束的特定示例中,存在于標記中的任一圖像/(即,對于任意S和任意peP,丄(p—(",S))必須滿足《mp(z,")>:r,(6)其中4P(二")e是ROI中所捕捉的局部圖像信息J;£,mp(a丄(戶))的比例。在一示例中,r=o.9,g卩,使得捕捉圖像信息的至少卯%。另一可任選約束在此處被稱為統(tǒng)一移位約束。該約束指定給定輸入圖像能以僅一個唯一的二維移位(相對于拼貼圖的輸入圖像的)出現(xiàn)在拼貼圖中。例如,給定輸入圖像/"能以僅一個唯一的移位S出現(xiàn)在拼貼圖中,即,給定兩個不同的像素/^eP.;^^標簽丄(p)"",s),Z(《)"",s'),要求「s'。該約束對于計算效率以及確保保持輸入圖像的結構而不引入變形部分有用。另一可任選約束此處被稱為連接性約束。該約束指定從同一輸入圖像抽取的拼貼圖像素應較佳地但并非本質上符合的相對位置標準。例如,從圖像"抽取的拼貼圖像素的每一個集合SnG(pEP:對于某s,L(pMn,s)〉應形成4連通區(qū)域。這在優(yōu)化期間是受到鼓勵的。另一約束是拼貼圖中的所有或指定比例的所有像素都必須被標記,艮P,不想具有太多未標記的像素,因為這些像素給出視覺上不吸引人的拼貼圖中的空白區(qū)域。對能量函數(shù)執(zhí)行將任何指定約束考慮在內(nèi)的優(yōu)化過程。在一個實施例中,如以上引用的我們早先的專利文獻中所描述地使用單階段圖切(graph-cut)優(yōu)化過程。在另一組實施例中,使用啟發(fā)式方法,其中標記24的各方面獨立地或在單獨的優(yōu)化階段被優(yōu)化(或者并行或者串行,如將在以下詳細描述的)。通過以此方式使用多階段優(yōu)化過程,能夠應付計算復雜度并且提供快速且可針對諸如50個或更多輸入圖像等大型輸入圖像集合進行縮放的系統(tǒng)。圖11示出了根據(jù)一個示例的四個優(yōu)化階段。輸入圖像在排序過程4000期間在這些圖像包含多少信息以及拒絕鄰近重復的基礎上靜態(tài)地進行排序。這使用參考圖10中的框3000描述的能量項(也被稱為E^能量項)來完成。為每一個輸入圖像選擇感興趣區(qū)域(框4100)并根據(jù)指定約束來最小化這些感興趣區(qū)域。例如,感興趣區(qū)域是矩形的(其中矩形包括正方形)或具有任何其他指定形狀。約束可以是例如上述信息界限約束以及應包括所有檢測到的臉部的要求。通過使用顯式感興趣區(qū)域選擇過程,即使在輸入圖像在紋理和信息內(nèi)容方面非常不同的情況下也能夠產(chǎn)生高質量拼貼圖。對輸入圖像進行排序以及選擇感興趣區(qū)域的步驟可并行或串行執(zhí)行。然后解決組裝問題(框4200)以便將具有最高排序的許多圖像組裝和定位到拼貼圖所允許的區(qū)域中,而不允許感興趣區(qū)域重疊。同樣,拼貼圖中的每一個像素都不應被留白,但這個要求并非強制性的。然后使用優(yōu)化過程(框4300)來調(diào)整拼貼圖中的兩個或多個圖像的重疊區(qū)域中的像素身份??墒褂萌魏魏线m的優(yōu)化過程,諸如如下所述的圖切優(yōu)化。合適的優(yōu)化過程的其他示例包括但不限于信任傳播、模擬鍛煉(simulatedannealing)、ICM和TRW。這四個優(yōu)化步驟中的每一個現(xiàn)在將參考一特定示例來更詳細地描述。圖像排序。該排序步驟,在優(yōu)化序列中,解決了拼貼圖能量(l)中的&p項。首先重新標記圖像/以使得索引"根據(jù)子集/1,...,/多具有代表性來對這些圖像進行排序。這是直截了當?shù)?,因為^^p(w)僅僅是按照第"個圖像及其具有較高排序的前導者來獨立計算的靜態(tài)排序。因此,該第"個圖像被貪婪地選為最小化—(w)—min"m(",w),的圖像,從而調(diào)整項Aj^(2)。然后將所得排序傳遞給以下約束滿足步驟。感興趣區(qū)域(ROI)優(yōu)化。每一個輸入圖像,的ROI都通過單獨對于每一個圖像最小化來調(diào)整,ROI區(qū)域服從于滿足信息界限約束(6)以及包括所有檢測到的臉部的約束。這通過構造諸如Crow,F.1984年在ACM計算機繪圖專業(yè)組會刊第207-212頁中發(fā)表的"Summonedareatablesfortexturemapping"(用于紋理映射的總計面積表)中所描述的總計面積表以便快速査找任何矩形ROI中的全部信息Z-《mp(A丄(P》來實現(xiàn)。然后枚舉所有矩形并檢查約束滿足以選出具有最小面積的矩形。該操作在/"的像素數(shù)量中是二次的,并且這通過二次抽樣來緩解。這在包括所有檢測到的臉部的約束下完成。約束滿足。在此處,組裝子問題可如下陳述。給定一組所選圖像及其ROI以及以上所計算的排序。目標是在拼貼圖的寬度和高度內(nèi)結合盡可能多的高排序圖像,同時考慮每一個像素都應被某一圖像覆蓋(但未必被某一ROI覆蓋)的附加約束。該組裝問題由于同時存在對非重疊(沒有兩個ROI相交)以及覆蓋(每一個像素都被一圖像覆蓋,但未必被ROI覆蓋)的約束而是不同尋常的。通用方法是將該問題建模為一組變量之間的一組約束(不等式、布爾和線性表達式),然后通過應用約束滿足技術來解決這些約束?,F(xiàn)在將描述使用約束來對該問題建模的一種方式(可另選地考慮若干變量)。在該問題中,該組變量是產(chǎn)={,外,&ii:).w=1..."JV},(7)每一個圖像的位置k,;0和布爾標志&指示該圖像是否將被包括。為了表達ROI不相交(非重疊)的事實,對圖像成對地應用約束;典型的約束將會是if6與Zmthen;r或;r2"..,(b)其中典型的提議是>Wm+Wn),其中氣和^分別是R01的半寬度。因為可交換ROI對的相對位置,所以這些約束出現(xiàn)在析取集合中。為了表達拼貼圖的每一個像素都落在至少一個圖像的表面下(覆蓋),對每一個像素實施約束;典型的約束將會是|/-x"IS/\|_/_少I《//其中『和//分別是圖像11的半寬度和半高度。該約束強制實行像素(i,j)應26被第n個圖像覆蓋。例如,對每一個像素實施這些約束的析取,從而對這些像素中的每一個都應被(至少)一個圖像覆蓋的要求建模。可包括其他對象敏感約束,例如,可堅決主張具有天空的圖像只出現(xiàn)在拼貼圖的頂部。涉及約束的布爾組合的問題服從于基于約束編程(CP)的方法。例如,為了高效地獲得好的解決方案,使用現(xiàn)在將描述的兩步方法。第一個步驟(分支限界)通過只考慮對ROI的非重疊約束來解決該問題;然后第二個步驟(局部搜索)糾正該解決方案以考慮覆蓋約束。1.分支限界。第一個優(yōu)化步驟的框架是深度優(yōu)先搜索,其目的在于最大化所選圖像的數(shù)量及其質量(等式(2))。如Waltz,D1975年在視覺心理學(W.P.H.編輯、McGraw-Hill在紐約出版)中的"Understandinglinedrawingsofsceneswithshadows"(理解具有陰影的場景的線條畫)中所描述的約束傳播被應用于子樹,從中該子樹或者可被剪除或者減少其搜索空間。實數(shù)變量(xn,yn)由具有約束保守截斷的粗略離散化來處理。從傳播中切換主動約束集合的問題由Marriott,K禾卩Stuckey,P,1998,"ProgrammingwithConstraints"(具有約束的編程),(TheMITPress出版)中所定義的具體化來處理。在分支限界步驟中,不考慮覆蓋要求。在此階段,在對ROI重疊的析取約束中解決組裝盡可能多的矩形的問題。即使對于粗略離散化,節(jié)點處的分支系數(shù)也很大。這通過隨機選擇要探查的有限數(shù)量的分支并通過對于每一個分支允許界定數(shù)量的回溯步驟來處理。2.局部搜索。一旦終止分支限界,所得組裝就滿足ROI之間的非重疊約束,但通常將不會滿足覆蓋約束。此時,應用局部搜索以修正該解決方案。只對(x。,;0而非&應用擾動,由此所選圖像的集合在該步驟期間調(diào)整。該步驟的效果是移動圖像,只要該移動增加覆蓋面即可,這可由任何確定性或隨機化的局部搜索算法來完成。為了確保系統(tǒng)地找到同時滿足非重疊和覆蓋約束兩者的解決方案,必要時重復步驟1)和2)若干次,并且每次都稍微放松這些約束(等式8中的提議A)。該約束滿足步驟可生成多個解決方案。在步驟2中的細化之后,這多個解決方案可使用能量函數(shù)(等式1)上的界限來評估或可被直接給予圖切優(yōu)化。(需要界限是因為嚴格意義上能量函數(shù)本身只是針對單個像素覆蓋,而非如約束滿足所傳遞的多個覆蓋來定義的。)具有阿爾法擴展的圖切。只需對每一個像素標記丄(^中的圖像變量n應用圖切優(yōu)化,因為每一個圖像的移位S現(xiàn)在已被調(diào)整。在實踐中,在每一個p處需要考慮至多四個n值,所以阿爾法擴展如Boykov,YVeksler,O和Zabih,R2001年在關于圖案分析和機器智能的IEEE會報23,11上發(fā)表的"Fastapproximateenergyminimizationviagraphcuts(經(jīng)由圖切的快速近〈以能量最小化)"中所定義地使用。此處要最小化的目標函數(shù)是(l)中仍在"進行中"的能量£的一部分,即,乙p(Z)+Wt訓Ls(iO+氣^。bj(丄)。這些項中的第一個是一元的而第二個和第三個是二元的。因為該能量可被示為非度量的,所以使用阿爾法擴展的截斷模式,如以上引用的早先專利文獻中所解釋的。在阿爾法擴展的每一個迭代處,4連通屬性通過將最優(yōu)擴展的集合擴大一個像素來鼓勵。如圖11所示,執(zhí)行混合過程4400以創(chuàng)建在拼貼圖中相鄰的輸入圖像之間的無縫過渡??墒褂萌魏魏线m的圖像混合。一選擇是使用諸如Perez,P.,Gagnet,M.和Blake,A.2003年在ACMTrans.Graph.22,3,313-318頁上發(fā)表的"Poissonimageediting(泊松圖像編輯)"中所描述的泊松混合,或者如Agarwala,A.等人2004年在ACMTrans.Graph.23,3,294-302頁上發(fā)表的"Interactivedigitalphotomontage(交互式數(shù)字合成照片)"所描述的包括邊緣敏感度的泊松混合的擴展。在一個實施例中,在阿爾法通道而不是在圖像顏色通道中使用邊緣敏感混合。這通過為每一個單獨的輸入圖像計算阿爾法掩碼來完成。在第一步驟中,對特定圖像厶計算包括所有像素p的重疊區(qū)域,其中與用于之前圖切優(yōu)化相同的標簽集丄OO包括標簽A以及至少一個其他標簽。然后以下函數(shù)在該重疊區(qū)域上最小化,-,(rHrf+w(r〗IV在(9)其中在存在于該重疊中的圖像4上取w(r)-;i+^xp-—^max』V/』。規(guī)范化常量^是均方梯度,并且設置義=20^=10。如果由圖切給出的圖像標簽是/,,則函數(shù)"(r)在像素p處取值1,否則為0。該選擇然后朝著圖切解決方案偏斜CT。函數(shù)^的最大化服從于在重疊區(qū)域上《=0,1的邊界條件,并且通過求解泊松方程來計算。在最后一個步驟中,規(guī)范化每一個圖像阿爾法掩碼以使得在輸出域中的每一個像素/7處所有定義的阿爾法掩碼的總和是1。結果,清晰鄰接和透明混合兩者同時在拼貼圖中自動實現(xiàn)。通過在阿爾法通道中使用該邊緣敏感混合過程,在輸入圖像之間創(chuàng)建根據(jù)底層銳邊的存在或缺失來在沿著自然邊界剪切或透明混合之間自動切換的接縫。在其他實施例中,將用戶輸入偏好信息考慮在內(nèi)是可能的。例如,提供使用戶能夠指定諸如選擇用于創(chuàng)建拼貼圖的特定圖像等特定約束的用戶界面。然后在優(yōu)化過程期間考慮這些用戶指定的約束。另外,該用戶界面可允許用戶移動、交換輸入圖像和調(diào)整輸入圖像的大小并且選擇供包括在拼貼圖中的特定圖像部分。此處使用的術語H十算機'表示具有處理能力以使其能夠執(zhí)行指令的任何設備。本領域技術人員將認識到這些處理能力被結合到許多不同設備中,并且因此術語'計算機'包括PC、服務器、移動電話、個人數(shù)字助理和許多其他設備。在此描述的各方法可由存儲介質上的機器可讀形式的軟件執(zhí)行。軟件可適于在并行處理器或串行處理器上執(zhí)行以使得各方法步驟可以按任何合適的次序或同時執(zhí)行。這確認了軟件可以是有價值的、可單獨交易的商品。它旨在包含運行于或者控制"椏"或標準硬件以實現(xiàn)所需功能的軟件。它還旨在包含例如用于設計硅芯片,或者用于配置通用可編程芯片的HDL(硬件描述語言)軟件等"描述"或者定義硬件配置以實現(xiàn)期望功能的軟件。本領域技術人員將認識到用于存儲程序指令的存儲設備可分布在網(wǎng)絡上。例如,遠程計算機可存儲描述為軟件的該過程的示例。本地或終端計算機可訪問遠程計算機并下載該軟件的一部分或全部以運行該程序?;蛘撸镜赜嬎銠C可按需下載軟件的片斷,或可以在本地終端處執(zhí)行一些軟件指令而在遠程計算機(或計算機網(wǎng)絡)處執(zhí)行一些軟件指令。本領域技術人員將認識到,通過使用本領域技術人員已知的常規(guī)技術,軟件指令的全部或部分可由專用電路,諸如DSP、可編程邏輯陣列等來執(zhí)行。如本領域技術人員將清楚的,此處給出的任何范圍或者設備值都可以被擴展或者改變而不失去所尋求的效果??梢岳斫猓鲜龈骱锰幒蛢?yōu)點可涉及一個實施例或者可涉及若干實施例。還可以理解,對'一個'項目的引用指的是這些項目中的一個或多個。本文中描述的各方法步驟可以在適當時按任何合適的次序或同時執(zhí)行。可以理解,上面對一較佳實施例的描述只是作為示例給出并且本領域的技術人員可以做出各種修改。以上說明、示例和數(shù)據(jù)提供了對本發(fā)明的各示例性實施例的結構和使用的全面描述。盡管以上帶著一定程度的特殊性或對一個或多個單獨實施例的參考描述了本發(fā)明的各實施例,但是本領域的技術人員能夠對所公開的實施例做出多種更改而不背離本發(fā)明的精神或范圍。權利要求1.一種圖像處理系統(tǒng)(108),包括(i)被安排成接收多個數(shù)字圖像(100)的輸入設備;(ii)第一模塊(101),其提供被安排成供應用程序(105)用來控制所述圖像處理系統(tǒng)的至少一個應用程序編程接口(106);(ii)多個先驗計算模塊(102),其各自具有與所述第一模塊的接口并且各自被安排成計算將要在形成數(shù)字拼貼圖(104)時使用的信息;以及(iii)圖像合成模塊(103),其具有與所述第一模塊的接口,并被安排成基于由所述先驗計算模塊計算的信息來從所述多個數(shù)字圖像中的至少某一些形成數(shù)字拼貼圖。2.如權利要求1所述的圖像處理系統(tǒng),其特征在于,所述第一模塊被安排成修改所接收到的數(shù)字圖像的尺寸以滿足指定的尺寸要求。3.如權利要求1所述的圖像處理系統(tǒng),其特征在于,所述第一模塊被安排成基于至少一個度量來對所接收到的數(shù)字圖像進行排序。4.如權利要求1所述的圖像處理系統(tǒng),其特征在于,每一個先驗計算模塊的輸出都包括位勢矩陣,其是值的二維數(shù)組,每一個值都與圖像塊相關聯(lián)。5.如權利要求4所述的圖像處理系統(tǒng),其特征在于,所述先驗計算模塊中的一個被安排成根據(jù)高斯分布來產(chǎn)生包括權重的位勢矩陣。6.如權利要求4所述的圖像處理系統(tǒng),其特征在于,所述先驗計算模塊中的一個被安排成對給定圖像產(chǎn)生包括從所述圖像中計算出的對比度值的顯著特征位勢矩陣。7.如權利要求4所述的圖像處理系統(tǒng),其特征在于,所述先驗計算模塊中的一個被安排成對給定圖像產(chǎn)生包括關于所述圖像中所檢測到的臉部的信息的臉部位勢矩陣。8.如權利要求1所述的圖像處理系統(tǒng),其特征在于,所述第一模塊還被安排成為多個接收到的圖像中的每一個確定感興趣區(qū)域。9.如權利要求1所述的圖像處理系統(tǒng),其特征在于,所述應用程序編程接口包括用于允許修改特定接收到的圖像的計算出的感興趣區(qū)域的函數(shù)。10.如權利要求l所述的圖像處理系統(tǒng),其特征在于,所述應用程序編程接口包括用于允許覆蓋由所述第一模塊確定的所接收到的圖像的排序的函數(shù)。11.如權利要求l所述的圖像處理系統(tǒng),其特征在于,所述應用程序編程接口包括用于允許暫停所述先驗計算模塊和圖像合成模塊中的任一個的處理的函數(shù)。12.如權利要求l所述的圖像處理系統(tǒng),其特征在于,所述應用程序編程接口包括用于允許恢復所述先驗計算模塊和圖像合成模塊中的任一個的處理的函數(shù)。13.如權利要求l所述的圖像處理系統(tǒng),其特征在于,所述應用程序編程接口包括用于獲取關于所述先驗計算模塊和圖像合成模塊中的任一個中的計算進展的狀態(tài)信息的至少一個函數(shù)。14.如權利要求l所述的圖像處理系統(tǒng),其特征在于,還包括被安排成控制所述圖像處理系統(tǒng)的應用程序,所述應用程序被安排成在顯示器處顯示用戶界面,所述用戶界面包括用于控制對先驗計算模塊的選擇以及對與所選先驗計算模塊的結果相關聯(lián)地使用的相對權重的選擇的項目。15.—種圖像處理方法,包括以下步驟(i)接收多個數(shù)字圖像(100);(ii)在第一模塊(101)處,提供被安排成供應用程序(105)用來控制所述圖像處理方法的至少一個應用程序編程接口(106);(ii)使用多個先驗計算模塊(102),其各自具有與所述第一模塊的接口,用于計算將要在形成數(shù)字拼貼圖(104)時使用的信息;以及(iii)使用圖像合成模塊(103),其具有與所述第一模塊的接口,用于基于由所述先驗計算模塊計算的信息來從所述多個數(shù)字圖像中的至少某一些形成數(shù)字拼貼圖。16.如權利要求15所述的方法,其特征在于,包括使用所述第一模塊來修改所接收到的數(shù)字圖像的尺寸以滿足指定的尺寸要求。17.如權利要求15所述的方法,其特征在于,包括使用所述第一模塊來基于至少一個度量來對所接收到的數(shù)字圖像進行排序。18.如權利要求15所述的圖像處理系統(tǒng),其特征在于,包括使用每一個先驗計算模塊來產(chǎn)生位勢矩陣,其是值的二維數(shù)組,每一個值都與圖像塊相關聯(lián)。19.如權利要求18所述的圖像處理系統(tǒng),其特征在于,包括使用所述先驗計算模塊中的一個來根據(jù)高斯分布來產(chǎn)生包括權重的位勢矩陣。20.—種或多種具有用于執(zhí)行以下步驟的設備可執(zhí)行指令的設備可讀介質,所述步驟包括(i)接收多個數(shù)字圖像(100);(ii)在第一模塊(101)處,提供被安排成供應用程序用來控制所述圖像處理方法的至少一個應用程序編程接口;并且同樣在所述第一模塊處,為每一個接收到的圖像計算感興趣區(qū)域;(ii)使用多個先驗計算模塊(102),其各自具有與所述第一模塊的接口,用于計算將要在形成數(shù)字拼貼圖時使用的信息;以及(iii)使用圖像合成模塊,其具有與所述第一模塊的接口,用于基于由所述先驗計算模塊計算的信息來從所述多個數(shù)字圖像中的至少某一些中形成數(shù)字拼貼圖。全文摘要需要為用于從多個輸入圖像中形成在視覺上吸引人的拼貼圖的自動化過程提供一種框架。需要為這種類型的自動化過程提供靈活且穩(wěn)健并且可容易地與相關軟件應用程序接口的框架。一種圖像合成框架設置有模塊化體系結構,其具有第一模塊、多個先驗計算模塊和圖像合成模塊。第一模塊提供應用程序編程接口,先驗計算模塊計算關于輸入圖像的信息,而圖像合成模塊使用計算出的信息以及輸入圖像來形成數(shù)字拼貼圖。文檔編號G06T7/40GK101553846SQ200780045501公開日2009年10月7日申請日期2007年12月12日優(yōu)先權日2006年12月12日發(fā)明者C·羅瑟,S·泰勒,W·H·德波爾申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1