美文网首页
raspberry pi 小车系列之三-----人脸识别

raspberry pi 小车系列之三-----人脸识别

作者: LH大牛 | 来源:发表于2019-02-20 21:31 被阅读0次

    刘辉  2019-12-20

    目标:基于raspberry+pi 百度云平台人脸识别功能实现人脸识别

    嗯,其实我也不知道为什么要给下车加这功能。这是小车的最后一篇了,近几个月会因为要学习,不会有时间在写这些东西了。而且我将开始完成我的智能音箱+HA智能家居系列。算是给去年毕业留下的尾巴画上完美的句号。另外哪个道友有斯坦福大学GRAN的高数教学视频啊,可以分享不。

    就是这个货 类似于这中为何sinx的倒数是cosx

    raspberry pi运行opencv一直是件比较难受的事。树莓派的性能已经不能满足运行opencv或者openface这类大型软件。好在有百度人脸识别的API可以调用;

    2019春节这么快就过去了,祝大家新年快乐啦, 新年新气象,毕竟我已经上班两个礼拜了,新的一年就要搞一点不一样的东西!!!每个人都有一些属于自己的秘密,所以想着可以借助目前比较火的人脸识别来做一个安全系统。当然,基于此人脸识别系统还可以实现人脸签到、人脸闸机等等多种功能,就看你的想象力了,比如给你的电脑上锁,每隔一段时间拍一张照,如果不是你本人就自动锁定系统等等……

    基本的原理就是首先创建一个人脸库,将各个用户上传到不同的用户组,来设定所拥有的不同权限,创建人脸库的时候首先要为每个用户上传人脸照片,在上传过程中还要检测上传照片的质量,看是否合格。

    人脸识别服务

    现在是一个基于互联网的时代,因此我的想法是一切能够在云端做的事情,绝不在本地运行,仅仅将树莓派作为一个终端,来连接各种服务,然后将这些服务呈现给你,这样一是能够保证本地的运行速率,毕竟树莓派性能有限,识别一个照片需要两三秒的时间就有些不优雅了,二是容错率较好,一旦发生错误能更加方便的对其进行修正和重新部署。

    因此本人采用了百度的人脸识别服务,目前百度的人脸识别主要提供三种功能:

    百度云人脸识别接口功能

    安装人脸识别 Python SDK

    人脸识别 Python SDK目录结构

    ├── README.md

    ├── aip             //SDK目录

    │  ├── _init_.py                 //导出类

    │  ├── base.py                   //aip基类

    │  ├── http.py                    //http请求

    │  └── face.py           //人脸识别

    └── setup.py                      //setuptools安装

    支持Python版本:2.7.+ ,3.+

    安装使用Python SDK有如下方式:

    安装使用Python SDK

    新建AipFace

    AipFace是人脸识别的Python SDK客户端,为使用人脸识别的开发人员提供了一系列的交互方法。

    参考如下代码新建一个AipFace:

    aipface

    在上面代码中,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。

    接口说明

    人脸检测

    检测请求图片中的人脸,返回人脸位置、72个关键点坐标、及人脸相关属性信息。

    检测响应速度,与图片中人脸数量相关,人脸数量较多时响应时间会有些许延长。

    典型应用场景:如人脸属性分析,基于人脸关键点的加工分析,人脸营销活动等。

    核心代码

    核心代码

    人脸检测 返回示例:

    人脸检测 返回示例

    质量判断

    可通过人脸检测接口,基于以下字段和对应阈值,进行质量检测的判断,以保证人脸质量符合后续业务操作要求。

    质量判断

    人脸注册

    用于从人脸库中新增用户,可以设定多个用户所在组,及组内用户的人脸图片。

    人脸库、用户组、用户、用户下的人脸层级关系如下所示:

    关于人脸库的设置限制

    每个开发者账号可以创建100个人脸库,人脸库互不相通;

    每个人脸库下,可以创建多个用户组,用户组(group)数量没有限制;

    每个用户组(group)下,可添加最多无限张人脸,无限个uid;

    每个用户(uid)所能注册的最大人脸数量没有限制;

    为了保证识别效果,请控制注册人脸的质量,进行质量判断

    核心代码

    人脸识别

    用于计算指定组内用户,与上传图像中人脸的相似度。识别前提为您已经创建了一个人脸库。

    说明:人脸识别返回值不直接判断是否是同一人,只返回用户信息及相似度分值。

    说明:推荐可判断为同一人的相似度分值为80,也可以根据自己需求选择更合适的阈值。

    核心代码:


    最终代码

    最终代码

    最近半年应该不会在做小车系列了,时间比较少,我可能会多做一些智能音箱+智能家居的东西。下次有时间在写吧!

    best wishes to everyone

    相关文章

      网友评论

          本文标题:raspberry pi 小车系列之三-----人脸识别

          本文链接:https://www.haomeiwen.com/subject/vzykyqtx.html