这次人脸识别技术,是实现在微信端的,也就是说利用公众微信平台,调用第三的API来实现人脸识别这项技术的。

实现的思路:

首先呢,将收集的照片,建立一个照片库,然后利用在微信平台发送的照片,去到照片库进行匹配,那么怎么匹配呢?

这就要利用第三方的API了。

这个是收集信息,然后存储到信息库(包括图谱库)

部分代码:

上传到人脸信息库

#preview, .img, img

{

width:79px;

height:79px;

}

上传到人脸信息库

姓名
电话
微信
图片上传

function preview(file){

var prevDiv = document.getElementById('preview');

if(file.files && file.files[0]){

var reader = new FileReader();

reader.onload = function(evt){

prevDiv.innerHTML = '';

}

reader.readAsDataURL(file.files[0]);

}else{

prevDiv.innerHTML = '

}

}

分析照片

if(isset($_FILES['pic'])&&$_FILES['pic']['error'] == 0){

$name = mt_rand(100000,999999);

$ext = explode(".",$_FILES['pic']['name']);

$ext = end($ext);

$full = $name.".".$ext;

$rs = move_uploaded_file($_FILES['pic']['tmp_name'], './upload/'.$full);

if(!$rs){

exit('上传图片出错');

}

//上传成功后,获取图片地址

$pic = 'http://yxhwxtest.applinzi.com/wx/upload/'.$full;

//$pic = 'http://yxhwxtest.applinzi.com/wx/upload/718204.jpg';

//人脸检测与分析

$api = 'http://apicn.faceplusplus.com/v2/detection/detect?api_key=3f2fd9843ac889c84f43de513bca05f2&api_secret=sDUH2FP2b3L4tSKQNHCCk17sUYsHW8HU&url='.$pic.'&attribute=glass,pose,gender,age,race,smiling';

//将json转换为数组

$rs = json_decode(file_get_contents($api),true);

if(count($rs['face']) == 0){

exit('没有检测出人脸');

}

$face_id = $rs['face'][0]['face_id'];

//创建脸集

//$api='https://apicn.faceplusplus.com/v2/faceset/create?api_key=3f2fd9843ac889c84f43de513bca05f2&api_secret=sDUH2FP2b3L4tSKQNHCCk17sUYsHW8HU&faceset_name=renlianshibie&face_id='.$face_id;

//将人脸加入到脸集中

$api = 'https://apicn.faceplusplus.com/v2/faceset/add_face?api_secret=sDUH2FP2b3L4tSKQNHCCk17sUYsHW8HU&face_id='.$face_id.'&api_key=3f2fd9843ac889c84f43de513bca05f2&faceset_name=renlianshibie';

$rs = json_decode(file_get_contents($api),true);

if($rs['success'] == 0){

exit('加入脸集失败');

}else{

//训练脸集

$api = 'https://apicn.faceplusplus.com/v2/train/search?api_key=3f2fd9843ac889c84f43de513bca05f2&api_secret=sDUH2FP2b3L4tSKQNHCCk17sUYsHW8HU&faceset_name=renlianshibie';

$rs = file_get_contents($api);

//p($rs);

exit('加入脸集成功');

}

}

//调试输出函数

function p($var){

if(is_bool($var)){

var_dump($var);

}else if(is_null($var)){

var_dump(NULL);

}else{

echo "

".print_r($var,true)."

";

}

}

?>

收集信息完成后

在微信平台上回复 你要找的人的照片

这是服务器接收到图片进行响应的代码:

//接受图片进行回复

if(strtolower($postObj->MsgType=='image')){

$pic = $postObj->PicUrl;

//检测人脸和分析

$api = 'http://apicn.faceplusplus.com/v2/detection/detect?api_key=3f2fd9843ac889c84f43de513bca05f2&api_secret=sDUH2FP2b3L4tSKQNHCCk17sUYsHW8HU&url='.$pic.'&attribute=glass,pose,gender,age,race,smiling';

$rs = json_decode(file_get_contents($api),true);

if(count($rs['face'])==0){

$cont = "没有检测到人脸";

}

$face_id = $rs['face'][0]['face_id'];

//得到人脸,到脸集中去找相似的脸

$api = 'https://apicn.faceplusplus.com/v2/recognition/search?api_key=3f2fd9843ac889c84f43de513bca05f2&api_secret=sDUH2FP2b3L4tSKQNHCCk17sUYsHW8HU&faceset_name=renlianshibie&key_face_id='.$face_id;

$rs = json_decode(file_get_contents($api),true);

//$ps=[];

foreach($rs['candidate'] as $v) {

if( intval($v['similarity']) > 60) {

$ps[] = $v['face_id'];

}

}

if(empty($ps)){

$cont = "找到相似的人";

}else{

$fids = implode(',', $ps);

$api = 'https://apicn.faceplusplus.com/v2/info/get_face?api_key=3f2fd9843ac889c84f43de513bca05f2&api_secret=sDUH2FP2b3L4tSKQNHCCk17sUYsHW8HU&face_id='.$fids;

$rs = json_decode(file_get_contents($api),true);

if(count($rs['face_info'])==0){

$cont = '没有找到相识的人';

}else{

$cont = '找到相似的人'."\n";

foreach ($rs['face_info'] as $v) {

$cont .= $v['url']."\n";

}

}

}

//回复用户消息

$toUser = $postObj->FromUserName;

$fromUser = $postObj->ToUserName;

$time = time();

$content = $cont;

$msgType = 'text';

$template = "

%s

";

$info = sprintf($template,$toUser,$fromUser,$time,$msgType,$content);

echo $info;

}

然后,服务器就会返回,相应匹配到的信息。

返回的相应照片

然后就是实现了,人脸匹配的功能。

调用API的第三方平台:http://www.faceplusplus.com.cn/demo-detect/

代码下载:http://download.csdn.net/detail/yxhbk/9629866

face ++ 人脸识别技术初步

网站地址: https://console.faceplusplus.com.cn/documents/5671791主要有        1  人脸识别技术         2    人体识别技术  ...

旷视科技 -- Face++ 世界最大的人脸识别技术平台

旷视科技 -- Face++ 世界最大的人脸识别技术平台: https://www.megvii.com/

人脸识别技术大总结(1):Face Detection & Alignment

http://blog.jobbole.com/85783/     首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他技术 - 导航条 - 首页 最新文章 IT 职场 前端 - Ja ...

基于 HTML5 的人脸识别技术

基于 HTML5 的人脸识别技术 https://github.com/auduno/headtrackr/

3D动态人脸识别技术分析——世纪晟人脸识别实现三维人脸建模

- 目录 - 国内3D动态人脸识别现状概况 - 新形势下人脸识别技术发展潜力 - 基于深度学习的3D动态人脸识别技术分析 1. 非线性数据建模方法 2. 基于3D变形模型的人脸建模 - 案例结合——世 ...

人脸识别技术大总结1——Face Detection & Alignment

搞了一年人脸识别,寻思着记录点什么,于是想写这么个系列,介绍人脸识别的四大块:Face detection, alignment, verification and identification(re ...

基于百度AI人脸识别技术的Demo

编写demo之前首先浏览官方API:http://ai.baidu.com/docs#/Face-API/top 下面是源码: package com.examsafety.test; import ...

ios OpenCv的配置和人脸识别技术

作为一个好奇心非常重的人,面对未知的世界都想去一探到底. 于是做了个人脸识别的demo. 眼下国内的关于opencv技术文章非常少.都是互相抄袭.关键是抄个一小部分还不全.时间又是非常久之前的了,和如 ...

paper 97:异质人脸识别进展的资讯

高新波教授团队异质人脸图像识别研究取得新突破,有望大大降低刑侦过程人力耗费并提高办案效率         近日,西安电子科技大学高新波教授带领的研究团队,在异质人脸图像识别研究领域取得重要进展,其对香 ...

随机推荐

HTML5 视频(一)

HTML5 提供了展示视频的标准 今天,大多数视频是通过插件(比如 Flash)来显示的.然而,并非所有浏览器都拥有同样的插件. HTML5 规定了一种通过 video 元素来包含视频的标准方法. 一 ...

Struts2框架之-Struts2的标签

Struts2包含哪些标签? 解答: A: —–超链接,类似于html里的

linux vi编辑器操作手册

简介 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功 ...

启动mongoDB 以及常用操作命令

nonsql    关系数据库 集合  表 文档 行 启动mongoDB之前首先手动创建存放MongoDB数据文件的目录,如e:\mongo_data 执行命令  mongod --dbpath=e: ...

C++获取得到图片的坐标和rgb

#include #include #include #include

漫游kafka实战篇之搭建Kafka开发环境

上篇文章中我们搭建了kafka的服务器,并可以使用Kafka的命令行工具创建topic,发送和接收消息.下面我们来搭建kafka的开发环境.   添加依赖   搭建开发环境需要引入kafka的jar包 ...

AVCaptureDevice LED闪光灯控制

转载自:http://blog.csdn.net/cloudhsu/article/details/7202368 #import

BetWeen和模糊查询

--区分大小写性能比较低select * from Students where Age >1 and Age <4select * from Students where Age bet ...

linux小白成长之路7————Docker安装mysql

[内容指引] 从Docker检索mysql镜像: Mysql Docker镜像下载: 查看本地镜像列表: 设置Mysql的Docker镜像开机自动运行: 常用Docker指令及参数: 1.从Docke ...

synchronized&lpar;this&rpar; 与synchronized&lpar;class&rpar; 之间的区别

一.概念 synchronized 是 Java 中的关键字,是利用锁的机制来实现同步的. 锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机 ...

如何用php代码实现人脸识别,PHP实现人脸识别技术相关推荐

  1. java代码自动抠图_Opencv java实现人脸抠图和行为识别

    基于java的OpenCV环境搭建(Windows平台上ecplise) https://blog..net/qq_32447301/article/details/78494913 https:// ...

  2. Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集)

    Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集) 目录 Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集) 1.戴口罩识别的方法 (1)基于多类别 ...

  3. python怎么画人脸代码,OpenCV-Python 绘制人脸 Delaunay 三角剖分(人脸识别核心技术之一)...

    1,介绍 开始之前,向大家提前说声抱歉,上一篇文章末尾提到了,在这篇文章将给大家介绍关于用 OpenCV 实现人脸融合技术,由于人脸融合技术所需的知识储备有点多,不只是之前介绍的的特征点提取,还有本文 ...

  4. 数据清理丨如何用机构代码唯一识别企业(科普篇)

    温馨提示,本文较长,可收藏阅读. 查看原文:[数据seminar]数据清理丨如何用机构代码唯一识别企业(科普篇) 推荐语:当今的经济学圈,数据,特别是微观数据已然成为决定研究"成败" ...

  5. OpenCV-Python:实现人脸、人眼、嘴巴识别

    本文转自:https://www.cnblogs.com/fightccc/p/8616068.html [OpenCV-Python:实现人脸.人眼.嘴巴识别]实战(一) AI时代的到来,手机上的A ...

  6. python实现人脸识别抓取人脸并做成熊猫头表情包(2)之优化

    上次做完python实现人脸识别抓取人脸并做成熊猫头表情包之后就放了一下,因为还要好好学习Springboot毕竟这才是找工作的硬实力.但是优化这个代码心里面一直很想,借用<clean code ...

  7. 人脸识别中的人脸监测、定位校准和对比等技术

    https://www.toutiao.com/a6644044828881453581/ 2019-01-08 16:48:06 随着大数据时代的到来,"人脸"也将成为数据的一部 ...

  8. python开源人脸识别库识别率达99_Python的开源人脸识别库:离线识别率高达99.38%...

    本文的模型使用了C++工具箱dlib基于深度学习的最新人脸识别方法,基于户外脸部数据测试库Labeled Faces in the Wild 的基准水平来说,达到了99.38%的准确率. 数据测试库L ...

  9. 基于Python的开源人脸识别库:离线识别率高达99.38%

    基于Python的开源人脸识别库:离线识别率高达99.38% 2019年04月18日 18:13:18 AI终结者 阅读数 1233 项目地址:https://github.com/ageitgey/ ...

  10. ML之SVM:调用(sklearn的lfw_people函数在线下载55个外国人图片文件夹数据集)来精确实现人脸识别并提取人脸特征向量

    ML之SVM:调用(sklearn的lfw_people函数在线下载55个外国人图片文件夹数据集)来精确实现人脸识别并提取人脸特征向量 目录 输出结果 代码设计 输出结果 代码设计 from __fu ...

最新文章

  1. 唯一索引和普通索引的选择
  2. java连连看(GUI)
  3. pytorch移动端教程 Java调用libtorch
  4. [转]在Javascript中闭包(Closure)
  5. SAP HANA Database Explorer 里 SQL console 的用法
  6. 多叉树的前序遍历_二叉树的非递归遍历的思考
  7. 掌握这些方法,后台设计变得简单起来
  8. 6 追前沿,领略SET化架构衍化与设计
  9. Bootstrap表单的可选布局
  10. 磁盘启动次数计算原理总结
  11. Python实现线性反馈移位寄存器实例信息安全导论期中小作业
  12. Activiti 单环节多人办理一件
  13. css的样式局部作用,局部套用CSS样式.PPT
  14. asp big5 gb2312 转 Unicode
  15. 存货审计应注意的问题有哪些
  16. Redis -- 羊哥CodeSheep20题(转发)
  17. codeforces 1728E
  18. python编程计算圆面积math_python编程计算圆面积
  19. 什么软件可以修改PDF内容,PDF如何添加文本
  20. LMS Virtual.Lab二次开发:声学仿真理论基础准备(Python)

热门文章

  1. MIT算法圣经书《算法导论》第四版
  2. 如何判断电脑是否中毒(转)
  3. OpenGL超级宝典(第7版)笔记22 原子计数器 清单5.31-5.34
  4. java2实用教程 (课后习题总结)
  5. 科来(colsasoft Capsa)模拟发包操作总结
  6. c语言入门经典必背18个程序
  7. 神经网络matlab仿真,神经网络模型及其MATLAB仿真程序设计 周开利 等著 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
  8. oracle创建用户
  9. java 虚拟机常用启动参数
  10. 数据结构(C语言版清华严蔚敏)