Python库支持深度学习的面部检测和分析, 同时加速CPU和GPU性能
Facetorch是一个Python库,使用深度神经网络进行面部检测和特征分析。它支持Hydra配置,使用conda-lock和Docker进行环境重现,并通过TorchScript加速CPU和GPU性能。该工具可扩展,允许通过Google Drive上传模型文件和添加配置文件。请谨慎使用,并遵循欧盟可信AI伦理指南。
Facetorch 是一个使用深度神经网络进行面部检测和分析的 Python 库。通过开源的社区合作贡献面部分析模型,facetch 旨在优化并将它们整合到一个高性能的面部分析工具集中,便于开发者和研究人员使用。以下是 Facetorch 的主要特性:
可定制的配置:通过灵活的 Hydra 和 OmegaConf 配置工具,用户可以轻松地定制分析环境。
可重复的环境:通过使用 conda-lock 和 Docker 容器化技术,保证在不同环境中结果的一致性。
加速的性能:利用 TorchScript 在 CPU 和 GPU 上实现性能优化。
简单的可扩展性:用户可以通过 Google Drive 上传模型文件,并添加配置文件到代码库,实现库的扩展。
Facetorch 为寻求灵活性和高性能的面部分析任务的开发者和研究人员提供了一种高效且易用的解决方案。使用此库时应遵守欧盟委员会的《可信人工智能伦理指南》,确保使用过程的伦理和公正。请注意,模型可能存在局限性和潜在偏见,因此评估其输出和影响至关重要。
Facetorch 可以通过以下两种方式安装:
pip install facetorch
conda install -c conda-forge facetorch
docker compose run facetorch python ./scripts/example.py
docker compose run facetorch-gpu python ./scripts/example.py analyzer.device=cuda
项目的配置文件位于 conf
目录下,主配置文件为 conf/config.yaml
。用户可以轻松地从配置中添加或删除模块。
Facetorch 的核心类为 FaceAnalyzer,负责初始化和运行以下组件:
analyzer
├── reader
├── detector
├── unifier
└── predictor
├── embed
├── verify
├── fer
├── au
├── va
├── deepfake
└── align
└── utilizer
├── align
├── draw
└── save
Facetorch 集成了多种用于不同面部分析任务的模型,每种模型会在运行时自动下载到 models
目录。用户还可以从一个公共的 Google Drive 文件夹手动下载这些模型。
开发者可以通过 Docker 容器快速启动开发环境。为了贡献新的预测器,用户需准备 TorchScript 模型文件和相关配置,还需确保新模块通过测试。
Facetorch 项目非常感谢开源社区和提供模型的研究人员给予的支持和贡献。如果您在工作中使用了 Facetorch,请适当引用模型的原始作者,并考虑引用 Facetorch 本身。
@misc{facetorch, author = {Gajarsky, Tomas}, title = {Facetorch: A Python Library for Analyzing Faces Using PyTorch}, year = {2024}, publisher = {GitHub}, journal = {GitHub Repository}, }