ml5.js是什么
ml5.js 它是基于Tensorflow.js的一个非常简便易用的接口,目的是让更广泛的受众更容易使用机器学习。(结合官网食用)
其他知识点索引点这里
描述
mage-classifier图像分类
您可以使用神经网络来识别图像的内容。ml5.imageClassifier()是一种创建对象的方法,该对象使用预先训练的模型对图像进行分类。
需要注意的是,以下示例提供的预训练模型是在包含大约 1500 万张图像的数据库 (ImageNet) 上进行训练的。ml5 库从云端访问此模型。算法标记图像的内容完全取决于训练数据——包括什么、排除什么以及这些图像如何标记(或错误标记)。
下面是识别一个图片的demo
<html>
<head>
<meta charset="UTF-8">
<title>classification</title>
<script src="../p5.min.js"></script>
<script src="../ml5.js"></script>
</head>
<body>
<h1>Image classification using MobileNet and p5.js</h1>
<script src="index.js"></script>
</body>
</html>
let classifier;
let img;
function preload() {
// 加载分类器模型 // 可以使用的模型“MobileNet”、“Darknet”和“Darknet-tiny”、“DoodleNet”,或在 Teachable Machine 中训练的任何图像分类模型,或者导入自己的训练集
/**
* MobileNet 是一个术语,描述了一种机器学习模型架构,该架构经过优化,可在计算能力有限的平台上运行,例如移动或嵌入式设备上的应用程序。MobileNets 有几个用例,包括图像分类、对象检测和图像分割。这个特殊的 MobileNet 模型是为图像分类训练的。
* ml5 使用由 TensorFlow.js 创建的 MobileNet,TensorFlow.js 是 TensorFlow 的一个 JavaScript 库。多个 TensorFlow.js MobileNet 版本可用于图像分类,截至 2019 年 6 月,ml5 默认导入 MobileNetV2。
* DarkNet(或DarkNet Reference)和Darknet-tiny(或Tiny Darknet是小型且快速的预训练模型。Tiny Darknet是两者中较小的模型,但Darknet Reference更快。开发者提供了一个开源框架,也称为Darknet ,用于运行模型。
* Darknet Reference 被列为 ImageNet 分类的预训练模型,因此数据很可能是来自 ImageNet 数据库的照片。
*/
classifier = ml5.imageClassifier('MobileNet');
img = loadImage('../image/bird.jpg');
}
function setup() {
// 创建画布
createCanvas(400, 400);
// 识别图片
classifier.classify(img, gotResult);
// 展现图片
image(img, 0, 0);
}
// 输出结果
function gotResult(error, results) {
if (error) {
console.error(error);
}
// 输出结果和可行度
console.log(results);
createDiv(`Label: ${results[0].label}`);
createDiv(`Confidence: ${nf(results[0].confidence, 0, 2)}`);
}
效果如下
下一篇 posenet捕捉