博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
人脸实时签到(three.js+tracking.js)基于浏览器
阅读量:7048 次
发布时间:2019-06-28

本文共 1000 字,大约阅读时间需要 3 分钟。

人脸签到

花了一个星期做了人脸签到的demo,欢迎star,在线预览大屏幕


先说些废话,以前做年会的抽奖,感觉好傻,现在正好在学threejs,就想做个这样的场景来抽奖的方式,又在学人脸识别的知识,就想做人脸识别签到,就想都做在浏览器中


体验完整过程

  • 1.微信扫描注册上传头像
    1. 手机浏览器打开人脸识别(ios11支持,微信浏览器不支持)
  • 3.电脑打开大屏幕 大屏幕可以同步显示刚刚的人脸

分享下制作过程

1.人脸识别

需要调用摄像头,实时显示有人脸,可以用node或者python调用opencv之类的,但是这是后端的应用,可以用树莓派做个装置,但是是浏览器识别,所以用tracking.js(已经好几年没有更新了,要识别其他的模型的话,可以python训练出来模型)。识别出人脸后,要算宽度,要在一定的宽度才算人脸,可以裁剪出正方形发送检索人脸。

2.人脸检索

人脸检索采用的是腾讯云的智能图像的api,需要创建个人信息,需要一个唯一的id(用的是微信的openid),一个人脸可以添加20张相似度低于99%的图片,一个组织可以有2w个人,肯定够用的,接口费用很便宜,月调去量是一万次免费

3.上传个人信息

获取微信openid,将照片上传到服务器保存,并添加到腾讯云的脸库中

4.threejs场景

  • 添加一个天空盒
  • 计算球(原实例用的CSS3render,需要改成webglrender)
  • L形状 四个需要写顶点连接
  • 动画效果 用anime.JS,感觉好用,为什么不用tween,因为自己刚刚学会的,所以想试一试
  • 出现了人脸,需要将人脸飞到球的方块中,需要用到坐标转换,还有四元数,才能紧贴着
  • 空闲没有人脸,会一直播放随机图片动画,有人脸了会动画结束后播放

5.socket通信

用socket.io通信,实时识别到人脸后,将人脸图及时发送到大屏幕

6.ssl

因为用摄像头识别需要ssl证书,他的请求都需要ssl,所以服务都要使用ssl证书,nginx或者apache需要配置https,并且将端口转发,配置node服务以及socket服务的https

未完成tasks

  • 会修改人脸飞入的动画,需要有个中间点过度
  • 增加粒子的动画,任意选个图片添加爆炸成图片的效果
  • 用写shader来写些效果

转载于:https://juejin.im/post/5b3d8662e51d45191b60f817

你可能感兴趣的文章
七年之痒? 可七年也会有大奖
查看>>
完整商业闭环金融手游“九点半”上线
查看>>
倍儿爽!QQ轻聊版打造纯办公体验
查看>>
大数据全栈式开发语言 – Python
查看>>
Linux虚拟内存地址转化成物理内存地址
查看>>
Android动画之萌萌哒蜡烛吹蜡烛动画
查看>>
Linux驱动技术(五) _设备阻塞/非阻塞读写
查看>>
电视上做独立音箱,小米的野望
查看>>
大数据时代:媒体新任务和媒体人的新角色
查看>>
欧美完成数据保护总协定谈判
查看>>
Open Baton起个大早,赶个晚集
查看>>
IDC发布2017年中国医疗IT 十大预测——医疗信息化向人工智能跨进
查看>>
数据爆发式增长云计算如何将挑战转化为机遇
查看>>
Spark将机器学习与GPU加速机制纳入自身
查看>>
盘点:2016年度WiFi行业十大事件
查看>>
怎样判断一个人是否适合做数据分析?
查看>>
私有云成功规划的四项法则
查看>>
五大尴尬掣肘大数据
查看>>
英特尔马子雅:深度学习四大痛点与BigDL解决之道
查看>>
Linux基础命令介绍八:文本分析awk
查看>>