Betway必威iOS 图片风格转换(CoreML)[译] 纹理网络:在前馈网络中开展纹理合成和风格化。

1. 前言

  图片风格转换最早入人们的视野,估计即使是Prisma这款来自俄罗斯的网红App。他使用神经网络(多重叠卷积神经网络)将图纸转换成一定风格艺术照片。利用图片风格转换算法,我们好用一个图形放入以及教练好的神经网络模型进行前瞻结果取风格截然不同,独具特色的图。随着iOS11苹果推出了CoreML,我们得以死自在将训练好之这些风格转换模型转换成为苹果之CoreML
Model,并应用是模型来进行图片风格转换。

图形风格转换 @Prisma

题目:Texture Networks: Feed-forward Synthesis of Textures and Stylized Images

2. 图片风格转换算法介绍

  2015年,德国科学家 Gatys等人发表一首名叫也《A Neural Algorithm of
Artistic
Style》的舆论,打开了神经网络在图像艺术创作的大门。作者运用VGG16型对同摆设原图(Content
Image)和同等摆风格图(Style
Image)分别展开图像特征提取。通过运用对片种植特性构造损失函数,对平摆放初始化图片展开损失价值计算并反映重绘图像得到生成图(Generated
Image)。但是这算法每一样不善好成一张图纸都要进行同样蹩脚网络训练,需要消耗的岁月比较丰富。斯坦福大学之Johnson[6]等于丁提出了飞跃风格转移算法,训练一个网,对于自由一摆放图片都得以变换成为网络对应的品格。快速更换算法包含两单网络。一个也图转换网络(Image
Transform Network),一个吗损失网络(Loss
Network)。在训练等采用大量图纸用鲜个网络开展训练取得模型,在输出等套用模型将结果开展输出得到生成图。他们查获的纱相对Gatys的型得到生成图的进度快齐三单数据级。我们在iPhone上进展图纸风格转换的时节可利用Johnson的办法迅速的生成风格图片,当然使用Gatys的点子啊是好的,但是在生成图片的当儿会消耗又多之时光。

迅速风格迁移算法

  上图虽凡飞风格迁移算法的完好结构图,该算法包括图片转换网络以及损失计网络。其中图片转换网络是一个几近层卷积神经网络,它将同张输入的旧图片转换成平等摆放生成图片。损失计网络是一个VGG-16网络,用于计算图片转换网络生成图片对于咱们输入的风格图和原图之间的损失大小。通过测算生成图与原图的始末损失以及生成图与风格图的风格损失大小来判定生成图的身分。通过不停精打细算来减损失,反向传播到图片转换网络并针对性该展开优化,最终取得合格的图纸风格转换模型。而以此模型就可以让我们不住用来进展图纸及现实有同作风的易。

Betway必威 1

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

再也多具体的代码见项目。

Betway必威 2

5. 细节优化

  • 章地址:arXiv:1603.03417.《Texture Networks: Feed-forward
    Synthesis of Textures and Stylized
    Images》
  • Github链接:https://github.com/DmitryUlyanov/texture\_nets
5.1 合成图生成效果转换

奇迹我们会觉得合成图的效果并无合意,如下面的以身作则图1跟2,我们可以看2业已跟1差异大之不行了,一定程度达到我会觉得风格过度了。这个时节咱们好透过调整合成图的机能来换取整体构图之完整性,比如说图3的作风才发生50%。我们得以看到图3成为如会越来越具体而还要出异样风味。此外还好透过调整对比度,颜色饱和度来调整构图,这里虽需要基于图片消耗又多之时光了。

示例图 @Fzliu

(转载请注明出处:[译] 纹理网络:在前馈网络被进行纹理合成和风格化
(zhwhong) )

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

Abstract

摘要:Gatys
等人口多年来说明,深度网络好产生良好的纹路,也可据此纯的纹理样例来风格化一摆设图。然而,他们的方要经过一个长期而最占内存的梯度下降优化过程。我们于是提出一个替代的计,可以管计算的承担转移至一个独门的修等。给一定一个纹理样例,我们的不二法门能训练一个连贯的前面馈卷积网络来好成多个一律之纹理任意大小的样品,并拿一个加的图像转换成所有艺术风格的旁一个图像。此结论的大网是充分轻量级的,但足以产生质媲美
gatys
等丁的纹理,且提升了数百倍增之快。宽泛的游说,我们强调的之所以繁体且具有表现力的代价函数来训练前馈网络模型就同样办法,是甚强劲和所有灵活性的。

7. Demo

此间自己以长存的风格转换模型集合在一起写了一个作风转换Demo,具体可以呈现截图:

shoot1.jpeg

shoot2.jpeg

shoot3.jpeg

shoot4.jpeg

shoot5.jpeg

shoot6.jpeg

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

一.简介

有些近年来之做事证实深度神经网络在面临图像方面的挑战时是具有得天独厚能力的。大部分之更动网络是因此随机种子开始做前馈计算,而Gatys等人口发现了要命让人震撼的结果,通过对纱展开描述性的研究,比如图像统计。他们之的想法是抽图像生成的随机取样以相当确定的统计特征。在纹理合成这块,参考数据是一个单纯的可见纹理图,目标是有一个拖欠纹理的样例图。在风格化这块,目标是还要匹配的率先图像的风格,(用部分低位级别之统计数据来捕获),和第二图像的情(用高档别的统计数据来捕获)。通过这种方法,一个图像的风格好在非改动内容之前提下给别一个品格取代。

相当统计特征的工作在实践中表现对,概念上是略的,且实验求证,用在图像分类等题材达到之现的神经网络(如VGG)可以一直拿来开图像的出。然而Gatys等丁想的之方式吗是发生短板的,建立在梯度下降漫长迭代的底子及之方案,必须依反向传播的长河来日趋转移像素点的价值,直到出现期望的布。这样迭代的经过还是于GPU上且待几秒钟去来一个好有些尺寸的图纸,换成特别尺寸图片后还可能面临内存不够用的题材,需要占用更多的内存。而跟之并行对立,本文提出的前馈网络生成器则再胜似效率,因为她仅仅待一个简短的简短的对准纱求值,不待担反向传播时之昂扬代价。

以及时篇论文被,我们要关注前馈网络生成器在纹理合成与图像风格化方面的能力。我们的做事要汇集在三只片,第一,我们首糟验证前馈网络生成器的道能够来质和多样性和Gatys等人提出的措施相媲美的效果。第二,我们提出的转变方法能够到位少个数据级的涨价与一个数量级的内存效率提升。用一个纯净的严密的前馈网络带来的大性能,促使我们来力量去用风格化转移到视频和手机使用达到。第三,我们设计了一个非常适合风格化任务的多尺寸生成器结构。

透过产生的意卷积网络(即我们叫纹理网络)可以生成任意大小的纹路和拍卖任意大小的图像。我们的艺术吧象征了一个有趣的训概念,即简单的前馈架构配上复杂且有表现力的损失函数。我们相信,其他有有意思之结果,可以利用此条件来有。

立刻篇论文里之另外一些,讲述了图像和纹理生成技巧的概述(Sect2),详细描述了俺们的法(Sect3)提供了在广的生挑战性的纹理集图片上的恢弘(Sect4)

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

二. 背景以及相关工作

1.用神经网络产生图片

诚如情况下,生成一个图像x的进程,可以当作从一个一定的分布P(x)开始之样品绘制问题。在纹理合成部分,一个遍布是由同样摆放纹理样例x0确定的,因此我们可以以纹理合成的进程写作:

Betway必威 3

以作风转换上,这个一定的分布是由同样布置表示风格的图像X0和亚摆设表示可见内容的图像X1共同决定的,所以可以以作风转换的历程记否:

Betway必威 4

(Mahendran & Vedaldi,2015;Gatys et
al.,2015a;b)将此问题简化成一个找到一个具有特征的预先图片,构成一个梯度下降之题目。尤其是,为了从一个样例图片X0综合一个纹理,预图片可以代表为:

Betway必威 5

要的凡先图片:

Betway必威 6

再三无是绝无仅有的,预采样是充满多样性的,在实践中,样品采用部分优化算法从随机初始化Z出发,生成的图像就是函数的输出:

Betway必威 7

然的结果是一个分布:

Betway必威 8

挺为难描述,但挺容易采样,有那个好统计特征,能产生让人赏心悦目的视觉效果和多元化的图像。(Mahendran
& Vedaldi,2015)和(Gatys et
al.,2015a;b)都拿它的统计数据建立于深度神经网络层的应上。我们的法复用了Gatys提出的冲特征图谱之间联络的计。

2. 描述性纹理建模

以此艺术所描述的方式以及博老牌的视觉纹理模型产生非常强之联系。对于纹理,它是广大的比方—-P(x)是一个一定的马尔可夫以机场(MRF)。既然这样,纹理是遍历的,人们为会考虑地方空间不转移统计。

Betway必威 9

内i表示空间坐标,F通常是相同组线性滤波器的出口。ψ是一个直方图算子。然后,空间平均本地统计的原型纹理x0接近该样本平均数:

Betway必威 10

Zhu等人口得框架模型用了是真相归纳出最好酷接力熵分布

Betway必威 11

λ是参数,来配合他们的经验估计。

Betway必威 12

此框架的老毛病在于从太酷熵分布取样很困难,要化解之界定,需经一直找到匹配所需要的统计的图像X来配合。
zhu等人用线性滤波器,小波同直方图来确立他们的纹路统计,(Mahendran&Vedaldi,2015;Gatys
et
al.,2015a;a)通过预训练的深浅网络取统计信息,不同之是,他们当风格化不是纹理合成的题材。

3. 生成器网络

一个增选是行使神经网络作为描述器,构建生成器网络X =
G(z)直接拿一个任意或明显参数Z向量当作输入来产生图片。如(dosovitskiy
et
al.,2015)的法,学习的照从明确参数Z(例如拍摄对象的门类及见解)的图像,这是经过尽量拟合神经网络来减

Betway必威 13

的出入,对于已了解的图纸参数组(Xi,Zi),虽然当时或者来视觉及挺有吸引力的结果,但其要超前掌握(x,

z)之间的关系并无可知支持多样性。另一样种植方式是考虑一个函数g(Z),参数Z是不解的,并于(简单)随机分布着采样。网络的对象是拿这些自由值映射到如是要是非的图像x

G(Z)。这就得我们衡量样品的品质,这便表示也X和同等组示例图像X1之间的相距X1~Xn。关键的挑战是距离要能包括明显可用之例子,以保护样本的多样性。生成对抗网络(GAN;(Goodfellow
et
al.,2014))解决了这个题目,通过训练,结合生成器网络g(z),第二对峙网络f(x),试图区分样本g(z)和自然图像样本。然后f可以让用来作一个权质量的样品,
g可以吃教练来优化其。LAPGAN(Denton et
al.,2015)把GAN以用至了一个卷积网络的拉普拉斯金字塔,DCGAN(Radford et
al., 2015) 进一步优化了转对抗网络GAN,从杀坏之数据集中学习。

4. 矩匹配网络

最为老熵Betway必威模型(Zhu et
al.,1998)与无限深之平均差(MMD)的历史观密切相关(MMD)在(Gretton et
al.,2006)中有着介绍。关键是观测某个确定分布的预期值

Betway必威 14

招来来独一无二的规定分布p,从它派生的损失函数通过比较网络样本的统计平均值

Betway必威 15

的点子来顶替GAN。他们之所以其失去训练矩匹配网(MMN)并且用它起小之图形(例如手写数字集),我们的网络接近于矩匹配网络,不过用了大例外的统计并且考虑了跟Li等人口完全不同的用。

三.纹理网络

咱今天详细描述本文所提出的方。在比高层次来拘禁(见图2),我们的道是训练一个前馈的生成器网络G(generator
network),采用噪声样本Z作为输入并生成纹理样本g(z)作为出口。对于作风的易,我们扩张这个纹理网络,同时使噪声采样Z和情节图像Y,然后输出一个初的图像g(y,
z)此时纹理已被使用至Y作为一个凸现的风骨。每一个纹理要风格都设训练一个独的的生成器网络,一旦训练好,它好由此一个有效之前馈的法门,合成任意数量的擅自大小的图像。在教练之生成网络g时之一个重中之重挑战就是是构建一个损失函数,可以自动评估所产生的图像的质地。例如,GAN的核心思想是经过生成器网络来读之损失。我们在Sect
3.1来得了一个深强劲的损失函数可以自预先训练好的一定网络中引入统计描述来博取,正如(gatys
et
al.,2015a;B)中所显示。考虑到损失,我们对接下讨论生成器网络的架,用于纹理合成(Sect
3.2)并拿该推广及图像风格化(Sect 3.3)。

Betway必威 16

祈求2所提出的架构的概述(纹理网络)。我们训练一个生成器网络(左),使用的代价函数是因一个定位的预先训练之叙说符网络(右)的超强大的代价函数。在个别独网络中,只有左手的生成器网络在吃更新,并且以今后吃用来纹理要图像合成。卷积块包含多独卷积层和非线性激活和采样及通道的连。生成器网络的两样分支操作以不同之面,是由尺寸不同之噪音张量激活而来。

3.1 纹理和情节代价函数

咱们的代价函数来自于Gatys等人的论文,比较图像数据是通过一个先期训练好之CNN(一般是VGG系列的一样舒缓)来衡量的,这个预训练好之CNN本来是供应图像分类的。这个描述器CNN在是所以来衡量纹理原型x0和生成图片x之间的非兼容程度。用

Betway必威 17

代表第i单特性通道,通过描述器中第l重合的卷积层在图片x上的呈现得出。矩阵

Betway必威 18

吃定义也特点图片的内积

Betway必威 19

考虑到是网络是一个卷积网络,要计算而指向任何职务的特征i, j 做计算。因此

Betway必威 20

负有一致之一般结构,作为地方固定特点的无序的统计,是可以看做纹理描述符存在的。在实验被,Gatys等人口所以带有VGG中有的层的矩阵集合来衡量纹理特征,这样以图x和纹理x0之间的的代价就是就此下式计算:

Betway必威 21

除了纹理上之出入(texture loss),Gatys还用了一个content
loss(由Mahendran& Vedaldi,2015丁提出),这个content
loss比较了图片在某个确定的卷积层上的输出(不划算进一步的统计数据如矩阵)

Betway必威 22

Nl是特色通道在VGG第l层的通道数,与纹理差距相比最要之不同之处在于:内容差距保留了原图的空间位置信息,因此这种Loss函数更契合代表内容信息而未是纹理信息。类似于Gatys等丁,我们用祭纹理损失(style
loss)配合训练纹理合成用的生成器网络,我们运用一个纹理损失(style
loss)和内容损失(content
loss)的加权组合,配合训练用来举行图像风格化的生成器网络。在后者的气象下,内容层不应该保留与纹理层一样浅层的事物,只有高层的情节应当叫封存。

3.2 生成器网络的纹理合成

我们现在讨论用于纹理合成的生成器的构造及训练过程,把生成器网络的参数记为θ,这个网络给教练成用来讲一个噪音向量z转换成为一个由纹理确定的分布Z。

Betway必威 23

网布局:咱们尝试了某些种结构用来做生成器网络g。最简便易行的凡同样弄错卷积,非线性激活和达成采样层,从一个噪音向量z起点,终止于打造出同摆图。虽然这种类型的型能来合理的结果,我们发现,多规格架构的结果有更有些的纹理损失及重好之感知质量,同时用比较少的参数以至于训练进度还快。图2蕴含了我们的差不多规格架构的一个胜过层次之象征,将当后来详细介绍。纹理X0凡一个tensor,shape=(M,M,3)包含了三单颜色通道,为了计算简单,假而分辨率M是2之挂,输入的噪声z是由K个随机tensor
zi组成,

Betway必威 24

,我们一再用M=256
K=5,这个K个tensor都是独立与分布的,均匀分布之取样。每个随机噪声张量是出于同排列卷积和非线性激活层首先处理,然后简单片齐采样,再当附加通道连接在同,最后都分辨率的张量最终用一个1×1之滤镜映射到RGB图像x上。在觊觎2负,每一个卷积块都蕴含了三独卷积层,每个层还接着一个Relu激活层,这些卷积层分别吗3×3,
3×3
和1×1底感受野。步长stride为1,用循环卷积来解决边缘问题,这个非常抱用于纹理。特征图谱的数码,等于filter的数码,从不过小8大路及绝要命40大路,参数个数为65K左右,可以减至占300kb内存。上采样层之所以了简单的极端靠近插值(我们品尝过全卷积,效果不好),我们发现批量正好则化层能大酷的助力训练。就坐落每个卷积层的后边,重要之凡,还要在连接层前面,因为沿着不同网络来之梯度需要经过批量正则化来抵消一下。学习:读优化的长河用了自由梯度下降(SGD)算法,在列一样不成迭代时,SGD绘制一个有点批量的噪音向量zk,对转移的网展开前为评估,得到相应的图像

Betway必威 25

,利用描述器网络对该展开评估,获取纹理矩阵

Betway必威 26

,最终计算Loss。(要知

Betway必威 27

)是稳定的)在此之后开始倒转朝传来,生成器的参数在倒为传播时做计算,根据纹理损失及之梯度用来更新参数。LAPGAN也就此了大多规格之法门,不过大凡子进行训练的,然而我们的生成器是端到端的在训练。

3.3图像风格化

以将这主意运用至图像风格化上,我们做了有的转移,第一,这个生成器网络

Betway必威 28

会晤让涂改成:输入一个噪声变量z和一个图片y的叠加,网络被训练成输出一个图像x,x在情节达靠近y,在风格上靠近x0。举个例子,y可以是某之相片,x0可以是一样布置印象使名画。网布局:组织跟用来做纹理合成的是同等的,唯一的关键区别就在,噪声向量zi,i=1K,要把输入图片y做为额外的通道联结上去(对y进行下采样获取不同尺寸),我们后来发现,把K从5改成6会带来更好的结果。\*\*学习:\*\*学习的过程是采样噪声向量ziZ自然图像yi~Y,然后调整生成器的参数θ,使得content
Loss和 style loss的及最小:

Betway必威 29

此Z是和纹理合成时同分布的一个噪声。Y是当然图像的更分布,α是一个百分比参数,为texture/style和content的比重。在教练中,我们发现上令人惊讶之非常容易过拟合,而且她可近似于自然图像y的分布,在一个坏小之图像池中。事实上,我们的结果受比有质量之还因此了很多之样例图片,我们管这么的实际归纳为:卷积结构采取当地操作,因为具备相同的一些组织,只是图像Y、内容风格比例在转,所以于地方操作来说,想只要配合有的纹理会非常的不便。尽管发生如此的限定,所产生的风格化的图像通常发生深好的感知质量,虽然小风格我们确实不容许通过优化原有的措施来取好结果。

Betway必威 30

Figure 3  与Gatys的效能比

四. 实验记录重复多的技术细节

生成器网络的权重用Xavier的点子初始化,训练用Torch7实现Adam,迭代2000涂鸦,初始的读速率为0.1,迭代1000不成后开始为各国200次于0.7之比例衰减。batch-size设置为16。和Gatys的论文被说之一模一样,纹理损失texture
loss用{‘relu1_1′,’relu2_1′,’relu3_1′,’relu4_1′,’relu5_1’},VGG19型,内容损失用{‘relu4_2’}。完全训练好一个模需要简单个钟头,用NVIDIA
Tesla
K40,如果仅需要取得可承受的结果,则需之时日重新缺乏,只需要格外少的迭代。

纹理合成:俺们拿咱的道和Gatys做了一部分比较,我们尚同DCGAN比了,还与还与Portilla比了。图4见了马上四种植方法比较后的结果,从质地上来说,我们的生成器CNN和Gatys的结果是大半的,比另外两种方法来的成色要好。然而生成器CNN更加的高效率(看Sect4.1),图1包了再也多的比(生成器网络以及Gatys及其余方式的相比)

Betway必威 31

Figure 4  四种办法以纹理合成上的自查自纠

风格转换:训练集,自然图像是打ImageNet
ILSVRC2012之数码汇总随机抽取的。至于Gatys等丁得俗办法,我们发现风格化的结果是针对性α比例很敏锐的(style/content的百分比)。在测试的下这参数在我们的主意被无克调,但是我们发现此比重还可以经过调整输入噪声z的轻重来调动(看图5)

Betway必威 32

Figure 5  输入噪声z占比较之调动

咱把咱的艺术与Gatys比较了,用了片品格及内容图片,发现结果是挺富有可比性的。有代表性的比,包括固定参数,是概括于图3受到的,更多之补充材料,其他质量报告的结果记录在了图7中。

4.1 速度和内存消耗

咱们把我们的艺术与迭代优化的不二法门较快,通过权到达指定loss时每艺术要多少时间。图6显了迭代优化的法子需要大约10秒钟去有一个样品x,而我们的点子就用20ms,达成了500加倍提速,这能十分好的支持部分即经常采取比如视频拍卖。产生这样明显的区别有零星独因:1.生成器大网比VGG19不怎么太多,所以每次迭代的当儿如果尽早的大都,我们的计要一个独立的纱来评估,通过避免倒朝传来,我们的艺术为回落了多内存需求,我们的方式变256×256底图纸消耗256MB,
Gatys消耗1100MB。

Betway必威 33

五. 讨论

咱提出了一个初的吃水上方式的纹路合成和图像化的想,显而易见的,这个方法好用来产生部分扑朔迷离纹理及图片,用前馈网络的措施。能与运用反向传播的Gatys的不二法门有同等搞得色。这个思路的中标在于突出了前馈网络以纷繁数据变动、复杂问题迎刃而解上的合适性。这无异于中标之首要是使复杂的损失函数,设计不同之前馈架构,作为“专家”评估的前馈生成器的特性。因为我们的章程赢得了生格外好成效的纹路合成,今后我们计划研究又好之损失函数来让纹路质量还好,实现了更使得人记忆深刻的结果。

Betway必威 34

Reference

Betway必威 35

Betway必威 36

Betway必威 37

补给资料

Betway必威 38

生成器结构

Betway必威 39

Betway必威 40

Betway必威 41

Betway必威 42

Betway必威 43

左手第一排是style,上方第一尽是content

Betway必威 44

256×256生小训练的,但可以据此来扭转任意尺寸的图形

Betway必威 45


(注:感谢您的读书,希望本文对你有帮助。如果认为不错欢迎分享转载,但求预点击
这里
获取授权。本文由
版权印
提供维护,禁止其他款式之莫授权违规转载,谢谢!)

相关文章