基于Javascript的人脸探测技术
来源:互联网 发布:cocos2d-js 编辑:程序博客网 时间:2024/05/29 04:31
转载:http://web.jobbole.com/82142/
我一直都对提取和识别摄像头或者图片中人脸特征的技术理论很感兴趣。虽然我知道运用算法写一个人脸识别的软件或者插件超出了我的能力范围。但是我发现了一些JavaScript库,可以用来识别人脸的五官结构,于是我就想写关于这些库的一个入门教程。其实有很多相关的人脸识别库,有的是纯用JavaScript,有的是夹杂了java,它们各有优缺点。
今天我们想要了解一下tracking.js
这个库,这是一个是由Eduardo Lundgren开发的轻量级JavaScrip库,它能实现实时的人脸特征提取、颜色追踪以及标定朋友。在这个教程里,我们将会学习怎么用它从静态图片中提取整个脸部、眼睛以及嘴巴。
在教程的最后,你会找到一个有更详细的使用技巧和技术细节的实现示例。
首先,我们需要建立我们的项目,你可以从github下载到我们要使用的库(tracking.js
),然后把它的build
文件中的内容放在你的工作文件目录下。在这个教程里,我的文件结构如下:
文件结构
你可以看到,js
这个文件目录就包含了我们从github下载的tracking.js
中的build
文件夹里的内容。那么,接下来我就给你看一下index.html
中的HTML代码。
HTML代码
在上面的HTML代码中,我们引入了四个tracking.js
库文件。那么接下来我们就要实现从静态图像中对脸部整体、眼睛以及嘴巴的提取了。我有意选择了这张图片,因为这张图片中包含了很多表情、姿态不一的人脸。
为了能让它正常工作,我们修改一下之前的HTML文件中的head
部分代码。
HTML代码
结果
代码解释
- tracking.ObjectTracker()接受数组参数将你想要标记的对象分类(比如脸部整体、眼睛、鼻子、嘴巴等)。
- setStepSize()规定用来标记的方框的步长。
- 我们把要标记的对象和
track
事件进行绑定,一旦我们要标记的对象完成初始化,就会触发track
事件。 - 数据(Data)保存在对象数组列表中,其中的值是每一个标记对象的
长
、宽
以及x
、y
坐标。
结论
正如你所看到的,结果可能因为人脸形状不同而有所变化。虽然还需要改进,但是我们很感谢对做出这些工作和API接口的所付出的努力。
更多资源:
- https://github.com/auduno/headtrackr
- https://github.com/auduno/clmtrackr
- 基于Javascript的人脸探测技术
- 基于错误CRC的防火墙探测技术
- 基于图像识别的火灾探测技术
- 基于javascript的技术
- 基于javascript的分页技术
- 快速人脸探测及人脸校准技术
- 人脸检测的harr探测函数
- 基于线性探测法的散列表
- 基于YARA 和NESSUS 的威胁探测
- 追捕的OICQ探测技术 ---冯志宏 [撰稿]
- 追捕的OICQ探测技术 ---冯志宏 [撰稿]
- HotSpot的热点代码探测技术
- 基于 HTML5 的人脸识别技术
- 基于 HTML5 的人脸识别技术
- 基于 HTML5 的人脸识别技术
- 基于 HTML5 的人脸识别技术
- 基于LBP的人脸识别技术
- 基于 HTML5 的人脸识别技术
- python 使用datetime进行时间日期转换
- 封装的curl 支持get post header
- 【Luogu2759】奇怪的函数(数论)
- 【训练】2017-11-6晚
- mybatis的初步学习——1
- 基于Javascript的人脸探测技术
- Cas单点登录(4)数据库验证用户之MD5密码加密
- Android创建属于自己的开源库(JitPack.io)
- 枚举类在switch...case语句中使用的问题
- SpringMVC 日期类型转换问题的处理方法
- http://www.jianshu.com/p/a5c0844a0590
- 【NOIP2017提高A组冲刺11.7】总结
- Android Studio调用QT for Android生成的.so库
- 浏览器兼容event.offsetX的方法