首页 > 其他分享 >开源项目FaceFusion-AI换脸

开源项目FaceFusion-AI换脸

时间:2024-09-07 10:54:58浏览次数:9  
标签:视频 AI 面部 FACE 处理 人脸 FaceFusion 换脸

FaceFusion简介

录制了一个简短的说明

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="OQavOwq0-1725323302474" src="https://player.bilibili.com/player.html?aid=113066893182004"></iframe>

facefusion开源项目-视频换脸

FaceFusion是一个开源的AI换脸和增强工具,支持图像和视频处理。它采用最新的深度学习技术,提供了一系列强大的功能,包括人脸替换、人脸增强、唇形同步等。FaceFusion的目标是为用户提供一个易用、高效且功能丰富的AI换脸解决方案。

下面是一个给汉尼拔换脸的示例

在这里插入图片描述

主要特性

  1. 多模型支持:FaceFusion提供多种人脸交换和增强模型,如InSwapper_128、GFPGAN等,用户可根据需求选择最适合的模型。
  2. 高清处理:支持高分辨率图像和视频处理,确保输出结果的清晰度和质量。
  3. 遮挡处理:通过先进的遮挡检测和处理技术,有效解决部分遮挡情况下的换脸问题。
  4. 多平台兼容:支持NVIDIA和AMD等主流显卡平台,满足不同用户的硬件需求。
  5. 唇形同步:提供音频到视频的唇形同步功能,为视频换脸增添更多可能性。
  6. 开源免费:作为开源项目,FaceFusion允许用户自由使用和定制,为AI换脸技术的发展做出贡献。

安装指南

前置:

  1. 需要有python环境,建议使用conda提供的环境(anaconda)
  2. 需要ffmpeg,安装教程 https://blog.csdn.net/yuanmomoya/article/details/141992114

FaceFusion的安装需要一定的技术基础。对于熟悉命令行操作的用户,可以按照以下步骤进行安装:

  1. 克隆FaceFusion仓库:

    git clone https://github.com/facefusion/facefusion.git
    
  2. 进入项目目录:

    cd facefusion
    
  3. 安装依赖:

    pip install -r requirements.txt
    

使用指南

基本操作
  1. 启动FaceFusion

    python run.py
    
  2. 选择源图像:上传包含要替换的人脸的图像。

  3. 选择目标图像或视频:上传需要被替换人脸的图像或视频。

  4. 调整参数:根据需要调整面部检测、交换模型、增强设置等参数。

  5. 开始处理:点击"开始"按钮,等待处理完成。

一般情况可以使用默认的参数来做操作就行,cpu场景下执行速度巨慢

在这里插入图片描述

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="b5kXEISO-1725258001220" src="https://player.bilibili.com/player.html?aid=113066289267626"></iframe>

海ni拔 1

页面的配置参数说明

FaceFusion 中一些配置参数及其作用的详细解释:

  • FRAME PROCESSORS: 这些是处理每一帧的插件,可以用来实现不同的效果如面部交换、面部增强等。
  • FACE SWAPPER MODEL: 选择用于面部交换的模型,不同的模型可能会有不同的性能表现和结果质量。
  • EXECUTION PROVIDERS: 指定用于执行计算的硬件设备,如CPU、CUDA(GPU加速)等。
  • EXECUTION THREAD COUNT: 设置执行线程的数量,这会影响到处理速度以及资源使用情况。
  • EXECUTION QUEUE COUNT: 设定执行队列的数量,这对于并行处理多个任务有用。
  • VIDEO MEMORY STRATEGY: 视频内存管理策略,可能包括如何分配和释放内存。
  • SYSTEM MEMORY LIMIT: 设置系统内存使用的上限,以防止过度消耗内存导致系统不稳定。
  • TEMP FRAME FORMAT: 临时帧存储的格式,这可能影响到临时文件的大小和读写速度。
  • OUTPUT PATH: 输出文件的路径,指定生成的文件保存在哪里。
  • OUTPUT VIDEO ENCODER: 选择视频编码器来决定输出视频的编码方式。
  • OUTPUT VIDEO PRESET: 输出视频的质量预设,通常有快速模式(Fast)、普通模式(Normal)等。
  • OUTPUT VIDEO QUALITY: 输出视频的整体质量设置,可能会影响文件大小和清晰度。
  • OUTPUT VIDEO RESOLUTION: 输出视频的分辨率设置。
  • OUTPUT VIDEO FPS: 输出视频的帧率设置。
  • PREVIEW FRAME: 预览帧设置,可能是指在处理过程中显示的预览帧的数量或者频率。
  • TRIM FRAME START/END: 剪辑开始和结束的帧号,用于裁剪视频的起始和结束部分。
  • FACE SELECTOR MODE: 选择要处理的人脸的方式,例如基于位置、大小等标准。
  • FACE MASK TYPES: 人脸遮罩的类型,用于定义面部区域的精确度。
  • FACE MASK BLUR: 遮罩的模糊程度,这可以帮助平滑边缘。
  • FACE MASK PADDING TOP/RIGHT/BOTTOM/LEFT: 面部遮罩周围的填充量,用于扩大或缩小处理区域。
  • FACE ANALYSER ORDER: 分析脸部特征的顺序,可能涉及到年龄、性别等分析的优先级。
  • FACE ANALYSER AGE/GENDER: 是否启用年龄或性别分析功能。
  • FACE DETECTOR MODEL: 使用哪种模型进行面部检测。
  • FACE DETECTOR SIZE: 面部检测器的工作尺寸,这可能影响检测速度和准确性。
  • FACE DETECTOR SCORE: 面部检测得分阈值,用于过滤掉低质量的面部检测结果。
  • FACE LANDMARKER SCORE: 面部标志点得分阈值,用于确保检测到的标志点足够准确。
高级功能
  1. 遮挡处理
    • 启用face_debugger选项。
    • 选择适当的遮挡模式(box、occlusion、region)。
    • 调整Face Mask Blur参数以优化遮挡效果。
  2. 高清处理
    • 启用face_enhancer选项。
    • 选择合适的增强模型,如GFPGAN1.4或codeformer。
    • 调整Face Detector Size以提高细节处理能力。
  3. 唇形同步
    • 启用lip_syncer选项。
    • 上传音频文件。
    • 选择合适的唇形同步模型。

实用技巧

  1. 性能优化
    • 根据显卡类型选择合适的Execution Provider(NVIDIA用CUDA,AMD用DirectML)。
    • 调整Execution Thread Count以平衡处理速度和内存使用。
  2. 多人脸处理
    • 使用Face Selector Mode选择处理单个或多个人脸。
    • 调整Reference Face Distance参数以提高多角度人脸的匹配精度。
  3. 卡通人脸处理
    • 使用simswap_256模型进行卡通人脸替换。
    • 启用face_enhancer并重点增强眼睛、鼻子和嘴巴区域。

标签:视频,AI,面部,FACE,处理,人脸,FaceFusion,换脸
From: https://blog.csdn.net/yuanmomoya/article/details/141818722

相关文章

  • LLM 工程师入门:生成式AI的简易指南
    编者按:大模型发展了近两年,BaihaiIDP也分享了近百篇LLM各环节的技术洞察,有前沿探讨、有落地实践、有应用经验。但回头来看,我们似乎从来没有认真、从0开始探讨过LLM的基本原理。最近,一些企业客户和伙伴来询问,是否有LLM的从0到1的科普贴。他们说:"虽然在很多场景中,LLM都已......
  • 【第99课】云原生篇&K8s安全&实战场景&攻击Pod&污点Taint&横向移动&容器逃逸
    免责声明本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。文中所涉......
  • VUE0003:Naive UI库:滑动条,单选,多选组件
    1,滑动条,单选,多选组件 <template><n-scrollbarclass="show-scrollbar"><n-spaceclass="map-setting"vertical><n-spacestyle="flex-flow:row;align-items:center;"><n-textclass=&q......
  • 如何使用AI来免费提升你的图片质量
    学习如何使用AI免费放大您的图像,可以将那些恼人的低分辨率图像转变为高分辨率的杰作——至少在某种程度上是这样。虽然使用我们用于此任务的应用程序Upscayl需要稍微调整一下不同的模型,但您至少应该能够将图像转换成视觉上更令人愉悦的效果。Upscayl目前仍在开发中,但会定期更......
  • AI助力水体保护区无人值守垂钓智能预警,基于YOLOv10全系列【n/s/m/b/l/x】参数模型开发
    保护我们赖以生存的自然生态环境,无疑是一项意义深远且需要长期坚持的任务。自然界的生态系统,由水、气、森林、土壤等多要素组成,它们相互依存、相互影响,共同维系着地球的生态平衡。然而,在人类活动的影响下,这一平衡正遭受着前所未有的挑战。因此,加强环境监管治理,保护我们的自然资......
  • 宏观了解AI大模型(持续更新中~)
      AI大模型是什么AI大模型是指具有巨大参数量的深度学习模型,通常包含数十亿甚至数万亿个参数。这些模型可以通过学习大量的数据来提高预测能力,从而在自然语言处理、计算机视觉、自主驾驶等领域取得重要突破。AI大模型的定义具体可以根据参数规模来分类。根据OpenAI的分类方......
  • Distributed Training: DeepSpeed ZeRO 1/2/3 + Accelerate, Megatron-LM
    1IntroductionGithub:https://github.com/microsoft/DeepSpeedZeRO:MemoryOptimizationsTowardTrainingTrillionParameterModelsZeRO-Offload:DemocratizingBillion-ScaleModelTrainingZeRO-Infinity:BreakingtheGPUMemoryWallforExtremeScaleDee......
  • uAI - AI Assistant 人工智能辅助助手插件
    uAI助手支持GPT3.5Turbo、GPT3.5Turbo16K、GPT4-8k和GPT4Turbo-128k什么是uAI助理?uAIAssistant是Unity游戏引擎的强大扩展,它使用GPTAI帮助游戏开发人员轻松创建专业代码和引人入胜的游戏内容。你需要一个OpenAI密钥才能使用uAI助手!阅读我们的文档以获取更多说明。......
  • Why I‘m getting 404 Resource Not Found to my newly Azure OpenAI deployment?
    题意:为什么我新部署的AzureOpenAI服务会出现404资源未找到的错误?问题背景:I'vegonethroughthis quickstart andIcreatedmyAzureOpenAIresource+createdamodeldeploymentwhichisinstatesucceedded.Ialsoplayarounditin AzureOpenAIStudio-Mi......
  • 五子棋AI:实现逻辑与相关背景探讨(上)
    绪论本合集将详细讲述如何实现基于群只能遗传算法的五子棋AI,采用C++作为底层编程语言本篇将简要讨论实现思路,并在后续的文中逐一展开了解五子棋五子棋规则五子棋是一种经典的棋类游戏,规则简单却充满策略性。游戏在一个19×19的棋盘上进行(也可以使用13×13或15×15的棋盘)。......