## 基于MTCNN和FaceNet的人脸识别
**如果本项目对你部署一个可用的人脸识别的模型有帮助,欢迎Start...**
**借助摄像头和极低的阈值,该模型可实现50万级别的人脸考勤系统...**
#### 环境安装
```bash
pip install -r requirements.txt
```
#### 本地Docker镜像打包
```bash
# 进入本项目根目录执行
docker build -t FaceRecognition:mtcnn+facenet .
```
#### 本地测试
```bash
# 命令行输入
uvicorn main:app --host 0.0.0.0
# 浏览器访问
http://127.0.0.1:8000/docs
```
#### 线上测试
```bash
docker pull mrzhang3389/face_recognition:mtcnn_facenet
# 运行
docker run -it -p 8000:8000 mrzhang3389/face_recognition:mtcnn_facenet
# 浏览器登陆
http://127.0.0.1:8000/docs
```
#### 浏览器测试如下:
传入一张含有人脸的图像, 输出一个列表包含图书每个人脸的512维数组特征.
![example](assets/example.png)
#### 如何进行人脸识别
```python
import math
import json
import requests
def get_face_encoding(img_path):
img_file = {'file': open(img_path, 'rb')}
upload_data = {"accept": "application/json",
"Content-Type": "multipart/form-data"}
upload_res = requests.post("http://192.168.31.220:8000/uploadfile", upload_data, files=img_file)
encoding = json.loads(upload_res.content)
return encoding
def euclidean_distance(A, B):
'''用于计算两个列表中, 人脸特征之间的欧式距离.'''
return math.sqrt(sum([(a - b) ** 2 for (a, b) in zip(A, B)]))
obama_1_encoding = get_face_encoding("assets/obama.jpg")
obama_2_encoding = get_face_encoding("assets/obama2.jpg")
biden_encoding = get_face_encoding("assets/biden.jpg")
print("obama_1 and obama_2:", euclidean_distance(obama_1_encoding[0], obama_2_encoding[0]))
print("obama_1 and biden :", euclidean_distance(obama_1_encoding[0], biden_encoding[0]))
print("obama_2 and biden :", euclidean_distance(obama_2_encoding[0], biden_encoding[0]))
```
#### 人脸识别比对结果
![result](assets/result.png)
同一个人的两张不同人脸距离小,不同人脸的距离大,设定一个阈值用以比对数据库中人脸的特征来识别是否为同一个人。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 人脸检测(MTCNN) + 人脸编码(FaceNet) = 人脸识别(FaceRecognition) DockerFile + Docker Image = 容器部署源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
人脸检测(MTCNN) + 人脸编码(FaceNet) = 人脸识别(FaceRecognition) DockerFile + Docker Image = 容器部署源码.zip (21个子文件)
project_code_0628
detect_face.py 28KB
assets
example.png 108KB
obama2.jpg 180KB
result.png 7KB
biden.jpg 345KB
obama.jpg 273KB
main.py 296B
readme.md 2KB
weight
facenet.pb 91.31MB
det3.npy 1.49MB
det2.npy 392KB
freeze_graph.py 1KB
det1.npy 27KB
client.py 3KB
Dockerfile 930B
faceEncode.py 3KB
facenet.py 22KB
requirements.txt 190B
.gitignore 289B
client.py 1011B
.dockerignore 168B
共 21 条
- 1
资源评论
辣椒种子
- 粉丝: 3321
- 资源: 5724
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功