Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Shen Huang作者杜伟 路编译

几行JavaScript代码构建计算机视觉程序,这里有6个js框架

如何使用几行 JavaScript 代码轻松构建计算机视觉应用程序?

近年来,计算机视觉一直都是热门话题,造就了无数好的应用程序。得益于专门开发人员的努力,利用计算机视觉创建应用程序不再是难事。事实上,你可以用几行 JavaScript 代码构建很多应用程序。本文介绍了其中的一些。

1. TensorFlow.js

作为最大的机器学习框架之一,TensorFlow 允许使用 TensorFlow.js 创建 Node.js 和前端 JavaScript 应用程序。下面的demo 使用一系列图像来匹配人物姿势。TensorFlow 还拥有一个 playground,用户可以借此得到更好的神经网络可视化,很适合教育目的。
Tensorflow.js 的「移动镜子」演示。

2. Amazon Rekognition

Amazon Rekognition 是一款基于云的强大工具。不过,它也在浏览器中提供 JavaScript SDK(参见:https://aws.amazon.com/cn/sdk-for-browser/)。以下图片展示了使用该工具进行人脸检测的细节。

Amazon Rekognition API 的人脸特征检测

3. OpenCV.js

作为最古老的计算机视觉框架之一,OpenCV 已经为计算机视觉领域的开发人员提供很长时间的服务了。OpenCV 也有 JavaScript 版本,使开发人员可在网站上进行人脸特征检测
OpenCV 的人脸检测示例。(图源:https://dzone.com/articles/face-detection-using-html5

4. tracking.js

如果你只想构建一个快速人脸检测应用程序(如网页版 snapchat filter),那你应该考虑一下 tracking.js。它的设置非常简单,可以实现人脸检测和 JavaScript 的集成。作者还写了关于 tracking.js 框架的指南,参见:https://medium.freecodecamp.org/how-to-drop-leprechaun-hats-into-your-website-with-computer-vision-b0d115a0f1ad
tracking.js 的人脸检测示例。

5. WebGazer.js

无论你是尝试进行用户体验研究亦或为你的游戏或网站创建新型交互系统,WebGazer.js 都是一个很好的开始。借助摄像头输入,这一功能强大的框架可使应用程序获知用户正在看什么。
WebGazer.js 的视线跟踪示例。

6. three.ar.js

three.ar.js 框架来自 Google,它将 ARCore 的功能扩展至前端 JavaScript。three.ar.js 框架允许将表面检测和目标检测整合进浏览器,是 AR 游戏的完美工具。
three.ar.js demo


原文链接:https://medium.freecodecamp.org/computer-vision-js-frameworks-you-need-to-know-b233996103ce

工程JavaScript计算机视觉
3
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

OpenCV技术

OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。

特征检测技术

特征检测是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
暂无评论
暂无评论~