專利名稱:利用針對圖像區(qū)域提供的附加內(nèi)容來生成經(jīng)修改的圖像的制作方法
利用針對圖像區(qū)域提供的附加內(nèi)容來生成經(jīng)修改的圖像相關(guān)申請本申請要求2009年5月6日提交的序列號為No. 61/215,465的美國臨時申請以及2009年5月21日提交的序列號為No. 12/454, 666的美國專利申請的優(yōu)先權(quán),其標(biāo)題均為 “GENERATING A MODIFIED IMAGE WITH ADDITIONAL CONTENT PROVIDED FOR A REGION THEREOF”,它們每個的全文均通過引用而包含于此。
背景技術(shù):
本說明書涉及數(shù)字圖像處理。一些現(xiàn)有圖像處理技術(shù)使用基于補(bǔ)丁(patch)的技術(shù)來操縱內(nèi)容。處理可以涉及分析或合成圖像內(nèi)容的補(bǔ)丁(例如,像素群組)。例如,基于補(bǔ)丁的方式被用于對圖像和視頻內(nèi)容的降噪;提高圖像分辨率,諸如執(zhí)行超分辨率;壓縮圖像內(nèi)容;諸如通過重定向來改變圖像縱橫比;重組圖像內(nèi)容;將圖像拼接在一起;編輯圖像內(nèi)容;以及執(zhí)行紋理合成?;谘a(bǔ)丁的方法對于合成操作可具有一些益處。例如,可以處理結(jié)構(gòu)、紋理、重復(fù)性圖案和冗
ο已經(jīng)嘗試了按照不同方式來使圖像完整的多種技術(shù),并且這些技術(shù)可以依賴于基于補(bǔ)丁的技術(shù)。例如,存在孔洞填補(bǔ)技術(shù),其試圖通過分析圖像中其他地方的內(nèi)容來找出用于該圖像中的孔洞的內(nèi)容。還存在克隆技術(shù),其中用戶可以人工地選擇源區(qū)域,該源區(qū)域繼而被克隆至目標(biāo)區(qū)域以填充該孔洞。
發(fā)明內(nèi)容
本發(fā)明涉及使用由用戶提供的語義信息的圖像修改。在第一方面,一種計算機(jī)實現(xiàn)的用于生成經(jīng)修改圖像的方法,包括在計算機(jī)系統(tǒng)中顯示圖像。該圖像包括其內(nèi)具有可視特征的內(nèi)容,該內(nèi)容具有被定義為在生成經(jīng)修改圖像時被提供附加內(nèi)容的區(qū)域。該方法包括接收包括要放置在該圖像上的語義標(biāo)記的輸入, 該語義標(biāo)記指示該區(qū)域內(nèi)的區(qū)域內(nèi)部分和該區(qū)域外的區(qū)域外部分。該方法包括使用向該圖像應(yīng)用的基于補(bǔ)丁的優(yōu)化算法來確定用于該區(qū)域的附加內(nèi)容,該基于補(bǔ)丁的優(yōu)化算法(i) 基于該區(qū)域外部分而不基于該語義標(biāo)記未指示的圖像區(qū)域來識別用于該區(qū)域內(nèi)部分的附加內(nèi)容;以及(ii)在不限制于該區(qū)域外部分的情況下,識別用于該區(qū)域的剩余部分的附加內(nèi)容。該方法包括存儲在該區(qū)域中具有附加內(nèi)容的經(jīng)修改圖像。各種實現(xiàn)可以包括以下特征中任意或全部特征。區(qū)域可以包括圖像中不包含內(nèi)容的孔洞,并且經(jīng)修改圖像可以在孔洞填充過程中生成。該孔洞可被填充以使得特征延伸到之前未包含該內(nèi)容的區(qū)域中。圖像可以是照片,而特征可以是物理對象,并且區(qū)域可以對應(yīng)于特征中缺失的物理對象的結(jié)構(gòu)而被定義。語義標(biāo)記可以使用至少以下之一做出直線工具、弧線工具、刷子工具、區(qū)域選擇工具及其任意組合。語義標(biāo)記的一部分可以放置在區(qū)域內(nèi)部以指示區(qū)域內(nèi)部分,而語義標(biāo)記的另一部分可以放置在區(qū)域外部以指示區(qū)域外部分。 可以將識別特性指派給語義標(biāo)記,該識別特性將語義標(biāo)記與圖像中的至少一個其他語義標(biāo)記相區(qū)分,從而使得基于補(bǔ)丁的優(yōu)化算法單獨處理各語義標(biāo)記。語義標(biāo)記可以相互交叉,并且基于補(bǔ)丁的優(yōu)化算法可以單獨處理各語法標(biāo)記。該方法還可以包括接收針對基于補(bǔ)丁的優(yōu)化處理來定義附加語義約束的另一輸入。該附加約束可以包括至少以下之一針對基于補(bǔ)丁的優(yōu)化算法的連貫性(coherence)方面定義的第一搜索空間限制,該第一搜索空間限制拒絕至少圖像的第一區(qū)域在附加內(nèi)容中的使用;以及針對基于補(bǔ)丁的優(yōu)化算法的完整性 (completeness)方面定義的第二搜索空間限制,該第二搜索空間限制要求附加內(nèi)容關(guān)于由第二搜索空間限制所指示的圖像的第二區(qū)域是完整的。區(qū)域外部分可以位于與具有該區(qū)域的圖像分離的另一圖像中。可以使用有形地體現(xiàn)在有形程序載體中的計算機(jī)程序產(chǎn)品來實現(xiàn)方法,該計算機(jī)程序產(chǎn)品包括指令,當(dāng)該指令由處理器執(zhí)行時,執(zhí)行方法。在第二方面,一種圖形用戶界面,包括在計算機(jī)系統(tǒng)中顯示圖像的圖像顯示區(qū)域,該圖像包括其內(nèi)具有可視特征的內(nèi)容,該內(nèi)容具有被定義為在生成經(jīng)修改圖像時被提供附加內(nèi)容的區(qū)域。該圖形用戶界面包括用于接收包括要放置在該圖像上的語義標(biāo)記的輸入的輸入控件,該語義標(biāo)記指示該區(qū)域內(nèi)的區(qū)域內(nèi)部分和該區(qū)域外的區(qū)域外部分。使用向該圖像應(yīng)用的基于補(bǔ)丁的優(yōu)化算法來確定用于該區(qū)域的附加內(nèi)容,該基于補(bǔ)丁的優(yōu)化算法 (i)基于該區(qū)域外部分而不基于該語義標(biāo)記未指示的圖像區(qū)域來識別用于該區(qū)域內(nèi)部分的附加內(nèi)容;以及(ii)在不限制于該區(qū)域外部分的情況下,識別用于該區(qū)域的剩余部分的附加內(nèi)容,并且存儲在該區(qū)域中具有附加內(nèi)容的經(jīng)修改圖像。各種實現(xiàn)可以包括以下特征中任意或全部特征。區(qū)域可以包括圖像中不包含內(nèi)容的孔洞,并且經(jīng)修改圖像可以在孔洞填充過程中生成。圖像可以是照片,而特征可以是物理對象,并且區(qū)域可以對應(yīng)于特征中缺失的物理對象的結(jié)構(gòu)而被定義。輸入控件可以包括至少以下之一直線工具、弧線工具、刷子工具、區(qū)域選擇工具及其組合。輸入控件可以將識別特性與語義標(biāo)記相關(guān)聯(lián),該識別特性將該語義標(biāo)記與圖像中的至少一個其他語義標(biāo)記相區(qū)分,從而使得基于補(bǔ)丁的優(yōu)化算法對各語義標(biāo)記單獨進(jìn)行處理。可以使用有形地體現(xiàn)在計算機(jī)可讀存儲介質(zhì)中的計算機(jī)程序產(chǎn)品來實現(xiàn)圖形用戶界面,該計算機(jī)程序產(chǎn)品包括指令,當(dāng)指令被執(zhí)行時,其在顯示設(shè)備上生成圖形用戶界面。在第三方面,一種系統(tǒng),包括顯示圖像的顯示設(shè)備,該圖像包括其內(nèi)具有可視特征的內(nèi)容,該內(nèi)容具有被定義為在生成經(jīng)修改圖像時被提供附加內(nèi)容的區(qū)域。該系統(tǒng)包括用于接收包括要放置在圖像上的語義標(biāo)記的輸入的輸入設(shè)備,該語義標(biāo)記指示至少部分該特征,該語義標(biāo)記跨越該區(qū)域邊界,從而使得形成該語義標(biāo)記的區(qū)域內(nèi)部分和區(qū)域外部分。 該系統(tǒng)包括圖像編輯器部件,其使用向該圖像應(yīng)用的基于補(bǔ)丁的優(yōu)化算法來確定用于該區(qū)域的附加內(nèi)容,該基于補(bǔ)丁的優(yōu)化算法(i)基于該區(qū)域外部分而不基于該語義標(biāo)記未指示的圖像區(qū)域來識別用于該區(qū)域內(nèi)部分的附加內(nèi)容;以及(ii)在不限制于該區(qū)域外部分的情況下,識別用于該區(qū)域的剩余部分的附加內(nèi)容。各種實現(xiàn)可以包括以下特征中任意或全部特征。輸入設(shè)備可以包括至少以下之一直線工具、弧線工具、刷子工具、區(qū)域選擇工具及其任意組合。輸入設(shè)備可以將識別特性與語義標(biāo)記相關(guān)聯(lián),該識別特性將該語義標(biāo)記與圖像中的至少一個其他語義標(biāo)記相區(qū)分, 從而使得基于補(bǔ)丁的優(yōu)化算法對單獨處理各語義標(biāo)記。
可以實施本說明書中描述的主題的特定實施方式以實現(xiàn)一個或多個下列優(yōu)勢??梢愿倪M(jìn)圖像編輯。通過用戶進(jìn)行輸入以標(biāo)記圖像中的一個或多個特征,可以保留源圖像中的語義。用戶可以標(biāo)記延伸到待完成的孔洞或其他圖像區(qū)域中的特征,并且該標(biāo)記可以在選擇內(nèi)容以填入匹配該特征的內(nèi)容時使用。本說明書中描述的主題的一個或多個實施方式的細(xì)節(jié)在下面的附圖和具體描述中闡述。主題的其他特征、方面和優(yōu)勢將從具體描述、附圖和權(quán)利要求中顯現(xiàn)。
本專利或申請文件包含至少一幅彩圖。在請求及支付必要費用后,帶有彩圖的本專利或?qū)@暾埞_的副本將由專利局提供。圖1示出了可以生成經(jīng)修改圖像的示例系統(tǒng)。圖2示意性地示出了針對圖像修改的約束的示例。圖3A-圖3G示出了圖像修改的另一示例。圖4示出了圖像修改的另一示例。圖5A-圖5D示出了圖像修改的另一示例。圖6示出了示例方法的流程圖。各個附圖中的類似參考標(biāo)號和名稱指示類似元素。
具體實施例方式圖1示出了可以生成經(jīng)修改圖像的示例系統(tǒng)100。系統(tǒng)100包括計算機(jī)設(shè)備102, 其可以是任何基于處理器的設(shè)備,包括但不限于個人計算機(jī)、服務(wù)器設(shè)備、工作站或手持設(shè)備。系統(tǒng)100包括圖形用戶界面(⑶I) 104,本文中該⑶I由計算機(jī)設(shè)備102生成。例如,⑶I 104可以在連接至該計算機(jī)設(shè)備的顯示設(shè)備106上顯示。⑶I 104用于操縱圖像, 諸如為了向用戶示出初始圖像和/或經(jīng)修改圖像。系統(tǒng)100包括至少一個存儲庫108,其可以使用任何適合于存儲數(shù)據(jù)的技術(shù)來實現(xiàn),諸如按照存儲器、硬盤驅(qū)動器或光盤的形式,僅舉幾例。存儲庫108可以包含一個或多個圖像,例如尚未修改的圖像和/或經(jīng)修改圖像。系統(tǒng)100可以使得存儲庫108中的一個或多個圖像對于用戶可用,例如,通過在⑶I 104中顯示一個或多個圖像。系統(tǒng)100包括至少一個輸入設(shè)備110,諸如鍵盤、鼠標(biāo)、指點設(shè)備、軌跡球、操縱桿、 軌跡板,或用戶可以用來控制和/或響應(yīng)計算機(jī)設(shè)備102的任何其他設(shè)備。用戶可以進(jìn)行輸入以影響圖像處理,諸如施加針對修改的一個或多個約束。系統(tǒng)100可以用于多種目的中的任意目的,諸如用于通過在圖像中執(zhí)行孔洞填充來修改圖像,這在下文中將用作說明性示例。其他應(yīng)用包括但不限于修改照片以添加對應(yīng)于物理對象中缺失的結(jié)構(gòu)的圖像內(nèi)容,該物理對象是該照片的主題。通常,修改涉及在初始圖像的某一區(qū)域中添加選自該圖像的另一區(qū)域的信息。本文中,這些以及其他操作由圖像編輯器部件112來執(zhí)行,圖像編輯器部件112可以使用存儲在計算機(jī)可讀存儲設(shè)備中(諸如存儲器中或盤上)的處理器執(zhí)行的指令來實現(xiàn)。圖像編輯器部件112可以生成輸出以供在⑶I 104(諸如圖像顯示區(qū)域114和輸入控件區(qū)域116)中顯示。
圖像修改處理可以使用至少受制于連貫性準(zhǔn)則的基于補(bǔ)丁的優(yōu)化來執(zhí)行。在 WEXLER,Y. ,SHECHTMAN,E.和IRANI,M.的Space-time completion of video,IEEE Trans. PAMI Vol. 29,No. 3 (2007年3月)463-476中描述了基于補(bǔ)丁的優(yōu)化算法,其全部內(nèi)容通過引用包含于此。本文中,考慮了用戶定義的語義約束的基于補(bǔ)丁的優(yōu)化算法可以包括經(jīng)修改圖像可以利用缺失區(qū)域邊界的平滑插值來進(jìn)行初始化。可以發(fā)起多尺度算法,其中源圖像中的孔洞首先使用最粗糙的尺度進(jìn)行填充,繼而迭代式地被插值到更精細(xì)尺度。例如,可以使用高斯金字塔,其中最精細(xì)尺度對應(yīng)于源圖像的尺度。使用傳播和隨機(jī)搜索的迭代式重復(fù)步驟的最近鄰居處理可以在至少一個用戶指定的約束下執(zhí)行。根據(jù)每個像素的所有重疊補(bǔ)丁的最近鄰居,可以向每個像素指派顏色投票??梢詫︻伾镀边M(jìn)行平均或聚合,并且可以選擇最大群集或模式以獲得新顏色。上面的前三個步驟可以重復(fù)固定的迭代次數(shù)以改善結(jié)果,或者重復(fù)直至圖像變化小于預(yù)定量,或者基于另一終止準(zhǔn)則。前四個步驟可以重復(fù)以作為多尺度算法的一部分。最近鄰居技術(shù)可以在基于補(bǔ)丁的優(yōu)化中使用。例如,最近鄰居處理可被應(yīng)用于初始圖像中的補(bǔ)丁(例如,應(yīng)用于預(yù)定數(shù)目的像素,諸如切5的像素補(bǔ)丁)。最近鄰居域 (field)可以被確定為將初始圖像中的每個補(bǔ)丁坐標(biāo)映射到二維偏移空間。偏移代表初始圖像中的補(bǔ)丁與經(jīng)修改圖像中的對應(yīng)補(bǔ)丁之間的補(bǔ)丁坐標(biāo)的調(diào)整。例如,初始圖像中的初始補(bǔ)丁 a在經(jīng)修改圖像中的具有最近鄰居補(bǔ)丁 b。最近鄰居域f繼而可以定義為f (a) = b-a最近鄰居域的偏移值可以存儲在陣列中。例如,陣列可以具有與初始圖像相同的維度?;谘a(bǔ)丁的優(yōu)化開始于初始偏移集合。接著,將基于初始偏移的迭代更新應(yīng)用于最近鄰居域。在每次迭代中,好的補(bǔ)丁偏移被傳播給鄰居補(bǔ)丁,并且在最佳偏移的鄰域中執(zhí)行隨機(jī)搜索。初始偏移可以通過向偏移域隨機(jī)指派值或者通過使用先驗信息來生成。在使用圖像金字塔的分層細(xì)化處理中,來自前一層級的初始猜測可供在當(dāng)前層級使用。如果尚未達(dá)到最終圖像分辨率,則將當(dāng)前的解(solution)估計值重新調(diào)節(jié)至圖像金字塔中的下一更高分辨率,并且重復(fù)前四個步驟作為多尺度算法的一部分。例如,可以基于隨機(jī)初始化來執(zhí)行幾次算法迭代,并且在執(zhí)行剩余迭代之前,其繼而可以與可用的初始猜測合并。在迭代處理中,可以按照遍歷偏移陣列的掃描順序?qū)ρa(bǔ)丁偏移進(jìn)行檢查。每個迭代包括傳播步驟和隨機(jī)搜索步驟。在傳播步驟中,假設(shè)正在檢查映射f(x,y)。鄰近的映射 f (x-l,y)和f(x,y_l)將用于改善映射f (χ,y)。例如,如果f (χ-l,y)是好映射,則處理將嘗試將其用于(x,y)。在一些迭代中,諸如在每隔一次迭代中,可以按照相反順序?qū)ζ七M(jìn)行檢查,從而使得有關(guān)偏移/映射質(zhì)量的信息在相對方向中傳播。可以使用補(bǔ)丁距離函數(shù)對映射進(jìn)行評估。可以使用任何距離函數(shù)。一些實現(xiàn)可以針對自然圖像和/或包括視頻和三維形狀的其他數(shù)據(jù)源使用常見距離函數(shù),諸如Lp,L1或箝位(clamped)的L2,等等,或者任何其他標(biāo)量(scalar)函數(shù)。在一些實現(xiàn)中,選擇補(bǔ)丁距離函數(shù)D從而使得針對相鄰重疊補(bǔ)丁的最優(yōu)偏移具有高的相似概率。此概率越高,算法收斂越快。在隨機(jī)搜索步驟中,處理嘗試通過在經(jīng)修改圖像內(nèi)隨機(jī)搜索更好的映射(也即, 到源補(bǔ)丁的距離度量更低的目標(biāo)補(bǔ)丁)來改善映射f(x,y)。在一些實現(xiàn)中,可以評估從目標(biāo)補(bǔ)丁連續(xù)遞減距離的補(bǔ)丁。例如,選擇在域[-ι,ι]χ[-ι,ι]中選擇的均勻隨機(jī)方向選擇,并且使用指數(shù)函數(shù)以從最大像素半徑w開始減小距離。如果在隨機(jī)搜索中找到更好的映射,則用其代替當(dāng)前映射。當(dāng)符合某一準(zhǔn)則時,迭代暫停。在一些實現(xiàn)中,準(zhǔn)則是經(jīng)修改偏移的分?jǐn)?shù) (fraction)是否落到閾值以下。在一些實現(xiàn)中,使用固定的迭代次數(shù),例如5次。執(zhí)行基于補(bǔ)丁的優(yōu)化來生成經(jīng)修改圖像,從而使得該圖像對應(yīng)于初始圖像。例如,經(jīng)修改圖像可以是已經(jīng)填充了圖像孔洞的初始圖像版本,或者是已經(jīng)向某個特征選擇性添加了內(nèi)容的初始圖像版本。如上描述的生成的中間圖像將是對初始猜測的改進(jìn)估計值,但是可能不能令人滿意地解決圖像完整性問題。因此,迭代式重復(fù)整個處理,在內(nèi)部循環(huán)中使用迭代偏移優(yōu)化, 以計算高質(zhì)量最終解。在一些實現(xiàn)中,可以使用雙向相似性測量,例如找出兩個方向上(例如,從初始圖像中的補(bǔ)丁到經(jīng)修改圖像中的補(bǔ)丁,以及反向)圖像區(qū)域之間的良好對應(yīng)關(guān)系。例如,如果圖像區(qū)域足夠相似,則現(xiàn)有雙向相似性方法可以收斂至部分連續(xù)解,其中很多凸角區(qū)域被復(fù)制到具有最小失真的輸出。例如,源圖像中相鄰補(bǔ)丁的大部分偏移可以是幾乎相同的。作為另一示例,如果圖像區(qū)域不是特別相似,則真正的雙向相似性很可能接近于圖像內(nèi)隨機(jī)補(bǔ)丁的相似性。在一些實現(xiàn)中,雙向相似性算法可以包括至少以下操作。在連貫性步驟中,算法為孔洞內(nèi)的每個補(bǔ)丁尋找孔洞外的最近鄰居補(bǔ)丁。在完整性步驟中,算法為孔洞外的每個補(bǔ)丁尋找孔洞內(nèi)的最近鄰居補(bǔ)丁。這些搜索生成源圖像和目標(biāo)圖像之間兩個方向上的最近鄰居投票。這些投票用于在每次內(nèi)部循環(huán)迭代中計算孔洞內(nèi)每個像素的顏色(例如,通過平均或聚合)。在用戶定義的約束的上下文中,完整性條件(term)可以用于定義用戶希望包括在孔洞內(nèi)的區(qū)域,從而使得該孔洞就用戶定義的區(qū)域而言是完整的,但是用戶并不確切地指定算法將把該區(qū)域放置在孔洞內(nèi)何處?;谘a(bǔ)丁的優(yōu)化算法可以使用有關(guān)經(jīng)修改圖像中的所有補(bǔ)丁是否源于初始圖像的連貫性準(zhǔn)則。也即,關(guān)于目標(biāo)圖像,圖像編輯器部件112可以試圖確保用于填充其中的孔洞的每個補(bǔ)丁是存在于源圖像中某處的補(bǔ)丁,從而使得目標(biāo)圖像與源圖像是連貫的。例如, 經(jīng)修改圖像中的每個補(bǔ)丁應(yīng)當(dāng)在初始圖像中具有至少一個對應(yīng)的補(bǔ)丁。相反,如果經(jīng)修改圖像中的補(bǔ)丁在初始圖像中沒有任何對應(yīng)補(bǔ)丁,則不滿足連貫性準(zhǔn)則。經(jīng)修改圖像中的連貫性可以通過以多個尺度進(jìn)行處理來獲得,從而使得多尺度的最終局部連貫性給出了目標(biāo)圖像中的全局連貫性以及看起來自然的輸出。除了連貫性條件之外,雙向相似性計算還使用完整性條件。完整性條件可以在針對填充應(yīng)用的算法中使用,或者結(jié)合完整性重定向和/或重組使用,僅舉兩例。在一些實現(xiàn)中,用戶可以標(biāo)記圖像中的孔洞,添加一個或多個搜索空間約束,規(guī)定輸出尺寸將會更小 (也即,重定向)以及規(guī)定一些其他區(qū)域?qū)⒁苿?也即,重組),繼而系統(tǒng)可以一起運行這些以合成輸出。
例如,完整性條件可以試圖確保來自源圖像的所有內(nèi)容存在于目標(biāo)圖像中某處。 完整性準(zhǔn)則涉及初始圖像中的所有補(bǔ)丁是否在經(jīng)修改圖像中表現(xiàn)。例如,如果初始圖像包含多個相同補(bǔ)丁,則完整性準(zhǔn)則規(guī)定在經(jīng)修改圖像中應(yīng)當(dāng)能找到這些補(bǔ)丁中的至少一個。 相反,如果初始圖像中的唯一補(bǔ)丁在經(jīng)修改圖像中沒有任何對應(yīng)補(bǔ)丁,則不滿足完整性準(zhǔn)則。最近鄰居算法可以在雙向或單向相似性算法的內(nèi)循環(huán)中迭代地執(zhí)行,例如以執(zhí)行
重定向。雙向相似性計算的示例在SIMAKOV,D.,CASPI, Y.,SHECHTMAN, E.和 IRANI,Μ.的 Summarizing visual data using bidirectional similarity(使用雙向相似性匯總可視數(shù)據(jù)),在 Computer Vision and Pattern Recognition (計算機(jī)視覺和圖案識別),CVPR 2008,IEEE Conference 中進(jìn)行了描述。圖2示意性示出了針對圖像修改的約束的示例。此處,圖像200是初始圖像,其顯示了上面有建筑物的一塊土地。圖像200包括當(dāng)前缺少圖像內(nèi)容的孔洞202。將要對圖像 200執(zhí)行修改處理以創(chuàng)建替代孔洞202的令人信服的外觀。示出了三個場景示例,分別標(biāo)記為(a)、(b)和(c)。場景(a)和(b)在相似性算法中排他性地涉及連貫性條件。這通過用于示出這些示例的行的名稱“連貫性”來指示。也艮口,場景(a)和(b)著重于確保最終放置在孔洞202中的內(nèi)容應(yīng)當(dāng)存在于圖200中。場景(a)涉及對搜索空間的限制。也即,在此示例中通過藍(lán)色指示的區(qū)域204將是用于找出要填充到孔洞202中的補(bǔ)丁的搜索空間。相反,在此示例中通過深灰色指示的區(qū)域206將不用作孔洞填充過程的搜索空間。用戶可以出于一個或多個原因而將搜索空間縮小到區(qū)域204。例如,注意到圖像200包括房子旁邊地上的黃色花朵和紅色花朵。假設(shè)用戶不希望將花朵包括在孔洞202中。因此,用戶可以定義區(qū)域204,從而使得其不包括花朵但是包括圖像200的剩余部分。由此,確保了所填充的孔洞相對于圖像200而言是連貫的, 同時花朵不包括在孔洞中。用戶可以使用任何工具來進(jìn)行定義,諸如通過在系統(tǒng)100(圖1)中顯示在圖像200 時標(biāo)記出區(qū)域204和/或206??梢允褂萌魏纹渌螤畹膮^(qū)域204和/或區(qū)域206。場景(b)涉及多指標(biāo)(index)搜索空間約束。此處,用戶跨越孔洞的邊界放置語義標(biāo)記208和210,以及放置一對語義標(biāo)記212,從而使得其一部分212A在孔洞內(nèi),而另一部分212B在孔洞外。語義標(biāo)記的意義在于,基于只搜索標(biāo)記208中位于孔洞外的部分所指示的區(qū)域,標(biāo)記208中位于孔洞內(nèi)的部分將被填充。解釋這種語義圖像完整性的一種方式是其允許用戶從語義上指示在完整性處理中,孔洞邊界附近的什么特征應(yīng)當(dāng)延伸到孔洞中。例如,用戶可能期望圖像200中房子的拐角繼續(xù)垂直地向下到孔洞202中。因此,用戶可以用標(biāo)記208來指示該拐角的至少一部分。這確保了用于拐角的圖像信息被用作針對標(biāo)記208所指示的孔洞部分的搜索空間,并且進(jìn)一步防止來自圖像200中別處(諸如來自屋頂或花朵)的信息在填充該孔洞部分中使用。類似地,用戶可以放置標(biāo)記210以指示房子的地基基線延伸到孔洞中。語義標(biāo)記212的配對還涉及定義針對孔洞的一部分的搜索空間。具體地,部分 212A指示孔洞的區(qū)域,而部分212B定義要用于由部分212A所指示的區(qū)域的搜索空間。也艮口,標(biāo)記212可以允許用戶指定孔洞202外的特定特征(諸如一簇花)應(yīng)當(dāng)是針對孔洞內(nèi)的特定區(qū)域的搜索空間。在一些實現(xiàn)中,標(biāo)記212B可被放置在與具有該孔洞的圖像分離的另一圖像中。這意味著用于填充孔洞的一部分的搜索空間還可以包括正被修改的圖像之外的內(nèi)容。例如, 假設(shè)存在某個人物的若干相似圖像,并且在這些圖像之一中,該人物的眼睛是閉著的。用戶繼而可以將一只或兩只眼睛標(biāo)記為孔洞,在該孔洞內(nèi)添加標(biāo)記以指示內(nèi)容將放置在何處, 并且將該語義標(biāo)記與另一圖像中睜著的眼睛相關(guān)聯(lián)。對于未由標(biāo)記208-212中任一標(biāo)記指示的孔洞202的剩余部分,算法使用整個圖像200作為搜索區(qū)域。也即,孔洞內(nèi)不被語義標(biāo)記的區(qū)域不被限制于僅特定的語義搜索空間。在場景(c)中,還考慮了完整性方面,如下面一行上的標(biāo)簽所指示的。也即,算法確保不僅被填充的孔洞相對于圖像200而言是連貫的,而且該孔洞相對于圖像200的至少一部分是完整的。這對應(yīng)于執(zhí)行雙向相似性算法,同時考慮一個或多個用戶定義的語義約
束ο首先,在此示例中用戶不針對連貫性方面限制搜索空間,如區(qū)域214所指示的,此處該區(qū)域214為藍(lán)色并且覆蓋整個圖像200。也即,算法將確??梢栽趫D像200的某處找到放置在孔洞內(nèi)的所有內(nèi)容。接著,用戶希望確保圖像200中的黃色花朵在利用圖像內(nèi)容填充孔洞時被包括在該孔洞中。用戶的一個選擇可以是采用諸如標(biāo)記配對212之類的語義標(biāo)記,其中一部分在孔洞內(nèi),一部分指示黃色花朵。這可能要求用戶指明孔洞內(nèi)的確切位置,類似于場景(b)中放置部分212A的方式。然而,此處用戶利用語義完整性標(biāo)記216來指示黃色花朵。標(biāo)記216 向算法指示應(yīng)該使得孔洞相對于圖像200中該標(biāo)記所指示的部分而言是完整的。也即,算法將確保標(biāo)記216所指示的所有內(nèi)容在孔洞填充了內(nèi)容之后會在孔洞內(nèi)某處找到。因此, 用戶可以對圖像修改處理選擇性應(yīng)用語義完整性約束。如果與僅僅標(biāo)記黃色花朵相對的, 用戶用標(biāo)記216對整個圖像200進(jìn)行了標(biāo)記,則這將要求算法將圖像200的所有內(nèi)容放置在孔洞內(nèi)??梢允褂脠鼍?a)、(b)和(c)的組合。例如,標(biāo)記208可以與場景(a)的搜索空間限制結(jié)合使用。作為另一示例,至少一個連貫性和完整性約束可以在同一圖像修改處理中應(yīng)用。在一些實現(xiàn)中,兩個或更多個語義標(biāo)記可以相互重疊。例如,如果孔洞內(nèi)的補(bǔ)丁被兩個或更多個語義標(biāo)記所指示(例如,該補(bǔ)丁具有與之相關(guān)聯(lián)的兩個指標(biāo)/顏色),則針對該補(bǔ)丁,應(yīng)當(dāng)在這些標(biāo)記所指示的所有區(qū)域中進(jìn)行搜索。圖3A-圖3G示出了圖像修改的另一示例。該示例更詳細(xì)地描述了可以如何利用來自用戶的指導(dǎo)來提供針對照片主題中的結(jié)構(gòu)的缺失的圖像內(nèi)容。在圖3A中,示出了工具 300。例如,工具300可以通過圖像編輯器部件112來生成,其輸出可以呈現(xiàn)在⑶I 104(圖 1)中。圖像300A示出了在包括木制柵欄的背景前飛翔的老鷹。此處要執(zhí)行的修改是刪除老鷹并且創(chuàng)建看起來自然的柵欄和周圍植物的圖像。圖;3B示出了用戶可以使用控件304來指示要刪除的圖像內(nèi)容。此處,控件304是繪圖工具,并且用戶已開始勾勒老鷹的邊緣。任何類型的工具都可以用于標(biāo)記,諸如套索工具或感色工具。該工具通過圖像編輯器部件112來生成,并且呈現(xiàn)在輸入控件區(qū)域116中。
圖3C示出已從圖像中刪除了老鷹。最初,圖像中先前可以看到老鷹的地方留下一個孔洞。在一些實現(xiàn)中,可以應(yīng)用初步的孔洞填充技術(shù)以嘗試消除該孔洞并使圖像完整。此處,例如,初步的孔洞填充技術(shù)已設(shè)法在之前由老鷹圖像占據(jù)的區(qū)域中填入植物內(nèi)容,但是柵欄缺少部分上欄桿和下欄桿以及幾乎整個中間柱子。出現(xiàn)這樣的原因是在那時關(guān)于欄桿和柱子的語義信息不可用于輔助孔洞填充技術(shù)。然而,在圖3D中,用戶激活工具306,其允許通過標(biāo)記圖像中的重要特征來輸入語義信息。工具306包括菜單308,用戶可以在菜單308在用于標(biāo)記多個單獨的語義特征的選項之間進(jìn)行選擇。此處,選項被標(biāo)注為各種顏色(從紅色到黑色),并且用戶現(xiàn)在可以選擇紅色選項??梢栽诠ぞ?06中包括任何類型的輸入控件,諸如但不限于,直線工具、弧線工具、刷子工具、區(qū)域選擇工具及其組合。在圖3E中,用戶開始利用工具306進(jìn)行標(biāo)記。首先,注意現(xiàn)在顯示源自刪除老鷹的孔洞310。可以在應(yīng)用初步的孔洞填充技術(shù)時保留關(guān)于該孔洞的形狀和位置的信息。例如,顯示孔洞310可以輔助用戶在圖像上執(zhí)行正確的標(biāo)記。此處,用戶使用工具306繪制直線312。用戶繪制直線312從而使得其基本上與未受孔洞310影響的柵欄柱子重合。此處使用紅色來顯示直線312,因為用戶選擇了菜單中的“紅色(Red)”。圖3F示出了用戶可以使用相同或不同的標(biāo)記工具在圖像中輸入一個或多個附加標(biāo)記。此處,已經(jīng)用直線314標(biāo)記了另一柵欄柱子,并且用直線316標(biāo)記了中央的柵欄柱子,該中央的柵欄柱子在刪除老鷹之后只留下一小部分。直線312、314和316都是紅色的, 因為它們是用標(biāo)注有該顏色的相同標(biāo)記工具做出的。類似地,另一標(biāo)記工具(此處標(biāo)注為綠色)用于分別使用直線318和320來標(biāo)記上欄桿和下欄桿。因此,用戶已經(jīng)標(biāo)記出了感興趣的特征(例如,柵欄柱子和欄桿)并且對它們進(jìn)行不同標(biāo)注,從而使得能夠單獨處理它們?;谒鶚?biāo)記的區(qū)域,繼而實現(xiàn)圖像完整性。具體地,使用用戶已經(jīng)提供的信息來填充源自老鷹的孔洞。此處,例如,欄桿318具有區(qū)域內(nèi)部分322和區(qū)域外部分324。也即, 區(qū)域內(nèi)部分322是直線318中位于孔洞內(nèi)的部分,而區(qū)域外部分3M是直線318中位于孔洞外的部分。當(dāng)尋找圖像內(nèi)容以填充區(qū)域內(nèi)部分322時(例如,可以在那些位置處應(yīng)用已填充該孔洞的補(bǔ)丁),系統(tǒng)將僅查看區(qū)域外部分324以及用相同工具標(biāo)記的任何其他區(qū)域。 這里,包括直線320,因為它也是綠色的。與之相反,圖像中未用綠色工具標(biāo)記的剩余部分, 諸如背景植物和柵欄柱子,將不在填充區(qū)域內(nèi)部分322中使用。將基于同樣的信息對直線 320中橫穿孔洞的部分進(jìn)行填充。類似地,直線316具有區(qū)域內(nèi)部分326,將基于利用紅色工具標(biāo)記的、位于孔洞外的位置對其進(jìn)行填充,而不參考未用紅色工具進(jìn)行標(biāo)記的任何區(qū)域。這里,直線312完全位于孔洞外,因此其將充當(dāng)用于該孔洞填充的信息源。與之相比,直線316的大部分長度將遭遇孔洞填充,除了其下端位于孔洞外的一點剩余線段。圖像編輯器工具110(圖1)可以允許來自工具的諸標(biāo)記部分地重疊。例如,直線 318和320與直線312部分重疊。因為標(biāo)記是利用不同工具做出的,因此單獨處理而不會干擾針對其相應(yīng)區(qū)域的圖像完整性。圖3G示出了得到的圖像330。這里,圖像編輯器工具110 (圖1)已經(jīng)通過繪制來自用戶的標(biāo)記所指示區(qū)域的圖像信息而使得孔洞完整。如上所描述的,可以使用基于補(bǔ)丁的優(yōu)化算法來執(zhí)行圖像完整性。例如,來自區(qū)域外部分的補(bǔ)丁可以隨機(jī)地分布在區(qū)域內(nèi)部分中,并且此映射繼而可以使用良好映射傳播和隨機(jī)映射的迭代階段進(jìn)行細(xì)化。此后,使用相同的基于補(bǔ)丁的優(yōu)化算法來對未包括在用戶任一標(biāo)記中的孔洞的剩余部分進(jìn)行填充。也艮口,在整個孔洞上應(yīng)用相同的孔洞填充技術(shù),但是對于標(biāo)記出的區(qū)域,其繪制參考僅來源于其他對應(yīng)的標(biāo)記區(qū)域。圖4示出了圖像修改的另一示例。此處,在圖像400A中示出了帕埃斯圖姆的赫拉第二神廟的照片。該圖像中沒有要填充的孔洞;而是神廟缺失了部分結(jié)構(gòu),用戶希望系統(tǒng) (例如,圖1的圖像編輯器部件110)執(zhí)行圖像修改以處理這種情況。如圖400B中所示,用戶可以做出一個或多個標(biāo)記以定義針對應(yīng)當(dāng)如何創(chuàng)建所缺失結(jié)構(gòu)的語義。此處,用戶創(chuàng)建直線402來定義應(yīng)當(dāng)從何處獲得用于修復(fù)斜檐口的圖像信息。具體地,沿著未受損的、延伸至此物理結(jié)構(gòu)中的材料缺失的區(qū)域的結(jié)構(gòu)片段來繪制直線 402。因此,系統(tǒng)將僅查看未受損的結(jié)構(gòu)片段,因為其已被用戶標(biāo)記,以便找到用于重建物理結(jié)構(gòu)中的所缺失部分的圖像補(bǔ)丁。類似地,用戶針對物理對象中缺失三角墻的部分創(chuàng)建標(biāo)記404,以及針對缺失的檐口片段創(chuàng)建直線406。圖像400C示出了圖像修改的結(jié)果。可以看出,斜檐口、三角墻和檐口已經(jīng)通過添加圖像補(bǔ)丁到缺失物理結(jié)構(gòu)的這些地方而得以修復(fù)。由于用于這些區(qū)域的相應(yīng)信息源已經(jīng)被用戶在語義上進(jìn)行了定義,因此結(jié)果看起來自然、真實。圖5A示出了圖像修改的另一示例。此處,初始圖像500是帶有草坪、日冕基座和石頭墻的花園照片,背景中的石頭墻上有個入口。此示例中,用戶希望刪除基座和入口,并且生成看起來自然的經(jīng)修改圖像。圖5B示出了用戶已刪除基座和入口,留下孔洞502。圖像修改的目的是按照有組織的方式在圖像中的其他地方選擇內(nèi)容,并且用該內(nèi)容填充孔洞502。圖5C示出了用戶可以輸入一個或多個標(biāo)記以定義用于修改處理的搜索空間。這里,用戶輸入標(biāo)記504以指導(dǎo)針對在該孔洞頂上繼續(xù)的墻邊緣的孔洞填充處理。用戶輸入孔洞內(nèi)的標(biāo)記506A以及孔洞外的對應(yīng)標(biāo)記506B。標(biāo)記506B指示將從何處選擇用于標(biāo)記506A的區(qū)域的圖像內(nèi)容。類似地,用戶輸入孔洞內(nèi)的標(biāo)記508A以及孔洞外的對應(yīng)標(biāo)記508B。標(biāo)記508B指示將從何處選擇用于標(biāo)記508A的區(qū)域的圖像內(nèi)容。用戶針對各個標(biāo)記采用單獨的標(biāo)記工具,如由標(biāo)記的不同顏色所指示的。使用通過語義指導(dǎo)輔助的基于補(bǔ)丁的優(yōu)化算法來執(zhí)行用于填充孔洞的內(nèi)容選擇, 該語義指導(dǎo)由用戶通過輸入標(biāo)記來創(chuàng)建。圖5D示出了在基于補(bǔ)丁的優(yōu)化算法之后得到的經(jīng)修改圖像510。這里,對應(yīng)于所有標(biāo)記504、506A和508A的內(nèi)容已被填充到孔洞502中, 并且在用戶未標(biāo)記的孔洞502的剩余部分中,基于補(bǔ)丁的優(yōu)化算法通過如其中的傳播階段和隨機(jī)搜索階段所指導(dǎo)的,參考該圖像的任何區(qū)域?qū)υ撌S嗖糠诌M(jìn)行填充。圖6示出了生成經(jīng)修改圖像的示例方法600。方法600可以由執(zhí)行存儲在有形計算機(jī)可讀介質(zhì)中(例如,在系統(tǒng)100(圖1)中)的指令的處理器來執(zhí)行。可以執(zhí)行一個或多個附加步驟。步驟610涉及在計算機(jī)系統(tǒng)中顯示圖像。例如,圖像200、302A、400A中的任何或所有可以在GUI 104(圖1)中顯示。圖像包括其內(nèi)具有可視特征的內(nèi)容,該內(nèi)容具有被定義為在生成經(jīng)修改圖像時被提供附加內(nèi)容的區(qū)域。例如,圖像200和302A可以具有定義于其內(nèi)的孔洞,諸如來源于刪除一些圖像內(nèi)容。作為另一示例,圖像中示出的物理對象的結(jié)構(gòu)可能缺失,諸如在圖像400A中。步驟620涉及接收包括要放置在圖像上的語義標(biāo)記的輸入,該語義標(biāo)記指示特征的至少一部分。例如,用戶可以使用輸入設(shè)備110、采用工具306來做出標(biāo)記208、210、212、 312-316,320-322以及402-406中的任何標(biāo)記。語義標(biāo)記指示區(qū)域內(nèi)的區(qū)域內(nèi)部分和區(qū)域外的區(qū)域外部分。例如,放置標(biāo)記208、210、212、312-316、320-322以及402-406,從而使得它們指示相應(yīng)孔洞或缺失結(jié)構(gòu)區(qū)域的相應(yīng)的區(qū)域內(nèi)部分和區(qū)域外部分。區(qū)域外部分可以位于同一圖像中或另一圖像中。步驟630涉及使用向該圖像應(yīng)用的基于補(bǔ)丁的優(yōu)化算法來確定用于該區(qū)域的附加內(nèi)容。例如,圖像編輯器部件110(圖1)可以應(yīng)用基于補(bǔ)丁的優(yōu)化算法。基于補(bǔ)丁的優(yōu)化算法基于區(qū)域外部分而不基于語義標(biāo)記未指示的圖像區(qū)域,來識別用于區(qū)域內(nèi)部分的附加內(nèi)容?;谘a(bǔ)丁的優(yōu)化算法在不限制于區(qū)域外部分的情況下,識別用于該區(qū)域剩余部分的附加內(nèi)容。步驟640涉及存儲在該區(qū)域中具有附加內(nèi)容的經(jīng)修改圖像。例如,圖像330或 400C,或者在圖像200中的孔洞202已被填充時得到的圖像中的任何或所有圖像可以存儲在存儲庫108中(圖1)。本說明書中描述的主題和操作的實施方式可以在數(shù)字電子電路中實現(xiàn),或者在計算機(jī)軟件、固件或硬件中實現(xiàn),該計算機(jī)軟件、固件或硬件包括本說明書中公開的結(jié)構(gòu)及其等同結(jié)構(gòu)、或是它們的一個或多個的組合。本說明書中描述的主題的實施方式可以實現(xiàn)為一個或多個計算機(jī)程序,也即,在計算機(jī)可讀介質(zhì)上編碼的、以供數(shù)據(jù)處理裝置執(zhí)行或控制數(shù)據(jù)處理裝置操作的一個或多個計算機(jī)程序指令模塊。備選地或附加地,程序指令可以在人工生成的傳播信號上編碼,例如,機(jī)器產(chǎn)生的電信號、光信號或者電磁信號,生成該信號以對信息進(jìn)行編碼,以便傳輸?shù)竭m當(dāng)?shù)慕邮掌餮b置以供數(shù)據(jù)處理裝置執(zhí)行。計算機(jī)可讀介質(zhì)可以是或包括在機(jī)器可讀的存儲設(shè)備、機(jī)器可讀的存儲襯底、隨機(jī)或串行訪問存儲器陣列或器件、或者它們中的一個或多個的結(jié)合。而且,盡管計算機(jī)存儲介質(zhì)不是傳播的信號, 但是計算機(jī)存儲介質(zhì)可以是在人工生成的傳播信號中編碼的計算機(jī)程序指令的源或目的地。計算機(jī)存儲介質(zhì)還可以是或者包括在一個或多個分離的物理部件或介質(zhì)(例如,多個 ⑶、盤或其他存儲設(shè)備)。本說明書中描述的操作可以實現(xiàn)為由數(shù)據(jù)處理裝置執(zhí)行的、對存儲在一個或多個計算機(jī)可讀存儲設(shè)備上的或接收自其他源的數(shù)據(jù)進(jìn)行的操作。術(shù)語“數(shù)據(jù)處理裝置”包括用于處理數(shù)據(jù)的所有裝置、設(shè)備和機(jī)器,例如包括可編程處理器、計算機(jī)、片上系統(tǒng)、或者多個前述裝置或其組合。裝置可以包括專用邏輯電路,例如FPGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路)。除了硬件之外,該裝置還可以包括為考慮中的計算機(jī)程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如,構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、跨平臺運行時環(huán)境、虛擬機(jī),或者它們中一個或多個的結(jié)合的代碼。裝置和執(zhí)行環(huán)境可以實現(xiàn)各種不同的計算模型架構(gòu),諸如web服務(wù)、分布式計算和網(wǎng)格計算架構(gòu)。計算機(jī)程序(也被稱為程序、軟件、軟件應(yīng)用、腳本或代碼)可以由任意形式的編程語言編寫,包括編譯語言或解釋語言,說明性語言或過程語言,并且該計算機(jī)程序可以按照任意形式部署,包括部署為單獨的程序或模塊、組件、子例程、對象,或者適于在計算環(huán)境中使用的其他單元。計算機(jī)程序可以但無需對應(yīng)于文件系統(tǒng)中的文件。程序可以存儲在保存其他程序或數(shù)據(jù)(例如,存儲在標(biāo)記語言文檔中的一個或多個腳本)的文件的一部分中、 可以存儲在專門用于考慮中的程序的單個文件中,或者存儲在多個協(xié)同文件中(例如,存儲一個或多個模塊、子程序,或代碼部分的文件)??梢詫⒂嬎銠C(jī)程序部署為在一個計算機(jī)上執(zhí)行,或者將其部署為在位于一個地點的多個計算機(jī)上執(zhí)行或跨過多個地點分布且通過通信網(wǎng)絡(luò)互連的多個計算機(jī)上執(zhí)行。本說明書中描述的處理和邏輯流程可以由執(zhí)行一個或多個計算機(jī)程序的一個或多個可編程處理器執(zhí)行,用于通過對輸入數(shù)據(jù)進(jìn)行操作以及產(chǎn)生輸出來執(zhí)行功能。該處理和邏輯流程還可以由例如FPGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路)之類的專用邏輯電路執(zhí)行,并且也可以將裝置實現(xiàn)為所述專用邏輯電路。適于計算機(jī)程序執(zhí)行的處理器例如包括通用和專用處理器兩者、以及任意類型的數(shù)字計算機(jī)的任意一個或多個處理器。通常,處理器將從只讀存儲器或隨機(jī)訪問存儲器或兩者處接收指令和數(shù)據(jù)。計算機(jī)的基本元件是用于根據(jù)指令執(zhí)行動作的處理器以及用于存儲指令和數(shù)據(jù)的一個或多個存儲器設(shè)備。通常,計算機(jī)還將包括用于存儲數(shù)據(jù)的一個或多個海量存儲設(shè)備,或被操作性地耦合為從所述用于存儲數(shù)據(jù)的一個或多個海量存儲設(shè)備接收數(shù)據(jù)、向其傳送數(shù)據(jù)、或者進(jìn)行兩者,該海量存儲設(shè)備例如磁盤、磁光盤、或光盤。然而,計算機(jī)不必一定具有這樣的設(shè)備。而且,計算機(jī)可以嵌入在其他設(shè)備中,例如移動電話、個人數(shù)字助理(PDA)、移動音頻或視頻播放器、游戲控制臺、全球定位系統(tǒng)(GPQ接收器、或者便攜式存儲設(shè)備(例如,通用串行總線(USB)閃存驅(qū)動),這僅是幾例。適于存儲計算機(jī)程序指令和數(shù)據(jù)的設(shè)備包括所有形式的非易失性存儲器、介質(zhì)和存儲設(shè)備,例如包括半導(dǎo)體存儲設(shè)備,如EPROM、EEPROM和閃存設(shè)備;磁盤,如內(nèi)部硬盤或可移動硬盤;磁光盤;以及CD-ROM 和DVD-ROM盤。處理器和存儲器可以由專用邏輯電路補(bǔ)充或是包括在專用邏輯電路中。為了提供與用戶的交互,本說明書中描述的主題的實施方式可以在具有用于向用戶顯示信息的顯示設(shè)備以及用戶可以通過其向計算機(jī)提供輸入的鍵盤和指點設(shè)備的計算機(jī)上實現(xiàn),其中顯示設(shè)備例如CRT (陰極射線管)或者IXD (液晶顯示器)監(jiān)視器,指點設(shè)備例如鼠標(biāo)或者軌跡球。也可以使用其他類型的設(shè)備來提供與用戶的交互;例如,提供給用戶的反饋可以是任何形式的感觀反饋,例如視覺反饋、聲覺反饋或者觸覺反饋;并且可以接收來自用戶的任意形式的輸入,包括聲音、語音或觸覺輸入。此外,計算機(jī)可以通過向用戶所使用的設(shè)備發(fā)送文檔或從其接收文檔來與用戶交互;例如,通過響應(yīng)于接收自web瀏覽器的請求,向用戶客戶端設(shè)備上的web瀏覽器發(fā)送web頁面。本說明書中描述的主題的實施方式可以實現(xiàn)在包括后端部件的計算系統(tǒng)中,例如數(shù)據(jù)服務(wù)器;或?qū)崿F(xiàn)在包括中間件部件的計算系統(tǒng)中,例如應(yīng)用服務(wù)器;或?qū)崿F(xiàn)在包括前端部件的計算系統(tǒng)中,例如具有圖形用戶界面或者Web瀏覽器的客戶端計算機(jī),用戶通過該圖形用戶界面或Web瀏覽器可以與本說明書中描述的主題的實現(xiàn)進(jìn)行交互;或?qū)崿F(xiàn)在一個或多個這樣的后端、中間件、或前端部件的任意結(jié)合中。系統(tǒng)部件可以通過任意形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信(例如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(“LAN”),廣域網(wǎng)(“WAN”),網(wǎng)際網(wǎng)(例如,互聯(lián)網(wǎng))以及端對端網(wǎng)絡(luò)(例如,ad hoc端對端網(wǎng)絡(luò))。計算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器一般相互遠(yuǎn)離,并且通常通過通信網(wǎng)絡(luò)進(jìn)行交互。客戶端和服務(wù)器的關(guān)系是借助于在各自計算機(jī)上運行的、彼此具有客戶端-服務(wù)器關(guān)系的計算機(jī)程序得到的。在一些實施方式中,服務(wù)器向客戶端設(shè)備發(fā)送數(shù)據(jù)(例如,HTML頁面)(例如,為了向與客戶端設(shè)備交互的用戶顯示數(shù)據(jù)以及從其接收用戶輸入)??梢栽诜?wù)器處從客戶端設(shè)備接收在客戶端設(shè)備處生成的數(shù)據(jù)(例如,用戶交互的結(jié)果)。盡管本說明書包含多種特定細(xì)節(jié),但是不應(yīng)將其理解為是對本發(fā)明的范圍或者所要求保護(hù)內(nèi)容的限制,而應(yīng)當(dāng)理解為是本發(fā)明具體實施方式
的特定特征的描述。本說明書中描述的在各個實施方式的上下文中的某些特征也可以在單個實施方式中結(jié)合實現(xiàn)。相反,在單個實施方式上下文中描述的各種特征也可以分別實現(xiàn)在多個實施方式中或者任意適當(dāng)?shù)淖咏M合中。而且,盡管上文可能將特征描述為在特定的組合中操作,甚至初始也是這樣要求保護(hù)的,但是來自所要求保護(hù)的組合的一個或多個特征在一些情況下可以從該組合中去除,并且所要求保護(hù)的組合可以針對子組合或組合的變形。類似地,盡管在附圖中按照特定的順序描述操作,但是不應(yīng)將其理解為要求按照所示的特定順序或是串行順序來執(zhí)行這些操作,或是要求執(zhí)行全部所示的操作以得到期望的結(jié)果。在特定環(huán)境中,多任務(wù)和并行處理可能是有利的。而且,在上述實施方式中多個系統(tǒng)部件的分離不應(yīng)被理解為在所有實施方式中需要這種分離,應(yīng)當(dāng)將其理解為所描述的程序組件和系統(tǒng)通??梢栽趩蝹€軟件產(chǎn)品中集成在一起,或是被打包到多個軟件產(chǎn)品中。因此,已經(jīng)描述了本發(fā)明的特定實施方式。其他實施方式在所附權(quán)利要求的范圍內(nèi)。在一些情況中,權(quán)利要求中記載的動作可以按照不同順序執(zhí)行而仍然得到希望的結(jié)果。 此外,附圖中描述的處理不一定要求按所示的特定順序,或者串行順序,來實現(xiàn)期望的結(jié)果。在某些實現(xiàn)中,多任務(wù)和并行處理可能是有利的。
權(quán)利要求
1.一種計算機(jī)實現(xiàn)的用于生成經(jīng)修改圖像的方法,所述方法包括在計算機(jī)系統(tǒng)中顯示圖像,所述圖像包括其內(nèi)具有可視特征的內(nèi)容,所述內(nèi)容具有被定義為在生成經(jīng)修改圖像時被提供附加內(nèi)容的區(qū)域;接收包括要放置在所述圖像上的語義標(biāo)記的輸入,所述語義標(biāo)記指示所述區(qū)域內(nèi)的區(qū)域內(nèi)部分和所述區(qū)域外的區(qū)域外部分;使用向所述圖像應(yīng)用的基于補(bǔ)丁的優(yōu)化算法來確定用于所述區(qū)域的所述附加內(nèi)容,所述基于補(bǔ)丁的優(yōu)化算法(i)基于所述區(qū)域外部分而不基于所述語義標(biāo)記未指示的所述圖像的區(qū)域來識別用于所述區(qū)域內(nèi)部分的所述附加內(nèi)容;以及(ii)在不限制于所述區(qū)域外部分的情況下,識別用于所述區(qū)域的剩余部分的所述附加內(nèi)容;以及對在所述區(qū)域中具有所述附加內(nèi)容的所述經(jīng)修改圖像進(jìn)行存儲。
2.根據(jù)權(quán)利要求1的方法,其中所述區(qū)域包括所述圖像中不包含所述內(nèi)容的孔洞,并且其中在孔洞填充過程中生成所述經(jīng)修改圖像。
3.根據(jù)權(quán)利要求2的方法,其中填充所述孔洞以使得所述特征延伸到之前未包含所述內(nèi)容的所述區(qū)域中。
4.根據(jù)權(quán)利要求1的方法,其中所述圖像是照片,以及所述特征是物理對象,并且其中所述區(qū)域?qū)?yīng)于所述特征中缺失的所述物理對象的結(jié)構(gòu)而被定義。
5.根據(jù)權(quán)利要求1的方法,其中所述語義標(biāo)記使用至少以下之一做出直線工具、弧線工具、刷子工具、區(qū)域選擇工具及其組合。
6.根據(jù)權(quán)利要求1的方法,其中所述語義標(biāo)記的一部分放置在所述區(qū)域內(nèi)部以指示所述區(qū)域內(nèi)部分,以及所述語義標(biāo)記的另一部分放置在所述區(qū)域外部以指示所述區(qū)域外部分。
7.根據(jù)權(quán)利要求1的方法,其中向所述語義標(biāo)記指派識別特性,所述識別特性將所述語義標(biāo)記與所述圖像中的至少一個其他語義標(biāo)記相區(qū)分,從而使得所述基于補(bǔ)丁的優(yōu)化算法單獨處理所述語義標(biāo)記。
8.根據(jù)權(quán)利要求7的方法,其中所述語義標(biāo)記相互交叉,并且所述基于補(bǔ)丁的優(yōu)化算法單獨處理所述語法標(biāo)記。
9.根據(jù)權(quán)利要求1的方法,還包括接收針對所述基于補(bǔ)丁的優(yōu)化處理而定義附加語義約束的另一輸入。
10.根據(jù)權(quán)利要求9的方法,其中所述附加約束包括至少以下之針對所述基于補(bǔ)丁的優(yōu)化算法的連貫性方面定義的第一搜索空間限制,所述第一搜索空間限制拒絕至少所述圖像的第一區(qū)域在所述附加內(nèi)容中的使用;以及針對所述基于補(bǔ)丁的優(yōu)化算法的完整性方面定義的第二搜索空間限制,所述第二搜索空間限制要求所述附加內(nèi)容關(guān)于由所述第二搜索空間限制所指示的所述圖像的第二區(qū)域是完整的。
11.根據(jù)權(quán)要求1的方法,其中所述區(qū)域外部分位于與包含所述區(qū)域的所述圖像分離的另一圖像中。
12.—種有形地體現(xiàn)在有形程序載體中的計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括指令,當(dāng)所述指令由處理器執(zhí)行時,其執(zhí)行方法,包括在計算機(jī)系統(tǒng)中顯示圖像,所述圖像包括其內(nèi)具有可視特征的內(nèi)容,所述內(nèi)容具有被定義為在生成經(jīng)修改圖像時被提供附加內(nèi)容的區(qū)域;接收包括要放置在所述圖像上的語義標(biāo)記的輸入,所述語義標(biāo)記指示所述區(qū)域內(nèi)的區(qū)域內(nèi)部分和所述區(qū)域外的區(qū)域外部分;使用向所述圖像應(yīng)用的基于補(bǔ)丁的優(yōu)化算法來確定用于所述區(qū)域的所述附加內(nèi)容,所述基于補(bǔ)丁的優(yōu)化算法(i)基于所述區(qū)域外部分而不基于所述語義標(biāo)記未指示的所述圖像的區(qū)域來識別用于所述區(qū)域內(nèi)部分的所述附加內(nèi)容;以及(ii)在不限制于所述區(qū)域外部分的情況下,識別用于所述區(qū)域的剩余部分的所述附加內(nèi)容;以及對在所述區(qū)域中具有所述附加內(nèi)容的所述經(jīng)修改圖像進(jìn)行存儲。
13.一種有形地體現(xiàn)在計算機(jī)可讀存儲介質(zhì)中的計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括指令,當(dāng)所述指令被執(zhí)行時,其在顯示設(shè)備上生成圖形用戶界面,包括在計算機(jī)系統(tǒng)中顯示圖像的圖像顯示區(qū)域,所述圖像包括其內(nèi)具有可視特征的內(nèi)容, 所述內(nèi)容具有被定義為在生成經(jīng)修改圖像時被提供附加內(nèi)容的區(qū)域;以及用于接收包括要放置在所述圖像上的語義標(biāo)記的輸入的輸入控件,所述語義標(biāo)記指示所述區(qū)域內(nèi)的區(qū)域內(nèi)部分和所述區(qū)域外的區(qū)域外部分;其中使用向所述圖像應(yīng)用的基于補(bǔ)丁的優(yōu)化算法來確定用于所述區(qū)域的所述附加內(nèi)容,所述基于補(bǔ)丁的優(yōu)化算法(i)基于所述區(qū)域外部分而不基于所述語義標(biāo)記未指示的所述圖像的區(qū)域來識別用于所述區(qū)域內(nèi)部分的所述附加內(nèi)容;以及(ii)在不限制于所述區(qū)域外部分的情況下,識別用于所述區(qū)域的剩余部分的所述附加內(nèi)容,并且對在所述區(qū)域中具有所述附加內(nèi)容的所述經(jīng)修改圖像進(jìn)行存儲。
14.根據(jù)權(quán)利要求13的計算機(jī)程序產(chǎn)品,其中所述區(qū)域包括所述圖像中不包含所述內(nèi)容的孔洞,并且其中在孔洞填充過程中生成所述經(jīng)修改圖像。
15.根據(jù)權(quán)利要求13的計算機(jī)程序產(chǎn)品,其中所述圖像是照片,以及所述特征是物理對象,并且其中所述區(qū)域?qū)?yīng)于所述特征中缺失的所述物理對象的結(jié)構(gòu)而被定義。
16.根據(jù)權(quán)利要求13的計算機(jī)程序產(chǎn)品,其中所述輸入控件包括至少以下之一直線工具、弧線工具、刷子工具、區(qū)域選擇工具及其組合。
17.根據(jù)權(quán)利要求13的計算機(jī)程序產(chǎn)品,其中所述輸入控件將識別特性與所述語義標(biāo)記相關(guān)聯(lián),所述識別特性將所述語義標(biāo)記與所述圖像中的至少一個其他語義標(biāo)記相區(qū)分, 從而使得所述基于補(bǔ)丁的優(yōu)化算法單獨處理各語義標(biāo)記。
18.一種系統(tǒng),包括顯示圖像的顯示設(shè)備,所述圖像包括其內(nèi)具有可視特征的內(nèi)容,所述內(nèi)容具有被定義為在生成經(jīng)修改圖像時被提供附加內(nèi)容的區(qū)域;用于接收包括要放置在所述圖像上的語義標(biāo)記的輸入的輸入設(shè)備,所述語義標(biāo)記指示至少部分所述特征,所述語義標(biāo)記跨越所述區(qū)域的邊界,從而使得形成所述語義標(biāo)記的區(qū)域內(nèi)部分和區(qū)域外部分;以及圖像編輯器部件,其使用向所述圖像應(yīng)用的基于補(bǔ)丁的優(yōu)化算法來確定用于所述區(qū)域的所述附加內(nèi)容,所述基于補(bǔ)丁的優(yōu)化算法(i)基于所述區(qū)域外部分而不基于所述語義標(biāo)記未指示的所述圖像的區(qū)域來識別用于所述區(qū)域內(nèi)部分的所述附加內(nèi)容;以及(ii)在不限制于所述區(qū)域外部分的情況下,識別用于所述區(qū)域的剩余部分的所述附加內(nèi)容。
19.根據(jù)權(quán)利要求18的系統(tǒng),其中所述輸入設(shè)備包括至少以下之一直線工具、弧線工具、刷子工具、區(qū)域選擇工具及其組合。
20.根據(jù)權(quán)利要求18的系統(tǒng),其中所述輸入設(shè)備將識別特性與所述語義標(biāo)記相關(guān)聯(lián), 所述識別特性將所述語義標(biāo)記與所述圖像中的至少一個其他語義標(biāo)記相區(qū)分,從而使得所述基于補(bǔ)丁的優(yōu)化算法單獨處理所述語義標(biāo)記。
全文摘要
在計算機(jī)系統(tǒng)中顯示圖像。該圖像包括其內(nèi)具有可視特征的內(nèi)容。該內(nèi)容具有被定義為在生成經(jīng)修改圖像時被提供附加內(nèi)容的區(qū)域。接收包括要放置在該圖像上的語義標(biāo)記的輸入。該語義標(biāo)記指示區(qū)域內(nèi)的區(qū)域內(nèi)部分和區(qū)域外的區(qū)域外部分。使用應(yīng)用于該圖像的基于補(bǔ)丁的優(yōu)化算法來確定用于該區(qū)域的附加內(nèi)容。該基于補(bǔ)丁的優(yōu)化算法(i)基于該區(qū)域外部分而不基于該語義標(biāo)記未指示的圖像區(qū)域來識別用于該區(qū)域內(nèi)部分的附加內(nèi)容;以及(ii)在不限制于該區(qū)域外部分的情況下,識別用于該區(qū)域的剩余部分的該附加內(nèi)容。存儲在該區(qū)域中具有附加內(nèi)容的經(jīng)修改圖像。
文檔編號G06T11/60GK102460515SQ201080027432
公開日2012年5月16日 申請日期2010年5月5日 優(yōu)先權(quán)日2009年5月6日
發(fā)明者D·戈德曼, E·舍徹曼 申請人:奧多比公司