許意杭 曾國安
摘要:綠幕分割技術(shù)被廣泛應(yīng)用于影視制作、直播互動等。目前的綠幕分割技術(shù)大多追求效率,準(zhǔn)確度以及抗干擾能力較低,且對個人用戶不友好。隨著自媒體時代的來臨,追求實用的綠幕分割技術(shù)的需求越來越迫切。該文介紹了一種實用的綠幕分割技術(shù),該技術(shù)對背景綠幕及環(huán)境光顏色不敏感,且能夠在分割邊緣取得比較好的效果。個人用戶能夠非常方便使用該技術(shù)對綠幕前景進行分割提取,并對背景完成替換,可以達到實時完成的效率。
關(guān)鍵詞: 綠幕分割; HSV色彩空間; 阿爾法摳圖; 軟分割; 圖像處理
中圖分類號:TN911 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)25-0208-02
A Practical Green Screen Segmentation Method
XU Yi-hang,ZENG Guo-an
(Xiangtanxian No.1 Middle School, Xiangtan 411100, China)
Abstract:Green screen segmentation technology is widely used in film and television production, live broadcast interaction and so on. Most current green screen segmentation technologies pursue efficiency, but their accuracy and anti-interference ability are low, and they are not friendly to individual users. With the advent of the We media, the demand for practical green screen segmentation technology has become increasingly urgent. This paper presents a practical green screen segmentation technique, which is insensitive to the background green screen and ambient light colors, and can achieve better results at the segmentation edge. Individual users can easily use the technology to segment and extract the foreground of the green screen and replace the background to achieve real-time completion efficiency.
Key words:green screen segmentation; HSV color space; alpha matting; soft matting; image processing
1 概述
由于場景的局限性,也為了增加交互性及娛樂性,綠幕分割技術(shù)被廣泛應(yīng)用于文化、教育、娛樂等領(lǐng)域。例如在視頻直播中,用戶可以通過選擇的圖片作為背景,一些小動畫作為美化元素定位在背景上;將用戶的攝像頭輸入的內(nèi)容作為需要進行摳像處理的元素,經(jīng)過實時摳像處理后,定位在新背景的指定位置上,實現(xiàn)類似“虛擬演播室”的效果。綠幕功能讓人們通過簡易的方式就能夠獲得復(fù)雜的場景,極大地提升了視頻的展現(xiàn)效果。用戶通常用綠幕布置為場景中的背景,而后期采用分割摳圖技術(shù)可以在圖像和視頻中將綠幕與前景目標(biāo)區(qū)域進行分離,以達到替換背景的目的。使用綠色的幕布主要是為了能容易地與常見的前景目標(biāo)(比如人的皮膚)來區(qū)分。
本文在分析了綠幕分割算法在設(shè)計時需要考慮因素的基礎(chǔ)上,提出了一種實用、易用、高效的綠幕分割算法的設(shè)計思路和技術(shù)路線。該算法對環(huán)境光和綠幕顏色不敏感,且基本能保證實時處理的運行效率。實驗證明本方法對不同前景目標(biāo)和背景綠幕都能很好地處理。
2 綠幕分割算法
常見的綠幕分割技術(shù)都是采用硬分割,即在分割時判斷圖像中的像素點為前景目標(biāo)或者背景。這種分割的效率很高,但是處理復(fù)雜邊緣(比如毛發(fā))的效果很差,這是由于硬分割處理邊緣不夠平滑。采用軟分割則能避免這類問題,Alpha Matting[1]就是一類有效的軟分割方法。該類方法認為一幅圖像的不同的區(qū)域背景和前景參與的比例不一樣,而且在每個像素點這兩個比例之和為100%:在只有背景的地方,前景參與比例為0%;在只有前景的地方,背景參與比例為0%;而在背景與前景交界的區(qū)域,前景與背景的參與比例都是介于0%與100%之間的。這個比例值可以定義為一個未知數(shù)α ,而整張圖像的所有像素點的 α構(gòu)成了一張掩碼圖像。對于綠幕圖像中一個像素點值 P來說,有 [P=α×PF+(1-α)×PB]。其中 [PF] 為分割后前景目標(biāo)像素值,而 [PB] 為分割后背景目標(biāo)像素值。如果分割完成后要用另外的背景圖像進行替換的話,假設(shè)新背景中對應(yīng)的像素點值為Q,則更換背景后該像素點值應(yīng)該為[α×PF+(1-α)×Q] 。本文提出的綠幕分割算法就是基于Alpha Matting的。另外,由于采用的綠幕顏色與拍攝時光線顏色可能會有差異,通常需要比較穩(wěn)定的算法能去除這兩者的干擾。本文提出的綠幕分割算法能很好地處理這個問題,達到適用于不同綠幕和環(huán)境光顏色的效果。
2.1 算法描述
本文提出的綠幕分割方法算法流程如下,其中算法輸入為單張RGB彩色圖像I,輸出為分割好的前景掩碼M,M用來描述前景目標(biāo)在圖像中所有區(qū)域的參與比例:
[綠幕分割算法流程
輸入:彩色圖像I。
輸出:前景掩碼M。
1. 選取圖像中最綠的像素值 [(ri,gi,bi)];
[argminiri2+(gi-1)2+bi2 (0≤ri,gi,bi≤1)]
2. 對rgb圖像I做色彩空間轉(zhuǎn)換(rgb2hsv),獲得最綠像素值的色調(diào)值[hi];
3. 根據(jù)圖像I中像素的[(h,s,v)]值判斷是否為綠幕背景:
[|h-hi|<0.2 s>0.25 v>0.25]
4. 通過膨脹和腐蝕操作獲得粗略掩碼圖;
5. 結(jié)合粗略掩碼圖和彩色圖像I,利用Closed-form Matting獲得精細的前景掩碼。 ]
下面是關(guān)于該算法詳細步驟及分析:
第一步:遍歷需要分割的彩色圖像I 中所有的像素點值,計算這些像素點值與綠點(0,1,0)的距離,選取圖像中色彩距離最小的那個像素點,記作i;獲得該點像素值是為了能夠判斷綠幕在當(dāng)前環(huán)境光下的顏色;通常同一塊幕布在較均勻的環(huán)境光下會呈現(xiàn)相似的色調(diào),因此可以利用這一點來有效區(qū)分前景目標(biāo)和綠幕背景。
第二步:對彩色圖像做色彩空間變換,將彩色圖像的每個像素點從RGB色彩空間轉(zhuǎn)到HSV色彩空間,并獲得像素i的色調(diào) [hi];HSV色彩空間由色調(diào)(H)、飽和度(S)、明度(V)構(gòu)成,比較適合用于區(qū)分不同的顏色[2-3]。設(shè) [(r,g,b)] 為一個顏色的紅、綠和藍坐標(biāo),它們的值是在 0 到 1 之間的實數(shù)。設(shè) max 等價于 [r], [g] 和 [b] 中的最大者。設(shè) min 等于這些值中的最小者。要找到在 HSV 空間中的 [(h,s,v)] 值,這里的 [h∈[0,1)] 是角度的色相角,而 [s,v∈[0,1)] 是飽和度和明度,計算為:
[v=max]
第三步:遍歷圖像I中各像素點的 [(h,s,v)] 值,將滿足要求的像素點視為綠幕背景區(qū)域(α=0),不滿足要求的像素點視為前景區(qū)域(α=1);色調(diào)與最綠點色調(diào)接近,且飽和度與明度都大于0.25的區(qū)域都被視為綠幕背景。注意這里除了色調(diào)的限制,還加上了飽和度及明度的限制。這是因為背景綠幕由于光照通常明度和飽和度都比較高,而且加上這些限制能有效地排除前景目標(biāo)暗區(qū)域由于成像噪聲導(dǎo)致色調(diào)偏綠的情況。
第四步:通過形態(tài)學(xué)運算中腐蝕,膨脹的運算操作,分別將背景區(qū)域與前景區(qū)域縮小,而將它們的邊界區(qū)域視為不確定區(qū)域(α=0.5),生成粗略掩碼三分圖(tri-map)[4];本文使用窗口大小為5,形狀為disk的腐蝕與膨脹操作。窗口的大小一般取決于圖像前景目標(biāo)邊緣的齊整度,一般齊整度較高的前景目標(biāo)需要更寬的不確定區(qū)域,因此需要更大的腐蝕與膨脹操作窗口,但這樣會導(dǎo)致第五步計算復(fù)雜度的急劇增加。本文為尋求分割效果與效率之間的權(quán)衡,使用統(tǒng)一的窗口大小,這樣每一張圖像的處理時間大致相同,這樣能保證處理實時視頻數(shù)據(jù)的穩(wěn)定性。
第五步,基于原始彩色圖像I 和獲得的粗略掩碼三分圖,借助Closed-form Matting[5]方法實時生成精細的前景掩碼,實現(xiàn)對圖像I 的綠幕分割。同屬于Alpha Matting的方法還有Shared Sampling[6],Global Sampling[7]等,本文采用Closed-form Matting主要是因為它使用了拉普拉斯摳圖矩陣最小化方法,能用閉合形式方案解決分割優(yōu)化欠定問題,因此能夠達到非常高的效率,同時能夠非常容易地利用多核CPU或者GPU并行加速。
在獲得前景掩碼以后,利用每個像素點的 α 值,能夠?qū)υ紙D像的綠幕背景實現(xiàn)任意替換。當(dāng)然,為了最終融合圖像的效果,我們在拍攝綠幕圖像和選取新背景圖像應(yīng)當(dāng)保證光照情況大致相似,避免光照不均勻或者光照方向差異過于明顯的情況。這些情況會導(dǎo)致最終融合圖像的前景目標(biāo)和背景圖像的光照不協(xié)調(diào),嚴(yán)重破壞融合圖像的展示效果。當(dāng)然,利用目前流行的深度學(xué)習(xí)方法可以對綠幕圖像和背景圖像的光照進行估計和處理,但效果不一定好,而且會大大增加算法的復(fù)雜度。
2.2 實驗結(jié)果
為證明該技術(shù)的有效性,我們在Intel core i7,主頻3.4GHz、內(nèi)存8GB的計算機上,利用Matlab2014a實現(xiàn)了綠幕圖像分割。我們處理的圖像分別對風(fēng)景、人物作為前景,并在圖像中使用了不同的綠幕顏色,實驗取得了不錯的效果。圖1為使用本方法處理圖片的一個實驗結(jié)果。圖1(a)為原圖I,圖1(b)為替換的背景,圖1(c)為替換后的結(jié)果,圖1(d)為第三步獲得的硬分割掩碼,圖1(e)為膨脹腐蝕后得到的粗略掩碼,圖1(f)為利用Closed-form Matting方法獲得的精細掩碼。實驗圖片分辨率為500×300,在未使用任何加速手段時處理時間為0.1s,可以基本達到實時處理效率。
圖2為使用本方法處理圖片的另一個實驗結(jié)果。圖2(a)為原圖I,圖2(b)為替換的背景,圖2(c)為替換后的結(jié)果。原圖的分辨率很低,且經(jīng)過JPEG壓縮后較為模糊,前景人物的陰影對分割也會產(chǎn)生影響,但最終實驗結(jié)果仍然可以接受,說明本方法受實驗圖片中的噪聲干擾比較小。注意到圖2與圖1中綠幕顏色差異較大,而本方法都能有效處理,說明本方法對環(huán)境光顏色和綠幕顏色不敏感。
3 結(jié)論
隨著多媒體的廣泛傳播和自媒體時代的來臨,為了能豐富展示內(nèi)容、增強交互性,綠幕技術(shù)使用得越來越普遍,而簡單實用、對個人用戶友好的綠幕分割技術(shù)有著很好的應(yīng)用價值。本文通過分析這類技術(shù)的設(shè)計原理,結(jié)合不同的計算機圖像處理方法,設(shè)計并實現(xiàn)了一項實用的綠幕分割技術(shù),為讀者提供了實現(xiàn)圖像視頻綠幕背景替換的思路。該技術(shù)抗干擾性強,步驟簡單,計算復(fù)雜度低,便于移植到移動設(shè)備或嵌入式系統(tǒng)中,可以為更多的個人用戶提供方便的綠幕展示手段。未來我們會編寫一套能夠?qū)崟r處理視頻綠幕合成功能的程序;輸入為Direct Show提供的視頻捕獲接口的輸出,并利用CUDA硬件加速功能,實現(xiàn)聊天背景更換的實時系統(tǒng)。
參考文獻:
[1] 蔣建國, 張婕, 詹曙, 等. 層次式圖切分快速分割算法[J]. 圖學(xué)學(xué)報, 2012, 33(1): 44-49.
[2] 田巍, 莊鎮(zhèn)泉. 基于 HSV 色彩空間的自適應(yīng)膚色檢測[J]. 計算機工程與應(yīng)用, 2004, 40(14): 81-85.
[3] 包全磊. 基于 HSV 空間的彩色圖像分割[J]. 軟件導(dǎo)刊, 2010 (7): 171-172.
[4] 李聞, 韓國強, 顧艷春, 等. 一種魯棒視頻摳圖算法[J]. 計算機應(yīng)用研究, 2010, 27(1): 358-361.
[5] Levin A, Lischinski D, Weiss Y. A closed-form solution to natural image matting[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(2): 228-242.
[6] Gastal E S,Oliveira M M. Shared Sampling for Real Time Alpha Matting. In Computer Graphics Forum. Blackwell Publishing Ltd.,2010,29(2):575-584.
[7] He K, Rhemann C, Rother C, et al. A global sampling method for alpha matting[C]//Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on. IEEE, 2011: 2049-2056.
[8] 張文哲,彭延軍,牛翠霞.全局 Poisson 摳圖的實現(xiàn)與改進[J].系統(tǒng)仿真學(xué)報,2008(z1):92-93.
【通聯(lián)編輯:唐一東】