一个小白怎么学习人脸识别技术啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个小白怎么学习人脸识别技术啊相关的知识,希望对你有一定的参考价值。

一个小白怎么学习人脸识别技术啊

    首先,我们得明白人脸识别技术大概可以分为三部分:人脸检测,人脸跟踪,人脸对比

    请点击输入图片描述

    首先,你可以打开百度,搜索百度开放平台

    请点击输入图片描述

    点击进入上面搜索到的网页,进入其官网,既可以看到这个页面

    请点击输入图片描述

    然后产品服务——>人脸与人体识别——>人脸识别

    请点击输入图片描述

    点击进入之后,里面是可以直接使用这个技术,也可以看这个的文档。

    请点击输入图片描述

    点击文档进入可以看到很多和人脸识别用到的技术相关资料,还是挺厉害的

    请点击输入图片描述

    点击使用也就有相应的使用的方法之类的

    请点击输入图片描述

参考技术A 人脸识别技术概述
人脸识别技术大致由人脸检测和人脸识别两个环节组成。
之所以要有人脸检测,不光是为了检测出照片上是否有人脸,更重要的是把照片中人脸无关的部分删掉,否则整张照片的像素都传给f(x)识别函数肯定就不可用了。人脸检测不一定会使用深度学习技术,因为这里的技术要求相对低一些,只需要知道有没有人脸以及人脸在照片中的大致位置即可。一般我们考虑使用OpenCV、dlib等开源库的人脸检测功能(基于专家经验的传统特征值方法计算量少从而速度更快),也可以使用基于深度学习实现的技术如MTCNN(在神经网络较深较宽时运算量大从而慢一些)。
在人脸检测环节中,我们主要关注检测率、漏检率、误检率三个指标,其中:
检测率:存在人脸并且被检测出的图像在所有存在人脸图像中的比例;
漏检率:存在人脸但是没有检测出的图像在所有存在人脸图像中的比例;
误检率:不存在人脸但是检测出存在人脸的图像在所有不存在人脸图像中的比例。
当然,检测速度也很重要。本文不对人脸检测做进一步描述。
在人脸识别环节,其应用场景一般分为1:1和1:N。
参考技术B 你可以去虹软的官网下载虹软的算法,文档说明什么的都做得很好,很适合新手小白 参考技术C 虹软的人脸识别SDK是免费的,支持多平台多开发语言,简单易用,在开放平台上还有一些接入的demo可以参考使用。可以直接下载测试的,可以在它基础上二次开发呐

腾讯优图人脸检测

参考技术A 小程序使用腾讯优图实现人脸检测

wx.request(OBJECT)

使用接口

https://youtu.api.qcloud.com/youtu/api/detectface

这里说明了这个接口需要一个签名和appid,图片数据需要转成base64

本来是使用canvas实现图片截图,在通过upng.js 转成base64位截图,但是后来发现这样生成的图片文件量太大了;

导致检测接口经常超过限制5M;

wx.request(OBJECT)有个参数responseType设置响应参数数据,再通过wx.arrayBufferToBase64()转成base64

wx.request(              

    url:path,//图片路径              

    method:'GET',             

    responseType: 'arraybuffer',              

    success:function(res)                

        let base64 = wx.arrayBufferToBase64(res.data);                

        that.getSignature(base64, path);//获取签名              

            

);

签 名Signature和appid通过后台服务器设置传给你

之后就可以发送请求到 http://open.youtu.qq.com/youtu/api/detectface 接口了

wx.request(            

    url: 'http://open.youtu.qq.com/youtu/api/detectface',             

    data:                 

        'app_id': 'id',//优图appid                

        'image': base64,                

        'mode': 1,           

     ,            

    method: 'POST',           

     header:                 

        'Content-type': 'text/json', // text               

         'Authorization': signature, //签名           

     ,            

    success: function(res)                 

        console.log(res.data)                

        var data = res.data;                

        var code = data.errorcode;                

        if(code == 0)                              

            console.log(face_info)                    

            console.log('存在头像');                

        else                   

             console.log('不存在头像');               

                     

           

 )

这里有几点要注意的,文档上面传字段

请求头

signature 修改为 Authorization

请求包体

id 修改为 app_id

接口返回数据

errorcode为0的时候表示识别出人脸了 

其他状态都是无法识别出人脸

如:

总的来说 接口功能很强大 响应速度也非常快

这个平台还有好多接口,暂时未探索

文档

优图人脸识别文档

腾讯优图开放平台

微信小程序开发文档

以上是关于一个小白怎么学习人脸识别技术啊的主要内容,如果未能解决你的问题,请参考以下文章

人脸识别怎么用

智能门锁人脸识别技术的原理是怎样的?

如何快速搭建智能人脸识别系统

opencv人脸识别用哪种方法比较好?Eigenfaces?Fisherfaces?LBP?

听说虹软的人脸识别算法已经升级到3.0的版本了,更新了啥功能啊?

人脸识别技术被滥用,你如何看待日益发展的人脸技术?