影像分割
GrabCut
GrabCut 是一個經典的互動方法,能以幾乎不費力的方式把單一前景物體從背景中切出來:你只要在物體周圍鬆鬆地拖一個矩形,演算法就會算出精確的輪廓。它的設計(Rother、Kolmogorov、Blake,2004)旨在讓強大卻繁瑣的圖切(graph-cut)分割變得簡單到連隨意操作的使用者都能用——名稱即由此而來,抓取並切割。
在底層,它交替執行兩個步驟直到收斂,是一個類似期望最大化(EM)的迴圈。首先,它分別以高斯混合模型(Gaussian Mixture Model,一種有彈性的顏色群集混合)為前景與背景的顏色建模:你方框外的一切確定是背景;方框內的一切起初視為可能的前景。其次,它把標記表述成一個待最小化的能量——一個資料項表示每個像素應取顏色模型較吻合它的那個標籤,外加一個平滑項對相鄰相似像素間的標籤變化加以懲罰——並在像素圖上以最小割/最大流(min-cut / max-flow)精確且全域地求解。新的標記精修顏色模型,精修後的模型給出更好的切割,如此往復。
GrabCut 位居以最小割最小化能量的圖切家族核心(Boykov-Jolly 與 Boykov-Kolmogorov)。相較於單次圖切,它多了反覆的顏色重新估計與「僅靠矩形」的互動。使用者可用幾筆前景/背景的筆刷修正錯誤。它至今仍是相片編輯器中快速、可靠的前景萃取工具,也是能量最小化分割的清晰範例;不過對於困難案例,如今的深度互動方法能用更少提示做得更好。