PrivateFrame — 安装与使用指南
通过桌面应用开始体验、自动化视频工作流程,或将处理能力集成到 Python 中。
你将完成什么
在自己的设备上检测并跟踪视频中的人脸,再应用模糊或马赛克。可处理所有人脸,也可通过参考照片选择需要保留的人物。
使用 InsightFace 预训练模型进行商业部署,需另行获取商业模型授权。
查看 PrivateFrame 的实际效果。
观看不同场景中的人脸跟踪与遮挡效果,以及高斯模糊和马赛克输出。
PrivateFrame 实际输出效果。分享前请检查处理后的视频。
打开视频音乐:Scott Buckley 创作的 Tears in Rain · CC BY 4.0。已节选并混音。
开始之前
- 需要 Python 3.10 及以上版本,以及包含 python-package/insightface/app/privateframe/ 的新版 InsightFace 源码。请在该仓库根目录执行安装命令。本指南使用新版源码安装;旧版仓库或已发布的软件包可能尚未包含 PrivateFrame。
- 准备本地视频和输出目录。将示例中的 /data/... 替换为你设备上的路径。每个示例使用不同的输出目录,以便分别保存结果。
- 安装依赖和模型后,视频处理在本地运行,不会上传视频或参考照片进行处理。首次使用时可能需要下载缺失的模型。
1. 安装与使用指南
需要 Python 3.10 及以上版本,以及包含 python-package/insightface/app/privateframe/ 的新版 InsightFace 源码。请在该仓库根目录执行安装命令。本指南使用新版源码安装;旧版仓库或已发布的软件包可能尚未包含 PrivateFrame。
需要 Python 3.10 或更高版本。请按指南从更新后的代码仓库安装,首次运行可能需要下载模型。 项目提供的预训练模型仅供非商业研究评估;商业部署前请申请模型授权。
python -m pip install "./python-package[gui]"python -m pip install "./python-package[privateframe]"
insightface-privateframe --help2. 桌面应用
在 InsightFace Evaluation Studio 中打开 PrivateFrame,选择视频、处理设置和输出文件夹。
- 在 InsightFace 桌面应用中打开 PrivateFrame,或向 CLI、Python API 传入视频。
- 选择人物处理模式,按需添加参考照片,再选择模糊或马赛克。
- 导出新视频与可复用的分析 JSON。分享前请检查输出结果。
insightface-gui3. 命令行 — 选择需要模糊的人物
用一条命令处理视频,也可将分析与渲染分开,方便检查和多次导出。
使用参考照片的两种模式都需要将清晰的单人 JPG、JPEG、PNG 或 WebP 照片直接放在同一个参考目录下。每张照片仅使用检测到的最大人脸,且目录中至少要有一张可用参考人脸。默认策略下,未匹配或匹配不确定的人脸在 blur_only 模式中保留可见,在 exempt 模式中进行模糊处理。
- 模糊所有人脸: 遮挡所有检测到的人脸,无需参考照片或身份匹配。
- 仅模糊选定人物: 模糊与参考照片匹配的人物,保留其他人物的人脸可见。
- 保留选定人物可见: 保留匹配人物的人脸可见,同时模糊未匹配或匹配不确定的人脸。
insightface-privateframe process \
--input /data/video.mp4 --output-dir /data/allinsightface-privateframe process \
--input /data/video.mp4 --output-dir /data/selected \
--recognition.mode blur_only \
--recognition.reference_dir /data/reference_photosinsightface-privateframe process \
--input /data/video.mp4 --output-dir /data/exempt \
--recognition.mode exempt \
--recognition.reference_dir /data/reference_photos4. 分析一次,多次渲染
复用分析 JSON,即可调整渲染设置或编辑人脸框,无需重复检测与识别。
可以。保留原始视频和分析 JSON,即可用不同的模糊、马赛克或编码设置重新渲染。也可以编辑 JSON 中的人脸框。若要更改检测或身份匹配设置,则需要重新分析。
insightface-privateframe analyze \
--input /data/video.mp4 --output-dir /data/reviewinsightface-privateframe render \
--input /data/video.mp4 \
--result /data/review/video_privateframe.json \
--redacted /data/review/video_mosaic.mp4 \
--render.redaction.method mosaic5. Python API
将分析与渲染集成到自己的应用中,支持进度与取消回调。
from insightface.app.privateframe import (
analyze_streaming_pipeline,
default_output_paths,
render_streaming_artifacts,
)
from insightface.app.privateframe.base_config import DEFAULT_CONFIG_PATH
paths = default_output_paths("/data/video.mp4", "/data/python_output")
analysis = analyze_streaming_pipeline(
config_path=DEFAULT_CONFIG_PATH,
input_path=paths.source,
workdir=paths.workdir,
result_path=paths.result_json,
)
rendered = render_streaming_artifacts(
input_path=paths.source,
result_path=paths.result_json,
redacted_path=paths.result_video,
config_overrides={"render.redaction.method": "mosaic"},
)6. 处理、检查并分享
导出新视频与可复用的分析 JSON。分享前请检查输出结果。
照片匹配可能漏掉人物。分享前请检查选择性处理的结果;在“仅模糊选定人物”模式下,未匹配到的目标人物可能仍然可见。
不能。检测、跟踪和匹配可能漏掉人脸或出现错误。请检查导出的视频,尤其是短暂出现的人脸、切换镜头和遮挡场景。人脸遮挡不会隐藏声音、姓名、衣着或其他可识别身份的上下文信息。
7. PrivateFrame 可以用于商业用途吗?
InsightFace 代码采用 MIT 许可证。项目提供的预训练模型仅限非商业研究使用;商业使用需要获得相应的模型授权。欢迎联系我们讨论部署需求。