InsightFace-REST是一个开源项目,旨在为开发者提供一个便捷、易于部署和可扩展的REST API,用于实现InsightFace人脸检测和识别功能。该项目利用FastAPI作为服务框架,并使用NVIDIA TensorRT进行优化推理,以实现高性能的人脸识别服务。
InsightFace-REST的核心目标是简化人脸识别技术的应用和部署过程。它基于官方InsightFace仓库中的Python包代码,但进行了重构和优化,使其更适合作为REST API服务使用。该项目提供了构建人脸识别REST API的源代码,以及将模型转换为ONNX和TensorRT格式的工具,所有这些都可以通过Docker进行封装和部署。

InsightFace-REST具有以下关键特性:
支持使用Docker和nvidia-docker2在NVIDIA GPU系统上快速部署。
启动时自动下载所需模型(通过Google Drive)。
借助TensorRT优化、FP16推理以及ArcFace模型的批量推理,性能可比MXNet推理提升3倍。
支持旧版Retinaface检测器和基于MXNet的ArcFace模型,以及新版SCRFD检测器和基于PyTorch的识别模型(如glintr100、w600k_r50、w600k_mbf等)。
SCRFD后处理实现速度提升2倍。
支持识别和检测模型(目前仅限SCRFD系列)的批量推理。
可使用ONNX-Runtime在CPU上进行推理。
InsightFace-REST支持多种人脸检测和识别模型:
此外,还支持性别年龄估计(genderage_v1)和口罩检测(mask_detector)等辅助模型。
InsightFace-REST的部署过程非常简单:
deploy_trt.sh脚本(根据需要修改设置)项目还提供了多GPU并行处理、FP16精度推理等高级配置选项,可根据具体硬件和性能需求进行调整。对于非GPU环境,也可以使用deploy_cpu.sh脚本在CPU上运行服务。
InsightFace-REST提供了直观的REST API接口。开发者可以参考项目中的demo_client.py文件,了解API的基本使用方法。主要的API端点包括:
/extract: 提取图像中的人脸特征/draw_detections: 在图像上绘制检测到的人脸框InsightFace-REST在性能方面做了大量优化工作。以SCRFD_10g_gnkps检测器和glintr100识别模型为例,在NVIDIA RTX 2080 Super GPU上的性能表现如下:
| 工作进程数 | 客户端线程数 | v0.6.2.0 FPS | v0.7.0.0 FPS | 性能提升 |
|---|---|---|---|---|
| 1 | 1 | 56 | 103 | 83.9% |
| 1 | 30 | 72 | 128 | 77.7% |
| 6 | 30 | 145 | 179 | 23.4% |
这些优化包括:
InsightFace-REST团队正在继续改进项目,未来的工作方向包括:
InsightFace-REST为开发者提供了一个强大而灵活的工具,可以轻松地将先进的人脸识别技术集成到各种应用中。通过优化的性能、丰富的模型支持和简单的部署流程,InsightFace-REST正在推动人脸识别技术在实际应用中的普及。无论是安防监控、身份验证还是人机交互,InsightFace-REST都为开发者提供了一个可靠的解决方案。
随着项目的不断发展和社区的贡献,我们可以期待InsightFace-REST在未来带来更多创新和改进,为人脸识别技术的应用开辟新的可能性。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集 成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

