当前位置: 首页 > news >正文

深度学习与图像修复:ADetailer插件在Stable Diffusion中的应用

文章目录

  • 引言
  • ADetailer插件介绍
    • 插件安装
    • 常用模型
    • 控制提示词
    • 参数配置
      • 参数详解
    • 实践建议
  • 示例
  • 插件的对比:
      • 1. ADetailer插件
      • 2. Photoshop插件(如Nik Collection)
      • 3. GIMP插件(如G'MIC)
      • 4. Affinity Photo插件
  • 结语

引言

无论是专业设计师还是普通用户,都可能在处理图像时遇到一些棘手的问题。你是否也遇到过这样的困扰:图像中的某些部分不够精细,或者面部特征处理得不够完美?比如这样:
在这里插入图片描述
或者,这样?
在这里插入图片描述
在我们之前,对于图像控制来说,我们可以把它发送到图生图当中局部重绘,扩大它局部的,但是类似于上述的情况,你愿意花几个小时或更多的时间,对每一个面部进行重绘么,当时,是不可能的,这种方法不仅效率低下,而且对于非专业人士来说,难度也相当大。但现在,我们可以尝试一种全新的解决方案。
在这里插入图片描述
正向提示词:

1gril,
(masterpiece,hyper extreme detailed:1.2),A girl is taking a selfie while surrounded by a group of men who have a gang-like appearance. The girl is holding her phone or camera at arm's length,posing for a picture of herself. She is surrounded by a group of men who are dressed in clothing that is typical of a street gang or organized crime group. They may be wearing baggy pants,bandanas,or other accessories that are associated with gangs. The men are standing around the girl,either as a protective circle or in a menacing manner. It is unclear what the relationship is between the girl and the men,or why they are all together in this situation.,

反向词:

(worst quality, low quality:1.4),(depth of field, blurry:1.2),(greyscale, monochrome:1.1),3D face,cropped,lowres,text,(nsfw:1.3),(worst quality:2),(low quality:2),(normal quality:2),normal quality,((grayscale)),skin spots,acnes,skin blemishes,age spot,(ugly:1.331),(duplicate:1.331),(morbid:1.21),(mutilated:1.21),(tranny:1.331),mutated hands,(poorly drawn hands:1.5),blurry,(bad anatomy:1.21),(bad proportions:1.331),extra limbs,(disfigured:1.331),(missing arms:1.331),(extra legs:1.331),(fused fingers:1.61051),(too many fingers:1.61051),(unclear eyes:1.331),lowers,bad hands,missing fingers,extra digit,bad hands,missing fingers,(((extra arms and legs)))

这里,需要向大家介绍一个在好易智算平台以及集成好的插件
在这里插入图片描述
首先,我们来介绍一下好易智算平台,在注册界面进行注册,就可以体验极致的配置体验
首先的话点击链接进行注册
在这里插入图片描述

注册完成后,你将可以享受到极致的配置体验。平台界面简洁明了,操作便捷,让你轻松上手。从应用市场进去之后,可以看到有非常多的AI应用,它整合了多个AI应用程序——应用即达,AI轻启。这样的便捷性使得访问和使用这些先进技术变得前所未有地简单快捷。
在这里插入图片描述

只需要在Stable Diffusion中开启ADetailer插件,在生成的过程中,就会自动识别并进行重绘:
在这里插入图片描述

ADetailer插件介绍

插件安装

我们可以在这里进行下载,https://github.com/Bing-su/adetailer.git
在这里插入图片描述
After Detailer插件的主界面设计简洁直观,为用户提供了便捷的操作体验。该插件具备强大的多通道处理能力,能够同时在一张照片中对脸部、手部等多个区域进行精细修复,极大地提升了图片处理的效率和灵活性。
在这里插入图片描述

启用After Detailer,只需轻轻一勾,即可轻松开启您的图片修复之旅。在模型选择方面,After Detailer提供了丰富多样的模型选项,以满足不同场景下的修复需求。尤其是脸部修复功能,其效果堪称完美,赢得了用户的一致好评。

此外,若您在插件中未找到所需模型,可以访问huggingface网站进行下载,网址为:https://huggingface.co/Bingsu/adetailer/tree/main。

常用模型

首先我们先来看看它的一些常用模型:
在这里插入图片描述


Stable Diffusion的ADetailer插件是一套专门用于图像检测和细节增强的工具。以下是该插件支持的不同检测目标及其对应的模型和推荐情况:

  • 人物面部检测
    • 模型名称:face_yolov8n
    • 类型差异:低强度
    • 推荐:👍👍👍(强烈推荐)
  • 人物整体检测
    • 模型名称:person_yolov8n-seg
    • 类型差异:中强度
    • 推荐:👍👍👍(强烈推荐)
  • 人物手部检测
    • 模型名称:hand_yolov8n
    • 类型差异:高强度
    • 推荐:👍(一般推荐)
  • 画面整体(语义分割)
    • 模型名称:semantic_yolov8n
    • 类型差异:脸部全面点检测、脸部点检测、脸部网格检测
    • 推荐:无(暂无推荐) ADetailer插件通过这些模型,能够对图像中的特定目标进行精确检测,并根据不同的需求选择合适的强度进行细节增强,从而提高图像质量和视觉效果。

其实我们对于单人,也会有很好的识别能力
在这里插入图片描述

控制提示词

不仅如此,我们还可以控制提示词进行自动修饰
在这里插入图片描述
表情就会进行变化
在这里插入图片描述

参数配置

提示词下面,我们可以注意到这几个关键参数:
在这里插入图片描述

  1. 检测模型置信阈值:这个参数用于控制检测模型的置信度。数值越高,检测效果越差,可能导致面部无法被检测到;数值越低,检测能力越强,但可能会错误地将非面部区域识别为面部。通常情况下,单个人物的检测可以设定为0.3左右,如果要检测多个人的面部,需要提高数值。
  2. 仅处理最大的前k个蒙版区域:这个设置决定了插件在处理图像时,只关注最大的k个蒙版区域。如果设置为0,则禁用此功能。这个参数可以根据需要处理的图像特点进行调整,例如,如果图像中只有一个主要人物,则可以设置为1。
  3. 蒙版区域最小比率蒙版区域最大比率:这两个参数用于控制蒙版区域的大小。当蒙版面积太大时,可能会修改到非脸部的部分。通过调整这两个参数,可以确保只处理特定大小的面部区域,从而避免对非面部区域的错误处理。

还有蒙版处理的一些内容:
在这里插入图片描述

在Stable Diffusion的ADetailer插件中,蒙版处理的相关参数如下:

  1. 蒙版 X 轴 (→) 偏移:这个参数允许用户在水平方向上调整蒙版的位置。通过增加或减少X轴的值,可以手动控制蒙版在图像中的左右位置。
  2. 蒙版图像腐蚀 (-) / 蒙版图像膨胀 (+):这个功能用于调整蒙版的尺寸。腐蚀操作会缩小蒙版的大小,而膨胀操作则会增大蒙版的大小。这些操作有助于更精确地控制修复或处理的具体区域。
  3. 蒙版 Y 轴 (↑) 偏移:与X轴偏移类似,这个参数用于在垂直方向上调整蒙版的位置。通过调整Y轴的值,可以控制蒙版在图像中的上下位置。
  4. 蒙版合并模式:这个设置决定了不同的蒙版如何合并在一起。具体来说,它影响了多个蒙版区域在处理时的相互作用方式,例如是否合并、叠加或是其他方式。

这些参数的具体调整和使用,可以在ADetailer插件的设置中进行。通过这些设置,尤其是在进行面部修复或其他特定区域的图像处理时,可以更精细地控制图像处理的过程和结果
在这里插入图片描述

除此之外,这个插件还有一个核心功能,就是重绘:
在这里插入图片描述
ADetailer插件主要应用于图像的细节增强、降噪和修复,特别适用于面部瑕疵如痘痘、皱纹、色斑等的修复。它提供了高效的处理速度和精细的调整能力,因此在人脸修复方面受到用户的青睐。

参数详解

  • 重绘蒙版边缘模糊度:设置蒙版边缘的模糊程度,数值越高,边缘越模糊。
  • 局部重绘幅度:控制重绘区域的变化幅度。
  • 仅重绘蒙版内容:勾选后,只对蒙版区域进行重绘。
  • 仅重绘蒙版区域边缘预留像素:设置蒙版边缘预留的像素数量。
  • 使用独立重绘宽高:允许单独设置重绘区域的宽度和高度。
  • 使用独立迭代步数:允许单独设置ADetailer的迭代步数。
  • 使用独立的提示词引导系数:允许单独设置提示词的引导系数。
  • After Detailer 使用的 SD 模型:选择ADetailer使用的特定Stable Diffusion模型。
  • 使用独立 VAE:允许单独设置ADetailer使用的VAE(变分自编码器)。
  • 使用独立采样方法:允许单独设置ADetailer的采样方法。

实践建议

  • 在使用ADetailer进行人脸修复时,建议先对整体图片进行全局调整,如色彩、对比度等。
  • 确保选区的准确性,可以使用放大功能对细节部分进行精细调整。
  • 在调整参数时,建议从较小的数值开始尝试,逐步增加,以观察效果变化。
    在这里插入图片描述
    正向提示词:
Two people are talking next to the campfire, one is a young female elf archer, (the female elf has a moon tattoo on her forehead: 1.4), and the other is a human mage, (the human mage holds a spell book in his hand: 1.2), 3D realism ,

示例

我们在好易智算平台中打开Stable Diffusion的应用
在这里插入图片描述
通过好易智算平台提供的便捷性,用户能够轻松访问集成化的AI应用服务,其中包括Stable Diffusion的ADetailer插件。这一平台的设计初衷是简化AI技术的应用过程,实现了无需部署、一键启动的智能体验。它不仅降低了技术门槛,还大幅提高了工作效率,让用户可以专注于核心业务,而不被繁琐的技术细节所困扰。通过集成ADetailer插件,用户可以享受到更高效的图像修复体验,特别是在处理包含多个面部和手部的复杂图像时,ADetailer能够自动识别并修复这些关键区域,极大地简化了工作流程,提升了整体的工作效率。

我们首先可以生成一张超写实风格的图片
在这里插入图片描述
在Stable Diffusion的提示词下面菜单栏中,找到我们想要的ADetailer插件,点击启用
在这里插入图片描述
然后再进行相关参数的调节,以上就是After Detailer插件的全部介绍了,修复画面中脸部扭曲问题的关键在于放大局部区域进行重绘,而ADetailer插件可以轻松帮我们实现这个过程中脸部检测、添加蒙版和局部重绘的三个步骤。

插件的对比:

1. ADetailer插件

特点:

  • 功能定位:专注于图像细节增强、降噪和修复,特别擅长面部和手部等关键区域的修复。
  • 技术优势:利用深度学习技术,自动识别并修复图像中的特定区域。
  • 操作体验:提供丰富的参数设置,用户可以根据需要调整修复效果。
  • 应用场景:适用于图像修复、医学影像、遥感图像处理等多个领域。

2. Photoshop插件(如Nik Collection)

特点:

  • 功能定位:提供广泛的图像编辑功能,包括色彩校正、特效添加、降噪等。
  • 技术优势:作为Photoshop的一部分,可以与其他Photoshop工具和功能无缝集成。
  • 操作体验:用户界面成熟,适合专业设计师使用。
  • 应用场景:主要用于专业图像编辑和创意设计。
    对比:
  • 自动化程度:ADetailer更侧重于自动化的细节修复,而Nik Collection则需要更多手动操作。
  • 专业程度:Photoshop插件通常更受专业设计师的青睐,而ADetailer则更适合快速、批量处理。

3. GIMP插件(如G’MIC)

特点:

  • 功能定位:提供多样的图像处理效果,包括艺术滤镜、图像修复、颜色调整等。
  • 技术优势:开源且免费,社区支持强大。
  • 操作体验:用户界面相对简单,适合初学者和中级用户。
  • 应用场景:适用于个人和小型企业的图像处理需求。
    对比:
  • 专业性:ADetailer在特定领域的专业性(如面部修复)更强,而G’MIC则更全面但专业性稍逊。
  • 易用性:G’MIC因为是开源软件,可能在用户支持和文档方面更丰富。

4. Affinity Photo插件

特点:

  • 功能定位:提供专业的图像编辑功能,包括图层编辑、矢量图形处理、HDR合成等。
  • 技术优势:性能强大,支持多平台使用。
  • 操作体验:用户界面直观,适合专业摄影师和设计师。
  • 应用场景:适用于专业级的图像编辑和创意设计。
    对比:
  • 集成度:Affinity Photo插件更像是完整的图像编辑解决方案,而ADetailer则专注于细节处理。
  • 价格:Affinity Photo插件作为付费软件,可能在价格上不如免费的ADetailer插件有优势。
    在这里插入图片描述
    ADetailer插件是Stable Diffusion的一个强大插件,专门用于图像的细节处理,包括细节增强、降噪和修复等功能。它在人脸修复方面表现出色,能够快速定位并修复面部瑕疵,如痘痘、皱纹、色斑等。ADetailer插件通过深度学习和图像处理技术,对Stable Diffusion生成的图像进行细节修复,使其更加逼真、细腻。此外,它还提供了丰富的接口和API,方便与其他图像处理库和框架进行集成和扩展。

与其它图像处理工具相比,ADetailer插件的优势在于其高效的处理速度和精细的调整能力。它特别适用于处理包含多个面部和手部的复杂图像,能够自动识别并修复这些关键区域,极大地简化了工作流程,提升了整体的工作效率。

结语

通过以上介绍,相信大家对ADetailer插件的使用有了更加深入的了解。这款插件无疑为图像处理领域带来了革命性的变革,特别是对于面部修复和细节增强方面,其强大的功能和便捷的操作体验,让图像处理变得更加高效和精准。
在使用ADetailer插件时,以下几点建议可供参考:

  1. 合理选择模型:根据不同的图像处理需求,选择合适的检测模型,以达到最佳的处理效果。
  2. 细心调整参数:参数的调整是影响修复效果的关键因素,要耐心尝试,找到最适合当前图像的参数设置。
  3. 充分利用提示词:通过控制提示词,可以实现对图像局部区域的精细调整,使修复效果更加符合预期。
  4. 实践与总结:在实际操作过程中,不断积累经验,总结出适合自己的处理技巧。
  5. 创新应用:积极探索ADetailer插件在其他领域的应用,如摄影、影视后期等,为创作带来更多可能性。
    在这里插入图片描述

最后,感谢好易智算平台为我们提供如此便捷的AI应用服务,让我们能够轻松驾驭先进技术,创造出更多优质的作品。在未来,随着AI技术的不断进步,相信还会有更多像ADetailer这样的优秀工具问世,为我们的生活和工作带来更多便利。让我们一起期待,共同探索AI技术的无限可能!

相关文章:

深度学习与图像修复:ADetailer插件在Stable Diffusion中的应用

文章目录 引言ADetailer插件介绍插件安装常用模型控制提示词参数配置参数详解 实践建议 示例插件的对比:1. ADetailer插件2. Photoshop插件(如Nik Collection)3. GIMP插件(如GMIC)4. Affinity Photo插件 结语 引言 无…...

【Pytorch】topk函数

topk 是 PyTorch 中的一个函数,用于从张量中选取最大(或最小)的 k 个元素及其对应的索引。其定义如下: values, indices torch.topk(input, k, dimNone, largestTrue, sortedTrue, *, outNone)参数说明 input (Tensor): 输入张…...

使用mybatis注解和xml映射执行javaWeb中增删改查等操作

Mapper接口 使用注解执行SQL语句操作和相应的Java抽象类(对于简单的增删改查使用注解) Mapper public interface EmpMapper {// 根据id删除员工信息Delete("delete from mybatis.emp where id#{id}")public int EmpDelete(Integer id);// 查…...

SpringBoot3 响应式编程

Spring Boot 3 中的响应式编程是一个重要的特性,它允许开发者构建非阻塞、异步和基于事件的应用程序,这对于处理高并发和实时数据流的应用场景尤为重要。以下是对Spring Boot 3响应式编程的详细解析: 一、响应式编程概述 响应式编程是一种编…...

【C++ 面试 - 基础题】每日 3 题(二)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...

Modelica建模,Modelica语言的学习,技术调研工作

Modelica建模,Modelica语言的学习,技术调研工作 参考资料: 苏州同元软控信息技术有限公司 - 同元 Modelica 再探冷却 modelica学习-CSDN博客 1、 Modelica简介 Modelica是由Modelica协会维护、免费开放的物理系统面向对象的统一建模语言规…...

Oracle数据字典之——v$lock 和v$locked_object

v$lock视图 v$lock视图列出当前系统持有的或正在申请的所有锁的情况,其主要字段说明如下: 11g如下: 字段名称类型说明ADDRRAW(8)锁定状态对象的地址KADDRRAW(8)锁的地址SIDNUMBER会话(SESSION)标识;TYPE…...

solidity 以太坊(Ether) 单位(很基础)

一个字面常数可以带一个后缀 wei, gwei 或 ether 来指定一个以太坊的数量, 其中没有后缀的以太数字被认为单位是wei。 在以太坊和许多其他基于以太坊的区块链系统中,以太币(Ether)是网络中的主要加密货币。 以太可以被…...

关于elementUI 分页 table 使用 toggleRowSelection

我出现问题的前提 在table表格第一页全选 ,第二页全选 回到第一页 点击按钮 取消 第一页,第二页我不要的勾选 初始实现 this.selectedPeraonal是表格 selection-change方法返回的值 handleSelectionChange(val) {this.selectedPeraonal val || []…...

K8s部署RocketMQ

准备工作 我是win电脑,本地安装了Podman,并使用Kind创建了一个K8s本地环境,并在 win 电脑上安装了 Helm。 部署RocketMQ 1. add rocketmq helm repo 2. deploy rocketmq cluster 3. verify the rocketmq cluster 4. Create Topic by api a…...

Linux服务管理-Nginx配置

静态解析主要解析html、css动态解析需要解析php 动态资源通过轮询分配到后端的Apache服务器处理 apache是同步阻塞,nginx是异步非阻塞...

C语言典型例题31

《C程序设计教程(第四版)——谭浩强》 习题2.8 请编写程序将China译为密码,密码的规律是:用原来字母后面的第4个字母代替原来的字母。 例如:C后面的4个字母是G,h后面第4个字母为l 代码: //《C程序设计教程…...

FFMPEG 工具方法

av_strerror int av_strerror ( int errnum, char * errbuf, size_t errbuf_size )ffmpeg获取与设置mp4文件旋转方向方法 设置与获取都是对AVStream的dict操作. 设置 for (i 0; i < ifmt_ctx_v->nb_streams; i) { //Create output AVStream according to input A…...

Qt QML 使用QPainterPath绘制弧形曲线和弧形文本

Qt并没有相关api直接绘制弧形文字&#xff0c;但提供了曲线绘制相关类&#xff0c;所以只能另辟蹊径&#xff0c;使用QPainterPath先生成曲线&#xff0c;然后通过曲线上的点来定位每个文字并draw出来。 QML具体做法为从QQuickPaintedItem继承&#xff0c;在派生类中实现paint…...

VMware虚拟机和Docker的备份与恢复

目录 1. VMware虚拟机的快照备份 1.1 VMware本机的快照备份 1.2 VMware快照备份到另一电脑 2. Docker知识点 2.1 Docker镜像和容器的关系 2.2 Docker的存储卷 2.3 Docker命令简介 2.4 删除Anylink镜像 3. Docker备份和恢复 3.1 确定要回滚的容器和版本 3.2 备份当前…...

新加坡服务器延迟大吗?如何进行优化

新加坡服务器延迟大吗&#xff1f;新加坡服务器的延迟通常在全国平均延迟111ms左右&#xff0c;其中移动网络约为90ms&#xff0c;联通网络106ms&#xff0c;电信网络最低约为85ms。为了进行优化&#xff0c;一般可以采取使用CDN、优化路由线路、增加带宽和服务器升级等方法。 …...

uniapp——列表图片加载太多且空间占用太大的处理方法(降低清晰度)

解决方法 列表默认显示的降低清晰度&#xff0c;预览图片的时候加载原图。 如果图片是上传到阿里云的OSS上&#xff0c;可以快速获取图片缩略图的方法 直接在后端返回的URL后面拼接字符串&#xff1a; XXX.png?x-oss-process 缩略图方法介绍&#xff1a; ?x-oss-proces…...

spring+SSM+Mybatis面试题(上)(30道)

目录 1. 何为Spring Bean容器?Spring Bean容器与Spring IOC 容器有什么不同吗?2. Spring IOC 如何理解?3. Spring DI 如何理解?4. Spring 中基于注解如何配置对象作用域?以及如何配置延迟加载机制?1.配置作用域需要注解Scope(“Singleton”)2.开启延迟加载&#xff1a;La…...

odoo17 翻译一个小bug

odoo17 翻译一个小bug 用户界面的没译过来 标红处&#xff0c;但在zh_CN.po中明显已经翻译过来了&#xff0c;采取暴力点的&#xff0c;直接把base下的base.pot删除&#xff0c;再更新一下&#xff0c;可以正常显示了...

sqli-labs-php7-master第5-10关

第五关&#xff1a; 根据提示输入ID,随便来个一 输入100&#xff0c;因为数据库没有&#xff0c;所以这里没输出内容 还是先找注入点&#xff1a;输入单引号试试 注入点找到了‘ 查询数据库列数&#xff1b;&#xff1f;id1 order by 4 -- 测试发现order by 3时页面正常&…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving

地址&#xff1a;LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂&#xff0c;正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...

spring Security对RBAC及其ABAC的支持使用

RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型&#xff0c;它将权限分配给角色&#xff0c;再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染&#xff08;SSR&#xff09;与静态网站生成&#xff08;SSG&#xff09; 框架&#xff0c;由 Vercel 开发。它简化了构建生产级 React 应用的过程&#xff0c;并内置了很多特性&#xff1a; ✅ 文件系…...