TensorFlow2020实战:Tensorflow.js在计算机视觉中的应用

很多人都能运行操作计算机视觉应用程序。是的,学习并执行它并不难,现在有很多库可以用来执行如此强大的计算机视觉应用程序。

你有没有关注最近有没有看TensorFlow2020峰会?今年,TensorFlow团队发布了很多非常酷的产品,本文就将介绍如何使用tensorflow.js模型执行计算机视觉应用程序。



什么是TensorFlow.js?

TensorFlow.js是一个开源代码库,用于JavaScript中的机器学习应用程序和开发机器学习模型,并直接在浏览器或Node.js中使用机器学习。



什么是Tensorflow.js模型?

Tensorflow.js模型是经过预先训练的模型,用户无需为训练模型而准备/收集数据。这些模型托管在NPM(网络性能监控器)和unpkg上,可以应用于任何现成的项目。

本文将介绍tensorflow.js中的MediaPipeFacemesh模型。该模型是为移动设备上的前置摄像头设计的,在这些摄像头中,人脸往往会占据较大一部分画面。



Facemesh模型演示

facemesh模型会根据笔者的面部动作移动视频帧。执行下面的计算机视觉应用程序需要哪些步骤呢?

TensorFlow2020:如何使用Tensorflow.js执行计算机视觉应用程序?

第1步:这些是执行计算机视觉应用程序的三个重要的独立运行脚本标签代码。

复制

<scriptsrcscriptsrc="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-core"></script> 
<scriptsrcscriptsrc="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-converter"></script> 
<scriptsrcscriptsrc="https://cdn.jsdelivr.net/npm/@tensorflow-models/facemesh"></script> 
  • TensorFlow.js核心,用于神经网络和数值计算的灵活API。
  • TensorFlow.js转换器,将TensorFlowSavedModel导入TensorFlow.js的工具。
  • facemesh包可查找图像中的面部边界和界标。

第2步:在主题内容中加入视频HTML标签,从而通过网络摄像头识别面部。

复制

<videowidthvideowidth=640 height=480 autoplay muted id=”camera”></video> 

第3步:通过脚本处理(通常是JavaScript),使用画布标签动态绘制图形。

复制

<canvaswidthcanvaswidth=640 height=480 id=”augmented_canvas”></canvas> 

第4步:在画布标签上添加视频标签以播放视频帧,从而根据面部动作移动视频帧。

复制

<videoautoplay loop id=”movie” style=”visibility: hidden”> 
<sourcesrcsourcesrc=”TensorFlowjs.mp4" type=”video/mp4"></source> 
</video> 


第5步:加载人脸模型并估计人脸大小,从而在图像中找到人脸边界和界标。

复制

//load camerastream 
const frame =document.getElementById("camera");//load movie stream 
const movie =document.getElementById("movie"); 
movie.play();//preparecanvas 
const canvas =document.getElementById("augmented_canvas"); 
const draw =canvas.getContext("2d");const result = awaitmodel.estimateFaces(frame, false); 

第6步;在检测到的人脸上使用以下代码绘制视频帧。

复制

//copy camerastream to canvas 
draw.drawImage(frame,0, 0, 640, 480);//check if face is detected 
 if(result.length > 0) 
 { 
  for (let i = 0; i < result.length; i++) { 
    const start = result[i].topLeft; 
    const end = result[i].bottomRight; 
    const size = [end[0] — start[0], end[1] —start[1]];   //Render a rectangle over each detected face. 
   draw.drawImage(movie, start[0], start[1],size[0], size[1]); 
  } 
  
} 

完成啦!按照上面的六个步骤就可以执行计算机视觉应用程序。所有人都认为想成为数据科学家就必须熟悉python或R编程语言,现在,使用javascript就可以执行机器学习应用程序啦。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空