目 录
第一章 系统说明:. 3
第二章 安装. 4
第三章 API 5
获取人脸图片编码. 5
获取人脸位置. 5
添加人脸数据. 6
两人脸特征码对比. 6
两张照片对比. 7
人脸特征码人脸库匹配. 7
照片人脸库匹配. 8
第四章 系统集成. 9
第五章 人脸系统使用说明. 10
运行. 10
配置. 10
数据库表. 11
- 系统说明:
本系统是基于face_recognition项目来开发的,使用django提供restful API接口。
环境要求:
ubuntu 16/17、python3、django、PIL、postgresql9.6
- 安装
在ubuntu中安装:
第一步安装python环境:
|
第二步安装face_recognition:
|
说明:确保系统中有python3.5+版本。建议升级为3.6最新版本。
选择安装postgresql:
|
配置数据库:
- 数据库账号密码
|
- 数据库IP访问
|
- API
REQUEST
URI:/face/enCode
method: post
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
img | string | 是 |
| base64图片编码 |
RESPONSE
参数名 | 类型 | 默认值 | 说明 |
code | int |
| 状态码 1:成功,0:失败 |
value | string[] |
| 人脸特征码数组 |
time | double |
| 执行时间 |
REQUEST
URI:/face/locations
method: post
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
img | string | 是 |
| base64图片编码 |
RESPONSE
参数名 | 类型 | 默认值 | 说明 |
code | int |
| 状态码 1:成功,0:失败 |
value | json[] |
| 位置组,包含截取的img64代码 |
time | double |
| 执行时间 |
REQUEST
URI:/face/addFace
method: post
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
img | string | 是 |
| base64图片编码
|
id | string | 是 |
| 唯一值 |
name | string | 是 |
| 姓名 |
code | string | 是 |
| 人脸特征码 |
RESPONSE
参数名 | 类型 | 默认值 | 说明 |
code | int |
| 状态码 1:成功,0:失败 |
msg | string |
| 消息 |
time | double |
| 执行时间 |
REQUEST
URI:/face/compare2code
method: post
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
code1 | string | 是 |
| 人脸特征码
|
code2 | string | 是 |
| 人脸特征码 |
RESPONSE
参数名 | 类型 | 默认值 | 说明 |
code | int |
| 状态码 1:成功,0:失败 |
value | int |
| 是否匹配,1:匹配,0:不匹配 |
time | double |
| 执行时间 |
两张照片对比
REQUEST
URI:/face/compare2img
method: post
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
img1 | string | 是 |
| base64图片编码 |
img2 | string | 是 |
| base64图片编码 |
RESPONSE
参数名 | 类型 | 默认值 | 说明 |
code | int |
| 状态码 1:成功,0:失败 |
value | int |
| 是否匹配,1:匹配,0:不匹配 |
time | double |
| 执行时间 |
REQUEST
URI:/face/verifyByCode
method: post
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
code | string | 是 |
| 人脸特征码
|
RESPONSE
参数名 | 类型 | 默认值 | 说明 |
code | int |
| 状态码 1:成功,0:失败 |
value | int |
| 是否匹配,1:匹配,0:不匹配 |
time | double |
| 执行时间 |
照片人脸库匹配
REQUEST
URI:/face/verifyByImg
method: post
参数名 | 类型 | 是否必填 | 默认值 | 说明 |
img | string | 是 |
| base64图片编码 |
RESPONSE
参数名 | 类型 | 默认值 | 说明 |
code | int |
| 状态码 1:成功,0:失败 |
value | int |
| 是否匹配,1:匹配,0:不匹配 |
time | double |
| 执行时间 |
- 系统集成
业务系统根据需求选择第三章中的对应接口来使用本系统。
调用方式如下时序图:
- 人脸系统使用说明
执行~/workspace/faceService/run.sh
人脸系统配置分为外部数据库配置、django配置、人脸相识值。
数据库配置:
文件:/faceService/faceService/settings.py
# Database # https://docs.djangoproject.com/en/1.11/ref/settings/#databases
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'face', 'USER':'postgres', 'PASSWORD':'postgres', # 'HOST':'192.168.10.185', 'HOST':'127.0.0.1', 'POST':'5432' } } |
django运行设置:
文件:/faceService/run.sh
python3 manage.py runserver 0.0.0.0:8000 #对应ip 和端口 |
人脸相识值:
文件:/faceService/app/FaceApi.py
# 最大相似度 越小越相似 max_distance=0.4 |
人脸表:face
字段 | 数据类型 | 说明 |
id | Character Varying( 50 ) | 主键,可以是身份证号,或业务系统数据id |
name | Character Varying( 50 ) | 姓名 |
code | text | 特征码 |
img | text | base64图片 |