1.对于数据分析系统中,人脸识别时,由于人脸框小以及人脸模糊等情况导致漏识别的问题。
2.将已经审核过后的图片信息(人脸信息以及特征值)存入Milvus当中,识别出图片上最清晰,最显著的人脸特征作为“代表”(被识别对象)。可以提高人脸识别的准确率,防止漏识别。
负责设计并开发基于 FastAPI 的人脸图像管理系统,实现了人脸检测、特征提取、图片入库、人脸比对和违规图片处理等核心功能。项目采用分布式微服务架构,通过 gRPC 调用人脸识别模型服务,使用 Milvus 向量数据库进行高性能的人脸特征存储与检索(512维特征向量),采用 Redis 实现分布式锁和结果缓存,使用 MinIO 对象存储管理图片文件。系统支持亿级人脸图片的存储和毫秒级的相似人脸检索,实现了 0.8 相似度阈值的图片查重和 0.45 相似度阈值的人脸识别。项目采用 Pydantic 进行数据校验,使用 Loguru 进行日志管理,通过装饰器实现了统一的异常处理和响应格式化,保证了系统的可靠性和可维护性。
1. 使用 Python + FastAPI + Docker 开发
2. 使用 OpenCV + PIL 实现人脸检测和特征提取功能,支持多人脸批量处理
3. 使用 Minio 构建分布式图片存储系统,实现图片的高效存取
4. 使用 Milvus 向量数据库,优化特征检索性能,支持亿级数据快速检索
5. 使用 Redis 实现数据缓存
6. 使用 Pytest 实现代码单元测试
7. 使用 gRpc 实现服务间通信(人脸模型以及图片特征值模型的调用),降低系统延迟
8. 使用 Base64的图片传输机制,提高数据传输效率