【手把手教程】无限场景风格LoRA与固定人物LoRA的融合-酷蛙FaceChain0826周记(GitHub已4K Star!)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 酷蛙FaceChain项目计划后续联合社区的力量不断打磨该开源项目,解锁更多高阶玩法(比如人物表情包、人物连环画故事、虚拟试衣间……),并进行更深层次的算法创新,发表相应顶会论文。


效果展示

本周已解锁无限场景风格与固定人物的融合,先看效果:


以上风格LoRA分别为:户外花园婚纱、冬季雪景汉服、火焰女神、仙侠风



环境准备

在魔搭平台https://modelscope.cn/my/mynotebook/preset中选择PAI-DSW-GPU环境

进入后打开terminal环境,先检查显存需要20G左右(nvidia-smi),然后下载核心文件。

GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/modelscope/facechain.git


以下进入正题


固定人物LoRA训练


1、在facechain文件夹下新建文件夹 imgs,将需要训练的人脸照片放入该文件夹

2、人物LoRA训练

然后在terminal中运行以下代码启动训练

PYTHONPATH=. CUDA_VISIBLE_DEVICES="0" sh train_lora.sh "ly261666/cv_portrait_model" "v2.0" "film/film" "./imgs" "./processed" "./output"



风格LoRA替换


1、上传风格LoRA文件并修改参数

风格来源:https://www.liblibai.com/modelinfo/dcf7498c994b4ffc8f1c61aec06dcc62,主要迁移其户外花团锦簇风格,重新取名wedding


2、修改constants.py文件

主要修改文件名为新上传的风格文件,并在prompt增加wedding dress相关内容。

styles = [
    {'name': '默认风格(default style)'},
    {'name': '凤冠霞帔(Chinese traditional gorgeous suit)',
     'model_id': 'ly261666/civitai_xiapei_lora',
     'revision': 'v1.0.0',
     'bin_file': 'xiapei.safetensors',
     'multiplier_style': 0.35,
     'cloth_name': '汉服风(hanfu)',
     'add_prompt_style': 'red, hanfu, tiara, crown, '},
    {'name': '婚纱(wedding)',
     'model_id': 'ly261666/civitai_xiapei_lora',
     'revision': 'v1.0.0',
     'bin_file': 'wedding.safetensors',
     'multiplier_style': 0.35,
     'cloth_name': '婚纱(wedding)',
     'add_prompt_style': 'bride wearing a white wedding dress,simple and elegant style, <lora:outdoor photo_20230819231754:0.6> --ar 3:4'},
]


3、修改run_inference.py关键参数

修改风格文件夹路径,use_style改为true,顺序编号顺延为2

use_main_model = True
use_face_swap = True
use_post_process = True # 可改为False则不控制数量
use_stylization = False
processed_dir = './processed'
num_generate = 5
base_model = 'ly261666/cv_portrait_model'
revision = 'v2.0'
multiplier_style = 0.25
base_model_sub_dir = 'film/film'
train_output_dir = './output'
output_dir = './generated'
use_style = True
if not use_style:
    style_model_path = None
    pos_prompt = generate_pos_prompt(styles[0]['name'], cloth_prompt[0]['prompt'])
else:
    model_dir =  '/mnt/workspace/wedding'
    style_model_path = os.path.join(model_dir, styles[2]['bin_file'])
    pos_prompt = generate_pos_prompt(styles[2]['name'], styles[2]['add_prompt_style'])  # style has its own prompt
gen_portrait = GenPortrait(pos_prompt, neg_prompt, style_model_path, multiplier_style, use_main_model,
                           use_face_swap, use_post_process,
                           use_stylization)
outputs = gen_portrait(processed_dir, num_generate, base_model,
                       train_output_dir, base_model_sub_dir, revision)
os.makedirs(output_dir, exist_ok=True)
for i, out_tmp in enumerate(outputs):
    cv2.imwrite(os.path.join(output_dir, f'{i}.png'), out_tmp)



LoRA融合后推理出图


直接在terminal中运行:

export CUDA_VISIBLE_DEVICES=0
python run_inference.py

固定人脸+迁移的户外花团锦簇风格+prompt控制的婚纱=婚纱户外写真


附录

1、项目地址:

GitHub:https://github.com/modelscope/facechain(觉得有用的话记得点Star~)


魔搭平台创空间体验:https://modelscope.cn/studios/CVstudio/cv_human_portrait/summary


HuggingFace Space:https://huggingface.co/spaces/modelscope/FaceChain


2、原理讲解图文及视频讲解

图文版:3张照片打造专属形象!酷蛙FaceChain解密个人写真开源项目,人人AIGC!


4分钟视频讲解版:

https://developer.aliyun.com/live/252611?spm=a2c6h.13262185.profile.156.5186349clYRXxx


3、上期周报

酷蛙FaceChain开源项目迭代周记2023-08-19


4、全球开发者招募

酷蛙FaceChain项目计划后续联合社区的力量不断打磨该开源项目,解锁更多高阶玩法(比如人物表情包、人物连环画故事、虚拟试衣间……),并进行更深层次的算法创新,发表相应顶会论文。如果你对该开源项目感兴趣,对该开源项目的未来有憧憬与信仰,欢迎加入~


报名链接!

https://www.yuque.com/forms/share/5892d145-99c3-406c-8785-13dcb50353b8

相关文章
|
7月前
|
SQL 监控 Java
Github Star 36.2K 的开源低代码平台推荐 —JeecgBoot
低代码的含义是少写代码并不是不写代码,面向的用户群体还是编程人员,传统的快速开发平台、在线开发平台、OA办公系统 都可以称为低代码平台,那他是怎么帮助你少写代码的呢,往下看!
352 0
|
2月前
|
开发者 Python
新手困扰?该如何了解github的热门趋势和star排行?
新手困扰?该如何了解github的热门趋势和star排行?
|
2月前
|
NoSQL 关系型数据库 MySQL
『GitHub项目圈选03』Star 4.9k! 很全的一款适合开发人员的在线工具集
『GitHub项目圈选03』Star 4.9k! 很全的一款适合开发人员的在线工具集
|
2月前
|
机器学习/深度学习 JSON 自然语言处理
新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star
新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star
|
7月前
|
Java 程序员
GitHub开源2小时Star破10万,阿里Java高并发集合手册终是被公开
对Java技术人员来说,我们对学习技术的态度不能只是“知其然”,更要做到“知其所以然”。如果要真正理解一项技术,分析源码是最直观且最有效的方式。虽然在我们的技术体系中JCF和JUC的知识可能还不到10%,但是我们工作中80%的场景都离不开它们。根据2/8法则,我们有充分的理由好好吃透JCF和JUC,如果你还没有准备好,那么这份文档可以给你这个机会
|
8月前
|
算法
大厂刷题实录:GitHub上获79w+ star,谷歌师兄的算法刷题笔记火了
最近一位谷歌大牛当时为了应对校招刷了几百道算法题,整理的LeetCode刷题笔记火了! 总结了他对校招算法刷题的心得+经验,整理出了这份在GitHub上火爆的LeetCode刷题笔记
|
9月前
|
算法 搜索推荐 C++
“他”靠这份GitHub star过万的1121页图解算法成功杀进字节跳动
和他交流了一下他的学习心得,发现他看的资料也是我之前推荐过的算法进阶指南,这里推荐给大家,github star 可是过万哦!质量非常高! 这份算法笔记与其他的不同,均是用图解,gif 的方式来针对常见的题型进行详细的说明,非常的浅显易懂!有了这份笔记的总结,对校招和社招的算法刷题帮助之大不言而喻,果断收藏了 简单介绍一下这份笔记 比如判断环的入口位置,画了一张图,配以简单的文字描述让大家看完瞬间豁然开朗!
|
10月前
|
设计模式 Java 程序员
GitHub发布即百万!字节内网超实用Java性能优化手册,star超十万
在开发任何Java应用的时候,我们都会谈及optimization——优化的概念。作为一个开发者,我们应该尽可能地保证自己写的代码干净、没有缺陷,并且尽可能地考虑性能问题。 我们开发一个应用程序并且期望获得尽可能好的性能并不是一件容易的事情。但是,即使你不是性能调优专家,也可以采取一些简单的方法来提高性能为了帮各位粉丝朋友更快的上手java性能优化,小编我就就把自己看的书一本非常实用的书分享出来,来供大家参考下 !
大厂刷题实录:GitHub上获79w+ star,谷歌师兄开源的刷题笔记火了
最近一位谷歌大牛当时为了应对校招刷了几百道算法题,整理的LeetCode刷题笔记火了! 总结了他对校招算法刷题的心得+经验,整理出了这份在GitHub上火爆的LeetCode刷题笔记