(个人)基于深度学习的中国传统特色图像的风格迁移创新实训第三周

本周工作是在上周搭建的用于图像风格迁移的VGG16网络上,进行的水墨画风格的实验:(如下图)

(个人)基于深度学习的中国传统特色图像的风格迁移创新实训第三周

可以看出,结果不太尽如人意,尤其是天空和水面的部分,存在着大量纹理信息,而实际的水墨画中,这些部分应该为留白,或少量纹理信息。为了对这一现象进行解决,我们决定将图像的前景与后景进行分离,分别训练,测试其效果。

借鉴了论文Sky Region Detection in a Single Image for Autonomous Ground Robot Navigation中的一些方法,下面我将介绍具体的步骤:

这篇论文有三个前提假设:

1,天空区域的平均亮度要比地面区域的平均亮度要亮

2,天空区域在地面区域的上方

3,天空区域比较平滑

算法的大体思想是:

1,从上向下一行一行的扫描像素,并设定一个阈值,由此可以得到一个边界,通过设定不同的阈值可以得到不同的边界,

2,设定一个能量函数,不同的边界对应不同的能量函数的值,能量函数最大的则为最优边界

3,如果临时最优边界跳变过大,则认为是误检,这时,需要用K-means将天空(S)的像素分成两个集合,分别计算两类天空与地面(G)的马氏距离,马氏距离大的认为是真正天空(S1),另一类标记为地面(S2)。

4,再计算S中每一个像素与S1和G的马氏距离,与哪个距离近就将其标记为什么。

5,对S的每一列进行扫描,如果有一半的像素是天空则认为这一列都是天空,否则认为是地面

从文章的假设中就可以看出,本算法存在着很大的不足(只能识别出最上面的天空),于是按照一篇图片天空区域识别的博客对上述算法进行了改进:

我们对图片其他区域(step3处理后的s2和G)的每个像素进行扫描,如果其他区域的像素满足以下两个条件则认为也是天空:
   <1> 弱纹理区域

   <2> 像素值和Strue区域的平均像素值 相差很小。

测试结果如下:

(个人)基于深度学习的中国传统特色图像的风格迁移创新实训第三周

可以看出,对天空部分的识别还是较好的

根据原图和模板图,将前后景分离后的效果图:

(个人)基于深度学习的中国传统特色图像的风格迁移创新实训第三周

我已经向组里提交图片,等待训练结果