今天跟大家唠唠我捣鼓的“女巫师”项目,别想歪了,不是那种神神叨叨的,就是个图像风格转换的小玩意儿,纯属个人兴趣爱
我寻思着现在AI挺火的,能不能自己也搞点啥好玩的。正好我平时喜欢看一些奇幻电影,对里面的女巫形象挺感兴趣的,就想着能不能把普通照片转换成那种神秘、暗黑风格的。
说干就干!
我得找数据。在网上扒拉了一堆女巫主题的图片,各种风格都有,电影截图、游戏原画、还有一些艺术作品。然后用PS简单处理了一下,把图片大小统一,再简单标注了一下关键元素,比如帽子、法杖、衣服啥的。
数据有了,接下来就是选模型。一开始想自己从头写一个,后来发现太费劲了,还是站在巨人的肩膀上。我选择了CycleGAN,这玩意儿挺适合做图像风格转换的,能把A风格的图片转换成B风格,同时还能保留图片的内容。
模型选好了,就开始搭建环境。我用的是Python,TensorFlow框架。配置环境就搞了好久,各种依赖包版本冲突,简直让人头大。还好网上资料多,一步一步照着做,总算是搞定了。
环境OK了,就开始训练模型。把准备好的数据扔进去,让它自己跑。这过程贼慢,我的破电脑跑了好几天才勉强能看。训练的时候,loss值忽高忽低,看得我心惊胆战的,生怕哪里出了问题。
模型训练好之后,就开始测试效果。随便找了几张照片扔进去,出来的结果嘛……只能说差强人意。有的照片转换效果还行,有点女巫内味儿了,但有的就完全是灾难,要么画面扭曲,要么颜色失真,简直没眼看。
为了提高效果,我又开始折腾。调整模型参数、增加训练数据、尝试不同的数据预处理方法……各种方法都试了个遍,但效果提升都不太明显。
后来我发现一个问题,我之前的标注太简单了,只标注了关键元素,没有标注图片的整体风格。于是我又重新标注了一遍数据,这回不仅标注了关键元素,还标注了图片的颜色、光影、纹理等信息。
重新训练模型后,效果果然好了很多。转换后的图片不仅风格更接近女巫,而且细节也更加丰富。虽然还是有一些瑕疵,但整体效果已经可以接受了。
我把这个小项目部署到了本地电脑上,写了一个简单的GUI界面,可以方便地上传照片、选择风格、查看转换效果。虽然界面很简陋,但功能基本够用了。
整个过程下来,感觉还是挺有意思的。虽然效果不算惊艳,但毕竟是自己一步一步捣鼓出来的,也算是小小地满足了一下自己的好奇心。以后有时间,我还想继续完善这个项目,让它变得更好玩。
还没有评论,来说两句吧...