寫在前面:本博客僅作記錄學習之用,部分圖片來自網絡,如需引用請注明出處,同時如有侵犯您的權益,請聯系刪除!
文章目錄
- 前言
- 論文
- 動機
- 方法
- 實驗
- 總結
- 互動
- 致謝
- 參考
- 往期回顧
前言
盲人臉恢復是一個高度不適定的問題,通常需要輔助指導,各種先驗已經被用來減輕這個問題的不適定性,包括幾何先驗,參考先驗和生成先驗。
LQ-HQ映射不確定性仍然存在,并且輸出質量因輸入圖像的退化而惡化。一些基于生成先驗方法,通過迭代優化或直接潛在編碼將退化的人臉投影到連續的無限空間中。在嚴重退化的情況下,很難找到準確的潛在向量,導致低保真度的結果。
進而將盲人臉恢復作為碼本預測任務可大大降低恢復映射的不確定性和模糊性,同時提供豐富的視覺原子來生成高質量的人臉。進一步依賴可控的特征變換模塊,允許靈活的保真度和質量之間的權衡。
論文
論文名: Towards Robust Blind Face Restoration with Codebook Lookup Transformer
論文速遞: 點我轉跳哦
代碼通道: GitHub、Gitee
動機
本質上實現以下內容即可實現較高質量的復原:
- 改進/改進從LQ輸入到期望輸出的映射
- 補充輸入中丟失的高質量細節
(a)連續生成先驗(頂部)和離散碼本先驗(底部)的恢復框架。(B)HQ/LQ面部特征和碼本的 t-SNE 可視化。
-
高質量圖像,面部組件的潛在向量/碼本是可分的
-
退化圖像,面部組件的潛在向量/碼本分布邊界不清晰
-
- 因此在連續潛在空間,退化嚴重就很難找到準確的潛在向量進行優化,導致復原質量不高。
-
- 將潛在空間選取有限的碼本, 可大幅減少LQ到HQ的錯誤映射。
方法
CodeFormer框架。首先學習一個離散的碼本和一個解碼器,通過自重構學習來存儲人臉圖像的高質量視覺部分。在固定碼本和解碼器的情況下,引入Transformer模塊來進行碼序列預測,對低質量輸入的全局人臉組成進行建模。
-
第一階段 - 學習碼本:為了減少LQ-HQ映射的不確定性并補充高質量的恢復細節,對量化的自動編碼器進行預訓練,以學習上下文豐富的碼本,去提高網絡的表現力以及對降級的魯棒性。
-
第二階段 - 碼本Transformer學習:由于LQ面部中紋理的破壞,最近鄰匹配通常無法找到用于面部恢復的準確碼本,采用Transformer來對全局相互關系進行建模,以實現更好的碼本預測。自編碼器的編碼器后面插入一個包含九個自注意塊的Transformer模塊。
-
第三階段 - 可控特征轉換:其實第二階段已經獲得了一個很好的人臉恢復模型,利用可控特征變換(CFT)模塊來控制信息流從LQ編碼器EL到解碼器DH。
將512 × 512 × 3的人臉圖像表示為16 × 16的碼元序列,使用四個NVIDIA Tesla V100 GPU進行訓練,羨了這算力。
實驗
毫無疑問,吊打當時的先進方法,上圖。
合成數據集
真實數據集
側臉也不賴
總結
總結: CodeFormer通過學習一個小的離散但有表現力的碼本空間,將人臉恢復轉化為碼元預測,大大降低了恢復映射的不確定性,簡化了恢復網絡的學習。同時通過一個有表現力的Transformer模塊從降級的面孔中探索全局組合和依賴性,以獲得更好的碼本預測。
互動
上述內容對你有幫助嗎?
歡迎在評論區解答上述問題,分享你的經驗和疑問!
當然,也歡迎一鍵三連給我鼓勵和支持:👍點贊 📁 關注 💬評論。
致謝
欲盡善本文,因所視短淺,怎奈所書皆是瞽言蒭議。行文至此,誠向予助與余者致以謝意。
參考
[1] Towards Robust Blind Face Restoration with Codebook Lookup Transformer
[2] https://gitee.com/qianxdong/CodeFormer
[3] https://github.com/sczhou/CodeFormer?tab=readme-ov-file
往期回顧
![]() 👆 DeepSeek本地化部署保姆級教程👆 | ![]() 👆 EfficientTrain++幫你降低網絡訓練的成本👆 | ![]() 👆 PyCharm環境下Git與Gitee聯動👆 |
![]() 👆 【CVPR-2023】DR2:盲人臉復原👆 | ![]() 👆 輕量化設計如何提高模型的推理速度👆 | ![]() 👆 正則化與正則剪枝👆 |