首页农业大学 › iOS

iOS

1. 前言

  图片风格转换最早进入人们的视野,预计就是Prisma这款来自俄联邦(Rose)底网红App。他使用神经网络(多叠卷积神经网络)将图纸转换成一定风格艺术照片。利用图片风格转换算法,我们好用一个图形放入以及教练好的神经网络模型进行预测结果得到风格方枘圆凿,独具特色的图。随着iOS11苹果推出了CoreML,我们得万分自在将磨练好的这个风格转换模型转换成为苹果之CoreML
Model,并利用是模型来举办图片风格转换。

图片风格转换 @Prisma

2. 图风格转换算法介绍

  2015年,德意志联邦共和国科学家 Gatys等人登一篇名叫也《A Neural Algorithm of
Artistic
Style》的散文,打开了神经网络在图像艺术创作的大门。作者以VGG16模子对同一摆放原图(Content
Image)和均等摆放风格图(Style
Image)分别进行图像特征提取。通过以对少数种特性构造损失函数,对同样摆初步化图片展开损失价值总括并申报重绘图像拿到生成图(Generated
Image)。可是这算法每一样次不行成一布置图纸都待展开相同软网络操练,需要耗费的时光相比较充足。瑞典皇家理工高校的约翰逊(Johnson)[6]等人口指出了快风格转移算法,磨炼一个网络,对于随意一摆图纸都足以变成网络对应之风骨。快捷转换算法包含两独网络。一个也图转换网络(Image
Transform Network),一个吗损失网络(Loss
Network)。在教练阶段采纳大量图形用鲜独大网展开锻炼取得模型,在出口等套用模型将结果开展输出获得生成图。他们查获的网绝对Gatys的模子拿到生成图的速快齐三独数据级。我们当Nokia上开展图纸风格转换的早晚可用约翰逊的情势急速的生成风格图片,当然使用Gatys的方法啊是可以的,不过当生成图片的时会吃又多之上。

神速风格迁移算法

  上图就是凡是很快风格迁移算法的总体结构图,该算法包括图形转换网络以及损失计网络。其中图片转换网络是一个大多重叠卷积神经网络,它用同样摆设输入的原来图片转换成为同摆生成图片。损失计网络是一个VGG-16网络,用于总括图片转换网络生成图片对于大家输入的风格图和原图之间的损失大小。通过测算生成图与原图的情损失和生成图与风格图的作风损失大小来判定生成图的质量。通过持续精打细算来减损失,反向传播及图片转换网络并对准其开展优化,最终抱合格的图形风格转换模型。而以此模型就得叫我们不断用来展开图纸及现实有平等作风的换。

3. CoreML介绍

  CoreML 是 Apple 二〇一九年 WWDC
新出面向开发者的机上框架。倘诺我们发出一个MLModel我们得以好之接纳Model举办结果的展望,所有的MLModel都谋面发以下结构。

MLModel结构

  一般一个MLModel文件会席卷MLInput,MLModel,MLOutput三有些,大家用数据封装成为Input并付出于MLModel,模型会展开结果估量并出口预测结果Output,我们还以揣测的结果转换成为我们用的数据类型。

4. 代码实现

  CoreML对图纸的拍卖还要拿图片转换成CVPixelBufferRef数量,那里提供相同段UIImageCVPixelBufferRef的代码。

CVPixelBufferRef转换代码

  将图纸转换成CVPixelBufferRef未来放入模型进行处理生成Output并得到结果,结果为是一个CVPixelBufferRef的数据。

Output

  所以这里我们还得以CVPixelBufferRef转回去UIImage,具体的贯彻代码如下:

image.png

更多具体的代码见项目。

5. 细节优化

5.1 合成图生功效应转换

偶尔我们会以为合成图的成效并无令人满足,如上面的演示图1跟2,我们可看出2就跟1差别大的挺了,一定水准及我会觉得风格过度了。那个时刻我们可因而调整合成图的听平昔换取全体构图之完整性,比如说图3的作风才来50%。大家得望图3化为如会越加具体而又起异乎平日风味。另外还是可以通过调整相比度,颜色饱和度来调动构图,这里虽用基于图片消耗又多的工夫了。

示例图 @Fzliu

5.2 合成图颜色转换

图形风格转换在我看来有一些是特而呢是沉重之,这就是是颜色之搬。我么可以看看在示例图2挨,合成图是应用梵高的星空转换出来的图,全部图片纹理以及颜色举办了变。这些时节假诺我们希望保留原图的颜料要未知合成图的纹理,就可使用YUV颜色空间举办换。

示例图2

YUV是图表的一模一样种植多少格式,YUV中的“Y”表示图片的明程度;“U”代表色度,也叫做饱和度;“V”代表浓度。从YUV的示例图我们好挺清楚的看出他俩的有血有肉意思。

YUV示例

当那里大家赏心悦目看其中U以及V可以分外好意味着图片的水彩,而Y代表了图的大部分内容。由此大家得以移植原图的U以及V到合成图上,就得抱示例图2遇之水彩转换合成图了。

6. 周转条件

  • Mac OS 10.12.6
  • Xcode 9 beta 6
  • Python 3.1
  • Tensorflow 1.0
  • Keras 2
  • Coremltools 0.4.0

7. Demo

此间我用现有的品格转换模型集合在一起写了一个品格转换Demo,具体可展现截图:

shoot1.jpeg

农业大学,shoot2.jpeg

shoot3.jpeg

shoot4.jpeg

shoot5.jpeg

shoot6.jpeg

Demo地址:https://github.com/kingandyoga/StyleTransfer-iOS

8. 参考文献

  • [1]. Ethan Chan and Rishabh Bhargava. Show, Divide and Neural:
    Weighted Style Transfer[D]. Stanford University,2016
  • [2]. Leon A. Gatys, Alexander S. Ecker,Matthias Bethge. A Neural
    Algorithm of Artistic Style[D]. Germany,2015
  • [3]. Justin Johnson, Alexandre Alahi, Li Fei-Fei. Perceptual
    Losses for Real-Time Style Transfer and Super-Resolution[D].
    Stanford University,2016
  • [4]. Leon A.Gatys, Matthias Bethge, Aaron Hertzmann, Eli
    Shechtman.Preserving Color in Neural Artistic Style
    Transfer[D].Germany,2016
  • [5]. Apple Core ML documentation
    (https://developer.apple.com/documentation/coreml)
  • [6]. Style Transfer
    Sample(https://github.com/fzliu/style-transfer)
  • [7]. MLModelZoo

转载本站文章请注明出处:必赢亚洲56电子游戏 https://www.creatologue.com/?p=1068

上一篇:

下一篇:

相关文章

网站地图xml地图