李顏
還記得這個能將老照片修復到纖毫畢現的GFPGAN嗎?現在,它的代碼正式開源了!官方已經在GitHub上傳了3個預訓練模型。其中,V1.3是最近更新的一版,修復效果更加自然。同時還能在低質量輸入的情況下,輸出高質量結果。自上線以來,GFPGAN已經在GitHub上攬星1 7000多,還曾登頂過熱榜第一,更是在推特上引起過一波試玩熱潮。
開源代碼主要分為預訓練和訓練2個部分。預訓練中以GFPGAN的V1.3版本為例,給出了預訓練模型的下載地址,然后,只需一行代碼就能開始預訓練模型推理了。
官方還展示了3種預訓練模型的區別,與初始版本相比,后2版在修復精度上有了明顯提升。
V1.2的銳化更明顯,同時還帶有一些美顏效果,所以在一些情況下會比較假面。
V1.3明顯解決了這一問題,使得輸出更加自然,還能進行二次修復;不過弊端是人物面部特征有時會發生變化。
總之,V1.3并不完全優于V1.2,大家可以按需選取合適的模型。
訓練部分:首先,數據集選用FFHQ;然后,將下載好的預訓練模型其他數據放在experiments / pretrained_ models文件夾里。其他數據包括:預訓練好的StyleGAN2模型,FFHQ人臉對齊模型文件和ArcFace模型;
接下來,修改相對應的配置文件options / train_gfpgan_v1. yml。在這里,也可以嘗試不使用人臉對齊的簡單版本options/ train_gfpgan_v1_simple.yml;
最后,就可以開始訓練了。
此外,官方還有兩則提醒:第一,輸入更多高質量的人臉圖像,可以提高修復的效果;第二,訓練中可能需要進行一些圖像預處理,比如美顏。如果選擇訓練V1.2版本,官方還給出了微調指南。
除了開源代碼,官方也早已開通了多個線上試玩通道,用HuggingFace來給展示修復后的蒙娜麗莎,不僅面部的噪點都被去掉了,甚至連頭發上的紗巾都清晰可見。修復的愛因斯坦,笑起來時臉上的褶皺更加明顯,頭發絲、胡茬也都被還原了出來。
GFPGAN能夠快速、高清地修復各種人臉圖像,主要是應用了盲臉修復(Blind Face Restoration),傳統人臉修復方法主要針對同一場景下、特定退化的人臉圖像修復。比如此前一些人臉修復方法,會把Obama照片還原為白人面孔,這背后除了數據集存在偏差,還可能是算法沒有為每張人臉特征性建模。
盲臉修復就很好解決了這一弊端,它是指當點擴展函數未知或不確知的情況下,從低質的待修復人臉圖像恢復出清晰、高質的目標人臉圖像的過程。
本質上是一種非匹配性的人臉修復方法,不過此前的一些盲臉修復方法在細節上表現不好,由此作者在GFPGAN中引入豐富的先驗信息,從而來保證高質量的輸出效果。
在保真度方面,研究人員引入了一個面部損失(Facial Component Loss),判斷哪些細節需要提升保留,然后再用識別保留損失(Identity Preserving Loss)進行修復。