論文推薦-視頻去鋸齒
? ?作者:? 晟? 沚?? ? ? ? ??
? ? ? ??
本文主要介紹論文:Real-timeDeepVideoDeinterlacing,主要解決由于隔行掃描導致的鋸齒播放效果。
01
隔行掃描介紹
????隔行掃描是一種廣泛用于電視廣播和視頻錄制的技術,可在不增加帶寬的情況下將感知幀速率加倍。但它會在播放過程中呈現(xiàn)令人討厭的視覺偽像,例如閃爍和剪影“鋸齒”。現(xiàn)有的最先進的去隔行方法要么忽略時間信息以提供實時性能但降低視覺質(zhì)量,要么估計運動以獲得更好的去隔行但以更高的計算成本為代價。在本文中,作者提出了第一個和新穎的基于深度卷積神經(jīng)網(wǎng)絡 (DCNN) 的方法,以具有高視覺質(zhì)量和實時性能的去隔行。與依賴平移不變假設的現(xiàn)有超分辨率問題模型不同,作者提出的 DCNN 模型利用來自奇數(shù)和偶數(shù)半幀的時間信息來僅重建丟失的掃描線,并保留給定的奇數(shù)和偶數(shù)掃描線用于生成完整的去隔行幀。通過進一步引入層共享架構,作者的系統(tǒng)可以在單個 GPU 上實現(xiàn)實時性能。實驗表明,作者的方法在重建精度和計算性能方面優(yōu)于所有現(xiàn)有方法。
????隔行掃描技術在過去幾十年中以模擬和數(shù)字方式廣泛用于電視廣播和視頻錄制。不是捕獲每幀的所有 N 條掃描線,而是只捕獲當前幀的 N/2 條奇數(shù)掃描線,其他 N/2 條偶數(shù)掃描線是為下一幀捕獲。它基本上用幀分辨率換取幀速率,以便在不增加帶寬的情況下將感知幀速率加倍。不幸的是,由于兩個半幀是在不同的時間實例中捕獲的,因此當奇數(shù)場和偶數(shù)場出現(xiàn)在移動物體的輪廓上時,會出現(xiàn)明顯的視覺偽像,例如線條閃爍和“鋸齒”(圖 (b))隔行顯示,稱之為交錯。“鋸齒”的程度取決于物體的運動,因此在空間上是變化的。這使得去隔行(去除隔行偽影)成為一個不適定的問題。
????目前已經(jīng)提出了許多去隔行方法來抑制視覺偽影。一種典型的方法是獨立地從奇數(shù)和偶數(shù)半幀重建兩個完整幀。然而,由于大量的信息損失(50% 的損失),結果通常并不令人滿意。通過首先估計對象運動可以獲得更高質(zhì)量的重建。然而,半隔行幀的運動估計并不可靠,而且計算成本也很高。因此,它們在實踐中很少使用,更不用說實時應用了。
????經(jīng)典的超分辨率方法SRCNN基于單場重建每一幀,信息損失大。它還遵循傳統(tǒng)的平移不變假設,該假設不適用于去隔行掃描問題。因此,它不可避免地會產(chǎn)生模糊的邊緣和偽影,尤其是在清晰的邊界周圍。相比之下,本方法可以繞過這個問題并以更高的視覺質(zhì)量和重建精度重建幀。
????在本文中,作者提出了第一個為視頻去隔行問題量身定制的深度卷積神經(jīng)網(wǎng)絡 (DCNN) 方法。不存在基于 DCNN 的去隔行方法。有人可能會爭辯說,現(xiàn)有的基于 DCNN 的插值或超分辨率方法可用于從半幀重建全幀,以解決去隔行掃描問題。然而,這種樸素的方法缺乏利用奇偶半幀之間的時間信息,就像現(xiàn)有的場內(nèi)去隔行方法。而且這種天真的方法遵循傳統(tǒng)的平移不變假設。這意味著,即使一半的掃描線(奇數(shù)/偶數(shù))實際上存在于輸入半幀中,輸出全幀中的所有像素都使用相同的一組卷積濾波器進行處理。下圖b顯示了一個全幀,由最先進的基于 DCNN 的超分辨率方法重建,SRCNN ,表現(xiàn)出明顯的光暈偽影。作者認為應該只重建丟失的掃描線,而不是用輸入半幀中的真實像素替換來自卷積濾波的潛在錯誤污染像素并導致視覺偽影,下圖c原始奇數(shù)/偶數(shù)掃描線中的像素完好無損。所有這些都促使作者設計一種新穎的 DCNN 模型,用于解決去隔行掃描問題。
????可以簡單地重新訓練這些最先進的基于神經(jīng)網(wǎng)絡的方法來達到作者的去隔行目的。然而,作者的實驗表明,視覺偽影仍然不可避免,因為這些 DCNN 通常遵循傳統(tǒng)的平移不變假設并修改所有像素的值,即使在已知的奇數(shù)/偶數(shù)掃描線中也是如此。使用更大的訓練數(shù)據(jù)集或更深的網(wǎng)絡結構可能會緩解這個問題,但計算成本會急劇增加,并且仍然無法保證已知像素的值保持不變。修復了已知像素的值(圖(c)),質(zhì)量也不會提高。相比之下,作者提出了一種為去隔行量身定制的新型DCNN。模型只估計丟失的像素而不是整個幀,并且還考慮了時間信息以提高視覺質(zhì)量。

????特別是,新提出的 DCNN 架構繞過了平移不變假設并考慮了時間信息,作者的模型只估計丟失的像素而不是整個幀,并且還考慮了時間信息以提高視覺質(zhì)量。首先,只估計丟失的掃描線以避免修改來自奇數(shù)/偶數(shù)掃描線(輸入)的真實像素值。也就是說,神經(jīng)網(wǎng)絡系統(tǒng)的輸出是兩個半幀,只包含缺失的掃描線。與大多數(shù)忽略奇數(shù)幀和偶數(shù)幀之間時間信息的現(xiàn)有方法不同,從奇數(shù)幀和偶數(shù)幀中重建每個半輸出幀。換句話說,神經(jīng)網(wǎng)絡系統(tǒng)將兩個原始半幀作為輸入并輸出兩個缺失的半幀(補碼)。
????由于有兩個輸出,因此需要兩個神經(jīng)網(wǎng)絡進行訓練。通過組合兩個神經(jīng)網(wǎng)絡 的較低層來進一步加速它,因為輸入是相同的,因此較低層的卷積濾波器是可共享的。通過這種改進的網(wǎng)絡結構,可以實現(xiàn)實時性能。為了驗證方法,在包括直播、傳統(tǒng)電影和傳統(tǒng)卡通在內(nèi)的各種具有挑戰(zhàn)性的交錯視頻中對其進行了評估。在所有實驗中都獲得了令人信服且視覺上令人愉悅的結果。還在視覺比較和定量測量方面將方法與現(xiàn)有的去隔行方法和基于 DCNN 的模型進行了比較。所有實驗都證實,不僅在準確性方面優(yōu)于現(xiàn)有方法,而且在速度方面也優(yōu)于現(xiàn)有方法。
02
網(wǎng)絡結構

給定輸入隔行幀I(圖(a)),去隔行目標是從I重建兩個全尺寸原始幀Xt和Xt+1(圖(d))。將 I 的奇數(shù)場表示為 Xodd t(圖(a)中的藍色像素),將 I 的偶數(shù)場表示為 X even t+1(圖 (a)中的紅色像素)。上標奇數(shù)和偶數(shù)表示奇數(shù)或偶數(shù)半幀。下標 t 和 t + 1 表示兩個字段是在兩個不同的時間實例中捕獲的。目標是重建兩個丟失的半幀,X even t(圖 (c)中的淺藍色像素)和 X 奇數(shù) Xoddt+1(圖(c)中的粉紅色像素)。請注意,保留了已知字段的兩個輸出全幀中的 X oddt(藍色像素)和 Xevent+1(紅色像素)(圖(d))。為了從交錯幀 I 中估計未知像素 X even t 和 Xoddt+1,提出了一種新穎的 DCNN 模型(圖 (b)和(c))。輸入的隔行幀可以是任意分辨率,用五個卷積層得到兩個半輸出圖像。卷積算子的權重是從基于準備好的訓練數(shù)據(jù)集的 DCNN 模型訓練過程中訓練出來的。在訓練階段,從不同類型的漸進視頻合成一組交錯視頻作為訓練對。需要合成隔行視頻進行訓練的原因是隔行掃描設備捕獲的現(xiàn)有隔行視頻不存在真實情況。
網(wǎng)絡結構示意圖如圖所示。它包含五個卷積層。目標是從輸入的隔行掃描幀 I 重建原始的兩個幀 Xt 和Xt+1。在下面,首先解釋設計原理,然后詳細描述架構。
使用超分辨去做的缺點
輸入/輸出層一可能會建議利用現(xiàn)有的神經(jīng)網(wǎng)絡(例如 SRCNN )從 X odd t 中學習 Xt,從 X even t+1 中獨立學習 Xt+1。這有效地將問題轉(zhuǎn)化為超分辨率或圖像放大問題。然而,有兩個缺點。
首先,由于兩個幀重建過程(即從Xoddt到Xt和Xevent+1到Xt+1)是相互獨立的,所以神經(jīng)網(wǎng)絡只能從已知的半幀估計全幀,而沒有時間信息。由于大量 (50%) 的信息丟失,這不可避免地導致不太令人滿意的結果。事實上,交錯幀中的兩個場在時間上是相關的。考慮一個極端情況,其中連續(xù)兩次的場景幀是靜態(tài)的。在這種情況下,兩個連續(xù)的幀完全相同,隔行掃描的幀也應該是無偽影的,并且與正在尋找的gt完全相同。然而,使用這種樸素的超分辨率方法,必須輸入半幀 X oddt (或 X even t+1 )來重建全幀。它完全忽略了另一半幀(現(xiàn)在包含精確的像素值)并引入了偽影(由于 50% 的信息丟失)。下圖顯示了這樣一種情況的糟糕結果。相比之下,提出的神經(jīng)網(wǎng)絡將整個交錯幀 I 作為輸入(上圖(a))。請注意,在的網(wǎng)絡中隱式考慮了時間信息,因為在不同時間實例捕獲的兩個場用于重建每個單幀。網(wǎng)絡可以利用字段之間的時間相關性來提高更高級別卷積層的視覺質(zhì)量。
其次,標準神經(jīng)網(wǎng)絡通常遵循傳統(tǒng)的平移不變假設。這意味著輸入圖像中的所有像素都使用相同的卷積濾波器集進行處理。然而,在的去隔行應用中,Xt 和 Xt+1 中的一半像素實際上存在于 I 中,應該直接從 I 中復制。在這些已知像素上應用卷積濾波器不可避免地會改變它們的原始顏色并導致清晰的偽影。相比之下,神經(jīng)網(wǎng)絡僅估計未知像素 X even t 和 X odd t+1并將已知像素從 I 直接復制到 Xt 和 Xt+1 .

路徑設計
由于從隔行掃描幀 I 估計兩個半幀 X even t 和 Xodd t+1,實際上必須獨立地訓練兩個網(wǎng)絡/路徑。單獨訓練兩個網(wǎng)絡的計算成本很高。與其訓練兩個網(wǎng)絡,不如建議訓練一個網(wǎng)絡,通過將每個卷積層的深度加倍來同時估計兩個半幀。然而,這也大大增加了計算成本,因為訓練的權重數(shù)量增加了一倍。深度神經(jīng)網(wǎng)絡是尋求輸入數(shù)據(jù)的良好表示,如果輸入數(shù)據(jù)相似,這種表示可以轉(zhuǎn)移到許多其他任務中。例如,AlexNet(最初設計用于對象識別)的訓練特征也可用于紋理識別和分割。事實上,低層卷積網(wǎng)絡的層總是較低級別的特征檢測器,可以檢測邊緣和其他基元。通過在它們之上訓練新的更高級別的層,可以將經(jīng)過訓練的模型中的這些較低級別的層重用于新任務。因此,在去隔行場景中,很自然地將較低級別的卷積層結合起來以減少計算量,因為兩個網(wǎng)絡/路徑的輸入完全相同。在這些權重共享的低層之上,高層層分別被訓練用于估計 X even t 和 X odd t+1。這使得更高級別的層更能適應不同的目標。方法可以看作是訓練一個神經(jīng)網(wǎng)絡來估計 Xeven t ,然后固定前三個卷積層并重新訓練第二個神經(jīng)網(wǎng)絡來估計 X odd t+1 。
詳細架構
網(wǎng)絡包含五個帶權重的卷積層。第一層、第二層和第三層依次連接并由兩條通路共享。第一個卷積層有 64 個大小為 3×3×1 的內(nèi)核。第二個卷積層有 64 個大小為 3 × 3 × 64 的內(nèi)核,并連接到第一層的輸出。第三個卷積層有 64 個大小為 1 × 1 × 64 的內(nèi)核,并連接到第二層的輸出。第四層和第五層分支為兩條路徑,它們之間沒有任何聯(lián)系。第四個卷積層有 64 個大小為 3 × 3 × 64 的內(nèi)核,其中每個路徑有 32 個內(nèi)核。第五個卷積有 2 個大小為 3×3×64 的內(nèi)核,其中每個路徑有 1 個內(nèi)核。前兩層的激活函數(shù)是 ReLU 函數(shù),而其余層的激活函數(shù)是識別函數(shù)。前四層的卷積步長為 1 個像素。對于最后一層,水平步長保持1個像素,垂直步長為2個像素,得到半高圖像。
03
數(shù)據(jù)及訓練過程
????雖然 Internet 上存在大量交錯視頻,但不幸的是,這些視頻缺乏真實性。因此,為了準備訓練數(shù)據(jù)集,必須從現(xiàn)有的逐行視頻中合成隔行視頻。為了豐富數(shù)據(jù)種類,從互聯(lián)網(wǎng)上收集了 33 個視頻,并自己使用逐行掃描設備捕獲了 18 個視頻。這些視頻具有不同的類型,從風景、體育、計算機渲染到經(jīng)典電影和卡通。然后從每個收集的視頻中隨機抽取 3 對連續(xù)幀,總共獲得 153 對幀。對于每對連續(xù)幀,將每幀重新縮放到 512 × 512 的大小,并將它們標記為一對原始幀 Xt 和 Xt+1(地面實況全幀)(圖 (a))。然后在這兩個原始幀的基礎上合成一個交錯的幀為 I = {Xodd t ,X even t+1 },即 I 的奇數(shù)行從 Xt 復制,I 的偶數(shù)行從 Xt+1 復制(圖(b))。對于每個512 × 512 分辨率的三元組 ?I,Xt,Xt+1?,進一步將它們分成 64×64 分辨率的

訓練得目標函數(shù)如下:

其中 Np 是訓練樣本的數(shù)量,
和
是神經(jīng)網(wǎng)絡的估計輸出,TV(·) 是variation regularizere和 λTV是正則化標量。
使用 Tensorflow 在配備單個nVidia TITAN X Maxwell GPU 的工作站上訓練了神經(jīng)網(wǎng)絡。標準的 ADAM 優(yōu)化方法用于求解方程。在實驗中,學習率為 0.001,λT V 設置為 2 ×10 -8。epoch 數(shù)為 200,每個 epoch 的批次大小為 64。訓練神經(jīng)網(wǎng)絡大約需要 4 小時。
04
結果
????為了定量評估(與真實情況相比),從不同類型的逐行掃描視頻中合成了一組測試隔行掃描視頻。訓練數(shù)據(jù)中不存在這些合成交錯視頻。雖然可以從每個單獨的隔行幀中恢復兩個全尺寸幀,但只在所有結果中顯示第一幀。
????視覺比較首先將本方法與經(jīng)典的雙三次插值和現(xiàn)有的為超分辨率定制的 DCNN,即 SRCNN進行比較。由于SRCNN 不是為去隔行而設計的,使用準備的數(shù)據(jù)集重新訓練他們的模型以用于去隔行。結果如圖所示?!癝occer”、“Bus”和“Tennis”采用1080i 格式并表現(xiàn)出嚴重的交錯偽影。??此外,幀還包含運動模糊和視頻壓縮偽影。由于雙三次插值和 SRCNN 都僅從單個場重建每一幀,因此它們的結果并不令人滿意,并且由于大量的信息丟失而表現(xiàn)出明顯的偽影。SRCNN 的性能甚至比雙三次插值更差,因為它遵循傳統(tǒng)的平移不變假設,而在去隔行場景中不適用。相比之下,本方法可以獲得比競爭對手更清晰、更清晰的結果?!矮C人”示例展示了游戲中的移動角色,其中計算機渲染的對象輪廓/邊界被清晰地保留。雙三次插值和 SRCNN 都會導致這些尖銳邊緣附近出現(xiàn)模糊和鋸齒形。相比之下,本方法在實現(xiàn)清晰和平滑的邊界方面獲得了最好的重建結果?!癏aystack”和“Rangers”示例均取自隔行 NTSC 格式的舊版 DVD。在“干草堆”示例中,只有角色在移動,而背景保持靜止。在不考慮時間信息的情況下,雙三次插值和SRCNN 都無法恢復大海撈針的精細紋理并獲得模糊的結果。與此形成鮮明對比的是,本方法通過考慮兩個領域成功地恢復了精細紋理。

????進一步將本方法與最先進的去隔行方法進行比較,包括 ELA、WLSD ?和 FBA。由于 ELA 的高性能,它是最廣泛使用的去隔行方法。它是一種場內(nèi)方法,并使用邊緣方向相關性來重建丟失的掃描線。WLSD 是最先進的基于優(yōu)化的場內(nèi)去隔行方法。它通常比 ELA 產(chǎn)生更好的結果,但計算成本更高。FBA 是最先進的場間方法。下圖 顯示了一組合成的所有方法的結果,其中有定量評估的基本事實。除了重建的幀,還放大了差異圖像以獲得更好的可視化。差異圖像被簡單地計算為輸出和地面實況之間的像素級絕對差異。正如所觀察到的,所有的競爭對手都會在邊界周圍產(chǎn)生偽影。越鋒利界線越大,神器越明顯。通常,ELA 產(chǎn)生最多的偽影,因為它采用簡單的插值器并僅利用來自單個字段的信息。WLSD 產(chǎn)生較少的偽影,因為它采用更復雜的基于優(yōu)化的策略來填充丟失的像素。但它仍然只利用了單一領域的信息,在重建過程中信息損失較大。盡管FBA利用時間信息,仍然無法獲得良好的視覺質(zhì)量,因為它們僅依賴于簡單的插值器。相比之下,本方法產(chǎn)生的偽影比所有競爭對手都少得多。

定量評估
通過最小化方程的損失來訓練神經(jīng)網(wǎng)絡。訓練和驗證損失在前幾個時期后迅速減少,并在大約 50 個時期內(nèi)收斂。還在峰值信噪比 (PSNR) 和結構相似性指數(shù) (SSIM)方面將本方法的準確性與競爭對手進行了比較。請注意,只為那些具有 groundtruth 的測試視頻計算 PSNR 和 SSIM。在計算兩個測量值時取每個視頻序列的所有幀的平均值。表 1 列出了統(tǒng)計數(shù)據(jù)。在大多數(shù)情況下,本方法在 PSNR 和 SSIM 方面都優(yōu)于競爭對手。

時間
最后,在配備英特爾酷睿 CPU i7-5930、65GB RAM 并配備 nVidia TITAN X Maxwell GPU 的工作站上將本方法與競爭對手的運行時間進行了比較。統(tǒng)計數(shù)據(jù)如表?所示。本方法在所有分辨率下的所有方法中都取得了最高的性能。它的處理速度甚至比 ELA 還要快,而且視覺質(zhì)量明顯更好。ELA 和 SRCNN 具有相似的性能,但比本方法慢一些。雙三次插值、WLSD 和 FBA 具有更高的計算復雜度并且遠非實時處理。注意ELA只是沒有GPU加速的CPU方式。特別是,使用單個GPU,本方法已經(jīng)實現(xiàn)了分辨率高達 1024 × 768 (33 fps) 的實時性能。使用多一個 GPU,本方法還可以實現(xiàn) 1920 × 1080 分辨率視頻的實時性能。還在不共享較低層的情況下測試模型,即重建兩個幀需要兩個單獨的網(wǎng)絡。統(tǒng)計數(shù)據(jù)顯示在表?的最后一列中。該策略將計算時間大致增加了三倍,而質(zhì)量與共享低級層的質(zhì)量相似。

不足
由于本方法沒有明確分離兩個場來重建兩個全幀,當兩個場之間的運動非常大時,這兩個場可能會嚴重相互干擾。圖的第一行展示了一個例子,其中隔行幀有很大的運動,明顯的偽影可以觀察到。當交錯幀包含非常薄的水平結構時,本方法也可能會失敗。圖 11 的第二行顯示了一個例子,其中水平細反射條紋出現(xiàn)在汽車上。在隔行掃描幀中僅掃描反射條紋的一行。神經(jīng)網(wǎng)絡由于隔行掃描而無法識別它,而是將其視為原始結構并錯誤地將其保留在重建的幀中。這是因為這種補丁很少見,并且會被大量常見情況稀釋??梢酝ㄟ^用更多這樣的訓練補丁訓練神經(jīng)網(wǎng)絡來緩解這個問題

?
END
機器學習算法工程師
? ??? ? ? ? ? ? ? ? ? ? ? ??????????????????一個用心的公眾號
?

