littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于Flask框架的人脸相似度对比服务

项目简介

本项目基于Flask框架开发,实现了人脸相似度对比服务。借助MTCNN进行人脸检测与对齐,使用FacNet计算人脸的128维距离向量,再通过欧拉公式计算两个目标向量的距离,以此完成人脸相似度对比。项目仅对外暴露一个接口,用户上传两张图片就能完成相似度计算。

项目的主要特性和功能

  • 人脸检测与对齐:运用MTCNN算法进行人脸检测和对齐。
  • 人脸特征提取:利用FacNet模型提取人脸的128维特征向量。
  • 相似度计算:通过欧拉公式计算两个特征向量的距离,判断人脸相似度。
  • 单一接口:仅提供一个接口,用户上传两张图片即可获取相似度结果。
  • 高性能并发:优化了Flask的并发性能,保证服务在高并发环境下稳定运行。

安装使用步骤

环境准备

  • 确保已安装Python 3+。
  • 安装Tensorflow版本低于2.0。
  • 运行环境需为Unix系统(Gunicorn目前不支持Windows)。

安装依赖

shell pip3 install -r requirements_cpu.txt

下载预训练模型

下载FaceNet官方预训练模型 20180408-102900.zip,并将其放置在model文件夹下。

启动服务

shell gunicorn -c gun.py manage:app

使用服务

通过API接口上传两张图片,获取人脸相似度对比结果。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】