InsightFace: 2D和3D人脸分析项目
InsightFace项目主要由Jia Guo和Jiankang Deng维护。
所有主要贡献者请查看贡献。
许可证
InsightFace的代码基于MIT许可证发布。对学术和商业用途均无限制。
包含标注的训练数据(以及使用这些数据训练的模型)仅可用于非商业研究目的。
无论是从我们的GitHub仓库手动下载模型,还是通过我们的Python库自动下载模型,均遵循上述许可政策(仅限非商业研究目的)。
最新消息
2024-08-01
我们已将最先进的换脸模型:inswapper_cyn和inswapper_dax集成到Picsi.Ai换脸服务中。这些模型的性能超越了几乎所有类似的商业产品和我们的开源模型inswapper_128。请访问Picsi.Ai网站使用该服务并获取帮助。
2024-05-04
我们添加了InspireFace,这是一个用C/C++开发的跨平台人脸识别SDK,支持多种操作系统和各种后端。
2023-04-01
:我们集成了最先进的换脸模型:inswapper_cyn和inswapper_dax,并将服务转移到Discord机器人上,该机器人还支持编辑Midjourney生成的图像,详情请参见web-demos/swapping_discord和我们的Picsi.Ai网站。
2022-08-12
:我们在ECCV-2022 WCPA研讨会的基于透视投影的单目3D人脸重建挑战赛中获得第一名,论文和代码。
2021-11-30
:MFR-Ongoing挑战赛启动(与IFRT相同),这是iccv21-mfr的扩展版本。
2021-10-29
:我们使用Partial FC(作者:Xiang An, Jiankang Deng, Jia Guo)在NIST-FRVT 1:1的VISA赛道上获得第一名。
更新日志
2024-08-01
我们已将最先进的换脸模型:inswapper_cyn和inswapper_dax集成到Picsi.Ai换脸服务中。这些模型的性能超越了几乎所有类似的商业产品和我们的开源模型inswapper_128。请访问Picsi.Ai网站使用该服务并获取帮助。
2024-05-04
我们添加了InspireFace,这是一个用C/C++开发的跨平台人脸识别SDK,支持多种操作系统和各种后端。
2024-04-17
:基于单目身份条件的面部反射重建被CVPR-2024接收。
2023-08-08
:我们在reconstruction/gaze发布了利用合成视图的弱监督泛化视线估计的实现。
2023-05-03
:我们启动了野外人脸反欺骗挑战赛的持续版本。详情请见此处。
2023-04-01
:我们集成了最先进的换脸模型:inswapper_cyn和inswapper_dax,并将服务转移到Discord机器人上,该机器人还支持编辑Midjourney生成的图像,详情请参见web-demos/swapping_discord和我们的Picsi.Ai网站。
2023-02-13
:我们在CVPR23研讨会上发起了大规模野外人脸反欺骗挑战赛,详情请见challenges/cvpr23-fas-wild。
2022-11-28
:我们的Python包0.7版本中提供了单行代码实现面部身份交换,请查看此处的示例。
2022-10-28
:MFR-Ongoing网站已重构,如有任何问题请提交issue。
2022-09-22
:现在我们有Web演示:人脸定位、人脸识别和换脸。
2022-08-12
:我们在ECCV-2022 WCPA研讨会的基于透视投影的单目3D人脸重建挑战赛中获得第一名,论文和代码。
2022-03-30
:Partial FC被CVPR-2022接收。
2022-02-23
:SCRFD被ICLR-2022接收。
2021年11月30日
:启动了MFR-Ongoing挑战(与IFRT相同),这是iccv21-mfr的扩展版本。
2021年10月29日
:我们在NIST-FRVT 1:1的VISA赛道上使用Partial FC(Xiang An, Jiankang Deng, Jia Guo)获得第一名。
2021年10月11日
:发布了ICCV21 - 带口罩人脸识别挑战赛的排行榜。视频:Youtube,Bilibili。
2021年6月5日
:我们在ICCV 2021上发起了带口罩人脸识别挑战赛与研讨会。
简介
InsightFace是一个开源的2D&3D深度人脸分析工具箱,主要基于PyTorch和MXNet。
详情请查看我们的网站。
主分支适用于PyTorch 1.6+和/或MXNet=1.6-1.8,使用Python 3.x。
InsightFace高效实现了多种最先进的人脸识别、人脸检测和人脸对齐算法,针对训练和部署进行了优化。
快速开始
请从我们的python-包开始,用于在输入图像上测试检测、识别和对齐模型。
ArcFace视频演示
<img src=https://insightface.ai/assets/img/github/facerecognitionfromvideo.PNG width="760" />
请点击图片观看Youtube视频。对于Bilibili用户,请点击这里。
项目
InsightFace网站的页面也描述了InsightFace中支持的所有项目。
你可能也对InsightFace举办的一些挑战赛感兴趣。
人脸识别
简介
在这个模块中,我们提供了深度人脸识别的训练数据、网络设置和损失函数设计。
支持的方法如下:
- ArcFace_mxnet (CVPR'2019)
- ArcFace_torch (CVPR'2019)
- SubCenter ArcFace (ECCV'2020)
- PartialFC_mxnet (CVPR'2022)
- PartialFC_torch (CVPR'2022)
- VPL (CVPR'2021)
- Arcface_oneflow
- ArcFace_Paddle (CVPR'2019)
大多数方法中包含常用的网络骨干,如IResNet、MobilefaceNet、MobileNet、InceptionResNet_v2、DenseNet等。
数据集
训练数据包括但不限于经过清理的MS1M、VGG2和CASIA-Webface数据集,这些已经打包成MXNet二进制格式。详情请参阅数据集页面。
评估
我们在evaluation中提供了标准的IJB和Megaface评估流程。
预训练模型
请查看Model-Zoo获取更多预训练模型。
ArcFace的第三方重新实现
- TensorFlow: InsightFace_TF
- TensorFlow: tf-insightface
- TensorFlow:insightface
- PyTorch: InsightFace_Pytorch
- PyTorch: arcface-pytorch
- Caffe: arcface-caffe
- Caffe: CombinedMargin-caffe
- Tensorflow: InsightFace-tensorflow
- TensorRT: wang-xinyu/tensorrtx
- TensorRT: InsightFace-REST
- ONNXRuntime C++: ArcFace-ONNXRuntime
- ONNXRuntime Go: arcface-go
- MNN: ArcFace-MNN
- TNN: ArcFace-TNN
- NCNN: ArcFace-NCNN
人脸检测
简介
在这个模块中,我们提供了带注释的训练数据、网络设置和损失函数设计,用于人脸检测的训练、评估和推理。
支持的方法如下:
- RetinaFace (CVPR'2020)
- SCRFD (Arxiv'2021)
- blazeface_paddle RetinaFace 是一个实用的单阶段人脸检测器,已被 CVPR 2020 接受。我们提供了训练代码、训练数据集、预训练模型和评估脚本。
SCRFD 是一种高效且高精度的人脸检测方法,最初在 Arxiv 上描述。我们提供了一个易于使用的流程,可以训练具有 NAS 支持的高效人脸检测器。
人脸对齐
简介
在这个模块中,我们提供了用于人脸对齐的数据集和训练/推理流程。
支持的方法:
SDUNets 是一种基于热图的方法,已被 BMVC 接受。
SimpleRegression 提供了非常轻量级的面部特征点模型,具有快速坐标回归功能。这些模型的输入是宽松裁剪的人脸图像,而输出是直接的特征点坐标。
引用
如果您在研究中发现 InsightFace 有用,请考虑引用以下相关论文:
(此处略去引用内容)
贡献
主要贡献者:
- Jia Guo,
guojia[at]gmail.com
- Jiankang Deng
jiankangdeng[at]gmail.com
- Xiang An
anxiangsir[at]gmail.com
- Jack Yu
jackyu961127[at]gmail.com
- Baris Gecer
barisgecer[at]msn.com