本页面介绍了 Deep-Live-Cam 的图像处理能力,重点关注系统如何处理用于换脸的静态图像。有关视频处理的信息,请参阅视频处理。有关使用网络摄像头进行实时处理的信息,请参阅网络摄像头模式。
Deep-Live-Cam 的图像处理流程使用先进的深度学习技术使用户能够更换静态图像中的人脸。系统会加载源图像(包含要交换的人脸)和目标图像(将放置人脸的位置),执行人脸检测、换脸、可选增强,并保存结果。
来源:modules/core.py178-199 modules/processors/frame/face_swapper.py100-119
Deep-Live-Cam 中的图像处理工作流程遵循以下步骤:
用户选择一个包含要交换的人脸的源图像和一个将放置人脸的目标图像。系统在处理前加载并验证这些图像。
人脸分析器组件在源图像和目标图像中检测人脸。对于源图像,系统提取换脸所需的人脸特征和嵌入信息。对于目标图像,它识别人脸的位置及其特征。
来源:modules/face_analyser.py modules/processors/frame/face_swapper.py100-119
换脸器使用 InsightFace 模型执行实际的换脸操作。它提取源图像中的人脸,并将其融合到目标图像中的人脸(或人脸们)上,同时保持光照条件和肤色一致性。
如果启用,口部蒙版功能将保留目标人脸的原有口部。这有助于在结果中保持自然的表情和唇部动作。
来源:modules/processors/frame/face_swapper.py70-98 modules/processors/frame/face_swapper.py267-381
如果启用了人脸增强,系统将应用额外的处理步骤来提高交换后人脸的质量,使其看起来更自然、分辨率更高。
处理后的图像将保存到指定的输出位置。
Deep-Live-Cam 提供多种选项来定制图像处理:
| 选项 | 描述 | 默认 | 代码参考 |
|---|---|---|---|
| 多人脸 | 处理目标图像中的所有面孔,而不仅仅是主要面孔 | 关闭 | modules.globals.many_faces |
| 人脸映射 | 将特定源面孔映射到特定目标面孔 | 关闭 | modules.globals.map_faces |
| 嘴部遮罩 | 保留目标面孔的原始嘴部区域 | 关闭 | modules.globals.mouth_mask |
| 人脸增强器 | 应用增强以提高人脸质量 | 关闭 | modules.globals.fp_ui['face_enhancer'] |
| 色彩校正 | 应用色彩校正以获得更好的结果 | 关闭 | modules.globals.color_correction |
来源:modules/ui.py93-108 modules/core.py42-46
启用面部映射后,系统允许用户指定要将哪个源面部映射到哪个目标面孔。这在处理包含多张面孔的图像时特别有用,因为您可以为每张目标面孔指定不同的人脸。
来源:modules/ui.py394-414 modules/ui.py417-483
Deep-Live-Cam 使用模块化的帧处理器架构。对于图像处理,主要处理器包括:
每个处理器都实现了处理帧的方法,并为图像处理提供了专用变体。
图像处理流程由核心模块中的 start() 函数协调。
来源:modules/core.py178-199 modules/processors/frame/face_swapper.py241-254
Deep-Live-Cam 中的图像处理用户界面提供了用于选择源图像和目标图像、配置处理选项以及预览结果的控件。
以下开关控制图像处理行为:
在处理图像之前,您可以使用“预览”按钮查看结果的外观。这会生成一个处理后的预览,而无需保存输出文件。
以下是针对常见图像处理问题的解决方案: