风格迁移模型测试效果
1 模型簡介
Selfie2anime模型:動漫風格,訓練集主要針對人物頭像;對應論文為:U-gat-it: Unsupervised generative attentional networks with adaptive layer-instance normalization for image-to-image translation
Hayao模型:日本漫畫;
Shinkai模型:日本漫畫;
CartoonGan模型:tensorflow hub 開源模型:https://systemerrorwang.github.io/White-box-Cartoonization/,對應論文為:Learning to cartoonize using white-box cartoon representations
2 模型輸入
Selfie2anime模型:256?256256*256256?256,原始模型為4.7G,google實現版本為10.2M;
Hayao模型:256?256256*256256?256;
Shinkai模型:384?384384*384384?384;
CartoonGan模型:512?512512*512512?512,經過量化(數據格式 float32-> unit8)后部署的模型,其模型文件大小為 2M,預測時間也最短。
3 測試結果
3.1 人物頭像
3.2 其他圖像
3.3 分析
256?256256*256256?256 兩種模型之間的相差并不大,差異表現在生成圖片的整體顏色不同;256?256256*256256?256 與 384?384384*384384?384 的模型之間整體差異不大,具體差異體現在細節上,例如人臉面部器官“眼睛”、“鼻子”上,在風景圖片中相差并不大。
由于輸入圖片的長寬通常在 800 像素值以上,而網絡的輸入是固定的,因此在輸入網絡時需要將圖片進行壓縮、將圖片縮小到目的尺寸(256 或者 384), 因此在縮小的過程中,難免會損失原圖的細節信息,因此輸入為 384?384384*384384?384 的模型效果理所當然會好很多。但 384?384384*384384?384 的圖像同時也存在一定的弊端,即內存消耗較大。
3.4 內存分析
由于Shinkai 模型公布了網絡結構,我們以這個模型為例來分析內存占用情況。Shinkai 模型中間最大的卷積層的圖片通道數為 512,像素點的值為 float 類型,占用 4 個字節,因此這個卷積層占用的內存為:384?384?512?4=301,989,888384*384*512*4=301,989,888384?384?512?4=301,989,888 字節,約為 302M 的內存,而 256?256256*256256?256 的圖片只需要申請 134M 的內存,600?600600*600600?600 的圖片需要 737M 的內存,且在模型中包含多個卷積層,因此圖片尺寸的增長會消耗更加大量的內存。
4 進一步說明
- 內存分析后可知,如果模型已經固定,增加輸入圖片的大小,就會增加內存空間。
- 現有的模型對接近“正方形”的圖片處理效果最佳,長寬差距過大的圖片則會影響生成圖片的質量,因此在網絡輸入時,可以考慮通過設計一個裁剪框,讓用戶裁剪圖片長寬為 1:1 的圖像,最后再縮小到 384?384384*384384?384 的大小,輸入網絡得到結果后再放大。
- 當不得不對“長方形”的圖片進行處理時,可以考慮將長方形進行切割,切割后分別進行風格遷移,將得到的結果進行拼接,返回原圖像的遷移結果。
- 模型的內存與網絡的卷積層結構參數有關,因此也可以從模型設計上進行改進,設計更小的網絡。缺點:數據集較大,訓練時間較長,對訓練設備要求較高,且訓練出的模型能減少內存占用量,卻不能保證風格遷移的“效果” 會比現有的模型更好。
總結
以上是生活随笔為你收集整理的风格迁移模型测试效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bulk这个词的用法_15、形容词与副词
- 下一篇: 睡眠音频分割及识别问题(五)--YAMN