图片提取参数讲过了,模型训练的批量大小和轻量级都讲过了(如有必要再讲其他参数),现在来讲讲转换环节的参数,这个环节可是干货满满,直接影响效果哦。今天讲转换环节(convert)的第一个参数模式(mode)。 这是第一个参数,也是一个大参数,也是非常重要的参数。
1.如何设置这个参数?
我从来都不是理论派,所以一切从怎么做开始。
假设,我已经训练好了一个H128模型,使用的是win10 , 显卡是GTX1070,DFL版本为827。
双击第七步的 7) convert H128.bat 启动转转换程序。
620版本是直接choose mode。 而827版会先问你是否启用交互模式(Use interactive converter?) 。这个参数的默认值为y,如果你不习惯新的交互模式,可以输入n。
我这里为了演示方便,采用默认参数。
加载成功后,直接跳出帮助页面(感觉是要玩街机的节奏),此时你可以按键盘上的Tab,进入主界面(实时预览界面)。 在主界面,就可以通过键盘上的数字键来调整合成模式了。
2. 参数对应的效果展示。
老版本的模式可以选值为1~5,新版扩展到了1~9。
这几个模式分别为:1-overlay,2-hist-match,3-hist-match-bw,4-seamless,5-seamless-hist-match,6-raw-rgb,7-raw-rgb-mask,8-raw-mask-only ,9-raw-predicted-only 。
对于这几个模式,不知道大家的理解怎么样? 我看过很多中文版翻译,还是相当搞笑,感觉还不如不翻译。 当然,即便英语很好的人,单看单词也未必能明白这是什么意思。其实,这都是“算法”。 下面我还是以徐老师为例来演示下各种模式下的效果。
1-overlay (覆盖)
2-hist-match(直方图匹配)
3-hist-match-bw(直方图匹配-bw)
4-seamless(泊松克隆)
5-seamless-hist-match (泊松克隆- 直方图匹配)
6-raw-rgb (未处理的头像)
7-raw-rgb-mask (RBG遮罩)
8-raw-mask-only (仅遮罩)
9-raw-predicted-only 。(仅预测的人脸)
从上面图可以看出,1~5是完整的图片,而6~9都是以头像为主。其中raw值得应该是“未经处理的” ,这个自然是相对1~5这种已经处理的而已。 图片已经非常直观的展现了,各种模式的效果,不知大家最喜欢哪一种?
3.这些参数都是什么意思?
说完效果,来说说简单的原理。 这么多合成模式其实主要可以分为3类:overlay,histmatch,seamless。
overlay
这个就可以简单的理解为叠加覆盖。在DFL中有不少人喜欢使用这个模式,但是这个模型往往让人感觉有一层淡淡薄膜,最终导致“脸色”不是太好。
seamless
泊松图像编辑是一种全自动的“无缝融合”技术,由Microsoft Research UK的Patrick Perez,Michel Gangnet, and Andrew Blake在论文“Poisson Image Editing”中首次提出。opencv3.0 photo 模块加入了seamless_cloning类。
说的这么专业,咋也看不懂啊,又不知道去问谁(为什么一句中国话要有那么多单词呢?)下面就盗图演示下。
大概意思应该能看出来了吧。反正这就是一种很强的图片融合算法(超强PS的感觉),具体的理论依据,数学公式,论文都可以从网上找到资料。从演示图来说,这个效果是非常赞。
但是用在DFL中,并不是非常理想。首先他很容易出现类似“乌云密布”的感觉,就是脸上偏灰色,偏暗淡。还有合成视频时候容易出现闪烁,也有人描述成抖动。不过当遇到遮挡的时候,似乎这种算法出来的结果最佳,对于单图的处理结果往往也不错。
histmatch
直方图匹配又称为直方图规定化,是指将一幅图像的直方图变成规定形状的直方图而进行的图像增强方法。即将某幅影像或某一区域的直方图匹配到另一幅影像上。使两幅影像的色调保持一致。可以在单波段影像直方图之间进行匹配,也可以对多波段影像进行同时匹配。两幅图像比对前,通常要使其直方图形式一致。
以上为百度百科定义,一个英语没有,看起来非常舒服。但是看完依旧…
还是以图为主,这个图的意思是,美女还是那个美女,只是画风不一样了,似乎把房子的风格放在了人脸上。
这个算法在DFL中的表现还是非常不错的。从图中看以看出来,两张脸的色彩非常接近,这一点其实很重要。正因为如此,模式2 histmatch是我最喜欢的,也是最常用的模式。
在模型还不错的前提下,使用模式2+erode+blur,基本可以跳出非常不错的效果。 另外两个参数将在后续文章中进行解说。