歲月流逝帶走了時光卻帶不走回憶,從 1839 年法國畫家達蓋爾將「攝影術」帶到世人面前,世界上就多了一種使用影像記錄回憶的方式。那些我們想要留在心底或未曾經歷過的從前,都可以通過翻看老照片找回來。
為了不讓心底的溫暖消逝,也為了能把歷史的真容留住,各種圖像修復工具層出不窮。我們看到了百年前的北京,看到了民國時的摩登女郎,還有被重新修復的母親的老照片。
最近,幾個中國小夥組成的微軟研究團隊開發了一種全新的修復舊照片的工具,目前已在 GitHub 上開源。
AI 是如何修復舊照片的
如今,我們用手機就能拍出上億像素的照片,有了美顏相機、智能算法,無論是景色還是人物都能留下最美的瞬間。但拍照技術不是一開始就那麼先進,不能把所有畫面完全真實地呈現出來,比如沒有彩色照片的時候能留下的只有黑白照片。而隨著時光的流逝,那些老照片的細節也不再清晰。
幾個中國小夥組成的微軟研究團隊提出了一種修復效果優於目前最先進方法的照片修複方法。這個團隊由來自香港城市大學計算機科學系的二年級博士生萬紫宇和 Microsoft Research Asia 視覺計算小組的張波等人組成。
他們提出的方法與可以通過監督學習解決的常規還原任務不同,因為真實照片的降級很複雜,並且合成圖像和真實舊照片之間的域間隙使網絡無法推廣。
因此,他們通過利用真實照片和大量合成圖像提出了一種新穎的三重態域翻譯網絡。他們訓練了兩個變體自動編碼器(VAE),分別將舊照片和清晰的照片轉換為兩個潛在空間,並使用合成配對數據學習這兩個潛在空間之間的轉換。
此外,為了解決一張舊照片中混合的多種退化問題,研究團隊還設計了一個全局分支和局部非全局分支。全局分支針對結構化缺陷(例如劃痕和灰塵斑點)進行修復,局部非全局分支針對非結構化缺陷的局部分支,例如噪音和模糊性。他們利用這種方法在潛在空間中融合了兩個分支,從而提高了從多個缺陷還原舊照片的能力。
如何安裝照片還原工具
目前,這種照片還原工具的代碼已經在裝有 Nvidia GPU 和 CUDA 的 Ubuntu 上進行了測試,需要 Python> = 3.6 才能運行代碼。
下載安裝預訓練模型後,可以使用一個簡單的命令輕鬆恢復舊照片。
沒有劃痕的圖像可以選擇以下命令:
有劃痕的圖像可以選擇以下命令:
需要注意的是,請嘗試使用絕對路徑,圖像的修復結果將最終保存在 ./output_path/final_output/ 中。
研究團隊表示,他們不打算直接發布帶有標籤的有劃痕的舊照片數據集,如果需要獲取配對數據,可以使用他們的預訓練模型來測試收集圖像以獲得標籤。
前文提到的新穎的三重態域翻譯網絡可以用來解決結構化退化和非結構化退化問題,做到舊照片的全局還原。
以下圖為例:
對於面部的修復,研究團隊使用了漸進式生成器來完善舊照片的臉部區域。
影像技術和 AI 的發展讓我們有機會「穿越回」百年前去看那時的人們是如何生活的,也能讓我們一睹父母年輕時的風採。
我們看多有越來越多的工具和技術可以幫我們恢復正在逐漸消失的記憶。看著百年前北京百姓的生活景象,我們能更切實地體會到文化的進步和歷史的變遷,看到革命先輩浴血奮戰的影像我們能親眼見證整個國家和社會的變革,更加珍惜今天來之不易的幸福生活。
科技的進步讓人類的物質文明和精神文明都得到了高度的發展,成為了我們獲得更好的生活,感受到更大的精神滿足的推動力。
GitHub 地址:https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life
論文連結:https://arxiv.org/pdf/2009.07047v1.pdf
技術編輯:芒果果 | 發自:思否編輯部