## 基于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)
同一个人的两张不同人脸距离小,不同人脸的距离大,设定一个阈值用以比对数据库中人脸的特征来识别是否为同一个人。
没有合适的资源?快使用搜索试试~ 我知道了~
Pyrhon基于MTCNN和FaceNet的人脸识别项目源代码+权重文件+容器部署
共21个文件
py:7个
npy:3个
jpg:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 20 浏览量
2024-05-16
21:23:24
上传
评论
收藏 86.09MB ZIP 举报
温馨提示
环境安装 pip install -r requirements.txt 本地Docker镜像打包 # 进入本项目根目录执行 docker build -t FaceRecognition:mtcnn+facenet . 本地测试 # 命令行输入 uvicorn main:app --host 0.0.0.0 # 浏览器访问 http://127.0.0.1:8000/docs 线上测试 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维数组特征.
资源推荐
资源详情
资源评论
收起资源包目录
FaceRecognition-master.zip (21个子文件)
FaceRecognition-master
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
资源评论
程序员柳
- 粉丝: 8163
- 资源: 1469
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功