我曾經閱讀一篇引人入勝的文章,內容談及透過基於深度學習的超解析度網路來增加美國毅力號(Nasa's Perseverance Rover)傳回的圖像和影片中包含的細節,這不禁使我回想起,我在90年代第一次觀看《銀翼殺手》這部電影時,基於當時可用的技術,諸如「從15增強到23」(enhance 15 to 23)之類的場景似乎難以置信,那時我正在攻讀為期三年的人工智慧學位,我無法預測到千禧年初深度學習革命的影響,「不能添加不存在的東西」--我一直對自己說,但現在看來是完全可行的,這甚至非常具有說服力。
超解析度如何應用於現實世界?
超解析度的應用非常廣泛:從舊照片的懷舊修復和著色,到透過對低解析度源內容進行上採樣來減少影片串流頻寬,正如「放大火星」(Upscaling Mars)一文作者所解釋,升級行星探索飛行器上的攝影機是不可行的,因此,如果需要透過提高解析度來獲得更多細節,甚至是在機載鏡頭變得模糊或損壞的災難性場景中,最先進的超解析度技術可以提供高度價值。也有許多例子說明,很多原始圖像是黑白的或是歷史圖像影片,隨著解析度的提高,透過著色可被重新啟動。
什麼是基於深度學習的超解析度?
基於深度學習的超解析度是將學習上採樣(up-sampling)函數應用於圖像的過程,目的是增強圖像中現有的畫素數據(pixel data)或生成合理的新畫素數據,以提高圖像的解析度。事實上,上面提到的著色範例提供了一些關於深度學習如何利用上下文關係和自然圖像來統計訊息的見解。假設您有一個輸入面片(patch)(卷積神經網路輸入圖像的一個區域)x,則在相應的輸出面片y的顏色上存在一個條件概率分佈p(y|x)。
這種分佈在生成輸出顏色時基本考慮了上下文關係,著色神經網路通常近似於這種分佈模式:它分析到黑白輸入圖像的特定部分(面片)有可能是特定的顏色或顏色範圍,基於網路訓練時與類似輸入面片對應的先前輸出面片,這就是黑白照片或影片的著色方式。
超解析度網路正在以類似的方式解決一個非常類似的問題:在這種情況下,它已經學會了根據低解析度輸入面片x的上下文來生成最可能的高解析度輸出面片Y。
放大圖像的功能已經存在了一段時間,所以您可能會疑惑,為什麼需要另一種方法? 現有技術包括最近鄰、雙線性和雙三次(三次卷積)上採樣,這些技術在迄今為止的大多數圖像和影片上縮放應用中已經足夠。然而,如下所示的放大輸出圖像的裁剪,具體顯示了以這種方式將圖像放大到更大解析度時產生的一些不良偽影。
如上圖所示,輸出圖像的裁剪包含美洲豹鬍鬚上稱為「鋸齒」的偽影,最近鄰演算法也難以重建皮膚紋理,因此造成模糊。雙線性和雙三次演算法往往會使圖像過度柔化,使其看起來失焦,缺乏細節。
這些限制,加上提高顯示解析度能力的宏觀趨勢,在保持目前功率預算和性能的同時,正在為該領域激發一些非常令人興奮的創新。
Visidon是一家成立於2006年的芬蘭公司,擅長使用基於人工智慧的軟體技術來增強靜態圖像和影片內容,這家公司開發了一套基於深度學習的超解析度網路,可以將1080p解析度的圖像和影片縮放到4K(2160p)和8K(4320p)解析度。目前更已設計和訓練了三個基於深度學習的超解析度網路(VD1、VD2 和 VD3),每個網路的目標分別是:
• 快速雙三次品質推理 (VD1)
• 快速且優於雙三次品質推理 (VD2)
• 靜止圖像的最高品質超解析度推理 (VD3)。
Imagination 如何協助佈署和加速這些演算法
在60幀的情況下,使用超解析度來提高圖像和影片內容的解析度需要大量運算,而這正是Imagination可以提供協助的地方,IMG 4系列AI運算引擎採用張量分片技術,旨在為基於卷積的神經網路提供低系統頻寬、高推理率的執行——這是Visidon超解析度解決方案中的主要演算法。
圖1: IMG 4NX-MC8,Imagination 的可擴展多核心架構。
我們的多核心架構和獲得專利的張量分片技術相結合,可以在並行處理的同時將大量圖像和權重數據保留在晶片上,從而產生可擴展、強大的超解析度性能,如下圖所示:
表1:IMG 4系列NNA運算引擎上的Visidon超解析度網路性能(將1080p影片轉換為4K解析度)
Visidon如何衡量視覺品質
Visidon網路的品質由專家和非專家參與者隨機盲評評估,兩組評估人員分別為七個輸出版本(三個Visidon網路(VD1-3)和lanczos4雙三次,雙線性和最近鄰)進行評分。Visidon的VD超解析度網路品質與現有基於非深度學習的上採樣演算法,其比較如下表所示:
評估人員之前並未看過網路的圖像或結果,也不允許討論結果,然後將分數標準化為1到5,其中雙三次曲線的參考分數為2。
眾所期待的部分——視覺效果!
現在讓我們來看看Visidon VD1、VD3 和 VD3網路的結果,它們可以透過張量分片有效地佈署在Imaginations 4系列NNA上。
注:樣本圖像來自Flickr2K數據集,可免費提供商用,OpenCV庫用於 lanczos4、雙三次、雙線性以及最近鄰放大,因此可以進行結果的驗證。
上面的圖像對比突出了Visidon的VD3超解析度演算法的卓越品質,使花朵的所有部分都清晰,尤其是花瓣細節和黃色雄蕊。雙三次演算法無法充分處理邊緣,使其不會因平滑而失去輪廓。另請參閱內部花瓣與花的深色中心區域相交的位置。
另一個很好的例子,是透過Visidon網路中的適當銳化使樹葉和岩石細節得以保留,而這在雙三次上採樣的平滑中則完全丟失。
在這個比較中,Visidon的VD2網路體現了微羽毛的細節和清晰度,考慮到輸入圖像在某些地方出現混疊。VD2網路透過保留羽毛圖案的複雜性來從中恢復,而雙三次演算法則無法達到這一點,喙部的細節和掠過它的小羽毛仍然清晰可見而沒有明顯的階梯效應——這在雙三次輸出圖像中可以看到,儘管很微妙。
此圖像對比突出了Visidon的VD1網路的基線目標,即在品質上優於雙三次上採樣,同時提供非常高的推理性能。因此,雖然VD1在評估中產生了最低的感知品質,但其輸出比雙三次放大更清晰,可以保留眼睛下方羽毛的細節,並且鳥爪下方樹枝上的紋理明顯更清晰。
在這裡,我們看到Visidon的網路巧妙地恢復了雙三次放大中遺失的細節,多虧了Visidon的VD3網路,使原本非常模糊的原始圖像一小部分得以精細的呈現。此外,請注意VD3放大中水面的反射細節,這真是難以置信!
結論
在運算能力可用於即時超解析度圖像和影片之前,現有演算法已經滿足了高達 1080p 解析度的觀眾,但隨著4K(和 8K)顯示器品質的不斷提高,非深度學習演算法的軟化已不能完全滿足新一代高解析度觀看的需要。
因此,如果採用放大技術將低解析度內容傳遞到高解析度螢幕,則必須以智慧和上下文的方式保留源圖像和影片的細節,以提供最愉悅的視覺體驗。 Imagination的IMG 4系列NNA AI運算引擎提高了運算能力,可以提供低功耗、低面積和系統頻寬可擴展的捲積神經網路加速,使其成為佈署Visidon最先進、基於深度學習之超解析度解決方案的完美平台。
致謝:
感謝IMG實驗室資深研究經理 James Imber和IMG實驗室資深研究工程師 Joseph Heyward 在本文撰寫時給予的支援