AIGC背后的技术分析 | 图像风格迁移

简介: 本文为实战篇,介绍图像风格迁移

640.jpg


# 1、图像风格迁移



VGG模型是由Simonyan等人于2014年提出的图像分类模型,这一模型采用了简单粗暴的堆砌3×3卷积层的方式构建模型,并花费了大量的时间逐层训练,最终斩获了2014年ImageNet图像分类比赛的亚军。这一模型的优点是结构简单,容易理解,便于利用到其他任务当中。

VGG-19网络的卷积部分由5个卷积块构成,每个卷积块中有多个卷积(convolution)层,结尾处有一个池化(pooling)层,如图1所示。

640.png


■ 图1VGG-19的网络结构

卷积层中的不同卷积核会被特定的图像特征激活,图2展示了不同卷积层内卷积核的可视化(通过梯度上升得到)。可以看到,低层卷积核寻找的特征较为简单,而高层卷积核寻找的特征比较复杂。

640.png


■ 图2VGG网络中部分卷积层内卷积核的可视化


# 2、图像风格迁移介绍



图像风格迁移是指将一张风格图Is的风格与另一张内容图Ic的内容相结合并生成新的图像。Gatys等人于2016年提出了一种简单而有效的方法,利用预训练的VGG网络提取图像特征,并基于图像特征组合出了两种特征度量,一种用于表示图像的内容,另一种用于表示图像的风格。他们将这两种特征度量加权组合,通过最优化的方式生成新的图像,使新的图像同时具有一幅图像的风格和另一幅图像的内容。

图3对风格迁移的内部过程进行了可视化。上面的一行中,作者将VGG网络不同层的输出构建风格表示,再反过来进行可视化,得到重构的风格图片;下面的一行中,作者将VGG网络不同层的输出构建内容表示,再反过来进行可视化,得到重构的内容图片。可以看到,低层卷积层提取的风格特征较细节,提取的内容特征较详细;高层卷积层提取的风格特征较整体,提取的内容特征较概括。

640.png


■ 图3风格迁移中使用的风格数学表示和内容数学表示

3、内容损失函数

1●内容损失函数的定义

内容损失函数用于衡量两幅图像之间的内容差异大小,其定义如下。

640.png


其中,Xl和Yl分别是两幅图片由VGG网络某一卷积层提取的特征图(feature map),l表示卷积层的下标,i和j表示矩阵中行与列的下标。可见两幅图像的内容损失函数是由特征图对位求差得到的。低层卷积特征图对图片的描述较为具体,高层卷积特征图对图片的描述较为概括。Gatys等人选择了第4个卷积块的第2层(conv4_2)用于计算内容损失,因为我们希望合成的图片的内容与内容图大体相近,但不是一笔一画都一模一样。

2●内容损失模块的实现

模块在初始化时需要将内容图片的特征图传入,通过detach()方法告诉AutoGrad优化时不要变更其中的内容。forward()方法实现上面的公式即可。

class ContentLoss(nn, Module) :
def _init__(self, target) :
super(ContentLoss, self)._ init__()self. target = target. detach( )
def forward( self,input) :
self.loss = torch.sum((input - self.target) *x 2) / 2.0
return input

4、风格损失函数

1●风格损失函数的定义

风格损失函数用于衡量两幅图像之间的风格差异大小。首先需要通过计算特征图的Gram矩阵得到图像风格的数学表示。给定VGG在一幅图像中提取的特征图Xl,与之对应的Gram矩阵Gl定义如下。

640.png


Gram矩阵本质上是特征的协方差矩阵(只是没有减去均值),表示的是特征与特征(卷积核与卷积核)的相关性。

640.png


设由以上方式获得Xl和Yl对应的Gram矩阵Gl和Hl,风格损失函数定义如下。

640.png


其中,Nl和Ml分别为特征图的通道数与边长,ωl为权重。Gatys等选择了conv1_1,conv2_1, conv3_1, conv4_1, conv5_1用于计算风格损失。

2●计算Gram矩阵函数的实现

因为PyTorch传入数据必须以批的形式,传入的input的大小为[batch_size, channels, height, width]。计算Gram矩阵时,先用view方法改变张量的形状,然后再将它与它自己转置进行点积即可。

def gram matrix( input) :
a,b,c, d = input.size( )
features = input.view(a x b,c x d)
G = torch.mm( features, features.t()
return G

3●风格损失模块的实现

模块在初始化时需要将风格图片的特征图传入并计算其Gram矩阵,通过detach()方法告诉AutoGrad优化时不要变更其中的内容。forward()方法实现上面的公式即可。

class StyleLoss(nn. Module) :
def __init__(self, target feature) :
super(StyleLoss,self).  init ()self.target = gram matrix(target feature) . detach( )
def forward( self,input) :a, b,c,d = input.size( )G = gram matrix( input)self.loss = torch.sum((G- self,target) x* 2) / (4.0 * b x b * c x d)return input
目录
相关文章
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术发展与应用实践(一文读懂AIGC)
AIGC(人工智能生成内容)是利用AI技术生成文本、图像、音频、视频等内容的重要领域。其发展历程包括初期探索、应用拓展和深度融合三大阶段,核心技术涵盖数据收集、模型训练、内容生成、质量评估及应用部署。AIGC在内容创作、教育、医疗、游戏、商业等领域广泛应用,未来将向更大规模、多模态融合和个性化方向发展。但同时也面临伦理法律和技术瓶颈等挑战,需在推动技术进步的同时加强规范与监管,以实现健康可持续发展。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
技术创新领域,AI(AIGC)是否会让TRIZ“下岗”?
法思诺创新直播间探讨了AI(AIGC)是否将取代TRIZ的问题。专家赵敏认为,AI与TRIZ在技术创新领域具有互补性,结合两者更务实。TRIZ提供结构化分析框架,AI加速数据处理和方案生成。DeepSeek、Gemini等AI也指出,二者各有优劣,应在复杂创新中协同使用。企业应建立双轨知识库,重构人机混合创新流程,实现全面升级。结论显示,AI与TRIZ互补远超竞争,结合二者是未来技术创新的关键。
169 0
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
师资培训|AIGC工具搜集和分析教学反馈-某教育科技集团
近日,TsingtaoAI为某教育科技集团交付AIGC赋能教师教学创新课程《AIGC工具搜集和分析教学反馈》,本师资培训旨在为高校教师提供系统化、实战化的AIGC应用指南,助力教师在教学过程中实现智能化、个性化的转变。本课程通过深入浅出的案例分析、项目实践和实操演练,全面覆盖AIGC工具的收集、应用与反馈分析方法。
338 32
|
10月前
|
算法 Serverless
通过函数计算部署ComfyUI以实现一个AIGC图像生成系统
快来报名参与ComfyUI活动,体验一键部署模型,生成粘土风格作品赢取体脂秤。活动时间从即日起至2024年12月13日24:00:00,每个工作日限量50个,先到先得!访问活动页面了解更多详情。
285 54
|
7月前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
112 0
|
8月前
|
人工智能 自然语言处理 搜索推荐
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
560 5
|
8月前
|
人工智能 搜索推荐 数据库
实时云渲染技术赋能AIGC,开启3D内容生态黄金时代
在AIGC技术革命的推动下,3D内容生态将迎来巨大变革。实时云渲染与Cloud XR技术将在三维数字资产的上云、交互及传播中扮演关键角色,大幅提升生产效率并降低门槛。作为云基础设施厂商,抓住这一机遇将加速元宇宙的构建与繁荣。AIGC不仅改变3D内容的生成方式,从手工转向自动生成,还将催生更多3D创作工具和基础设施,进一步丰富虚拟世界的构建。未来,通过文本输入即可生成引人注目的3D环境,多模态模型的应用将极大拓展创作的可能性。
|
10月前
|
人工智能 自然语言处理 数据可视化
什么是AIGC?如何使用AIGC技术辅助办公?
2分钟了解AIGC技术及其如何提高日常办公效率!
3389 4
什么是AIGC?如何使用AIGC技术辅助办公?
|
8月前
|
编解码 人工智能 算法
国家扶持超高清产业背景下:视频云AIGC的超高清技术实践
本次分享由阿里云视频云高级产品解决方案架构师陈震主讲,聚焦国家扶持超高清产业背景下,视频云AIGC的超高清技术实践。内容涵盖超高清产业发展趋势与挑战、阿里视频云的应对方案及应用案例。通过全链路超高清解决方案,结合AI、云计算等技术,提供从内容生产、传输到播放的完整支持,助力行业应对超高清视频带来的技术与市场挑战。
288 0