• 沒有找到結果。

第三章 Graph cut 前景擷取技術

3.1 Graph cut 技術

本節首先定義相關的名詞,接著介紹 graph cut 的成本函數,最後則敘述 Boykov and Jolly 如何以 max-flow min-cut 的演算法去最小化成本函數並得到最 佳的前景擷取結果。

3.1.1 名詞定義

以下定義在說明 graph cut 技術時所需的相關名詞:

 cut:給定一張 graph G

(V,E),其中 V 為 vertices 所成集合, E 為 links 所成集合,每一個 link e 都賦予一個權重w 。在 G 上可以定義一個 cut C,e C 為 E 的子集,使得 G 的導出圖(induced graph,也就是在 G 中刪除屬於 C

的 links)G(C)

(V,EC)將 V 分為兩個不連通(disconnected)的子集。若要求這 個 cut 必須把特定兩個點—source 和 terminal 分屬不同子集,則此 cut 又稱 st-cut。

 minimum cut:一個 cut C 的權重定義為該 cut 上所有邊的權重總和,即

28

 max-flow min-cut 定理:對於任一 graph,maximum flow 的值等於 minimum cut 的值。

3.1.2 影像標記(labeling)和成本函數(cost function)

若 給 定 一 張 影 像 I , 其 像 素 個 數 為 P , 則 可 以 用 一 個 二 元 向 量 景像素“bkg”或前景像素“obj”。Boykov and Jolly (Boykov and Jolly,2001)希望能 夠以使用者劃定之某些必為前景和背景的區域(hard constraint)作為線索,配合影 像中像素的 intensity 值來對一個影像標記定義其成本函數。由圖 3.1 可以略窺其 意,當使用者定義了某些確定為前景和背景的區域之後,系統便能夠以這些區域 中像素的 intensity 值所提供的資訊分別建立前景和背景的機率模型。某一像素被 賦予一個標記時,所需付出的成本便和該像素與此標記類別的機率模型之符合程 度有關。

29

圖 3.1 Graph cut 範例(Rother,2004)。左圖的紅色區域為使用者定義的背景部 分,白色區域則為前景部分。右圖為影像前景擷取的結果。

30 影像標記的優劣程度。以下將說明如何利用 maximum flow 與 minimum cut 演算 法來獲得成本最低的影像標記。

3.1.3 最小化成本函數

考慮前一小節提及的影像 I,建立一張 graphG

(V,E)。其中,V 所代表的 vertices 包含 I 的所有像素以及兩個額外的 vertices,source S(代表前景)和 terminal T(代表背景)。另一方面,E 包含的 edges 有兩種,為 t-link(terminal link)和

31

n-link(neighborhood link)。每一個像素(vertex)均有兩條 t-link(分別連結到 S 和 T) 和四條 n-link(連結相鄰像素),如圖 3.2 所示。

圖 3.2 由 所建立的 graph 之範例(Juan and Y. Boykov,2006)。

表 3.1 中呈現各種 links 權重定義的方式。於一個 graph G 中之 vertex(像素)p 可分為三類:1. 使用者定義為背景。2. 使用者定義為前景。3. 其它待標記 vertices。Vertices 間 t-link 的權重賦予則跟 p 在 vertex p 的類別有關。若 p 為使用 者定義的前景,則其與 T 相連的 t-link 權重值為 0,與 s 相連的 t-link 必須大於所 有 p 之 n-link 之和。同理,若 p 為已知背景,其與 S 相連的 t-link 權重為零,另 一條 t-link 權重必須大於所有 p 之 n-link 之和。假設 p 屬於第三類,即其為待標 記 vertex,則 p 與背景和前景相連的 t-link 分別為前景和背景的區域項成本函數。

另外,不論 p 為何種類別,其周圍四條 n-link 的權重定義為邊界項成本函數

}

) (

exp{

2

} ,

{pq

I

p

I

q

B   

,其中 q 為與 p 為相鄰的像素。

權重給定後,此 graph 就形成了一個 graph N

(G,S,T),接著就可以在該 graph 上找到最小的 st-cut C 。此 minimum cut * C 將 1-1 對應於一個影像標記* A ,在此 cut 之下與 S 相連的 vertices 即對應前景像素,而與 T 相連的 vertices*

則對應至背景像素。此時,C 的權重與* E(A*)相同,且A 即為成本最小的影像* 標記。

32

otherwise }

otherwise

表 3.1 依據各 link 賦予適當的權重。其中 O 和 B 為使用者定義的前景和背 景像素所構成的集合。

3.1.4 相關定理證明

將上節的 graph 建立完成後,任一個 st-cut 都會將此 graph 的 vertices 一分為 二,其中一群與 S 相連,另一群與 t 相連。若希望此標記結果能夠保有使用者定 義(hard constraint)的部分,且能夠讓 minimum cut 的權重對應到最低成本的影像 標記,則此一 cut 必須是一個 feasible cut。

33

結,因為其間的連結會被 cut。接下來將證明 minimum cut C 為一 feasible cut,* 而且對應到最小成本的影像標記。

圖 3.3 Feasible cut 之範例。

 引理:C 為一 feasible cut。 * 證明:

(i) 首先說明一給定 graph 經過 minimum cut 演算法後每個像素所對應的 vertex 僅餘一條 t-link。假設存在某個 vertex 留有兩條 t-link,則表示 source 和 terminal 間就仍然有路徑(path)存在,這違反了 cut 的定義。另一方面,

假設存在另一 vertex 經過 cut 之後無任何 t-link,則此 cut 不可能為 minimum cut。因為,必然能夠在 graph 中加回該 vertex 的其中一條 t-link,

即自C 中刪除該條 t-link,來得到一個成本更小的 cut。 *

(ii) 接下來證明{p,q}

C若且唯若 p 和 q 之 t-link 連結至不同的 vertex:

“⇐”:假設 p 和 q 之 t-link 連結至不同的 vertex,但{p,q}

C*,則 source 和 terminal 間有路徑存在,不符合 cut 定義;因此{p,q}

C*

“⇒”:在此證明此命題的逆否命題,即 “若 p 和 q 之 t-link 連結至相同的 vertex,則{p,q}

C*”。假設{p,q}

C*且 p 和 q 之 t-link 連結至相同的

T

S

34 constraint 的影像標記皆為相同的值。因此

* *

( ) min ( ) min ( ) min | | | |

A C C

E A

E A

E A

C

const

C

const

總而言之,在用 graph cut 技術進行前景擷取時,首先讓使用者在影像上定 義 hard constraint,以收集關於前景與背景的事前知識;並在這個基礎之下,定 義影像標記的成本函數。要解出成本最低的影像標記可利用該影像定義一個

總結graph cut演算法所需要的輸入資訊有:1.原始影像;2.前景以及背景的