请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 1717|回复: 95

[进阶教程] 超简单的搭建自己的人脸识别服务,离线使用,不同方位...

  [复制链接]

3

主题

95

帖子

567

积分

论坛技术达人

积分
567
金钱
467
HASS币
30
发表于 2020-5-9 14:10:37 | 显示全部楼层 |阅读模式
本帖最后由 ck3 于 2020-5-10 17:44 编辑

<2020.5.10更新>
分享一下简单的nodered流
1589103564(1).jpg
需要更改这两个节点
第一个修改为自己获取摄像头图片的url
1589103623(1).jpg
第二个更改为自己人脸识别服务器的url
1589103708(1).jpg
游客,如果您要查看本帖隐藏内容请回复



=====================================================================================

对比了较多的人脸识别,用过 ageitgey/ face_recognition的发现识别率低。

这个sdk用的是虹软科技的,除了第一次启动需要联网激活一下之外,之后都可以离线使用,可以保护隐私。本教程使用代码为官方demo改造的
下面开始本教程(仅测试于x86架构,其他的没条件测试)。
1、首先需要去虹软开放平台申请一个sdk和key:

                               
登录/注册后可看大图


2、拉去docker镜像:
游客,如果您要查看本帖隐藏内容请回复

3、在群晖配置docker镜像

                               
登录/注册后可看大图

需要挂载这2个文件夹和1个配置文件

                               
登录/注册后可看大图
1589034463(1).jpg
/app/lib 对于的是在开放平台下载的lib文件
1589004257(1).jpg
/app/know_faces对于的是照片的分类,每一个文件夹一个人的人脸图片,文件名为识别出的名字

                               
登录/注册后可看大图
/app/application.yaml对于的是配置文件,配置文件如下(注意缩进)
1589004337(1).jpg
config:
  freesdk:
    app-id: xxxxx
    sdk-key: xxxx
    thread-pool-size: 5
  face-file-path: /app/know_faces
  lib-path: /app/lib

4、设置端口

                               
登录/注册后可看大图

5、 完成

                               
登录/注册后可看大图

<注意第一次运行必须联网激活>
6、 运行之后,查看日志看是否加载你的人脸信息,ERROR的图片为识别不出的人脸(无关紧要)(一个文件夹可以放多几张图片,提高识别率)

                               
登录/注册后可看大图

7、通过node red接入人脸识别服务(大家可以使用之前萝卜的流程,只需要把请求方式改一下就可以;了), 这里就给大家演示一下postman去请求
请求路径为 http://url:9090/faceSearch
请求体为 base64
请求头为json: application/json
code为0的时候则表示识别成功,具体code对应的问题可看文章最后。
返回格式如下:
{
    "code": 0,
    "success": true,
    "message": "success",
    "data": {
        "faceId": "8xwfk1oszk",
        "name": "",
        "similarValue": 100,
        "age": 29,
        "gender": "男",
        "image": ""
    }
}


                               
登录/注册后可看大图
大致的接入nodered方法如图:
获取图片,转base64,post请求(header为json)
1589004502(1).jpg

游客,如果您要查看本帖隐藏内容请回复

全部的error code信息:
MOK(0, “成功”),
UNKNOWN(1, “未知错误”),
INVALID_PARAM(2, “无效参数”),
UNSUPPORTED(3, “引擎不支持”),
NO_MEMORY(4, “内存不足”),
BAD_STATE(5, “状态错误”),
USER_CANCEL(6, “用户取消相关操作”),
EXPIRED(7, “操作时间过期”),
USER_PAUSE(8, “用户暂停操作”),
BUFFER_OVERFLOW(9, “缓冲上溢”),
BUFFER_UNDERFLOW(10, “缓冲下溢”),
NO_DISKSPACE(11, “存贮空间不足”),
COMPONENT_NOT_EXIST(12, “组件不存在”),
GLOBAL_DATA_NOT_EXIST(13, “全局数据不存在”),
NO_FACE_DETECTED(14, “未检出到人脸”),
FACE_DOES_NOT_MATCH(15, “人脸不匹配”),
INVALID_APP_ID(28673, “无效的AppId”),
INVALID_SDK_ID(28674, “无效的SdkKey”),
INVALID_ID_PAIR(28675, “AppId和SdkKey不匹配”),
MISMATCH_ID_AND_SDK(28676, “SdkKey 和使用的SDK 不匹配”),
SYSTEM_VERSION_UNSUPPORTED(28677, “系统版本不被当前SDK所支持”),
LICENCE_EXPIRED(28678, “SDK有效期过期,需要重新下载更新”),
APS_ENGINE_HANDLE(69633, “引擎句柄非法”),
APS_MEMMGR_HANDLE(69634, “内存句柄非法”),
APS_DEVICEID_INVALID(69635, " Device ID 非法"),
APS_DEVICEID_UNSUPPORTED(69636, “Device ID 不支持”),
APS_MODEL_HANDLE(69637, “模板数据指针非法”),
APS_MODEL_SIZE(69638, “模板数据长度非法”),
APS_IMAGE_HANDLE(69639, “图像结构体指针非法”),
APS_IMAGE_FORMAT_UNSUPPORTED(69640, “图像格式不支持”),
APS_IMAGE_PARAM(69641, “图像参数非法”),
APS_IMAGE_SIZE(69642, “图像尺寸大小超过支持范围”),
APS_DEVICE_AVX2_UNSUPPORTED(69643, “处理器不支持AVX2指令”),
FR_INVALID_MEMORY_INFO(73729, “无效的输入内存”),
FR_INVALID_IMAGE_INFO(73730, “无效的输入图像参数”),
FR_INVALID_FACE_INFO(73731, “无效的脸部信息”),
FR_NO_GPU_AVAILABLE(73732, “当前设备无GPU可用”),
FR_MISMATCHED_FEATURE_LEVEL(73733, “待比较的两个人脸特征的版本不一致”),
FACEFEATURE_UNKNOWN(81921, “人脸特征检测错误未知”),
FACEFEATURE_MEMORY(81922, “人脸特征检测内存错误”),
FACEFEATURE_INVALID_FORMAT(81923, “人脸特征检测格式错误”),
FACEFEATURE_INVALID_PARAM(81924, “人脸特征检测参数错误”),
FACEFEATURE_LOW_CONFIDENCE_LEVEL(81925, “人脸特征检测结果置信度低”),
ASF_EX_BASE_FEATURE_UNSUPPORTED_ON_INIT(86017, “Engine不支持的检测属性”),
ASF_EX_BASE_FEATURE_UNINITED(86018, “需要检测的属性未初始化”),
ASF_EX_BASE_FEATURE_UNPROCESSED(86019, “待获取的属性未在process中处理过”),
ASF_EX_BASE_FEATURE_UNSUPPORTED_ON_PROCESS(86020, “PROCESS不支持的检测属性,例如FR,有自己独立的处理函数”),
ASF_EX_BASE_INVALID_IMAGE_INFO(86021, “无效的输入图像”),
ASF_EX_BASE_INVALID_FACE_INFO(86022, “无效的脸部信息”),
ASF_BASE_ACTIVATION_FAIL(90113, “人脸比对SDK激活失败,请打开读写权限”),
ASF_BASE_ALREADY_ACTIVATED(90114, “人脸比对SDK已激活”),
ASF_BASE_NOT_ACTIVATED(90115, “人脸比对SDK未激活”),
ASF_BASE_SCALE_NOT_SUPPORT(90116, “detectFaceScaleVal 不支持”),
ASF_BASE_VERION_MISMATCH(90117, “SDK版本不匹配”),
ASF_BASE_DEVICE_MISMATCH(90118, “设备不匹配”),
ASF_BASE_UNIQUE_IDENTIFIER_MISMATCH(90119, “唯一标识不匹配”),
ASF_BASE_PARAM_NULL(90120, “参数为空”),
ASF_BASE_SDK_EXPIRED(90121, “SDK已过期”),
ASF_BASE_VERSION_NOT_SUPPORT(90122, “版本不支持”),
ASF_BASE_SIGN_ERROR(90123, “签名错误”),
ASF_BASE_DATABASE_ERROR(90124, “数据库插入错误”),
ASF_BASE_UNIQUE_CHECKOUT_FAIL(90125, “唯一标识符校验失败”),
ASF_BASE_COLOR_SPACE_NOT_SUPPORT(90126, “输入的颜色空间不支持”),
ASF_BASE_IMAGE_WIDTH_NOT_SUPPORT(90127, “输入图像的byte数据长度不正确”),
ASF_NETWORK_BASE_COULDNT_RESOLVE_HOST(94209, “无法解析主机地址”),
ASF_NETWORK_BASE_COULDNT_CONNECT_SERVER(94210, “无法连接服务器”),
ASF_NETWORK_BASE_CONNECT_TIMEOUT(94211, “网络连接超时”),
ASF_NETWORK_BASE_UNKNOWN_ERROR(94212, “未知错误”);




评分

参与人数 1金钱 +20 HASS币 +20 收起 理由
+ 20 + 20 厉害了word楼主!

查看全部评分

回复

使用道具 举报

0

主题

11

帖子

41

积分

新手上路

Rank: 1

积分
41
金钱
30
HASS币
0
发表于 2020-5-9 14:20:19 | 显示全部楼层
谢谢,学习了.
回复

使用道具 举报

0

主题

6

帖子

49

积分

新手上路

Rank: 1

积分
49
金钱
43
HASS币
0
发表于 2020-5-9 14:58:40 | 显示全部楼层
看看如何使用
回复

使用道具 举报

19

主题

332

帖子

1714

积分

论坛技术达人

积分
1714
金钱
1377
HASS币
20
发表于 2020-5-9 15:59:54 | 显示全部楼层
收藏一下 暂时用得是百度得api 离线得更好一点
回复

使用道具 举报

9

主题

223

帖子

1235

积分

金牌会员

Rank: 6Rank: 6

积分
1235
金钱
1012
HASS币
0
发表于 2020-5-9 16:15:34 | 显示全部楼层
感谢~!~!~字数补丁~
回复

使用道具 举报

14

主题

1289

帖子

4143

积分

论坛元老

Rank: 8Rank: 8

积分
4143
金钱
2849
HASS币
20

论坛元老

发表于 2020-5-9 16:32:36 | 显示全部楼层
离线隐私,给力呀楼主!
回复

使用道具 举报

6

主题

65

帖子

422

积分

论坛分享达人

积分
422
金钱
352
HASS币
30
发表于 2020-5-9 17:00:51 | 显示全部楼层
恩 有意思 就搞这个
回复

使用道具 举报

0

主题

75

帖子

329

积分

中级会员

Rank: 3Rank: 3

积分
329
金钱
254
HASS币
0
发表于 2020-5-9 17:06:26 | 显示全部楼层
谢谢,学习了.
回复

使用道具 举报

1

主题

57

帖子

466

积分

中级会员

Rank: 3Rank: 3

积分
466
金钱
409
HASS币
0
发表于 2020-5-9 17:55:16 | 显示全部楼层
谢谢,学习了
回复

使用道具 举报

0

主题

177

帖子

581

积分

高级会员

Rank: 4

积分
581
金钱
404
HASS币
0
发表于 2020-5-9 20:34:15 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2020-6-5 16:24 , Processed in 0.096710 second(s), 37 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表