者:沫沫 政采云前端团队
转发链接:https://mp.weixin.qq.com/s/fRDpXixnLIy9c0Uh2tMezQ
一直对人工智能有着极大兴趣,无奈脑袋再大也无法想象那是一种怎样的算法实现机制,因此无论是遇到声音识别、色彩识别还是人脸检测的需求,我都说不会、不知道、不了解!
今天给大家介绍的tracking.js库带来不同的计算机视觉算法和技术,在浏览器环境。通过使用现代的HTML5规范,我们让你做实时色彩跟踪,人脸检测以及更多,小伙伴们终于可以发挥自己无限的想象力了。
下面是一些效果图。
这个游戏 呢 是开启摄像头后,根据玩家头的转向进行控制的,非常有意思。
虽然看上去挺高深的但是使用起来却很方便。
第1步:创建示例文件
在此步骤中,您将创建下示例文件examples/
夹到您解压的本地驱动器下的项目。进入该目录,并创建一个名为在你喜欢的编辑器文件。起始文件看起来像这样:first_tracking.html
<!doctype html><html><head>
<meta charset="utf-8">
<title>tracking.js - first tracking</title>
<script src="../build/tracking-min.js"></script></head><body>
<script>
// Start tracking here...
</script></body></html>
步骤2:选择需要的功能
现在,你有示例文件创建的,它的时间来选择你要在行动中看到什么技术。有此页面上提供了几个例子,第一个,的跟踪,仅仅是一个抽象类的其他跟踪技术基础,不能被实例化。一个很好的选择下手的是ColorTracker,复制本部分提供的片段,并贴到您的示例文件,它到底应该是这个样子:first_tracking.html
<!doctype html><html><head>
<meta charset="utf-8">
<title>tracking.js - first tracking</title>
<script src="../build/tracking-min.js"></script></head><body>
<video id="myVideo" width="400" height="300" preload autoplay loop muted></video>
<script>
var colors=new tracking.ColorTracker(['magenta', 'cyan', 'yellow']);
colors.on('track', function(event) {
if (event.data.length===0) { // No colors were detected in this frame.
} else {
event.data.forEach(function(rect) {
console.log(rect.x, rect.y, rect.height, rect.width, rect.color);
});
}
});
tracking.track('#myVideo', colors); </script></body></html>
这个例子会要求你出现在它的前置摄像头和跟踪品红,青色和黄色。看看你的周围,抓住这些颜色中的一种匹配的任何对象,看你的浏览器的控制台,它应该显示所有找到的对象的坐标。
项目的官网是:https://trackingjs.com/docs.html#introduction
或者直接用github搜tracking.
就这么多,enjoy it!!!
天我们来探讨人脸检测。就像我们现在看到的这个界面一样,通过人脸检测技术,可以识别出用户的眉毛、眼睛、鼻子、嘴巴和下巴的轮廓,还可以判断用户的大致年龄和性别。下面,我们将详细介绍如何实现这一功能。
实现人脸检测的代码非常简单。我们需要使用faceAPI点JS库,具体实现代码可以参考这个网址:https://github.com/faceapi/faceapi.nts.age。在第一个页面中,我们需要先加载模型,将各种模型导入到系统中。模型可以从GitHub上下载,并保存在相应的目录中。加载完成后,我们需要执行人脸检测的方法,获取画布和视频的元素,并进行判断。如果视频不存在,我们需要返回。接下来,我们需要调取电脑摄像头,并设置一个定时器,每100毫秒执行一次检测。同时,我们还需要设置一个参数或ido,以采集音频数据。接下来,我们需要使用face API进行检测。在检测过程中,我们需要设置一个计时器,每100毫秒重绘一次。最后,我们需要获取检测视频中的关键点,包括轮廓、年龄和面部表情等信息。这将返回一个数组,其中包含多个点。我们需要清除画布,因为每100毫秒都会执行检测,并且需要绘制人脸的边框和表情。点击边框或表情,可以获取更多信息,包括年龄和性别等。
由于摄像头可以检测多个用户,因此检测结果将返回一个数组。我们需要根据画布的大小进行检测。接着,我们需要获取检测结果,并根据画布大小进行检测。在这一步中,我们需要绘制人脸的边框和表情。点击边框或表情,可以获取更多信息,包括年龄和性别等。
最后,我们需要将年龄和性别等信息绘制到Facebook上,完成整个人脸检测功能的实现。整个代码量并不大,可以轻松实现人脸识别和检测功能。
通过API,我们可以获取下巴、鼻子、嘴巴、左眼、右眼、左边和右边等关键点。我们可以根据这些点的位置,对嘴巴、眼睛等部位进行处理,例如在戴口罩时进行调整,或者在眼睛上添加特效等。基于这些特征点,可以进行一些处理。
大家可以了解一下faceAPIJS,它有很多实用功能。
另外,可以参考FD的运行过程,同时也有相关示例可供参考。今天的分享就到这里。
*请认真填写需求信息,我们会在24小时内与您取得联系。