針對實況相機饋送的圖像分割的制作方法
【技術(shù)領(lǐng)域】
[0001] 本公開內(nèi)容涉及數(shù)據(jù)處理領(lǐng)域,并且更具體地,涉及用于分割實況相機饋送(live camera feed)的圖像幀的技術(shù)。
【背景技術(shù)】
[0002] 在圖像編輯應(yīng)用中,各種分割技術(shù)可以被用來相對于其它對象或者背景勾畫圖像 中的一個或者多個對象。這些技術(shù)中的一些技術(shù)需要先前拍攝的圖像,對象是從該圖像中 手動地選擇的。
【發(fā)明內(nèi)容】
[0003] 本公開的實施例提供了一種用于分割實況相機饋送的圖像幀的方法、系統(tǒng)和計算 機程序產(chǎn)品。
[0004] 根據(jù)本公開的一個方面,提供了一種計算機實施的數(shù)字圖像處理方法,該方法包 括:接收代表當前圖像幀的像素數(shù)據(jù);計算偏移項,該偏移項代表當前圖像幀中的每個像 素朝著前景偏移區(qū)域和背景偏移區(qū)域之一的加權(quán);由處理器使用能量優(yōu)化函數(shù)來基于像素 數(shù)據(jù)和偏移項將當前圖像幀分割成前景段和背景段;以及生成像素遮罩,該像素遮罩與前 景段和背景段中的至少一個段中的像素相對應(yīng)。
[0005] 根據(jù)本公開的另一方面,提供了一種系統(tǒng),該系統(tǒng)包括:存儲裝置;以及操作地耦 合到該存儲裝置的處理器,該處理器被配置為執(zhí)行該存儲裝置中存儲的指令,該指令在被 執(zhí)行時使得該處理器執(zhí)行過程。該過程包括:接收代表當前圖像幀的像素數(shù)據(jù);計算偏移 項,該偏移項代表當前圖像幀中的每個像素朝著前景偏移區(qū)域和背景偏移區(qū)域之一的加 權(quán);使用能量優(yōu)化函數(shù)來基于像素數(shù)據(jù)和偏移項將當前圖像幀分割成前景段和背景段;以 及生成像素遮罩,該像素遮罩與前景段和背景段中的至少一個段中的像素相對應(yīng)。
[0006] 根據(jù)本公開的又一方面,提供了一種具有在其上編碼的指令的非瞬態(tài)計算機程序 產(chǎn)品,該指令在由一個或者多個處理器執(zhí)行時使得過程被執(zhí)行。該過程包括:接收代表當前 圖像幀的像素數(shù)據(jù);計算偏移項,該偏移項代表當前圖像幀中的每個像素朝著前景偏移區(qū) 域和背景偏移區(qū)域之一的加權(quán);使用能量優(yōu)化函數(shù)來基于像素數(shù)據(jù)和偏移項將當前圖像幀 分割成前景段和背景段;以及生成像素遮罩,該像素遮罩與前景段和背景段中的至少一個 段中的像素相對應(yīng)。
【附圖說明】
[0007] 附圖不旨在于按比例來繪制。在附圖中,在各圖中圖示的每個完全相同或者幾乎 完全相同的部件由相似標號代表。
[0008] 圖1圖示了根據(jù)本發(fā)明的實施例的用于分割實況相機饋送的圖像幀的示例計算 設(shè)備。
[0009] 圖2A-2E描繪了根據(jù)本發(fā)明的各種實施例的示例圖像幀。
[0010] 圖3是代表根據(jù)本發(fā)明的實施例的用于分割實況相機饋送的圖像幀的示例方法 的流程圖。
[0011] 圖4是代表可以根據(jù)本發(fā)明的實施例來使用的示例計算系統(tǒng)的框圖。
【具體實施方式】
[0012] 圖像分割指代其中圖像被劃分成兩個或者更多分段的一類操作,通常用于定位對 象和邊界。更具體而言,圖像分割包括向圖像中的每個像素指派一個或者多個標簽。例如, 一個分段可以包括代表圖像的前景中的對象的像素,而另一分段可以包括代表背景的像 素。在一些現(xiàn)有圖像分割技術(shù)中,用戶通過指定圖像中的必須是對象的部分的某些像素和 必須是背景的部分的某些像素來針對分割施加某些硬約束。這些硬約束提供關(guān)于用戶打算 如何分割圖像的線索。通過自動地計算在所有潛在分段之中的滿足用戶指定的硬約束的全 局最優(yōu)來將剩余像素標注為屬于對象或者背景,由此將圖像分割成至少兩個區(qū)域(例如, 一個分段包括對象而一個分段包括背景)。然而,這樣的現(xiàn)有技術(shù)需要用于施加硬約束的用 戶干預(yù),該硬約束被用于執(zhí)行分割。
[0013] 為此并且根據(jù)本發(fā)明的實施例,公開了用于分割實況相機饋送的圖像幀的技術(shù)。 盡管用于這樣的分割的許多應(yīng)用根據(jù)本公開內(nèi)容將是明顯的,但是一個示例應(yīng)用是在編輯 工具(例如軟件應(yīng)用,諸如八(1(^1%〇:1:08&〇1?_)中創(chuàng)建用于對象的遮罩的情境中。例 如,根據(jù)一個實施例,為了選擇對象,用戶可以簡單地將智能相機指向該對象,并且選擇由 在該智能電話上可執(zhí)行的圖像分割模塊自動地做出。在一些實施例中,所選擇的對象可以 使用適當顏色來染色或者被紋理化或者被勾勒其輪廓或者以別的方式來強調(diào)。隨著相機被 移動,向用戶示出相機饋送,并且針對每個新的相機定位自動地選擇和重新選擇對象。與目 標對象交互的這種方法與典型的選擇技術(shù)的不同之處在于,這些選擇技術(shù)需要首先拍攝相 片以及然后由用戶手動地選擇對象。根據(jù)本發(fā)明的實施例,在拍攝相片之前選擇對象。因 此,如果未正確地選擇對象,則用戶可以移動相機和/或?qū)ο笠员愕玫礁玫倪x擇。當選擇 正確或者以別的方式被批準時,用戶可以拍攝相片,并且可以保存與該選擇關(guān)聯(lián)的對應(yīng)遮 罩。例如,可以經(jīng)由在與相機操作地耦合的計算設(shè)備上執(zhí)行的可執(zhí)行模塊(例如,軟件或者 固件)來實施交互。在一個具體示例實施例中,偏移方案被用來初始地將圖像內(nèi)的可能包 含被分割的目標對象的像素局部化。然后,初始位置偏移可以與優(yōu)化算法結(jié)合用于選擇圖 像幀中的代表對象的像素,從而分割圖像。隨后,遮片(matting)算法可以被用來定義包圍 對象邊界或者在對象邊界內(nèi)的像素遮罩。隨著圖像幀隨著實況相機饋送而改變,可以連續(xù) 地更新和完善偏移和像素遮罩。許多配置和變化根據(jù)本公開內(nèi)容將是明顯的。
[0014] 如在本公開內(nèi)容中所用,術(shù)語"分割"和"圖像分割"包括將數(shù)字圖像邏輯地劃分 成多個像素分段或者集合的過程。每個分段可以包括任何數(shù)目的像素(例如,一個或者多 個),并且可以存在由分割過程產(chǎn)生的任何數(shù)目的分段。圖像的分割不一定修改圖像;然 而,分段可以以任何數(shù)目的格式來顯示以向人類觀察者提供那些分段的可視化(例如,通 過對每個分段勾勒其輪廓或者突出顯示每個分段,或者從視覺上模糊某些分段)。進一步 地,分段可以用于其它目的,諸如在圖像編輯應(yīng)用內(nèi)的對象選擇。其它示例根據(jù)本公開內(nèi)容 將是明顯的。
[0015] 可以創(chuàng)建目標函數(shù)以代表包括分割的圖像處理問題??梢允褂盟惴?,諸如圖切割 優(yōu)化算法或者信任傳播算法來求解目標函數(shù)。圖切割(graph cut)是一種用于使用最小割 (min-cut)或者最大流(max-flow)算法來將圖一分為二的方法。在圖切割圖像對象選擇方 法的一個實現(xiàn)方式中,為了交互地選擇對象,用戶在圖像之上拖動鼠標以繪制前景筆劃或 者背景筆劃。筆劃本身可以在屏幕上被示出或者可以不在屏幕上被示出。如果用戶繪制前 景筆劃,則意味著在前景筆劃之下的所有像素必須是前景的部分。在背景筆劃之下的所有 像素必須是背景的部分。用戶指示筆劃是否為前景或者背景,并且可以通過點擊按鈕、保持 鼠標上的鍵、使用不同鼠標按鈕用于前景和背景、或者另一適當輸入來這樣做。對于筆劃未 覆蓋的所有像素,圖切割算法向前景或者背景指派那些像素。在這樣做時,圖切割試圖保證 前景的邊界位于圖像中的邊緣上。
[0016] 圖切割算法通過最小化以下目標函數(shù)來求解選擇:
[0018] X是像素標簽X1的集合,其中X 0指示像素 i是背景的部分而X 1指示像素 i是對象的部分。N(X)是與在圖像中鄰近的像素對應(yīng)的所有標簽對的集合。標量λ折衷 函數(shù)R和B的相對重要性。
[0019] 函數(shù)R是區(qū)域項,該區(qū)域項給定用于具有標簽X1的給定的像素 i的成本。R經(jīng)常 由用戶筆劃決定。在一些公式表示中,由R設(shè)置的成本僅適用于在用戶筆劃之下的像素。在 這樣的情況下,如果用戶在像素 i之上繪制前景筆劃,則對于X1= 1為RU J = 〇而對于X1 =〇為R(X1)=①。如果用戶在像素 i之上繪制背景筆劃,則對于\=〇為R(X1) =〇而 對于X1=I為R(X1) =0。對于用戶筆劃未覆蓋的所有像素,R(X1) =0。在圖割分割的其 它實現(xiàn)方式中,將使用利用在前景筆劃之下的所有像素計算的前景顏色模型和來自在背景 筆劃之下的所有像素的背景顏色模型來定義項R。
[0020] B是鼓勵選擇邊界跟隨圖像邊緣的函數(shù)。它經(jīng)常是圖像中的梯度的函數(shù)。例如,B 可以被定義為:
[0022] 其中Ci是像素 i的顏色??梢允褂米?