注:為避免侵權,本文所用圖像均為AIGC生成或無版權網站提供;
衣服祛褶皺功能,目前在像素蛋糕、美圖云修、百度網盤AI修圖、阿里云都有相關的功能支持,它的價值就是將不平整的衣服圖像,變得整齊平整,去掉不美觀的衣服褶皺等。
功能分析
我們以像素蛋糕為例,來分析衣服祛褶皺功能,像素蛋糕中該功能界面如下:
支持衣服細褶皺和粗褶皺分別祛除兩個參數調節+整體程度參數調節;
效果舉例如下:
?
算法方案
對于衣服祛褶皺功能,目前公開的算法資料:
Paper: ABPN: Adaptive Blend Pyramid Network for Real-Time Local Retouching of Ultra High-Resolution Photo
Code:https://www.modelscope.cn/models/iic/cv_unet_skin-retouching/
但這份開源代碼是做人像美膚的代碼,是論文算法的一個應用,并未提供衣服祛褶皺相關的模型;
算法流程圖如下:
-
自適應混合金字塔網絡(ABPN),主要由上下文感知局部修飾層(LRL)和自適應混合金字塔層(BPL)組成。
-
LRL采用多任務架構,包括共享編碼器、掩碼預測分支(MPB)和局部修飾分支(LRB)。MPB通過跳連接和軟掩碼引導特征融合,LRB利用門控卷積(GConv)和局部注意力模塊(LAM)實現高細節保真度的局部修飾。
-
BPL基于混合層概念,設計了自適應混合模塊(ABM)及其反向版本(R-ABM),通過逐步上采樣和細化混合層,將低分辨率結果擴展到原始尺寸。ABM通過可學習的參數和Hadamard積實現靈活的圖像轉換,R-ABM則用于生成混合層。
在論文中,作者也對比了在PS中使用中性灰+Softlight的效果,如下圖所示:
在對比中,Softlight的效果較差,論文方法確實獲得了不錯的效果。
該論文方案可能也為當前市面上主流的幾家提供了一些技術方案。
但是,個人看來,這個算法還是有一些提升空間的,比如:
1.網絡輸入圖像可以處理5000×5000左右的大圖,如果是更大分辨率的圖,如何保證最終原圖清晰度的信息問題,存在一定的疑問。尤其是影樓修圖領域,5000×5000算是小圖了。
2.資源消耗,網絡輸入分辨率越大,對應資源消耗越大:
針對上述問題,個人優化方案:
方案一
1.使用上述方案,但處理最小分辨率512×512,保證較小的資源消耗和較快的性能;假設原圖S,resize小圖為S_small上述方案的效果圖為D;
2.根據D和S_small進行中性灰圖層計算,注意,這里需要參考線性光圖層混合,不可使用柔光圖層混合,論文中對比Softlight效果,個人覺得是有問題的,可能做算法的小伙伴并不擅長PS修圖。最終得到中性灰圖層蒙版D_mask;
3.將D_mask還原回原圖大小,得到圖D_hd;
4.將D_hd與原圖S做中性灰圖層混合,得到最終衣服祛褶皺效果D;
舉例如下:
方案二
1.構建衣服祛褶皺中性灰蒙版網絡,輸入512×512小圖+對應的衣服區域mask,輸出中性灰蒙版D_mask;
2.將D_mask還原回原圖大小,得到圖D_hd;
3.將D_hd與原圖S做中性灰圖層混合,得到最終衣服祛褶皺效果D;
這個方案最大的優勢是可以將原圖與效果圖完全解耦,對于大分辨率的圖,中性灰圖層混合并不會影響原圖本身其他區域的清晰度,同時,網絡推理性能也可以得到兼顧;
上述方案僅是本人的一些個人見解,用來拋磚引玉,歡迎與大家溝通交流;
?