1.ganԴ??
2.图像超分辨率-Super Resolution(A2N)
3.基于AI或传统编码方法的图像压缩开源算法汇总
4.ai-structure.com:新开源 GAN to PKPM/YJK的自动化建模程序
5.Hifigan感受野计算
6.如何使用stylegan训练自己的数据?
ganԴ??
这是来自斯坦福和华盛顿大学研究员的创新研究,他们提出了一种基于GAN(生成对抗网络)的新方法,仅需一张照片就能生成一个人从幼年到老年的样貌变化。
通过此论文(arxiv.org/abs/....),你可以了解这项技术的详细信息。同时,短信计划源码项目的源代码已开源,感兴趣的开发者和研究者可以访问github.com/royorel/Life...获取更多资源。
使用此技术非常直观,以下是详细的步骤和说明:
首先,确保模型文件已经准备就绪。考虑到模型体积大且通过谷歌网盘下载可能遇到的问题,我已将文件打包并提供了以下链接供下载:
链接: pan.baidu.com/s/1Jwg-q9... 提取码: aicv
然后,直接运行我提供的demo.py代码即可开始体验。
在使用过程中,以下几点需要注意:
1. img_path = "t.jpg":请添加你希望生成样貌变化的人脸照片。确保照片为正脸照,这样生成的效果会更好。
2. opt.name = 'males_model':根据输入中人物的性别进行调整。男性使用males_model,女性则使用females_model。
3. 生成的结果将是一个MP4视频文件,保存路径在result文件夹内,并以照片的名称命名。
通过实际应用,我深感CV方向有许多有趣且实用的应用,例如模拟人物样貌变化。如果你对此技术感兴趣并想要亲自尝试,建议下载项目源代码并按照说明进行操作。如果你觉得结果令人满意,不妨为我点个赞以示鼓励。
图像超分辨率-Super Resolution(A2N)
AI世界斑斓多姿,计算机视觉给我们带来前所未有的视觉盛宴,超分辨率作为其中一个子领域亦是吸引很多研究学者,本文基于《Attention in Attention Network for Image Super-Resolution》这篇文章对单幅图像超分辨率(SISR)算法流程做一个详尽的介绍。对于单幅图像超分算法主要分为两类:有监督方法和无监督方法,本文主要针对有监督方法。在有监督的算法中主要分为基于CNN和基于GAN的方法。基于CNN的方法一般使用L1Loss和L2Loss损失函数,基于GAN的方法还需要感知损失和对抗损失。就上采样来说传统为插值上采样,现在一般使用亚像素卷积和反卷积。采样位置分为前上采样,渐进上采样和后上采样,环境gis系统源码现在更多使用后上采样。如果想更快了解超分领域,不妨多看几篇综述类文章,这样能够对该领域有一个整体的了解。
超分算法实现整体流程如下。首先,对于一张低分辨率(LR)输入网络时首先通过一个卷积层,然后经过n个A2B模块,之后再经过一个重建模块(里面包括上采样(插值)到指定尺寸),再经过一个卷积层,卷积之后的输出结果与最初输入的LR图的上采样(最近邻插值上采样)结果相加之后得到最终的效果图。整个网络既没有用到亚像素卷积也没用到反卷积,而是使用传统的插值上采样。
在实现算法时,先要了解其思想,所以当复现一篇论文时,首先需要看懂论文中作者提出的新方法,在代码复现时,若作者提供源码可以先借鉴其源码,这样在达到作者论文中的相近效果后再考虑添加自己一些想法并改进。网络结构介绍先说这么多,我们在实现不同超分算法只需要更换网络结构那部分即可,其他地方做一些小改动即可再次训练。
数据集处理方面,用于超分训练和测试的数据集有很多,一般情况下我们可以在论文中了解作者使用的训练和测试数据集。对于下载的数据集,需要先进行处理,方法如下。对于div2k数据集,首先将其裁剪为x或者x的大小,然后随机截取x或者X的大小作为训练所需尺寸。这样处理的训练集用来训练还是很不错的。
超分网络训练部分,一般使用adam优化器,学习率很多设置为1e-4或者5e-4,batch_size一般为或者,损失函数一般为L1Loss,L2Loss,L1_Charbonnier_loss等,其中L1_Charbonnier_loss效果好些。训练一般需要个epoch左右,具体时间视情况而定。接口测试平台源码
PSNR及SSIM测试及效果展示部分,PSNR公式为MSE(均方误差)除以最大像素值,实现代码如下。SSIM代码如下,实现代码中查看完整代码。
实验结果展示部分,基于2x模型训练的4x结果要好些。基于双三次插值退化模型,训练也是基于此,所以结果还不错,但用于真实场景效果不一定理想。
最后,提供超参设置,对于2倍超分:使用裁剪的xdiv2k数据集,然后转了h5文件。数据增强主要是水平翻转,垂直翻转和顺时针旋转度。batch_size=,lr=5e-4,epoch=。对于4倍超分:使用裁剪的xdiv2k数据集,数据增强相同,batch_size=,lr=5e-4,epoch=。基于这些参数,训练结果略高于论文结果。
基于AI或传统编码方法的图像压缩开源算法汇总
探索图像压缩技术的前沿,融合AI与传统编码策略,我们精选了多项开创性研究成果,旨在提升图像压缩的效率与视觉质量。让我们一同探索这些卓越的算法:Li Mu等人的突破:年CVPR大会上,他们提出了《Learning Convolutional Networks for Content-weighted Image Compression》(论文链接),借助深度学习的自编码器,赋予内容感知,通过优化编码器、解码器和量化器,赋予图像在低比特率下更清晰的边缘和丰富纹理,减少失真。其开源代码可于这里找到,基于Caffe框架。
Conditional Probability Models的革新:Mentzer等人在年的CVPR展示了他们的工作,通过内容模型提升深度图像压缩的街头霸王源码性能,论文名为《Conditional Probability Models for Deep Image Compression》(论文链接)。
利用深度神经网络的力量,研究者们正在重新定义压缩标准。例如,Toderici等人在年的CVPR中展示了《Full Resolution Image Compression with Recurrent Neural Networks》,使用RNN构建可变压缩率的系统,无需重新训练(论文链接)。其开源代码可在GitHub找到,基于PyTorch 0.2.0。 创新性的混合GRU和ResNet架构,结合缩放加性框架,如Prakash等人年的工作所示,通过一次重建优化了率-失真曲线(论文链接),在Kodak数据集上,首次超越了JPEG标准。开源代码见这里,基于Tensorflow和CNN。 AI驱动的图像压缩,如Haimeng Zhao和Peiyuan Liao的CAE-ADMM,借助ADMM技术优化隐性比特率,提高了压缩效率与失真性能(论文),对比Balle等人的工作(论文)有所突破。 生成对抗网络(GAN)的优化应用,如.论文,展示了在低比特率下图像压缩的显著改进,开源代码可在GitHub找到,它以简洁的方式实现高图像质量。 深度学习驱动的DSSLIC框架,通过语义分割与K-means算法,提供分层图像压缩的高效解决方案,开源代码在此,适用于对象适应性和图像检索。 传统方法如Lepton,通过二次压缩JPEG,节省存储空间,Dropbox的开源项目链接,适合JPEG格式存储优化。 无损图像格式FLIF,基于MANIAC算法,超越PNG/FFV1/WebP/BPG/JPEG,支持渐进编码,详情可在官方网站查看。 Google的yum下载openssl源码Guetzli,以高效压缩提供高画质JPEG,体积比libjpeg小-%,适用于存储优化(源码)。 这些创新的算法和技术,展示了AI和传统编码方法在图像压缩领域的融合与进步,不仅提升了压缩效率,更为图像的存储和传输提供了前所未有的可能性。ai-structure.com:新开源 GAN to PKPM/YJK的自动化建模程序
在年4月日、4月日、5月5日和5月日,ai-structure.com平台连续发布了一系列重要更新,包括v0.0.4版本以及图神经网络在剪力墙设计中的应用、自动化建模源代码的生成对抗网络(GAN)到PKPM和YJK的转换工具。项目的初衷是通过AI设计建筑平面布局,随后由专业的结构软件进行分析和校核,以提高工作效率。
其中,近期开源的代码亮点在于实现了从AI生成的结构方案到PKPM和YJK结构设计软件的自动导入功能。5月5日和更新的GAN-to-PKPM/YJK代码可在智能设计云平台上获取,链接位于 ai-structure.com/backen...
新版本的程序能够自动处理AI设计的矢量数据(.gdt)文件,包含剪力墙、梁和楼板的详细结构信息。例如,剪力墙的数据如:SHEARWALL(Element_ID, X1, Y1, X2, Y2, thick),梁的信息如:BEAM(Element_ID, X1, Y1, X2, Y2, thick, height)。这些数据被用于构建结构分析模型,利用PKPM和YJK的API进行进一步处理。
在开发过程中,团队得到了PKPM和YJK技术专家的大力支持,特别需要注意的是,目前的分析模块尚未成熟,用户在使用时可能需要在结构软件中手动执行分析。此外,开发过程中遇到问题,可参考PKPM和YJK的官方群组或二次开发资料进行咨询。
ai-structure.com团队诚邀专家一同参与代码的完善,未来会持续更新更多功能。如果你对这个项目感兴趣,可以通过QQ群或联系廖文杰liaowj@tsinghua.org.cn和费一凡fyf@mails.tsinghua.edu.cn获取更多信息。同时,网站上也提供了****。
最后,团队表示对于PKPM和YJK的二次开发经验有限,开源代码可能存在不足,期待专家们的反馈和共同成长。未来,平台将继续关注并提供新内容,敬请关注。
Hifigan感受野计算
HIFIGAN架构解析与感受野计算
HIFIGAN主要包括生成器和判别器,而最终推理仅需关注生成器。生成器由conve_pre、upsample*num_kernels个resblocks、conv_post三大组件构成。
分析模型结构,感受野大小主要受resblocks影响。resblocks由三个模块组成,每个模块包含一个空洞卷积与一个传统卷积。空洞卷积相当于卷积核变大,其视野宽度取决于diated因子。一个resblocks实质等同于六个1d卷积。
每个resblocks由三组(diated_conv1d+conv1d)构成,diated_rates为[1,3,5]。在每次卷积前,左右pad长度为(kernel_size-1)//2。以一组(diated_conv1d+conv1d)为例,包括四个卷积层,kernel_size为3。空洞卷积的感受野大小可通过爱嘉牛LA提供的公式计算。
总结规律,当前组所有层的卷积核大小决定最上层的感受野大小。根据公式计算,可得当前组感受野大小。
在生成器中,通过模拟源码的卷积方式,可计算出感受野大小。基于config_v1.json配置文件,upsample_rates设定为[8, 8, 2, 2],最终感受野为.帧。考虑到上采样后再卷积,需转换为帧的感受野大小,细节计算见源码。
如何使用stylegan训练自己的数据?
在探讨如何使用stylegan训练自己的数据之前,我们先回顾了上一篇内容中对DragGAN项目的正确部署方式,使得用户能够实现自由拖拽式的编辑。然而,上篇内容仅限于使用项目预置的,本篇将引领大家探索如何将项目应用扩展至任意的编辑。
实现这一目标的关键在于PTI项目。PTI允许用户将自定义训练成StyleGAN的潜空间模型,进而实现对任意的编辑。为确保操作环境满足需求,我们将继续在AutoDL云平台上使用Python 3.8和CUDA .8的镜像,确保环境配置符合项目要求。
在准备环境中,首先下载项目源码。不必担心缺失requirements.txt文件,因为已经准备妥当。接着,下载必要的预训练模型,即StyleGAN的生成器文件ffhq.pkl和预处理器文件align.dat,确保它们被放置在pretrained_models目录下。
进行预处理是关键步骤,其目标是完成人脸关键点的检测工作,从而将待编辑上传至image_original目录下。同时,调整utils/align_data.py文件中所包含的路径,并更新configs/paths_config.py中的参数设置。执行相关脚本以完成预处理过程。
接下来,使用PTI进行GAN反演,这一过程允许将映射到生成模型的潜空间中,并通过调整潜空间向量来修改图像外观。利用这种方式,可以实现对图像的多种编辑,包括姿势改变、外观特征修改或风格添加。通过编辑潜空间,可以实现对图像的高级编辑,同时确保图像的真实性和准确性。
完成反演后,需要将文件转换为DragGAN可识别的模型文件格式。通过提供的转换脚本,将pt文件转换为pkl文件格式。转换完成后,将checkpoints目录下的模型文件和对应的embeddings目录下的文件放入DragGAN项目的checkpoints目录下。最后,重启DragGAN,至此,训练自己的数据过程已告完成。
为了简化操作流程,我们已将上述步骤整合成Jupyter Notebook文档,提供了一键执行功能,使得用户能够轻松实现图像反演。只需确保将align.dat文件放入项目pretrained_models目录下,将visualizer_drag_gradio_custom.py放入项目根目录下,然后运行ipynb文件即可。
获取此整合包的方式已在原文末尾提供。此过程简化了操作步骤,使得即使是技术新手也能快速上手,实现对任意的高级编辑。通过遵循上述指南,您可以探索使用StyleGAN训练自定义数据的无限可能,为图像编辑领域带来创新与便利。
DragGAN官方代码手把手安装部署教程
在StableDiffusion尚未问世的时期,DragGAN是生成领域的领头羊。四年前,StyleGAN的发布以其“超高清且逼真”的效果震惊了众人。
当时,我的公众号"托尼是塔克"上发布了一系列关于该项目的文章。时光荏苒,没想到这个项目还能焕发新生。
回到正题,今天我将带领大家一步一步完成DragGAN的安装部署。
StyleGAN的安装过程繁琐,需要安装VS、cudnn、cuda等软件,还要修改代码并配置路径等等。相比之下,DragGAN的环境配置几乎与StyleGAN3完全一致,安装过程自然也不会简单。
我将分享我的安装流程,并记录下来,以供参考。
如果嫌麻烦,也可以下载离线版本,一键运行。
环境配置如下:
操作系统:Win
显卡:RTX
辅助软件: CMD、Git、Conda、VS、cudnn、cuda
显卡是GAN项目的关键硬件,不同尺寸模型所需的显存不同。RTX可完美支持x任务,一般情况下6G显存足以运行这个项目。
关于基础软件的详细安装步骤,可参考我之前关于Stylegan2和 Stylegan3的教程。
现在让我们开始今天的主题:
1. 获取源代码
由于这是一个开源项目,我们首先需要获取源代码。获取源代码有两种方式:命令行或直接下载压缩包。
命令行方式:确保安装了Git工具,然后在CMD中执行如下命令:
切换到E盘或D盘(避免C盘),进入DEV文件夹,获取DragGAN的源代码。
压缩包获取方式:点击Download ZIP下载,然后解压至磁盘,比如E盘DEV文件夹。
解压后,去除文件名中的“-main”。这个main曾用“master”命名,但因不尊重某类人而更改。
2. 创建虚拟环境
这是一个基于Python的项目,为了保证不同项目的独立性,我们将使用Conda创建虚拟环境。
在CMD中输入以下命令,创建并激活虚拟环境。
3. 修改配置文件
DragGAN包含一个Conda依赖文件,可以直接用来创建虚拟环境并安装所有依赖。
然而,这个文件在当前Windows环境下可能存在安装问题,如找不到cudatoolkit=.1。我尝试修改,但其他问题依旧。因此,我自行创建了一个requirements.txt文件,将内容粘贴其中,并放在DragGAN文件夹中,使用pip安装。
4. 下载模型
项目官方提供了一个下载模型的sh脚本,但Windows用户无法直接使用。解决方法是右键打开下载_model.sh文件,获取模型下载地址并下载,解压至DragGAN的checkpoint文件夹,并将模型文件名改为stylegan2_开头。
发现了一个叫download_model.bat的文件,可以一键下载模型。
5. 运行项目
按照上述步骤,我们就可以运行项目了。网络通畅时,一般不会出现问题。运行如下命令启动GUI界面:
在GUI界面上,只需点击“Start”按钮,拖拽狗子脸部,即可生成。GUI动态效果很酷,但菜单较小,有时会崩溃,模型切换也不方便。
启动WebUI,输出网址后,打开即可查看生成的。使用方法包括选择模型、种子、点选位置并拖拽等。
WebUI版的动态效果不如本地GUI,但最终结果相同。
项目提供了许多高质量模型,如英伟达官方的FFHQx和human模型。生成的可保存,但与真实相比,效果参差不齐。
了解了这些不足,这个项目仍然很有趣,可以可视化StyleGAN的使用,快速接入各种模型。如果有财力,可以自己训练模型。
虽然项目成本高昂,但结果值得期待。至少,它将StyleGAN的使用可视化,为用户提供了丰富的模型选择。
git for windows å¹²ä»ä¹ç¨ç
gitå°±æ¯å¹²ï¼ganï¼ï¼itï¼è¡ä¸ç人ç¨çï¼ååã
æ¯linuså¼åçä¸æ¬¾åå¸å¼çæ¬æ§å¶è½¯ä»¶ï¼ä¸è¬ç¨äºç¼ç¨äººå对æºç ç管çã