ml5.js入门五(介绍)+image-classifier图像分类

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捕捉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值