人脸识容器&MQ
在 docker 中安装人脸识别镜像
上传镜像 face.tar.gz
1[root@localhost tmp]# docker load < face.tar.gz
2[root@localhost tmp]# docker images
创建 docker 容器
解压 demo.tar
1[root@localhost tmp]# tar -xvf demo.tar
2[root@localhost tmp]# docker run -d -it -p 3000:3000 -v /tmp/demo:/demo --name node face
3
4
5[root@localhost tmp]# docker ps
6CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
70ef91128ee5c face "bash" 47 seconds ago Up 46 seconds 0.0.0.0:3000->3000/tcp node
运行人脸识别程序
1### 进入容器
2[root@localhost tmp]# docker exec -it node bash
3
4### 退出容器
5[root@localhost tmp]# exit
6
7### 把Python程序挂起到后台运行
8nohup python3 -c "from app import app;" > log.out 2>&1 &
9
10### 查看进程
11root@0ef91128ee5c:/demo# ps -aux
12USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
13root 1 0.0 0.0 19944 2016 ? Ss+ 07:34 0:00 bash
14root 11 0.0 0.1 19944 2268 ? Ss 07:40 0:00 bash
15root 17 15.5 7.8 681492 161228 ? Sl 07:41 0:03 python3 -c from app import app;
16root 22 0.0 0.0 38376 1636 ? R+ 07:41 0:00 ps -aux
17
18### 停止进程(人脸识别程序)
19root@0ef91128ee5c:/demo# kill -9 17
接口调用
人脸识别程序是基于 Flask 框架开发的,提供 Web 接口,具体如下:
- 创建人脸模型数据
当Emos系统的MySQL数据库中不存在签到员工的人脸模型数据,这时候应该调用人脸识别程序的Web接口,上传照片文件,然后由Python程序识别照片中的人脸,返回人脸模型数据。Java系统接收到人脸模型数据之后,把数据保存在MySQL数据表里面。
接口名称: /create face model
请求类型: POST
传入参数: icode
返回结果:人脸模型数据 - 执行人脸签到识别
接口名称: /checkin
请求类型:POST
传入参数: icode
RabbitMQ
1docker load < rabbitmq.tar.gz
2docker run -it -d --name mq -p 15672:15672 -p 5672:5672 rabbitmq