上海科技獎勵獲獎成果科普化特別報道
坐在影院欣賞4K修復后重映的老電影時,你是否好奇過這些幾十年甚至一百多年前的影像如何像被施了魔法一樣變得色彩鮮艷、纖毫畢現?真實世界視頻智能增強技術功不可沒。
文/董 超
中國科學院深圳先進技術研究院多媒體集成技術中心主任,研究員,博士生導師。
01
無中生有的圖像超分辨率
首先,請看下圖中左邊這幅小貓的圖像,在大腦中試著將它放大2倍、4倍……認真想象每一個細節。你發現了什么?很困難,對不對?大腦里可以出現這幅圖放大之后的模糊影像,但我們很難腦補出清晰的細節。圖像超分辨率算法(簡稱超分)就是要將這幅圖像的細節無中生有地“算”出來,使之像下圖中的右圖一樣栩栩如生地展現在我們眼前。有時候,用超分對圖像或視頻進行處理也簡稱“超分”。
▲圖像超分辨率示意圖
左圖為原圖,右圖為超分辨率圖。
超分是圖像和視頻增強領域中最重要的基礎算法,在這個領域里,人工智能算法一直做得比人類好,很難被人類取代,這與其他領域恰好相反。更重要的是,我國原創的超分算法一直領先世界,這在人工智能領域里也是屈指可數的。
無中生有,聽著不像科學而像玄學。確實,如果是沒有理由的想象,那就不是科學。超分的科學性就在于它可以利用先驗知識來復原可靠的信息,再利用個性偏好來生成可能的細節。舉例來說,如果我們要超分一張人臉圖像,那先驗知識就是對人臉的普適性理解,如五官的數量和邊緣的形態,這些都是不言自明的常識,利用它們就可以恢復出邊緣清晰、五官正常的人臉。個性偏好就更主觀一些,例如,我們希望皮膚更加光滑水潤,眼睛更加明亮有神,那就需要生成相應的紋理來滿足個性化的需求。同樣地,對不同性別、年齡、膚色的人臉都應該生成出不同的細節。這樣一來,超分就有了兩個目標:一個是恢復真實信息,一個是生成逼真細節。實際的算法往往會結合兩者,但會根據應用場景有不同的側重點。
02
深度學習超分算法
用深度學習來做超分是我國科學家首創的,其中用到的方法名字叫SRCNN,也就是“超分辨率卷積神經網絡”的英文首字母縮寫。它借助深度學習強大的數據擬合能力,可以將缺失的信息復原和生成出來。那么,它是如何做到的呢?首先,我們要解釋一下傳統的插值算法,這可是超分算法的鼻祖,它的基本原理可以逐步拓展到深度學習中。所謂插值,就是在兩個像素之間插入一個新的像素,借助某些數學公式,就可以計算出新像素的數值。最簡單的公式就是求平均數,也就是讓插入的像素是周圍像素的均值。這樣可以很容易地補充大量像素,但超分后的圖像會過于平滑,不符合人們對自然圖像的理解。于是,我們可以進一步地把插“像素”變成插“圖像塊”,也就是讓新的圖像塊來自原有圖像塊的某種組合,組合出的圖像塊會自然保留原有圖像塊的性質,也就更像自然圖像。然而,直接組合圖像塊會帶來模糊的現象,而且無法生成新的細節。為了解決這一問題,我們就要將組合圖像塊改成組合圖像塊的特征,這樣可以避免純像素疊加帶來的噪聲,也可以讓復原出的圖像塊更加自然。同時,我們也需要求助于外部的圖像數據庫,以此來獲得更豐富的先驗信息。那么,如何體現圖像塊的特征,又如何利用數據庫的信息?機器學習算法就應運而生了。它可以通過特定的學習機制,讓算法從數據中自行學習特征,再從特征中復原出自然圖像。
深度學習是機器學習的一種,也是目前為止最高效、最易拓展的方式。通過深度學習來做超分,可以極大地提升超分效果。最早的深度學習超分模型SRCNN可以分成3個功能部分,分別是特征提取模塊、非線性映射模塊和圖像復原模塊。模型全部由卷積層連接而成,層數只有3~5層。后來,更加先進的模型通過引入殘差模塊、密集連接、注意力機制和歸一化層,可以將網絡深度增加至上百層,其擬合能力也成幾何倍數增長。在模型訓練階段,需要通過損失函數來確定優化目標,讓深度網絡可以在特定的方向上優化參數。如果想要復原真實信息,那么優化損失函數就是在讓輸出圖與理想圖之間的均方誤差變小。如果想要生成更多細節,就可以加入判斷圖像是否符合自然圖像分布的判別函數以及特征層面的視覺相似性函數,來增加輸出圖像的真實度。除此之外,我們還可以借助其他領域的模型(如擴散生成模型和圖像分割模型)作為輔助,讓超分效果更上一層樓。經過10年的發展,目前的深度學習超分模型已經非常強大,它們具有上億的參數,可以從幾千萬張圖像中學習,且達到人眼都無法識別出的逼真程度。下圖展示了傳統的插值算法、首個深度學習超分模型SRCNN和目前最新的超分算法SUPIR的效果差異,從中可以看到技術的巨大進步。
▲不同超分算法效果
左圖為插值算法超分結果,中圖為SRCNN 超分結果,右圖為SUPIR 超分結果。
03
復雜多變的真實世界視頻
然而,要復原真實世界的視頻,只有超分還遠遠不夠。前面所講的超分只是在理想情況下的算法,而真實世界的數據要復雜得多。什么是理想情況,什么又是真實世界呢?所謂理想情況,就是假設輸入圖像是清晰的自然圖像,且與訓練數據庫中的圖像有一致的分布。真實世界中的視頻(或者說是現實生活中可以直接獲取的視頻)往往都存在各種各樣的問題,例如,20世紀80年代的《西游記》,除了分辨率低以外,還含有因壓縮、失焦、模糊、膠片損壞等產生的畫質損失。更麻煩的是,這些損失成因各異,難以用確定的、統一的數學模型進行描述,從而失去了求解逆問題的可能性。當這些失真交織在一起時,超分算法就會將噪聲當成細節進行放大,將模糊當成平坦區域進行忽略,從而造成更加嚴重的畫質問題。除此之外,視頻原有的色彩也不夠鮮艷,還需要額外的算法來增強。如此一來,復原真實世界的視頻就成了一個復雜的綜合性工程,其難度遠高于理想情況下的單一算法。
04
真實世界視頻智能增強技術
為了應對真實世界中復雜多樣的畫質問題,我們采用了兩條相輔相成的技術路線,分別是“真實世界退化建模”和“內容自適應超分”,它們一個關注真實信息的復原,一個關注內容細節的生成。真實世界退化建模看似是個數學問題,實際是個仿真問題。由于我們無法得知真實的退化是如何形成的,也就無法通過數學公式來準確描述。但是,我們可以想辦法生成相似的退化類型,然后擴大退化的范圍,從而將各種復雜的退化都囊括其中。繼而用大退化空間來訓練大模型,讓模型具備處理各種復雜退化的能力。我們所采用的退化模型叫高階數多層次退化模型,它不僅包含了各種常見的退化類型,如高斯噪聲、失焦模糊、壓縮偽影等,還包含了它們的各種線性和非線性組合。這樣模擬出來的退化非常復雜,范圍也很大,足以包含真實世界場景中的各種退化類型。
▲真實世界退化仿真建模示意圖
內容自適應超分,顧名思義,就是要讓算法對不同的內容進行個性化的生成。我們主要將人臉和各種風景通過算法分割出來,再分別進行特異性訓練。以人臉為例,它往往是視頻里的重點關注區域,有著更加鮮明的圖像特征,我們通過收集大量人臉數據,讓模型生成出更逼真的人臉細節。在算法層面,模型會增加一個語義分割模塊和內容調制模塊。語義分割模塊會將圖像按照內容進行分割,然后由內容調制模塊將這些分割的信息重新整合(即空間變換函數),再輸入到每一個卷積層中,來調整它們的參數(即調制網絡)。最后再配合與內容對應的判別器作為損失函數,就可以輸出內容自適應的清晰圖像。
▲內容自適應超分算法示意圖
除此之外,真實世界視頻智能增強技術還包含前處理去噪算法、后處理色彩增強算法、視頻插幀算法等,這些算法從時域、空域、色域等各個方面來提升視頻畫質,這才有了“讓失去的時光重現光彩”的能力。這項技術已經被成功應用在了上百部歷史視頻增強當中,其中包括央視建黨百年慶祝晚會現場的《開國大典》視頻和中共一大會場的全部影像資料,也獲得了2022年度上海市技術發明獎一等獎。但是,這項技術的開發還只是剛剛開始,它能生成的細節還很有限,我們期待未來有一天,可以將經典的四大名著影視劇都搬到4K熒幕上,讓失去的時光更好地重現光彩。
*本文相關成果“真實世界視頻智能增強技術及國產化應用”榮獲2022年度上海市技術發明獎一等獎。
上海人工智能實驗室
XPixel視覺團隊
更多精彩內容見
《科學畫報》2024年第5期
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.