李靈俐 李曉明
(太原科技大學計算機科學與技術學院 山西 太原030024)
視頻修復(video inpainting)是指替換或修改視頻中有瑕疵的區域,或者是根據個人主觀意志設定的某些區域,并且使得修復后的視頻在視覺上有著令人愉悅的觀賞效果。目前,攝像頭固定不動時的靜態視頻修復已經獲得了較大的成功,并已被嵌入一些商業軟件之中。早期的視頻修復算法多數沿用了圖像修復的思路,即采用啟發式思路在當前視頻幀或圖像庫中查找最有可能的2D圖像塊(patch)來填充待修復區域[1-2]。然而這種單幀視頻圖像各自獨立修復的方法,會導致修復后的視頻出現幀間不連續或跳躍現象,因此,目前已經很少使用基于單幀圖像的視頻修復算法。近年來,視頻修復的主流方法都是利用時空信息(spatio-temporal information)來實現的[3-5],并且取得了很大的成功。具體講,填充待修復視頻幀的圖像塊不再僅限于在2D圖像空間查找,而是增加了時間維度,即查找相似塊的操作是在3D空間實現的[6-7]。然而,這類方法要求視頻拍攝時攝像機是固定的,如果攝像機有運動,那么在修復前必須先進行視頻幀間的對齊操作??梢钥闯?,為了將經典的靜態視頻修復方法[8-10]擴展到動態視頻修復領域,視頻對齊是必不可少的先期步驟。
對于攝像機運動時的動態視頻修復也有一些相關的研究,但研究成果遠沒有靜態視頻修復成熟。例如,在動態視頻修復中,文獻[11-12]的方法采用把視頻分割成移動前景和背景,用塊匹配來實現運動估計。一旦移動的前景被繪制,背景根據塊匹配估計的運動重新排列,背景是由復制和粘貼背景像素來填充以此達到修復的目的。文獻[13-14]提出的方法也需要先分割前景與背景,然后在每一幀之間估計一組Homographies,并選擇一個Homgraphy應用于所有的屬于背景的每個被遮擋的像素。但是這兩種算法都要求對背景和前景進行分割,此外,它們還有相當嚴格的像素限制,這意味著重新排列必須是極端準確的。雖然在這種極其小運動范圍用Homgraphy模型的確可以近似模擬出視頻幀的對應,但是對于更一般的情況,以上方法所使用的全局模型就會導致較大的誤差??傮w上說,目前的動態視頻修復方法,或者需要進行前景背景的分割,或者其應用范圍僅限于攝像頭抖動這類微小運動的情況。
對于攝像機運動范圍較大的情況,采用哪種對齊模型來補償攝像機運動是一個重要的理論問題。眾所周知,當攝像機運動是繞定點旋轉或者場景是平面時,可以用全局Homography準確描述攝像機運動,當攝像機運動范圍很小時,采用全局Homograph仍然可以較好地近似攝像機運動。然而,當攝像機運動不滿足這些限制時,采用全局Homography近似攝像機運動會帶來較大的誤差,直接影響后續的視頻修復。針對此類情況,本文給出一種基于局部模型對齊的方法,其基本思想是,將圖像中的局部區域近似為一個小的平面,這樣圖像局部區域的運動可用一個Homography描述。對圖像不同的區域采用不同的局部模型,從而提高視頻幀的對齊精度。另外,局部模型的估計精度與局部鄰域中特征點的數量和分布密切相關,本文采用當前性能較好的基于運動一致性的特征匹配方法,有效地增加了特征點的數量,從而提高了局部模型的估計精度。實驗結果表明,本文方法不需要事先分割視頻的前景和背景,對攝像機運動范圍較大的視頻修復問題,大大提高了視頻對齊精度,相應地提升了視頻修復的質量。
如前所述,當攝像機運動滿足一定的限制時,幀間圖像滿足全局2D單應矩陣(Homography)約束[15-16]。
設x=[x,y]T和x′=[x′,y′]T是兩幀圖像I和I′之間的對應點,那么描述兩幀圖像間的全局變換模型可表述為:
x′~Hx
(1)

x′×Hx=03×1
(2)

aih=02×1
(3)
式中:ai為2×9的矩陣;h=(h11,h12,h13,h21,h22,h23,h31,h32,h33)T是H矩陣的向量化形式。求解h需要至少4對對應點,如果對應點數量超過4對,可通過求解以下目標函數來得到式(4)中A矩陣經過SVD分解后最小奇異值對應的奇異向量即為h的解。更詳細的解釋可參看文獻[17]。
(4)

可以看出,基于全局模型的對齊算法是假設圖像所有位置滿足同一模型,而且上述模型估計過程是利用圖像所有對應點求得的,且每組對應點具有相同的權重。對于滿足一定運動限制的攝像機運動來說,全局模型準確反映了攝像機的運動,而且模型計算簡單。然而,對于一般運動和一般場景下拍攝的視頻,由于視差的存在,會導致較大的對齊誤差,從而直接影響后續的視頻修復精度。
為了解決全局單一模型在攝像機一般運動和一般場景下對齊出現重影和鬼影等問題,受文獻[17]的啟發,本文將基于局部模型對齊的方法與靜態視頻修復算法結合,使動態視頻修復適用于更加一般的情況。
不同于全局模型,基于局部模型的對齊方法是對圖像不同位置采用不同的對齊模型。其基本思想為:將每個局部區域近似為一個平面,這樣每個區域可用一個單應矩陣描述其幾何變換。這樣,每個局部區域的幾何變換可表示為:
(5)

(6)

需要注意的是,不同于全局模型求解方法(式(4)),局部模型方法對每對對應點增加了一個權重因子項w*,具體為:
(7)
式中:σ是一個尺度參數;xi是第i個點匹配的一半的源圖像I中的坐標。
直觀地說,由于式(7)為接近x*的數據分配更高的權重,投影扭曲H*更好地尊重x*附近的局部結構。將其與式(1)進行對比,后者對所有x*使用單個全局H。此外,由于x*在其域I中連續移動,因此翹曲H*也平穩變化。這就產生了一個能夠靈活地適應數據的整體扭曲,但試圖保持扭曲的投影趨勢,即靈活的投影扭曲,稱之MovingDLT[17]的方法。
然后劃分為單元,對源圖像I中的每個像素位置x求解是不必要的浪費,因為相鄰位置將產生非常相似的權重,從而產生非常相似的單應性。因此,將二維域I均勻地劃分成一個由C1×C2個單元組成的網格,并以每個單元的中心為x*同一個單元中的像素將使用相同的同形法進行扭曲。圖1觀察到翹曲是全局投影外推,但在重疊區域靈活適應,以便更好地對齊。

圖1 局部模型對齊
劃分為單元可以有效地將WSVD實例的數量減少到C1×C2。另外,每一個WSVD實例都是相互獨立的,因此一個簡單的加速計算方法就是并行求解WSVD。即使沒有并行處理,在Pentium i7 2.2 GHz四核機上,在包含2 100個篩選匹配項(A的大小為4 200×9)的圖像中的所有100×100個單元求解也只需3 s。
一個潛在的問題是,單元間的翹曲可能會出現不連續,因為單元的分割有效地降低了平滑變化的權重。在實踐中,只要單元分辨率足夠高,彎曲不連續的影響最小。
最后進行圖像的變換和重采樣,這個步驟就是用計算出的投影函數,作用于輸入圖像上,然后采用適當的方法,計算出變換后的坐標像素值。
對于求解任一點x*處的局部模型,在式(6)中,每組對應點在其中的權重不同,且由式(7)可看出,離x*越近的對應點權重越大,反之,離x*越遠的對應點權重越小。簡言之,局部模型的估計主要是利用局部鄰域點來估計的,而不是用圖像所有點來估計的。
基于局部模型的對齊方法容易引起圖像的局部變形不連續問題。然而,文獻[17]的研究表明,這種現象并不突出。正因為此,在諸如圖像拼接等應用中,基于局部模型的對齊方法也得到了廣泛的應用。
雖然局部模型在具有一定視差時具有較好的對齊效果,但其對齊精度與特征點數量和分布的影響較大。本文嘗試了Sift、Surf等多種局部特征點匹配算法,實驗表明,這些經典的特征匹配方法常常會導致所匹配的特征點比較稀疏,直接影響圖像的局部對齊性能。受GMS算法[18]啟發,本文試圖將GMS算法與局部對齊模型結合,來尋求更滿意的對齊效果。
GMS算法是一種基于運動一致性的特征匹配算法。運動一致性假設是指,圖像中相鄰像素點具有相似的運動模式。文獻[15]把這種運動一致性思想轉化為更簡單的統計方法,并取得了很大的成功。
GMS算法的基本思想很簡單:正確匹配的特征點的對應關系通常在運動方面會表現出相同的一致性,而錯誤對應點之間則不會有這種一致性關系。因此,在正確的匹配關系周圍可能會有更多的正確的匹配點支持,而錯誤的匹配對不具有這種規律性,而是具有隨機性。
如圖2所示,假設圖像對Ia和Ib中狗的鼻子部位的匹配點xi是正確的,那么xi周圍支撐區域a中的特征點更有可能匹配到相應的支撐區域b;反之,假設圖像對Ia和Ib中狗的腳掌部位的匹配點xj是錯誤匹配,那么xj周圍的特征點的對應匹配位置具有一定的隨機性?;谶@種運動一致性思想,文獻[15]給出了一種基于統計的特征點匹配方法。首先將圖像劃分為一定大小的網格,如果對應網格中的匹配點數量超過預定的閾值,那么認為網格中的匹配是正確的,反之,如果對應網格中的匹配點較少,反映了對應點不符合一致性假設,因此被認為是錯誤匹配。根據這一思想來區分正確與錯誤匹配。

圖2 GMS方法原理圖
GMS算法提出后,近幾年獲得了很大的成功,目前已被集成到OpenCV庫中。大量實驗表明,基于GMS的特征匹配方法大大提高了對應點匹配數量,而且具有較高的執行效率,非常有利于基于局部模型的視頻對齊,從而提升動態視頻的修復性能。
為了保證實驗結果評價的客觀性,本文采用常用的兩種質量評價指標PSNR[19]和SSIM[20]對實驗結果進行評價。
3.1.1PSNR
峰值信噪比(PSNR)是一種評價圖像的客觀標準。PSNR是最普遍、最廣泛使用的評鑒畫質的客觀量測法,它是原圖像與被處理圖像之間的均方誤差相對于(2n-1)2的對數值,定義為:
(8)
(9)
式中:MSE指均方誤差;I和K分別代表處理前后的圖像。PSNR值越大,就代表失真越少。
在視頻對齊問題中,I和K分別代表兩幅圖像對齊后重疊區域的所有像素點的灰度值。
3.1.2SSIM
SSIM是用來衡量兩幅圖像相似度的一個常用指標,其值越大越好。作為結構相似性理論的實現,SSIM的計算是從圖像X和圖像Y的三項指標綜合度量的,這三項指標分別為:亮度(luminance)、對比度(contrast)和結構(structure)。SSIM定義為:
(10)
式中:μx、μy分別表示圖像X和圖像Y的亮度均值;σx、σy分別表示圖像X和圖像Y亮度的標準差;σxy代表圖像X和圖像Y協方差;c1、c2為很小的常數,是為了避免括號內出現0而設定的。
在本文實驗中,SSIM指標用來評價不同方法對齊后參考圖像與目標圖像之間的接近程度,該指標也可以用來評價修復前后的效果對比。
為了比較局部模型與全局模型對齊效果,本文針對不同場景做了實驗。在如下兩組實驗中,特征檢測采用sift特征,特征匹配采用常用的最近鄰與第二近鄰的比值作為匹配準則,然后采用RANSAC方法去除錯誤匹配點。我們把這種方法稱作一般局部模型匹配方法,方便與下一部分的匹配方法相區分。
圖3的實驗數據是航拍的河流與村莊,視頻一共拍攝235幀,飛行器拍攝的路線跨度較大,相應的視頻幀之間的視差也較大。圖3列出第15和第35幀之間的對齊結果。可以看出采用全局模型對齊后的視頻幀,屋頂和湖泊都有較大程度的重影問題,而采用局部模型的對齊效果比全局模型有了顯著提升。從PSNR指標和SSIM指標的結果來看,局部模型對齊后的圖像質量要高于全局模型對齊后的圖像質量。

(a) 局部模型 (b) 全局模型圖3 局部模型與全局模型對齊效果對比(實驗數據1)
圖4的實驗數據是距離目標5 m拍攝的,場景中既有剛性的建筑對象,又有運動的人與背景,且拍攝場景不在同一平面,視頻視差較大,實驗場景較為復雜。該視頻數據共有358幀,圖4中列出第17與27幀的實驗結果,其中:第一行兩幅圖像是待對齊的兩幀圖像;第二行是對齊后的全局模型對齊結果和局部模型對齊結果;第三第四行是放大后的細節??梢钥闯?,全局模型對齊后的圖像中男生的耳朵、鼻子等身體部位都有非常明顯的模糊與重影現象,而局部模型對齊后效果有了明顯改進。

(a) 全局模型 (b) 局部DLT模型圖4 全局模型比與局部DLT模型對比(實驗數據2)
因PSNR和SSIM指標(圖5和圖6)也可得出相同的結論。

圖5 PSNR指標對比(實驗數據1)

圖6 SSIM指標對比(實驗數據1)
綜合實驗結果來看,由于局部模型和全局把模型本質上的算法特性,基于局部模型的Homography更適合描述大視差下的攝像機運動,基于局部模型的對齊效果都要好于全局模型對齊結果,從如圖7和圖8所示的實驗也可看出,本文算法結果要好于以往以全局模型為代表[9]的實驗結果。

圖7 PSNR指標對比(實驗數據2)

圖8 SSIM指標對比(實驗數據2)
根據局部模型的計算過程可知,局部模型估計的精度與特征點的數量和分布密切相關。在實際應用時很多情況下常規的匹配方法得到的特征點比較少,這時采用一般局部模型,其對齊效果就會大打折扣。本節實驗結果表明,將GMS特征點檢測算法與局部模型結合,其對齊結果有了顯著提高。
在圖9中,最上面兩行分別顯示了采用一般匹配方法與采用GMS方法匹配后的對應點,顯然GMS方法匹配數量要大大多于一般的方法。同時可以明顯看出,特征點數量的多少對圖像對齊的影響。比如,一般匹配方法對齊后其窗戶和建筑已經嚴重變形,而GMS方法則取得了較好的對齊效果。
文獻[6]是一種經典的視頻修復算法,并且得到了廣泛的應用。該算法主要用于修復靜態視頻,對視差較小的動態視頻,先采用全局仿射模型進行對齊然后再采用靜態修復方法進行修復,取得了不錯的效果,并且由于采用了改進后的三維patchMatch查找填充塊方法,因此還具有較高的運算效率。在本節實驗中,視頻對齊采用基于GMS的局部模型方法,而視頻修復采用了文獻[9]中的方法。
圖10中第一行是拍攝的圖書館建筑的視頻樣例幀,其中黑色區域是人工污染區域,我們試圖修復這塊區域。該視頻是高度結構化場景,且具有較大的視差,視頻修復具有較大的難度,如果對齊精度不高,很難保證良好的修復效果。圖10中第二行左右兩圖分別是采用全局模型對齊和本文局部模型對齊后的修復結果。從修復后的放大圖(第三行)可清晰看出,原圖中門洞部分采用全局模型對齊后的修復結果明顯出現了錯誤的填充,而本文方法得到的結果有了明顯的改善。同樣,PSNR和SSIM指標也給出了一致的結論。

(a) 文獻[9]修復結果 (b)本文修復結果圖10 文獻[9]與本文方法修復結果對比
圖11是另一段實驗視頻。運動視頻中有一運動的老人和年輕男孩。該視頻數據共302幀,圖中黑色區域表示待修復的部分,本次實驗目的是改變視頻故事,即去除原來在視頻中一直出現的年輕男孩,并且在去除男孩后,修復男孩原來所在的區域,得到在視覺上滿意的結果。

(a) 全局模型修復 (b) 局部模型修復圖11 全局模型與局部模型對齊效果對比
可以看出,采用文獻[6]中全局模型對齊后的視頻幀由于對齊不準,修復后的圖像中紫色器材上出現明顯錯位和變形,而本文提出的基于局部模型的修復方法效果在視覺上取得了更加令人滿意的結果。

圖12 文獻[9]與本文方法PSNR指標對比

圖13 文獻[9]與本文方法SSIM指標對比
由圖14和圖15可以看出,PSNR指標和SSIM指標的均值(圖中水平虛線標注的部分)本文的修復方法也都高于文獻[6]的算法。

圖14 全局模型與局部模型PSNR對比

圖15 全局模型與局部模型SSIM對比
為了對算法進行進一步的客觀評價,本文還使用BSD數據集和Urban數據集對算法進行測試。其中:BSD數據集包含200對自然場景的圖片,如圖16所示;Urban數據集包含100對城市場景圖片,如圖17所示。測試結果如表1所示??梢钥闯?,與Alasdair算法相比,本文算法在Urban數據集和BSD數據集上的結果的SSIM指標和PSNR指標均有所提高。

(a) Alasdair (b) 本文算法圖16 Urban數據集上算法修復效果

(a) Alasdair (b) 本文算法圖17 BSD數據集上算法修復效果

表1 在公開數據集上的實驗結果
由圖16、圖17可以看出,本文的視頻修復算法在BSD數據集和Urban數據集上都取得了更好的結果,由表1可以得出,本文算法比Alasdair算法在數據集上的表現更好,SSIM評價指標和PSNR指標都顯示更高。但從時間上來說,本文算法的時間復雜度更高,花費時間更多。
本文針對視差大、視頻背景復雜的動態視頻修復問題,提出一種基于局部模型對齊的視頻修復算法。由于局部模型能更好地描述攝像機的一般運動,因此,相比全局模型取得了更好的對齊效果;另外,本文采用GMS特征匹配方法,有效地增加了特征點匹配的數量,從而進一步提高了局部模型的估計精度。實驗結果表明,通過提高視頻對齊精度,擴展了傳統靜態視頻修復方法的適用范圍,有效地提升了動態視頻修復性能。下一步我們將繼續在對應點擴散、對應點的分布調整方面進一步研究,以進一步提升基于局部模型的對齊和動態視頻修復性能。