使用Tensorflow.js, 三行代码实现计算机视觉应用

让我们看看使用tensorflow.js实施计算机视觉应用程序的简单方法!

使用Tensorflow.js, 三行代码实现计算机视觉应用

> (Image Source)

介绍

如今,许多人实现了计算机视觉应用程序。 您认为学习和实施非常困难吗? 我的回答是"否",因为当今有许多库可用于实现如此强大的计算机视觉应用程序。 最近您看过2020 TensorFlow峰会吗? 今年TensorFlow团队为我们宣布了很多很棒的事情。 在这里,我们将看到如何使用tensorflow.js模型实现计算机视觉应用程序!

什么是TensorFlow.js?

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

什么是Tensorflow.js模型?

Tensorflow.js模型是经过预训练的模型,这意味着您无需准备/收集数据即可训练模型。 这些模型托管在NPM和unpkg上,因此可以在任何开箱即用的项目中使用。

在此博客中,我们将看到tensorflow.js中的一个模型,即MediaPipe Facemesh模型。 该模型是为移动设备上的前置摄像头而设计的,这些摄像头中的人脸通常占据画布的相对较大部分。

Facemesh模型演示

我已经使用facemesh模型按照我的脸部移动来移动视频帧。 请参见下面的演示。 让我告诉您实现计算机视觉应用程序下面涉及的步骤。

使用Tensorflow.js, 三行代码实现计算机视觉应用

> Demo

示范

步骤1:-这是实现计算机视觉应用程序的三个重要的独立脚本标记代码。

<code>

/<code>

TensorFlow.js核心,用于神经网络和数值计算的灵活的低级API。

TensorFlow.js Converter,用于将TensorFlow SavedModel导入TensorFlow.js的工具。

facemesh包可查找图像中的面部边界和界标。

步骤2:-在身体内容中包含视频HTML标签,以通过网络摄像头读取面部。

<code><video>/<code>

步骤3:-使用canvas标记通过脚本(通常是JavaScript)动态绘制图形。

<code><canvas>/<code>

步骤4:-在画布标签上包含一个视频标签以播放视频帧,以根据面部移动来移动视频帧。

<code><video>
<source>
/<video>/<code>

步骤5:-加载人脸模型并估算人脸,以找到图像中的人脸边界和界标。

<code>//load camera stream
const frame = document.getElementById("camera");
//load movie streamconst
movie = document.getElementById("movie");
movie.play();
//prepare canvas
const canvas = document.getElementById("augmented_canvas");
const draw = canvas.getContext("2d");
const result = await model.estimateFaces(frame, false);/<code>

步骤6:-使用以下代码在检测到的脸上绘制视频帧。

<code>//copy camera stream 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]);
}
}/<code>

结论

就是这样,我们已经按照上述六个步骤实施了计算机视觉应用程序。 您可以在此处获取完整的源代码。

所有人都说,如果您想成为一名数据科学家,您应该熟悉python或R编程语言,但是现在我们可以使用javascript实现机器学习应用程序。

使用Tensorflow.js, 三行代码实现计算机视觉应用

> (Source: https://miro.medium.com/max/1400/1*F-1fq9TNjDnAYPAXnZP4Ww.png)

祝大家学习愉快!! 如果您需要任何帮助或帮助,请与我联系LinkedIn和Twitter。

(本文翻译自Bala Venkatesh的文章《Three lines of code to implement a computer vision application using Tensorflow.js》,参考:https://towardsdatascience.com/three-lines-code-to-implement-computer-vision-application-using-tensorflow-js-5a3a5e91f74a)


分享到:


相關文章: